---
description: >-
  This endpoint is used to create an account for a customer issuing a card. A
  customer tracking ID is returned which can be used access other resource such
  as virtual card, USD, GBP, EUR accounts etc.
---

# Create Customer - (Full KYC)

<mark style="color:green;">`POST`</mark> \{{base\_url\}}/business/fullkyc-customer

#### Headers

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

#### Request Body

| Name                                                  | Type    | Description                                                                                              |
| ----------------------------------------------------- | ------- | -------------------------------------------------------------------------------------------------------- |
| first\_name<mark style="color:red;">\*</mark>         | Sting   | Customer first name e.g John                                                                             |
| last\_name<mark style="color:red;">\*</mark>          | String  | Customer lastname e.g Doe                                                                                |
| email\_address<mark style="color:red;">\*</mark>      | String  | Customer Email e.g example@email.com                                                                     |
| phone\_number<mark style="color:red;">\*</mark>       | String  | Customer mobile number e.g +2347012345689                                                                |
| address<mark style="color:red;">\*</mark>             | Object  | Check sample request below                                                                               |
| bvnno<mark style="color:red;">\*</mark>               | String  | 21345678900                                                                                              |
| identity<mark style="color:red;">\*</mark>            | Object  | Check sample request below                                                                               |
| birth\_date<mark style="color:red;">\*</mark>         | String  | Date of birth in format yyyy-mm-dd. Must be at least 18 years old. e.g 2000-03-23                        |
| nationality<mark style="color:red;">\*</mark>         | String  | The ISO 3166-1 (three-character) country code representing the nationality of the customer. e.g NGR      |
| middle\_name                                          | Stringg | e.g Faith                                                                                                |
| employement\_status<mark style="color:red;">\*</mark> | String  | Customer current employment status e.g employed, homemaker, retired, self\_employed, student, unemployed |
|                                                       |         |                                                                                                          |

{% hint style="danger" %}
Your secret keys are to be kept secret and only stored on your servers. Do not pass your secret key to the front-end language where it can be exploited.
{% endhint %}

Take a look at how you might do this:

{% tabs %}
{% tab title="cURL" %}
```php
curl --location '{{base_url}}/business/create-customer' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer SECRET_KEY' \
--data-raw '{
    "first_name": "John",
    "last_name": "Doe",
    "phone_number": "07012345678",
    "bvnno": "20123456780",
    "birth_date": "2000-03-23",
    "nationality": "Nigeria",
    "middle_name": "Faith",
    "employment_status": "EMPLOYED",
    "email_address": "email@example.com",
    "address": {
        "house_no": "5",
        "street": "queen Estate, Alen road",
        "city": "Ikeja",
        "state": "Lagos State",
        "country": "Nigeria",
        "postal_code": "110320"
    },
    "identity": {
        "idtype": "National identity",
        "idno": "24H675B9084",
        "expiry_date": "24H675B9084",
        "idfront_url": "https://res.cloudinary.com/site/image/upload/v1714257348/idcard2.png",
        "idback_url": "https://res.cloudinary.com/site/image/upload/v1714257348/idcard2.png",
        "issuance_country": "Nigeria"
    }

}'
```
{% endtab %}

{% tab title="NodeJs" %}
```javascript
const axios = require('axios');
let data = JSON.stringify({
  "first_name": "John",
  "last_name": "Doe",
  "phone_number": "07012345678",
  "bvnno": "20123456780",
  "birth_date": "2000-03-23",
  "nationality": "Nigeria",
  "middle_name": "Faith",
  "employment_status": "EMPLOYED",
  "email_address": "email@example.com",
  "address": {
    "house_no": "5",
    "street": "queen Estate, Alen road",
    "city": "Ikeja",
    "state": "Lagos State",
    "country": "Nigeria",
    "postal_code": "2323"
  },
  "identity": {
    "idtype": "National identity",
    "idno": "24H675B9084",
    "expiry_date": "24H675B9084",
        "idfront_url": "https://res.cloudinary.com/site/image/upload/v1714257348/idcard2.png",
        "idback_url": "https://res.cloudinary.com/site/image/upload/v1714257348/idcard2.png",
    "issuance_country": "Nigeria"
  }
});

let config = {
  method: 'post',
  maxBodyLength: Infinity,
  url: '{{base_url}}/business/create-customer',
  headers: { 
    'Content-Type': 'application/json', 
    'Authorization': 'Bearer SECRET_KEY' 
  },
  data : data
};

axios.request(config)
.then((response) => {
  console.log(JSON.stringify(response.data));
})
.catch((error) => {
  console.log(error);
});

```
{% endtab %}

{% tab title="PHP - cURL" %}
```php
$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => '{{base_url}}/business/create-customer',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
    "first_name": "John",
    "last_name": "Doe",
    "phone_number": "07012345678",
    "bvnno": "20123456780",
    "birth_date": "2000-03-23",
    "nationality": "Nigeria",
    "middle_name": "Faith",
    "employment_status": "EMPLOYED",
    "email_address": "email@example.com",
    "address": {
        "house_no": "5",
        "street": "queen Estate, Alen road",
        "city": "Ikeja",
        "state": "Lagos State",
        "country": "Nigeria",
        "postal_code": "2323"
    },
    "identity": {
        "idtype": "National identity",
        "idno": "24H675B9084",
        "expiry_date": "24H675B9084",
        "idfront_url": "https://res.cloudinary.com/site/image/upload/v1714257348/idcard2.png",
        "idback_url": "https://res.cloudinary.com/site/image/upload/v1714257348/idcard2.png",
        "issuance_country": "Nigeria"
    }

}',
  CURLOPT_HTTPHEADER => array(
    'Content-Type: application/json',
    'Authorization: Bearer SECRET_KEY',
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

```
{% endtab %}

{% tab title="Dart" %}
```dart
var headers = {
  'Content-Type': 'application/json',
  'Authorization': 'Bearer SECRET_KEY'
};
var request = http.Request('POST', Uri.parse('{{base_url}}/business/create-customer'));
request.body = json.encode({
  "first_name": "John",
  "last_name": "Doe",
  "phone_number": "07012345678",
  "bvnno": "20123456780",
  "birth_date": "2000-03-23",
  "nationality": "Nigeria",
  "middle_name": "Faith",
  "employment_status": "EMPLOYED",
  "email_address": "email@example.com",
  "address": {
    "house_no": "5",
    "street": "queen Estate, Alen road",
    "city": "Ikeja",
    "state": "Lagos State",
    "country": "Nigeria",
    "postal_code": "2323"
  },
  "identity": {
    "idtype": "National identity",
    "idno": "24H675B9084",
    "expiry_date": "24H675B9084",
        "idfront_url": "https://res.cloudinary.com/site/image/upload/v1714257348/idcard2.png",
        "idback_url": "https://res.cloudinary.com/site/image/upload/v1714257348/idcard2.png",
    "issuance_country": "Nigeria"
  }
});
request.headers.addAll(headers);

http.StreamedResponse response = await request.send();

if (response.statusCode == 200) {
  print(await response.stream.bytesToString());
}
else {
  print(response.reasonPhrase);
}

```
{% endtab %}
{% endtabs %}

## Sample response

{% tabs %}
{% tab title="Successful" %}
```json
{
    "status": true,
    "responsecode": "01",
    "message": "Customer account fully created for John Doe",
    "trackid": "06211211"
}
```
{% endtab %}

{% tab title="Failed" %}
```json
{
    "status": false,
    "responsecode": "00",
    "message": "Unable to process request. Invalid authorization key",
    "trackid": ""
}
```
{% endtab %}
{% endtabs %}
