The Customers API does not create business customers. The only accepted
type is individual.Customer lifecycle
1
Create the individual
Submit the customer’s identity, contact, and residential information to
POST /api/v1/customers.2
Store the customer ID
Persist the returned FossaPay UUID alongside your own customer identifier.
3
Provision a wallet
Create an NGN wallet or stablecoin wallet using the customer UUID.
4
Retrieve and reconcile
Retrieve the customer by UUID or use the paginated list endpoint for operational search and administration.
Customer type
Every external customer request must include:422 before account creation begins.
Do not send a business name as a customer name. Your FossaPay merchant account represents the business; records created through this API represent the individuals that business serves.
Name requirements
The external API accepts up to three personal names, with one name in each field:
Use this structure:
lastName: "Michael Doe" is invalid.
Each name may contain Unicode letters and combining marks. A hyphen, straight apostrophe, or typographic apostrophe may join parts of the same name. Spaces, numbers, and other punctuation are rejected. Leading and trailing whitespace is removed before validation.
Required information
The request body is allowlisted. Unknown fields are rejected rather than silently stored or forwarded.
Create a customer
201 response returns the FossaPay customer record:
data.id; wallet creation and customer-funded transfer operations require this UUID. Notice that the request field is dateOfBirth, while the response field is dob.
FossaPay currently supports production access only. This request creates a live customer record.
Data handling
FossaPay stores the customer information required to identify the individual and operate the account. During production customer creation:- personal names, date of birth, address, city, customer type, and country identifiers are used for account provisioning;
emailAddressandmobileNumberare retained by FossaPay and are not used for bank account provisioning; and- arbitrary or unknown request properties are rejected and are not forwarded.
List customers
GET /api/v1/customers returns only customers owned by the authenticated merchant.
Use the list endpoint for administrative search and pagination. When you already have the customer UUID, use
GET /api/v1/customers/{customerId} instead.
Ownership and access
Customer operations are merchant-scoped. An API key can retrieve only customers associated with its merchant account. A UUID obtained from another merchant does not grant access to that record. Persist your own user-to-customer mapping. Do not repeatedly search by personal information to rediscover a customer ID. The public Customers API currently provides create, list, and retrieve operations. It does not expose customer update or deletion endpoints.Errors and safe retries
Customer creation does not provide idempotency semantics. If the connection fails after submission, search your merchant’s customers using the unique email address before retrying. If no record appears but the outcome remains uncertain, retain the request timestamp and contact support instead of repeatedly submitting the same identity.
Operational checklist
- Represent only individual end users through the Customers API.
- Send no more than one personal name in each supported name field.
- Set
typetoindividual. - Keep email addresses unique within your merchant account.
- Persist the returned FossaPay customer UUID with your own user ID.
- Keep API keys and personal data out of client-side code and unnecessary logs.
- Reconcile an ambiguous create request before retrying.
- Create the required wallet only after customer creation succeeds.
API reference
Next steps
NGN wallets
Provision a dedicated NGN bank account for the customer.
Crypto wallets
Create a Solana wallet for SOL/USDC/USDT or a Stellar wallet for XLM/USDC.

