Errors

Errors are JSON with stable code values. Every response includes request_id for support.

Success envelope

{
  "data": { … },
  "request_id": "req_abc123"
}

Error envelope

{
  "error": "Human-readable message",
  "code": "not_found",
  "request_id": "req_abc123",
  "issues": [{ "field": "greeting", "message": "…" }]
}

issues appears on validation errors (code: "invalid").

Codes

  • unauthorized
  • forbidden_scope
  • read_only
  • not_found
  • invalid
  • idempotency_mismatch
  • rate_limited
  • conflict
  • internal

401 unauthorized — missing or invalid key. 404 not_found — resource not in this shop. 429 rate_limited — see Rate limits.