What this caller is entitled to, and what it would be charged
get_accountWho the credential in front of this request resolves to, which of the two paid lanes it would take, what it has left to spend, and the price of every route on both lanes. Unmetered and answerable WITHOUT a key: checking your balance must never cost a unit and must never be the thing that fails. A caller with no key gets a real answer (tier: anonymous, lane: x402, the full price list), not a 401, so both prices can be compared before committing to either. An unrecognised key also answers 200, with key_recognised: false — this is the endpoint you reach for when your key is the thing that is broken, so it must work then.
Wraps GET /v0/account. Access: no API key required.
Returns:
authenticated: Whether a credential was accepted.
key_present: Whether a credential was sent at all.
key_recognised: Whether it resolved, or NULL when none was sent — three-valued, because "no key" and "a key that did not resolve" need different fixes and one
falsefor both would conflate them.tier:
anonymous,trial,oauth, or the organization key tier.plan: The organization's plan key, or null when there is no organization.
lane: Which lane this caller would take on a metered route, so it can be PREDICTED rather than discovered by being refused:
creditdraws down Query Units,x402pays per call,invalid_keyresolves to nothing,no_accountis a caller with no organisation behind it on the MCP surface, where there is no x402 door, andupgrade_requiredis that same surface reached by a caller that HAS an organisation whose plan excludes the route. The last two were one value until a signed-in connection with an organisation and a balance was told it had no account behind it.organisation: Id and display name, or null. Named so an operator with several accounts knows which one to top up.
balance: Units available and the low-balance threshold, or NULL with a
balance_notesaying why there is no balance to report — an organizationless caller has none, which is not the same as having zero.low_balanceis already computed here so a client does not have to know the threshold to apply it.metered_routes: Every route with what one call costs on each lane:
quon the credit lane,x402_usdon the payment lane. Routes that cost nothing are listed AT ZERO rather than omitted, because a caller cannot tell "free" from "not thought about" by absence.runSql'squis its MINIMUM — a query is priced by the time it takes, andsql_tiersgives the ceilings.balance_note: Present only when
balanceis null, saying WHICH kind of nothing it is: no credential, one that did not resolve, a trial key that holds no balance by design, or an organization row that could not be read. A null balance is never a zero.sql_tiers: What one
run_sqlcall may cost, which is no longer one number: a query is priced by the time it takes, at one Query Unit per started five seconds with a floor of one. Each tier gives itstimeout_seconds, itsmax_qu(what is HELD for the call and the most it can cost), its own rate limit, and two separate booleans —allowedis whether this caller's plan may buy it,availableis whether this deployment can serve it at all. They are separate because "upgrade your plan" and "report a misconfiguration" are different things to go and do, andnotesays which applies.top_up_url: Org-scoped deep link to the top-up page, or the plans page for a caller with no organization.
as_of: When this answer was assembled.
summary: One sentence saying what this lane means, for a human reading it in an agent transcript.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||