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 cost 1240 exceeds budget 1000"
},
"fin": true
}retryable appears only where it differs from the code's default, which is the one at the top of this page.
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 cost 1240 exceeds budget 1000",
"code": "resource_exhausted"
}See also all error types and the errors chapter of the specification.