GET /v1/models lists every model the workspace can use.
GET /v1/agents/{agentId}/models narrows that to one agent and names its
current default. Both are cursor-paginated with limit up to 200.
Catalog fields
cost carries input and output, optional cacheRead, cacheWrite, and
reasoning, plus tiers. Each tier restates those rates above a
contextOverTokens prompt-size threshold.
Selector grammar
A profile’smodels is an ordered list of up to eight selectors, at most 512
characters each:
Each selector authorizes all of its current matches and contributes one
preferred concrete target, chosen by catalog precedence. Selector order then
picks the profile’s default. Wildcards are dynamic: a new matching model becomes
usable without a profile edit.
A turn’s optional
model field must be a concrete catalog ID that the
profile’s selectors authorize. Wildcards are rejected there, and model is not
accepted alongside mode: "steer".
What a turn pins
The turn snapshot’sresolvedConfig.model is the concrete target the turn will
use: id, provider, apiFamily, providerModel, the token limits, the
modality and capability flags, imageInputFormats, and the reasoning and cache
settings. Changing a profile’s models moves the next admitted turn, never one
in flight.
Usage accounting
Events and turn results carryusage: inputTokens, outputTokens,
totalTokens, and, where they apply, cacheReadTokens, cacheWriteTokens,
reasoningTokens, and estimatedCost in USD. That estimate is what an agent
budget and a thread maxCost are measured against.