> For the complete documentation index, see [llms.txt](https://docs.udara360.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.udara360.io/udara360-docs-1/operations/validate-bvn.md).

# Validate BVN

To validate a BVN, make a <mark style="color:yellow;">`POST`</mark> request to this endpoint, passing the `bvn` and `includeData` in the request body.

A successful request returns a `verification` object confirming the match status, along with a `result` object containing the BVN holder's biodata such as; `name`, `date of birth`, `phone numbers`, `address`, and more.

This process allows you to confirm a BVN is genuine and belongs to the customer providing it, before creating an account or profile in their name.

<mark style="color:yellow;">`POST`</mark> `/api/Operations/v1/KYC/ValidateBVN`

Use this endpoint during customer onboarding or account creation to confirm a BVN is genuine and belongs to the person providing it, before creating an account or profile in their name.

**Headers**

| Name                                                | Value                | Description                                 |
| --------------------------------------------------- | -------------------- | ------------------------------------------- |
| Content-Type<mark style="color:red;">\*</mark>      | `application/json`   | Format of the request payload               |
| Authorization<mark style="color:red;">\*</mark>     | `bearer {token}`     | Access token obtained from Get Access Token |
| request-reference<mark style="color:red;">\*</mark> | `{unique_reference}` | A unique reference identifying this request |

**Body Parameters**

<table><thead><tr><th>Name</th><th>Data Type (Length)</th><th data-type="checkbox">Required</th><th>Description</th></tr></thead><tbody><tr><td><code>bvn</code></td><td>string (11)</td><td>true</td><td>The Bank Verification Number to validate</td></tr><tr><td><code>includeData</code></td><td>integer</td><td>true</td><td>Whether to return the customer's biodata along with the verification result. 1 = Yes</td></tr></tbody></table>

Here is an example request and response with a sample payload sent to the endpoint in Curl format.

<details>

<summary>Sample Request</summary>

```json
curl --location -g --request POST '{{baseurl}}/api/Operations/v1/KYC/ValidateBVN' \
--header 'Authorization: bearer {token}' \
--header 'request-reference: {unique_reference}' \
--header 'Content-Type: application/json' \
--data ''
```

</details>

<details>

<summary>Response : <code>200</code></summary>

```
{
  "data": {
    "verification": {
      "status": "true",
      "reference": "1223jjjjfj"
    },
    "result": {
      "title": "Mr",
      "gender": "Male",
      "maritalStatus": "Single",
      "watchListed": "YES",
      "levelOfAccount": "Level 1 Account",
      "bvn": "54651333604",
      "firstName": "TEST",
      "middleName": "test",
      "lastName": "test",
      "dateOfBirth": "1999-12-21T00:00:00+00:00",
      "phoneNumber1": "09082838483",
      "phoneNumber2": "08028323323",
      "registrationDate": "2005-12-21T00:00:00+00:00",
      "enrollmentBank": "034",
      "enrollmentBranch": "YABA, Lagos",
      "email": "testt@test.com",
      "lgaOfOrigin": "yaba",
      "lgaOfResidence": "yaba",
      "nin": "12345567895",
      "nameOnCard": "test test",
      "nationality": "Nigeria",
      "residentialAddress": "yaba",
      "stateOfOrigin": "Lagos",
      "stateOfResidence": "Lagos",
      "base64Image": null,
      "phoneNumber": null
    },
    "faceData": null
  },
  "status": true,
  "message": "Verification Successful"
}
```

</details>
