API reference, Console billing
Account profile, balance and settings
GET/v1/console/accountoperation id getAccount
Authentication. Console session cookie (__Host-dex_session). State-changing routes also need the x-dex-csrf header.
Responses
200The signed-in account.
Headers: x-request-id
idAccountIdrequiredpattern ^acc_[0-9A-HJKMNP-TV-Z]{26}$
objectstringrequiredalways "account"
emailstringrequiredformat email
namestring | nullcompanystring | nullcountrystring | nullpattern ^[A-Z]{2}$
vat_idstring | nullcreated_atstringrequiredformat date-time
balanceBalancerequiredbalance.objectstringrequiredalways "balance"
balance.account_idAccountIdrequiredpattern ^acc_[0-9A-HJKMNP-TV-Z]{26}$
balance.balance_micro_centsintegerrequiredInteger micro-cents. Stays below 2^53 for any balance under EUR 90 million, so JavaScript reads it exactly.
format int64
balance.balance_eurstringrequiredThe same amount as a decimal string with 8 decimals.
pattern ^-?[0-9]+\.[0-9]{8}$
balance.currencystringrequiredalways "EUR"
balance.month_to_date_tokensintegerrequiredBillable tokens in the current UTC calendar month, which set the tier.
format int64
balance.tierstringrequiredone of "t1", "t2", "t3"
balance.unit_price_micro_centsintegerrequiredat least 0
balance.next_tier_at_tokensinteger | nullrequiredMonth-to-date token count at which the next lower price applies; null in t3.
format int64
balance.updated_atstringrequiredformat date-time
content_loggingobjectrequiredOpt-in content logging retention in days; 0 means off, which is the default.
content_logging.live_daysintegerrequired0 to 30
content_logging.test_daysintegerrequired0 to 30
top_up_limit_remaining_centsinteger | nullrequiredRemaining top-up allowance during the first 30 days; null afterwards.
401Missing, unknown, revoked or expired credentials.
Headers: x-request-id, x-client-request-id
Error envelope. See Errors for every type and code.
403The credentials are valid but not allowed to do this (missing scope, suspended account or failed CSRF check).
Headers: x-request-id, x-client-request-id
Error envelope. See Errors for every type and code.
500An unexpected error. Any charge was refunded. Retry with the same idempotency key.
Headers: x-request-id, x-client-request-id
Error envelope. See Errors for every type and code.
503maintenance: the console's database, sign-in or payments are unavailable for a moment. Retry after
retry-after. Nothing was changed.
Headers: x-request-id, retry-after
Error envelope. See Errors for every type and code.
Examples
Illustrative values. Examples show the shape of requests and responses; the numbers in them are not measured results.
Response: A Dutch company account in its first month
{
"id": "acc_01M4ZPXYG0F5KZNWJ47TAN9ZT2",
"object": "account",
"email": "dev@example.nl",
"name": "Sanne de Vries",
"company": "Fietsenwinkel Voorbeeld B.V.",
"country": "NL",
"vat_id": "NL000099998B57",
"created_at": "2026-10-15T09:12:44Z",
"balance": {
"object": "balance",
"account_id": "acc_01M4ZPXYG0F5KZNWJ47TAN9ZT2",
"balance_micro_cents": 3610145620,
"balance_eur": "36.10145620",
"currency": "EUR",
"month_to_date_tokens": 212450110,
"tier": "t1",
"unit_price_micro_cents": 5,
"next_tier_at_tokens": 1000000000,
"updated_at": "2026-10-20T12:00:03Z"
},
"content_logging": {
"live_days": 0,
"test_days": 7
},
"top_up_limit_remaining_cents": 45000
}