Validate an Account Using Routing and Account Numbers {#visa-bank-acc-val-process-intro}
========================================================================================

This section describes how to validate using direct routing and bank account details submitted through the REST API. Follow these steps to request a bank account validation:

1. Create a request with the required and any optional REST API fields. Refer to the request and response examples, if needed.
2. Send the completed request to one of these endpoints:
   * **Production:** `POST ``api.visaacceptance.com``/bavs/v1/account-validations`
   * **Test:** `POST ``apitest.visaacceptance.com``/bavs/v1/account-validations`
     {#visa-bank-acc-val-process-intro_ul_c3w_2jw_52c}
3. Verify the response messages to make sure that the request succeeded. For more information, see the [Transaction response codes](https://developer.visaacceptance.com/api/reference/response-codes.md "").
   {#visa-bank-acc-val-process-intro_ol_b3w_2jw_52c}

Required Fields for Validating an Account Using Routing and Account Numbers {#visa-bank-acc-val-req-fields}
===========================================================================================================

[processingInformation.validationLevel](https://developer.visaacceptance.com/docs/vas/en-us/api-fields/reference/all/rest/api-fields/processing-info-aa/processing-info-val-lev.md "")
:
Set the value to `1`.

[paymentInformation.bank.routingNumber](https://developer.visaacceptance.com/docs/vas/en-us/api-fields/reference/all/rest/api-fields/payment-info-aa/payment-info-bank-routing-number.md "")
:
Set the value to the routing number for your customer's bank. This field accepts a non‑negative string containing only digits and must be exactly nine-digits long.

[paymentInformation.bank.account.number](https://developer.visaacceptance.com/docs/vas/en-us/api-fields/reference/all/rest/api-fields/payment-info-aa/payment-info-bank-account-num.md "")
:
Set the value to the bank account number for your customer's bank account. This field accepts a non‑negative string containing only digits.

Optional Fields for Validating an Account {#visa-bank-acc-val-optional-fields}
==============================================================================

[clientReferenceInformation.code](https://developer.visaacceptance.com/docs/vas/en-us/api-fields/reference/all/rest/api-fields/client-ref-info-aa/client-ref-info-code.md "")
:
Set the value to any reference code that you choose to associate with the validation request. This code is returned in the response exactly as provided.

REST Example: Validating an Account Using Routing and Account Numbers {#visa-bank-acc-val-ex-rest}
==================================================================================================

Request

```
{
    "clientReferenceInformation": {
        "code": "TC50171_3"
    },
    "processingInformation": {
        "validationLevel": 1
            },
    "paymentInformation": {
        "bank": {
            "routingNumber": "041210163",
            "account": {
                "number": "1234567"
            }
        }
    }
}
```

Response to a Successful Request

```
{
    "clientReferenceInformation": {
       "code": "TC50171_3"
    },
    "requestId": "string",
    "submitTimeUtc": "string",
    "bankAccountValidation": {
        "rawValidationCode": 0,
        "resultCode": 0,
        "resultMessage": "string"
    }
}
```

Response to an Unsuccessful Request

```
{
    "submitTimeUtc": "string",
    "status": "string",
    "message": "string",
    "reason": "string",
    "details": [
        {
            "field": "string",
            "reason": "string"
        }
    ]
}
```

