Creating a Card Holder
To construct a robust identity, you should provide detailed demographic and address information. ThePOST /card-holders endpoint accepts multipart/form-data, which uniquely enables you to submit both structured demographic JSON data and binary document uploads in a single request.
The Payload Structure
Instead of standard nested JSON, the API requires complex nested objects to be sent as stringified JSON under specific form fields.name: A plain string representing the user’s full name.person: A JSON-encoded string with demographic details:firstName,lastName,email,phoneNumber,dateOfBirth,gender,nationality.
address: A JSON-encoded string representing the physical or mailing address:line1,city,state,postalCode,countryCode.
identification: A JSON-encoded string tracking identity documents and proof of address configurations.
curl request for a text-only profile looks like this:
Uploading KYC Documents
Some card programs or jurisdictions mandate strict document collection before card issuance. BecausePOST /card-holders accepts multipart/form-data, you can append binary files such as documentMain or proofOfAddress directly to the creation request:
POST /card-holders/{cardHolderId}/documents.
Managing the Profile
Once a Card Holder is established, they can be referenced when callingPOST /cards to link issued cards to their identity.
If their email, phone number, or address changes over time, you can update their existing file using PUT /card-holders/{cardHolderId}. Unlike the creation endpoint, updates can be performed with standard application/json when file uploads are not required.
For full schema details, review the Card Holders API Reference.