Skip to main content
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’s models 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’s resolvedConfig.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 carry usage: 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.