Identity verification (KYC)
Verify a customer's identity (BVN/NIN, selfie match, watchlist screening)
/customers/{id}/submit-kycidentity_verification:writeAuth Bearer keyIdempotentRequired before a sub virtual account can be issued. Send bvn and/or nin (11 digits), selfie_image (base64 JPEG/PNG), and date_of_birth (YYYY-MM-DD; required in live unless already on the customer, compared with the BVN/NIN record), optional source ("boundless" or "business_existing" when passing on KYC you already collected; it is re-checked either way) and external_reference. Each check is charged per call in live mode; checks that fail on our side are refunded. Sandbox: 22222222222 passes, 00000000000 is rejected, 11111111111 goes to review.
Path parameters
idstringrequiredHeaders
Idempotency-KeystringrequiredRetrying with the same key and payload replays the original response.
Responses
202Verification submitted
Errors
Errors use RFC 9457 problem details. Branch on code, and log request_id.
400Bad request401Unauthenticated403Forbidden409Idempotency conflict422Validation error429Rate limitedcurl -X POST "https://business.boundlesspay.com/api/public/v1/customers/{id}/submit-kyc" \
-H "Authorization: Bearer $BOUNDLESS_API_KEY" \
-H "Idempotency-Key: $(uuidgen)"