Skip to main content
When something goes wrong, the Engine returns a non-2xx HTTP status with a JSON body of the form:
The error field is a stable, machine-readable identifier. The message is for humans. Use error for routing logic; show message (or your own translation of the code) to end users.

HTTP status taxonomy

Common error codes

The Engine emits its own error codes from src/errors.py. The most common ones you’ll see:

Streaming errors

Inside an SSE stream from /execute, errors arrive as events, not HTTP status codes:
After an error event, the stream is over. You’ll need to make a new /execute call to retry or continue.

Retry guidance

See also