Skip to content

Capability · Chat completions

Chat and reasoning, region-pinned.

One OpenAI-compatible chat endpoint over every model family — open-weight and frontier — with the data-residency and PHI gate enforced on every call.

POST /v1/chat/completions

What you get

Built for regulated workloads

Point any OpenAI SDK at the gateway and call chat the way you already do. The model can be a concrete row (claude-sonnet-4-6, gemini-3-8-flash) or a provider-agnostic canonical alias (gemma-4, qwen3.5, glm-5.2) that resolves to whichever provider hosts it in the region you pinned. Set X-Region and X-PHI per request; everything else is standard.

01 · Tools

Function calling & JSON mode

tools, tool_choice and response_format pass straight through to OpenAI-compatible upstreams and are translated for Anthropic. Tool capability is qualified per model — the answer carries an x-phi-tools: supported|unsupported header.

02 · Streaming

SSE streaming, billed correctly

stream:true returns a token-by-token SSE stream; usage is captured from the terminal chunk so billing stays exact. Passthrough for OpenAI-compatible upstreams, buffered→SSE for Anthropic.

03 · Failover

In-region failover

If the resident provider errors, the gateway fails over down an ordered list of providers that serve your region — for PHI, only resident PHI-eligible hosts, so PHI never leaves the jurisdiction. General traffic may fail over to a global cloud that serves the region. The x-phi-attempts header records how many routes were tried.

04 · Aliases

Canonical model aliases

gemma-4, qwen3.5 and glm-5.2 map to the right provider per region, so the same request string works in CH, EU and the US without you tracking which cloud hosts what.

05 · PHI

Hard PHI gate

X-PHI:true restricts routing to verified PHI-eligible providers. Where no eligible provider exists for the region, the call is refused (phi_blocked) rather than failing over to an unverified route.

06 · Math agent

Sandboxed code execution

/v1/math/chat/completions runs Python, R, or SQL (DuckDB) in a jurisdiction-pinned, network-isolated sandbox to compute and verify instead of guessing — same request shape, buffered response. Charts come back as inspectable SVG (XML, never raster) and diagrams as Mermaid; x-phi-sandbox-figures counts what was captured.

Availability & pricing

Where it runs, what it costs

Every route is pinned to a region, PHI stays on resident hosts, and the PHI gate is enforced per call. Prices mirror the live /v1/pricing rate card.

RegionProviderModelTierPrice
CHInfomaniaknemotron-nano (30B) (default)PHI$0.10 / $0.41
CHInfomaniakkimi-k2.6PHI$1.23 / $6.14
CHInfomaniakgemma-4 (31B IT)PHI$0.41 / $0.82
CHInfomaniakqwen3.5 (397B)PHI$1.64 / $7.36
EUScalewaygemma-4 (26B IT)PHI$0.48 / $0.96
EUScalewayqwen3.6 (35B) (default)PHI$0.48 / $2.87
USTogetherdeepseek-v4-flash (default)General$0.23 / $0.47
USTogetherglm-5.3 (reasoning)General$2.33 / $7.33
USTogetherglm-5.3-flashGeneral$0.25 / $0.83
US / EUAnthropicclaude-sonnet-4-6General$5.00 / $25.00
WORLDOpenAIgpt-5-nano (default)General$0.08 / $0.67

Token prices are per 1M tokens (input / output). US chat on protected health information returns phi_blocked today — no US chat provider is PHI-verified yet (Azure OpenAI is staged). Full rate card at /pricing.

Try it

A real call, end to end

A PHI chat call in Switzerland is two headers on a standard request. The response tells you exactly where it ran.

Residency & gating

  • CH PHI chat resolves to Infomaniak (Swiss-resident, nFADP/GDPR DPA verified).
  • EU PHI chat resolves to Scaleway (EU-resident, GDPR Art. 28 DPA, zero-retention, no-train).
  • US general traffic runs first on the US-resident cloud; UK and the other regions are served by global clouds (processed globally). US PHI chat is phi_blocked until a US chat provider is verified — in the US, PHI covers OCR, speech-to-text and text-to-speech only.
  • No prompt or completion is ever logged or persisted by the proxy.

Good to know

  • · n is dropped (multi-choice would break single-response billing).
  • · Streaming is disabled on the /math sandbox route — it must inspect tool calls.
  • · Vision rides this same endpoint as image_url content parts (see the Vision capability).
curl
curl https://cloudsitus.com/api/v1/chat/completions \
  -H "Authorization: Bearer $PHI_API_KEY" \
  -H "X-Region: CH" \
  -H "X-PHI: true" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gemma-4",
    "messages": [
      {"role": "user", "content": "Summarise this discharge note..."}
    ]
  }'
response
x-phi-routed: infomaniak-gemma-4-31b/CH/phi
x-phi-tier: phi
x-phi-attempts: 1
x-phi-usage: verified
x-phi-cost-micro: 412
Is it really drop-in compatible with the OpenAI SDK?
Yes. Set base_url to https://cloudsitus.com/api/v1 and keep your existing chat.completions code. Region and PHI are extra request headers (X-Region, X-PHI); nothing else changes.
What happens if I pin a model that does not serve my region?
A pinned model wins only if it serves the region. Otherwise the gateway falls back to the region-resident default for the task, or returns no_route if nothing serves it. Use canonical aliases to stay portable across regions.
Which models support tool calling?
Every chat model we serve does, including both Gemma rows — their hosts add a tool parser that Gemma’s stock template lacks. The exceptions are the GPT-5.6 family and GPT-6 Astra, which reject function tools on the chat-completions API. /v1/models exposes supports_tools per model and a chat call that sends tools gets an x-phi-tools header for the model that answered.
Do you train on my prompts?
CloudSitus never trains on your prompts and stores none — the proxy holds nothing. PHI only reaches providers whose DPA or BAA we have reviewed. General traffic is governed by each vendor’s own API terms; where a vendor offers a per-request training opt-out (Deepgram), we send it on every call.
How does the math agent return charts and diagrams?
Call /v1/math/chat/completions and the model can run Python (numpy/pandas/matplotlib/sympy/scipy), R (ggplot2), or SQL (DuckDB) in a network-isolated sandbox in your pinned region. Plots are captured as SVG and stitched into the answer as fenced ```svg blocks — XML you can inspect and re-style, not a base64 image — while flowcharts and sequence/ER diagrams come back as ```mermaid. One ephemeral sandbox per request, no outbound internet, torn down after. On the math route code execution is general-traffic only: send X-PHI:true and the request still succeeds, but it answers as a plain model call with the code tools withheld rather than running your data through a container.

Ready when you are

Put chat & reasoning in production — without giving up your data.

Spin up a key in minutes. The residency and PHI posture above arrives unchanged.

Prepaid credits from $10 · No subscription · No data retained