Errors

One shape for every failure.

A failed request answers with an HTTP error status and this body:

{
  "error": {
    "code": "unprocessable_entity",
    "message": "url: Invalid URL",
    "issues": [{ "path": "url", "message": "Invalid URL" }]
  }
}
  • code is stable: branch on it.
  • message is written for people and may change; it is safe to show to your users.
  • issues comes with validation errors only and lists every invalid field.

Codes

CodeStatusWhen
bad_request400The body is not valid JSON
unauthorized401No API key, or an unknown or revoked one
forbidden403A read-only key writing, or the key's creator is no longer an admin
plan_required403The workspace is not on a plan with this feature
limit_reached403A plan limit is used up
not_found404No such link, tag, folder, domain or endpoint
conflict409The slug or name is taken
unprocessable_entity422Invalid input; see issues
rate_limit_exceeded429Over the rate limit
internal_server_error500Something broke on our side: retry later

On this page