Get sub-account spending
Get spending information for a sub-account. Returns the parent team's balance, the sub-account's total spending, and its credit limit (spending cap). Requires a parent project API key; sub-account API keys receive HTTP 403.
Authorization
AuthorizationheaderrequiredBearer YOUR_API_KEY. Create a key in the dashboard.
Path parameters
idstringrequiredSub-account ID.
Responses
200Sub-account balance.
balanceintegerrequiredTeam balance in cents. All charges are billed to the parent team.
currencystringrequiredcreditLimitintegerSpending cap in cents (only for sub-accounts).
totalSpentintegerTotal amount spent by this sub-account in cents (only for sub-accounts).
isSubAccountbooleanWhether this API key belongs to a sub-account.
payAsYouGobooleanrequiredWhether the team is on Free and has added funds, so app messages past the allowance are billed in blocks from the balance instead of stopping.
spendCapintegerrequiredThe monthly usage spend cap in cents, set in the dashboard's Billing. Null means no cap. The first deposit on Free sets $50 when none was chosen.
spentThisMonthintegerrequiredUsage taken from the balance this calendar month (UTC), in cents: what the spend cap is measured against. Renewals are not counted.
appMessagesobjectrequiredThis month's WhatsApp, Telegram, Instagram and Messenger messages, sent and received.
3 properties
usedintegerrequiredMessages counted this month, in both directions.
includedintegerrequiredMessages the plan includes this month. Null on a paid plan, which does not cap them.
pausedstringrequiredWhy app messages are stopped right now, or null.
allowance: Free without funds at its allowance.balance: pay as you go and the balance cannot cover the next block.spend_cap: pay as you go and the spend cap leaves no room for it. While paused, sends answer429 a2p_limit_exceededand incoming messages are held.One ofallowancebalancespend_cap
heldInboundobjectrequiredIncoming messages held at the allowance, or null when none are. Counts and a date only, never content or senders. They are delivered once the team pays; see
POST /v1/messages.3 properties
countintegerrequiredmaxintegerrequiredHow many the team can have held at once (1,000). Past it new ones are refused.
nextExpiresAtstring<date-time>requiredWhen the oldest held message expires and is dropped.
401Unauthorized.
codestringrequiredmessagestringrequireddetailsobject
403Forbidden. Sub-account API keys cannot manage sub-accounts.
codestringrequiredmessagestringrequireddetailsobject
404Not a sub-account of this team. The parent project's own id is not a sub-account and answers 404.
codestringrequiredmessagestringrequireddetailsobject