> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dojah.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Age & identity verification

> Verify a person's age and identity in one call using their phone number, account number, or BVN.

<div className="dj-endpoint">
  <span className={`dj-method dj-method-get`}>GET</span>
  <code>/api/v1/kyc/age\_verification</code>
</div>

Confirm a person’s identity and age in one call. Supply their name plus one of a phone number, account number, or BVN — set mode to choose which — and optionally a date of birth to check against.

## Headers

| Header          | Required | Description                                         |
| --------------- | -------- | --------------------------------------------------- |
| `Authorization` | Yes      | Your app's secret key, sent as-is — *not* `Bearer`. |
| `AppId`         | Yes      | The App ID from your dashboard.                     |

## Query parameters

| Parameter        | Type    | Required | Description                                                       |
| ---------------- | ------- | -------- | ----------------------------------------------------------------- |
| `mode`           | string  | Yes      | Verification method — `phone_number`, `account_number`, or `bvn`. |
| `first_name`     | string  | Yes      | The individual's first name.                                      |
| `last_name`      | string  | Yes      | The individual's last name.                                       |
| `bvn`            | string  | No       | Required when `mode` is `bvn`.                                    |
| `account_number` | string  | No       | Required when `mode` is `account_number`.                         |
| `bank_code`      | string  | No       | Required when `mode` is `account_number`.                         |
| `phone_number`   | string  | No       | Required when `mode` is `phone_number`.                           |
| `dob`            | string  | No       | Date of birth to check against, `YYYY-MM-DD`.                     |
| `strict`         | boolean | No       | Enforce a strict match. Default `false`.                          |

## Response

Returns an `entity` with the matched `first_name`, `last_name`, `date_of_birth`, and a `verification` boolean.

## Errors

| Code  | Meaning                                                                                       |
| ----- | --------------------------------------------------------------------------------------------- |
| `400` | Bad request — a required parameter is missing or malformed.                                   |
| `401` | Unauthorized — check your key and `AppId` (no `Bearer` prefix).                               |
| `402` | Insufficient wallet balance. [Fund your wallet](/api-reference/core-concepts/wallet-billing). |
| `404` | No record found for the supplied identifier.                                                  |
| `429` | Too many requests — back off and retry.                                                       |

<RequestExample>
  ```bash cURL theme={null}
  curl --request GET \
    "https://api.dojah.io/api/v1/kyc/age_verification?mode=bvn&first_name=John&last_name=Musa&bvn=22345678901" \
    -H "Authorization: {{secret_key}}" \
    -H "AppId: {{app_id}}"
  ```

  ```js Node.js theme={null}
  const params = new URLSearchParams({
    "mode": "bvn",
    "first_name": "John",
    "last_name": "Musa",
    "bvn": "22345678901",
  });

  const url = "https://api.dojah.io/api/v1/kyc/age_verification?" + params;
  const res = await fetch(url, {
    headers: {
      Authorization: process.env.DOJAH_SECRET_KEY,
      AppId: process.env.DOJAH_APP_ID,
    },
  });
  const data = await res.json();
  ```

  ```python Python theme={null}
  import os, requests

  res = requests.get(
      "https://api.dojah.io/api/v1/kyc/age_verification",
      headers={
          "Authorization": os.environ["DOJAH_SECRET_KEY"],
          "AppId": os.environ["DOJAH_APP_ID"],
      },
      params={
          "mode": "bvn",
          "first_name": "John",
          "last_name": "Musa",
          "bvn": "22345678901",
      },
  )
  data = res.json()
  ```
</RequestExample>

<ResponseExample>
  ```json GET /api/v1/kyc/age_verification theme={null}
  {
    "entity": {
      "first_name": "JOHN",
      "last_name": "MUSA",
      "date_of_birth": "1993-06-10",
      "verification": true
    }
  }
  ```
</ResponseExample>
