Issuing a Card
Issue Debit or Prepaid cards with flexible delivery options.
Card Issuance allows you to create and manage cards for a wide range of use cases—from customer spending to business expense management.
Cards can only be issued to an Account in ACTIVE status.
Before You Issue a Card
Before making an API call, it’s important to decide how the card should be issued. These choices determine how your request should be structured.
Individual customer or a business-associated user (Authorized User / Beneficial Owner)
Debit (linked to account balance) or Prepaid (pre-funded; business only)
Based on your Card Program — Digital, Physical, or Digital-first.
Physical issuance requires valid shipping details.
How Card Issuance Works
Card issuance is controlled by a combination of your Card Program configuration and the parameters you pass in the Card Issuance API.
Before issuing a card, you should always retrieve your Card Program to understand what is supported:
GET /v1/issuance/cardProgram/id/{id} (or using externalId)
The Card Program defines what is allowed, while your API request determines how the card is issued within those constraints.
Supported Card Configurations
Use the table below to map your Card Program configuration with the API input and understand the resulting card behavior.
| Card Type (Program) | Card Program Configuration | What You Send in Card Issuance API | Resulting Behavior |
|---|---|---|---|
| DEBIT | isDigitalFirst = false and subType = VIRTUAL | No issuanceType required | Digital-only card (no physical card can be issued) |
| DEBIT | isDigitalFirst = false and subType = PLASTIC | No issuanceType required | Physical card issued directly |
| DEBIT | isDigitalFirst = true and subType = PLASTIC | issuanceType = DIGITAL | Virtual card issued first; physical card can be requested later |
| DEBIT | isDigitalFirst = true and subType = PLASTIC | issuanceType = DIGITAL_AND_PHYSICAL | Virtual and physical card issued together |
| PREPAID | type = PREPAID | issuanceType = DIGITAL | Prepaid card issued first; physical card can be requested later |
| PREPAID | type = PREPAID | issuanceType = DIGITAL_AND_PHYSICAL | Virtual and physical card issued together |
How to Use This
- Always retrieve your Card Program first to understand supported configurations.
- Ensure your Card Issuance API request aligns with the program setup.
- If a combination is not supported by the Card Program, the issuance request will fail.
Issue a Card
Now that you understand how Card Program configuration impacts issuance, you can proceed to issue a card using a single unified API.
Use the POST /v1/customer/id/{id}/issuance/card (or externalId) to issue a Debit or Prepaid card.
What You Need to Provide
Instead of thinking in terms of API fields, think of card issuance as providing three key inputs:
- Who → Cardholder
- What → Card configuration
- How → Delivery method
1. Cardholder Details (Who will use the card)
| Parameter | Required | Description |
|---|---|---|
cardholder.type | Conditional | Required for business customers. Possible values: Not required for individual customers. |
cardholder.id or cardholder.externalId | ✓ | Unique identifier of the cardholder defined above. |
2. Card Configuration (How the card works)
| Parameter | Required | Description |
|---|---|---|
type | ✓ | Defines the funding model: Note: Prepaid cards are supported only for business customers. |
cardProgram.id | Optional | Identifier of the Card Program to be used. If not provided, the system uses the default Card Program configured for your account. You can verify available programs using the POST |
issuanceType | Conditional | Required only for Digital-First programs.
|
3. Delivery Details (How the card is delivered)
| Parameter | Required | Description |
|---|---|---|
shippingDetail.address.id or shippingDetail.address.externalId | Mandatory | Unique identifier of the cardholder’s delivery address. To retrieve the address, fetch themailingAddress.id for:
|
shippingDetail.address | Conditional | Provide address details (addressLine1, addressLine2, city, state, zip) if an address ID is not available. Providing a new address during issuance is only supported for card type = PREPAID . |
shippingDetail.expressDelivery | Optional | Indicates whether expedited shipping is required. Possible values: |
Retrieve the Issued Card
Once a card is issued, use the GET /v1/customer/id/{id}/issuance/card/id/{id} to retrieve its details. This API helps you:
- Confirm card issuance and check if the card is successfully created
- Track card status (e.g.,
ACTIVE,INACTIVE, delivery status for physical cards) - Verify cardholder details associated with the card
- Check issuance configuration, such as:
- Card type (Debit / Prepaid)
- Issuance type (Digital / Digital-first / Physical)
- Monitor shipping status for physical cards
- Access spend limits and available balance
- Determine if additional actions are required, such as enabling card-present transactions
Card Activation & Usage
The ability to use a card depends on how it was issued and whether additional actions such as activation or enablement are required.
| Card Type | Issuance Type | Activation Journey & Usage |
|---|---|---|
| Physical | — | Usable after Activate Card API (post delivery) Activation Journey: |
| Digital-first | DIGITAL | Virtual Card: Usable immediately Physical Card: Can be requested later when required.
PENDING → ACTIVE |
| Digital-first | DIGITAL_AND_PHYSICAL | Virtual Card: Usable immediately Physical Card: Issued immediately
PENDING → ACTIVE |
Scenarios
sequenceDiagram
participant You as Your Platform
participant PCE as PCE API
participant Card as Card Processor
You->>PCE: GET /v1/issuance/cardProgram/id/{id}
PCE-->>You: Card Program config
You->>PCE: POST /v1/customer/id/{id}/issuance/card
PCE-->>You: Card created (status: PENDING)
alt Digital / Digital-First
PCE->>Card: Provision virtual card
Card-->>PCE: Card active
PCE-->>You: Webhook (status: ACTIVE)
else Physical
PCE->>Card: Request embossing + shipping
Card-->>PCE: Card shipped
PCE-->>You: Webhook (status: SHIPPED)
Note over You: Customer receives card
You->>PCE: POST .../activate
PCE-->>You: Webhook (status: ACTIVE)
end
Before you begin (all scenarios)
- Customer has completed CIP verification.
- Passport Account is in
ACTIVEstatus. - Card Program is configured and retrieved.
- For physical cards, valid shipping address is on file.
The example requests below are the body for the Issue a Card API — a POST to /v1/customer/id/{id}/issuance/card (or the externalId path variant). A successful call returns 201 Created with an empty body; retrieve the new card with the Get Card API to see its details. Scenarios are grouped by customer type:
- Individual Customer — debit cards linked to the customer's own account (the customer is the cardholder).
- Business Customer — debit or prepaid cards issued to an Authorized User or a Beneficial Owner under the business.
Individual Customer
Scenario 1: Issue Debit Card (Digital) — Individual
Use this scenario to issue a virtual debit card to an Individual customer. Digital cards are available instantly and can be used for online purchases and mobile wallet payments.
Flow
flowchart LR
A(["👤 Individual Customer<br/><b>KYC Verified</b>"]) --> B(["🏦 Account<br/><b>ACTIVE</b>"])
B --> C(["📋 Card Program<br/><b>DEBIT</b>"])
C --> D(["💳 Issue Digital Card<br/><b>issuanceType: DIGITAL</b>"])
D --> E(["✅ Card Ready<br/><b>Instant</b>"])
style A fill:#E8F4FD,stroke:#1976D2,stroke-width:2px
style B fill:#FFF3E0,stroke:#F57C00,stroke-width:2px
style C fill:#F3E5F5,stroke:#7B1FA2,stroke-width:2px
style D fill:#E1F5FE,stroke:#0288D1,stroke-width:2px
style E fill:#E8F5E9,stroke:#388E3C,stroke-width:2px
Prerequisites
- Customer is
INDIVIDUALtype and has passed KYC/CIP verification.- Account linked to the card is
ACTIVE.- Card Program is configured — retrieve via
POST /v1/issuance/cardProgram/list.- Customer has a mailing address on file (
address.id).- No
cardholderobject is required — for Individual customers, the customer is automatically the cardholder.
Example Request
{
"shippingDetail": {
"address": {
"id": 1045579
},
"expressDelivery": "false"
},
"account": {
"id": 4011856
},
"type": "DEBIT",
"cardProgram": {
"id": "2567"
},
"issuanceType": "DIGITAL"
}Scenario 2: Issue Debit Card (Digital + Physical) — Individual
Use this scenario to issue an Individual customer a virtual card (available instantly) and a physical card (shipped, typically 5–7 business days) in a single request. Set issuanceType: DIGITAL_AND_PHYSICAL when the cardholder needs to transact online right away and also wants a physical card.
Flow
flowchart LR
A(["👤 Individual Customer<br/><b>KYC Verified</b>"]) --> B(["🏦 Account<br/><b>ACTIVE</b>"])
B --> C(["💳 Issue Card<br/><b>issuanceType: DIGITAL_AND_PHYSICAL</b>"])
C --> D(["⚡ Virtual Card<br/><b>Instant</b>"])
C --> E(["📦 Physical Card<br/><b>Ships 5–7 days</b>"])
style A fill:#E8F4FD,stroke:#1976D2,stroke-width:2px
style B fill:#FFF3E0,stroke:#F57C00,stroke-width:2px
style C fill:#E1F5FE,stroke:#0288D1,stroke-width:2px
style D fill:#E8F5E9,stroke:#388E3C,stroke-width:2px
style E fill:#F3E5F5,stroke:#7B1FA2,stroke-width:2px
Prerequisites
- Customer is
INDIVIDUALtype and has passed KYC/CIP verification.- Account linked to the card is
ACTIVE.- Card Program is configured for digital-first issuance.
- A valid mailing address (
address.id) is referenced for shipping the physical card. Inline addresses are not supported forDEBITcards — useaddress.idto reference an existing address.- Use
additionalEmbossInfofor optional embossing text.
Example Request
{
"shippingDetail": {
"address": {
"id": 1045579
},
"expressDelivery": "false"
},
"account": {
"id": 4011856
},
"type": "DEBIT",
"cardProgram": {
"id": "2567"
},
"issuanceType": "DIGITAL_AND_PHYSICAL"
}To issue the virtual card first and add a physical card later, use
issuanceType: DIGITAL, then request the physical card with the Issue Physical Card / Enable Physical Card operations.
Business Customer
Scenario 3: Issue Prepaid Card — Business Customer
Use this scenario to issue a prepaid card to a cardholder under a Business customer for controlled spending. For business customers, the cardholder must identify an Authorized User or Beneficial Owner (type + id). Prepaid cards must be funded before use.
Prepaid cards are only supported for Business customers. Individual customers can only be issued
DEBITcards.
Flow
flowchart LR
A(["🏢 Business Customer<br/><b>ACTIVE</b>"]) --> B(["🏦 Account<br/><b>ACTIVE</b>"])
B --> C(["💳 Issue Prepaid Card<br/><b>type: PREPAID</b>"])
C --> D(["💵 Load Funds<br/><b>$500.00</b>"])
D --> E(["✅ Ready to Spend<br/><b>$500.00 Available</b>"])
style A fill:#E8F4FD,stroke:#1976D2,stroke-width:2px
style B fill:#FFF3E0,stroke:#F57C00,stroke-width:2px
style C fill:#E1F5FE,stroke:#0288D1,stroke-width:2px
style D fill:#F3E5F5,stroke:#7B1FA2,stroke-width:2px
style E fill:#E8F5E9,stroke:#388E3C,stroke-width:2px
Prerequisites
- Customer is
BUSINESStype andACTIVE.- Account has sufficient balance to load funds onto the card.
- Card Program is configured for
PREPAIDissuance.- Cardholder identifies an Authorized User or Beneficial Owner (
type+id) — required for business customers.- Card must be loaded with funds before it can be used — prepaid cards only allow spending up to the loaded amount.
- Inline shipping address is supported for
PREPAIDcards (addressLine1,city,state,zip).
Example Request
{
"cardProgram": {
"id": 2756
},
"issuanceType": "DIGITAL_AND_PHYSICAL",
"type": "PREPAID",
"cardholder": {
"type": "BENEFICIAL_OWNER",
"id": "44625"
},
"shippingDetail": {
"address": {
"addressLine1": "456 Corporate Drive",
"city": "San Francisco",
"state": "CA",
"zip": "94102"
}
},
"externalId": "card-prepaid-biz-001"
}Scenario 4: Issue Prepaid Card — Authorized User (Business Customer)
Use this scenario to issue a prepaid card to an Authorized User under a Business customer — for example, an employee or delegate with spending privileges on behalf of the business.
Flow
flowchart LR
A(["🏢 Business Customer<br/><b>ACTIVE</b>"]) --> B(["👥 Authorized User<br/><b>Employee/Delegate</b>"])
B --> C(["📋 Card Program<br/><b>PREPAID</b>"])
C --> D(["💳 Issue Card<br/><b>cardholder.type: AUTHORIZED_USER</b>"])
D --> E(["💵 Fund Card<br/><b>$500.00</b>"])
style A fill:#E8F4FD,stroke:#1976D2,stroke-width:2px
style B fill:#FFF3E0,stroke:#F57C00,stroke-width:2px
style C fill:#F3E5F5,stroke:#7B1FA2,stroke-width:2px
style D fill:#E1F5FE,stroke:#0288D1,stroke-width:2px
style E fill:#E8F5E9,stroke:#388E3C,stroke-width:2px
Prerequisites
- Customer is
BUSINESStype andACTIVE.- Authorized User is created under the business customer (
POST /v1/customer/{parentIdType}/{customerId}/authorizedUser) and itsidis known.- Card Program is
PREPAID— retrieve viaPOST /v1/issuance/cardProgram/list.- Inline shipping address is supported for
PREPAIDcards (useaddressLine1,city,state,zip).
Example Request
{
"cardholder": {
"type": "AUTHORIZED_USER",
"id": "44792"
},
"type": "PREPAID",
"cardProgram": {
"id": 2756
},
"shippingDetail": {
"address": {
"addressLine1": "LA street",
"state": "AL",
"city": "LA",
"zip": "65876"
},
"expressDelivery": "true"
}
}Inline address rule: Inline address fields (
addressLine1,city,state,zip) are only supported forPREPAIDcards. ForDEBITcards, useaddress.idto reference an existing mailing address.
Scenario 5: Issue Debit Card — Beneficial Owner (Business Customer)
Use this scenario to issue an account-linked debit card to a Beneficial Owner of a Business customer (an individual owning 25% or more of the business). The card draws directly from the linked business account's balance.
Flow
flowchart LR
A(["🏢 Business Customer<br/><b>ACTIVE</b>"]) --> B(["🏦 Account<br/><b>ACTIVE</b>"])
B --> C(["👔 Beneficial Owner<br/><b>25%+ Owner</b>"])
C --> D(["📍 Address ID<br/><b>address.id</b>"])
D --> E(["💳 Issue Debit Card<br/><b>cardholder.type: BENEFICIAL_OWNER</b>"])
style A fill:#E8F4FD,stroke:#1976D2,stroke-width:2px
style B fill:#FFF3E0,stroke:#F57C00,stroke-width:2px
style C fill:#F3E5F5,stroke:#7B1FA2,stroke-width:2px
style D fill:#FFF3E0,stroke:#F57C00,stroke-width:2px
style E fill:#E1F5FE,stroke:#0288D1,stroke-width:2px
Prerequisites
- Customer is
BUSINESStype andACTIVE.- Beneficial Owner is created under the business customer (
POST /v1/customer/{parentIdType}/{customerId}/beneficialOwner) and itsidis known.- Account to link the debit card is
ACTIVEand known (account.id).- A valid mailing
address.id(typically from the Beneficial Owner's profile) is used for shipping. Inline addresses are not supported forDEBITcards.- Card Program is
DEBIT.
Example Request
{
"cardholder": {
"type": "BENEFICIAL_OWNER",
"id": "44625"
},
"shippingDetail": {
"address": {
"id": 1045579
},
"expressDelivery": "false"
},
"account": {
"id": 4011856
},
"type": "DEBIT",
"cardProgram": {
"id": "2567"
},
"issuanceType": "DIGITAL"
}Scenario 6: Issue Debit Card — Authorized User (Business Customer)
Use this scenario to issue an account-linked debit card to an Authorized User under a Business customer. The card draws from the linked business account's balance, with spending controlled at the Authorized User level.
Flow
flowchart LR
A(["🏢 Business Customer<br/><b>ACTIVE</b>"]) --> B(["🏦 Account<br/><b>ACTIVE</b>"])
B --> C(["👥 Authorized User<br/><b>Employee/Delegate</b>"])
C --> D(["📍 Address ID<br/><b>address.id</b>"])
D --> E(["💳 Issue Debit Card<br/><b>cardholder.type: AUTHORIZED_USER</b>"])
style A fill:#E8F4FD,stroke:#1976D2,stroke-width:2px
style B fill:#FFF3E0,stroke:#F57C00,stroke-width:2px
style C fill:#F3E5F5,stroke:#7B1FA2,stroke-width:2px
style D fill:#FFF3E0,stroke:#F57C00,stroke-width:2px
style E fill:#E1F5FE,stroke:#0288D1,stroke-width:2px
Prerequisites
- Customer is
BUSINESStype andACTIVE.- Authorized User is created under the business customer and its
idis known.- Account to link the debit card is
ACTIVEand known (account.id).- A valid mailing
address.idis used for shipping. Inline addresses are not supported forDEBITcards.- Card Program is
DEBIT.
Example Request
{
"cardholder": {
"type": "AUTHORIZED_USER",
"id": "44792"
},
"shippingDetail": {
"address": {
"id": 1045579
},
"expressDelivery": "false"
},
"account": {
"id": 4011856
},
"type": "DEBIT",
"cardProgram": {
"id": "2567"
},
"issuanceType": "DIGITAL"
}Reference: Card issuance by customer type
| Customer Type | Supported Card Types | Cardholder Object Required | Inline Shipping Address |
|---|---|---|---|
INDIVIDUAL | DEBIT only | No — customer is the cardholder | No — use address.id |
BUSINESS | DEBIT, PREPAID | Yes — AUTHORIZED_USER or BENEFICIAL_OWNER | PREPAID only |
Reference: Card formats (issuanceType)
issuanceType)issuanceType applies to digital-first card programs and accepts two values:
| Format | Description | Availability |
|---|---|---|
DIGITAL | Issues a virtual card first; a physical card can be requested later | Virtual instant |
DIGITAL_AND_PHYSICAL | Issues virtual and physical cards together | Virtual instant; physical ships 5–7 business days |
Next Steps
Once your card is issued, you can continue building your workflow with the following actions:
Add funds to prepaid cards or ensure sufficient balance for debit card usage before transactions can begin. Perform lifecycle actions such as freeze, unfreeze, replace, or cancel cards as needed. Configure and update spending controls to define how and where the card can be used.
Updated about 10 hours ago