> For the complete documentation index, see [llms.txt](https://fuspay.gitbook.io/kyc/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://fuspay.gitbook.io/kyc/getting-started.md).

# Getting Started

We have provided a list of endpoints to make the integration and onboarding seamless.&#x20;

### KYC Flow

1. Register your app on the registration endpoint
2. Verify your app using the verify endpoint&#x20;
3. Get the appropriate KYC type (individual, business)&#x20;
4. Create a KYC Order or Request (individual, business)
5. Get KYC URL where your user is redirected to perform KYC
6. &#x20;Get KYC notification on your registered callback.
7. Your end user is approved or rejected.
8. Get user data/KYC status to confirm your user's KYC status.

### Getting Started

#### App Registration Endpoint <a href="#onboarding" id="onboarding"></a>

#### This endpoint is to register an app&#x20;

<mark style="color:green;">`POST`</mark> `https://fuspay-kyc-prod-e9eb4fd3aa33.herokuapp.com/api/v1/app/register`

#### Headers

<table><thead><tr><th width="141">Name</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td>Content-Type<mark style="color:red;">*</mark></td><td>String</td><td>application/json</td></tr></tbody></table>

#### Request Body

<table><thead><tr><th width="187">Name</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td>name</td><td>String</td><td>The name of your app</td></tr><tr><td>email</td><td>String</td><td>The email of the company</td></tr><tr><td>origin</td><td>Array</td><td>The domains you are calling  from. this is whitelisted. eg "http://localhost:5179"</td></tr></tbody></table>

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

```json
{
  "message": "Verification token sent successfully",
  "value": "123456",
  "app": {
    "email": "support@flw.com",
    "name": "Flutterwave",
    "origin": [
      "http://localhost:5179"
    ],
    "verified": false,
    "status": "Active",
    "_id": "66053d262d3f43787be1e1a6",
    "created_at": "2024-03-28T09:49:26.674Z",
    "updated_at": "2024-03-28T09:49:26.752Z",
    "__v": 0
  }
}
```

{% endtab %}

{% tab title="400" %}

{% endtab %}
{% endtabs %}

<table><thead><tr><th>Key</th><th>Type</th><th>Description</th><th>Value </th></tr></thead><tbody><tr><td>message</td><td>String</td><td>This message says there is a verification token (6 digits) which has be sent to the email used on the register endpoint</td><td>e.g 123456</td></tr><tr><td>value</td><td>String </td><td>This is the verification token this has also been sent to your email. </td><td>e.g 123456</td></tr><tr><td>app</td><td>Object</td><td>This is an object describing the opp that just registered on the app register endpoint </td><td><pre><code> {
    "email": "support@flw.com",
    "name": "Flutterwave",
    "origin": [
      "http://localhost:5179",
      "https://include-stage-89c7b78dfc34.herokuapp.com/"
    ],
    "verified": false,
    "status": "Active",
    "_id": "66053d262d3f43787be1e1a6",
    "created_at": "2024-03-28T09:49:26.674Z",
    "updated_at": "2024-03-28T09:49:26.752Z",
    "__v": 0
  }
</code></pre></td></tr><tr><td>    verified</td><td>String</td><td>Verified means if the app has verified on the app verify endpoint using the verification Token </td><td>True/False </td></tr><tr><td>    status </td><td>String</td><td>This is your app's status on our endpoint </td><td>Active/Inactive </td></tr><tr><td>    _id</td><td>String </td><td>This is your app's ID on our system.  <br><br>App ID' s</td><td></td></tr><tr><td>    created_at</td><td>Datetime</td><td>this is the time  your app was registered on the KYC system </td><td></td></tr><tr><td>    updated_at</td><td>Datetime</td><td>This is the last time a value was updated on your app's data </td><td></td></tr></tbody></table>

#### Example request- Code.

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

```javascript
const fetch = require('node-fetch');

fetch("https://exchanger-api.fuspay.finance/api/v1/no-auth/PartnerP2P/OnboardPartner", {
  "method": "POST",
  "headers": {
    "Content-Type": "application/json"
  },
  "body": {
    "name": "Binance",
    "email": "sample@example.com",
    "origin": ["", ""]
  }
})
  .then(response => console.log(response))
  .catch(err => console.error(err));
```

{% endtab %}

{% tab title="cURL" %}

```
curl "https://exchanger-api.fuspay.finance/api/v1/no-auth/PartnerP2P/OnboardPartner" \
  -H 'Content-Type: application/json' \
  -X POST \
  -b 'connect.sid'='s%3AoNBPv4ez8npeuKVKlS9KwX_1Dshiamlf.n8opjPuoF3XsU%2Be0VTLMUe6xzeAXmpCfQrpW9KW1KDs' \
  -d '{
  "partner_code": "Binance",
  "email": "sample@example.com"
}' 
```

{% endtab %}
{% endtabs %}

### App Activate/Verify Endpoint &#x20;

#### This is used to verify an app

<mark style="color:green;">`POST`</mark> `https://fuspay-kyc-prod-e9eb4fd3aa33.herokuapp.com/api/v1/app/verify`

#### Request Body

| Name  | Type   | Description                                       |
| ----- | ------ | ------------------------------------------------- |
| email | String | this is the email used to register your app       |
| code  | String | This is the verification token sent to your email |

{% tabs %}
{% tab title="200: OK Successful " %}

```json
{
  "message": "Token verification successful",
  "data": {
    "_id": "66053d262d3f43787be1e1a6",
    "email": "support@flw.com",
    "name": "Flutterwave",
    "origin": [
      "http://localhost:5179",
      "https://include-stage-89c7b78dfc34.herokuapp.com/"
    ],
    "created_at": "2024-03-28T09:49:26.674Z",
    "updated_at": "2024-03-28T09:50:50.303Z",
    "__v": 0
  }
}
```

{% endtab %}

{% tab title="400: Bad Request Error" %}

```javascript
{
     error: true,
     message: string,
     data: null
     }

```

{% endtab %}
{% endtabs %}

### Request Verification Token

#### This endpoint is used by 3rd party to get verification Token&#x20;

<mark style="color:green;">`POST`</mark> `https://fuspay-kyc-prod-e9eb4fd3aa33.herokuapp.com/api/v1/request`

The verification token will be sent to the email address&#x20;

#### Headers

<table><thead><tr><th width="209">Name</th><th width="169">Type</th><th>Description</th></tr></thead><tbody><tr><td>Content-type<mark style="color:red;">*</mark></td><td>String</td><td>application/json</td></tr></tbody></table>

#### Request Body

| Name                                    | Type   | Description          |
| --------------------------------------- | ------ | -------------------- |
| email<mark style="color:red;">\*</mark> | String | <sample@example.com> |

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

```json
{
  "message": "Verifiection token sent successfully",
  "value": "123456"
}
```

{% endtab %}
{% endtabs %}

#### Example Request- Code

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

```javascript
const fetch = require('node-fetch');

fetch(" 
https://fuspay-kyc-ms-df741b092e53.herokuapp.com/api/v1
/request", {
  "method": "POST",
  "headers": {
    "Content-Type": "application/json",
  },
  "body": {
    "email": "sample@example.com",
  }
})
  .then(response => console.log(response))
  .catch(err => console.error(err));
```

{% endtab %}
{% endtabs %}

### Get KYC Type

<mark style="color:green;">`GET`</mark> `https://fuspay-kyc-prod-e9eb4fd3aa33.herokuapp.com/api/v1/kyc_type/`

This endpoint is used to get an Array of KYC types (Business, Individual).  This provided the \_id of the KYC that would be used when creating a KYC request&#x20;

#### Headers

<table><thead><tr><th width="209">Name</th><th width="133">Type</th><th>Description</th></tr></thead><tbody><tr><td>Content-type<mark style="color:red;">*</mark></td><td>String</td><td>application/json</td></tr></tbody></table>

#### Request Body

<table><thead><tr><th>Name</th><th width="157">Type</th><th>Description</th></tr></thead><tbody><tr><td>curl --location</td><td>String</td><td>This enables <code>curl</code> to follow HTTP redirects automatically.</td></tr></tbody></table>

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

```json
[
  {
    "_id": "6564dc907049168cd3eeab8e",
    "flow_id": "6551e7065c98f8001cee0fc2",
    "name": "Individual",
    "created_at": "2023-11-27T18:14:40.904Z",
    "updated_at": "2023-11-27T18:14:40.904Z",
    "__v": 0
  }
]
```

{% endtab %}
{% endtabs %}

<table><thead><tr><th width="134">Key</th><th>Type</th><th>Description</th><th>Value</th></tr></thead><tbody><tr><td>id</td><td>String</td><td>This is the id that represents the KYC (Business, Individual) . </td><td>e.g. 5b47837d7839e9d9dyd93997d939</td></tr><tr><td>flow_id</td><td>String</td><td>The flow id represents the specific flow of the KYC. e.g. KYC for individuals can have different flows</td><td>e.g. 6a3636e63848r838383478w8</td></tr><tr><td>name</td><td>String</td><td>This describes the kind of KYC e.g. Individual.</td><td>individual/business</td></tr></tbody></table>

### Create Order Endpoint&#x20;

#### Create Order Endpoint for Individual

#### This endpoint is used to create a KYC order for an individual

<mark style="color:green;">`POST`</mark> `https://fuspay-kyc-prod-e9eb4fd3aa33.herokuapp.com/api/v1/order/`

#### Headers

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

#### Request Body

<table><thead><tr><th>Key</th><th width="196">Type</th><th>Description</th></tr></thead><tbody><tr><td>full_name</td><td>String</td><td>The user full name to create the KYC</td></tr><tr><td>email</td><td>String</td><td>The user email to create the KYC</td></tr><tr><td>phone</td><td>String</td><td>The phone number to create the KYC</td></tr><tr><td>app</td><td>String</td><td>This is your app's ID </td></tr><tr><td>kyc_type</td><td>String</td><td>This is a string representing the KYC type. Each KYC type has an identifier </td></tr><tr><td>callback</td><td>String </td><td>A webhook where notifications from us would be posted to </td></tr><tr><td>redirect</td><td>String </td><td>This is a URL where we would redirect your users after they have completed the KYC journey. </td></tr><tr><td>reference</td><td>String </td><td>This is an identifier for your user from your end. </td></tr></tbody></table>

{% tabs %}
{% tab title="200: OK successful response" %}

```json
{
  "_id": "660c1000ed806b0874954140",
  "app": "66053d262d3f43787be1e1a6",
  "kyc_type": {
    "_id": "65cc97ef7aef3a4c06747dfe",
    "name": "Individual",
    "created_at": "2024-02-14T10:37:35.637Z",
    "updated_at": "2024-02-14T10:37:35.637Z",
    "__v": 0
  },
  "scan_ref": "",
  "verification_url": "http://localhost:5173/verification/individual/660c1000ed806b0874954140",
  "callback": "https://custom-webhook-app-8b6d54acde1c.herokuapp.com/api/payload",
  "reference": "1234",
  "redirect": "https://custom-webhook-app-8b6d54acde1c.herokuapp.com",
  "created_at": "2024-04-02T14:02:40.628Z",
  "updated_at": "2024-04-02T14:02:40.640Z",
  "__v": 0
}
```

{% endtab %}

{% tab title="400: Bad Request failed responses" %}

```
```

{% endtab %}
{% endtabs %}

#### Response Body&#x20;

| Key               | Type   | Description                                                                                             | Value               |
| ----------------- | ------ | ------------------------------------------------------------------------------------------------------- | ------------------- |
| \_id              | String | This is the identifier representing the request sent to the KYC create request endpoint                 |                     |
| app               | String | This is your app's ID                                                                                   |                     |
| kyc\_type         | Object | An object containing info about the KYC performed                                                       |                     |
| \_id              | String | the id of the KYC type                                                                                  |                     |
| name              | String | the type of KYC that was performed.                                                                     | Individual/Business |
| verification\_url | String | this is the link where your user is redirected to go and perform  the KYC                               |                     |
| callback          | String | This is the URL where KYC status of your user would be posted after they have completed the KYC journey |                     |
| redirect          | String | This is the URL where your user would be redirected after KYC.                                          |                     |

#### Example Request- Code

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

{% endtab %}

{% tab title="cURL" %}

{% endtab %}
{% endtabs %}

#### Create Order Endpoint for Business

#### This endpoint is used to create a KYC order for a business

<mark style="color:green;">`POST`</mark> `https://fuspay-kyc-prod-e9eb4fd3aa33.herokuapp.com/api/v1/business/order`

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

#### Request Body

```json
{
    "business_name": "Springbok 9",
    "country": "Nigeria",
    "business_email": "joel.n@yarn.us",
    "app": "{{kyc_app_id}}",
    "kyc_type": "{{kyc_type_id}}",
    "callback": "https://webhook.site/29e10900-6a6d-4663-b2d9-def37b0768d9",
    "reference": "1234",
    "redirect": "https://webhook.site/29e10900-6a6d-4663-b2d9-def37b0768d9",
    "custom_files": ["Birth Certificate", "NIN"],
    "state_of_jurisdiction": "Indonesia"
}
```

<table><thead><tr><th>Key</th><th width="271">Type</th><th>Description</th></tr></thead><tbody><tr><td>business_name</td><td>String</td><td>The name of the business to be KYCed </td></tr><tr><td>country</td><td>String</td><td>The country of the business of be KYCed </td></tr><tr><td>business_email</td><td>String</td><td>This is the email of the business you are trying to do KYC for </td></tr><tr><td>app</td><td>String</td><td>This is your app's ID </td></tr><tr><td>kyc_type</td><td>String</td><td>This is a string representing the KYC type. Each KYC type has an identifier </td></tr><tr><td>callback</td><td>String </td><td>A webhook where notifications from us would be posted to </td></tr><tr><td>redirect</td><td>String </td><td>This is a URL where we would redirect your users after they have completed the KYC journey. </td></tr><tr><td>reference</td><td>String </td><td>This is an identifier for your user from your end. </td></tr><tr><td>custom_files</td><td>Array</td><td>This is an array containing a list of extra/custom files you would like to be collected from the business</td></tr><tr><td>state_of_jurisdiction</td><td>String</td><td>This is the country the business was incorporated in. </td></tr></tbody></table>

{% tabs %}
{% tab title="200: OK successful response" %}

```json
{
  "_id": "65dfee0ee6198e7a89765cfa",
  "app": "65cc972b458f23f853670917",
  "business_name": "Fuspay Technologies",
  "country": "Nigeria",
  "business_email": "joel.n@fuspay.us",
  "kyc_type": {
    "_id": "65de68871f07994754c3db87",
    "name": "Business",
    "created_at": "2024-02-27T22:56:07.010Z",
    "updated_at": "2024-02-27T22:56:07.010Z",
    "__v": 0
  },
  "verification_url": "http://localhost:5173/verification/business/65dfee0ee6198e7a89765cfa",
  "reference": "1234",
  "redirect": "https://webhook.site/29e10900-6a6d-4663-b2d9-def37b0768d9",
  "custom_files": [],
  "created_at": "2024-02-29T02:38:06.033Z",
  "updated_at": "2024-02-29T02:38:06.052Z",
  "__v": 0,
  "order": {
    "_id": "65dfee0ee6198e7a89765cfc",
    "progress": [],
    "error": [],
    "status": "Unprocessed",
    "kyc_token": "",
    "created_at": "2024-02-29T02:38:06.047Z",
    "updated_at": "2024-02-29T02:38:06.063Z",
    "__v": 0
  }
}
```

{% endtab %}

{% tab title="400: Bad Request failed responses" %}

```
```

{% endtab %}
{% endtabs %}

#### Response Body&#x20;

| Key               | Type   | Description                                                                                             | Value               |
| ----------------- | ------ | ------------------------------------------------------------------------------------------------------- | ------------------- |
| \_id              | String | id representing the business that has been KYCed on the KCY system                                      |                     |
| app               | String | This is your app's ID                                                                                   |                     |
| kyc\_type         | Object | An object containing info about the KYC performed                                                       |                     |
| \_id              | String | the id of the KYC type eg individual or businesses                                                      |                     |
| name              | String | the type of KYC that was performed.                                                                     | Individual/Business |
| verification\_url | String | this is the link where your user is redirected to go and perform  the KYC                               |                     |
| callback          | String | This is the URL where KYC status of your user would be posted after they have completed the KYC journey |                     |
| redirect          | String | This is the URL where your user would be redirected after KYC.                                          |                     |
| custom\_files     | Array  | an Array containing the custom files to be collected from the business                                  |                     |
| order             | Object | This is an object containing details of the KYC request/order                                           |                     |
| \_id              | String | this is an id presenting the KYC request itself                                                         |                     |
| status            | String | The status of the order                                                                                 |                     |

### Get Callbacks

<mark style="color:green;">`GET`</mark> `https://fuspay-kyc-prod-e9eb4fd3aa33.herokuapp.com/api/v1/responses`

#### Headers

<table><thead><tr><th width="209">Name</th><th width="133">Type</th><th>Description</th></tr></thead><tbody><tr><td>Content-type<mark style="color:red;">*</mark></td><td>String</td><td>application/json</td></tr></tbody></table>

#### Request Body

<table><thead><tr><th>Name</th><th width="209">Type</th><th>Description</th></tr></thead><tbody><tr><td>curl --location --request OPTIONS</td><td>String</td><td>follows HTTP redirects and specifically sends an HTTP OPTIONS request.</td></tr></tbody></table>

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

```json
{
  "status": "init",
  "event": "applicantCreated",
  "order": "6687e2a3d49fe128f868203f",
  "timestamp": "2024-07-05T12:10:20.741Z",
  "kyc_token": "",
  "account": "6687e2a3d49fe128f868203d",
  "user_reference": "914a7ba2-fba8-44b7-a30c-9b332b4ce630",
  "meta_data": {
    "kyc_note": "The user is being created and KYC process is initiated.",
    "kyc_status": "awaiting_approval"
  },
  "first_name": "",
  "last_name": "",
  "phone": "",
  "email": "",
  "country": ""
}
```

{% endtab %}

{% tab title="Started" %}

```json
{
  "status": "init",
  "event": "applicantPersonalInfoChanged",
  "order": "6687e2a3d49fe128f868203f",
  "timestamp": "2024-07-05T12:10:20.741Z",
  "kyc_token": "",
  "account": "6687e2a3d49fe128f868203d",
  "user_reference": "914a7ba2-fba8-44b7-a30c-9b332b4ce630",
  "meta_data": {
    "kyc_note": "The user is being created and KYC process is initiated.",
    "kyc_status": "awaiting_approval"
  },
  "first_name": "",
  "last_name": "",
  "phone": "",
  "email": "",
  "country": ""
}
```

{% endtab %}

{% tab title="Pending" %}

```json
{
  "status": "pending",
  "event": "applicantPending",
  "order": "66881ff8884ff64fd2af95e6",
  "timestamp": "2024-07-05T16:55:45.240Z",
  "kyc_token": "",
  "account": "66881ff8884ff64fd2af95e4",
  "user_reference": "flw-app-001",
  "meta_data": {
    "kyc_note": "A user has uploaded the required documents and their status changed to Pending.",
    "kyc_status": "awaiting_approval"
  },
  "first_name": "",
  "last_name": "",
  "phone": "",
  "email": "",
  "country": ""
}
```

{% endtab %}

{% tab title="Completed" %}

```json
{
  "status": "completed",
  "event": "applicantReviewed",
  "order": "66881ff8884ff64fd2af95e6",
  "timestamp": "2024-07-05T16:56:15.191Z",
  "kyc_token": "",
  "account": "66881ff8884ff64fd2af95e4",
  "user_reference": "flw-app-001",
  "meta_data": {
    "kyc_note": "Verification is complete.",
    "kyc_status": "approved"
  },
  "first_name": "",
  "last_name": "",
  "phone": "",
  "email": "",
  "country": ""
}
```

{% endtab %}

{% tab title="User Data" %}

```json
{
  "status": "completed",
  "event": "applicantReviewed",
  "order": "66881ff8884ff64fd2af95e6",
  "timestamp": "2024-07-05T16:56:22.889Z",
  "kyc_token": "",
  "account": "66881ff8884ff64fd2af95e4",
  "user_reference": "flw-app-001",
  "meta_data": {
    "kyc_note": "Verification is complete and user's data is being returned",
    "kyc_status": "approved"
  },
  "first_name": "Timilehin",
  "last_name": "Abodunrin",
  "phone": "+2348113372866",
  "email": "joeltimmy7@gmail.com",
  "country": "NGA"
}
```

{% endtab %}
{% endtabs %}

<table><thead><tr><th width="163">Key</th><th>Type</th><th width="137">Description</th><th>Value</th></tr></thead><tbody><tr><td>Status</td><td>String</td><td>refers to the current phase of an order. </td><td>initialized, started, pending or completed</td></tr><tr><td>Event</td><td>String</td><td>events are key actions in the KYC process, such as submission, review, or approval, that affect the order's progress and outcome.</td><td>submission, review, or approval</td></tr><tr><td>Order</td><td>String</td><td>It is a unique identifier assigned to a specific KYC order</td><td></td></tr><tr><td>Timestamp</td><td>String</td><td>It is a record of the date and time when a specific event occurred</td><td></td></tr><tr><td>Kyc_token</td><td>String</td><td>It is a unique token used to authenticate KYC processes</td><td></td></tr><tr><td>Account</td><td>String</td><td>It is used to uniquely reference and manage an individual's or entity's KYC profile within the system</td><td></td></tr><tr><td>User_reference</td><td>String</td><td>It is a unique identifier assigned to a user specifically to managae KYC processes.</td><td></td></tr><tr><td>Mega_data</td><td>Array</td><td>metadata helps in tracking, managing, and providing context to the KYC process.</td><td>KYC Note, KYC Status</td></tr><tr><td>First_name</td><td>String</td><td>This is the first name of the customer</td><td></td></tr><tr><td>Last_name</td><td>String</td><td>This is the last name of the customer</td><td></td></tr><tr><td>Phone</td><td>String</td><td>This is the customer's phone number</td><td></td></tr><tr><td>Email</td><td>String</td><td>This is the Customer's Email Address</td><td></td></tr><tr><td>Country</td><td>String</td><td>This is the customer's country </td><td></td></tr></tbody></table>

### Get Verification Status and User's Data

<mark style="color:green;">`GET`</mark> `https://fuspay-kyc-prod-e9eb4fd3aa33.herokuapp.com/api/v1/order/verification-status`

This endpoint is used to know the KYC status of your user. Where they are in the KYC Journey.&#x20;

#### Headers

<table><thead><tr><th width="209">Name</th><th width="133">Type</th><th>Description</th></tr></thead><tbody><tr><td>Content-type<mark style="color:red;">*</mark></td><td>String</td><td>application/json</td></tr></tbody></table>

**Query Params**

<table><thead><tr><th width="238">Name</th><th>Description</th></tr></thead><tbody><tr><td>app_id</td><td><code>This is your app's ID</code></td></tr><tr><td>user_reference</td><td><code>This is your user's reference from your system</code> </td></tr></tbody></table>

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

```json
{
  "status": "UNPROCESSED",
  "user_facial_images": {
    "image_1": "",
    "image_2": ""
  },
  "_id": "6687e6b301dd50bc5e48af12",
  "email": "joeltimmy7@gmail.com",
  "full_name": "Ndoh Joel",
  "phone": "08113372866",
  "app": "667884fafdd3466dbf7c5fa4",
  "kyc_type": "6675bf35dbeea1617aaad262",
  "scan_ref": "",
  "verification_url": "http://localhost:5173/verification/individual/6687e6b301dd50bc5e48af12",
  "callback": "https://custom-webhook-app-8b6d54acde1c.herokuapp.com/api/payload",
  "reference": "cee4d97b-c90b-425f-a902-0883b4b142ca",
  "redirect": "",
  "address": "",
  "bvn": "",
  "country": "",
  "govt_id_no": "",
  "govt_id_photo": "",
  "proof_of_address": "",
  "bank_statement": "",
  "user_indemnity": "",
  "guarantors_form": "",
  "id_of_guarantor": "",
  "guarantors_proof_of_address": "",
  "created_at": "2024-07-05T12:27:31.958Z",
  "updated_at": "2024-07-05T12:27:31.971Z",
  "__v": 0,
  "order": {
    "_id": "6687e6b301dd50bc5e48af14",
    "progress": [],
    "error": [],
    "status": "UNPROCESSED",
    "kyc_token": "",
    "created_at": "2024-07-05T12:27:31.966Z",
    "updated_at": "2024-07-05T12:27:31.966Z",
    "__v": 0
  }
}
```

{% endtab %}

{% tab title="400" %}

```json
{
  "status": "UNPROCESSED"
}
```

{% endtab %}
{% endtabs %}

<table><thead><tr><th width="137">Key</th><th width="114">Type</th><th>Description</th><th>Value</th></tr></thead><tbody><tr><td>status</td><td>String</td><td>refers to the current state of the KYC process for an individual or business</td><td>UNPROCESSED</td></tr><tr><td>user's_facial_images</td><td>Array</td><td>These are the images of the user's face</td><td></td></tr><tr><td>_id</td><td>String</td><td>The identity number used to recognize and track the user in the verification process.</td><td></td></tr><tr><td>email</td><td>String</td><td>email of the user</td><td></td></tr><tr><td>full_name</td><td>String</td><td>full name of the user</td><td></td></tr><tr><td>phone</td><td>String</td><td>phone number of the user</td><td></td></tr><tr><td>app</td><td>String</td><td>This is your apps id</td><td></td></tr><tr><td>kyc_type</td><td>String</td><td>This is a string representing the KYC type. Each KYC type has an identifier </td><td></td></tr><tr><td>scan_ref</td><td>String</td><td>reference number or identifier that is associated with the verification process</td><td></td></tr><tr><td>verification_url</td><td>String</td><td>this is the link where your user is redirected to go and perform  the KYC </td><td><a href="http://localhost:5173/verification/individual/6687e6b301dd50bc5e48af12">http://localhost:5173/verification/individual/6687e6b301dd50bc5e48af12</a></td></tr><tr><td>callback</td><td>String</td><td>This is the URL where KYC status of your user would be posted after they have completed the KYC journey </td><td><a href="https://custom-webhook-app-8b6d54acde1c.herokuapp.com/api/payload">https://custom-webhook-app-8b6d54acde1c.herokuapp.com/api/payload</a></td></tr><tr><td>reference</td><td>String</td><td>This is an identifier for your user from your end. </td><td>e.g. cee4d97b-c90b-425f-a902-0883b4b142ca</td></tr><tr><td>redirect</td><td>String</td><td>This is a URL where we would redirect your users after they have completed the KYC journey. </td><td></td></tr><tr><td>address</td><td>String</td><td>This is the house address of the user</td><td></td></tr><tr><td>bvn</td><td>String</td><td>This is the bank verification number of the user</td><td></td></tr><tr><td>country</td><td>String</td><td>This is the user's country</td><td></td></tr><tr><td>govt_id_no</td><td>String</td><td>This is the government identity number of the user</td><td></td></tr><tr><td>govt_id_photo</td><td>String</td><td>This is the user's government id photo</td><td></td></tr><tr><td>proof_of_address</td><td>String</td><td>This is the user's proof of address</td><td></td></tr><tr><td>bank_statement</td><td>String</td><td>This is the bank statement of the user</td><td></td></tr><tr><td>user_indemnity</td><td>String</td><td><p>This is the user's agreement to cover losses or liabilities from their actions.</p><p>4o</p></td><td></td></tr><tr><td>guarantors_form</td><td>String</td><td>This is the document where guarantors agree to cover obligations if the primary party defaults</td><td></td></tr><tr><td>id_of_guarantor</td><td>String</td><td>This is the id of the guarantor</td><td></td></tr><tr><td>guarantors_proof_of_address</td><td>String</td><td>This is the guarantors proof of address</td><td></td></tr><tr><td>created_at</td><td>Datetime</td><td>this is the time  your app was registered on the KYC system </td><td>e.g. 2024-07-05T12:27:31.958Z</td></tr><tr><td>updated_at</td><td>Datetime</td><td>This is the last time a value was updated on your app's data </td><td>e.g. 2024-07-05T12:27:31.971Z</td></tr><tr><td>__v</td><td>Number</td><td></td><td></td></tr><tr><td>order</td><td>Array</td><td>A request to initiate the verification process or to check the status of a user's data.</td><td></td></tr><tr><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td><td></td></tr></tbody></table>
