Skip to main content
Every 4xx/5xx response has the same body:
  • code is stable: branch your code on it.
  • message is a human-readable explanation in English. It’s meant to be shown to a person, and its wording can change without notice: never parse it.
  • details is empty ({}) or carries context — the offending parameter, a max value, a reason, or retry_after_seconds, depending on the error.

Error codes

New codes can be added to v1. Handle a code you don’t know by its HTTP status: 4xx means the request must change, 5xx means you can retry later. See Versioning.

Handling errors

Check response.error.code === "automation_not_found" — not the message, and not only the HTTP status, since several codes share one (400, 404). When to retry: