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.

Who is the card for?

Individual customer or a business-associated user (Authorized User / Beneficial Owner)

What type of card?

Debit (linked to account balance) or Prepaid (pre-funded; business only)

How should it be issued?

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 ConfigurationWhat You Send in Card Issuance APIResulting Behavior
DEBITisDigitalFirst = false and subType = VIRTUALNo issuanceType requiredDigital-only card (no physical card can be issued)
DEBITisDigitalFirst = false and subType = PLASTICNo issuanceType requiredPhysical card issued directly
DEBITisDigitalFirst = true and subType = PLASTICissuanceType = DIGITALVirtual card issued first; physical card can be requested later
DEBITisDigitalFirst = true and subType = PLASTICissuanceType = DIGITAL_AND_PHYSICALVirtual and physical card issued together
PREPAIDtype = PREPAIDissuanceType = DIGITALPrepaid card issued first; physical card can be requested later
PREPAIDtype = PREPAIDissuanceType = DIGITAL_AND_PHYSICALVirtual 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)

ParameterRequiredDescription
cardholder.typeConditional

Required for business customers. Possible values: AUTHORIZED_USER, BENEFICIAL_OWNER.

Not required for individual customers.

cardholder.id or cardholder.externalIdUnique identifier of the cardholder defined above.

2. Card Configuration (How the card works)

ParameterRequiredDescription
type

Defines the funding model: DEBIT or PREPAID.

Note: Prepaid cards are supported only for business customers.

cardProgram.idOptional

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 /v1/issuance/cardProgram/list API.

issuanceTypeConditionalRequired only for Digital-First programs.
  • DIGITAL → Virtual card issued first; physical can be requested later
  • DIGITAL_AND_PHYSICAL → Virtual and physical issued together

3. Delivery Details (How the card is delivered)

ParameterRequiredDescription
shippingDetail.address.id or shippingDetail.address.externalIdMandatory

Unique identifier of the cardholder’s delivery address.

To retrieve the address, fetch the mailingAddress.id for:
shippingDetail.addressConditionalProvide 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.expressDeliveryOptional

Indicates whether expedited shipping is required.

Possible values: true or false. Additional charges may apply.


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 TypeIssuance TypeActivation Journey & Usage
Physical

Usable after Activate Card API (post delivery)

Activation Journey: PENDING → SHIPPED → ACTIVE

Digital-firstDIGITAL

Virtual Card: Usable immediately

Physical Card: Can be requested later when required.Activation Journey: PENDING → ACTIVE
Digital-firstDIGITAL_AND_PHYSICAL

Virtual Card: Usable immediately

Physical Card: Issued immediatelyActivation Journey: 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 ACTIVE status.
  • 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 INDIVIDUAL type 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 cardholder object 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 INDIVIDUAL type 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 for DEBIT cards — use address.id to reference an existing address.
  • Use additionalEmbossInfo for 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 DEBIT cards.

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 BUSINESS type and ACTIVE.
  • Account has sufficient balance to load funds onto the card.
  • Card Program is configured for PREPAID issuance.
  • 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 PREPAID cards (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 BUSINESS type and ACTIVE.
  • Authorized User is created under the business customer (POST /v1/customer/{parentIdType}/{customerId}/authorizedUser) and its id is known.
  • Card Program is PREPAID — retrieve via POST /v1/issuance/cardProgram/list.
  • Inline shipping address is supported for PREPAID cards (use addressLine1, 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 for PREPAID cards. For DEBIT cards, use address.id to 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 BUSINESS type and ACTIVE.
  • Beneficial Owner is created under the business customer (POST /v1/customer/{parentIdType}/{customerId}/beneficialOwner) and its id is known.
  • Account to link the debit card is ACTIVE and known (account.id).
  • A valid mailing address.id (typically from the Beneficial Owner's profile) is used for shipping. Inline addresses are not supported for DEBIT cards.
  • 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 BUSINESS type and ACTIVE.
  • Authorized User is created under the business customer and its id is known.
  • Account to link the debit card is ACTIVE and known (account.id).
  • A valid mailing address.id is used for shipping. Inline addresses are not supported for DEBIT cards.
  • 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 TypeSupported Card TypesCardholder Object RequiredInline Shipping Address
INDIVIDUALDEBIT onlyNo — customer is the cardholderNo — use address.id
BUSINESSDEBIT, PREPAIDYes — AUTHORIZED_USER or BENEFICIAL_OWNERPREPAID only

Reference: Card formats (issuanceType)

issuanceType applies to digital-first card programs and accepts two values:

FormatDescriptionAvailability
DIGITALIssues a virtual card first; a physical card can be requested laterVirtual instant
DIGITAL_AND_PHYSICALIssues virtual and physical cards togetherVirtual instant; physical ships 5–7 business days

Next Steps

Once your card is issued, you can continue building your workflow with the following actions:



Did this page help you?
.readme-logo { display: none !important; }