Create Card
Endpoint
POST/api/v1/merchant/cards/
Used to create virtual and physical cards.
Card numbers, CVV, and expiration will be available immediately upon creation for both virtual and physical cards.
- Configure
cardType = physical if there is any chance you will want to ship out a physical card for the cardholder.
spendLimit works for Standard Authorization only. It is the opening balance of the card. Set an amount equivalent to the initial availableCredit on the Retrieve Card endpoint.
Request Body
{
"sumsubApplicantId": "appl_abc123xyz",
"cardType": "physical",
"spendLimit": 1000.00,
"customerType": "Consumer",
"preferredCardName": "My Card",
"kyc": {
"firstName": "John",
"lastName": "Doe",
"dob": "1990-01-01",
"residentialAddress": {
"idDocumentType": "passport",
"idDocumentNumber": "123456789",
"line1": "123 Main St",
"line2": "Apt 4B",
"city": "New York",
"country": "USA",
"postalCode": "10001"
}
},
"meta": {
"id": "unique-user-id",
"otpPhoneNumber": {
"dialCode": 1,
"phoneNumber": "1234567890"
},
"email": "user@example.com"
}
}
Body Parameters
Card Details
| Name |
Type |
Required |
Description |
sumsubApplicantId |
string |
✅ |
ID of the Sumsub applicant. Used to confirm the profile is KYC verified. Also used to cross-check submitted KYC. |
cardType |
string |
✅ |
Specifies the type of card to create (physical or virtual). |
preferredCardName |
string |
✅ |
Sets the name of the card. |
spendLimit |
float |
❌ |
Sets the maximum spending limit for this card (≥ 0). |
customerType |
string |
✅ |
Specifies if the cardholder is an individual (Consumer) or a business (Business). |
kyc |
object |
✅ |
KYC Object |
expiryDate |
date \| null |
❌ |
Expiry date (YYYY-MM-DD). Must be at least 1 month from creation. Defaults to 3 years if not specified. |
preferredCardName |
string |
✅ |
Name printed on the physical card (≤ 27 chars). Unsupported characters: ;:!?<>~\%@{} |[]”_. |
meta |
object |
✅ |
Supplementary data about the cardholder, used to identify the user in card system. |
cardDesign |
string |
❌ |
The ID of the approved card design artwork. Retrieved from GET /card-design/. |
KYC (Consumer)
| Name |
Type |
Required |
Description |
firstName |
string |
✅ |
Cardholder’s first name (≤ 20 chars). |
lastName |
string |
✅ |
Cardholder’s last name (≤ 20 chars). |
dob |
date |
✅ |
Cardholder’s date of birth (YYYY-MM-DD). |
residentialAddress |
object |
✅ |
Registered address details. |
Residential Address
| Name |
Type |
Required |
Description |
idDocumentType |
string |
✅ |
Government-issued ID type (passport, national ID, etc.). |
idDocumentNumber |
string |
✅ |
ID number (≤ 255 chars). |
line1 |
string |
✅ |
Address line 1 (≤ 255 chars). |
line2 |
string |
✅ |
Address line 2 (≤ 255 chars). |
city |
string |
✅ |
City or district (≤ 255 chars). |
country |
string |
✅ |
Three-letter country code (ISO 3166-1 alpha-3). |
postalCode |
string |
❌ |
Postal code (if applicable). |
KYC (Business)
| Name |
Type |
Required |
Description |
fullName |
string |
✅ |
Full legal name of the business. |
entityType |
string |
✅ |
Type of entity (personal or company). |
businessRegistrationNumber |
string |
✅ |
Legal business registration number. |
businessOperationAddress |
object |
✅ |
Business operation address details. |
Business Operation Address
| Name |
Type |
Required |
Description |
line1 |
string |
✅ |
Address line 1. |
line2 |
string |
✅ |
Address line 2. |
city |
string |
✅ |
City or district. |
country |
string |
✅ |
Three-letter country code (ISO 3166-1 alpha-3). |
postalCode |
string |
❌ |
Postal code. |
| Name |
Type |
Required |
Description |
otpPhoneNumber |
object |
✅ |
Cardholder’s phone number for authentication (3DS, wallet verification). |
id |
string |
✅ |
Unique identifier for the cardholder in your system. |
email |
string | null |
❌ |
Cardholder’s email for authentication. Recommended for a seamless experience. |
Example Response
{
"id": "a1af0838-0b47-42bd-9484-6ee115d0dba1",
"currency": "USD",
"lastFour": "7958",
"externalCustomerId": "unique-user-id",
"cardholderName": "John Doe",
"cardName": "Card 1",
"cardDesign": "a6d8a4d1-abcf-4af3-888e-7fdbf3721497",
"cardType": "virtual",
"status": "ACTIVE",
"created": "2025-06-16T23:07:22+0000"
}
Response Codes
| Status Code |
Description |
201 Created |
Card created successfully. |
400 Bad Request |
Invalid request parameters. |
401 Unauthorized |
Authentication failed. |
500 Internal Server Error |
Server error. |