API-documentatie voor soevereine AI
De API is volledig compatibel met de OpenAI-standaard. Gebruik uw bestaande SDK's en tools — vervang alleen de base URL en API-key.
Alpha-fase: Tijdens de alpha duurt een antwoord ~90 seconden. Onze AI redeneert grondig, zoekt relevante bronnen, en verifieert feiten voordat het antwoordt. Nieuwe servers zijn onderweg en verkorten de responstijd aanzienlijk.
Quick Start
Base URL
https://gateway.nl-ai-gateway.com/v1Authenticatie
Authorization: Bearer <jouw-api-key>Model
sovereign-workerHoe werkt het?
Elke vraag doorloopt automatisch een kwaliteitspipeline — zonder dat u er iets voor hoeft te configureren:
Pre-search
Relevante informatie wordt gezocht via private web search (SearXNG). Anoniem, zonder tracking.
Redeneren
Het model analyseert uw vraag grondig met chain-of-thought reasoning voordat het een antwoord formuleert.
Tools
Indien nodig zet het model tools in — calculator, datetime, JSON-validatie — voor nauwkeurige resultaten.
Fact-checking
Een tweede model (Gemma) verifieert het antwoord op feitelijke juistheid en corrigeert waar nodig.
Parameters
| Parameter | Type | Beschrijving |
|---|---|---|
| model | string | Het model om te gebruiken. Altijd: sovereign-worker. |
| messages | array | Array van message-objects met role (system/user/assistant) en content. |
| stream | boolean | Stream de response als Server-Sent Events. true of false (default). |
| temperature | number | Creativiteit van het antwoord. 0.0–2.0. Default: 0.4. Hoger = creatiever. |
| max_tokens | integer | Maximaal aantal tokens in het antwoord. Default: 16384. |
| max_completion_tokens | integer | Alias voor max_tokens (OpenAI-compatibel). |
Beschikbare tools
Het model kan automatisch de volgende tools inzetten wanneer dat nodig is. U hoeft hier niets voor te configureren — het model bepaalt zelf of een tool relevant is.
calculateRekenkundige expressies evalueren. Voorbeeld: 3 * (4 + 2) / 1.5.
current_datetimeHuidige datum en tijd ophalen in ISO 8601-formaat. Voor tijdgebaseerde vragen.
validate_jsonJSON valideren tegen een opgegeven schema. Voor data-extractie en validatie.
SDK-voorbeelden
Python — OpenAI SDK
from openai import OpenAI
client = OpenAI(
base_url="https://gateway.nl-ai-gateway.com/v1",
api_key="nl-gateway-xxx"
)
# Non-streaming
response = client.chat.completions.create(
model="sovereign-worker",
temperature=0.4,
max_tokens=16384,
messages=[{"role": "user", "content": "Hallo, hoe gaat het?"}]
)
print(response.choices[0].message.content)
# Streaming
stream = client.chat.completions.create(
model="sovereign-worker",
stream=True,
messages=[{"role": "user", "content": "Schrijf een samenvatting"}]
)
for chunk in stream:
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="")cURL — OpenAI endpoint
# Non-streaming
curl https://gateway.nl-ai-gateway.com/v1/chat/completions \
-H "Authorization: Bearer nl-gateway-xxx" \
-H "Content-Type: application/json" \
-d '{
"model": "sovereign-worker",
"temperature": 0.4,
"messages": [{"role":"user","content":"Hallo"}]
}'
# Streaming
curl https://gateway.nl-ai-gateway.com/v1/chat/completions \
-H "Authorization: Bearer nl-gateway-xxx" \
-H "Content-Type: application/json" \
-d '{
"model": "sovereign-worker",
"stream": true,
"messages": [{"role":"user","content":"Hallo"}]
}'cURL — Anthropic endpoint
# Non-streaming
curl https://gateway.nl-ai-gateway.com/v1/messages \
-H "Authorization: Bearer nl-gateway-xxx" \
-H "Content-Type: application/json" \
-d '{
"model": "sovereign-worker",
"max_tokens": 4096,
"messages": [{"role":"user","content":"Hallo"}]
}'
# Streaming
curl https://gateway.nl-ai-gateway.com/v1/messages \
-H "Authorization: Bearer nl-gateway-xxx" \
-H "Content-Type: application/json" \
-d '{
"model": "sovereign-worker",
"stream": true,
"max_tokens": 4096,
"messages": [{"role":"user","content":"Hallo"}]
}'Node.js — OpenAI SDK
import OpenAI from 'openai';
const client = new OpenAI({
baseURL: "https://gateway.nl-ai-gateway.com/v1",
apiKey: "nl-gateway-xxx"
});
const response = await client.chat.completions.create({
model: "sovereign-worker",
temperature: 0.4,
messages: [{ role: "user", content: "Hallo" }]
});
console.log(response.choices[0].message.content);Python — Anthropic SDK (via OpenAI-compat)
# De /v1/messages endpoint is volledig compatibel met # de Anthropic Messages API. Gebruik de Anthropic SDK # en vervang de base URL. # Voor Claude Code: # export ANTHROPIC_BASE_URL="https://gateway.nl-ai-gateway.com/v1" # export ANTHROPIC_API_KEY="nl-gateway-xxx"
Response-formaat
OpenAI response
{
"id": "chatcmpl-xxx",
"object": "chat.completion",
"model": "sovereign-worker",
"choices": [{
"index": 0,
"message": {
"role": "assistant",
"content": "Het antwoord van de AI...",
"reasoning_content": "De redenering van het model..."
},
"finish_reason": "stop"
}],
"usage": {
"prompt_tokens": 42,
"completion_tokens": 156,
"total_tokens": 198
}
}reasoning_content bevat de chain-of-thought redenering van het model. content bevat het uiteindelijke antwoord — geverifieerd door de fact-checker.
Endpoints
/v1/chat/completionsChat completions — OpenAI-compatible. Primair endpoint voor AI-verwerking. Ondersteunt streaming en non-streaming.
/v1/messagesAnthropic Messages API — volledig compatibel. Voor Claude Code en Anthropic SDK-clients. Ondersteunt streaming en non-streaming.
/v1/modelsBeschikbare modellen ophalen. Retourneert sovereign-worker.
/v1/key/validateAPI-key validatie — lichtgewicht endpoint voor integraties (o.a. Make) om connecties te verifiëren. Authenticeert de key en retourneert direct tier-informatie, zonder het AI-pipeline te starten.
/healthHealthcheck — status van de gateway en Redis-verbinding.
Rate limits
| Abonnement | Gelijktijdige streams | Requests per minuut |
|---|---|---|
| Solo | 3 | 60 |
| Team | 8 | 120 |
| Automation | 15 | 300 |
| Enterprise | Op maat | Op maat |
Foutcodes
| Status | Betekenis | Wat te doen |
|---|---|---|
| 200 | Succes | — |
| 400 | Prompt injection gedetecteerd | Verwijder instructies die het model proberen te manipuleren. |
| 401 | API-key ontbreekt | Voeg een Authorization: Bearer header toe aan uw request. |
| 403 | API-key ongeldig of inactief | Controleer uw API-key in het dashboard. Uw proefperiode is mogelijk verlopen. |
| 429 | Rate limit bereikt | Te veel gelijktijdige requests. Wacht enkele seconden en probeer opnieuw. |
| 503 | Service tijdelijk niet beschikbaar | De infrastructuur is tijdelijk niet bereikbaar. Probeer het over enkele minuten opnieuw. |
Interactieve API-documentatie
Test de API direct in uw browser met de Swagger UI.
Open Swagger UI →Nog geen API-key? Start uw gratis 14-dagen proefperiode