Skip to main content
When a call fails, Guile returns an RFC 9457 problem with content type application/problem+json. Use the type URI to pick the right recovery.

What you do first

  1. Read type: it names the problem and links to its docs page.
  2. Read detail: it explains this occurrence.
  3. Open the type link for Cause, Fix, and Retry safety.
  4. Log instance (and id when present) for support.
Each problem body includes:

States that matter

HTTP status alone is not enough. The same status can mean different recovery paths. Branch on type. When recovery is present: Older V1 problem bodies may omit recovery while the backend rollout completes. The generated clients keep a conservative compatibility path for those responses and never replay an unknown write without its idempotency key. Common HTTP-shaped problems:

When a call fails

Treat every HTTP non-success as a problem document. Follow recovery when present, and never invent retry policy from the status code. A transport failure has no problem body and leaves a write outcome unknown. Retry a write only when you can send the exact request with the same idempotency key. Read requests may be retried with backoff.
  • API reference: domains and auth
  • Idempotency keys: safe retries on writes
  • Per-operation responses in each domain OpenAPI list the problems that operation can raise