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/v1

Authenticatie

Authorization: Bearer <jouw-api-key>

Model

sovereign-worker

Hoe werkt het?

Elke vraag doorloopt automatisch een kwaliteitspipeline — zonder dat u er iets voor hoeft te configureren:

1

Pre-search

Relevante informatie wordt gezocht via private web search (SearXNG). Anoniem, zonder tracking.

2

Redeneren

Het model analyseert uw vraag grondig met chain-of-thought reasoning voordat het een antwoord formuleert.

3

Tools

Indien nodig zet het model tools in — calculator, datetime, JSON-validatie — voor nauwkeurige resultaten.

4

Fact-checking

Een tweede model (Gemma) verifieert het antwoord op feitelijke juistheid en corrigeert waar nodig.

Parameters

ParameterTypeBeschrijving
modelstringHet model om te gebruiken. Altijd: sovereign-worker.
messagesarrayArray van message-objects met role (system/user/assistant) en content.
streambooleanStream de response als Server-Sent Events. true of false (default).
temperaturenumberCreativiteit van het antwoord. 0.0–2.0. Default: 0.4. Hoger = creatiever.
max_tokensintegerMaximaal aantal tokens in het antwoord. Default: 16384.
max_completion_tokensintegerAlias 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.

calculate

Rekenkundige expressies evalueren. Voorbeeld: 3 * (4 + 2) / 1.5.

current_datetime

Huidige datum en tijd ophalen in ISO 8601-formaat. Voor tijdgebaseerde vragen.

validate_json

JSON 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

POST
/v1/chat/completions

Chat completions — OpenAI-compatible. Primair endpoint voor AI-verwerking. Ondersteunt streaming en non-streaming.

POST
/v1/messages

Anthropic Messages API — volledig compatibel. Voor Claude Code en Anthropic SDK-clients. Ondersteunt streaming en non-streaming.

GET
/v1/models

Beschikbare modellen ophalen. Retourneert sovereign-worker.

GET
/v1/key/validate

API-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.

GET
/health

Healthcheck — status van de gateway en Redis-verbinding.

Rate limits

AbonnementGelijktijdige streamsRequests per minuut
Solo360
Team8120
Automation15300
EnterpriseOp maatOp maat

Foutcodes

StatusBetekenisWat te doen
200Succes
400Prompt injection gedetecteerdVerwijder instructies die het model proberen te manipuleren.
401API-key ontbreektVoeg een Authorization: Bearer header toe aan uw request.
403API-key ongeldig of inactiefControleer uw API-key in het dashboard. Uw proefperiode is mogelijk verlopen.
429Rate limit bereiktTe veel gelijktijdige requests. Wacht enkele seconden en probeer opnieuw.
503Service tijdelijk niet beschikbaarDe 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