Skip to main content
When a request fails, Flowyte returns an RFC 9457 problem+json body with the application/problem+json content type. The HTTP status is the source of truth; the body adds machine-readable detail.

The problem shape

Branch on status and code, not on detail or title — those wording may change.

Common statuses

Reserved endpoints return 403

Some endpoints in the contract are reserved (planned ahead of release). Calling one returns 403, not 404 — the route exists but isn’t open to you yet. If a correctly-authenticated, correctly-scoped call returns 403, check whether the endpoint is reserved before assuming a permissions bug. The same 403 also covers genuine scope and cross-org denials.

Named problems

A few problems carry a specific code worth handling:

Optimistic concurrency (409 on PATCH /agents/{id})

Agent autosave uses an If-Match version. If you send a stale version, the server responds 409 with the current agent state and version in the body. Rebase: refetch, re-apply your pending edits, and retry with the new version. For status codes per endpoint, see the API Reference.