Create Customer - Afriex Business API

Afriex SDK

TypeScript

const customer = await afriex.customers.create({ fullName: "John Doe", email: "john@example.com", phone: "+1234567890", countryCode: "US", });

curl --request POST \
  --url https://sandbox.api.afriex.com/api/v1/customer \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --data '\n{
  "fullName": "Jane Smith",
  "email": "jane.smith@example.com",
  "phone": "+2348192837465",
  "countryCode": "NG"
}\n'
import requests

url = "https://sandbox.api.afriex.com/api/v1/customer"

payload = {
    "fullName": "Jane Smith",
    "email": "jane.smith@example.com",
    "phone": "+2348192837465",
    "countryCode": "NG"
}
headers = {
    "x-api-key": "<api-key>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
  method: 'POST',
  headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
  body: JSON.stringify({
    fullName: 'Jane Smith',
    email: 'jane.smith@example.com',
    phone: '+2348192837465',
    countryCode: 'NG'
  })
};

fetch('https://sandbox.api.afriex.com/api/v1/customer', options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://sandbox.api.afriex.com/api/v1/customer",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "", 
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => json_encode([
    'fullName' => 'Jane Smith',
    'email' => 'jane.smith@example.com',
    'phone' => '+2348192837465',
    'countryCode' => 'NG'
  ]),
  CURLOPT_HTTPHEADER => [
    "Content-Type: application/json",
    "x-api-key: <api-key>"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
package main

import (
    "fmt"
    "strings"
    "net/http"
    "io"
)

func main() {

url := "https://sandbox.api.afriex.com/api/v1/customer"

payload := strings.NewReader("{\n  \"fullName\": \"Jane Smith\",\n  \"email\": \"jane.smith@example.com\",\n  \"phone\": \"+2348192837465\",\n  \"countryCode\": \"NG\"\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("x-api-key", "<api-key>")
    req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
    body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))
}
HttpResponse<String> response = Unirest.post("https://sandbox.api.afriex.com/api/v1/customer")
  .header("x-api-key", "<api-key>")
  .header("Content-Type", "application/json")
  .body("{\n  \"fullName\": \"Jane Smith\",\n  \"email\": \"jane.smith@example.com\",\n  \"phone\": \"+2348192837465\",\n  \"countryCode\": \"NG\"\n}")
  .asString();
require 'uri'
require 'net/http'

url = URI("https://sandbox.api.afriex.com/api/v1/customer")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"fullName\": \"Jane Smith\",\n  \"email\": \"jane.smith@example.com\",\n  \"phone\": \"+2348192837465\",\n  \"countryCode\": \"NG\"}\n"

response = http.request(request)
puts response.read_body

Response

{
"data": { "name": "Jane Smith", "email": "jane.smith@example.com", "phone": "+2348192837465", "customerId": "69d5ffe1ab82306f11b032f3", "countryCode": "NG", "createdAt": "2026-04-08T07:12:33.519Z", "updatedAt": "2026-04-08T07:12:33.519Z" } }

Create a new customer for your business. Customers can be created with optional KYC (Know Your Customer) information for enhanced verification.

Authorizations

x-api-key
string
header
required
Static business API key issued from the dashboard. A business can provision multiple API keys, each scoped to a configurable set of permissions (e.g. read transactions, create deposits, etc). Permissions are chosen per key at creation time in the dashboard and may be revoked by deleting the key. Requests made with a key that does not include the permission required by the target endpoint will be rejected with a 403 Forbidden response; an unrecognised, malformed or revoked key returns 401 Unauthorized. Manage your keys and their permissions under Developer → API keys in the dashboard.

Headers

x-api-version
string
API version in ISO 8601 format (e.g. 2025-12-28). Defaults to latest stable.

Body

application/json

fullName
string
required
The full name of the customer.

Example:

"John Doe"

email
string
required
The email address of the customer.

Example:

"john.doe@example.com"

phone
string
required
The phone number of the customer.

Example:

"+2348192837465"

countryCode
string
required
The ISO 3166-1 alpha-2 country code of the customer (e.g., 'NG', 'US').

Example:

"NG"

Response

201

application/json
Customer created successfully. Returns the newly created customer object.

data

object
Showchild attributes