Skip to content

Get started

Errors

A request that works answers 200. Anything else answers with an HTTP status and the same JSON shape.

The error shape

A stable code to check in code, a message to read, and sometimes issues with the details.

401 Unauthorized
{
  "error": {
    "code": "unauthenticated",
    "message": "Unknown or revoked API key"
  }
}

Statuses and codes

Endpoints list their own codes, such as a limit or a state they need, in their description.

StatusWhen
400
invalidinvalid_json
The input doesn’t fit the endpoint, or the body isn’t a JSON object. issues lists each problem.
401
unauthenticated
No key, or the key is unknown or revoked.
402
workspace_suspended
The workspace is suspended: its trial ended unpaid or its subscription lapsed. The owner picks a plan.
403
plan_featureplan_limitowner_only
The workspace’s plan doesn’t include it (see Paid checks), the plan’s limit is reached, or only the workspace owner can do it.
404
not_found
No such endpoint, or the thing isn’t in the key’s workspace or brands.
409
form_buildingform_fixing…
The thing isn’t in a state that allows it yet, such as a form AI is still building (see AI builds and fixes).
422
publish_check_failed
Publishing a draft that isn’t a complete form. issues names each problem.
429
rate_limited
Too many requests. Wait a moment and try again.
500
internal
Something failed on our side. Try again.