Get withdrawal allowance
Check your available API withdrawal allowance and limits.
Returns the current allowance status for API withdrawals.
Use this endpoint to check your available API allowance before initiating a withdrawal. The allowance determines whether withdrawals execute automatically (PROCESSING) or require manual approval (PROPOSED) from the dashboard.
Organization scope: Allowance is configured at the organization level (your Safe wallet), not per customer.
Response states (all return 200):
enabled: false, allowance: null— API withdrawals unavailable, Safe not configured, or module not enabled on-chainenabled: true, allowance: { "limit": "0", ... }— Module and delegate configured, but no spending limit set yet (every amount is"0")enabled: true, allowance: { ... }— Fully configured; checkavailablebefore withdrawing
enabled: true means the on-chain module and delegate are configured. Automatic withdrawals still require sufficient available allowance. When enabled is false but API withdrawals are enabled, wallet USDC withdrawals fail with 500 (or 404 when no Safe wallet is configured) instead of falling back to PROPOSED.
Response Fields
enabled: Whether the on-chain module and delegate are configuredallowance.limit: Total allowance amount per reset period (USDC)allowance.spent: Amount already used this period (USDC)allowance.available: Remaining amount you can withdraw automatically (USDC)allowance.resetPeriodMinutes: How often the allowance resets (0 = one-time, no reset)allowance.nextResetAt: When the allowance will reset (null if one-time)
Authorization
bearerAuth Organization API key obtained on Settings > API Keys page in Compose UI.
In: header
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X GET 'https://compose.finance/api/v2/customers/withdrawal/allowance' \ -H 'Authorization: Bearer YOUR_API_KEY'{
"enabled": true,
"allowance": {
"limit": "10000",
"spent": "2500",
"available": "7500",
"resetPeriodMinutes": 1440,
"nextResetAt": "2024-01-16T00:00:00.000Z"
}
}{
"error": "Unauthorized - Invalid or missing API key or session"
}{
"error": "Customers feature is not enabled for your organization"
}{
"error": "Rate limit exceeded. Please try again later."
}{
"error": "Internal server error"
}
