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
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
π¦ Request Body
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/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"
}'
import requests
import json
url = "{{baseUrl}}/issuing/api/v1/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/v1/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/v1/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
- 400
{
"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
β―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
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
π¦ Request Body
last_four_digit string required
code string required
- π§© Examples
- π§ͺ Try It Out
Request Example
- cURL
- Python
- Java
- NodeJs
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"
}'
import requests
import json
url = "{{baseUrl}}/issuing/api/v1/card/assign"
payload = json.dumps({
"last_four_digit": "last-four-digit-of-card",
"code": "assigned-code"
})
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 \"last_four_digit\": \"last-four-digit-of-card\",\n \"code\": \"assigned-code\"\n}");
Request request = new Request.Builder()
.url("{{baseUrl}}/issuing/api/v1/card/assign")
.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({
"last_four_digit": "last-four-digit-of-card",
"code": "assigned-code"
});
let config = {
method: 'post',
maxBodyLength: Infinity,
url: '{{baseUrl}}/issuing/api/v1/card/assign',
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
- 400
{
"status": "Success",
"message": "Card created successfully.",
"code": 200,
"data": [
{
"cardId": "card-id"
}
]
}
{
"code": 400,
"message": "Error Message",
"status": "error"
}
π³ Assign Physical Card β Sandbox
π Headers
π Request Body
π» Generated cURL Command
β―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
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/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}}'
import requests
import json
url = "{{baseUrl}}/issuing/api/v1/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/v1/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/v1/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
- 400
{
"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
β―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
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/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}}'
import requests
import json
url = "{{baseUrl}}/issuing/api/v1/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/v1/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/v1/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
- 400
{
"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"
}
βΉοΈ Get Card Details β Sandbox
π Headers
π» Generated cURL Command
β―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
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/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}}'
import requests
import json
url = "{{baseUrl}}/issuing/api/v1/card/token"
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/v1/card/token")
.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/v1/card/token',
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
- 400
{
"status": "Success",
"message": "Card details token fetched successfully.",
"code": 200,
"data": [
{
"url": "url-to-view-card-details"
}
]
}
{
"code": 400,
"message": "Error Message",
"status": "error"
}
βΉοΈ Get Card Details Token β Sandbox
π Headers
π» Generated cURL Command
β―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
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/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}}'
import requests
import json
url = "{{baseUrl}}/issuing/api/v1/card/configuration"
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/v1/card/configuration")
.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/v1/card/configuration',
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
- 400
{
"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 Configuration β Sandbox
π Headers
π» Generated cURL Command
β―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
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
π¦ Request Body
card_present_transaction_enabledbooleanrequired
- π§© Examples
- π§ͺ Try It Out
Request Example
- cURL
- Python
- Java
- NodeJs
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
}'
import requests
import json
url = "{{baseUrl}}/issuing/api/v1/card/configuration"
payload = json.dumps({
"card_present_transaction_enabled": False
})
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("PATCH", 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_present_transaction_enabled\": false\n}");
Request request = new Request.Builder()
.url("{{baseUrl}}/issuing/api/v1/card/configuration")
.method("PATCH", 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 data = JSON.stringify({
"card_present_transaction_enabled": false
});
let config = {
method: 'patch',
maxBodyLength: Infinity,
url: '{{baseUrl}}/issuing/api/v1/card/configuration',
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}}'
},
data : data
};
axios.request(config)
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
});
Response Example
- 200
- 400
{
"status": "Success",
"message": "Card configuration updated successfully.",
"code": 200,
"data": [
{
"card_present_transaction_enabled": false
}
]
}
{
"code": 400,
"message": "Error Message",
"status": "error"
}
π οΈ Update Card Configuration β Sandbox
π Headers
π Request Body
π» Generated cURL Command
β―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
ACTIVEstatus can only be updated for cards that are currently inLOCKEDstatus. - Cards marked as
INACTIVEstatus 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
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
π¦ Request Body
card_status string required
ACTIVE, INACTIVE, LOCKED, LOST, STOLEN, BLOCKED.reason string required
- π§© Examples
- π§ͺ Try It Out
Request Example
- cURL
- Python
- Java
- NodeJs
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"
}'
import requests
import json
url = "{{baseUrl}}/issuing/api/v1/card/status/update"
payload = json.dumps({
"card_status": "INACTIVE",
"reason": "Your Reason"
})
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("PATCH", 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_status\":\"INACTIVE\",\n \"reason\":\"Your Reason\"\n}");
Request request = new Request.Builder()
.url("{{baseUrl}}/issuing/api/v1/card/status/update")
.method("PATCH", 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 data = JSON.stringify({
"card_status": "INACTIVE",
"reason": "Your Reason"
});
let config = {
method: 'patch',
maxBodyLength: Infinity,
url: '{{baseUrl}}/issuing/api/v1/card/status/update',
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}}'
},
data : data
};
axios.request(config)
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
});
Response Example
- 200
- 400
{
"status": "Success",
"message": "Card status updated successfully.",
"code": 200,
"data": [
{
"status": "INACTIVE"
}
]
}
{
"code": 400,
"message": "Error Message",
"status": "error"
}
βοΈ Update Card Status β Sandbox
π Headers
π Request Body
π» Generated cURL Command
β―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
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/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}}'
import requests
import json
url = "{{baseUrl}}/issuing/api/v1/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/v1/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/v1/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
- 400
{
"status": "Success",
"message": "Card activated successfully.",
"code": 200,
"data": [
{
"status": "ACTIVE"
}
]
}
{
"code": 400,
"message": "Error Message",
"status": "error"
}