Common status patterns:
400: invalid config/profile/state401/403: auth or permission failure404: app/session/resource not found409: conflicting active turn submission410: session expired502: upstream KB service failure
GET /v1/sessions/{session_id}/events delivers error events with:
codemessagerecoverable
Common runtime codes:
chat_unavailabletransport_error- provider/config/session validation errors surfaced during turn execution
POST /v1/sessions/{session_id}/tool-results returns:
404when no matching pending tool call exists200withdeduplicated=truefor repeated idempotent submissions
When chat availability checks fail, runtime paths return or emit:
code: chat_unavailable- standardized unavailable message from chat access service