cardholder_id with Create Card to create a card or Assign Card to assign a physical card. Proof of address does not require a separate approval wait.
Save proof of address through Create Cardholder or Update Cardholder. See those endpoints for document fields and requirements.
Cardholder requirements
- Call List Products and follow the target product’s
required_fields. Enhanced KYC products requireidentity,residential_address, andkyc_verification. If the product only requires Simplified KYC fields, the existing cardholder creation flow remains unchanged. - The combined length of
first_nameandlast_namemust not exceed 26 letters. residential_address.postal_codemust be 4–10 characters long, inclusive.
Overview
Prerequisites
Before making API calls, obtain an access token:auth_token in all subsequent requests via the x-auth-token header.
Step 1: Check Product Requirements
Call List Products to identify which fields your target product requires.required_fields array. An Enhanced KYC product will include identity, residential_address, and kyc_verification as required fields. Here is an example of an Enhanced product (BIN 46651711):
The
required_fields tell you exactly what information is needed. Only fields marked "required": true are mandatory — optional fields can be omitted.Step 2: Create Cardholder with Enhanced KYC
Call Create Cardholder with the full set of required fields pluskyc_verification.
There are two verification methods — choose the one that fits your use case:
Option A: SUMSUB_REDIRECT
Use this if you want UQPAY to handle identity verification via Sumsub. You will receive an IDV URL to redirect your cardholder to.INCOMPLETE status with an IDV link:
idv_verification_url to complete identity verification, then wait for the webhook notification (Step 3).
Option B: THIRD_PARTY
Use this if you have already completed identity verification through your own KYC provider and have a proof reference.Replace
<reference_id> with the globally unique reference ID from your KYC provider. kyc_proof.reference_id must contain 10 to 64 characters, inclusive.Step 3: Wait for KYC Approval (SUMSUB_REDIRECT only)
If you usedSUMSUB_REDIRECT, subscribe to the cardholder.kyc.status_changed webhook to receive notifications when KYC review completes or additional information is required. Handle the result using data.cardholder_status:
SUCCESS: Approved. You can proceed with card issuance.FAILED: Rejected. Do not issue a card.INCOMPLETE: Additional or corrected information is required. Address the information request and wait forSUCCESSbefore issuing a card.
data.reason contains the rejection or additional-information explanation when available and is empty when no explanation is available or the review is approved. An empty reason alone does not indicate approval.
Webhook payload example (KYC approved):
cardholder_status becomes SUCCESS, the cardholder has met this KYC status requirement. Region, applicable POA, and product requirements must also be met before issuance.
Cards cannot be issued while the cardholder is in
PENDING status. Wait for KYC approval before proceeding.Step 4: Create or assign a card
Once the information is complete and the product’s KYC requirements are met, usecardholder_id with Create Card to create a card. To assign an inventory physical card, use Assign Card and provide the card details required by that endpoint. Proof of address does not require a separate approval wait.
The following example creates a card:
The sample below uses
card_currency: "USD" for sandbox. In production, set card_currency to XUSD.Error Handling
KYC insufficient at card creation
If you attempt to create a card but the cardholder hasn’t met the product’s KYC requirements, you will receive an error withmissing_fields indicating which fields are still needed:
- Update the cardholder first via Update Cardholder, then retry card creation.
- Supply the existing KYC fields inline through
cardholder_required_fieldsin the Create Card request. Saveproof_of_addressandidentity_verificationthrough the cardholder endpoints first; card-issuance requests do not accept these uploads.
Cardholder in PENDING status
Creating a card while the cardholder’scardholder_status is PENDING will be rejected. Wait for the KYC review to complete before retrying.
