# JPMC-PDP Documentation from https://developer.payments.jpmorgan.com # Verify a U.S. bank account and ownership In this tutorial, you will learn how to verify a United States bank account status and authenticate the account owner’s name. By the end of this tutorial, you will know how to: - Verify if an account exists and is active. - Verify if an account is likely to result in a debit return. - Validate the account status along with the beneficiary. - Determine the required and optional field parameters. > Verification is available for specific payment methods in the United States. > ## Before you begin To retrieve the status of an Validation Services request, 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. ## Verify and authenticate a bank account Validating account status evaluates a bank account and determines if the account number is in good standing. To do this call a `POST` request to the `v2/validations/accounts` endpoint. The following example shows the required fields for an Account verification request. ```json [ { "requestId": "123e4567-e89b-12d3-a456-426614174000", "clientReferenceId": "CLIENT-REF-12345", "account": { "accountNumber": "12345", "financialInstitutionId": { "clearingSystemId": { "id": "122199983", "idType": "ABA" } } }, "entity": { "individual": { "firstName": "Jane", "lastName": "Abbot", "fullName": "Jane Abbot" } } } ] ``` The following example shows a deterministic account validation response for a single provider: ```json [ { "requestId": "123e4567-e89b-12d3-a456-426614174000", "clientReferenceId": "CLIENT-REF-12345", "responses": [ { "codes": { "verification": { "code": 1002, "message": "Open Valid" }, "authentication": { "code": 5002, "message": "Ownership Match" } }, "provider": "JPMC_ACH", "details": { "paymentCheckContributingStatus": "Contributed", "accountNumber": "XXXX5", "financialInstitutionId": { "clearingSystemId": { "id": "122199983", "idType": "ABA" } } } } ] } ] ``` The following example shows a deterministic account validation response for multiple providers: ```json [ { "requestId": "123e4567-e89b-12d3-a456-426614174000", "clientReferenceId": "CLIENT-REF-12345", "responses": [ { "codes": { "verification": { "code": 1001, "message": "Open Valid" } }, "provider": "JPMC_ACH", "details": { "accountNumber": "XXXX5", "financialInstitutionId": { "clearingSystemId": { "id": "122199983", "idType": "ABA" } } } }, { "codes": { "authentication": { "code": 6002, "message": "Ownership No Match" } }, "provider": "EWS", "details": { "paymentCheckContributingStatus": "Contributed", "accountNumber": "XXXX5", "financialInstitutionId": { "clearingSystemId": { "id": "122199983", "idType": "ABA" } } } } ] } ] ``` ### Probabilistic account validation The following example shows a probabilistic account validation request: ```json [ { "requestId": "123e4567-e89b-12d3-a456-426614174000", "clientReferenceId": "CLIENT-REF-12345", "profileName": "brie", "account": { "accountNumber": "61231234337", "financialInstitutionId": { "clearingSystemId": { "id": "021000021", "idType": "ABA" } } }, "entity": { "individual": { "firstName": "George", "lastName": "White" } }, "transactions": [] } ] ``` The following example shows a probabilistic account validation response: ```json [ { "requestId": "123e4567-e89b-12d3-a456-426614174000", "clientReferenceId": "CLIENT-REF-12345", "responses": [ { "codes": { "verification": { "code": 1001, "message": "Open Valid" }, "authentication": { "code": 5001, "message": "Ownership Match" } }, "provider": "JPMC_ACH", "details": { "accountNumber": "XXXXXXXX337", "financialInstitutionId": { "clearingSystemId": { "id": "021000021", "idType": "ABA" } } } } ] } ] ``` ## Successful response messages An HTTP status of 200 indicates a successful response. The following fields indicate the result: - responseStatus - responseCode - responseMessage ## Authenticate an individual or business's bank account To validate an individual’s bank account, use the following fields: - individual.firstname - individual.lastname To validate a business’s bank account, use the following field: - organization.name ## 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 [verify a global account](/docs/fraud-solutions/validation-services/capabilities/account-validation/how-to/global-account-validation). - Learn how to [request Account Confidence Score](/docs/fraud-solutions/validation-services/capabilities/account-validation/how-to/account-confidence-score)