Reference
account_status
Whether this connection may produce store-ready output — asked before a long render.
What it does
- Read-only
- Idempotent
- No account needed
The pre-flight. It reports whether an account is signed in, its plan, trial and remaining cloud credits, what a preview costs on this connection, and — the field to branch on — whether production output is available: full-resolution renders and every emit_bundle form. When it is not, the reply carries a machine-readable next step and a sentence to relay. Call it first when the user asks for the real files, because a refusal after a long render wastes their time.
You can ask: “Check whether this connection can produce a store-ready bundle.”
It takes no arguments
Call it with an empty arguments object. There is nothing to configure, and nothing you pass changes what comes back.
Result
okbooleanrequiredconnectionstringrequiredone of
hostedlocalauthenticatedbooleanrequiredplanstringoptionalone of
freeproentitlementStatusstringoptionalreasonstringoptionaltrialobjectoptionalstatestringrequiredendsAtstring or nullrequired
creditsobjectoptionalremainingnumberrequiredcapnumberrequiredrefillAtstring or nullrequiredledgerBalancenumberoptionalreservednumberoptionalsettledReservationsnumberoptionalreleasedReservationsnumberoptional
previewobjectrequiredmodestringrequiredone of
creditsanonymous_limitunmetered
productionobjectrequiredcapabilitystringrequiredavailablebooleanrequiredreasonstringoptionalrequiredPlanstringoptional
nextStepstringrequiredone of
nonesign_inchoose_planupgraderetrymessagestringrequiredcontractVersionstringrequiredThe result-envelope version every render/bundle/project result on this connection carries.
inputsobjectrequiredEvery way this connection accepts a screenshot or asset.
local_pathis the local door’s alone.modesarrayrequiredeach item
string
one of
inline_base64stored_refremote_urllocal_pathproject_stored
deliveryobjectrequiredEvery way this connection can hand a result back.
modesarrayrequiredeach item
string
one of
inline_base64signed_urllocal_pathshare_link
retentionobjectrequiredWhat this connection keeps, and for how long. Read before promising a user a link will still work.
classesarrayrequiredeach item
object
idstringrequireddescriptionstringrequireddurablebooleanrequiredfalse ⟹ nothing survives the call on this connection.
ttlDaysnumber or nullrequirednull ⟹ kept until the owner deletes it.
revocableForDaysnumberoptional
operationsarrayrequiredEvery registered tool and whether THIS connection can run it. Branch on it instead of trying and failing.
each item
object
toolstringrequiredkindstringrequiredsupportedbooleanrequiredrequiresstringoptionalPresent exactly when
supportedis false — the one thing missing.one of
accounthosted_connectionunavailable
costobjectrequiredHow work is paid for here, in public cloud credits. Every figure comes from the monetization policy.
unitstringrequiredalways "credit"modelstringrequiredone of
meteredanonymous_allowanceunmeteredpreviewPanelnumberrequiredfullResolutionPanelnumberrequired
failureCatalogobjectrequiredThe CLOSED set of failure codes and next-actions this server can produce. Identical on both doors.
codesarrayrequiredeach item
string
nextActionsarrayrequiredeach item
string
accountobjectrequiredThe account-wide cloud credit wallet, named apart from a single call’s debit: this is the BALANCE, while a render’s
contract.cost.settledis what that one call took. The legacy top-levelcreditskey still carries the same balance for the compatibility window.creditsobjectoptionalremainingnumberrequiredcapnumberrequiredrefillAtstring or nullrequiredledgerBalancenumberoptionalreservednumberoptionalsettledReservationsnumberoptionalreleasedReservationsnumberoptional
Example
That request maps to this call:
{
"name": "account_status",
"arguments": {}
}Whether this connection is hosted or local, whether it is signed in, the plan and trial state, the remaining cloud credits, the preview mode, and the production block with its next step and message.
Access and cost
- Open to everyone on both doors: no account needed, and it answers honestly when there is none.
- Free, and deliberately so: it spends no cloud credits, uses up no free preview, uploads nothing and writes nothing. Admitting it to the anonymous tier cannot be used to get free work out.
- Previewing never depends on it, so keep rendering previews regardless of what it says.
When it refuses
- It says production output is unavailable.
- Relay the message and do the next step it names — sign in, choose a plan, upgrade or retry. Do not retry the production call until that step is done.
- Cloud credits are exhausted.
- That is a different condition from an entitlement refusal, with a different remedy. The reply distinguishes them; do not describe one as the other.
- It reports a local connection.
- Local rendering is free and unmetered, so cloud credits are not the constraint there. What is still gated is production output.
Where this fits
What the agent is told
The title and description the server publishes on tools/list — this is the copy a model chooses between, reproduced verbatim.
Check what this connection can do
Ask whether this connection may produce store-ready screenshots — full-resolution panels and the screenshot bundle — before starting a render that might be refused. It reports whether an account is signed in, its plan, trial and remaining ShotOps cloud credits, what a PREVIEW costs here, and — the field to branch on — whether production output is available: full-resolution render_strip and render_project, and every emit_bundle form. `production.available: false` comes with a machine-readable `nextStep` (sign_in, choose_plan, upgrade or retry) and a sentence to relay to the user; do not retry the production call until that step is done. CALL THIS FIRST when the user asks for a screenshot bundle, final panels, or "the real files" and you do not already know this connection can produce them — a refusal after a long render wastes their time, and this call is free: it spends no cloud credits, uses up no free preview, uploads nothing, and writes nothing. Previewing never depends on it, so keep rendering previews regardless.