Get session AI usage

Get session AI usage

Billed AI spend for a session, per turn and per session, written as each model call happens (main loop and utilities such as compaction, web search, web fetch, subagent summaries and embeddings). With includeChildren=true it also covers every subagent session below this one and adds them into totals. Turns and sessions created before per-turn tracking report usageTracked: false and usage: null; totals.complete is false when any are in scope.

GET/api/agent/sessions/{sessionId}/usage
Path parameters
sessionIdstringrequired
Query parameters
includeChildrenenum

Also report every subagent session below this one (default false).

runLimitinteger

Maximum turns listed in runs (default 500, max 2000). Totals always cover every turn.

Request

curl
curl -X GET https://trickest.io/api/agent/sessions/{sessionId}/usage \
  -H "Authorization: Token $TRICKEST_TOKEN"

Responses

200Per-turn and per-session usage
sessionIdstringrequired
includeChildrenbooleanrequired
sessionsobject[]required

sessionIdstringrequired
parentSessionIdstringrequired
levelintegerrequired

Levels below the requested session; 0 is the session itself.

titlestringrequired
statusstringrequired
createdAtstringrequired
usageTrackedbooleanrequired

False when the session predates per-turn tracking; usage is then null.

usageCompletebooleanrequired

False when usage is known to miss calls: tracking began after the session started, or an attribution write failed.

usageobjectrequired

callsintegerrequired
billedUsdnumberrequired

What the vault is charged: raw cost × the vault markup at write time.

inputTokensintegerrequired

Includes cache reads and cache writes.

outputTokensintegerrequired
cachedInputTokensintegerrequired
cacheCreationTokensintegerrequired
webSearchRequestsintegerrequired
utilityBilledUsdnumberrequired

Spend outside main-loop model calls: compaction, web search/fetch, subagent summaries, embeddings.

utilityCallsintegerrequired
priceFallbackbooleanrequired

At least one call was priced from fallback rates; treat the figure as an estimate.

byKindstringrequired
outsideTurnobjectrequired

callsintegerrequired
billedUsdnumberrequired

What the vault is charged: raw cost × the vault markup at write time.

inputTokensintegerrequired

Includes cache reads and cache writes.

outputTokensintegerrequired
cachedInputTokensintegerrequired
cacheCreationTokensintegerrequired
webSearchRequestsintegerrequired
runCountintegerrequired
untrackedRunCountintegerrequired
runsobject[]required

runIdstringrequired
sessionIdstringrequired
statusstringrequired
triggeredBystringrequired
startedAtstringrequired
completedAtstringrequired
turnUsageStatusstringrequired

complete / partial / unknown, as the turn reported at finalize.

usageTrackedbooleanrequired
usageRecordedbooleanrequired

At least one call was recorded against this turn.

usageobjectrequired

callsintegerrequired
billedUsdnumberrequired

What the vault is charged: raw cost × the vault markup at write time.

inputTokensintegerrequired

Includes cache reads and cache writes.

outputTokensintegerrequired
cachedInputTokensintegerrequired
cacheCreationTokensintegerrequired
webSearchRequestsintegerrequired
utilityBilledUsdnumberrequired

Spend outside main-loop model calls: compaction, web search/fetch, subagent summaries, embeddings.

utilityCallsintegerrequired
priceFallbackbooleanrequired

At least one call was priced from fallback rates; treat the figure as an estimate.

byKindstringrequired
runsTruncatedbooleanrequired
totalsobjectrequired

usageobjectrequired

callsintegerrequired
billedUsdnumberrequired

What the vault is charged: raw cost × the vault markup at write time.

inputTokensintegerrequired

Includes cache reads and cache writes.

outputTokensintegerrequired
cachedInputTokensintegerrequired
cacheCreationTokensintegerrequired
webSearchRequestsintegerrequired
utilityBilledUsdnumberrequired

Spend outside main-loop model calls: compaction, web search/fetch, subagent summaries, embeddings.

utilityCallsintegerrequired
priceFallbackbooleanrequired

At least one call was priced from fallback rates; treat the figure as an estimate.

byKindstringrequired
sessionCountintegerrequired
untrackedSessionCountintegerrequired
incompleteSessionCountintegerrequired
runCountintegerrequired
untrackedRunCountintegerrequired
completebooleanrequired

False when anything in scope predates tracking or is known to miss calls; usage is then a lower bound.

sessionsTruncatedbooleanrequired
400Bad Request – validation error or malformed input
codestringrequired
messagestringrequired
detailsobject

Field-level detail when the error is a validation failure.

401Unauthorized – missing or expired token
codestringrequired
messagestringrequired
detailsobject

Field-level detail when the error is a validation failure.

403Forbidden – insufficient permissions
codestringrequired
messagestringrequired
detailsobject

Field-level detail when the error is a validation failure.

429Too Many Requests – rate limited
codestringrequired
messagestringrequired
detailsobject

Field-level detail when the error is a validation failure.

500Internal Server Error
codestringrequired
messagestringrequired
detailsobject

Field-level detail when the error is a validation failure.