Shared Quota
API endpoints pertaining to the shared-quota.
Every request must contain common parameters
Shared Quota
Multiple Shared Quota Cards can be issued under a single Budget Quota, allowing all cards to share the same budget balance.
Shared Quota Cards only define individual spending limits for each card; they do not carry actual funds themselves. All fees, transactions, and refunds are directly settled against the Budget Quota balance.
Funds transfer into or out from the Budget Quota are directly linked to the Main Account balance.
Note: If the total spending limits assigned to all Shared Quota Cards exceed the available Budget Quota balance, an over-limit fee may apply based on the excess amount.
Over-limit Fee Explanation
Each Budget Quota represents the actual funds deposited by the merchant. However, you may assign card limits exceeding the total Budget Quota.
If the total card limits exceed the actual Budget Quota balance, the excess amount will be considered as an over-limit allocation and will incur a management fee on the exceeding portion.
Fee Calculation Example:
Example 1:
Merchant funds 50,000 USDT into the Budget Quota and there are 10 cards under this budget quota.
They assign limits of 10,000 USDT to each of 10 cards (total assigned limits = 100,000 USDT).
Over-limit amount = 100,000 USDT - 50,000 USDT = 50,000 USDT.
Management fee will apply to the 50,000 USDT over-limit amount and will be charged in daily basis.
Example 2:
Merchant funds 30,000 USDT into the Budget Quota.
Limits assigned to 5 cards:
Card 1: 10,000 USDT
Card 2: 10,000 USDT
Card 3: 10,000 USDT
Card 4 & Card 5: 0 USDT
Total assigned limits = 30,000 USDT → No over-limit fee (limits match the budget).
Integration Flow
Create Budget Quota → Fund Budget Quota → Apply for Shared Quota Cards
Initiate the creation of a Budget Quota. This serves as the shared fund pool that will be used by all linked Shared Quota Cards.
Deposit funds into the Budget Quota. The deposited amount will become the available balance for all associated Shared Quota Cards.
Step 3: Apply for Shared Quota Cards
Once the Budget Quota is funded, you can issue Shared Quota Cards under this quota.
Each card’s spending limit can be adjusted through the Top-up API. This top-up action does not deduct from the Budget Quota balance; it only defines the card’s spending limit.
Create a budget quota
POST
https://api.musepay.io/v1/card/share-quota/quota/create
Request Body
request_id*
String
External identifier for the create request.
card_product_id*
String
Product ID of the card to be related
card_level*
String
the card level of the card product
share_quota_name*
String
the name of the budget quota
remark
String
remark
{
// Response
"code":200,
"message":"success",
"data": {
"share_quota_id": "2469990273197955",
"share_quota_status": "NORMAL"
}
}
Fund the Budget Quota
POST
https://api.musepay.io/v1/card/share-quota/quota/tx/adjustment
Request Body
share_quota_id*
String
the budget quota id
request_id*
String
External identifier for the request.
amount*
Integer
the amount to set
remark
String
remark
{
// Response
"code":200,
"message":"success",
"data": {
"status": "APPLYING",
"order_no": "2469990273197955",
"amount": "120",
"request_id": "afdsfasf234324"
}
}
Apply for Shared Quota Cards
POST
https://api.musepay.io/v1/card/share-quota/apply
Request Body
user_id*
String
The user id is an account that holds the funds, balances, and transactions that are used to make purchases with the card.
request_id*
String
External identifier for the issuing request.
card_product_id*
String
Product ID of the card to be issued
card_level*
String
the card level of the card product to apply
phone_number*
String
Mobile phone number of card holder. This phone number should be pre-verified by the partner.
phone_area_code*
String
Country calling codes
embossed_name
String
the embossed name in card face
share_quota_id*
String
the budget quota id
{
// Response
"code":200,
"message":"success",
"data": {
"apply_status": "APPLYING",
"apply_id": "2469990273197955",
"request_id": "afdsfasf234324"
}
}
Query budget quota records
POST
https://api.musepay.io/v1/card/share-quota/quota/list
Request Body
share_quota_id
String
the budget quota id (optional)
limit
String
page size, default 10, between 1 and 1000
page
int
page number, default 1
{
"code": "200",
"data": {
"total": 100,
"data": [
{
"share_quota_id": "TD13614342296065",
"share_quota_name": "aaaaa",
"card_product_id": "2daca29b5ed4e28a92dca87",
"card_level": 1,
"share_quota_status": "xx",
"share_quota_currency": "USDT",
"available_quota_balance":12321,
"outgoing_quota_balance": 1696861482753,
"total_usage_quota_balance": 1696861482753,
"available_card_tx_quota": 1696861482753,
"total_card_tx_quota": 1696861482753,
"total_issue_card_count": 10
},
]
},
"message": "success"
}
Query Budget Quota Adjustment History
POST
https://api.musepay.io/v1/card/share-quota/quota/tx/list
Request Body
share_quota_id
String
the budget quota id (optional)
request_id
String
External identifier for the adjust request.
start_time
Long
Start time in milliseconds (Unix timestamp), e.g., 1748188799000L
end_time
Long
End time in milliseconds (Unix timestamp), e.g., 1748188799000L
limit
String
page size, default 10, between 1 and 1000
page
int
page number, default 1
{
"code": "200",
"data": {
"total": 100,
"data": [
{
"share_quota_id": "TD13614342296065",
"order_no": "aaaaa",
"status": "dsf",
"request_id": "2daca29b5ed4e28a92dca87",
"amount":12321,
"transaction_time": 1748188799000
},
]
},
"message": "success"
}
Last updated