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


---

# Agent Instructions: Querying This Documentation

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

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

```
GET https://fuspay.gitbook.io/kyc/getting-started.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

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