Try It Out

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.

Card KYC

Request Body
1
customerobjectRequired

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.

2
id_typestringRequired

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.

3
id_numberstringRequired

The value matching id_type — the BVN, NIN, or document number.

4
occupationstringRequired

The customer's occupation, in lowercase snake_case — for example business_consultant.

5
employment_statusstringRequired

The customer's current employment status — for example employed.

6
account_purposestringRequired

The customer's intended use for the card — for example business expenses.

7
annual_salarystringRequired

Declared annual income, in whole major currency units and sent as a string.

8
expected_monthly_volumestringRequired

Anticipated monthly card spend, in whole major currency units and sent as a string.

9
place_of_birthstringOptional

The customer's place of birth.

10
terms_of_service_acceptedbooleanRequired

Confirms the customer accepted your terms of service. Must be true; sending false or omitting the field returns 'Terms of service must be accepted'.

11
webhook_urlstringOptional

Endpoint notified when the verification result changes. Use it in place of polling when a submission returns pending.

12
id_front_imagestringConditional

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.

Name Must Match the Identity Document

first_name and last_name are verified against the identity document. Submit them exactly as they appear on the document.

Sample Request

Response Fields
1
successBoolean

Top-level flag indicating whether the request was processed successfully.

2
messagestring

Human-readable summary of the outcome.

3
dataobject

The verification result.

4
customer_idstring

Identifier for the verified customer.

5
statusstring

Outcome of the verification, for example 'approved'.

6
normalized_statusstring

The same outcome mapped to a stable set of values.

7
completion_linkstring

URL for the customer to finish verification when more information is needed. Empty when nothing further is required.

8
emailstring

The email address the customer was verified under, echoed back from the request.

9
first_namestring

The customer's first name, echoed back from the request.

10
last_namestring

The customer's surname, echoed back from the request.

11
timestampstring (ISO 8601)

Server time when the response was generated.

Response Body
Did you find this page useful?

Join our Discord