Validating an Account Using a TMS Token: Payment Instrument Identifier {#visa-bank-acc-val-validate-reg-tms-payment-instrument-ident-intro}
===========================================================================================================================================

A payment instrument identifier is a type of token created by Token Management Systems (TMS) that refers to specific payment account information. It can be used to validate a customer's routing and bank account information.  
This section describes how to validate using a payment instrument identifier type of TMS token 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-validate-reg-tms-payment-instrument-ident-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-validate-reg-tms-payment-instrument-ident-intro_ol_b3w_2jw_52c}

Required Fields for Validating an Account Using a Payment Instrument Identifier {#visa-bank-acc-val-req-fields-tms-payment-instrument-ident}
============================================================================================================================================

[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.paymentInstrument.id](https://developer.visaacceptance.com/docs/vas/en-us/api-fields/reference/all/rest/api-fields/payment-info-aa/payment-info-payment-instrument-id.md "")
:
The unique identifier for the Payment Instrument token. This value is a non-negative string with 12-32 characters.

Optional Fields for Validating an Account {#visa-bank-acc-val-optional-tms-pay-instr-conref}
============================================================================================

[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 a Payment Instrument Identifier {#visa-bank-acc-val-tms-payment-instrument-ident-ex-rest}
===================================================================================================================================

Request

```
{ 
    "clientReferenceInformation": { 
        "code": "TC50171_3" 
    }, 
    "processingInformation": { 
        "validationLevel": 1 
    }, 
    "paymentInformation": { 
        "paymentInstrument": { 
            "id": "4A1A57E9AF81861BE0633F36CF0A5937" 
        } 
    } 
}
```

Response to a Successful Request

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

