Errors
Failures always return the same JSON shape with a matching HTTP status.
Error shape#
code is stable and safe to branch on; message is for humans and may change.
json
{
"error": {
"code": "write_scope_required",
"message": "This key is read-only. Create a key with write access to make changes."
}
}Status codes#
| Status | Codes | Meaning |
|---|---|---|
| 400 | invalid_json invalid_query invalid_id empty_body invalid_note | Malformed request: bad JSON, an unsupported query value, a non-UUID id, an empty body, or a missing or oversized note. |
| 401 | missing_key invalid_key revoked_key unauthorized | No usable credential. |
| 402 | tier_required | The workspace is not on the Closer or Veteran plan. |
| 403 | write_scope_required membership_revoked no_workspace forbidden | Not allowed for this key or user. |
| 404 | not_found unknown_resource module_hidden | No such record or resource, or you cannot see it. Updates and deletes you are not allowed to make also return 404. |
| 405 | delete_not_allowed notes_not_supported | The operation is not offered for this resource. |
| 422 | invalid_field invalid_reference | Unknown column, bad value, or a referenced record does not exist. |
| 429 | rate_limited | Too many requests. Retry after the number of seconds in Retry-After. |
| 500 | internal_error | Our fault. Retry, then tell us. |