Resource exhausted
The request is over a limit the server enforces.
Why it happens
- The batch costs more than the budget. Queries declare their cost with
@cost, and every frame reports what it cost inmeta.cost. - Too many operations in one batch, or a shape nested too deep or selecting too many fields.
- A rate limit in front of the server.
What to do
- Ask for less: smaller pages, fewer fields, or split the batch. Retrying the same request unchanged gives the same answer.
What it looks like
Inside a batch, the operation's frame carries it:
json
{
"id": 1,
"error": {
"code": "resource_exhausted",
"message": "Batch costs 1240, over the budget of 1000"
},
"fin": true
}When the whole request is refused over HTTP, the answer is a problem document:
json
{
"type": "https://eddyboutros.github.io/rayfold/errors/resource_exhausted",
"title": "resource exhausted",
"status": 429,
"detail": "Batch costs 1240, over the budget of 1000",
"code": "resource_exhausted"
}See also all error types and the errors chapter of the specification.