> 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>

**Body table**

| Field                | Data Type      | Description                                      |
| -------------------- | -------------- | ------------------------------------------------ |
| `status`             | string         | Whether the BVN verification succeeded           |
| `reference`          | string         | Reference ID for this verification request       |
| `title`              | string         | Customer's title (e.g. Mr, Mrs)                  |
| `gender`             | string         | Customer's gender                                |
| `maritalStatus`      | string         | Customer's marital status                        |
| `watchListed`        | string         | Whether the BVN is flagged on a watchlist        |
| `levelOfAccount`     | string         | KYC tier level linked to the BVN                 |
| `bvn`                | string         | The verified BVN                                 |
| `firstName`          | string         | Customer's first name                            |
| `middleName`         | string         | Customer's middle name                           |
| `lastName`           | string         | Customer's last name                             |
| `dateOfBirth`        | string         | Customer's date of birth                         |
| `phoneNumber1`       | string         | Primary phone number on record                   |
| `phoneNumber2`       | string         | Secondary phone number on record                 |
| `registrationDate`   | string         | Date the BVN was registered                      |
| `enrollmentBank`     | string         | Bank where the BVN was enrolled                  |
| `enrollmentBranch`   | string         | Branch where the BVN was enrolled                |
| `email`              | string         | Email address on record                          |
| `lgaOfOrigin`        | string         | Local Government Area of origin                  |
| `lgaOfResidence`     | string         | Local Government Area of residence               |
| `nin`                | string         | National Identification Number linked to the BVN |
| `nameOnCard`         | string         | Name as it appears on the customer's card        |
| `nationality`        | string         | Customer's nationality                           |
| `residentialAddress` | string         | Customer's residential address                   |
| `stateOfOrigin`      | string         | State of origin                                  |
| `stateOfResidence`   | string         | State of residence                               |
| `base64Image`        | string \| null | Base64-encoded photo, if available               |
| `phoneNumber`        | string \| null | Additional phone number field, if available      |
| `faceData`           | object \| null | Facial verification data, if available           |

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>
