> ## Documentation Index
> Fetch the complete documentation index at: https://razorpay-881012b3.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Validate a Bank Account

> Validate Fund Account of type bank account via API.

<div style={{display:"flex",flexWrap:"wrap",alignItems:"center",gap:"0.35rem 0.9rem",border:"1px solid rgba(128,128,128,0.28)",borderRadius:"0.5rem",padding:"0.45rem 0.75rem",margin:"0 0 1.25rem",fontSize:"0.875rem"}}>
  <span style={{fontWeight:600}}>Available in</span>
  <span>🇮🇳 India</span>
  <span>🇸🇬 Singapore</span>
  <span>🇺🇸 United States</span>
</div>

Use this endpoint to create a bank account validation transaction.

<RequestExample>
  ```bash Curl theme={null}
  curl -u <YOUR_KEY>:<YOUR_SECRET> \
  -X POST https://api.razorpay.com/v1/fund_accounts/validations \
  -H "Content-Type: application/json" \
  -d '{
    "account_number": "7878780080316316",
    "fund_account": {
      "id": "fa_00000000000001"
    },
    "amount": 100,
    "currency": "INR",
    "notes": {
      "random_key_1": "Make it so.",
      "random_key_2": "Tea. Earl Grey. Hot."
    }
  }'
  ```
</RequestExample>

<ResponseExample>
  ```json Created theme={null}
  {
    "id": "fav_00000000000001",
    "entity": "fund_account.validation",
    "fund_account": {
      "id": "fa_00000000000001",
      "entity": "fund_account",
      "contact_id": "cont_00000000000001",
      "account_type": "bank_account",
      "bank_account": {
        "name": "Gaurav Kumar",
        "bank_name": "HDFC",
        "ifsc": "HDFC0000053",
        "account_number": "765432123456789"
      },
      "batch_id": null,
      "active": true,
      "created_at": 1567064019
    },
    "status": "created",
    "amount": 100,
    "currency": "INR",
    "notes": {
      "random_key_1": "Make it so.",
      "random_key_2": "Tea. Earl Grey. Hot."
    },
    "results": {
      "account_status": null,
      "registered_name": null
    },
    "created_at": 1547566278,
    "utr": null
  }
  ```

  ```json Completed theme={null}
  {
    "id": "fav_00000000000001",
    "entity": "fund_account.validation",
    "fund_account": {
      "id": "fa_00000000000001",
      "entity": "fund_account",
      "contact_id": "cont_00000000000001",
      "account_type": "bank_account",
      "bank_account": {
        "name": "Gaurav Kumar",
        "bank_name": "HDFC",
        "ifsc": "HDFC0000053",
        "account_number": "765432123456789"
      },
      "batch_id": null,
      "active": true,
      "created_at": 1567064019
    },
    "status": "completed",
    "amount": 100,
    "currency": "INR",
    "notes": {
      "random_key_1": "Make it so.",
      "random_key_2": "Tea. Earl Grey. Hot."
    },
    "results": {
      "account_status": "active",
      "registered_name": "Gaurav Kumar"
    },
    "created_at": 1547566278,
    "utr": "XXXXR7310682908954385XX"
  }
  ```

  ```json Failed theme={null}
  {
    "id": "fav_Fa6RwlxjoX0xeO",
    "entity": "fund_account.validation",
    "fund_account": {
      "id": "fa_Fa6Rq1WwNrpMoK",
      "entity": "fund_account",
      "contact_id": "cont_FYSVUV5EeJKkKb",
      "account_type": "bank_account",
      "bank_account": {
        "name": "Gaurav Kumar",
        "bank_name": "HDFC",
        "ifsc": "HDFC0000053",
        "account_number": "1121431121541121"
      },
      "batch_id": null,
      "active": true,
      "created_at": 1599652242
    },
    "status": "failed",
    "amount": 127,
    "currency": "INR",
    "notes": {
      "random_key_1": "Make it so.",
      "random_key_2": "Tea. Earl Grey. Hot."
    },
    "results": {
      "account_status": "",
      "registered_name": ""
    },
    "created_at": 1599473659,
    "utr": null
  }
  ```
</ResponseExample>

## Request Parameters

<ParamField body="account_number" type="string" required>
  The account from which money should be deducted for the account validation transaction.

  * Pass your customer identifier if you want money to be deducted from RazorpayX Lite.

  <Warning>
    **Watch Out!**

    * This is **not** your contact's bank account number. Log in to your [**RazorpayX Dashboard**](https://x.razorpay.com/auth/?intent=current_account) and go to **My Account & Settings → Banking → Customer Identifier**.
    * This value is different for Test Mode and Live Mode.
  </Warning>
</ParamField>

<ParamField body="fund_account" type="object" required>
  The fund account id you want to validate.
</ParamField>

<ParamField body="id" type="string" required>
  The unique identifier linked to a fund account. For example, `fa_00000000000001`.
</ParamField>

<ParamField body="amount" type="integer" required>
  The amount, in paise, to be transferred. For example, pass `100` for ₹1. The default value for this parameter is `100`.<br /> The value passed here does not include fees and tax. Fees and tax, if any, are deducted from your account balance.
</ParamField>

<ParamField body="currency" type="string">
  The currency for the transfer. The value has to be `INR`. If no value is passed, it is assumed to be `INR`.
</ParamField>

<ParamField body="notes" type="object">
  Key-value pair that can be used to store additional information about the entity. Maximum 15 key-value pairs, 256 characters (maximum) each. For example, `"note_key": "Beam me up Scotty”`.
</ParamField>

## Response Parameters

<ResponseField name="id" type="string">
  The unique identifier linked to the fund account validation. For example, `fav_0000000001`.
</ResponseField>

<ResponseField name="entity" type="string">
  Here it is `fund_account.validation`.
</ResponseField>

<ResponseField name="status" type="string">
  The status of the account validation transaction.
  Possible values:

  * `created`
  * `completed`
  * `failed`
</ResponseField>

<ResponseField name="validation_results" type="object">
  Details extracted from the results of the fund account validation.
</ResponseField>

<ResponseField name="account_status" type="string">
  Displays if the account is valid or not.
  Possible values:

  * `active`
  * `invalid`
</ResponseField>

<ResponseField name="registered_name" type="string">
  The name linked to the account. For example,`Gaurav Kumar` or `null`.
</ResponseField>

<ResponseField name="details" type="string">
  Brief description of the validation.
</ResponseField>

<ResponseField name="name_match_score" type="string">
  The percentage score indicating how closely the account holder's name matches the records.
</ResponseField>

<ResponseField name="validated_account_type" type="string">
  Here it is `bank_account`.
</ResponseField>

<ResponseField name="bank_account" type="object">
  The contact's bank account details.
</ResponseField>

<ResponseField name="bank_routing_code" type="string">
  Beneficiary bank IFSC. For example, `HDFC0000053`.
</ResponseField>

<ResponseField name="account_number" type="string">
  Beneficiary account number. For example, `765432123456789`.
</ResponseField>

<ResponseField name="bank_name" type="string">
  The contact's bank name. For example, `HDFC`.
</ResponseField>

<ResponseField name="account_type" type="string">
  The account type being validated. For example `savings`, `current`.
</ResponseField>

<ResponseField name="status_details" type="object">
  Status of the fund account validation.
</ResponseField>

<ResponseField name="description" type="string">
  A brief description stating if the validation is complete or not.
</ResponseField>

<ResponseField name="source" type="string">
  The source from which validation was done. For example, `beneficiary_bank`
</ResponseField>

<ResponseField name="reason" type="string">
  Reason for validation.
</ResponseField>

<ResponseField name="reference_id" type="string">
  Unique reference\_id generated for the validation transaction.
</ResponseField>

<ResponseField name="fund_account" type="object">
  The details of the fund account which was validated.
</ResponseField>

<ResponseField name="id" type="string">
  The unique identifier linked to the fund account. For example, `fa_00000000000001`.
</ResponseField>

<ResponseField name="entity" type="string">
  Here it is `fund_account`.
</ResponseField>

<ResponseField name="account_type" type="string">
  Fund account type.
</ResponseField>

<ResponseField name="vpa" type="object">
  The details associated with the account holder's virtual payment address.
</ResponseField>

<ResponseField name="address" type="string">
  The virtual payment address of the contact whose account is validated. For example, `gaurav.kumar@exampleupi`
</ResponseField>

<ResponseField name="active" type="boolean">
  Possible values of fund account status:

  * `true`: active
  * `false`: inactive
</ResponseField>

<ResponseField name="created_at" type="integer">
  Timestamp, in unix, when the fund account was created. For example, `1543650891`.
</ResponseField>

<ResponseField name="contact" type="object">
  The contact's details.
</ResponseField>

<ResponseField name="id" type="string">
  The unique identifier linked to the contact. For example, `cont_00000000000001`.
</ResponseField>

<ResponseField name="entity" type="string">
  Here it is `contact`
</ResponseField>

<ResponseField name="name" type="string">
  Account holder's name. For example,`Gaurav Kumar`.
</ResponseField>

<ResponseField name="email" type="string">
  Email address of the contact.
</ResponseField>

<ResponseField name="contact" type="string">
  Phone number of the contact.
</ResponseField>

<ResponseField name="type" type="string">
  Contact Type. For example, `employee`, `contractor`.
</ResponseField>

<ResponseField name="reference_id" type="string">
  Reference id associated with the contact.
</ResponseField>

<ResponseField name="active" type="boolean">
  Possible values of contact status:

  * `true`: active
  * `false`: inactive
</ResponseField>
