Errors
Status codes and how to handle them.
| Status | Error | What to do |
|---|---|---|
| 400 | invalid_action_descriptor, validation_error | Fix the request; issues lists each invalid field. A missing threadId or actionType returns a plain error message instead of a code |
| 400 | invalid_runtime | The runtimeId is unknown or belongs to another agent |
| 400 | context_not_in_thread | Referenced context does not belong to this thread |
| 401 | unauthorized, invalid_bearer | Check the Authorization header and that the agent is enabled |
| 404 | thread_not_found | The thread does not exist for this agent’s tenant |
| 409 | client_request_id_conflict | The same clientRequestId was sent with a different request; use a new ID |
| 409 | previous_evaluation_failed | An earlier request with this ID failed; send a new ID |
| 504 | evaluation_in_flight_timeout | An earlier request with this ID is still running; retry shortly with the same ID |
| 500 | evaluation_replay_unavailable | The original decision for this ID cannot be replayed; send a new ID |
| 5xx | Other | Retry with backoff; treat as a block until it succeeds |
Error body
{
"error": "thread_not_found",
"message": "Thread not found for tenant"
}Last reviewed October 2026Suggest a change