Zet Sluis voor je modelaanroepen.
Sluis is een OpenAI-compatibele proxy. Wijzig één regel, je base_url, en elk verzoek stroomt voortaan door je residency-beleid het manipulatiebestendige grootboek in. Geen SDK om te leren, geen payloads om te herschrijven. Vijf stappen hieronder; de volledige referentie vind je in de zijbalk.
Tijd tot je eerste verzegelde call: ~2 minuten. Praat je code al met OpenAI, dan houd je je client, je modellen en je berichtformaat precies zoals ze zijn.
Haal een key
Maak een key aan in de Console onder Workloads. De workload beheert limieten en beleidsinstellingen; de key is alleen een authenticatiemiddel. Het residency-beleid van je organisatie kan eu-only reserveren voor alles wat persoonlijk is en eu-uk-us voor gewoon schrijfwerk zonder een regel code te wijzigen.


# keep it in your environment, never in source export SLUIS_KEY="sluis-7Qk2vN4xR…"
Richt base_url op Sluis
Verwissel de host. Alles erna (modellen, streaming, tools, function calling) werkt ongewijzigd, omdat Sluis hetzelfde API-oppervlak proxyt.
from openai import OpenAI client = OpenAI( base_url="https://api.sluis.ai/v1", api_key=os.environ["SLUIS_KEY"], )
import OpenAI from "openai"; const client = new OpenAI({ baseURL: "https://api.sluis.ai/v1", apiKey: process.env.SLUIS_KEY, });
// no SDK required — reqwest = { version = "0.12", features = ["json"] } let client = reqwest::Client::new(); let base = "https://api.sluis.ai/v1"; // ← the only change let key = std::env::var("SLUIS_KEY")?;
curl https://api.sluis.ai/v1/chat/completions \ -H "Authorization: Bearer $SLUIS_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "mistral/mistral-large-latest", "messages": [...] }'
# already on the Anthropic SDK? Only the base URL changes. from anthropic import Anthropic client = Anthropic( base_url="https://api.sluis.ai", # the SDK appends /v1/messages api_key=os.environ["SLUIS_KEY"], ) # Claude Code, in one line — no plugin, no config file export ANTHROPIC_BASE_URL="https://api.sluis.ai" ANTHROPIC_AUTH_TOKEN="$SLUIS_KEY"
Gebruik je de Anthropic-SDK of Claude Code? Richt de base URL op Sluis. Headers, streaming en fouten staan in de API-referentie.
Stuur een verzoek
Roep het precies aan zoals je de provider zou aanroepen. Sluis inspecteert het verzoek, routeert het door je beleid, verzegelt het in de auditketen en geeft de modelrespons ongewijzigd terug. Aanroepen van een sluis/*-alias tonen de concrete route in x-sluis responsheaders.
# Anthropic Claude, served from Google's EU multi-region resp = client.chat.completions.create( model="vertex/claude-opus-4-8", messages=[{"role": "user", "content": "Summarise this chart…"}], ) print(resp.choices[0].message.content)
// Anthropic Claude, served from Google's EU multi-region const resp = await client.chat.completions.create({ model: "vertex/claude-opus-4-8", messages: [{ role: "user", content: "Summarise this chart…" }], }); console.log(resp.choices[0].message.content);
// Anthropic Claude, served from Google's EU multi-region let resp: serde_json::Value = client .post(format!("{base}/chat/completions")) .bearer_auth(&key) .json(&serde_json::json!({ "model": "vertex/claude-opus-4-8", "messages": [{ "role": "user", "content": "Summarise this chart…" }] })) .send().await? .json().await?; println!("{}", resp["choices"][0]["message"]["content"]);
# response headers on a sluis/* alias call { "x-sluis-route": "sluis/auto", "x-sluis-model": "vertex/claude-opus-4-8" }
Stel residency in
Residency is organisatiebeleid, ingesteld in de Console (Residency) en afgedwongen bij verzending van elk verzoek. De standaard staat alleen de EU-jurisdictie toe: een verzoek dat een provider buiten de toegestane set zou bereiken wordt geweigerd met 403 voordat er één byte vertrekt, of dat nu PHI in een HIPAA-gereguleerd proces is of bijzondere persoonsgegevens onder de AVG.

# default policy is EU-only — a US provider is refused at dispatch curl https://api.sluis.ai/v1/chat/completions \ -H "Authorization: Bearer $SLUIS_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "openai/gpt-5.6", "messages": [...] }' # → 403 permission_error # "provider `openai` (jurisdiction `US`) is not permitted by the tenant's residency policy"
Verbreden waar data heen mag is altijd een expliciete, vastgelegde beslissing: de Console vereist het erkennen van de doorgiftevoorwaarden voordat Amerikaanse of Chinese providers vrijkomen, en de wijziging belandt in het auditlogboek.
Wil je persoonsgegevens volledig buiten het model houden, zodat je elk model kunt gebruiken zonder ook maar één naam, nummer of secret te lekken? Schakel Gegevensbescherming in: Sluis vervangt gedetecteerde PII en secrets door stabiele getypeerde tokens (bijv. «EMAIL_1»), stuurt alleen de tokens naar de provider en herstelt de originele waarden in het antwoord. De koppeling wordt nooit opgeslagen. Dat is wat het veilig maakt om elk model van een derde partij aan te roepen. De volledige detectorbibliotheek en naamdetectie staan beschreven in de Gegevensbeschermingsreferentie hieronder.
Verifieer het zegel
Elke call voegt een regel toe aan de hashketen. De hash van elke regel is sha256(prev_hash + record), dus elk gewijzigd veld breekt alle schakels erna. Lees de audit-metadata via de admin-API; een volledige export en de verificatie van de keten lopen via de CLI van de gateway.
In het auditlog van de Console is elk verzoek één rij. Klap die uit om de controles te zien die het verzoek uitvoerde: naamherkenning, LLM-privacyinspectie, de scopebewaking van de workload en de beveiligingsscan. Elke controle blijft een eigen verzegelde schakel in de keten, met eigen kosten. GET /admin/audit geeft ze terug in de checks-lijst van het verzoek.


# audit metadata over the admin API, admin token scope audit:read curl "https://api.sluis.ai/admin/audit?from=2026-09-01" \ -H "Authorization: Bearer $SLUIS_ADMIN_TOKEN" # a full export and a chain verification are operator CLI subcommands sluis-gateway audit export --tenant $TENANT_ID sluis-gateway audit verify-chain --tenant $TENANT_ID # → chain intact
Agent skill voor je codeassistent
Bouw je met een AI-codeassistent? Download de Sluis agent skill: één SKILL.md plus referentiebestanden over elk endpoint, de exacte foutcodes, residency, gegevensbescherming, keys en workloads. Pak hem uit in de skills-map van je assistent. Hij antwoordt dan uit onze referentie in plaats van de API te raden.
Download de agent skillZIP met SKILL.md en referentiebestanden