Card KYC Preview
Submit a customer for identity verification before issuing their first card. Card KYC is the prerequisite step: approval returns a customer_id that you then pass to Create Card.
Request
Submit the customer and their verification details to POST /api/cards/kyc.
Request Body
Complete identity details of the person being verified. A successful submission creates the customer and returns their customer_id on the response — that id is what you pass to Create Card.
The type of ID being submitted for this customer. Accepted values are bvn, nin, passport, drivers_license, national_id, vnin, voters_card and ghana_card.
The value matching id_type — the BVN, NIN, or document number.
The customer's occupation, in lowercase snake_case — for example business_consultant.
The customer's current employment status — for example employed.
The customer's intended use for the card — for example business expenses.
Declared annual income, in whole major currency units and sent as a string.
Anticipated monthly card spend, in whole major currency units and sent as a string.
The customer's place of birth.
Confirms the customer accepted your terms of service. Must be true; sending false or omitting the field returns 'Terms of service must be accepted'.
Endpoint notified when the verification result changes. Use it in place of polling when a submission returns pending.
The front of the customer's ID document, base64-encoded, up to 3MB. Required for document id types — passport, drivers_license, national_id, vnin, voters_card and ghana_card — and must never be sent for bvn or nin.
first_name and last_name are verified against the identity document. Submit them exactly as they appear on the document.
Response Fields
Top-level flag indicating whether the request was processed successfully.
Human-readable summary of the outcome.
The verification result.
Identifier for the verified customer.
Outcome of the verification, for example 'approved'.
The same outcome mapped to a stable set of values.
URL for the customer to finish verification when more information is needed. Empty when nothing further is required.
The email address the customer was verified under, echoed back from the request.
The customer's first name, echoed back from the request.
The customer's surname, echoed back from the request.
Server time when the response was generated.