Skip to content

Quickstart

QUICKSTART

Run a sovereign model without rewriting your app or opening a foreign cloud account.

Point the app you already have at one address, keep the SDK you already use, and every request runs on an in-country model.

You need a capable model, but sending your users’ data offshore isn’t an option — and rebuilding your app around a new vendor’s SDK, or opening yet another foreign cloud account, isn’t either. Sentinel removes that trade-off. Nothing leaves the country, and nothing about your code has to change.

Three wire formats, one in-country pipeline Sentinel accepts requests in the OpenAI, Anthropic and Gemini wire formats, so existing SDKs work unchanged. These are request shapes the gateway serves, not external providers it calls: all three feed the same governed pipeline and, by default, the same in-country model. THE SHAPE YOU SEND — YOUR SDK, UNCHANGED OpenAI wire format POST /v1/chat/completions Anthropic wire format POST /v1/messages Gemini wire format POST /v1beta One pipeline auth · quota · guardrails route · meter · settle STREAMING ON /v1 In-country model a leading 35B model in Pakistan · nothing leaves DEFAULT PATH These are request shapes Sentinel serves — not calls to those companies. Your request reaches the in-country model; routing anywhere else is opt-in and off by default.
Sentinel understands the request formats your existing SDK already speaks, so switching over takes only a new base URL and key. Speaking a format is not the same as calling a foreign provider: your request runs through Sentinel and reaches the in-country model, and stays in Pakistan. See Sovereignty for what sending it anywhere else would take.

STEP 1

Get a key

Sign in to the Sentinel Platform and issue a virtual API key (sk-mesh-…) under API Keys. Each key is scoped and rate-capped.

STEP 2

Call the gateway

Point your app at one base URL — no new account, no foreign cloud sign-up:

Terminal window
curl https://sentinel.junaid.pk/v1/chat/completions \
-H "Authorization: Bearer $SENTINEL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "sentinel-mesh",
"messages": [{"role": "user", "content": "Hello from in-country AI."}],
"max_tokens": 512
}'

The exact model id is listed on the console’s Models page — sentinel-mesh routes to the current in-country default.

STEP 3

Use your existing SDK

The client library you already ship works unchanged — swap the base URL and key, keep everything else:

from openai import OpenAI
client = OpenAI(
base_url="https://sentinel.junaid.pk/v1",
api_key="sk-mesh-...",
)
resp = client.chat.completions.create(
model="sentinel-mesh",
messages=[{"role": "user", "content": "Summarise this in one line."}],
)
print(resp.choices[0].message.content)

Other protocols: the same gateway also answers on /v1/messages and /v1beta, so clients built for other request formats work too. The same virtual key authenticates all of them.

The in-country model is a reasoning model — it thinks before it answers. Always set a real max_tokens so there’s enough room left for the reply itself.