# JPMC-PDP Documentation from https://developer.payments.jpmorgan.com # Validate a global account In this tutorial, you will learn how to validate a global bank account. - Validate a personal account via provider SurePay - Validate a business account via provider SurePay - Validate a personal bank account via provider SurePay or provider Kinexys Liink - Validate a business account via provider Kinexys Liink ## Before you begin To validate a global bank account, you will need the following: - A [registered and fully onboarded](/docs/quick-start) Developer Account on the J.P. Morgan Payments Developer Portal. - An active project that provides you with the credentials to make a request. - A configured callback API and anregistered [callback URL](/api/authentication#add-callback-url-and-certificates) to receive responses from Kinexys Liink. ## Validate a personal account via provider SurePay To validate a personal account using Provider SurePay, the account holder's name and account identifiers are required. Refer to [Account Validation country list](/docs/fraud-solutions/validation-services/capabilities/account-validation/account-validation-countries) for country-specific requirements. To validate a personal account, call a `POST` request to the `v2/validations/accounts` endpoint. The following example shows the required fields for a personal account validation request. ```json [ { "requestId": "123e4567-e89b-12d3-a456-426614174000", "clientReferenceId": "CLIENT-REF-12345", "profileName": "globalaccountvalidation", "account": { "accountNumber": "DE33500105171834492216", "financialInstitutionId": { "clearingSystemId": { "id": "DE33500105171834492216", "idType": "IBAN" }, "postalAddress": { "country": "DE" } }, "accountNumberType": "IBAN" }, "entity": { "individual": { "firstName": "Jane", "lastName": "Doe" } } } ] ``` **Sample response ** The following example shows a successful response for a personal account validation request. ```json [ { "requestId": "123e4567-e89b-12d3-a456-426614174000", "clientReferenceId": "CLIENT-REF-12345", "responses": [ { "codes": { "verification": { "code": 1011, "message": "Open Valid" }, "authentication": { "code": 5011, "message": "Ownership Match" } }, "provider": "SUREPAY_IBAN", "details": { "providerResponse": { "result": { "resultType": "MATCH", "account": { "status": "ACTIVE" } } } } } ] } ] ``` ## Validate a business account via provider SurePay To validate a business account using Provider SurePay, the business account holder name and business account identifiers are required. Refer to `Account Validation Country List` for country-specific requirements. o validate a business account, call a `POST` request to the `v2/validations/accounts` endpoint. ```json [ { "requestId": "123e4567-e89b-12d3-a456-426614174000", "clientReferenceId": "CLIENT-REF-12345", "profileName": "globalaccountvalidation", "account": { "accountNumber": "DE76500105178569136743", "financialInstitutionId": { "clearingSystemId": { "id": "DE76500105178569136743", "idType": "IBAN" }, "postalAddress": { "country": "DE" } }, "accountNumberType": "IBAN" }, "entity": { "organization": { "name": "Dummy Organization Inc" } } } ] ``` **Sample response ** The following example shows a successful response for a business account validation request. ```json [ { "requestId": "123e4567-e89b-12d3-a456-426614174000", "clientReferenceId": "CLIENT-REF-12345", "responses": [ { "codes": { "verification": { "code": 1011, "message": "Open Valid" }, "authentication": { "code": 5011, "message": "Ownership Match" } }, "provider": "SUREPAY_IBAN", "details": { "providerResponse": { "result": { "resultType": "MATCH", "account": { "status": "ACTIVE" } } } } } ] } ] ``` ## Validate a personal account via provider Kinexys Liink To validate a personal account via provider Kinexys Liink, the account holder's name and account identifiers are required. Refer to `Account Validation country list` for country-specific requirements. Call a `POST` request to the `v2/validations/accounts` endpoint. ```json [ { "requestId": "123e4567-e89b-12d3-a456-426614174000", "profileName": "globalaccountvalidation", "account": { "accountNumber": "DE33500105171834492216", "financialInstitutionId": { "clearingSystemId": { "id": "DE33500105171834492216", "idType": "IBAN" }, "postalAddress": { "country": "DE" } }, "accountNumberType": "IBAN" }, "entity": { "individual": { "firstName": "Jane", "lastName": "Doe" } } } ] ``` **Standard synchronous response** The following example shows a standard synchronous response returned immediately after a successful personal account validation request. ```json [ { "requestId": "123e4567-e89b-12d3-a456-426614174000", "responses": [ { "codes": { "verification": { "code": 8904, "message": "Initiated" }, "authentication": { "code": 8904, "message": "Initiated" } }, "provider": "JPMC_LIINK_CONFIRM", "details": { "providerResponse": { "refId": "8bbe2b5c-577b-461a-90dd-2df96e978edb" } } } ] } ] ``` **Standard asynchronous response** The following example shows a standard asynchronous response that is returned when the validation request is processed in the background and the results are delivered later. ```json [ { "requestId": "123e4567-e89b-12d3-a456-426614174000", "responses": [ { "codes": { "verification": { "code": 1004, "message": "Open Valid" }, "authentication": { "code": 5004, "message": "Ownership Match" } }, "provider": "JPMC_LIINK_CONFIRM", "details": { "providerResponse": { "acctStatus": "AC00", "NmMatch": "FULL_MATCH" } } } ] } ] ``` ## Validate a business account via provider Kinexys Liink To validate a business account via provider Kinexys liink, the account holder name and account identifiers are required. Refer to `Account Validation country list` for country-specific requirements. **Sample request** Call a `POST` request to the `v2/validations/accounts `endpoint. ```json [ { "requestId": "123e4567-e89b-12d3-a456-426614174000", "profileName": "globalaccountvalidation", "account": { "accountNumber": "DE76500105178569136743", "financialInstitutionId": { "clearingSystemId": { "id": "DE76500105178569136743", "idType": "IBAN" }, "postalAddress": { "country": "DE" } }, "accountNumberType": "IBAN" }, "entity": { "organization": { "name": "SUREPAY_IBAN" } } } ] ``` **Standard synchronous response** The following example shows a standard synchronous response returned immediately after a successful business account validation request. ```json [ { "requestId": "123e4567-e89b-12d3-a456-426614174000", "responses": [ { "codes": { "verification": { "code": 1004, "message": "Open Valid" }, "authentication": { "code": 5004, "message": "Ownership Match" } }, "provider": "JPMC_LIINK_CONFIRM", "details": { "providerResponse": { "acctStatus": "AC00", "NmMatch": "FULL_MATCH" } } } ] } ] ``` **Standard asynchronous response** The following example shows a standard asynchronous response that is returned when the business account validation is processed in the background and the results are delivered later. ```json [ { "requestId": "123e4567-e89b-12d3-a456-426614174000", "responses": [ { "codes": { "verification": { "code": 1004, "message": "Open Valid" }, "authentication": { "code": 5004, "message": "Ownership Match" } }, "provider": "JPMC_LIINK_CONFIRM", "details": { "providerResponse": { "acctStatus": "AC00", "NmMatch": "FULL_MATCH" } } } ] } ] ``` ## Related - For more information about parameters, see [Account Validation parameters](/docs/fraud-solutions/validation-services/capabilities/account-validation/account-validation-parameters). - For more information about the status responses and error codes supported by the Validation Services API, see [Validation Services error response codes](/api/fraud-solutions/validation-services/error-codes). ## Next steps - Learn how to [perform micro-deposits](/docs/fraud-solutions/validation-services/capabilities/account-validation/how-to/perform-micro-deposit). - Learn how to [request Account Confidence Score](/docs/fraud-solutions/validation-services/capabilities/account-validation/how-to/account-confidence-score)