Errors
Every error has the same shape. Branch on the status code.
API key endpoints return errors in one shape, whatever went wrong:
{
"statusCode": 400,
"error": "API Error",
"message": "querystring/limit Number must be less than or equal to 100"
}message is written for people. Branch on statusCode, not on the message text.
| Status | When | Example message |
|---|---|---|
400 | A parameter or the body is invalid: a bad limit or cursor, an unknown column ID, an operator the column does not accept, or a filter over the limits. | Invalid fieldId(s). Use GET /tables/<tableId>/schema to find valid field IDs for this table. |
401 | The API key is missing or wrong. | Unauthorized |
402 | Your subscription is paused. | Resume your subscription to use the public API. |
404 | The table does not exist or belongs to another organization. | Table not found |
429 | Too many requests. See Rate limits. | Too Many Requests |
500 | Something failed on our side. Safe to retry. | Internal server error |
Webhook errors
Webhooks use the same three fields, but error names the problem, like "Bad Request" or "Not Found":
{
"statusCode": 400,
"error": "Bad Request",
"message": "Too many items. Maximum 500 per request."
}Do not retry a webhook request automatically after a 500 without checking the table: the rows may have been added.