Card Spend Limit
Default Spend Limitโ
When a card is created or assigned, a predefined set of spending limits is automatically configured to help manage card usage and transaction controls.
These default limits are applied during the card creation or assignment process and can be retrieved or updated using the Card Spending Limit APIs described below.
| Limit type | Value |
|---|---|
| Transactions per day | 100 |
| Max amount per transaction | USD 250,000 |
| Max amount per day | USD 500,000 |
| Max amount per month | USD 2,000,000 |
| Max amount per year | USD 10,000,000 |
| Limit type | Value |
|---|---|
| Withdrawals per day | 3 |
| Max amount per transaction | USD 1,500 |
| Max amount per day | USD 3,000 |
| Max amount per month | USD 15,000 |
| Max amount per year | USD 50,000 |
๐ก Tip: Use the Get Card Spending Limit API to view the current limit configuration for a card, or the Update Card Spending Limit API to modify existing limits.
Get Card Spend Limitโ
This API is used to the get the spending limit for a card of a cardholder in the system.
- Endpoint
GET {{baseUrl}}/issuing/api/:version/card/limit
Description
Retrieves the spending limit for a card of a cardholder within the system. This API allows the cardholder to view existing transaction limits, helping monitor spending and manage financial exposure.
๐ 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/limit' \
--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/limit"
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/limit")
.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/limit',
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 spending limit fetched successfully.",
"code": 200,
"data": [
{
"amount_limit": 500000,
"active": true,
"amount_limit_period": "DAY",
"transaction_type": "PURCHASE",
"currency_code": "USD"
},
{
"amount_limit": 500000,
"active": true,
"amount_limit_period": "TRANSACTION",
"transaction_type": "PURCHASE",
"currency_code": "USD"
}
]
}
{
"code": 400,
"message": "Error Message",
"status": "error"
}
๐ Get Card Spend Limit โ Sandbox
๐ Headers
๐ป Generated cURL Command
โฏUpdate Card Spend Limitโ
This API is used to updates the spending limit for a card of a cardholder in the system.
- Endpoint
PATCH {{baseUrl}}/issuing/api/:version/card/limit
Description
Updates the spending limit for a card of a cardholder within the system. This API allows the cardholder to modify existing transaction limits, helping maintain control over spending and manage financial exposure.
๐ 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
๐ฆ Body Parameters
amount_limit_periodstringrequired
Time period over which the updated transaction limit is applied.
Allowed values:
DAY, WEEK, MONTH, YEAR, LIFETIME, TRANSACTION.
Note:
TRANSACTIONrepresents a per-transaction limit.- Only
DAYandMONTHare supported for transaction_type:ATM_CASH_WITHDRAWAL.
amount_limitintegerrequired
New transaction limit amount to be applied for the specified period.
Must be a positive integer greater than 0. This value will replace the existing limit.
transaction_typestringrequired
Type of transaction to which the limit is being updated.
Allowed values:
PURCHASE,
ATM_CASH_WITHDRAWAL.
- ๐งฉ Examples
- ๐งช Try It Out
Request Example
- cURL
- Python
- Java
- NodeJs
curl --location --request PATCH \
--url '{{baseUrl}}/issuing/api/:version/card/limit' \
--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 '{
"amount_limit_period": "MONTH",
"amount_limit": 1000,
"transaction_type": "ATM_CASH_WITHDRAWAL"
}'
import requests
import json
url = "{{baseUrl}}/issuing/api/:version/card/limit"
payload = json.dumps({
"amount_limit_period": "MONTH",
"amount_limit": 1000,
"transaction_type": "ATM_CASH_WITHDRAWAL"
})
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 \"amount_limit_period\": \"MONTH\",\n \"amount_limit\": 1000,\n \"transaction_type\": \"ATM_CASH_WITHDRAWAL\"\n}");
Request request = new Request.Builder()
.url("{{baseUrl}}/issuing/api/:version/card/limit")
.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({
"amount_limit_period": "MONTH",
"amount_limit": 1000,
"transaction_type": "ATM_CASH_WITHDRAWAL"
});
let config = {
method: 'patch',
maxBodyLength: Infinity,
url: '{{baseUrl}}/issuing/api/:version/card/limit',
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: Success
- 400: Error
{
"status": "Success",
"message": "Update card spend limit has been set successfully.",
"code": 200,
"data": []
}
{
"code": 400,
"message": "Error Message",
"status": "error"
}