Skip to main content
Every API error is an RFC 9457 problem-detail document with media type application/problem+json. A registered catch-all guarantees no response body is plain text, including unhandled exceptions.

Synopsis

Fields

Known extensions:

Values

Codes

http_error is the code you will see most often from the governance and authorization endpoints, because they raise HTTPException directly. Branch on status plus detail for those, and treat code as uninformative.

Governance and authorization responses

Tool authorization decision reasons

Returned in a denial detail, and in the tool result of a denied in-task call.

Enforcement

Three responses report success without the effect the caller expects. None is a transport error, so none is retryable. A denial inside a task run is not an HTTP error. It appears as a tool.result event carrying denied_by_policy: true and the reason.

Defaults and overrides

Failure posture per component. None of these is configurable.

Example

A lower policy layer attempting to raise a ceiling:

Policy rule syntax

Which rules validate and which silently do nothing

Authorization model

What a 403 from a permission check means

Limits

The timeouts whose expiry produces a 5xx
Last modified on September 17, 2026