How it works
A single chat completion request travels through three checkpoints on the platform before you get a response.
Your app ──▶ Advania ALT API ──▶ Guardrails ──▶ Model ──▶ Response + decision id
- API — authenticates the request, applies quotas, forwards to guardrails
- Guardrails — classify the request's sensitivity, route to a model that is approved for that content
- Model — runs on Advania-operated GPUs in Sweden (for sensitive content) or a supported cloud provider (for non-sensitive content)
The response body follows the OpenAI chat-completions shape. Every response also carries these headers you can log:
| Header | Purpose |
|---|---|
x-decision-id | Guardrails decision reference for support and audit |
x-policy-version | The version of the guardrail policy that produced the decision |
x-request-id | Unique per HTTP request |
When the platform blocks a request
If the classifier decides a request cannot be served by any model available to you, the platform returns 403 Forbidden with an OpenAI-compatible error body:
{
"error": {
"message": "…",
"type": "guardrail_error",
"code": "…"
}
}
The x-decision-id header is still present — share it with Advania if you need to investigate.
When guardrails cannot complete
If the guardrail evaluation cannot finish safely, the platform returns 503 — it does not silently forward the request. Retry later or contact Advania.