Errors
Every refusal is JSON with one sentence a person can act on.
Loading documentation…
A refused request answers a status and one sentence that says what was wrong and how to fix it:
| Status | Meaning |
|---|---|
400 | The request is wrong. The sentence names the field or column and what was wrong. |
401 | No key, or an unknown or revoked one. |
402 | The route needs a plan the workspace is not on. |
403 | The key was not given the scope this route needs — e.g. this key was not given rows:write. |
404 | Nothing at that id, or nothing this key may see. |
429 | Too many requests. Wait the Retry-After seconds. |
5xx | Our side. Retry with backoff; quote the answer's X-Request-Id header to support. |
A batch that is refused lists every bad item by its position, and writes nothing:
When the body itself can't be read, the refusal also carries expected — the shape the route takes —
so you can compare it with what you sent.