Ponga Sluis delante de sus llamadas a modelos.
Sluis es un proxy compatible con OpenAI. Cambie una sola línea, su base_url, y cada petición empieza a fluir por su política de residencia hacia el registro a prueba de manipulaciones. Sin SDK que aprender, sin payloads que reescribir. Cinco pasos a continuación; la referencia completa está en la barra lateral.
Tiempo hasta la primera llamada sellada: ~2 minutos. Si su código ya habla con OpenAI, conserva su cliente, sus modelos y su formato de mensajes exactamente como están.
Obtener una clave
Cree una clave en la Consola, en Workloads. La carga de trabajo define los límites y las políticas; la clave es solo una credencial. La política de residencia de su organización puede usar eu-only para todo lo personal y eu-uk-us para redacción general sin cambiar nada de código.


# keep it in your environment, never in source export SLUIS_KEY="sluis-7Qk2vN4xR…"
Apuntar base_url a Sluis
Cambie el host. Todo lo demás (modelos, streaming, herramientas, function calling) funciona igual, porque Sluis hace de proxy de la misma superficie de API.
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"
¿Usa el SDK de Anthropic o Claude Code? Apunte su base URL a Sluis. Cabeceras, streaming y errores se documentan en la referencia de la API.
Enviar una petición
Llame exactamente como llamaría al proveedor. Sluis inspecciona la petición, la enruta según su política, la sella en la cadena de auditoría y devuelve la respuesta del modelo sin cambios. Las llamadas a un alias sluis/* divulgan la ruta concreta en cabeceras de respuesta x-sluis.
# 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" }
Fijar la residencia
La residencia es política de la organización, fijada en la Consola (Residencia) y aplicada en el despacho de cada petición. El valor por defecto solo permite la jurisdicción UE: una petición que alcanzaría un proveedor fuera del conjunto permitido se rechaza con 403 antes de que salga un solo byte, ya sea PHI en un flujo regulado por HIPAA o categorías especiales del RGPD.

# 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"
Ampliar adónde pueden ir los datos es siempre una decisión explícita y registrada: la Consola exige reconocer las condiciones de transferencia antes de desbloquear proveedores de EE. UU. o China, y el cambio queda en el registro de auditoría.
¿Necesita mantener los datos personales completamente fuera del modelo, para usar cualquier modelo sin filtrar ni un solo nombre, número o secreto? Active Protección de datos: Sluis reemplaza los PII y secretos detectados con tokens tipados estables (p. ej. «EMAIL_1»), reenvía solo los tokens al proveedor y restaura los valores originales en la respuesta. La correspondencia nunca se persiste. Eso es lo que hace seguro llamar a cualquier modelo de terceros. La biblioteca completa de detectores y la detección de nombres se tratan en la referencia de Protección de datos más abajo.
Verificar el sello
Cada llamada añade una entrada a la cadena de hashes. El hash de cada entrada es sha256(prev_hash + record), de modo que cualquier campo alterado rompe todos los eslabones posteriores. Lea los metadatos de auditoría por la API de administración; la exportación completa y la verificación de la cadena se ejecutan por la CLI del gateway.
En el registro de auditoría de la Consola, cada solicitud es una fila. Despliéguela para ver las comprobaciones que ejecutó: reconocimiento de nombres, inspección LLM de privacidad, control de alcance del workload y análisis de seguridad. Cada comprobación sigue siendo una entrada sellada propia de la cadena, con su propio coste. GET /admin/audit las devuelve en la lista checks de la solicitud.


# 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
Habilidad de agente para su asistente de código
¿Desarrolla con un asistente de código con IA? Descargue la habilidad de agente de Sluis: un SKILL.md más archivos de referencia que cubren cada endpoint, los códigos de error exactos, la residencia, la protección de datos, las claves y los workloads. Descomprímala en la carpeta de habilidades de su asistente. Así responde desde nuestra referencia en lugar de adivinar la API.
Descargar la habilidad de agenteZIP con SKILL.md y archivos de referencia