Skip to content
PHRONEN
Menu

Product

ProductPricingCompanyEnterpriseDownload

Proof

EvidenceSecurity

Account

Sign inCreate accountSalesContact

Errors, limits and idempotency

Consistent problems, a request id on every response, and safe retries.

403json
{
  "error": {
    "code": "POLICY_DENIED",
    "message": "Production environments are restricted to owners and admins.",
    "request_id": "req_…"
  }
}
codeMeaning
INVALID_REQUESTa field is missing or malformed; the message says which
UNAUTHENTICATEDno or invalid key
FORBIDDENthe key’s scopes or your role do not allow this
POLICY_DENIEDan organisation policy refused it
NOT_FOUNDno such task, device, key or webhook in your organisation
INVALID_STATEthe task is not in a state where this action applies
IDEMPOTENCY_MISMATCHthe same Idempotency-Key was used with a different body
RATE_LIMITEDslow down; Retry-After says how long

Idempotency

Send an Idempotency-Key header when creating a task. Repeating the same key with the same body returns the original task; the same key with a different body is refused.

Rate limits

Every actor is rate-limited with a token bucket. When you are limited you receive 429 with Retry-After. Streams are not counted against the bucket once open.