# Errors & limits


# Errors & limits

Errors use the standard OpenAI JSON shape, so existing SDK error handling
    works unchanged. This page lists what the API actually returns and what the
    serverless API serves today.

## The error shape

```
{
  "error": {
    "message": "a human-readable description",
    "type": "...",
    "param": null,
    "code": "..."
  }
}
```

## Status codes

        | Status | Meaning | What to do |  |

        | 400 | Validation error — malformed JSON, unknown field, or a bad parameter value | Fix the request; `error.message` names the problem |  |

        | 401 | Unauthorized — missing or invalid key | Check the `Authorization: Bearer` header and your key |  |

        | 402 | `insufficient_quota` — the account's token allowance and balance are used up | Top up in Usage & Billing, then retry the same request |  |

        | 403 | `scope_denied` — the key exists but is not allowed this model or endpoint | Check the key's scope under API keys, or create one for this use |  |

        | 413 | `context_length_exceeded` — the input is larger than the model's context | Shorten the prompt or the history; the limit is in the table below |  |

        | 429 | `rate_limited` / `too_busy` — your key's rate or the model's concurrency was hit | Wait briefly and retry; spread bursts out over time |  |

        | 503 | `model_not_hot` — the model is not loaded right now | Retry with backoff |  |

## 503 model_not_hot

The model is not loaded right now — retry with backoff. The condition is
    temporary; your request itself is fine.

```
HTTP/2 503
{
  "error": {
    "message": "The model for this role is not loaded. Retry with backoff.",
    "code": "model_not_hot"
  }
}
```

    Python

```
import time

for wait in (1, 2, 4, 8, 16):
    try:
        r = client.chat.completions.create(model="qwen3.8-27b-nvfp4", messages=messages)
        break
    except openai.InternalServerError as e:   # SDK surfaces 503 here
        time.sleep(wait)
```

## Limits

The serverless API serves:

        | Context window | 262,144 tokens (chat model) |  |

        | Concurrency | Up to 4 concurrent sequences on the chat model |  |

Under concurrent load requests queue; latency grows before anything fails.
    There are no hidden quotas — this table is the whole list.

If you need committed throughput — reserved concurrency, your own
    dedicated system, a specific model held hot — rent a
    dedicated DGX Spark from €0.55/hour,
    or Request deployment for a system AxForge operates for you.

      &larr; Regions & data handling
      Rules & responsibilities &rarr;



Source: https://axforge.ai/docs/errors-limits/
