Skip to main content
Every failed request returns the same JSON shape with a stable code. Branch on code, never on message. This page lists every code you can receive, what causes it, and whether to retry.

The error shape

How to retry

Request and validation

Authentication and access

Conflicts and concurrency

Idempotency

See Idempotent creates.

Rate limits and capacity

Environments and setup

Integrations

A connection check that fails still returns 200, with ok: false and a failure reason. See Check a connection.

Files

See Files.

Automations and event sources

A run that can’t start its session ends failed with an error that has its own code, message, and retryable. See Automations.

Memory, evaluations, and analytics

Models and the session analyst

Server errors

Session failure codes

A session that fails has a failure object. These codes are separate from HTTP errors: the request that started the session succeeded, but the work later stopped.
Read category first: Setup runs report the same failure vocabulary in their failure_code.

Next steps

Troubleshooting

Match a symptom to its cause and fix.

Limits

See the limit behind each size or rate error.

API conventions

Retries, idempotency, and paging.

Event types and states

Look up session statuses and stop reasons.