# Welcome

Hey There! How's your day going?

![VerifyMe Nigeria](/files/-MCMXWj0bKmuDQvf-DhE)

[VerifyMe](https://verifyme.ng) allows you to verify the identities of other individuals all over the country. This could be for hiring, Background checks, etc.

Our APIs expose most of our services for you to be able to include our services into the great products you're building.


# Getting Started

You can start integrating our API's into your beautiful products by following the steps below:

* Create a Corporate VerifyMe account by navigating to <https://verifyme.ng/auth/signup>

![](/files/-McgOrpuzNANbD2CPQQc)

* Once you have created the account, Kindly request for your account to be enabled for API from your verifyMe account manager. You need to specify your `risk threshold` and `identity payload type` while making this request. See more about risk level and identity payload type [here](/introduction/about-verifications).

* Once created you should have access to the API section in the image below. Your **API KEYS** and **Webhooks** can be found in this part of your portal.

![API dashboard](/files/-McgPeJdxkQzIyO8s4ul)

* Head over to the **Billing** tab and fund your account in order to start making verification requests.

* Once funded, You should be able to make successful API calls🎊


# Introduction

### API Reference

The VerifyMe [REST](https://en.wikipedia.org/wiki/Representational_state_transfer) API is a very important part of the  VerifyMe platform. The API is built using RESTful endpoints and standard HTTP verbs and uses standard HTTP response codes to indicate the success or failure of an API request.

The base URL of the VerifyMe API is as follows:

```
https://vapi.verifyme.ng
```


# Authentication

VerifyMe provides a `test secret` and `live secret` keys which you can get from the [VerifyMe Dashboard](https://verifyme.ng/app/developers/settings).

![](/files/-MB8bSXN0ZSxRhdXY6mY)

Headers for incoming requests must contain this secret in the format below.

```
{
    "Authorization": "Bearer <secret>"
}

```


# About Verifications

#### Risk Levels

Some of our verifications might require the [applicant's Identity](/glossary) to be verified. But we understand that these may not be necessary for your use case.

To solve this we introduced **risk levels** that are specific for each organization on our platform. These help us determine how strict our system should verify the data provided. They are set by our customer service while enabling an organization for API access.

They are:

| Risk Level | Description                                                                               |
| ---------- | ----------------------------------------------------------------------------------------- |
| **NONE**   | This implies that no form of identity verification should be done on applicants           |
| **LOW**    | This implies that only the **last name** of the applicant would be verified               |
| **MEDIUM** | This implies that the **last name** and **first name** of the applicant would be verified |
| **HIGH**   | This implies the **first name, last name,** and **date of birth** would be verified       |

{% hint style="warning" %}
The optional fields for each request are dependent on what threshold your account is set on ie If a particular threshold is selected and the fields required are not provided then the verification will throw an error.

Eg: A company "Z" registers an account with a **MEDIUM** risk level. if  Z wants to make an address verification request and the request does not contain the **firstname** or **lastname** fields for the applicant, then Z's API request would return an error.&#x20;
{% endhint %}

The minimum risk levels for each of our verifications are:

| Verification            | Minimum Risk Level |
| ----------------------- | ------------------ |
| Address Verifications   | **LOW**            |
| Guarantor Verifications | **LOW**            |

####

#### Identity Payload Type

This simply refers to the number of data sets returned for identity verifications (National ID number). We have 2 types:

* **FULL** - When this is enabled for your account, You get access to the full NIN data sets.
* **HALF** - When this is enabled for your account, You get access to lesser NIN data sets.


# Bank Verification Number (BVN)

{% hint style="info" %}
Please note that when using your test key, Our test persona is **John Doe** and his Bank Verification Number as **10000000001.** Hence all matching done with your test keys with details other than that of our Test Persona would simulate a failed identity matching.&#x20;
{% endhint %}

## Verify BVN

<mark style="color:green;">`POST`</mark> `https://vapi.verifyme.ng/v1/verifications/identities/bvn/:ref`

#### Path Parameters

| Name | Type   | Description |
| ---- | ------ | ----------- |
| ref  | string | BVN Number  |

#### Query Parameters

| Name | Type   | Description                                           |
| ---- | ------ | ----------------------------------------------------- |
| type | string | This refers to the payload type ie premium\` or basic |

#### Headers

| Name          | Type   | Description          |
| ------------- | ------ | -------------------- |
| Authorization | string | Authorization Header |

#### Request Body

| Name      | Type   | Description         |
| --------- | ------ | ------------------- |
| dob       | string | Date Of Birth       |
| lastname  | string | Lastname to verify  |
| firstname | string | Firstname to verify |

{% tabs %}
{% tab title="200 For premium payload type" %}

```
{
  "status": "success",
  "data": {
    "fieldMatches":{
      "firsname":false,
      "lastname":false,
      "dob":false
    }
    "bvn": 10000000001,
    "firstname": "John",
    "lastname": "Doe",
    "middlename": "Jane"
    "phone": "08066676673",
    "gender": "female"
    "birthdate": "04-04-1944",
    "photo": "Base64 Encoded",
    "maritalStatus": "Single",
    "lgaOfResidence": "Surulere",
    "lgaOfOrigin": "Ijebu ode",
    "residentialAddress": "1 jameson street",
    "stateOfOrigin": "Ogun State",
    "enrollmentBank": "058",
    "enrollmentBranch": "BODIJA",
    "nameOnCard": "JOHN DOE",
    "title": "Mr",
    "levelOfAccount": "Level 2 - Medium Level Accounts",
  } 
}
```

{% endtab %}

{% tab title="404 " %}

```
{
    "code":"NOT_FOUND_ERROR",
    "message":"BVN provided is not found. Please provide a valid bvn"
}
```

{% endtab %}
{% endtabs %}

**Sample Request**

{% tabs %}
{% tab title="Curl" %}

```
curl --location --request POST 'https://vapi.verifyme.ng/v1/verifications/identities/bvn/10000000001' \
--header 'Authorization: Bearer <your secret key>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "firstname":"John",
    "lastname":"Doe",
    "dob":"04-04-1944"
}'
```

{% endtab %}
{% endtabs %}

#### Response Payloads

We have 2 types of payload responses for bvn verifications&#x20;

* Premium&#x20;
* Basic

{% tabs %}
{% tab title="basic response" %}

```
{
   "status": "success",
    "data": {
        "bvn": "22515263226",
        "firstname": "JOHN",
        "lastname": "DOE",
        "middlename": "JAMES",
        "gender": "Male",
        "phone": "08100000000",
        "birthdate": "31-05-2000", 
        "photo": "<base64 image>",
         "fieldMatches": {
            "firstname": false,
            "lastname": false
        }
    }
}
```

{% endtab %}

{% tab title="premium response" %}

```
{
  "status": "success",
  "data": {
    "bvn": 10000000001,
    "firstname": "John",
    "lastname": "Doe",
    "middlename": "Jane"
    "phone": "08066676673",
    "gender": "female"
    "birthdate": "17/01/1988",
    "photo": "Base64 Encoded",
    "maritalStatus": "Single",
    "lgaOfResidence": "Surulere",
    "lgaOfOrigin": "Ijebu ode",
    "residentialAddress": "1 jameson street",
    "stateOfOrigin": "Ogun State",
    "enrollmentBank": "058",
    "enrollmentBranch": "BODIJA",
    "nameOnCard": "JOHN DOE",
    "title": "Mr",
    "levelOfAccount": "Level 2 - Medium Level Accounts",
     "fieldMatches":{
        "firsname":false,
        "lastname":false,
        "dob":false
    }
  } 
}
```

{% endtab %}
{% endtabs %}


# Corporate Affairs Commission

Corporate Affairs Commission (CAC) Verification for the following company types  (bn = Business Name | co = Limited Company | it = Incorporated Trustee)

{% hint style="info" %}
Please note that when using your test key, Our test persona is **John Doe,** the company name is "Test Company" and the CAC number is 11000011
{% endhint %}

## Verify CAC

<mark style="color:green;">`POST`</mark> `https://vapi.verifyme.ng/v1/verifications/identities/cac`

#### Headers

| Name          | Type   | Description                         |
| ------------- | ------ | ----------------------------------- |
| Authorization | string | Authorization Header - Bearer Token |

#### Request Body

| Name     | Type   | Description                                                                                                                                                                                                  |
| -------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| type     | string | <p>Valid company type ranges that we verify:<br>1. limited\_company: Registered as limited company or<br>2. business: Registered as business or<br>3. incorprated\_trustee: Registered as trust company.</p> |
| rcNumber | string | Company registration number                                                                                                                                                                                  |

{% tabs %}
{% tab title="200 " %}

```
{
    "status": "success",
    "data": {
        "rcNumber": 11000011,
        "companyName": "Test Company",
        "companyType": "PRIVATE_COMPANY_LIMITED_BY_SHARES",
        "registrationDate": "2017-04-17T13:33:22.770+00:00",
        "branchAddress": "Test Company Address",
        "companyEmail": "johndoe@companymail.com",
        "city": "oshodi",
        "classification": "Company | Business | Trustee",
        "headOfficeAddress": "Test Company Head Office Address",
        "lga": "oshodi",
        "affiliates": 2,
        "shareCapital": "1000000",
        "shareCapitalInWords": "ONE MILLION NAIRA ONLY",
        "state": "Lagos",
        "status": "ACTIVE | INACTIVE"
    }
}
```

{% endtab %}

{% tab title="400 Invalid company type Error" %}

```
{
    "statusCode": 400,
    "error": "Bad Request",
    "message": [
        {
            "target": {
                "rcNumber": 11000011,
                "type": "limited_co"
            },
            "value": "limited_co",
            "property": "type",
            "children": [],
            "constraints": {
                "matches": "Invalid company type. Refer to documentation for acceptable formats"
            }
        }
    ]
}
```

{% endtab %}

{% tab title="404 Company with provided CAC not found" %}

```
{
    "statusCode": 404,
    "error": "Not Found",
    "message": "Company with provided CAC details not found"
}
```

{% endtab %}
{% endtabs %}


# Drivers License

{% hint style="info" %}
Please note that when using your test key, Our test persona is **John Doe** and his Drivers License Number is **10000000001.** Hence all matching done with your test keys with details other than that of our Test Persona would simulate a failed identity matching.&#x20;
{% endhint %}

## Verify Drivers License

<mark style="color:green;">`POST`</mark> `https://vapi.verifyme.ng/v1/verifications/identities/drivers_license/:ref`

#### Path Parameters

| Name | Type   | Description            |
| ---- | ------ | ---------------------- |
| ref  | string | Drivers license number |

#### Headers

| Name          | Type   | Description         |
| ------------- | ------ | ------------------- |
| Authorization | string | Authorization token |

#### Request Body

| Name      | Type   | Description   |
| --------- | ------ | ------------- |
| dob       | string | date of birth |
| firstname | string | first name    |
| lastname  | string | last name     |

{% tabs %}
{% tab title="201 " %}

```
{
  "status": "success",
  "data": {
    "fieldMatches":{
      "firsname":false,
      "lastname":false,
      "dob":false
    },
    "licenseNo": "1000000001",
    "firstname": "John",
    "lastname": "Doe",
    "issuedDate": "09-09-1999",
    "expiryDate": "09-09-2099",
    "stateOfIssue": "LAGOS",
    "gender": "female"
    "birthdate": "04-04-1944",
    "photo": "Base64 Encoded",
  } 
}

```

{% endtab %}

{% tab title="404 " %}

```
{
    "code":"NOT_FOUND_ERROR",
    "message":"licence no provided is not found. Please provide a valid license no"
}
```

{% endtab %}
{% endtabs %}

#### Sample Request

{% tabs %}
{% tab title="Curl" %}

```
curl --location --request POST 'https://vapi.verifyme.ng/v1/verifications/identities/drivers_license/10000000001' \
--header 'Authorization: Bearer <your secret key>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "firstname":"John",
    "lastname":"Doe",
    "phone":"080000000000",
    "dob":"04-04-1944"
}'
```

{% endtab %}
{% endtabs %}


# Identity Biometrics

Identity Verifications with biometrics

{% hint style="warning" %}
The maximum image size we accept is **1MB**
{% endhint %}

## Verify Identity with biometrics

<mark style="color:green;">`POST`</mark> `https://vapi.verifyme.ng/v1/verifications/identities/biometrics`

This endpoint is to fetch identity details with the identity type, number and either one of photo\_url or photo field.\
\
PS: Either one of the photoUrl or photo has to be provided.

#### Headers

| Name          | Type   | Description         |
| ------------- | ------ | ------------------- |
| Authorization | string | Authorization token |

#### Request Body

| Name     | Type   | Description                         |
| -------- | ------ | ----------------------------------- |
| photoUrl | string | URL link to image file.             |
| photo    | object | **Form Data** image                 |
| idType   | string | Identity Type ( nin , frsc or bvn ) |
| idNumber | string | Identity Number                     |

{% tabs %}
{% tab title="200 " %}

```
{
    "status": "success",
    "data": {
        "bvn": "10000000001",
        "firstname": "John",
        "lastname": "Doe",
        "middlename": "Favor",
        "gender": "Male",
        "phone": "080000000001",
        "birthdate": "08-03-1992",
        "nationality": "Nigerian",
        "photo": "base64 image",
        "photoMatching": {
            "match": true,
            "matchScore": 99.899765,
            "matchingThreshold": 80,
            "maxScore": 100
        }
    }
}
```

{% endtab %}

{% tab title="404 Identity not found ( eg bvn )" %}

```
{
    "code":"NOT_FOUND_ERROR",
    "message":"BVN provided is not found. Please provide a valid bvn"
}
```

{% endtab %}
{% endtabs %}

#### Sample Request

{% tabs %}
{% tab title="Curl" %}

```
curl -i -X POST -H "Content-Type: multipart/form-data" 
-H "Authorization: Bearer <your_auth_token>"
-F “idNumber=10000000001”
-F “idType=nin”
-F “photo=@your_photo.jpg”
-F “photoUrl=<your_image.com>”
 https://vapi.verifyme.ng/verifications/identities/biometrics
```

{% endtab %}
{% endtabs %}


# BVN Identity Matching

BVN Identity Boolean matching

{% hint style="info" %}
Please note that when using your test key, Our test persona is **John Doe** and his BVN is **10000000001.** Hence all matching done with your test keys with details other than our Test Persona would simulate a failed identity matching.
{% endhint %}

#### John Doe's matching test&#x20;

```
ID_SAMPLE = {
    idNumber: '10000000001',
    firstname: 'John',
    lastname: 'Doe',
    dob: '04-04-1944',
    gender: 'male',
    email: 'johndoe@test.ng',
    phone: '+2348000000001'
}
```

{% tabs %}
{% tab title="JSON" %}

```
{
    "firstname": "JOHN",
    "lastname": "Doe",
    "phone": "+2348000000001",
    "dob": "04-04-1944",
    "gender": "female",
    "email": "johndoe@test.ng"
}
```

{% endtab %}

{% tab title="CURL" %}

```
curl --location --request POST 'https://vapi.verifyme.ng/v1/verifications/identities/bvn/10000000001/match' \
--header 'Authorization: Bearer {your secret key}' \
--header 'Content-Type: application/json' \
--data-raw '{
    "firstname": "JOHN",
    "lastname": "DOe",
    "phone": "+2348000000001",
    "dob": "04-04-1944",
    "gender": "female",
    "email": "johndoe@test.ng"
}
'
```

{% endtab %}
{% endtabs %}

## Identity Matching

<mark style="color:green;">`POST`</mark> `https://vapi.verifyme.ng/v1/verifications/identities/bvn/:ref/match`

Use this endpoint to match data supplied to bvn verified data

#### Path Parameters

| Name                                  | Type   | Description |
| ------------------------------------- | ------ | ----------- |
| ref<mark style="color:red;">\*</mark> | string | BVN number  |

#### Headers

| Name                                            | Type   | Description          |
| ----------------------------------------------- | ------ | -------------------- |
| Authorization<mark style="color:red;">\*</mark> | string | Authorization Header |

#### Request Body

| Name         | Type   | Description   |
| ------------ | ------ | ------------- |
| firstname    | string | First name    |
| emailAddress | string | Email address |
| phoneNumber  | String | Phone number  |
| dob          | String | Date of birth |
| lastname     | String | Last name     |
| gender       | String | Gender        |

{% tabs %}
{% tab title="201: Created Success response" %}

```
{
    "status": "success",
    "data": {
        "bvn": "10000000001",
        "fieldMatches": {
            "firstname": true,
            "lastname": true,
            "dob": true,
            "gender": false,
            "phoneNumber": true,
            "emailAddress": true
        }
    }
}
```

{% endtab %}

{% tab title="401: Unauthorized Unauthorized Error" %}

```
{
    "statusCode": 401,
    "error": "Unauthorized"
}
```

{% endtab %}

{% tab title="404: Not Found BVN not found" %}

```
{
    "code":"NOT_FOUND_ERROR",
    "message":"BVN provided is not found. Please provide a valid bvn"
}
```

{% endtab %}
{% endtabs %}


# Virtual NIN (vNIN)

vNIN is a tokenized version of a user's actual NIN implemented by NIMC. The virtual NIN allows third parties to verify a user's NIN details without putting the user's data at risk.

{% hint style="info" %}
Please note that when using your test key, Our test persona is **John Doe** and his vNIN is **JZ426633988976CH.** Hence all matching done with your test keys with details other than our Test Persona would simulate a failed identity matching.
{% endhint %}

{% hint style="success" %}
3\. Please note that the applicant needs to generate the virtual NIN by themselves on the NIMC mobile app in other to use this endpoint.&#x20;

They will need Verifyme's shortCode to generate the vNIN successfully, the short-code is **715461**
{% endhint %}

{% hint style="info" %}
**Generate vNIN via USSD** &#x20;

Dial \*346\* 3\* Your NIN\* AgentCode# \
An SMS message will be sent back to you containing the Virtual NIN generated for you.
{% endhint %}

{% hint style="info" %}

**Steps to generate vNIN through the NIMC app**&#x20;

1. Download the NIMC App
2. Click on "Get Virtual NIN"
3. Select "Input Enterprise short-code" and type 715461
4. Click "Submit" and your virtual NIN will be generated.
   {% endhint %}

#### John Doe's matching test&#x20;

```
ID_SAMPLE = {
    idNumber: 'JZ426633988976CH',
    firstname: 'John',
    lastname: 'Doe',
    dob: '04-04-1944',
    gender: 'male',
    phone: '+2348000000001'
}
```

{% tabs %}
{% tab title="JSON" %}

```
{
    "firstname": "JOHN",
    "lastname": "Doe"
}
```

{% endtab %}

{% tab title="CURL" %}

```


curl --location --request POST 'https://vapi.verifyme.ng/v1/verifications/identities/virtual-nin/JZ426633988976CH' \
--header 'Authorization: Bearer {your secret key}' \
--header 'Content-Type: application/json' \
--data-raw '{
    "firstname": "JOHN",
    "lastname": "DOe"
}
'
```

{% endtab %}
{% endtabs %}

## Virtual NIN

<mark style="color:green;">`POST`</mark> `https://vapi.verifyme.ng/v1/verifications/identities/virtual-nin/:vNin`

This endpoint is for verifying a customer's identity using their uniquely generated Virtual NIN (vNIN). The vNIN is generated from NIMC's mobile app and is tied to our Merchant ID.

#### Path Parameters

| Name                                   | Type   | Description |
| -------------------------------------- | ------ | ----------- |
| vNin<mark style="color:red;">\*</mark> | string | Virtual Nin |

#### Headers

| Name                                            | Type   | Description          |
| ----------------------------------------------- | ------ | -------------------- |
| Authorization<mark style="color:red;">\*</mark> | string | Authorization Header |

#### Request Body

| Name      | Type   | Description   |
| --------- | ------ | ------------- |
| firstname | string | First name    |
| phone     | String | Phone number  |
| dob       | String | Date of birth |
| lastname  | String | Last name     |
| gender    | String | Gender        |

{% tabs %}
{% tab title="201: Created Success response" %}

```
{
    "status": "success",
    "data": {
        id: 1,
        firstname: 'John',
        lastname: 'Doe'
        birthdate: idSample.dob,
        gender: 'M',
        phone: '2341234567890',
        vNin: 'JZ426633988976CH',
        photo: 'https://verifyme-assets.s3.eu-west-2.amazonaws.com/placeholder.png'
    }
}
```

{% endtab %}

{% tab title="401: Unauthorized Unauthorized Error" %}

```
{
    "statusCode": 401,
    "error": "Unauthorized"
}
```

{% endtab %}

{% tab title="404: Not Found vNIN not found" %}

```
{
    "code":"NOT_FOUND_ERROR",
    "message":"vNin provided is not found. Please provide a valid vNIN"
}
```

{% endtab %}
{% endtabs %}


# National Identification Number(NIN)

{% hint style="info" %}
Please note that when using your test key, Our test persona is **John Doe** and his National Identity Number is **10000000001.** Hence all matching done with your test keys with details other than our Test Persona would simulate a failed identity matching.&#x20;
{% endhint %}

## Verify National Identity Number

<mark style="color:green;">`POST`</mark> `https://vapi.verifyme.ng/v1/verifications/identities/nin/:ref`

Use this endpoint to verify the identity of a person using their national identity number issued by NIMC.

#### Path Parameters

| Name | Type   | Description |
| ---- | ------ | ----------- |
| ref  | string | NIN number  |

#### Headers

| Name          | Type   | Description         |
| ------------- | ------ | ------------------- |
| Authorization | string | Authorization token |

#### Request Body

| Name      | Type   | Description   |
| --------- | ------ | ------------- |
| dob       | string | Date of Birth |
| firstname | string | first name    |
| lastname  | string | last name     |

{% tabs %}
{% tab title="201 " %}

```
{
  "status": "success",
  "data": {
    "fieldMatches":{
      "firsname":false,
      "lastname":false,
      "dob":false
    },
    "nin": 1000000001,
    "firstname": "John",
    "lastname": "Doe",
    "middlename": "Jane"
    "phone": "08066676673",
    "gender": "female"
    "birthdate": "04-04-1944",
    "photo": "Base64 Encoded"
  } 
}

```

{% endtab %}

{% tab title="404 " %}

```
{
    "code":"NOT_FOUND_ERROR",
    "message":"NIN provided is not found. Please provide a valid nin"
}
```

{% endtab %}
{% endtabs %}

#### Sample Request

{% tabs %}
{% tab title="Curl" %}

```
curl --location --request POST 'https://vapi.verifyme.ng/v1/verifications/identities/nin/10000000001' \
--header 'Authorization: Bearer <your secret key>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "firstname":"John",
    "lastname":"Doe",
    "dob":"04-04-1944"
}'
```

{% endtab %}
{% endtabs %}

## Verify National ID with Registered Phone Number

<mark style="color:green;">`POST`</mark> `https://vapi.verifyme.ng/v1/verifications/identities/nin_phone/:ref`

Use this endpoint to verify the identity of a person using the phone number used in registering the national Identity with NIMC.<br>

#### Path Parameters

| Name | Type   | Description                                |
| ---- | ------ | ------------------------------------------ |
| ref  | string | NIMC Registered Phone number eg 0800000000 |

#### Headers

| Name          | Type   | Description         |
| ------------- | ------ | ------------------- |
| Authorization | string | Authorization token |

#### Request Body

| Name      | Type   | Description   |
| --------- | ------ | ------------- |
| dob       | string | Date of Birth |
| firstname | string | first name    |
| lastname  | string | last name     |

{% tabs %}
{% tab title="200 " %}

```
{
  "status": "success",
  "data": {
    "fieldMatches":{
      "firsname":false,
      "lastname":false,
      "dob":false
    },
    "nin": 1000000001,
    "firstname": "John",
    "lastname": "Doe",
    "middlename": "Jane"
    "phone": "08066676673",
    "gender": "female"
    "birthdate": "17/01/1988",
    "photo": "Base64 Encoded"
  } 
}

```

{% endtab %}

{% tab title="404 " %}

```
{
    "code":"NOT_FOUND_ERROR",
    "message":"NIN provided is not found. Please provide a valid nin"
}
```

{% endtab %}
{% endtabs %}

#### Sample Response

{% tabs %}
{% tab title="Curl" %}

```
{
   "status": "success",
    "data": {
        "nin": "22515263226",
        "firstname": "JOHN",
        "lastname": "DOE",
        "middlename": "JAMES",
        "birthdate": "31-05-2000",
        "gender": "Male",
        "phone": "08100000000",
        "photo": "<base64 image>",
        }
    }
}
```

{% endtab %}
{% endtabs %}


# Tax Identification Number

Tax Identification Number (TIN) verification

{% hint style="info" %}
Please note that when using your test key, Our test company persona is **John Doe** and the corporate Tax Identification Number is 00000000-000&#x30;**.**
{% endhint %}

## Verify TIN

<mark style="color:blue;">`GET`</mark> `https://vapi.verifyme.ng/v1/verifications/identities/tin/:ref`

#### Headers

| Name          | Type   | Description                         |
| ------------- | ------ | ----------------------------------- |
| Authorization | string | Authorization Header - Bearer Token |

{% tabs %}
{% tab title="200 " %}

```
{
    "status": "success",
    "data": {
        "tin": "00000000-0000",
        "taxpayerName": "John Doe",
        "cacRegNo": "RC18*****",
        "entityType": "00000000-0000",
        "jittin": "",
        "taxOffice": "Tax Office Address",
        "phone": "090********",
        "email": "johndoe@gmail.com"
    }
}
```

{% endtab %}

{% tab title="400 Invalid TIN format" %}

```
{
    "statusCode": 400,
    "error": "Bad Request",
    "message": "Invalid TIN Format. Valid Tin format => XXXXXXXX-XXXX"
}
```

{% endtab %}

{% tab title="404 TIN not found" %}

```
{
    "statusCode": 404,
    "error": "Not Found",
    "message": "Company with provided TIN details not found"
}
```

{% endtab %}
{% endtabs %}


# Voters Card

## Fetch Voters Card details

<mark style="color:green;">`POST`</mark> `https://vapi.verifyme.ng/v1/verifications/identities/vin/:ref`

This endpoint allows you to get voters card details.

#### Path Parameters

| Name | Type   | Description        |
| ---- | ------ | ------------------ |
| ref  | string | Voters card number |

#### Headers

| Name           | Type   | Description         |
| -------------- | ------ | ------------------- |
| Authentication | string | Authorization token |

#### Request Body

| Name      | Type   | Description                  |
| --------- | ------ | ---------------------------- |
| dob       | string | date of birth ( YYYY-MM-DD ) |
| lastname  | string | lastname on voters card      |
| firstname | string | firstname on voters card     |

{% tabs %}
{% tab title="201 " %}

```
{
    "status": "success",
    "data": {
        "fullname": "DOE JOHN",
        "vin": "90A5AB0797293845330",
        "gender": "male",
        "occupation": "STUDENT",
        "pollingUnitCode": "24/08/02/015",
        "firstName": "JOHN",
        "lastName": "DOE"
    }
}
```

{% endtab %}

{% tab title="404 " %}

```
{
    "statusCode": 404,
    "error": "Not Found",
    "message": "Voters Details not found"
}
```

{% endtab %}
{% endtabs %}


# Submit Address Verification

{% hint style="warning" %}
Please note that you are required to have a webhook set for address verification requests to be successful. If they are not set, you will not get notified when the verification has been completed.
{% endhint %}

## Submit Address for Verification

<mark style="color:green;">`POST`</mark> `https://vapi.verifyme.ng/v1/verifications/addresses`

This endpoint allows you to create address verifications

#### Headers

| Name           | Type   | Description          |
| -------------- | ------ | -------------------- |
| Authentication | string | Authentication Token |

#### Request Body

| Name                | Type   | Description                                                 |
| ------------------- | ------ | ----------------------------------------------------------- |
| reference           | string | Unique reference for identifying request                    |
| city                | string | city name                                                   |
| lga                 | string | Local government area                                       |
| landmark            | string | Address landmark                                            |
| state               | string | State name                                                  |
| street              | string | Street Name e.g "270 Murtala Muhammed Way, Alagomeji. Yaba" |
| applicant.firstname | string | Applicants first name                                       |
| applicant.lastname  | string | Applicants last name                                        |
| applicant.dob       | string | Applicants date of birth                                    |
| applicants.phone    | string | Applicants phone No                                         |
| applicant.idType    | string | Applicants Id type ( "BVN", "NIN", "KYC" )                  |
| applicant.idNumber  | string | Applicants Identity Number ("BVN", "NIN" , "Phone No")      |

{% tabs %}
{% tab title="201 Address verification created." %}

```
{
"status": "success",
"data": {
    id: 1,
    applicant: {
        firstname: "John",
        lastname: "Doe",
        phone:"08000000000",
        idType: "bvn",
        idNumber: "10000000001",
        middlename: "Cameron',
        photo: "https://images.verifyme.ng/278783775/fjjjjler7834.jpg",
        gender: "Male",
        birthdate: '17/01/1988',
    },
    createdAt: "",
    completedAt: "",
    lattitude: "9.081999",
    longitude: "8.675277",
    photos: ["https://picsum.photos/id/768/200/300.jpg", "https://picsum.photos/id/768/200/300.jpg"],
    neighbor: {
        name: "Tunde Adetunji",
        comment: "Very friendly",
        phone: "080900000000",
    },
    status: {
        status: "In Progress",
        subStatus: "In Progress",
        state: "In Progress",
    },
    city: "oshodi",
    street: "270 Murtala Muhammed Way, Alagomeji. Yaba",
    lga: "lagos mainland",
    state: "Lagos",
    country: "Nigeria",
    reference: "VMN_asksdjsjd"
}
```

{% endtab %}

{% tab title="401 Unauthorized" %}

```
{
    "status": "error",
    "message": "string",
    "code": "ACCESS_DENIED"
}
```

{% endtab %}
{% endtabs %}

#### Sample Request

{% tabs %}
{% tab title="JSON" %}

```
{
    "street": "270 Murtala Muhammed Way, Alagomeji. Yaba",
    "lga": "surulere",
    "state": "lagos",
    "landmark": "Beside GTbank",
    "applicant": {
        "idType": "NIN",
        "idNumber": "10000000001",
        "firstname": "john",
        "lastname": "doe",
        "phone": "08121234567",
        "dob":"04-04-1944"
    }
}
```

{% endtab %}

{% tab title="CURL" %}

```
curl --verbose  
--header "Authorization: Bearer <token>"
--data '{"street": "270 Murtala Muhammed Way, Alagomeji. Yaba", "lga": "sululere", "city": "lagos","landmark": "Beside GTbank","applicant": {    "idType": "NIN",    "idNumber": "10000000001",    "firstname": "john",    "lastname": "doe",    "phone": "08121234567",    "dob":"04-04-1944"}}' 
--request "POST" "https://vapi.verifyme.ng/v1/verifications/addresses"
```

{% endtab %}
{% endtabs %}


# Get Address Verification By ID

## Get Address By ID&#x20;

<mark style="color:blue;">`GET`</mark> `https://vapi.verifyme.ng/v1/verifications/addresses/:id`

#### Path Parameters

| Name | Type   | Description              |
| ---- | ------ | ------------------------ |
| id   | string | Address Verification ID. |

#### Headers

| Name           | Type   | Description         |
| -------------- | ------ | ------------------- |
| Authentication | string | Authorization Token |

{% tabs %}
{% tab title="200 Address response " %}

```
{
"status": "success",
"data": {
    id: 1,
    applicant: {
        firstname: "John",
        lastname: "Doe",
        phone:"08000000000",
        idType: "bvn",
        idNumber: "10000000001",
        middlename: "Cameron',
        photo: "https://images.verifyme.ng/278783775/fjjjjler7834.jpg",
        gender: "Male",
        birthdate: '17/01/1988',
    },
    createdAt: "",
    completedAt: "",
    lattitude: "9.081999",
    longitude: "8.675277",
    photos: ["https://picsum.photos/id/768/200/300.jpg", "https://picsum.photos/id/768/200/300.jpg"],
    neighbor: {
        name: "Tunde Adetunji",
        comment: "Very friendly",
        phone: "080900000000",
    },
    status: {
        status: "In Progress",
        subStatus: "In Progress",
        state: "In Progress",
    },
    city: "oshodi",
    street: "270 Murtala Muhammed Way, Alagomeji. Yaba",
    lga: "oshodi",
    state: "Lagos",
    country: "Nigeria",
    reference: "VMN_adskdksj"
    }
}
```

{% endtab %}

{% tab title="401 Unauthorized" %}

```
{
    "status": "error",
    "message": "string",
    "code": "ACCESS_DENIED"
}
```

{% endtab %}

{% tab title="404 Address Not foud" %}

```
{
    "status": "error",
    "message": "Not Found",
    "code": "NOT_FOUND_ERROR"
}
```

{% endtab %}
{% endtabs %}

{% tabs %}
{% tab title="Curl" %}

```
curl --verbose  --header "Authorization: Bearer <token>" 
--request "GET" "https://vapi.verifyme.ng/v1/verifications/addresses/<id>"
```

{% endtab %}
{% endtabs %}


# Get Address Verifications

## Get Address Verifications

<mark style="color:blue;">`GET`</mark> `https://vapi.verifyme.ng/v1/verifications/addresses`

This endpoint allows you to get all address verifications.

#### Query Parameters

| Name   | Type   | Description                              |
| ------ | ------ | ---------------------------------------- |
| limit  | number | Number of verifications to fetch at once |
| offset | number | Number of verifications to skip per call |

#### Headers

| Name           | Type   | Description         |
| -------------- | ------ | ------------------- |
| Authentication | string | Authorization Token |

{% tabs %}
{% tab title="200 Successfully fetched Address verifications" %}

```
{
"status": "success",
"_pagination": {
    "limit": 0,
    "offset": 0,
    "total": 1
},
"data": [
    {
        id: 1,
        applicant: {
            firstname: "John",
            lastname: "Doe",
            phone:"08000000000",
            idType: "bvn",
            idNumber: "10000000001",
            middlename: "Cameron',
            photo: "https://images.verifyme.ng/278783775/fjjjjler7834.jpg",
            gender: "Male",
            birthdate: '17/01/1988',
        },
        createdAt: "",
        completedAt: "",
        lattitude: "9.081999",
        longitude: "8.675277",
        photos: ["https://picsum.photos/id/768/200/300.jpg", "https://picsum.photos/id/768/200/300.jpg"],
        neighbor: {
            name: "Tunde Adetunji",
            comment: "Very friendly",
            phone: "080900000000",
        },
        status: {
            status: "In Progress",
            subStatus: "In Progress",
            state: "In Progress",
        },
        city: "oshodi",
        street: "270 Murtala Muhammed Way, Alagomeji. Yaba",
        lga: "oshodi",
        state: "Lagos",
        country: "Nigeria",
        reference: "VMN_sdskdskd"
    }
]
}
```

{% endtab %}

{% tab title="500 Internal server error" %}

```
{
    "status": "error",
    "message": "string",
    "code": "INTERNAL_SERVER_ERROR"
}
```

{% endtab %}
{% endtabs %}

{% tabs %}
{% tab title="Curl" %}

```
curl --verbose  
    --header "Authorization: Bearer <token>" 
    --request "GET" "https://vapi.verifyme.ng/v1/verifications/addresses?limit=10&offset=0"
```

{% endtab %}
{% endtabs %}


# Cancel Address Verification

## Get Cancel Address Verification

<mark style="color:red;">`DELETE`</mark> `https://vapi.verifyme.ng/v1/verifications/addresses/:id`

An Endpoint to cancel an address Verification

#### Path Parameters

| Name | Type   | Description             |
| ---- | ------ | ----------------------- |
| id   | string | Address Verification ID |

#### Headers

| Name           | Type   | Description         |
| -------------- | ------ | ------------------- |
| Authentication | string | Authorization Token |

{% tabs %}
{% tab title="200 Guarantor canceled successfully" %}

```
{
    "status": "success",
    "data": "ok"
}
```

{% endtab %}

{% tab title="404 Guarantor Not Found." %}

```
{
    "status": "error",
    "message": "Not Found",
    "code": "NOT_FOUND_ERROR"
}
```

{% endtab %}
{% endtabs %}

{% tabs %}
{% tab title="Curl" %}

```
curl --verbose  
    --header "Authorization: Bearer <token>" 
    --request "DELETE" "https://vapi.verifyme.ng/v1/verifications/addresses/<id>"
```

{% endtab %}
{% endtabs %}


# Fetch an Address By Identity

## Fetch a verified address for an Identity

<mark style="color:green;">`POST`</mark> `https://vapi.verifyme.ng/v1/verifications/addresses/marketplace`

This endpoint returns a verified address for a given identity within a specified period.

#### Request Body

| Name          | Type   | Description                                                                                                                 |
| ------------- | ------ | --------------------------------------------------------------------------------------------------------------------------- |
| maxAddressAge | string | <p>minimum  time range (in months)  that <br>the address must've been verified eg "6M" for 6 months , "2M" for 2 months</p> |
| lastname      | string | Lastname                                                                                                                    |
| firstname     | string | Firstname                                                                                                                   |
| idNumber      | string | Identity Number                                                                                                             |
| idType        | string | Identity Type ( FRSC or NIN )                                                                                               |

{% tabs %}
{% tab title="200 " %}

```
{
"status": "success",
"data": {
    id: 1,
    applicant: {
        firstname: "John",
        lastname: "Doe",
        phone:"08000000000",
        idType: "bvn",
        idNumber: "10000000001",
        middlename: "Cameron',
        photo: "https://images.verifyme.ng/278783775/fjjjjler7834.jpg",
        gender: "Male",
        birthdate: '17/01/1988',
    },
    createdAt: "",
    completedAt: "",
    lattitude: "9.081999",
    longitude: "8.675277",
    photos: ["https://picsum.photos/id/768/200/300.jpg", "https://picsum.photos/id/768/200/300.jpg"],
    neighbor: {
        name: "Tunde Adetunji",
        comment: "Very friendly",
        phone: "080900000000",
    },
    status: {
        status: "Verified",
        subStatus: "verified",
        state: "complete",
    },
    city: "oshodi",
    street: "270 Murtala Muhammed Way, Alagomeji. Yaba",
    lga: "oshodi",
    state: "Lagos",
    country: "Nigeria"
    }
}
```

{% endtab %}

{% tab title="404 " %}

```
{
    "status": "error",
    "message": "Address Not Found",
    "code": "NOT_FOUND_ERROR"
}
```

{% endtab %}
{% endtabs %}


# Submit Business Verification

{% hint style="warning" %}
Please note that you are required to have a webhook set for business verification requests to be successful. If they are not set, you will not get notified when the verification has been completed.
{% endhint %}

## Submit Business Address for Verification

<mark style="color:green;">`POST`</mark> `https://vapi.verifyme.ng/v1/verifications/businesses`

This endpoint allows you to create business verification requests

#### Headers

| Name           | Type   | Description          |
| -------------- | ------ | -------------------- |
| Authentication | string | Authentication Token |

#### Request Body

| Name                | Type    | Description                                                           |
| ------------------- | ------- | --------------------------------------------------------------------- |
| applicant.dob       | string  | <p>Contact Person Date of Birth.<br>Date Format: "DD-MM-YYYY"</p>     |
| reference           | string  | unique identifier for requests                                        |
| canContactPoc       | boolean | Can We Reach Out To Contact Person                                    |
| applicant.firstname | string  | Contact Person First name                                             |
| applicant.lastname  | string  | Contact Person Last name                                              |
| applicant.email     | string  | Contact Person Email or Business Official Email                       |
| applicants.phone    | string  | Contact Person Phone No or Business contact line                      |
| applicant.idType    | string  | Contact Person Id Type ("BVN", "NIN", "KYC PHONE", "DRIVERS LICENCE") |
| applicant.idNumber  | string  | Contact Person Identity Number ("NIN", "BVN", "PHONE NO")             |
| city                | string  | city name                                                             |
| state               | string  | state name                                                            |
| lga                 | string  | Local Government Area                                                 |
| street              | string  | Street Name e.g 270, Muritala Mohammed Way, Alagomeji Yaba.           |
| rcNumber            | string  | Registration Number                                                   |
| type                | string  | Business Type(Formal , Informal)                                      |
| name                | string  | registered business name                                              |

{% tabs %}
{% tab title="200 " %}

```
{
"status": "success",
"data": {
    id: 1,
    applicant: {
        firstname: "John",
        lastname: "Doe",
        phone:"08000000000",
        idType: "bvn",
        idNumber: "10000000001",
        middlename: "Cameron',
        photo: "https://images.verifyme.ng/278783775/fjjjjler7834.jpg",
        gender: "Male",
        birthdate: '17/01/1988',
    },
    business: {
        name: "Ade & Sons Global World",
        type: "Formal",
        rcNumber:"123453",
        isBusinessKnown : true,
        isBusinessOwnerKnown : true
        ownerVisitsFrequently : false
    },
    canContactPoc: "false",
    createdAt: "",
    completedAt: "",
    lattitude: "9.081999",
    longitude: "8.675277",
    photos: ["https://picsum.photos/id/768/200/300.jpg", "https://picsum.photos/id/768/200/300.jpg"],
    status: {
        status: "In Progress",
        subStatus: "In Progress",
        state: "In Progress",
    },
    city: "oshodi",
    street: "270 Murtala Muhammed Way, Alagomeji. Yaba",
    lga: "lagos mainland",
    state: "Lagos",
    country: "Nigeria",
    reference: "VMN_dsmdms"
}
```

{% endtab %}

{% tab title="401 Unauthorised " %}

```
{
    "status": "error",
    "message": "string",
    "code": "ACCESS_DENIED"
}
```

{% endtab %}
{% endtabs %}

#### Sample Request

{% tabs %}
{% tab title="JSON" %}

```
{
    "businessName": "Ade & Sons Global World",
    "businessType": "Formal",
    "rcNumber":"ad123453",
    "street": "270 Murtala Muhammed Way, Alagomeji. Yaba",
    "lga": "surulere",
    "state": "lagos",
    "canContactPoc": "false",
    "applicant": {
        "idType": "NIN",
        "idNumber": "10000000001",
        "firstname": "john",
        "lastname": "doe",
        "phone": "08121234567",
        "email":"doe@ymail.com"
    }
}
```

{% endtab %}

{% tab title="CURL" %}

```
curl --verbose  
--header "Authorization: Bearer <token>"
--data '{ "businessName": "Ade & Sons Global World","businessType": "Formal","rcNumber":"ad123453","street": "270 Murtala Muhammed Way, Alagomeji. Yaba", "lga": "sululere", "state" :"lagos", "city": "lagos","canContactPoc": "false","applicant": {    "idType": "NIN",    "idNumber": "10000000001",    "firstname": "john",    "lastname": "doe",    "phone": "08121234567",    "dob":"04-04-1944"}}' 
--request "POST" "https://vapi.verifyme.ng/v1/verifications/addresses"
```

{% endtab %}
{% endtabs %}


# Get Business Verification By ID

## Get Business By ID&#x20;

<mark style="color:blue;">`GET`</mark> `https://vapi.verifyme.ng/v1/verifications/businesses/:id`

Fetch A business verification detail by ID

#### Path Parameters

| Name | Type   | Description               |
| ---- | ------ | ------------------------- |
| id   | string | Business Verification ID. |

#### Headers

| Name           | Type   | Description         |
| -------------- | ------ | ------------------- |
| Authentication | string | Authorization Token |

{% tabs %}
{% tab title="200 " %}

```
{
"status": "success",
"data": {
    id: 1,
    applicant: {
        firstname: "John",
        lastname: "Doe",
        phone:"08000000000",
        idType: "bvn",
        idNumber: "10000000001",
        middlename: "Cameron',
        photo: "https://images.verifyme.ng/278783775/fjjjjler7834.jpg",
        gender: "Male",
        birthdate: '17/01/1988',
    },
    business: {
        name: "Ade & Sons Global World",
        type: "Formal",
        rcNumber:"123453",
        isBusinessKnown : true,
        isBusinessOwnerKnown : true
        ownerVisitsFrequently : false
    },
    canContactPoc: "false",
    isCorrectBusinessName: "false",
    businessNameFound: "Ade & Sons International Limited",
    businessArea: "commecial",
    businessPhotos: ["https://picsum.photos/id/768/200/300.jpg", "https://picsum.photos/id/768/200/300.jpg","https://picsum.photos/id/768/200/300.jpg"],
    createdAt: "",
    completedAt: "",
    lattitude: "9.081999",
    longitude: "8.675277",
    status: {
        status: "In Progress",
        subStatus: "In Progress",
        state: "In Progress",
    },
    city: "oshodi",
    street: "270 Murtala Muhammed Way, Alagomeji. Yaba",
    lga: "lagos mainland",
    state: "Lagos",
    country: "Nigeria",
    reference: "VMN_ajsdskeis"
}
```

{% endtab %}
{% endtabs %}

{% tabs %}
{% tab title="CURL" %}

```
curl --verbose  --header "Authorization: Bearer <token>" 
--request "GET" "https://vapi.verifyme.ng/v1/verifications/business/<id>"

```

{% endtab %}
{% endtabs %}


# Get Business Verifications

## Get Business Verifications

<mark style="color:blue;">`GET`</mark> `https://vapi.verifyme.ng/v1/verifications/businesses`&#x20;

This endpoint allows you to get all business verifications.

#### Query Parameters

| Name  | Type   | Description                              |
| ----- | ------ | ---------------------------------------- |
|       | number | Number of verifications to ski           |
| limit | number | Number of verifications to fetch at once |

#### Headers

| Name           | Type   | Description |
| -------------- | ------ | ----------- |
| Authentication | string |             |

{% tabs %}
{% tab title="200 " %}

```
{
"status": "success",
"_pagination": {
    "limit": 0,
    "offset": 0,
    "total": 2
},
"data": [
    {
    id: 1,
    applicant: {
        firstname: "John",
        lastname: "Doe",
        phone:"08000000000",
        idType: "bvn",
        idNumber: "10000000001",
        middlename: "Cameron',
        photo: "https://images.verifyme.ng/278783775/fjjjjler7834.jpg",
        gender: "Male",
        birthdate: '17/01/1988',
    },
    business: {
        name: "Ade & Sons Global World",
        type: "Formal",
        rcNumber:"123453",
        isBusinessKnown : true,
        isBusinessOwnerKnown : true
        ownerVisitsFrequently : false
    },
    canContactPoc: "false",
    isCorrectBusinessName: "false",
    businessNameFound: "Ade & Sons International Limited",
    businessArea: "commecial",
    businessPhotos: ["https://picsum.photos/id/768/200/300.jpg", "https://picsum.photos/id/768/200/300.jpg","https://picsum.photos/id/768/200/300.jpg"],
    createdAt: "",
    completedAt: "",
    lattitude: "9.081999",
    longitude: "8.675277",
    status: {
        status: "In Progress",
        subStatus: "In Progress",
        state: "In Progress",
    },
    city: "oshodi",
    street: "270 Murtala Muhammed Way, Alagomeji. Yaba",
    lga: "lagos mainland",
    state: "Lagos",
    country: "Nigeria",
    }
    
    {
    id: 2,
    applicant: {
        firstname: "Janet",
        lastname: "Does",
        phone:"08000000000",
        idType: "bvn",
        idNumber: "10000000001",
        middlename: "Cameron',
        photo: "https://images.verifyme.ng/278783775/fjjjjler7834.jpg",
        gender: "Female",
        birthdate: '18/01/1988',
    },
    business: {
        name: "Adant Global Limited",
        type: "Informal",
        rcNumber:"123453",
    },
    canContactPoc: "true",
    isCorrectBusinessName: "true",
    businessArea: "residential",
    businessPhotos: ["https://picsum.photos/id/768/200/300.jpg", "https://picsum.photos/id/768/200/300.jpg","https://picsum.photos/id/768/200/300.jpg"],
    createdAt: "",
    completedAt: "",
    lattitude: "9.081999",
    longitude: "8.675277",
    status: {
        status: "In Progress",
        subStatus: "In Progress",
        state: "In Progress",
    },
    city: "oshodi",
    street: "270 Murtala Muhammed Way, Alagomeji. Yaba",
    lga: "lagos mainland",
    state: "Lagos",
    country: "Nigeria",
    reference: "VMN_djfskfjw"
    }
]
}

```

{% endtab %}

{% tab title="500 Internal Server Error" %}

```
{
    "status": "error",
    "message": "string",
    "code": "INTERNAL_SERVER_ERROR"
}
```

{% endtab %}
{% endtabs %}

{% tabs %}
{% tab title="CURL" %}

```
curl --verbose  
    --header "Authorization: Bearer <token>" 
    --request "GET" "https://vapi.verifyme.ng/v1/verifications/businesses?limit=10&offset=0"
```

{% endtab %}
{% endtabs %}


# Cancel Business Verification

## Cancel Business Verification

<mark style="color:red;">`DELETE`</mark> `https://vapi.verifyme.ng/v1/verifications/businesses/:id`

An Endpoint to cancel an address Verification

#### Path Parameters

| Name | Type   | Description              |
| ---- | ------ | ------------------------ |
| id   | string | Business Verification ID |

#### Headers

| Name           | Type   | Description         |
| -------------- | ------ | ------------------- |
| Authentication | string | Authorization Token |

{% tabs %}
{% tab title="200 Business Verification canceled successfully" %}

```
{
    "status": "success",
    "data": "ok"
}
```

{% endtab %}

{% tab title="404 Business Verification Request Not Found." %}

```
{
    "status": "error",
    "message": "Not Found",
    "code": "NOT_FOUND_ERROR"
}
```

{% endtab %}
{% endtabs %}

{% tabs %}
{% tab title="Curl" %}

```
curl --verbose  
    --header "Authorization: Bearer <token>" 
    --request "DELETE" "https://vapi.verifyme.ng/v1/verifications/business/<id>"
```

{% endtab %}
{% endtabs %}


# Submit Guarantor Verification

{% hint style="warning" %}
Please note that you are required to have a webhook set for guarantor verification requests to be successful. If they are not set, you will not get notified when the verification has been completed.
{% endhint %}

## Submit Guarantor for Verification

<mark style="color:green;">`POST`</mark> `https://vapi.verifyme.ng/v1/verifications/guarantors`

This endpoint allows you to create guarantor verifications

#### Headers

| Name           | Type   | Description          |
| -------------- | ------ | -------------------- |
| Authentication | string | Authentication Token |

#### Request Body

| Name                | Type    | Description                                                                                 |
| ------------------- | ------- | ------------------------------------------------------------------------------------------- |
| state               | string  | State name                                                                                  |
| street              | string  | Street address                                                                              |
| landmark            | string  | Guarantors Address landmark                                                                 |
| acceptableIdType    | array   | <p>An Array of IDs to accept from the guarantor<br>( "BVN", "NIN" or "Drivers license")</p> |
| verifyAddress       | boolean | should verify Guarantors address (defaults to false )                                       |
| lga                 | string  | Local Government Area                                                                       |
| email               | string  | Guarantor Email                                                                             |
| phone               | string  | Guarantor Phone                                                                             |
| lastname            | string  | Guarantor lastname                                                                          |
| firstname           | string  | Guarantor firstname                                                                         |
| applicant.firstname | string  | Applicants first name                                                                       |
| applicant.lastname  | string  | Applicants last name                                                                        |
| applicant.dob       | string  | Applicants date of birth ( DD-MM-YYYY )                                                     |
| applicants.phone    | string  | Applicants phone number                                                                     |
| applicant.idType    | string  | Applicants Id type ( "BVN" ,"NIN", "KYC" )                                                  |
| applicant.idNumber  | string  | Applicants Identity Number ("BVN", "NIN", "Phone No")                                       |

{% tabs %}
{% tab title="201 Guarantor verification created." %}

```
{
  "status":"success",
  "data": {
  "id": 3456
  "applicant": {
    "idType": "NIN", 
    "idNumber": "8989999988443", 
    "firstname": "John",
    "middlename": "Jane", 
    "lastname": "Doe",
    "phone": "08060000001", 
    "gender": "female" 
    "birthdate": "17-01-1988", 
    "photo":"Base64 Encoded", 
  },
  "firstname": "Moses",
  "lastname": "Mavin",
  "phone": "080000000000",
  "email": "Moses.mavin@gmail.com",
  "acceptableIdType": ["NIN", "BVN", "FRSC", "VIN", "PN"],
  "address": {
    "formattedAddress": "23, John Boomg Street, Osogbo, Osun State, Nigeria",
    "state":"Osun",
    "lga": "Olorunda",
    "street": "23, John Boomg Street",
    "city": "Osogbo",
    "country": "Nigeria",
  }
  "verifyAddress": false,
  "status": {
    "status": "IN_PROGRESS", 
    "subStatus": "IN_PROGRESS", 
    "state": "IN_PROGRESS"
  },
  "createdAt": "2020-02-05T10:24:12.000",
}
```

{% endtab %}

{% tab title="401 Unauthorized" %}

```
{
    "status": "error",
    "message": "string",
    "code": "ACCESS_DENIED"
}
```

{% endtab %}
{% endtabs %}

#### Sample Request

{% tabs %}
{% tab title="JSON" %}

```
{
    "applicant": {
        "idType": "NIN",
        "idNumber": "10000000001",
        "firstname": "john",
        "lastname": "doe",
        "dob":"04-04-1944",
        "phone": "08121234567"
    },
    "firstname": "James",
    "lastname": "Ademola",
    "phone": "0800000000",
    "email": "james@Ademola.com",
    "street": "23, John Boomg Street",
    "lga": "olorunda",
    "landmark": "luke telecommunication",
    "acceptableIdType": [
        "BVN"
    ],
    "verifyAddress": true
}
```

{% endtab %}

{% tab title="CURL" %}

```
curl --verbose  
--header "Authorization: Bearer <token>"
--data '{    "applicant": {        "idType": "NIN",        "idNumber": "10000000001",        "firstname": "john",        "lastname": "doe",        "dob":"04-04-1944",        "phone": "08121234567"    },    "firstname": "James",    "lastname": "Ademola",    "phone": "0800000000",    "email": "james@Ademola.com",    "street": "23, John Boomg Street",    "lga": "olorunda",    "landmark": "luke telecommunication",    "acceptableIdTypes": [        "BVN"    ],    "verifyAddress": true}' 
--request "POST" "https://vapi.verifyme.ng/v1/verifications/guarantor"
```

{% endtab %}
{% endtabs %}


# Get Guarantor Verifications

## Get Guarantor Verifications

<mark style="color:blue;">`GET`</mark> `https://vapi.verifyme.ng/v1/verifications/guarantors`

This endpoint allows you to get all guarantor verifications.

#### Query Parameters

| Name   | Type   | Description                              |
| ------ | ------ | ---------------------------------------- |
| limit  | number | Number of verifications to fetch at once |
| offset | number | Number of verifications to skip per call |

#### Headers

| Name           | Type   | Description         |
| -------------- | ------ | ------------------- |
| Authentication | string | Authorization Token |

{% tabs %}
{% tab title="200 Successfully fetched Guarantor verifications" %}

```
{
"status": "success",
"_pagination": {
    "limit": 0,
    "offset": 0,
    "total": 1
    },
"data": [
    {
    "id": 3456
    "applicant": {
      "idType": "NIN", 
      "idNumber": "8989999988443", 
      "firstname": "John",
       "middlename": "Jane", 
       "lastname": "Doe",
      "phone": "08060000001", 
      "gender": "female", 
      "birthdate": "17-01-1988", 
      "photo":"Base64 Encoded",
    },
    "firstname": "Moses",
    "lastname": "Mavin",
    "phone": "080000000000",
    "email": "Moses.mavin@gmail.com",
    "acceptableIdType": ["NIN", "BVN", "FRSC", "VIN", "PN"],
    "address": {
      "formattedAddress": "23, John Boomg Street, Osogbo, Osun State, Nigeria",
      "state":"Osun",
      "lga": "Olorunda",
      "street": "23, John Boomg Street",
      "city": "Osogbo",
      "country": "Nigeria",
    }
    "verifyAddress": false,
    "status": {
      "status": "IN_PROGRESS", 
      "subStatus": "IN_PROGRESS", 
      "state": "IN_PROGRESS"
    },
    "createdAt": "2020-02-05T10:24:12.000",
  }
]
}
```

{% endtab %}

{% tab title="500 Internal server error" %}

```
{
    "status": "error",
    "message": "string",
    "code": "INTERNAL_SERVER_ERROR"
}
```

{% endtab %}
{% endtabs %}

{% tabs %}
{% tab title="Curl" %}

```
curl --verbose  
    --header "Authorization: Bearer <token>" 
    --request "GET" "https://vapi.verifyme.ng/v1/verifications/guarantor?limit=10&offset=0"
```

{% endtab %}
{% endtabs %}


# Get Guarantor Verification By ID

## Get Guarantor Verification By ID&#x20;

<mark style="color:blue;">`GET`</mark> `https://vapi.verifyme.ng/v1/verifications/guarantors/:id`

This endpoint allows you to fetch specific guarantor verifications

#### Path Parameters

| Name | Type   | Description              |
| ---- | ------ | ------------------------ |
| id   | string | Address Verification ID. |

#### Headers

| Name           | Type   | Description         |
| -------------- | ------ | ------------------- |
| Authentication | string | Authorization Token |

{% tabs %}
{% tab title="200 Address response " %}

```
{
  "status":"success",
  "data": {
  "id": 3456
  "applicant": {
    "idType": "NIN", 
    "idNumber": "8989999988443", 
    "firstname": "John",
     "middlename": "Jane", 
     "lastname": "Doe",
    "phone": "08060000001", 
    "gender": "female", 
    "birthdate": "17-01-1988", 
    "photo":"Base64 Encoded", 
  },
  "firstname": "Moses",
  "lastname": "Mavin",
  "phone": "080000000000",
  "email": "Moses.mavin@gmail.com",
  "acceptableIdType": ["NIN", "BVN", "FRSC", "VIN", "PN"],
  "address": {
    "formattedAddress": "23, John Boomg Street, Osogbo, Osun State, Nigeria",
    "state":"Osun",
    "lga": "Olorunda",
    "street": "23, John Boomg Street",
    "city": "Osogbo",
    "country": "Nigeria",
  }
  "verifyAddress": false,
  "status": {
    "status": "IN_PROGRESS", 
    "subStatus": "IN_PROGRESS", 
    "state": "IN_PROGRESS"
  },
  "createdAt": "2020-02-05T10:24:12.000",
}
```

{% endtab %}

{% tab title="401 Unauthorized" %}

```
{
    "status": "error",
    "message": "string",
    "code": "ACCESS_DENIED"
}
```

{% endtab %}

{% tab title="404 Guarantor Not foud" %}

```
{
    "status": "error",
    "message": "Not Found",
    "code": "NOT_FOUND_ERROR"
}
```

{% endtab %}
{% endtabs %}

{% tabs %}
{% tab title="Curl" %}

```
curl --verbose  --header "Authorization: Bearer <token>" 
--request "GET" "https://vapi.verifyme.ng/v1/verifications/guarantor/<id>"
```

{% endtab %}
{% endtabs %}


# Cancel Guarantor Verification

## Get Cancel Guarantor Verification

<mark style="color:red;">`DELETE`</mark> `https://vapi.verifyme.ng/v1/verifications/guarantors/:id`

This endpoint allows you cancel a guarantor verification.

#### Path Parameters

| Name | Type   | Description             |
| ---- | ------ | ----------------------- |
| id   | string | Address Verification ID |

#### Headers

| Name           | Type   | Description         |
| -------------- | ------ | ------------------- |
| Authentication | string | Authorization Token |

{% tabs %}
{% tab title="200 Guarantor canceled successfully" %}

```
{
    "status": "success",
    "data": "ok"
}
```

{% endtab %}

{% tab title="404 Guarantor Not Found." %}

```
{
    "status": "error",
    "message": "Not Found",
    "code": "NOT_FOUND_ERROR"
}
```

{% endtab %}
{% endtabs %}

{% tabs %}
{% tab title="Curl" %}

```
curl --verbose  
    --header "Authorization: Bearer <token>" 
    --request "DELETE" "https://vapi.verifyme.ng/v1/verifications/guarantor/<id>"
```

{% endtab %}
{% endtabs %}


# Submit Employment History Verification

{% hint style="warning" %}
Please note that you are required to have a webhook set for employment verification requests to be successful. If they are not set, you will not get notified when the verification has been completed.
{% endhint %}

## Submit Employment History for Verification

<mark style="color:green;">`POST`</mark> `https://vapi.verifyme.ng/v1/verifications/employments`

This endpoint allows you to create employment verification requests

#### Headers

| Name           | Type   | Description          |
| -------------- | ------ | -------------------- |
| Authentication | string | Authentication Token |

#### Request Body

| Name                | Type   | Description                                                |
| ------------------- | ------ | ---------------------------------------------------------- |
| jobTitle            | string | Job title held by the applicant                            |
| contactPersonName   | string | Company's Contact person name                              |
| currentlyEmployed   | array  | Boolean that represents if the applicant still works there |
| employerName        | string | Name of company/employer                                   |
| employerEmail       | string | Email of company/employer                                  |
| employerPhone       | string | Phone Number of company/employer                           |
| startDate           | string | Employment start date                                      |
| endDate             | string | Employment end date                                        |
| applicant.firstname | string | Applicants first name                                      |
| applicant.lastname  | string | Applicants last name                                       |
| applicant.dob       | string | Applicants date of birth ( DD-MM-YYYY )                    |
| applicants.phone    | string | Applicants phone number                                    |
| applicant.idType    | string | Applicants Id type ( "BVN" ,"NIN", "KYC" )                 |
| applicant.idNumber  | string | Applicants Identity Number ("BVN", "NIN", "Phone No")      |

{% tabs %}
{% tab title="201 Guarantor verification created." %}

```
{
    "status": "success",
    "data": {
        "id": 2455,
        "employerName": "verifyme",
        "employerPhone": "08128730170",
        "employerEmail": "deolu.asenuga@gmail.com",
        "startDate": "5/6/2020",
        "endDate": "10/12/2020",
        "title": "software engineer",
        "applicant": {
            "firstname": "John",
            "lastname": "Doe",
            "middlename": " ",
            "phone": "+234812345678",
            "gender": "Male",
            "photo": "<base64 image>"
        },
        "status": {
            "status": "PENDING",
            "subStatus": "PENDING",
            "state": "PENDING"
        },
        "currentlyEmployed": true
    }
}
```

{% endtab %}

{% tab title="401 Unauthorized" %}

```
{
    "status": "error",
    "message": "string",
    "code": "ACCESS_DENIED"
}
```

{% endtab %}
{% endtabs %}

#### Sample Request

{% tabs %}
{% tab title="JSON" %}

```
{
    "applicant": {
        "idType": "NIN",
        "idNumber": "10000000001",
        "firstname": "john",
        "lastname": "doe",
        "dob":"04-04-1944",
        "phone": "08121234567"
    },
    "employerName":"verifyme",
    "employerEmail":"johndoe@gmail.com",
    "employerPhone":"0812345678",
    "startDate":"5/6/2020",
    "endDate":"10/12/2020",
    "jobTitle":"plumber",
    "currentlyEmployed":true,
    "contactPersonName":"james bay"
}
```

{% endtab %}

{% tab title="CURL" %}

```
curl --location --request POST 'https://vapi.verifyme.ng/v1/verifications/employment' \
--header 'Authorization: Bearer <live or test key>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "applicant": {
        "idType": "NIN",
        "idNumber": "10000000001",
        "firstname": "john",
        "lastname": "doe",
        "dob":"04-04-1944",
        "phone": "08121234567"
    },
    "employerName":"verifyme",
    "employerEmail":"johndoe@gmail.com",
    "employerPhone":"0812345678",
    "startDate":"5/6/2020",
    "endDate":"10/12/2020",
    "jobTitle":"plumber",
    "currentlyEmployed":true,
    "contactPersonName":"james bay"
}'
```

{% endtab %}
{% endtabs %}


# Get Employment History Verifications

## Get Employment History Verifications

<mark style="color:blue;">`GET`</mark> `https://vapi.verifyme.ng/v1/verifications/employments`

This endpoint allows you to get all employment history verifications.

#### Query Parameters

| Name   | Type   | Description                              |
| ------ | ------ | ---------------------------------------- |
| limit  | number | Number of verifications to fetch at once |
| offset | number | Number of verifications to skip per call |

#### Headers

| Name           | Type   | Description         |
| -------------- | ------ | ------------------- |
| Authentication | string | Authorization Token |

{% tabs %}
{% tab title="200 Successfully fetched Employment History verifications" %}

```
{
    "status": "success",
    "_pagination": {
        "limit": 0,
        "offset": 0,
        "total": 1
        },
    "data": [
            {
                "id": 2455,
                "employerName": "verifyme",
                "employerPhone": "08128730170",
                "employerEmail": "hr@verifyme.ng",
                "startDate": "5/6/2020",
                "endDate": "10/12/2020",
                "title": "plumber",
                "employeeStartDate": "2011-01-1",
                "rehire": true,
                "employerRespondedAt": "Mon Dec 28 2020 20:22:04 GMT+0000 (Coordinated Universal Time)",
                "applicant": {
                    "firstname": "John",
                    "lastname": "Doe",
                    "middlename": " ",
                    "phone": "+2348123456789",
                    "gender": "Male",
                    "photo": "<base64 image>"
                },
                "status": {
                    "status": "VERIFIED",
                    "subStatus": "VERIFIED",
                    "state": "COMPLETE"
                },
                "industry": "domestic",
                "comment": "good guy",
                "verifiedPoc": false,
                "companyName": "verifyme",
                "employmentType": "Full-Time",
                "supervisorName": "john",
                "supervisorTitle": "plumber",
                "jobBenefits": "Health Insurance,Severance Package,Paid Time Off,Transport Allowance,Housing Allowance,Training, Certification and Professional Membership Dues,Parental Leave,Stock Options,others",
                "currentlyEmployed": true,
                "employerConsented": true,
                "attestatorName": "kola",
                "attestatorTitle": "HR manager",
                "attestatorContact": "kola@verifyme.ng",
                "companyAddress": "170 muritala mohammed way",
                "compensationRate": "Monthly",
                "salaryRange": "101,000 - 3000,000",
                "supervisorEmail": "john@gmail.com",
                "supervisorPhone": "+2348128730170",
                "employeeCurrentlyEmployed": false
            }
        ]
}
```

{% endtab %}

{% tab title="500 Internal server error" %}

```
{
    "status": "error",
    "message": "string",
    "code": "INTERNAL_SERVER_ERROR"
}
```

{% endtab %}
{% endtabs %}

{% tabs %}
{% tab title="Curl" %}

```
curl --verbose  
    --header "Authorization: Bearer <token>" 
    --request "GET" "https://vapi.verifyme.ng/v1/verifications/employment?limit=10&offset=0"
```

{% endtab %}
{% endtabs %}


# Get Employment History Verification By ID

## Get Employment History Verification By ID&#x20;

<mark style="color:blue;">`GET`</mark> `https://vapi.verifyme.ng/v1/verifications/employments/:id`

This endpoint allows you to fetch specific employment verifications

#### Path Parameters

| Name | Type   | Description                         |
| ---- | ------ | ----------------------------------- |
| id   | string | Employment History Verification ID. |

#### Headers

| Name           | Type   | Description         |
| -------------- | ------ | ------------------- |
| Authentication | string | Authorization Token |

{% tabs %}
{% tab title="200 Address response " %}

```
{
  "status":"success",
  "data": {
  {
        "id": 1,
        "employerName": "verifyme",
        "employerPhone": "08128730170",
        "employerEmail": "hr@verifyme.ng",
        "startDate": "5/6/2020",
        "endDate": "10/12/2020",
        "title": "plumber",
        "employeeStartDate": "2011-01-1",
        "rehire": true,
        "employerRespondedAt": "Mon Dec 28 2020 20:22:04 GMT+0000 (Coordinated Universal Time)",
        "applicant": {
            "firstname": "John",
            "lastname": "Doe",
            "middlename": " ",
            "phone": "+2348123456789",
            "gender": "Male",
            "photo": "<base64 image>"
        },
        "status": {
            "status": "VERIFIED",
            "subStatus": "VERIFIED",
            "state": "COMPLETE"
        },
        "industry": "domestic",
        "comment": "good guy",
        "verifiedPoc": false,
        "companyName": "verifyme",
        "employmentType": "Full-Time",
        "supervisorName": "john",
        "supervisorTitle": "plumber",
        "jobBenefits": "Health Insurance,Severance Package,Paid Time Off,Transport Allowance,Housing Allowance,Training, Certification and Professional Membership Dues,Parental Leave,Stock Options,others",
        "currentlyEmployed": true,
        "employerConsented": true,
        "attestatorName": "kola",
        "attestatorTitle": "HR manager",
        "attestatorContact": "kola@verifyme.ng",
        "companyAddress": "170 muritala mohammed way",
        "compensationRate": "Monthly",
        "salaryRange": "101,000 - 3000,000",
        "supervisorEmail": "john@gmail.com",
        "supervisorPhone": "+2348128730170",
        "employeeCurrentlyEmployed": false
    }
}
```

{% endtab %}

{% tab title="401 Unauthorized" %}

```
{
    "status": "error",
    "message": "string",
    "code": "ACCESS_DENIED"
}
```

{% endtab %}

{% tab title="404 Guarantor Not foud" %}

```
{
    "status": "error",
    "message": "Not Found",
    "code": "NOT_FOUND_ERROR"
}
```

{% endtab %}
{% endtabs %}

{% tabs %}
{% tab title="Curl" %}

```
curl --verbose  --header "Authorization: Bearer <token>" 
--request "GET" "https://vapi.verifyme.ng/v1/verifications/employment/<id>"
```

{% endtab %}
{% endtabs %}


# Cancel Employment History Verification

## Get Cancel Employment History Verification

<mark style="color:red;">`DELETE`</mark> `https://vapi.verifyme.ng/v1/verifications/employments/:id`

This endpoint allows you to cancel an employment history verification.

#### Path Parameters

| Name | Type   | Description                        |
| ---- | ------ | ---------------------------------- |
| id   | string | Employment History Verification ID |

#### Headers

| Name           | Type   | Description         |
| -------------- | ------ | ------------------- |
| Authentication | string | Authorization Token |

{% tabs %}
{% tab title="200 Guarantor canceled successfully" %}

```
{
    "status": "success",
    "data": "ok"
}
```

{% endtab %}

{% tab title="404 Guarantor Not Found." %}

```
{
    "status": "error",
    "message": "Not Found",
    "code": "NOT_FOUND_ERROR"
}
```

{% endtab %}
{% endtabs %}

{% tabs %}
{% tab title="Curl" %}

```
curl --verbose  
    --header "Authorization: Bearer <token>" 
    --request "DELETE" "https://vapi.verifyme.ng/v1/verifications/employment/<id>"
```

{% endtab %}
{% endtabs %}


# Submit Property Verification

{% hint style="warning" %}
Please note that you are required to have a webhook set for property verification requests to be successful. If they are not set, you will not get notified when the verification has been completed.
{% endhint %}

## Submit Property for Verification

<mark style="color:green;">`POST`</mark> `https://vapi.verifyme.ng/v1/verifications/properties`

This endpoint allows you to create a property verification request

#### Headers

| Name                                             | Type   | Description          |
| ------------------------------------------------ | ------ | -------------------- |
| Authentication<mark style="color:red;">\*</mark> | string | Authentication token |

#### Request Body

| Name                                                | Type   | Description                         |
| --------------------------------------------------- | ------ | ----------------------------------- |
| customerReference<mark style="color:red;">\*</mark> | string | Customer reference                  |
| propertyName<mark style="color:red;">\*</mark>      | string | Property Name                       |
| propertyType<mark style="color:red;">\*</mark>      | string | Property Type                       |
| address<mark style="color:red;">\*</mark>           | string | Street                              |
| lgaName<mark style="color:red;">\*</mark>           | string | LGA                                 |
| contactPerson<mark style="color:red;">\*</mark>     | object | {firstName, lastName, phone, email} |

{% tabs %}
{% tab title="200 Property Verification Submitted Successfully" %}

```
{
  "isAsset": true,
  "verificationTypeCode": "property",
  "createdAt": "2021-10-06T14:56:48.000Z",
  "updatedAt": "2021-10-06T14:56:48.000Z",
  "id": 71,
  "agentId": null,
  "applicantId": null,
  "organisationId": 1,
  "userId": 1,
  "groupId": 10,
  "statusId": 2,
  "opsStatusId": 2,
  "agentStatusCode": null,
  "agentComment": null,
  "assignedBy": null,
  "assignedAt": null,
  "approvedAt": null,
  "approvedBy": null,
  "rejectedAt": null,
  "rejectedBy": null,
  "updatedBy": null,
  "requestedAt": "2021-10-06T14:56:48.000Z",
  "consentReference": "yo0pvJLUGLy14IqRKrdHz",
  "orderNumber": null,
  "fulfillmentNumber": null,
  "agentCommission": 400,
  "requestSource": "api",
  "agentPaymentReference": null,
  "agentSubmittedAt": null,
  "archived": false,
  "timeToCompletion": 0,
  "price": 0,
  "specialPrice": 0,
  "discount": 0,
  "overrideAgentCommission": 0,
  "commissionComment": null,
  "slaHour": 24,
  "canContactPoc": false,
  "apiReference": null,
  "bundleCode": null,
  "adminComment": null,
  "stateId": 25,
  "lgaId": 500,
  "latitude": null,
  "longitude": null,
  "isVague": true,
  "customerReference": "cust-m-001",
  "paymentMethodCode": "standard",
  "verificationType": {
    "createdAt": "2021-07-27T12:48:30.000Z",
    "updatedAt": "2021-07-27T11:48:30.000Z",
    "id": 1,
    "code": "property",
    "name": "property verification",
    "description": "Property verifcation type indicated all verification types that are done for a property"
  },
  "status": {
    "id": 2,
    "code": "ops_action",
    "label": "Ops Action",
    "stateCode": "pending",
    "stateLabel": "Pending"
  },
  "opsStatus": {
    "id": 2,
    "code": "ops_action",
    "label": "Ops Action",
    "stateCode": "pending",
    "stateLabel": "Pending"
  },
  "lga": {
    "id": 500,
    "code": "LGA500",
    "name": "Agege",
    "strippedName": "agege",
    "stateId": 25,
    "state": {
      "id": 25,
      "code": "NG-LA",
      "name": "Lagos",
      "strippedName": "lagos",
      "countryId": 1
    }
  },
  "lgaName": "Agege",
  "stateName": "Lagos",
  "propertyAesthestic": {
    "hasMarksAndStains": null,
    "marksAndStainsRating": null,
    "hasMinimumOfTwoSittingRoomWindows": null,
    "hasMinimumOfTwoBedRoomWindows": null,
    "additionalComments": null
  },
  "propertyBasic": {
    "propertyType": "Apartment",
    "propertyCost": null,
    "propertyName": "Ola studio",
    "scheduleDate": null,
    "propertyPhoto1": null,
    "propertyPhoto2": null,
    "propertyPhoto3": null,
    "propertyPhoto4": null,
    "propertyPhoto5": null,
    "propertyPhoto6": null
  },
  "propertyConfirmation": {
    "numberOfBedrooms": null,
    "numberOfBathrooms": null,
    "hasClothStorageFurniture": null,
    "isSmokingAllowed": null,
    "areEventsAllowed": null,
    "areChildrenAllowed": null,
    "arePetsAllowed": null,
    "hasDryer": null,
    "hasLift": null,
    "hasHotWater": null,
    "hasTV": null,
    "hasAirConditioning": null,
    "hasFirstAidKit": null,
    "hasWashingMachine": null,
    "hasToiletries": null,
    "hasWiFi": null,
    "hasBunker": null,
    "hasSmokeDetector": null,
    "hasFireExtinguisher": null,
    "hasBreakfast": null,
    "hasTowel": null,
    "hasBedsheets": null
  },
  "propertyContactPerson": {
    "firstName": "Folarin",
    "lastName": "Adedeji",
    "phone": "+2348074567321",
    "email": "folarin@test.com"
  },
  "propertyCriterial": {
    "hasEmergencyExit": null,
    "hasWindowsBurglaryProof": null,
    "hasDoorsBurglaryProof": null,
    "areElectricWiresExposed": null,
    "additionalSafetyComment": null
  },
  "propertyLocation": {
    "hasTarredRoad": null,
    "hasParkingSpace": null,
    "availableCarSpace": null,
    "commentAboutLocation": null,
    "street": "oko oba",
    "city": null,
    "hostLivesHere": null,
    "numberOfTenants": null,
    "latitude": null,
    "longitude": null
  },
  "propertyUtilities": {
    "tapsRunWell": null,
    "hasCableTv": null,
    "hasStandbyGenerator": null,
    "hasKitchen": null,
    "hasMicrowave": null,
    "hasElectricKettle": null,
    "hasCookingStove": null,
    "hasPlatesAndCups": null,
    "hasCutlery": null,
    "additionalUtilitiesComment": null
  },
  "exteriorPhotos": {
    "exteriorPhoto1": null,
    "exteriorPhoto2": null,
    "exteriorPhoto3": null,
    "exteriorPhoto4": null,
    "exteriorPhoto5": null,
    "exteriorPhoto6": null
  },
  "slaElapse": 0,
  "isLate": false
}
```

{% endtab %}

{% tab title="401 Unauthorized" %}

```
{
    "status": "error",
    "message": "string",
    "code": "ACCESS_DENIED"
}
```

{% endtab %}
{% endtabs %}

#### Sample Request

{% tabs %}
{% tab title="JSON" %}

```
{
  "customerReference": "yo0pvJLUGLy14IqRKrdHz",
  "propertyName": "Landmark Apartments",
  "propertyType": "Apartment",
  "address": "Adekunle Fasasi",
  "lgaName": "Agege",
  "contactPerson": {
    "firstName": "Henry",
    "lastName": "Abu",
    "phone": "08074856213",
    "email": "henry@test.com"
  }
}
```

{% endtab %}

{% tab title="CURL" %}

```
curl --location --request POST 'https://vapi.verifyme.ng/v1/assets/property' \
--header 'Authorization: Bearer <live or test key>' \
--header 'Content-Type: application/json' \
--data-raw '{
  "customerReference": "yo0pvJLUGLy14IqRKrdHz",
  "propertyName": "Landmark Apartments",
  "propertyType": "Apartment",
  "address": "Adekunle Fasasi",
  "lgaName": "Agege",
  "contactPerson": {
    "firstName": "Henry",
    "lastName": "Abu",
    "phone": "08074856213",
    "email": "henry@test.com"
  }
}'
```

{% endtab %}
{% endtabs %}

{% tabs %}
{% tab title="CURL" %}

{% endtab %}

{% tab title="Second Tab" %}

{% endtab %}
{% endtabs %}


# Get Countries

## Get Countries

<mark style="color:blue;">`GET`</mark> `https://vapi.verifyme.ng/v1/countries`

This endpoint returns all countries where our services are active&#x20;

{% tabs %}
{% tab title="200 " %}

```
{
    "status": "success",
    "data": [
        {
            "id": 1,
            "code": "NG",
            "name": "Nigeria"
        }
    ]
}
```

{% endtab %}
{% endtabs %}


# Get Country By ID

## Get Country By ID

<mark style="color:blue;">`GET`</mark> `https://vapi.verifyme.ng/v1/countries/:id`

Get country by Country ID

#### Path Parameters

| Name | Type   | Description |
| ---- | ------ | ----------- |
| id   | string | Country ID  |

{% tabs %}
{% tab title="200 " %}

```
{
    "status": "success",
    "data": {
        "id": "1",
        "code": "NG",
        "name": "Nigeria"
    }
}
```

{% endtab %}
{% endtabs %}


# Get State By ID

## Get State By ID

<mark style="color:blue;">`GET`</mark> `https://vapi.verifyme.ng/v1/states/:state_id`

Get State by State ID

#### Path Parameters

| Name | Type   | Description |
| ---- | ------ | ----------- |
| id   | string | State ID    |

{% tabs %}
{% tab title="200 " %}

```
{
    "status": "success",
    "data": [
        {
            "id": 1,
            "name": "Abia",
            "code": "NG-AB"
        }
    ]
}
```

{% endtab %}
{% endtabs %}


# Get State For Country

## Get State For Country

<mark style="color:blue;">`GET`</mark> `https://vapi.verifyme.ng/v1/countries/:id/states`

Get all states for a country by country ID&#x20;

#### Path Parameters

| Name | Type   | Description |
| ---- | ------ | ----------- |
| id   | string | Country ID  |

{% tabs %}
{% tab title="200 " %}

```
{
    "status": "success",
    "data": [
        {
            "id": 1,
            "name": "Abia",
            "code": "NG-AB"
        }
    ]
}
```

{% endtab %}
{% endtabs %}


# Get Lga By Country

## Get Lga By Country

<mark style="color:blue;">`GET`</mark> `https://vapi.verifyme.ng/v1/countries/:country_id/lgas`

Get all Lgas by country ID&#x20;

#### Path Parameters

| Name        | Type   | Description |
| ----------- | ------ | ----------- |
| country\_id | string | Country ID  |

#### Query Parameters

| Name   | Type   | Description                     |
| ------ | ------ | ------------------------------- |
| limit  | string | Number of Lgas to fetch at once |
| offset | string | Number of Lgas to skip per call |

{% tabs %}
{% tab title="200 " %}

```
{
    "status": "success",
    "_pagination": {
        "limit": 2,
        "offset": 0,
        "total": 775
    },
    "data": [
        {
            "id": 1,
            "name": "Aba North",
            "code": "LGA1"
        },
        {
            "id": 2,
            "name": "Aba South",
            "code": "LGA2"
        }
    ]
}
```

{% endtab %}
{% endtabs %}


# Get Lga By State

## Get Lga By State

<mark style="color:blue;">`GET`</mark> `https://vapi.verifyme.ng/v1/states/:state_id/lgas`

get Lgas by State ID

#### Path Parameters

| Name      | Type   | Description |
| --------- | ------ | ----------- |
| state\_id | string | State ID    |

{% tabs %}
{% tab title="200 " %}

```
{
    "status": "success",
    "data": [
        {
            "id": 1,
            "name": "Aba North",
            "code": "LGA1"
        },
        ...
    ]
}
```

{% endtab %}
{% endtabs %}


# Get Lga By ID

## Get Lga By ID

<mark style="color:blue;">`GET`</mark> `https://vapi.verifyme.ng/v1/lgas/:lga_id`

Get Lga by Lga ID

#### Path Parameters

| Name    | Type   | Description |
| ------- | ------ | ----------- |
| lga\_id | string | Lga ID      |

{% tabs %}
{% tab title="200 " %}

```
{
    "status": "success",
    "data": {
        "id": 1,
        "name": "Aba North",
        "code": "LGA1"
    }
}
```

{% endtab %}
{% endtabs %}


# Get Banks

## Get Banks

<mark style="color:blue;">`GET`</mark> `https://vapi.verifyme.ng/v1/banks`

This endpoint allows you to get the list of all Nigerian banks

#### Path Parameters

| Name           | Type   | Description         |
| -------------- | ------ | ------------------- |
| Authentication | string | Authorization Token |

{% tabs %}
{% tab title="200 " %}

```
{
  "status": "success",
  "data": [
    {
      "name": "Access Bank",
      "slug": "access-bank",
      "code": "044",
      "active": true
    },
    ...
  ]
}
```

{% endtab %}
{% endtabs %}


# Get Account Details

{% hint style="info" %}
Please note that when using your test key. Our test persona is **John Doe** and his Account number is **10000000001**. Bank code: any bank code e.g 101 will work when using your test key.
{% endhint %}

## Get Account Details

<mark style="color:blue;">`GET`</mark> `https://vapi.verifyme.ng/v1/banks/:code/accounts/:account`

Get a persons Account Details

#### Path Parameters

| Name           | Type   | Description         |
| -------------- | ------ | ------------------- |
| account        | string | Bank Account Number |
| code           | string | Bank Code           |
| Authentication | string | Authorization Token |

{% tabs %}
{% tab title="200 " %}

```
{
    "status": "success",
    "data": {
        "accountName": "JOHN DOE",
        "accountNumber": "10000000001",
        "lastname": "DOE",
        "firstname": "JOHN",
        "middlename": "",
        "accountCurrency": "NGN",
        "dob": "1999-09-19",
        "mobileNumber": "08000000000",
        "bvn": "10000000001"
    }
}
```

{% endtab %}

{% tab title="401 " %}

```
{
  "statusCode": 401,
  "error": "Unauthorized"
}
```

{% endtab %}

{% tab title="404 " %}

```
{
    "statusCode": 404,
    "error": "Not Found",
    "message": "Account not found"
}
```

{% endtab %}
{% endtabs %}


# Get Nuban Banks

## Get Bank List

<mark style="color:blue;">`GET`</mark> `https://vapi.verifyme.ng/v1/bvn-nuban/banks`

This endpoint allows you to get the list of all Nigerian banks

#### Path Parameters

| Name           | Type   | Description         |
| -------------- | ------ | ------------------- |
| Authentication | string | Authorization Token |

{% tabs %}
{% tab title="200 " %}

```
{
  "status": "success",
  [
    {
       "code": 120001,
       "name": "9 Payment Service Bank"
     },
     {
       "code": "090270",
       "name": "AB Microfinance bank"
     },
    ...
  ]
}
```

{% endtab %}
{% endtabs %}


# Get BVN details by NUBAN

{% hint style="info" %}
Please note that when using your test key. Our test persona is **John Doe** and his Account number is **10000000001**. Bank code: any bank code e.g 101 will work when using your test key.
{% endhint %}

## Get Account Details

<mark style="color:blue;">`GET`</mark> `https://vapi.verifyme.ng/v1/bvn-nuban/banks/:bankCode/account/:account`

Get a persons Account Details

#### Path Parameters

| Name           | Type   | Description         |
| -------------- | ------ | ------------------- |
| account        | string | Bank Account Number |
| bankCode       | string | Bank Code           |
| Authentication | string | Authorization Token |

{% tabs %}
{% tab title="200 " %}

```
{
    "status": "success",
    "data": {
        "bvn": "1000000001",
        "firstname": "JOHN",
        "lastname": "JOE",
        "middlename": "Wick",
        "gender": "Male",
        "phone": "08000000000",
        "birthdate": "01-Jan-1990",
        "photo": "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"
    }
}
```

{% endtab %}

{% tab title="401 " %}

```
{
  "statusCode": 401,
  "error": "Unauthorized"
}
```

{% endtab %}

{% tab title="404 " %}

```
{
    "statusCode": 404,
    "error": "Not Found",
    "message": "Account not found"
}
```

{% endtab %}
{% endtabs %}


# About Webhooks

🚀

### What are they?

Webhooks are events we send to your pre-set endpoints via HTTP POST requests. They serve as a means of notification for when verification(s) has been completed.

### Which Verifications require webhooks?

At the moment the following verifications require webhooks to be set:

* Address Verification
* Guarantor Verification

### **How do I add my webhook?**

Webhooks can be added from your [VerifyMe account dashboard](https://verifyme.ng/auth/login?to=%2Fapp%2Fdevelopers%2Fsettings)&#x20;

![](/files/-MBG_Z1gULSH8YW3IBEZ)

### Webhook Signature

Webhook signatures are a means for you to verify if a webhook originated from our servers. All webhooks events have the `x-verifyme-signature` HTTP header which is a hash of the body of the request and your secret key.&#x20;

#### Sample Code

{% tabs %}
{% tab title="NodeJs" %}

```javascript
const crypto = require('crypto')

// your api secretkey ( testSecretKey or liveSecretKey)
const secretKey= process.env.SECRET_KEY

const WebhookHandler = (req , res ) =>{
    const signature = crypto.createHmac('sha512', secretKey).update(JSON.stringify(res.body)).digest('hex');
    if(signature === req.headers['x-verifyme-signatue']){
        // Source of the webhook is verified , Add logic here
    }
}
```

{% endtab %}

{% tab title="Go" %}

```go
import (
	"crypto/hmac"
	"crypto/sha512"
	"encoding/hex"
	"io/ioutil"
	"net/http"
	"os"
)

// your api secretkey ( testSecretKey or liveSecretKey)
var secret = os.Getenv("SECRET_KEY")

func WebhookHandler(w http.ResponseWriter, r *http.Request) {
	hash := hmac.New(sha512.New, []byte(secret))
	
	requestBody, _ := ioutil.ReadAll(r.Body)
	hash.Write(requestBody)
	sha := hex.EncodeToString(hash.Sum(nil))
	
	if sha == r.Header.Get("x-verifyme-signature") {
		// Source of the webhook is verified , Add logic here
	}
}
```

{% endtab %}

{% tab title="C#" %}

```csharp
using System;
using System.Security.Cryptography;
using System.Text;
using Newtonsoft.Json.Linq;
namespace HMacExample
{
  class Program {
    static void Main(string[] args) {
      String key = "YOUR_SECRET_KEY"; //replace with your live or test secret key
      String jsonInput = "YOUR_WEBHOOK_PAYLOAD"; //JSON webhook payload gotten from your request handler
      String inputString = Convert.ToString(new JValue(jsonInput));
      String result = "";
      byte[] secretkeyBytes = Encoding.UTF8.GetBytes(key);
      byte[] inputBytes = Encoding.UTF8.GetBytes(inputString);
      using (var hmac = new HMACSHA512(secretkeyBytes))
      {
          byte[] hashValue = hmac.ComputeHash(inputBytes);
          result = BitConverter.ToString(hashValue).Replace("-", string.Empty);;
      }
      Console.WriteLine(result);
      String verifyMeSignature = ""; //put in the request's value for x-verifyme-signature
  
      if(result.ToLower().Equals(verifyMeSignature)) {
          // valid request from our servers
          
          // insert logic here
      } else {
          // if it gets to this block it it didnt come from verifyme servers
      }
    }
  }
}

```

{% endtab %}
{% endtabs %}


# Verified Address

This payload is sent to your webhook endpoint on successful address verification.

#### Sample Webhook Payload

```
{
  "type": "address",
  "data": {
    "id": 1,
    "applicant": {
      "firstname": "John",
      "lastname": "Doe",
      "phone": "080000000000",
      "idType": "bvn",
      "idNumber": "10000000001",
      "middlename": "James",
      "photo": "<base64 payload>",
      "gender": "Male",
      "birthdate": "17/01/1988"
    },
    "createdAt": "Wed Sep 23 2020 09:23:57 GMT+0000 (Coordinated Universal Time)",
    "completedAt": "Wed Sep 23 2020 09:23:57 GMT+0000 (Coordinated Universal Time)",
    "lattitude": "9.081999",
    "comment": "Address is valid",
    "agentSubmittedAt": "Wed Sep 23 2020 09:23:57 GMT+0000 (Coordinated Universal Time)",
    "longitude": "8.675277",
    "photos": [
      "https://picsum.photos/id/768/200/300.jpg",
      "https://picsum.photos/id/768/200/300.jpg"
    ],
    "neighbor": {
      "isAvailable": true,
      "name": "Tunde Adetunji",
      "comment": "Very friendly",
      "phone": "080900000000"
    },
    "status": {
      "status": "VERIFIED",
      "subStatus": "VERIFIED",
      "state": "COMPLETE"
    },
    "city": "oshodi",
    "street": "John Paul Str",
    "lga": "oshodi",
    "state": "Lagos",
    "country": "Nigeria",
    "reference": "VMN_dskajesjds"
  }
}

```


# Verified Guarantor

This payload is sent to your webhook endpoint on successful guarantor verification.

#### Sample Webhook Payload

```
{
  "type": "guarantor",
  "data": {
    "id": 1,
    "applicant": {
      "idType": "nin",
      "idNumber": "10000000001",
      "firstname": "John",
      "middlename": "Doe",
      "lastname": "Doe",
      "phone": "08128730170",
      "gender": "female",
      "birthdate": "17-01-1988",
      "photo": "<base64 payload>"
    },
    "firstname": "kofo",
    "lastname": "joko",
    "phone": "08078878889",
    "email": "john@gmail.com",
    "acceptableIdType": [
      "nin",
      "bvn"
    ],
    "identityType": "NIN",
    "identityNumber": "38498598948859",
    "identityPhoto": "",
    "relationship": "Father",
    "relationshipLength": "24 Years",
    "comment": "I know him well",
    "address": false,
    "verifyAddress": false,
    "status": {
      "status": "VERIFIED",
      "subStatus": "VERIFIED",
      "state": "COMPLETE"
    },
    "createdAt": "Fri Sep 18 2020 14:17:33 GMT+0000 (Coordinated Universal Time)",
    "completedAt": "Fri Sep 18 2020 14:17:33 GMT+0000 (Coordinated Universal Time)"
  }
}
```


# Verified Employment History

This payload is sent to your webhook endpoint on successful employment verification.

#### Sample Webhook Payload

```
{
    "type": "employment",
    "data": {
      "id": 2455,
      "employerName": "verifyme",
      "employerPhone": "08123456789",
      "employerEmail": "hr@verifyme.ng",
      "startDate": "5/6/2020",
      "endDate": "10/12/2020",
      "title": "plumber",
      "employeeStartDate": "2011-01-1",
      "rehire": true,
      "employerRespondedAt": "2020-12-28T20:22:04.000Z",
      "applicant": {
        "id": 1263,
        "firstname": "John",
        "lastname": "Doe",
        "middlename": " ",
        "phone": "+2348128730170",
        "email": "john@gmail.com",
        "gender": "Male",
        "marital_status": "single",
        "photo": "<base64 Image>",
        "dob": "31-05-2000",
        "created_at": "2019-11-21T08:26:11.000Z",
        "updated_at": "2020-09-23T15:54:30.000Z"
      },
      "status": {
        "status": "VERIFIED",
        "subStatus": "VERIFIED",
        "state": "COMPLETE"
      },
      "industry": "domestic",
      "comment": "good guy",
      "verifiedPoc": false,
      "companyName": "verifyme",
      "employmentType": "Full-Time",
      "supervisorName": "john",
      "supervisorTitle": "lead plumber",
      "jobBenefits": "Health Insurance,Severance Package,Paid Time Off,Transport Allowance,Housing Allowance,Training, Certification and Professional Membership Dues,Parental Leave,Stock Options,others",
      "requestSource": "api",
      "currentlyEmployed": true,
      "employerConsented": true,
      "attestatorName": "james",
      "attestatorTitle": "HR manager",
      "attestatorContact": "james@verifyme.ng",
      "companyAddress": "170 muritala mohammed way",
      "compensationRate": "Monthly",
      "salaryRange": "101,000 - 3000,000",
      "supervisorEmail": "john@gmail.com",
      "supervisorPhone": "+2348128730170",
      "employeeCurrentlyEmployed": false
    }
}
```


# Verified Property

This payload is sent to your webhook endpoint on successful property verification.

#### Sample Webhook Payload

```
{
   "type":"property",
   "data":{
      "id":40,
      "verificationTypeCode":"property",
      "isAsset":true,
      "organisationId":8,
      "userId":1,
      "approvedAt":"2021-10-11T16:07:30.000Z",
      "requestedAt":"2021-08-27T12:35:08.000Z",
      "consentReference":"nP0SRL_TXD1mm1qzJvzwp",
      "requestSource":"string",
      "archived":false,
      "canContactPoc":false,
      "apiReference":null,
      "bundleCode":null,
      "stateId":25,
      "stateName":"Lagos",
      "lgaId":512,
      "lgaName":"Kosofe",
      "latitude":null,
      "longitude":null,
      "isVague":false,
      "customerReference":"06963969",
      "paymentMethodCode":"standard",
      "propertyBasic":{
         "propertyType":"Apartment",
         "propertyCost":null,
         "propertyName":"jumog Apartment",
         "scheduleDate":"2021-11-02T08:00:00.000Z",
         "propertyPhoto1":null,
         "propertyPhoto2":null,
         "propertyPhoto3":null,
         "propertyPhoto4":null,
         "propertyPhoto5":null,
         "propertyPhoto6":null
      },
      "exteriorPhotos":{
         "exteriorPhoto1":null,
         "exteriorPhoto2":null,
         "exteriorPhoto3":null,
         "exteriorPhoto4":null,
         "exteriorPhoto5":null,
         "exteriorPhoto6":null
      },
      "propertyCriterial":{
         "hasEmergencyExit":null,
         "hasWindowsBurglaryProof":null,
         "hasDoorsBurglaryProof":null,
         "areElectricWiresExposed":null,
         "additionalSafetyComment":null
      },
      "propertyUtilities":{
         "tapsRunWell":null,
         "hasCableTv":null,
         "hasStandbyGenerator":null,
         "hasKitchen":null,
         "hasMicrowave":null,
         "hasElectricKettle":null,
         "hasCookingStove":null,
         "hasPlatesAndCups":null,
         "hasCutlery":null,
         "additionalUtilitiesComment":null
      },
      "propertyLocation":{
         "hasTarredRoad":null,
         "hasParkingSpace":null,
         "availableCarSpace":null,
         "commentAboutLocation":null,
         "street":"25 street oshamo",
         "city":null,
         "hostLivesHere":null,
         "numberOfTenants":null,
         "latitude":null,
         "longitude":null
      },
      "propertyConfirmation":{
         "numberOfBedrooms":null,
         "numberOfBathrooms":null,
         "hasClothStorageFurniture":null,
         "isSmokingAllowed":null,
         "areEventsAllowed":null,
         "areChildrenAllowed":null,
         "arePetsAllowed":null,
         "hasDryer":null,
         "hasLift":null,
         "hasHotWater":null,
         "hasTV":null,
         "hasAirConditioning":null,
         "hasFirstAidKit":null,
         "hasWashingMachine":null,
         "hasToiletries":null,
         "hasWiFi":null,
         "hasBunker":null,
         "hasSmokeDetector":null,
         "hasFireExtinguisher":null,
         "hasBreakfast":null,
         "hasTowel":null,
         "hasBedsheets":null
      },
      "propertyAesthestic":{
         "hasMarksAndStains":null,
         "marksAndStainsRating":null,
         "hasMinimumOfTwoSittingRoomWindows":null,
         "hasMinimumOfTwoBedRoomWindows":null,
         "additionalComments":null
      },
      "propertyContactPerson":{
         "firstName":"Biggs",
         "lastName":"Olomu",
         "phone":"+2349060002499",
         "email":"a.ogunbayo@verifyme.ng"
      },
      "status":{
         "status":"AWAITING_APPROVAL",
         "subStatus":"AWAITING APPROVAL",
         "state":"IN_PROGRESS"
      }
   }
}
```


# Product statuses

Our Products can be tracked via their`status` object. This field basically shows the current state of your request ie if it has been completed, is pending or is in progress.

```
{
    status: "",
    subStatus: "",
    state: "",
}
```

The structure of the `status` object for our different verifications can be seen below:

**`status`** - This represents the status of the address verification

the possible values are :

* `VERIFIED` - Successful Verification
* `UNVERIFIED` - Unsuccessful Verification
* `IN PROGRESS` - Verification In Progress

**`state`** - They indicate if verifications have been completed or not. They are similar to the status field but they are not prone to change anytime soon.

Possible Values:

* `COMPLETE`
* `IN_PROGRESS`
* `PENDING`

**`subStatus`** - This contains more descriptive information about the status of the address verification. It varies for our different products as can be seen in the table below:

| Product              | Possible subStatus fields                                                                                                                                                                                                                        |
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Address Verification | <ul><li><code>IN PROGRESS</code> </li><li><code>FAILED - NOT IN RESIDENCE</code></li><li><code>FAILED - INVALID ADDRESS</code></li><li><code>VERIFIED</code></li><li><code>CANCELLED</code></li><li><code>CANNOT ACCESS ADDRESS</code></li></ul> |


# Error Status Codes

Error messages from our APIs are mostly in the format

```
{
    "status": "error",
    "code": "<error_string>",
    "message": "<error_message>"
}
```

Below are the possible **HTTP error status codes** that can occur for an API request.

| HTTP Error Code | Meaning                                                                                                                                                                                |
| --------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **401**         | This means your request is not authenticated. To fix this see the [Authentication](/introduction/authentication) section                                                               |
| **400**         | This means your request for the particular service is missing some parameters( or fields). To fix this, kindly ensure your request matches the documentation for that service.         |
| **404**         | This means the entity you are requesting ( ie Identity, submitted address, submitted guarantor request) cannot be found or does not exist.                                             |
| **422**         | This means your request could not be processed. This error is returned mainly when your wallet balance is insufficient for the request you made. To fix this, Kindly fund your wallet. |
| **503**         | This means the service you are  requesting is not available at the time of the request                                                                                                 |


# Glossary

| Term          | Meaning                                                                                                                        |
| ------------- | ------------------------------------------------------------------------------------------------------------------------------ |
| **Applicant** | Person to be verified                                                                                                          |
| **Identity**  | Unique form identification for a person. Contextually, it refers to the forms of identifications we provide ie BVN, NIN, FRSC. |


# VerifyMe Liveness Widget

VerifyMe has a smooth widget which helps you detect biometric spoofing attacks where a replica or imitation is presented to bypass the required identification and authentication steps

### How to Generate Widget

Using the VerifyMe CDN-hosted javascript client library, you can install the Liveness widget into your application. You only have to add the script tag to your html document and insert basic configuration parameters and you'll be good to go.

### Step 1: Add the Client Javascript Library

Include the script tag just before the end of the closing body tag of your desired html page where you wish to perform the liveness verification.

```bash
<script src="https://widget.verifyme.ng/inline.js"></script>
```

### Step 2: Configure the Javascript Client Library

At this point, you can now create a Liveness widget object by passing in an object containing public key, product code and other fields containing the verification details.

```javascript
new VerifyMePopupSetup({
      lastname: "john",
      firstname: "doe",
      phone: "08128730170",
      identityType: "bvn",
      identityNumber: "10000000001",
      key: "pk_live_ee7569XXXXXXXXXXXX9884a7cfb435",
      reference: "<unique_reference>",
      widgetType: "LIVENESS",
      productCode: "<your product code>",
});
```

***key (string, required)***

This is the VerifyMe public key, you can find this on the dashboard

**widgetType(string, required)**

The `widgetType` property is to signify the widget you're interested in consuming: **liveness verification widget (LIVENESS) or express verification (XPRESS)**. In essence, the property's value could either be LIVENESS OR XPRESS.

***productCode (string, required)***

This code is uniquely tied to the product created on your account. Kindly reach out to our customer service team to guide you through product creation.\
**PS: It is important to note that you can have multiple products linked to your account.**<br>

***`verification details`***

These are other details that are required for the liveness check verification:\
`lastname`, `firstname`, `phone`, `identityType`, and `identityNumber`<br>

***`callback (function, required)`***

This callback takes one argument, this is called when your user has completed the liveness verification process.<br>

| ***Param***    | Description                      |          |
| -------------- | -------------------------------- | -------- |
| lastname       | lastname of the applicant        | required |
| firstname      | firstname of the applicant       | required |
| phone          | phone no of the applicant        | optional |
| identityType   | identity Type (BVN, NIN or FRSC) | required |
| identityNumber | identity Number                  | required |
| reference      | unique reference                 | required |
| widgetType     | LIVENESS or XPRESS               | required |
| productCode    | your verifyMe Product code       | required |

### Step 3: Handle a Successful Liveness Verification

On successful verification, the callback function that you supplied is called by the client library with an object as a parameter. The object contains a status field with a success value

```javascript
callback: function (response) {
  if (response.status == 'success') {
    // [on success]
    // Fetch the liveness verification status using the `response.reference` value
  } else {
    // [on failed]
  }
}
```

* Refer to the Requery Liveness Verification section of this documentation. While making this api call, to protect your token key it is advised to make the call from a backend server.

***`Callback response data`***

```
// error
{
  'status': 'error',
  'message': <string>
}

// success
{
  status: 'success',
  reference: <string>,
  isLive: <boolean>,
  match: <boolean>,
  matchScore: <string>
}
```

## Liveness Widget Example Script:

{% code title="liveness\_widget.html" %}

```bash
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Liveness Widget Sample Script</title>
</head>

<body>
    <label>Lastname</label>
    <input type="text" id="liveness_lastname" />
    <br>
    
    <label>Firstname</label>
    <input type="text" id="liveness_firstname" />
    <br>
    
    <label>Phone</label>
    <input type="text" id="liveness_phone" />
    <br>
    
    <label>Select Identity type</label>
    <select id="liveness_identity_type">
     <option value="nin" selected="selected"> NIN </option>
     <option value="bvn"> BVN </option>
    </select>
    <br>
    
    <label>Identity Number</label>
    <input type="text" id="liveness_identity_number" />
    <br>
    <button onclick="launchLiveness(event)">Launch</button>

    <script src="https://widget.verifyme.ng/inline.js"></script>
    <script type="text/javascript">
      function launchLiveness(event) {
        event.preventDefault();

        new VerifyMePopupSetup({
          lastname: document.getElementById('liveness_lastname').value,
          firstname: document.getElementById('liveness_firstname').value,
          phone: document.getElementById('liveness_phone').value,
          identityType: document.getElementById('liveness_identity_type').value,
          identityNumber: document.getElementById('liveness_identity_number').value,
          key: 'pk_live_ee7569XXXXXXXXXXXX9884a7cfb435',
          widgetType: "LIVENESS | XPRESS",
          productCode: 'PC',
          callback: function (response) {
            if (response.status == 'success') {
              // on success
              // Use response.reference to query liveness verification status
            } else {
              // on failed
            }
          }
        });
    
      }
    </script>
</body>

</html>
```

{% endcode %}


# Requery Liveness Verification

## Query liveness verification with reference

<mark style="color:blue;">`GET`</mark> `https://vapi.verifyme.ng/v1/verifications/liveness/:reference`

#### Path Parameters

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

{% tabs %}
{% tab title="200: OK Query ran successfully" %}

```javascript
{
    "isLive": false,
    "identityMatches": true,
    "identityDetails": {
        "idType": "nin",
        "idNumber": "12839485762",
        "firstname": "John",
        "lastname": "Doe",
        "dob": "2000-01-01",
        "photo": "base 64 string image",
        "photoMatching": {
            "match": true,
            "maxScore": 100,
            "percentageSimilarity": "98.99998",
            "matchingThreshold": "80"
        }
    },
    "verifiedAt": "2021-11-08T14:30:28.454Z"
}
```

{% endtab %}

{% tab title="404: Not Found Liveness verification not found" %}

```javascript
{
    "status": "error",
    "message": "Verification not Found",
    "code": "NOT_FOUND_ERROR"
}
```

{% endtab %}
{% endtabs %}

Query using the reference returned on a successfull liveness verification

#### Sample request

{% tabs %}
{% tab title="CURL" %}

```
curl --verbose  
    --header "Authorization: Bearer <public key>" 
    --request "GET" "https://vapi.verifyme.ng/v1/verifications/liveness/:reference
    
```

{% endtab %}

{% tab title="Javascript" %}

```
fetch(`https://vapi.verifyme.ng/v1/verifications/liveness/${response.reference}`, {
    headers: {
      authorization: `Bearer ${pkey}`
    }
  })
  .then((resp) => resp.json())
  .then(data => {
    console.log('> data', data);
  })
  .catch(e => console.error)
```

{% endtab %}
{% endtabs %}


