> For the complete documentation index, see [llms.txt](https://doc.youverify.co/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.youverify.co/api-reference/api-reference/entity-management/verify-entity-kyc.md).

# Verify Entity (KYC)

This endpoint allows you to run a KYC check on an entity, this can only be an individual.

<mark style="color:green;">`POST`</mark> `{{baseurl}}/v2/api/entities/:entityId/identity`

#### Headers

| Name                                    | Type   | Description      |
| --------------------------------------- | ------ | ---------------- |
| token<mark style="color:red;">\*</mark> | String | API secret token |

#### Parameter

| Field                                      | Type   | Description                     |
| ------------------------------------------ | ------ | ------------------------------- |
| entityId<mark style="color:red;">\*</mark> | String | Id of the entity being checked. |

#### Request Body

| Field                                              | Type    | Description                                                                                                                                |
| -------------------------------------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| entityType<mark style="color:red;">\*</mark>       | String  | <p>Type of entity being checked or verified.</p><p>Allowed values: <mark style="color:$danger;"><code>"individual"</code></mark></p>       |
| isSubjectConsent<mark style="color:red;">\*</mark> | Boolean | <p>Consent of the individual or entity being verified.</p><p>Allowed values: <mark style="color:$danger;"><code>true</code></mark></p>     |
| identity<mark style="color:red;">\*</mark>         | Object  | Identity document data.                                                                                                                    |
| id                                                 | String  | Unique identifier depending on the type (e.g., BVN, NIN, VNIN, Passport No., etc.).                                                        |
| countryCode<mark style="color:red;">\*</mark>      | String  | <p>Country code of the identity document (ISO 3166-1 alpha-2).</p><p>Size range: <mark style="color:$danger;"><code>2</code></mark></p>    |
| idType<mark style="color:red;">\*</mark>           | String  | Document type code. Must be supported by the country.                                                                                      |
| mobile                                             | String  | Mobile number (used with `nin_by_phone`).                                                                                                  |
| accountNumber                                      | String  | 10-digit account number (used with BAV).                                                                                                   |
| bankCode                                           | String  | Bank code for BAV verification.                                                                                                            |
| lastName                                           | String  | Last name (used with passport verification).                                                                                               |
| shouldRetrivedNin                                  | Boolean | <p>Whether to fetch linked NIN from BVN.</p><p>Default value: <mark style="color:$danger;"><code>false</code></mark></p>                   |
| premiumBVN                                         | Boolean | <p>Enable premium BVN check.</p><p>Default value: <mark style="color:$danger;"><code>false</code></mark></p>                               |
| premiumNin                                         | Boolean | <p>Enable premium NIN check.</p><p>Default value: <mark style="color:$danger;"><code>false</code></mark></p>                               |
| fullDetails                                        | Boolean | <p>Request extended BVN profile.</p><p>Default value: <mark style="color:$danger;"><code>false</code></mark></p>                           |
| metadata                                           | Object  | Optional metadata for auditing, tracking, or extensions.                                                                                   |
| validations                                        | Object  | Validation payload for cross-checking identity.                                                                                            |
| data                                               | Object  | Personal info to validate.                                                                                                                 |
| firstName                                          | String  | First name to validate.                                                                                                                    |
| lastName                                           | String  | Last name to validate.                                                                                                                     |
| dateOfBirth                                        | String  | <p>Date of birth to validate.</p><p>Allowed values: <mark style="color:$danger;"><code>"YYYY-MM-DD"</code></mark></p>                      |
| selfie                                             | Object  | Selfie validation block.                                                                                                                   |
| image                                              | String  | <p>URL to a selfie image.</p><p>Size range: <mark style="color:$danger;"><code>URI</code></mark></p>                                       |
| advanced                                           | Boolean | For <mark style="color:$danger;">`kenya_scrub`</mark> - whether to run advanced check. \[identity.bankId] Bank ID (Kenya).                 |
| bank                                               | String  | Bank name (South Africa).                                                                                                                  |
| bankBranchCode                                     | String  | Required in South African BAV.                                                                                                             |
| accountType                                        | String  | <p>Account type (e.g., "Savings", "Current") for ZA BAV.</p><p>Default value: <mark style="color:$danger;"><code>Savings</code></mark></p> |
| type                                               | String  | type (e.g., "old\_voter\_card", "new\_voter\_card") for GH voter ID.                                                                       |

<h3 align="center">Nigeria KYC</h3>

{% tabs %}
{% tab title="Verify Entity Sample Request (BVN)" %}

```json
{
    "entityType": "individual",
    "isSubjectConsent": true,
    "identity": {
        "id": "A11111111",
        "countryCode": "NG",
        "idType": "bvn",
        "premiumBVN": false
    }
}
```

{% endtab %}

{% tab title="Verify Entity Sample Request (NIN)" %}

```json
{
    "entityType": "individual",
    "isSubjectConsent": true,
    "identity": {
        "id": "9089974xxxx",
        "countryCode": "NG",
        "idType": "nin"
    }
}
```

{% endtab %}

{% tab title="Verify Entity Sample Request (Advanced Phone Search)" %}

```json
{
  "entityType": "individual",
  "isSubjectConsent": true,
  "identity": {
    "mobile": "08000000000",
    "countryCode": "NG",
    "idType": "nin_phone",
    "premiumNin": true,
  }
}
```

{% endtab %}

{% tab title="Verify Entity Sample Request (Basic Phone Search)" %}

```json
{
  "entityType": "individual",
  "isSubjectConsent": true,
  "identity": {
    "mobile": "08000000000",
    "countryCode": "NG",
    "idType": "phone",
    "premiumNin": true,
  }
}
```

{% endtab %}
{% endtabs %}

<h3 align="center">Nigeria KYC (contd.)</h3>

{% tabs %}
{% tab title="Verify Entity Sample Request (BAV)" %}

```json
{
  "entityType": "individual",
  "isSubjectConsent": true,
  "identity": {
    "accountNumber": "014125xxxx",
       "bankCode": "058",
   }
 }
```

{% endtab %}

{% tab title="Verify Entity Sample Request (Passport)" %}

```json
{
  "entityType": "individual",
  "isSubjectConsent": true,
  "identity": {
    "id": "B5008xxxx",
    "countryCode": "NG",
    "idType": "passport",
    "lastName": "Test",
  }
}
```

{% endtab %}

{% tab title="Verify Entity Sample Request (Drivers License)" %}

```json
{
    "entityType": "individual",
    "isSubjectConsent": true,
    "identity": {
        "id": "SMK86220xxxx",
        "countryCode": "NG",
        "idType": "drivers_license"
    }
}
```

{% endtab %}

{% tab title="Verify Entity Sample Request (PVC)" %}

```json
{
    "entityType": "individual",
    "isSubjectConsent": true,
    "identity": {
        "id": "90F5AFA35D296xxxxxx",
        "countryCode": "NG",
        "idType": "pvc"
    }
}
```

{% endtab %}
{% endtabs %}

<h3 align="center">Kenya KYC</h3>

{% tabs %}
{% tab title="Verify Entity Sample Request (Kenya Drivers License)" %}

```json
{
    "entityType": "individual",
    "isSubjectConsent": true,
    "identity": {
        "idType": "keDriversLicense",
        "countryCode": "KE",
        "id": "111111111"
    }
}
```

{% endtab %}

{% tab title="Verify Entity Sample Request (Kenya Alien ID)" %}

```json
{
    "entityType": "individual",
    "isSubjectConsent": true,
    "identity": {
        "idType": "keAlienId",
        "countryCode": "KE",
        "id": "111111111"
    }
}
```

{% endtab %}

{% tab title="Verify Entity Sample Request (Kenya National ID)" %}

```json
{
    "entityType": "individual",
    "isSubjectConsent": true,
    "identity": {
        "idType": "keNationalId",
        "countryCode": "KE",
        "id": "237721480"
    }
}

```

{% endtab %}

{% tab title="Verify Entity Sample Request (Kenya Passport)" %}

```json
{
    "entityType": "individual",
    "isSubjectConsent": true,
    "identity": {
        "idType": "kePassport",
        "countryCode": "KE",
        "id": "A1998653"
    }
}
```

{% endtab %}
{% endtabs %}

<h3 align="center">Ghana KYC</h3>

{% tabs %}
{% tab title="Verify Entity Sample Request (Ghana New Voter ID)" %}

```json
{
    "entityType": "individual",
    "isSubjectConsent": true,
    "identity": {
        "idType": "ghVoter",
        "countryCode": "GH",
        "id": "G0000575",
        "type": "new_voter_card"
    }
}
```

{% endtab %}

{% tab title="Verify Entity Sample Request (Ghana Old Voter ID)" %}

```json
{
    "entityType": "individual",
    "isSubjectConsent": true,
    "identity": {
        "idType": "oldGhVoter",
        "countryCode": "GH",
        "id": "G0000575",
        "type": "old_voter_card"
    }
}
```

{% endtab %}

{% tab title="Verify Entity Sample Request (Ghana Passport)" %}

```json
{
    "entityType": "individual",
    "isSubjectConsent": true,
    "identity": {
        "idType": "ghPassport",
        "countryCode": "GH",
        "id": "G0000575"
    }
}
```

{% endtab %}
{% endtabs %}

<h3 align="center">South Africa KYC</h3>

{% tabs %}
{% tab title="Verify Entity Sample Request (South Africa ID)" %}

```json
{
    "entityType": "individual",
    "isSubjectConsent": true,
    "identity": {
        "idType": "zaSAID",
        "countryCode": "ZA",
        "id": "8012185201081"
    }
}
```

{% endtab %}
{% endtabs %}

{% tabs %}
{% tab title="Success Response (New Business)" %}

```json
{
  "success": true,
  "status_code": 201,
  "message": "Business check successful!",
  "data": {
    "id": "69dab502682626b4e9e6d77c",
        "entity": {
            "entityId": "ent_69dab0119abad240d91071a4",
            "isNew": true,
            "message": "Entity created successfully."
        },
        "businessCheck": {
            "id": "69dab502682626b4e9e6d77c",
            "status": "found",
            "businessId": "69b3c7f1556f687f7fb8a5bd",
            "parentId": null,
            "isConsent": true,
            "type": "basic_company_check",
            "searchTerm": "RC00000000",
            "name": "John Doe Inc",
            "registrationNumber": "RC00000000",
            "companyStatus": "ACTIVE",
            "requestedAt": "2026-04-11T20:54:27.818Z",
            "country": "Nigeria",
            "createdAt": "2022-11-03T14:16:54.235Z",
            "lastModifiedAt": "2022-11-03T14:16:54.235Z",
            "typeOfEntity": "PRIVATE COMPANY LIMITED BY SHARES",
            "registrationDate": "2017-06-09",
            "natureOfBusiness": null,
            "amlReport": null,
            "adverseMediaReport": null,
            "requestedBy": {
                "firstName": "Jamal",
                "lastName": "Akinyelu",
                "middleName": "",
                "id": "69b3c7f6556f687f7fb8a5c7"
            }
        }
      },
```

{% endtab %}

{% tab title="Success Response (Existing Business)" %}

```json
{
  "success": true,
  "status_code": 200,
  "message": "Business check successful!",
  "data": {
     "id": "ent_69dab0119abad240d91071a4",
        "entity": {
            "entityId": "ent_69dab0119abad240d91071a4",
            "isNew": false
        },
        "businessCheck": {
            "id": "69dab502682626b4e9e6d77c",
            "status": "found",
            "businessId": "69b3c7f1556f687f7fb8a5bd",
            "parentId": null,
            "isConsent": true,
            "type": "basic_company_check",
            "searchTerm": "RC00000000",
            "name": "John Doe Inc",
            "registrationNumber": "RC00000000",
            "companyStatus": "ACTIVE",
            "requestedAt": "2026-04-11T20:54:27.818Z",
            "country": "Nigeria",
            "createdAt": "2022-11-03T14:16:54.235Z",
            "lastModifiedAt": "2022-11-03T14:16:54.235Z",
            "typeOfEntity": "PRIVATE COMPANY LIMITED BY SHARES",
            "registrationDate": "2017-06-09",
            "natureOfBusiness": null,
            "amlReport": null,
            "adverseMediaReport": null,
            "requestedBy": {
                "firstName": "Jamal",
                "lastName": "Akinyelu",
                "middleName": "",
                "id": "69b3c7f6556f687f7fb8a5c7"
            }
        }
    },
  "links": []
}
```

{% endtab %}

{% tab title="Not Found" %}

```json
{
  "success": true,
  "status_code": 200,
  "message": "Business check successful!",
  "data": {
     "id": null,
        "entity": {},
        "businessCheck": {
            "id": "69dab502682626b4e9e6d77c",
            "status": "not_found",
            "businessId": "69b3c7f1556f687f7fb8a5bd",
            "parentId": null,
            "isConsent": true,
            "type": "basic_company_check",
            "searchTerm": "RC00000000",
            "name": "",
            "registrationNumber": "",
            "companyStatus": "",
            "requestedAt": "2026-04-11T20:54:27.818Z",
            "country": "Nigeria",
            "createdAt": "2022-11-03T14:16:54.235Z",
            "lastModifiedAt": "2022-11-03T14:16:54.235Z",
            "typeOfEntity": "",
            "registrationDate": "",
            "natureOfBusiness": null,
            "amlReport": null,
            "adverseMediaReport": null,
            "requestedBy": {
                "firstName": "Jamal",
                "lastName": "Akinyelu",
                "middleName": "",
                "id": "69b3c7f6556f687f7fb8a5c7"
            }
        }
    },
  "links": []
}
```

{% endtab %}
{% endtabs %}

{% tabs %}
{% tab title="Error Response" %}

```json
{
  "success": false,
  "statusCode": 404,
  "message": "You have attempted to get a resource that does not exist.",
  "name": "ResourceNotFoundError",
  "data": {}
}
```

{% endtab %}
{% endtabs %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://doc.youverify.co/api-reference/api-reference/entity-management/verify-entity-kyc.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
