Submit ID Card Document
KYC
Submit ID Card Document
Submit an ID-card document URL for back-office review during customer KYC.
POST
Submit ID Card Document
Endpoint
POST /api/v1/customers/kyc/id-card
Headers
| Header | Value |
|---|---|
Content-Type | application/json |
x-api-key | <tenant API key> |
Request body
| Field | Type | Required | Description |
|---|---|---|---|
customerId | string (GUID) | yes | The customer the document belongs to. Must be on Tier 2 (NIN + BVN verified + liveness completed). |
documentType | string enum | yes | Allowed: NIN_CARD, DRIVERS_LICENCE, PASSPORT, VOTERS_CARD. Case-insensitive on input; normalised on output. |
documentUrl | string (HTTPS URL) | yes | Must use https://. Plain http:// is rejected. The URL is stored verbatim; the back office presigns / fetches it during review. |
submissionChannel | string enum | no | Source of the request. Allowed: WAAS (default), MERCHANT_SERVICE. |
Success response
Error responses
| Status | Trigger | Sample body |
|---|---|---|
400 | Invalid GUID | {"code":"400","success":false,"message":"customerId must be a valid GUID","data":null} |
400 | Unknown documentType | {"code":"400","success":false,"message":"documentType 'X' is not accepted. Allowed values: NIN_CARD, DRIVERS_LICENCE, PASSPORT, VOTERS_CARD","data":null} |
400 | documentUrl not HTTPS | {"code":"400","success":false,"message":"documentUrl must use HTTPS","data":null} |
404 | Customer not found | {"code":"404","success":false,"message":"The customer could not be found","data":null} |
422 | NIN/BVN not verified | {"code":"422","success":false,"message":"NIN and BVN verification must be completed before an ID card can be submitted","data":null} |
422 | Tier below 2 | {"code":"422","success":false,"message":"Customer must be on Tier 2 before submitting an ID card","data":null} |
409 | Submission pending | {"code":"409","success":false,"message":"A document submission is already under review. Re-upload is only permitted after current review completes.","data":null} |
409 | Already approved | {"code":"409","success":false,"message":"This customer's ID card has already been approved. No further submission is required.","data":null} |
500 | Unexpected | {"code":"500","success":false,"message":"An unexpected error occurred while submitting the ID card","data":null} |