Customers
The Customers API enables you to create, retrieve, update, and delete customer profiles. Use these endpoints to manage customer identity details, contact information, and track customers across transactions for reporting and compliance.
Create a new customer
Use Case
This endpoint is used to create a new customer.
Create Customer Request Body
First name of the customer. This is typically used for identification and personalization in communications.
Last name or surname of the customer. Combined with the first name to form the full legal name.
A valid and unique email address used to identify and contact the customer. It also serves as a primary login credential.
Customer’s active phone number, formatted in international standard (e.g., +233XXXXXXXXX). May be used for verification and notifications.
The country dial code used for phone number formatting (e.g., '+234' for Nigeria, '+1' for United States).
The type of customer account to create. Accepted values: 'individual' for personal accounts or 'business' for company accounts.
Create Customer Response
Returns a Customer Response.
Standard response structure for all customer endpoints.
Top-level flag indicating whether the request was processed successfully.
Human-readable status message describing the outcome.
Envelope wrapping the created customer record.
Unique identifier assigned to the customer. Use it in subsequent endpoints (get, update, blacklist).
The customer's given name.
The customer's family name or surname.
Email address associated with the customer.
The customer account type: 'individual' or 'business'.
Identifier of the company this customer belongs to.
Identifier of the user or API client that created this customer.
Whether the customer account is currently active. Blacklisted customers return false.
Stringified JSON of additional metadata attached to the customer (e.g. '{}' when empty).
RFC 3339 / ISO 8601 timestamp of when the customer was created (UTC).
RFC 3339 / ISO 8601 timestamp of the most recent update to the customer record (UTC).
Top-level response metadata (support and debugging info).
Unique identifier for this API request, useful for log correlation and support.
Top-level RFC 3339 / ISO 8601 server timestamp of when the response was generated (UTC).
Update Customer
Use Case
This endpoint is used to update an existing customer's information.
The unique identifier of the customer you want to update
Update Customer Request Body
Customer's valid email address.
Customer's first name.
Customer's last name.
Only include the fields you want to change — any field omitted from the request body keeps its current value.
Update Customer Response
Returns an updated CustomerResponse..
The response is identical to that of Customer Response. Refer to the Customer Response. section for field explanations.
Get Customer by ID or Query Parameters
Use Case
Retrieve a customer by filtering on id, reference, email, customer_type, or is_active. Pass any combination of these as query parameters on the GET /api/customers endpoint.
Query Parameters
Filter by the customer's system-generated UUID.
Filter by the customer's external reference if you attached one.
Filter by the customer's email address (exact match).
Filter by account type: 'individual' or 'business'.
Filter by active status — 'true' for active customers, 'false' for blacklisted/inactive.
Response
The response shape depends on how you called the endpoint.
By Query Parameters: returns data.customers[] with page, page_size, and total for pagination — even when a single match is found.
By ID: returns the customer object directly at data.
Customer fields are identical to the Create Customer Response shape. Refer to that section for per-field explanations.