Skip to main content
A refused call costs nothing. The gateway answers in the caller’s own format (Anthropic, OpenAI or Gemini), and Logs shows the reason in Status and Gateway decisions. In xpander Chat, the run ends with a card titled xpander did not send this request. In short: 401 is the key, 400 a missing model, 403 a block on the model, key, license, plan or account, 402 the organization limit or credits, 429 a budget or rate limit, 503 the gateway, 404 a wrong path. Open the group that matches your status.

Find your error

An admin fixes all of these in Models (Providers and keys).
Agents call models only through the gateway, so after 30 seconds without it:
  • xpander Chat shows AI Gateway is unavailable. Agents can’t run right now. We’ll reconnect automatically.
  • New runs are refused, and running ones stop at their next model call, with This run stopped because the AI Gateway is unavailable.
  • Coding tools and SDKs get 503 with a Retry-After header.
Nothing is sent to a provider any other way. The gateway usually reconnects within a minute. On a self-hosted install, new runs are refused with The xpander AI Gateway is unavailable right now until its pods are healthy: kubectl -n <namespace> get pods -l app=llm-gw should show two llm-gw pods (one on a single-node install.sh cluster), each 1/1 and Running (Self-hosted).

When the provider refuses

If the provider itself refused the call, such as an invalid request or an unknown model, its own error comes back unchanged. In xpander Chat, the card says The model provider rejected this request.

Next steps

Find a refused call in Logs

Read its Gateway decisions.

Add a provider key

Fix a missing or refused key.