Skip to main content

Cards

Create Card​

Creates a new virtual card for a given cardholder and wallet.

{{baseUrl}}/issuing/api/v1/card

Description

This API allows creating a new virtual card under a specific wallet and cardholder. The card is automatically activated upon creation, and 3DS is automatically configured and enrolled to the registered email during card creation. The card can also be marked as a primary card if required. Initial card spending limits are also configured during the card creation process.

Note: For details on default limits, supported limit types, and limit management APIs, refer to the Card Spend Limit section.

πŸ“© Request Headers

x-api-key string required

Shared X-API key

x-product-id string required

Shared Product ID

x-cardholder-id string required

Unique identifier of the cardholder

x-wallet-id string required

Unique identifier of the wallet

x-client-id string

Client identification key

x-request-id string required

Idempotency key for request tracking

Content-Type string required

Must be application/json

Authorization string

Bearer access token

πŸ“¦ Request Body

card_type string required

Type of card. Allowed values: virtual.

is_primary string

Optional flag to indicate whether the card should be set as the primary card. Allowed values: true, false.

Request Example

curl --location --request POST \
--url '{{baseUrl}}/issuing/api/v1/card' \
--header 'x-api-key: {{Shared X-API key}}' \
--header 'x-product-id: {{Shared ProductID}}' \
--header 'x-cardholder-id: {{CardholderID}}' \
--header 'x-wallet-id: {{WalletID}}' \
--header 'x-client-id: {{ClientID}}' \
--header 'x-request-id: {{IdempotencyKey}}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{AccessToken}}' \
--data '{
"card_type":"virtual",
"is_primary":"true"
}'

Response Example

{
"status": "Success",
"message": "Card created and fee processed successfully.",
"code": 200,
"data": [
{
"cardId": "card-id"
}
]
}

Assign Card​

This API assigns a physical card to a cardholder.

{{baseUrl}}/issuing/api/v1/card/assign

Description

This API allows a cardholder to assign a physical card to their profile by providing the required card verification details, such as the last four digits of the card and the assignment code received with the card. Upon successful assignment, the card is automatically activated, and 3D Secure (3DS) is automatically enrolled using the cardholder's registered email address. Initial card spending limits are also configured during the card assignment process.

Note: For details on default limits, supported limit types, and limit management APIs, refer to the Card Spend Limit section.

πŸ“© Request Headers

x-api-key string required

Shared X-API key

x-product-id string required

Shared Product ID

x-cardholder-id string required

Unique identifier of the cardholder

x-wallet-id string required

Unique identifier of the wallet

x-client-id string

Client identification key

x-request-id string required

Idempotency key for request tracking

Content-Type string required

Must be application/json

Authorization string

Bearer access token

πŸ“¦ Request Body

last_four_digit string required

Last four digits of the card.

code string required

Card assignment code received with the card.

Request Example

curl --location --request POST \
--url '{{baseUrl}}/issuing/api/v1/card/assign' \
--header 'x-api-key: {{Shared X-API key}}' \
--header 'x-product-id: {{Shared ProductID}}' \
--header 'x-cardholder-id: {{CardholderID}}' \
--header 'x-wallet-id: {{WalletID}}' \
--header 'x-client-id: {{ClientID}}' \
--header 'x-request-id: {{IdempotencyKey}}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{AccessToken}}' \
--data '{
"last_four_digit": "last-four-digit-of-card",
"code": "assigned-code"
}'

Response Example

{
"status": "Success",
"message": "Card created successfully.",
"code": 200,
"data": [
{
"cardId": "card-id"
}
]
}

Get All Cards​

Retrieves all cards (virtual/physical) linked to a specific wallet and cardholder.

{{baseUrl}}/issuing/api/v1/card/list

Description

This API retrieves a list of cards associated with a given cardholder and wallet. It retuens both virtual and physical cards. Use this API to fetch card details like card type, card_id, card_status, and last 4 digits of the card.

πŸ“© Request Headers

x-api-key string required

Shared X-API key

x-product-id string required

Shared Product ID

x-cardholder-id string required

Unique identifier of the cardholder

x-wallet-id string required

Unique identifier of the wallet

x-client-id string

Client identification key

x-request-id string required

Idempotency key for request tracking

Content-Type string required

Must be application/json

Authorization string

Bearer access token

πŸ” Query Parameters

page integer

Page number for pagination

size integer

Number of records per page

Request Example

curl --location --request GET \
--url '{{baseUrl}}/issuing/api/v1/card/list' \
--header 'x-api-key: {{Shared X-API key}}' \
--header 'x-product-id: {{Shared ProductID}}' \
--header 'x-cardholder-id: {{CardholderID}}' \
--header 'x-wallet-id: {{WalletID}}' \
--header 'x-client-id: {{ClientID}}' \
--header 'x-request-id: {{IdempotencyKey}}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{AccessToken}}'

Response Example

{
"status": "Success",
"message": "Card list fetched successfully.",
"code": 200,
"data": [
{
"cards": [
{
"last4": "9546",
"createdAt": "2025-09-24",
"cardId": "card-id",
"cardType": "VIRTUAL",
"cardStatus": "INACTIVE"
}
],
"total_count": 1,
"page": 1,
"total_pages": 1
}
]
}

Show Card Details​

Retrieves the details of a specific card (virtual or physical) for a given cardholder and wallet.

{{baseUrl}}/issuing/api/v1/card/details

Description

This API fetches detailed information about a card including its type (physical/virtual), status, spend limits, delivery status (for physical cards), and associated truncated card number.

πŸ“© Request Headers

x-api-key string required

Shared X-API key

x-product-id string required

Shared Product ID

x-cardholder-id string required

Unique identifier of the cardholder

x-wallet-id string required

Unique identifier of the wallet

x-card-id string required

Unique identifier of the card

x-client-id string

Client identification key

x-request-id string required

Idempotency key for request tracking

Content-Type string required

Must be application/json

Authorization string

Bearer access token

Request Example

curl --location --request GET \
--url '{{baseUrl}}/issuing/api/v1/card/details' \
--header 'x-api-key: {{Shared X-API key}}' \
--header 'x-product-id: {{Shared ProductID}}' \
--header 'x-cardholder-id: {{CardholderID}}' \
--header 'x-wallet-id: {{WalletID}}' \
--header 'x-card-id: {{CardID}}' \
--header 'x-client-id: {{ClientID}}' \
--header 'x-request-id: {{IdempotencyKey}}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{AccessToken}}'

Response Example

{
"status": "Success",
"message": "Card details fetched successfully.",
"code": 200,
"data": [
{
"printing_state": "REQUESTED_BY_USER",
"daily_spend_limit": "500000.00",
"created_at": "2025-09-25T04:34:27",
"purchase_limit": "500000.00",
"card_type": "PHYSICAL",
"is_pin_set": false,
"total_spend_limit": "",
"weekly_spend_limit": "",
"card_delivery_status": "ORDERED",
"card_is_primary": true,
"monthly_spend_limit": "2000000.00",
"card_number_id": "card-number-id",
"truncated_card_number": "4665********9595",
"status": "ACTIVE"
}
]
}

Get Card Details Token​

Retrieves a secure URL containing full card details (card number, expiry, CVV, and cardholder name) for a specific card.

{{baseUrl}}/issuing/api/v1/card/token

Description

This API generates a secure tokenized URL that provides the complete card details including card number, expiry date, CVV, and cardholder name. The URL is used for viewing or integrating the card information securely.

πŸ“© Request Headers

x-api-key string required

Shared X-API key

x-product-id string required

Shared Product ID

x-cardholder-id string required

Unique identifier of the cardholder

x-wallet-id string required

Unique identifier of the wallet

x-card-id string required

Unique identifier of the card

x-client-id string

Client identification key

x-request-id string required

Idempotency key for request tracking

Content-Type string required

Must be application/json

Authorization string

Bearer access token

Request Example

curl --location --request GET \
--url '{{baseUrl}}/issuing/api/v1/card/token' \
--header 'x-api-key: {{Shared X-API key}}' \
--header 'x-product-id: {{Shared ProductID}}' \
--header 'x-cardholder-id: {{CardholderID}}' \
--header 'x-wallet-id: {{WalletID}}' \
--header 'x-card-id: {{CardID}}' \
--header 'x-client-id: {{ClientID}}' \
--header 'x-request-id: {{IdempotencyKey}}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{AccessToken}}'

Response Example

{
"status": "Success",
"message": "Card details token fetched successfully.",
"code": 200,
"data": [
{
"url": "url-to-view-card-details"
}
]
}

Get Card Configuration​

Retrieves the configuration settings of a specific card (virtual or physical) for a given cardholder and wallet.

{{baseUrl}}/issuing/api/v1/card/configuration

Description

This API fetches the current configuration of a card including settings such as whether card-present transactions are enabled.

πŸ“© Request Headers

x-api-key string required

Shared X-API key

x-product-id string required

Shared Product ID

x-cardholder-id string required

Unique identifier of the cardholder

x-wallet-id string required

Unique identifier of the wallet

x-card-id string required

Unique identifier of the card

x-client-id string

Client identification key

x-request-id string required

Idempotency key for request tracking

Content-Type string required

Must be application/json

Authorization string

Bearer access token

Request Example

curl --location --request GET \
--url '{{baseUrl}}/issuing/api/v1/card/configuration' \
--header 'x-api-key: {{Shared X-API key}}' \
--header 'x-product-id: {{Shared ProductID}}' \
--header 'x-cardholder-id: {{CardholderID}}' \
--header 'x-wallet-id: {{WalletID}}' \
--header 'x-card-id: {{CardID}}' \
--header 'x-client-id: {{ClientID}}' \
--header 'x-request-id: {{IdempotencyKey}}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{AccessToken}}'

Response Example

{
"status": "Success",
"message": "Card configuration details fetched successfully.",
"code": 200,
"data": [
{
"card_present_transaction_enabled": false
}
]
}

Update Card Configuration​

Updates the configuration settings of a specific card for a given cardholder and wallet.

{{baseUrl}}/issuing/api/v1/card/configuration

Description

This API allows you to enable or disable card-present transactions. When enabled (true), the card can be used at a POS/EDC machine (via swipe, insert, or contactless tap) to initiate a transaction. By default, card-present transactions are enabled when a card is created.

πŸ“© Request Headers

x-api-key string required

Shared X-API key

x-product-id string required

Shared Product ID

x-cardholder-id string required

Unique identifier of the cardholder

x-wallet-id string required

Unique identifier of the wallet

x-card-id string required

Unique identifier of the card to update

x-client-id string

Client identification key

x-request-id string required

Idempotency key for request tracking

Content-Type string required

Must be application/json

Authorization string

Bearer access token

πŸ“¦ Request Body

card_present_transaction_enabledbooleanrequired

Enables or disables card-present transactions. When enabled (true), the card can be used at a POS/EDC machine (via swipe, insert, or contactless tap) to initiate a transaction.

Request Example

curl --location --request PATCH \
--url '{{baseUrl}}/issuing/api/v1/card/configuration' \
--header 'x-api-key: {{Shared X-API key}}' \
--header 'x-product-id: {{Shared ProductID}}' \
--header 'x-cardholder-id: {{CardholderID}}' \
--header 'x-wallet-id: {{WalletID}}' \
--header 'x-card-id: {{CardID}}' \
--header 'x-client-id: {{ClientID}}' \
--header 'x-request-id: {{IdempotencyKey}}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{AccessToken}}' \
--data '{
"card_present_transaction_enabled": false
}'

Response Example

{
"status": "Success",
"message": "Card configuration updated successfully.",
"code": 200,
"data": [
{
"card_present_transaction_enabled": false
}
]
}

Update Card Status​

Updates the status of a specific card (virtual or physical) for a given cardholder and wallet.

{{baseUrl}}/issuing/api/v1/card/status/update

Description

This API allows you to update the status of a card. Supported statuses: INACTIVE, ACTIVE, LOCKED, LOST, STOLEN, BLOCKED.

Notes:

  • The ACTIVE status can only be updated for cards that are currently in LOCKED status.
  • Cards marked as INACTIVE status can be reactivated using the Activate Card API.
  • All other card statuses permanently block the card and cannot be reactivated.
  • See the Card Status Lifecycle guide for the complete set of supported statuses and valid transitions.

πŸ“© Request Headers

x-api-key string required

Shared X-API key

x-product-id string required

Shared Product ID

x-cardholder-id string required

Unique identifier of the cardholder

x-wallet-id string required

Unique identifier of the wallet

x-card-id string required

Unique identifier of the card to update status

x-client-id string

Client identification key

x-request-id string required

Idempotency key for request tracking

Content-Type string required

Must be application/json

Authorization string

Bearer access token

πŸ“¦ Request Body

card_status string required

New status of the card. Allowed values: ACTIVE, INACTIVE, LOCKED, LOST, STOLEN, BLOCKED.

reason string required

Reason for the status update.

Request Example

curl --location --request PATCH \
--url '{{baseUrl}}/issuing/api/v1/card/status/update' \
--header 'x-api-key: {{Shared X-API key}}' \
--header 'x-product-id: {{Shared ProductID}}' \
--header 'x-cardholder-id: {{CardholderID}}' \
--header 'x-wallet-id: {{WalletID}}' \
--header 'x-card-id: {{CardID}}' \
--header 'x-client-id: {{ClientID}}' \
--header 'x-request-id: {{IdempotencyKey}}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{AccessToken}}' \
--data '{
"card_status":"INACTIVE",
"reason":"Your Reason"
}'

Response Example

{
"status": "Success",
"message": "Card status updated successfully.",
"code": 200,
"data": [
{
"status": "INACTIVE"
}
]
}

Activate Card​

Activates a specific physical or virtual card for a cardholder’s wallet.

{{baseUrl}}/issuing/api/v1/card/activate

Description

This API is used to activate a card linked to a cardholder and wallet. Cards are typically activated automatically upon creation or assignment. This API is primarily used to reactivate cards that are currently in INACTIVE status.

πŸ“© Request Headers

x-api-key string required

Shared X-API key

x-product-id string required

Shared Product ID

x-cardholder-id string required

Unique identifier of the cardholder

x-wallet-id string required

Unique identifier of the wallet

x-card-id string required

Unique identifier of the card to activate

x-client-id string

Client identification key

x-request-id string required

Idempotency key for request tracking

Content-Type string required

Must be application/json

Authorization string

Bearer access token

Request Example

curl --location --request POST \
--url '{{baseUrl}}/issuing/api/v1/card/activate' \
--header 'x-api-key: {{Shared X-API key}}' \
--header 'x-product-id: {{Shared ProductID}}' \
--header 'x-cardholder-id: {{CardholderID}}' \
--header 'x-wallet-id: {{WalletID}}' \
--header 'x-card-id: {{CardID}}' \
--header 'x-client-id: {{ClientID}}' \
--header 'x-request-id: {{IdempotencyKey}}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{AccessToken}}'

Response Example

{
"status": "Success",
"message": "Card activated successfully.",
"code": 200,
"data": [
{
"status": "ACTIVE"
}
]
}