Cards
Create Cardβ
Creates a new card (virtual or physical) for a given cardholder and wallet.
- Endpoint
POST {{baseUrl}}/issuing/api/:version/card
Description
This API allows creating a new card (virtual or physical) under a specific wallet and cardholder. The created card can be marked as primary if required. Clients must pass cardholder and wallet identifiers in headers.
Request Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| version | string | Yes | API version number |
Request Headers
| Parameter | Type | Required | Description |
|---|---|---|---|
| x-api-key | string | Yes | Shared X-API key |
| x-product-id | string | Yes | Shared ProductID |
| x-cardholder-id | string | Yes | Unique identifier of the cardholder |
| x-wallet-id | string | Yes | Unique identifier of the wallet |
| x-request-id | string | Yes | Idempotency key for request tracking |
| Content-Type | string | Yes | Must be application/json |
Request Body Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| card_type | string | Yes | Type of card (virtual or physical) |
| is_primary | string | Yes | Whether the card should be set as primary (true/false) |
Request Example
- cURL
curl --location --request POST \
--url '{{baseUrl}}/issuing/api/:version/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-request-id: {{IdempotencyKey}}' \
--header 'Content-Type: application/json' \
--data '{
"card_type":"virtual",
"is_primary":"true"
}'
Response Example
- 200: Success
- 400: Error
{
"status": "Success",
"message": "Card created and fee processed successfully.",
"code": 200,
"data": [
{
"cardId": "card-id"
}
]
}
{
"code": 400,
"message": "Error Message",
"status": "error"
}
Get Card Listβ
Retrieves all cards (virtual/physical) linked to a specific wallet and cardholder.
- Endpoint
GET {{baseUrl}}/issuing/api/:version/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 Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| version | string | Yes | API version number |
Request Headers
| Parameter | Type | Required | Description |
|---|---|---|---|
| x-api-key | string | Yes | Shared X-API key |
| x-product-id | string | Yes | Shared ProductID |
| x-cardholder-id | string | Yes | Unique identifier of the cardholder |
| x-wallet-id | string | Yes | Unique identifier of the wallet |
| x-request-id | string | Yes | Idempotency key for request tracking |
| Content-Type | string | Yes | Must be application/json |
Request Example
- cURL
curl --location --request GET \
--url '{{baseUrl}}/issuing/api/:version/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-request-id: {{IdempotencyKey}}' \
--header 'Content-Type: application/json' \
Response Example
- 200: Success
- 400: Error
{
"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
}
]
}
{
"code": 400,
"message": "Error Message",
"status": "error"
}
Activate Cardβ
Activates a specific card (virtual or physical) for a cardholderβs wallet.
- Endpoint
POST {{baseUrl}}/issuing/api/:version/card/activate
Description
This API activates a specific card associated with a cardholder and wallet. Activation is required before a card can be used.
Request Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| version | string | Yes | API version number |
Request Headers
| Parameter | Type | Required | Description |
|---|---|---|---|
| x-api-key | string | Yes | Shared X-API key |
| x-product-id | string | Yes | Shared ProductID |
| x-cardholder-id | string | Yes | Unique identifier of the cardholder |
| x-wallet-id | string | Yes | Unique identifier of the wallet |
| x-card-id | string | Yes | Unique identifier of the card to activate |
| x-request-id | string | Yes | Idempotency key for request tracking |
| Content-Type | string | Yes | Must be application/json |
Request Example
- cURL
curl --location --request POST \
--url '{{baseUrl}}/issuing/api/:version/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-request-id: {{IdempotencyKey}}' \
--header 'Content-Type: application/json'
Response Example
- 200: Success
- 400: Error
{
"status": "Success",
"message": "Card activated successfully.",
"code": 200,
"data": [
{
"status": "ACTIVE"
}
]
}
{
"code": 400,
"message": "Error Message",
"status": "error"
}
Get Card Detailsβ
Retrieves the details of a specific card (virtual or physical) for a given cardholder and wallet.
- Endpoint
GET {{baseUrl}}/issuing/api/:version/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 Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| version | string | Yes | API version number |
Request Headers
| Parameter | Type | Required | Description |
|---|---|---|---|
| x-api-key | string | Yes | Shared X-API key |
| x-product-id | string | Yes | Shared ProductID |
| x-cardholder-id | string | Yes | Unique identifier of the cardholder |
| x-wallet-id | string | Yes | Unique identifier of the wallet |
| x-card-id | string | Yes | Unique identifier of the card |
| x-request-id | string | Yes | Idempotency key for request tracking |
| Content-Type | string | Yes | Must be application/json |
Request Example
- cURL
curl --location --request GET \
--url '{{baseUrl}}/issuing/api/:version/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-request-id: {{IdempotencyKey}}' \
--header 'Content-Type: application/json'
Response Example
- 200: Success
- 400: Error
{
"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"
}
]
}
{
"code": 400,
"message": "Error Message",
"status": "error"
}
Update Card Statusβ
Updates the status of a specific card (virtual or physical) for a given cardholder and wallet.
- Endpoint
PATCH {{baseUrl}}/issuing/api/:version/card/status/update
Description
This API allows you to update the status of a card. Supported statuses: INACTIVE, LOCKED, LOST, STOLEN, BLOCKED, BLOCKED_BY_FRAUD.
Request Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| version | string | Yes | API version number |
Request Headers
| Parameter | Type | Required | Description |
|---|---|---|---|
| x-api-key | string | Yes | Shared X-API key |
| x-product-id | string | Yes | Shared ProductID |
| x-cardholder-id | string | Yes | Unique identifier of the cardholder |
| x-wallet-id | string | Yes | Unique identifier of the wallet |
| x-card-id | string | Yes | Unique identifier of the card |
| x-request-id | string | Yes | Idempotency key for request tracking |
| Content-Type | string | Yes | Must be application/json |
Request Body Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| card_status | string | Yes | New status of the card. Allowed values: INACTIVE, LOCKED, LOST, STOLEN, BLOCKED, BLOCKED_BY_FRAUD |
| reason | string | Yes | Reason for the status update |
Request Example
- cURL
curl --location --request PATCH \
--url '{{baseUrl}}/issuing/api/:version/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-request-id: {{IdempotencyKey}}' \
--header 'Content-Type: application/json' \
--data '{
"card_status":"INACTIVE",
"reason":"Your Reason"
}'
Response Example
- 200: Success
- 400: Error
{
"status": "Success",
"message": "Card status updated successfully.",
"code": 200,
"data": [
{
"status": "INACTIVE"
}
]
}
{
"code": 400,
"message": "Error Message",
"status": "error"
}
Update Card Configurationβ
Updates the configuration settings of a specific card for a given cardholder and wallet.
- Endpoint
PATCH {{baseUrl}}/issuing/api/:version/card/configuration
Description
This API allows you to enable or disable card features like if the value is true, the card should PRESENT at the POS/EDC machine for swiping, inserting, or tapping ( contactless ) to initiate a transaction.
Request Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| version | string | Yes | API version number |
Request Headers
| Parameter | Type | Required | Description |
|---|---|---|---|
| x-api-key | string | Yes | Shared X-API key |
| x-product-id | string | Yes | Shared ProductID |
| x-cardholder-id | string | Yes | Unique identifier of the cardholder |
| x-wallet-id | string | Yes | Unique identifier of the wallet |
| x-card-id | string | Yes | Unique identifier of the card |
| x-request-id | string | Yes | Idempotency key for request tracking |
| Content-Type | string | Yes | Must be application/json |
Request Body Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| card_present_transaction_enabled | boolean | Yes | Enable (true) or disable (false) card-present transactions for the card |
Request Example
- cURL
curl --location --request PATCH \
--url '{{baseUrl}}/issuing/api/:version/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-request-id: {{IdempotencyKey}}' \
--header 'Content-Type: application/json' \
--data '{
"card_present_transaction_enabled": false
}'
Response Example
- 200: Success
- 400: Error
{
"status": "Success",
"message": "Card configuration updated successfully.",
"code": 200,
"data": [
{
"card_present_transaction_enabled": false
}
]
}
{
"code": 400,
"message": "Error Message",
"status": "error"
}
Get Card Configurationβ
Retrieves the configuration settings of a specific card (virtual or physical) for a given cardholder and wallet.
- Endpoint
GET {{baseUrl}}/issuing/api/:version/card/configuration
Description
This API fetches the current configuration of a card including settings such as whether card-present transactions are enabled.
Request Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| version | string | Yes | API version number |
Request Headers
| Parameter | Type | Required | Description |
|---|---|---|---|
| x-api-key | string | Yes | Shared X-API key |
| x-product-id | string | Yes | Shared ProductID |
| x-cardholder-id | string | Yes | Unique identifier of the cardholder |
| x-wallet-id | string | Yes | Unique identifier of the wallet |
| x-card-id | string | Yes | Unique identifier of the card |
| x-request-id | string | Yes | Idempotency key for request tracking |
| Content-Type | string | Yes | Must be application/json |
Request Example
- cURL
curl --location --request GET \
--url '{{baseUrl}}/issuing/api/:version/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-request-id: {{IdempotencyKey}}' \
--header 'Content-Type: application/json'
Response Example
- 200: Success
- 400: Error
{
"status": "Success",
"message": "Card configuration details fetched successfully.",
"code": 200,
"data": [
{
"card_present_transaction_enabled": false
}
]
}
{
"code": 400,
"message": "Error Message",
"status": "error"
}
Get Card Details Tokenβ
Retrieves a secure URL containing full card details (card number, expiry, CVV, and cardholder name) for a specific card.
- Endpoint
GET {{baseUrl}}/issuing/api/:version/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 Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| version | string | Yes | API version number |
Request Headers
| Parameter | Type | Required | Description |
|---|---|---|---|
| x-api-key | string | Yes | Shared X-API key |
| x-product-id | string | Yes | Shared ProductID |
| x-cardholder-id | string | Yes | Unique identifier of the cardholder |
| x-wallet-id | string | Yes | Unique identifier of the wallet |
| x-card-id | string | Yes | Unique identifier of the card |
| x-request-id | string | Yes | Idempotency key for request tracking |
| Content-Type | string | Yes | Must be application/json |
Request Example
- cURL
curl --location --request GET \
--url '{{baseUrl}}/issuing/api/:version/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-request-id: {{IdempotencyKey}}' \
--header 'Content-Type: application/json'
Response Example
- 200: Success
- 400: Error
{
"status": "Success",
"message": "Card details token fetched successfully.",
"code": 200,
"data": [
{
"url": "url-to-view-card-details"
}
]
}
{
"code": 400,
"message": "Error Message",
"status": "error"
}
Assign Physical Cardβ
Assigns a physical or virtual card to a cardholder once they receive it and provide required details.
- Endpoint
POST {{baseUrl}}/issuing/api/:version/card/assign
Description
This API allows a user to assign a card to their profile by providing card verification details, typically the last four digits and an assignment code received with the card.
Request Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| version | string | Yes | API version number |
Request Headers
| Parameter | Type | Required | Description |
|---|---|---|---|
| x-api-key | string | Yes | Shared X-API key |
| x-product-id | string | Yes | Shared ProductID |
| x-cardholder-id | string | Yes | Unique identifier of the cardholder |
| x-wallet-id | string | Yes | Unique identifier of the wallet |
| x-request-id | string | Yes | Idempotency key for request tracking |
| Content-Type | string | Yes | Must be application/json |
Request Body Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| last_four_digit | string | Yes | Last four digits of the card |
| code | string | Yes | Card assignment code received by the user |
Request Example
- cURL
curl --location --request POST \
--url '{{baseUrl}}/issuing/api/:version/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-request-id: {{IdempotencyKey}}' \
--header 'Content-Type: application/json' \
--data '{
"last_four_digit": "{{Last4Digit}}",
"code": "{{Code}}"
}'
Response Example
- 200: Success
- 400: Error
{
"status": "Success",
"message": "Card created successfully.",
"code": 200,
"data": [
{
"cardId": "card-id"
}
]
}
{
"code": 400,
"message": "Error Message",
"status": "error"
}