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" }]
}
}codeis stable: branch on it.messageis written for people and may change; it is safe to show to your users.issuescomes with validation errors only and lists every invalid field.
Codes
| Code | Status | When |
|---|---|---|
bad_request | 400 | The body is not valid JSON |
unauthorized | 401 | No API key, or an unknown or revoked one |
forbidden | 403 | A read-only key writing, or the key's creator is no longer an admin |
plan_required | 403 | The workspace is not on a plan with this feature |
limit_reached | 403 | A plan limit is used up |
not_found | 404 | No such link, tag, folder, domain or endpoint |
conflict | 409 | The slug or name is taken |
unprocessable_entity | 422 | Invalid input; see issues |
rate_limit_exceeded | 429 | Over the rate limit |
internal_server_error | 500 | Something broke on our side: retry later |