Skip to content
AI Gateway guide

One unified LLM API for every approved model

Keep the client you already have and change the base URL. Skyfix serves one industry-standard chat-completions API for every approved model, with stable aliases, streaming and batches, and puts scoped keys, policy, the AI Firewall, budgets, Garuda routing and evidence behind that one endpoint.

  • Industry-standard request shapes
  • Model aliases
  • One base URL for MCP and A2A

01

Model aliases as the contract

  • Alias to provider
  • 'auto'

An alias names a capability, not a vendor. An application asks for a chat alias suited to support conversations or an embedding alias for document search; platform teams map each alias to an allowed provider and model, set a fallback order and change the mapping when a better or cheaper model is approved. The application never ships a release to follow a model change, and a model that policy denies can never be reached by name.

Aliases also carry the request through FinOps and observability: the ledger records the alias asked for and the provider actually used, so a cost report can be read by capability and a trace shows exactly which model answered.

02

Endpoints covered

Chat completions and other widely used model API formats, embeddings, rerank, moderation, image, audio and realtime endpoints share one authentication model, one policy path, one inspection pass, one budget check and one ledger. Streaming uses server-sent events and is inspected in windows with fail-closed holdback. Batches accept a file of request lines and run each line through the same in-process handler as a live request, with per-line inspection, routing, pricing and evidence.

  • Up to 512 lines and 16 MiB of input per batch, with their own read and write key scopes.
  • Lines are recorded as sent before dispatch, so a gateway restart never sends a line twice.
  • Rate-limit and drain conditions put a line back to pending until the retry window passes.

03

Example request

A chat completion to the gateway looks like the request your client already sends. The key is a scoped workspace key issued in the console; the model is an alias.

POST /v1/chat/completions
Authorization: Bearer <workspace API key>
Content-Type: application/json

{
  "model": "chat.support",
  "messages": [
    { "role": "user", "content": "Summarize this support thread." }
  ]
}

04

Prompt registry

  • Labels
  • Refusals

A request can name a registry prompt instead of embedding its system prompt: an ID or name, a label or version, and typed variables. The gateway resolves the prompt from the caller's workspace, renders the strict logic-less template, and rewrites the request before the governed pipeline, so the AI Firewall inspects the rendered text. The prompt ID and version are recorded in the trace, the ledger and the response headers.

05

What happens after the request lands

  • Headers

The gateway resolves the workspace, key and alias, checks the signed policy bundle it holds, inspects the request, checks the budget, lets Garuda or the alias mapping choose a model, calls the provider with failover and a circuit breaker, inspects the response, prices it and writes the ledger entry. The response carries standard rate-limit headers and trace context, and the request ID resolves to a full trace in the console with the policy result, route reason and budget status.

06

MCP and A2A on the same base URL

MCP clients reach registered tool servers through the gateway over streamable HTTP with OAuth 2.1 client authorization, per-tool approvals and argument policies. A2A peers exchange tasks with your published Agent Card over JSON-RPC, gRPC or HTTP+JSON. Every tool call and task is inspected, budgeted and recorded exactly like a chat completion, under the same keys and the same evidence.

FAQ

Questions this page answers

Do I need to change application code?

Usually only the base URL, the key and the model name. The gateway serves an industry-standard chat-completions API and other widely used model API formats, so existing clients keep their request and response shapes.

What is a model alias?

A stable name for a capability that platform teams map to an allowed provider and model with a fallback order. Applications call the alias; the mapping can change without an application release, and the ledger records which model answered.

Are streaming and batch requests governed the same way?

Yes. Streamed responses are inspected in windows with fail-closed holdback, and each batch line runs through the same handler as a live request with its own inspection, routing, pricing and ledger entry.

How do I find the trace for a request?

The response carries trace context; the request ID opens the full trace in the console, with the timing waterfall, policy result, route reason, budget status and provider used. Traces also export over OTLP to your collectors.

Can prompts be managed centrally?

Yes. The prompt registry holds named, versioned, labeled prompts that the gateway renders before inspection. A request names the prompt and its variables instead of embedding the text.