Retrieve customer details by ID. Required scope: customer:read.

GETapi-prod.blaaiz.com/api/external/customer/{id}

Authorization

oauth2ClientCredentials customer:read
AuthorizationBearer <token>

Use your OAuth client credentials to obtain a short-lived Bearer token from POST /oauth/token.

In: header

Scope: customer:read

Path Parameters

id*string

Customer ID

Response Body

application/json

application/json

application/json

Get a customer
curl --request GET \  --url 'https://example.com/api/external/customer/string'

{  "message": "Customer retrieved successfully",  "data": {    "id": "9d4c4ec5-59ea-4130-bf8a-6a5edec401ee",    "business_id": "9d4c4ec5-572d-49de-a362-f01ed09f2b1b",    "type": "individual",    "first_name": "John",    "last_name": "Doe",    "business_name": null,    "email": "john.doe@example.com",    "phone": "+2348012345678",    "country": "NG",    "id_type": "passport",    "id_number": "A12345678",    "tin": null,    "verification_status": "VERIFIED",    "enhanced_due_diligence": false,    "kyc_data": {      "id": "9d4c4ec5-59ea-4130-bf8a-6a5edec40200",      "dob": "1990-01-15",      "street": "123 Main Street",      "city": "Lagos",      "state": "Lagos",      "zip_code": "100001",      "operating_street": null,      "operating_city": null,      "operating_state": null,      "operating_zip_code": null,      "id_expiry_date": "2030-01-15",      "id_issue_date": "2020-01-15"    },    "created_at": "2024-01-15T10:30:00.000000Z",    "updated_at": "2024-01-15T10:40:00.000000Z"  }}

GETList all customers

Retrieve customers for your business. Supports optional exact-match filters on `email`, `id_number`, `registration_number`, `verification_status`, and `type`, and opt-in pagination via `paginate=true`. Filters and pagination compose. When `paginate` is omitted or not truthy, the response shape is unchanged (`{message, data: [...]}`). When `paginate=true`, the response is a paginated envelope (`{message, data: [...], links: {...}, meta: {...}}`) with 15 items per page. Use the `?page=N` query string (in addition to `paginate=true`) to fetch subsequent pages. **Ordering:** the paginated path returns results newest-first (by `created_at` descending). The default unpaginated path preserves the legacy database-order semantics for backwards compatibility — if you need a guaranteed order, opt in to `paginate=true`. Required scope: `customer:read`.

PUTUpdate a customer

Update customer profile details. Non-verified customers can update all fields. Verified customers can only update fields that are currently null — if you need to correct a mistake on a verified customer (wrong document, misspelled name, incorrect details), you must request a manual correction from the Blaaiz operations team by emailing support@blaaiz.com. See the Customer data corrections guide for the full process. The customer's country must match the country on the identity document submitted for KYC. Accepted identity documents: Driver's License, Passport, or Resident Permit for individual customers, Certificate of Incorporation for business customers. ID cards (National Identity Cards) are not accepted. All uploaded documents must be clear, legible, and authentic — unclear images will be rejected. Fraudulent or falsified documents will result in the customer being permanently blacklisted from the platform. Required scope: `customer:write`.