API Reference

Errors

Status codes and the JSON error shape returned by every endpoint.

Errors use one consistent JSON shape across every endpoint:

{
  "status": "INVALID_ARGUMENT",
  "message": "Entry values do not match the collection schema",
  "details": {
    "issues": ["Title is required"]
  }
}
PropertyTypeDescription
statusstringMachine-readable error code, such as INVALID_ARGUMENT.
messagestringHuman-readable explanation. Do not match on this text.
detailsobjectExtra context. Present only when more information is available.

Status codes

HTTP statusMeaning
400Invalid path, query parameter, body, field ID, or field value
401Missing, malformed, or revoked API token
404The resource does not exist in the account the token belongs to
405The endpoint does not support that HTTP method
409A conflicting resource already exists, such as a duplicate name
429The account exceeded the endpoint's rate limit
500Unexpected server error

Requests are strict

Request bodies and list query parameters reject unknown properties instead of ignoring them. A typo in a property name returns 400 rather than silently doing nothing — so a successful response means everything you sent was understood.

Deleted resources return 404

Deletion is soft: the resource is returned once with status: "deleted", and every later request for it returns 404. There is no way to read or restore a deleted collection or entry through the API.

Handling errors

Retry 429 and 5xx

Back off and retry. For 429, wait until the rate limit window resets rather than retrying immediately.

Do not retry 4xx

A 400, 401, 404, 405, or 409 will fail again in exactly the same way. Fix the request or the token.

Log the status field

status is stable; message is written for humans and may change. Branch on status and log details for debugging.