Errors and rate limits
This page covers what a failed request looks like, and how many requests you can make.
Error body
Every failed request returns JSON with the same shape:
{
"error": {
"code": "BAD_REQUEST",
"message": "projectId is required",
"issues": [
{ "path": "score", "message": "Number must be less than or equal to 10" }
]
}
}codeis a short machine readable string.messageis a short description. For500errors it is alwaysSomething went wrong.issuesis only present for400errors. Each item names the field at fault and why.
Status codes
| Status | Meaning | What to do |
| 400 | The request is not valid. | Read the issues array. Fix the named fields. |
| 401 | The API key is missing, wrong, or expired. | Check the Authorization header. Create a new key if needed. |
| 404 | The project or the resource does not exist, or does not belong to your account. | Check the projectId and the resource ID. |
| 429 | You have gone over the rate limit. | Wait for the time in the Retry-After header, then retry. |
| 500 | Something went wrong on our side. | Retry after a short wait. If it keeps failing, contact support. |
Rate limit
Each API key can make 120 requests per minute.
If you go over the limit, the request returns 429 with a Retry-After header set to 60. Wait 60 seconds, then try again.
The limit is per key, not per project. Spread heavy work across time, or use more than one key for separate tools.
Related pages
Was this helpful?