model field. When omitted, runs use the default model, currently anthropic/claude-sonnet-5. The resolved model is echoed on every run object as model.
Choosing a model
model field is accepted on POST /v1/runs, POST /v1/realtime/runs, POST /v1/agents, and POST /v1/agents/{agent_id}/edits. On agent create and edit, it selects the model the builder uses.
Model selection applies to that run only. It is not stored as an agent or conversation preference, and follow-up runs in the same conversation may use a different model.
Supported models
Model ids are exact and case-sensitive. Always send the provider-qualified form shown above. For example,
claude-sonnet-5 is rejected.
Cost tiers are relative token-pricing tiers, where 1 is cheapest and 6 is most expensive. Credits are charged from actual token usage, so model choice directly changes what a run costs. For capability guidance, see the model comparison.
Programmatic discovery
GET /v1/models returns the supported catalog with a per-account available flag:
available: false means the model exists but your account cannot run it yet because of paid-plan or gated-access requirements. Requesting it returns 403 MODEL_NOT_ALLOWED.
The GET /v1/models response is the live source of truth for supported ids and account-specific availability.
Errors
Model lifecycle
Superseded models are flaggedlegacy: true but remain fully supported. Removing a model from the Developer API is announced in the changelog before removal. After removal, requests for it return MODEL_NOT_SUPPORTED. Runs recorded with a retired model keep their historical model value.