const response = await afriex.customers.list({
page: 0,
limit: 20,
email: "john@example.com",
});
console.log(response.data); // Customer[]
console.log(response.total); // Total countcurl --request GET \
--url https://sandbox.api.afriex.com/api/v1/customer \
--header 'x-api-key: <api-key>'import requests
url = "https://sandbox.api.afriex.com/api/v1/customer"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
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 => "GET",
CURLOPT_HTTPHEADER => [
"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"
"net/http"
"io"
)
func main() {
url := "https://sandbox.api.afriex.com/api/v1/customer"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://sandbox.api.afriex.com/api/v1/customer")
.header("x-api-key", "<api-key>")
.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::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"name": "Addams Oshay",
"email": "addams@example.com",
"phone": "+15086340138",
"customerId": "6929843e2c4653277440acc0",
"reference": "afx121011",
"countryCode": "US",
"createdAt": "2025-11-28T11:15:10.812Z",
"updatedAt": "2025-11-28T11:15:10.812Z"
},
{
"name": "Daniel Obirije",
"email": "daniel@example.com",
"phone": "+2347049861191",
"customerId": "6930610b0d8aab4a00b3f918",
"reference": "afx121011",
"countryCode": "NG",
"createdAt": "2025-12-03T16:10:51.291Z",
"updatedAt": "2025-12-03T16:10:51.291Z"
}
],
"total": 1448,
"page": 0
}List Customers
Retrieves a paginated list of customers.
const response = await afriex.customers.list({
page: 0,
limit: 20,
email: "john@example.com",
});
console.log(response.data); // Customer[]
console.log(response.total); // Total countcurl --request GET \
--url https://sandbox.api.afriex.com/api/v1/customer \
--header 'x-api-key: <api-key>'import requests
url = "https://sandbox.api.afriex.com/api/v1/customer"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
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 => "GET",
CURLOPT_HTTPHEADER => [
"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"
"net/http"
"io"
)
func main() {
url := "https://sandbox.api.afriex.com/api/v1/customer"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://sandbox.api.afriex.com/api/v1/customer")
.header("x-api-key", "<api-key>")
.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::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"name": "Addams Oshay",
"email": "addams@example.com",
"phone": "+15086340138",
"customerId": "6929843e2c4653277440acc0",
"reference": "afx121011",
"countryCode": "US",
"createdAt": "2025-11-28T11:15:10.812Z",
"updatedAt": "2025-11-28T11:15:10.812Z"
},
{
"name": "Daniel Obirije",
"email": "daniel@example.com",
"phone": "+2347049861191",
"customerId": "6930610b0d8aab4a00b3f918",
"reference": "afx121011",
"countryCode": "NG",
"createdAt": "2025-12-03T16:10:51.291Z",
"updatedAt": "2025-12-03T16:10:51.291Z"
}
],
"total": 1448,
"page": 0
}Authorizations
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
API version in ISO 8601 format (e.g. 2025-12-28). Defaults to latest stable.
Query Parameters
Page number for pagination (starting from 0)
x >= 0Number of items per page
1 <= x <= 100Filter by customer email address (exact match, case-insensitive).
"john.doe@example.com"
Filter by customer phone number in E.164 format.
"+2348192837465"
