Cards
Create Cardโ
Creates a new virtual card for a given cardholder and wallet.
- Endpoint
POST {{baseUrl}}/issuing/api/:version/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.
๐ Path Parameters
version string required
v1.๐ฉ Request Headers
x-api-key string required
x-product-id string required
x-cardholder-id string required
x-wallet-id string required
x-client-id string
x-request-id string required
Content-Type string required
application/jsonAuthorization string
๐ฆ Body Parameters
card_type string required
virtual.is_primary string
true, false.- ๐งฉ Examples
- ๐งช Try It Out
Request Example
- cURL
- Python
- Java
- NodeJs
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-client-id: {{ClientID}}' \
--header 'x-request-id: {{IdempotencyKey}}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{AccessToken}}' \
--data '{
"card_type":"virtual",
"is_primary":"true"
}'
import requests
import json
url = "{{baseUrl}}/issuing/api/:version/card"
payload = json.dumps({
"card_type": "virtual",
"is_primary": "true"
})
headers = {
'x-api-key': '{{Shared X-API key}}',
'x-product-id': '{{Shared ProductID}}',
'x-cardholder-id': '{{CardholderID}}',
'x-wallet-id': '{{WalletID}}',
'x-client-id': '{{ClientID}}',
'x-request-id': '{{IdempotencyKey}}',
'Content-Type': 'application/json',
'Authorization': 'Bearer {{AccessToken}}'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n \"card_type\":\"virtual\",\n \"is_primary\":\"true\"\n}");
Request request = new Request.Builder()
.url("{{baseUrl}}/issuing/api/:version/card")
.method("POST", body)
.addHeader("x-api-key", "{{Shared X-API key}}")
.addHeader("x-product-id", "{{Shared ProductID}}")
.addHeader("x-cardholder-id", "{{CardholderID}}")
.addHeader("x-wallet-id", "{{WalletID}}")
.addHeader("x-client-id", "{{ClientID}}")
.addHeader("x-request-id", "{{IdempotencyKey}}")
.addHeader("Content-Type", "application/json")
.addHeader("Authorization", "Bearer {{AccessToken}}")
.build();
Response response = client.newCall(request).execute();
const axios = require('axios');
let data = JSON.stringify({
"card_type": "virtual",
"is_primary": "true"
});
let config = {
method: 'post',
maxBodyLength: Infinity,
url: '{{baseUrl}}/issuing/api/:version/card',
headers: {
'x-api-key': '{{Shared X-API key}}',
'x-product-id': '{{Shared ProductID}}',
'x-cardholder-id': '{{CardholderID}}',
'x-wallet-id': '{{WalletID}}',
'x-client-id': '{{ClientID}}',
'x-request-id': '{{IdempotencyKey}}',
'Content-Type': 'application/json',
'Authorization': 'Bearer {{AccessToken}}'
},
data : data
};
axios.request(config)
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
});
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"
}
๐ณ Create Card โ Sandbox
๐ Headers
๐ Request Body
๐ป Generated cURL Command
โฏ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.
๐ Path Parameters
version string required
v1.๐ฉ Request Headers
x-api-key string required
x-product-id string required
x-cardholder-id string required
x-wallet-id string required
x-client-id string
x-request-id string required
Content-Type string required
application/jsonAuthorization string
๐ Query Parameters
page integer
size integer
- ๐งฉ Examples
- ๐งช Try It Out
Request Example
- cURL
- Python
- Java
- NodeJs
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-client-id: {{ClientID}}' \
--header 'x-request-id: {{IdempotencyKey}}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{AccessToken}}' \
import requests
import json
url = "{{baseUrl}}/issuing/api/:version/card/list"
payload = {}
headers = {
'x-api-key': '{{Shared X-API key}}',
'x-product-id': '{{Shared ProductID}}',
'x-cardholder-id': '{{CardholderID}}',
'x-wallet-id': '{{WalletID}}',
'x-client-id': '{{ClientID}}',
'x-request-id': '{{IdempotencyKey}}',
'Content-Type': 'application/json',
'Authorization': 'Bearer {{AccessToken}}'
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "");
Request request = new Request.Builder()
.url("{{baseUrl}}/issuing/api/:version/card/list")
.method("GET", body)
.addHeader("x-api-key", "{{Shared X-API key}}")
.addHeader("x-product-id", "{{Shared ProductID}}")
.addHeader("x-cardholder-id", "{{CardholderID}}")
.addHeader("x-wallet-id", "{{WalletID}}")
.addHeader("x-client-id", "{{ClientID}}")
.addHeader("x-request-id", "{{IdempotencyKey}}")
.addHeader("Content-Type", "application/json")
.addHeader("Authorization", "Bearer {{AccessToken}}")
.build();
Response response = client.newCall(request).execute();
const axios = require('axios');
let config = {
method: 'get',
maxBodyLength: Infinity,
url: '{{baseUrl}}/issuing/api/:version/card/list',
headers: {
'x-api-key': '{{Shared X-API key}}',
'x-product-id': '{{Shared ProductID}}',
'x-cardholder-id': '{{CardholderID}}',
'x-wallet-id': '{{WalletID}}',
'x-client-id': '{{ClientID}}',
'x-request-id': '{{IdempotencyKey}}',
'Content-Type': 'application/json',
'Authorization': 'Bearer {{AccessToken}}'
}
};
axios.request(config)
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
});
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"
}
๐งพ Get Card List โ Sandbox
๐ Headers
๐ Query Parameters (Optional)
โฏ๐ป Generated cURL Command
โฏActivate Cardโ
Activates a specific physical or virtual card for a cardholderโs wallet.
- Endpoint
POST {{baseUrl}}/issuing/api/:version/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.
๐ Path Parameters
version string required
v1.๐ฉ Request Headers
x-api-key string required
x-product-id string required
x-cardholder-id string required
x-wallet-id string required
x-card-id string required
x-client-id string
x-request-id string required
Content-Type string required
application/jsonAuthorization string
- ๐งฉ Examples
- ๐งช Try It Out
Request Example
- cURL
- Python
- Java
- NodeJs
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-client-id: {{ClientID}}' \
--header 'x-request-id: {{IdempotencyKey}}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{AccessToken}}' \
import requests
import json
url = "{{baseUrl}}/issuing/api/:version/card/activate"
payload = {}
headers = {
'x-api-key': '{{Shared X-API key}}',
'x-product-id': '{{Shared ProductID}}',
'x-cardholder-id': '{{CardholderID}}',
'x-wallet-id': '{{WalletID}}',
'x-card-id': '{{CardID}}',
'x-client-id': '{{ClientID}}',
'x-request-id': '{{IdempotencyKey}}',
'Content-Type': 'application/json',
'Authorization': 'Bearer {{AccessToken}}'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "");
Request request = new Request.Builder()
.url("{{baseUrl}}/issuing/api/:version/card/activate")
.method("POST", body)
.addHeader("x-api-key", "{{Shared X-API key}}")
.addHeader("x-product-id", "{{Shared ProductID}}")
.addHeader("x-cardholder-id", "{{CardholderID}}")
.addHeader("x-wallet-id", "{{WalletID}}")
.addHeader("x-card-id", "{{CardID}}")
.addHeader("x-client-id", "{{ClientID}}")
.addHeader("x-request-id", "{{IdempotencyKey}}")
.addHeader("Content-Type", "application/json")
.addHeader("Authorization", "Bearer {{AccessToken}}")
.build();
Response response = client.newCall(request).execute();
const axios = require('axios');
let config = {
method: 'post',
maxBodyLength: Infinity,
url: '{{baseUrl}}/issuing/api/:version/card/activate',
headers: {
'x-api-key': '{{Shared X-API key}}',
'x-product-id': '{{Shared ProductID}}',
'x-cardholder-id': '{{CardholderID}}',
'x-wallet-id': '{{WalletID}}',
'x-card-id': '{{CardID}}',
'x-client-id': '{{ClientID}}',
'x-request-id': '{{IdempotencyKey}}',
'Content-Type': 'application/json',
'Authorization': 'Bearer {{AccessToken}}'
}
};
axios.request(config)
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
});
Response Example
- 200: Success
- 400: Error
{
"status": "Success",
"message": "Card activated successfully.",
"code": 200,
"data": [
{
"status": "ACTIVE"
}
]
}
{
"code": 400,
"message": "Error Message",
"status": "error"
}
โก Activate Card โ Sandbox
๐ Headers
๐ป Generated cURL Command
โฏ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.
๐ Path Parameters
version string required
v1.๐ฉ Request Headers
x-api-key string required
x-product-id string required
x-cardholder-id string required
x-wallet-id string required
x-card-id string required
x-client-id string
x-request-id string required
Content-Type string required
application/jsonAuthorization string
- ๐งฉ Examples
- ๐งช Try It Out
Request Example
- cURL
- Python
- Java
- NodeJs
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-client-id: {{ClientID}}' \
--header 'x-request-id: {{IdempotencyKey}}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{AccessToken}}' \
import requests
import json
url = "{{baseUrl}}/issuing/api/:version/card/details"
payload = {}
headers = {
'x-api-key': '{{Shared X-API key}}',
'x-product-id': '{{Shared ProductID}}',
'x-cardholder-id': '{{CardholderID}}',
'x-wallet-id': '{{WalletID}}',
'x-card-id': '{{CardID}}',
'x-client-id': '{{ClientID}}',
'x-request-id': '{{IdempotencyKey}}',
'Content-Type': 'application/json',
'Authorization': 'Bearer {{AccessToken}}'
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "");
Request request = new Request.Builder()
.url("{{baseUrl}}/issuing/api/:version/card/details")
.method("GET", body)
.addHeader("x-api-key", "{{Shared X-API key}}")
.addHeader("x-product-id", "{{Shared ProductID}}")
.addHeader("x-cardholder-id", "{{CardholderID}}")
.addHeader("x-wallet-id", "{{WalletID}}")
.addHeader("x-card-id", "{{CardID}}")
.addHeader("x-client-id", "{{ClientID}}")
.addHeader("x-request-id", "{{IdempotencyKey}}")
.addHeader("Content-Type", "application/json")
.addHeader("Authorization", "Bearer {{AccessToken}}")
.build();
Response response = client.newCall(request).execute();
const axios = require('axios');
let config = {
method: 'get',
maxBodyLength: Infinity,
url: '{{baseUrl}}/issuing/api/:version/card/details',
headers: {
'x-api-key': '{{Shared X-API key}}',
'x-product-id': '{{Shared ProductID}}',
'x-cardholder-id': '{{CardholderID}}',
'x-wallet-id': '{{WalletID}}',
'x-card-id': '{{CardID}}',
'x-client-id': '{{ClientID}}',
'x-request-id': '{{IdempotencyKey}}',
'Content-Type': 'application/json',
'Authorization': 'Bearer {{AccessToken}}'
}
};
axios.request(config)
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
});
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"
}