Errors
Every non-2xx response is JSON with the same shape. error is always there. The other two fields show up when they have something to say:
{
"error": "Invalid body",
"details": "Optional extra context, e.g. the offending field or id",
"validationErrors": {
"formErrors": [],
"fieldErrors": {
"name": ["String must contain at least 1 character(s)"]
}
}
}
validationErrors appears only on 400 responses caused by request validation. It is the flattened output of the schema check, with one entry per invalid field.
Status Codes
| Code | Meaning |
|---|---|
200 / 201 | It worked. |
400 | The body, query, or path failed validation, or the body is not valid JSON. Check validationErrors. |
401 | Your key is missing, expired, or malformed. Check that you used the ApiKey scheme, not Bearer. |
403 | Your key works but its scope does not cover this endpoint. |
404 | The resource does not exist, or it belongs to a different application than your key. |
409 | The request conflicts with current state, for example creating something that already exists. |
500 | Something broke on our side. Retry, and contact support if it keeps happening. |
Rate Limits
The v1 API has no rate limits today. If we add them, they will come with 429 responses and headers announcing the limits, and this page will document them first.