API-reference
Depaza API-dokumentation
En komplet REST-reference til Depaza API — OpenAI- og Anthropic-kompatibel. Autentificering, alle endpoints, streaming, batches, vision, filer, søgning, priser og fejl, med copy-paste-eksempler.
https://depaza.com/v1
Fuld reference (Markdown) ↗
Kom godt i gang
Depaza API er OpenAI- og Anthropic-kompatibelt. Opret en API-nøgle under Indstillinger → API på din konto, og send så forespørgsler med den som Bearer-token. Base-URL'en vises ovenfor. I standardtilstand kører værktøjer (websøgning og sidelæsning) automatisk hos os — du definerer eller udfører dem ikke.
curl https://depaza.com/v1/chat/completions \
-H "Authorization: Bearer $DEPAZA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "core",
"messages": [{"role": "user", "content": "What changed in EU AI rules this week?"}]
}' Autentificering
Send din nøgle i Authorization-headeren som Bearer-token. De Anthropic-kompatible ruter (/v1/messages) accepterer også x-api-key-headeren. Nøgler ser ud som dpz_live_… og vises kun én gang ved oprettelse — opbevar dem sikkert. Tilbagekald en nøgle når som helst i dashboardet; det træder i kraft øjeblikkeligt.
Authorization: Bearer dpz_live_…
x-api-key: dpz_live_… (Anthropic SDK / Claude CLI) SDK-kompatibilitet
Peg enhver OpenAI- eller Anthropic-SDK mod Depaza ved at ændre én linje — base-URL og din nøgle. To værktøjstilstande vælges automatisk: som standard bruger Depaza sin egen system-prompt og kører værktøjer server-side og returnerer et færdigt svar; sender du dit eget tools-array, respekterer Depaza din system-besked og returnerer tool_calls, som du selv udfører (standard function calling). Se Værktøjer nedenfor.
Python — OpenAI SDK
from openai import OpenAI
client = OpenAI(
api_key="dpz_live_…",
base_url="https://depaza.com/v1",
)
resp = client.chat.completions.create(
model="core",
messages=[{"role": "user", "content": "Summarise today's EU tech news"}],
)
print(resp.choices[0].message.content) Node.js — OpenAI SDK
import OpenAI from "openai";
const client = new OpenAI({
apiKey: "dpz_live_…",
baseURL: "https://depaza.com/v1",
});
const resp = await client.chat.completions.create({
model: "core",
messages: [{ role: "user", content: "Summarise today's EU tech news" }],
});
console.log(resp.choices[0].message.content); Python — Anthropic SDK
from anthropic import Anthropic
client = Anthropic(
api_key="dpz_live_…",
base_url="https://depaza.com", # SDK appends /v1
)
msg = client.messages.create(
model="core",
max_tokens=1024,
messages=[{"role": "user", "content": "Hello from Europe"}],
)
print(msg.content[0].text) Modeller
Send id'et i "model"-feltet. List dem programmatisk med GET /v1/models. Alle modeller er EU-hostede; output er begrænset til 8192 tokens.
| Model-id | Navn | Bedst til |
|---|---|---|
| lite | Depaza Lite | Hurtige, dagligdags spørgsmål og opgaver i stor mængde |
| core | Depaza Core | Den bedste balance mellem kvalitet, hastighed og værktøjsbrug (standard) |
| max | Depaza Max | Dyb analyse og de mest krævende opgaver |
Også valgbare via API'et: coder (kode), reason (lang ræsonnering), boss (ufiltreret, avanceret). På /v1/messages mappes Anthropic-modelnavne automatisk — navne med "haiku" → lite, alle andre → max.
Kerne-API
Chat completions
/v1/chat/completionsOpenAI-kompatibel. Send et messages-array, sæt "stream": true for Server-Sent Events, eller udelad det for ét samlet JSON-svar. Svaret indeholder en standard "usage"-blok plus et "depaza_billing"-objekt med hvad turen kostede og din resterende saldo. Billed-blokke routes automatisk til en vision-model (betalte planer).
Vigtige parametre
model— lite, core eller max — påkrævet.messages— Array af {role, content}. I standardtilstand skal det slutte med en user-besked, og system-beskeder ignoreres. Når du sender dine egne tools, respekteres hele rolle-historikken — inkl. din system-besked og assistant/tool-beskeder.tools— Valgfri. Dine egne funktionsdefinitioner (OpenAI-format). Sendes dette, skiftes til function-calling-tilstand — se Værktøjer.tool_choice— Valgfri. auto (standard), none, required eller en bestemt funktion — kun med dine egne tools.stream / stream_options.include_usage— Stream SSE-chunks; send valgfrit en afsluttende usage-chunk.temperature, top_p, top_k, max_tokens, stop, seed, presence/frequency_penalty— Standard sampling-parametre (videresendes til modellen).response_format— JSON-tilstand / json_schema (understøttes af lite/max).mode— standard (default), document (research → udkast → Office-fil) eller expert (udkast → kritik).attachments— Op til 5 filer {file|base64, filename?, mime?}, OCR'es og foranstilles (betalte planer).depaza_events— Ved streaming: send også custom depaza.*-frames så du kan følge server-side værktøjer og dokument-faser.
Streaming-forespørgsel
{
"model": "core",
"messages": [{"role": "user", "content": "…"}],
"stream": true,
"stream_options": {"include_usage": true}
} Svar
{
"id": "chatcmpl-…",
"object": "chat.completion",
"model": "core",
"choices": [{ "index": 0, "message": { "role": "assistant", "content": "…" }, "finish_reason": "stop" }],
"usage": { "prompt_tokens": 812, "completion_tokens": 415, "total_tokens": 1227 },
"depaza_billing": { "web_searches": 1, "balance_cents_after": 2461 }
} Værktøjer & function calling
Depaza vælger værktøjstilstand automatisk ud fra om din forespørgsel indeholder et tools-array.
Indbyggede værktøjer — uden tools-felt
Sender du ingen tools, kører websøgning og live sidelæsning automatisk i turen, når modellen vurderer at de er nyttige. Du modtager aldrig værktøjskald at udføre — du får et færdigt, web-forankret svar. Det er samme motor som driver Depaza-chatten.
Dine egne værktøjer — function calling
Send et tools-array, så opfører Depaza sig som et standard OpenAI-endpoint: kun dine værktøjer tilbydes, din system-besked respekteres, og intet kører server-side. Modellen returnerer tool_calls med finish_reason "tool_calls"; udfør dem hos dig selv, tilføj hvert resultat som en {role:"tool", tool_call_id, content}-besked og kald igen, så modellen kan afslutte. Brug tool_choice til at fremtvinge eller slå kald fra.
Forespørgsel — tilbyd et værktøj
curl https://depaza.com/v1/chat/completions \
-H "Authorization: Bearer $DEPAZA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "core",
"messages": [{"role": "user", "content": "What is the weather in Paris?"}],
"tools": [{
"type": "function",
"function": {
"name": "get_current_weather",
"description": "Get the current weather for a city",
"parameters": {
"type": "object",
"properties": {"city": {"type": "string"}},
"required": ["city"]
}
}
}]
}' Svar — modellen kalder det
{
"choices": [{
"index": 0,
"message": {
"role": "assistant", "content": null,
"tool_calls": [{
"id": "call_abc", "type": "function",
"function": { "name": "get_current_weather", "arguments": "{\"city\": \"Paris\"}" }
}]
},
"finish_reason": "tool_calls"
}]
} List modeller
/v1/modelsReturnerer kataloget i OpenAI-format med kontekstvindue og maks. output for hver model. Bearer-auth.
{
"object": "list",
"data": [
{ "id": "lite", "object": "model", "owned_by": "depaza", "context_window": 128000, "max_output_tokens": 8192 },
{ "id": "core", "object": "model", "owned_by": "depaza", "context_window": 128000, "max_output_tokens": 8192 },
{ "id": "max", "object": "model", "owned_by": "depaza", "context_window": 128000, "max_output_tokens": 8192 }
]
} Forbrug & saldo
/v1/usageBearer-autentificeret saldo/forbrug for den kaldende nøgle. Kredit-nøgler viser en EUR-saldo; medlemskabs-nøgler (CLI) viser i stedet et rullende ugentligt token-vindue.
{ "email": "[email protected]", "plan": "pro",
"mode": "credit", "balance_cents": 2461, "currency": "EUR" } Messages (Anthropic-kompatibel)
/v1/messagesDrop-in for Anthropic-SDK'en og Claude-CLI'en (ANTHROPIC_BASE_URL). Forespørgslen oversættes til Depazas motor og tilbage til Anthropic-format. Auth via x-api-key eller Bearer.
Vigtige parametre
model— Depaza-id eller et Anthropic-navn (mappes). Standard er core.max_tokens— Påkrævet. Begrænses til 8192.messages— Anthropic-beskedobjekter. content kan være en streng eller blok-array: text, image, document (PDF/Office tekst-udtrækkes og inlines), tool_use, tool_result.system— Valgfri system-prompt (streng eller array af text-blokke).tools / tool_choice— Anthropic-værktøjsdefinitioner {name, description, input_schema}; tool_choice auto/any/none/tool.stream, temperature, top_p, top_k, stop_sequences— Streaming + sampling.
Forespørgsel
curl https://depaza.com/v1/messages \
-H "x-api-key: $DEPAZA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "core",
"max_tokens": 1024,
"system": "You are concise.",
"messages": [{"role": "user", "content": "Name three EU capitals."}]
}' Svar
{
"id": "msg_…", "type": "message", "role": "assistant", "model": "core",
"content": [{ "type": "text", "text": "Paris, Berlin, Madrid." }],
"stop_reason": "end_turn", "stop_sequence": null,
"usage": { "input_tokens": 24, "output_tokens": 8 }
} Streaming (SSE-events)
event: message_start
data: {"type":"message_start","message":{"id":"msg_…","role":"assistant","content":[],…}}
event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"Paris"}}
event: message_delta
data: {"type":"message_delta","delta":{"stop_reason":"end_turn"},"usage":{"output_tokens":8}}
event: message_stop
data: {"type":"message_stop"} Tæl tokens
/v1/messages/count_tokensEstimér input-tokens for en forespørgsel (Anthropic-format). Tilnærmet — en ~3,5 tegn/token-heuristik, ikke en eksakt tokenizer.
curl https://depaza.com/v1/messages/count_tokens \
-H "x-api-key: $DEPAZA_API_KEY" -H "Content-Type: application/json" \
-d '{"model":"core","messages":[{"role":"user","content":"Hello"}]}'
→ { "input_tokens": 2 } Message Batches
/v1/messages/batchesAnthropic-kompatible asynkrone batches: indsend op til 10.000 besked-forespørgsler, behandlet i baggrunden og hentet med id når batchen er færdig. Auth via x-api-key eller Bearer; oprettelse er begrænset til 60/min.
Endpoints
POST /v1/messages/batches— Opret. Hver forespørgsel skal have et unikt custom_id og params (en /v1/messages-body).GET /v1/messages/batches— List dine batches.GET /v1/messages/batches/{id}— Hent / poll processing_status.GET /v1/messages/batches/{id}/results— JSONL-resultater — kun når status er ended.POST /v1/messages/batches/{id}/cancel— Igangsæt annullering.
Opret
curl https://depaza.com/v1/messages/batches \
-H "x-api-key: $DEPAZA_API_KEY" -H "Content-Type: application/json" \
-d '{
"requests": [
{ "custom_id": "q1", "params": { "model": "core", "max_tokens": 256,
"messages": [{"role":"user","content":"Capital of France?"}] } }
]
}' Batch-objekt
{
"id": "msgbatch_…", "type": "message_batch",
"processing_status": "in_progress",
"request_counts": { "processing": 1, "succeeded": 0, "errored": 0, "canceled": 0, "expired": 0 },
"created_at": "2026-06-04T10:00:00+00:00", "ended_at": null,
"expires_at": "2026-06-05T10:00:00+00:00", "results_url": null
} Resultater (JSONL, én linje per forespørgsel)
{"custom_id":"q1","result":{"type":"succeeded","message":{"id":"msg_…",
"content":[{"type":"text","text":"Paris."}],"stop_reason":"end_turn",
"usage":{"input_tokens":12,"output_tokens":3}}}} Funktioner
Vision
/v1/visionEn dedikeret EU-vision-model omsætter billede(r) til tekst, så tekst-modellerne kan "se" screenshots. Bearer-auth, kun betalte planer, 60/min.
Parametre
images— Påkrævet. 1–4 base64-strenge (eller data:-URL'er), ≤ 8 MB hver.prompt— Standard er "Describe this image in detail."temperature, max_tokens— 0–2 (standard 0,2); 64–4000 (standard 1800).
curl https://depaza.com/v1/vision \
-H "Authorization: Bearer $DEPAZA_API_KEY" -H "Content-Type: application/json" \
-d '{"prompt":"What does this screenshot show?","images":["<base64>"]}'
→ { "text": "A login form with email and password fields…",
"model": "mistral-small-…" } Filer — tekstudtræk
/v1/filesUdtræk tekst fra en fil: billed-OCR, scannet-PDF-OCR og mekanisk tekst/PDF/Office-udtræk — samme pipeline som chat-vedhæftninger. Bearer-auth, kun betalte planer, maks. 10 MB. Understøtter PDF, billeder, Office (DOCX/XLSX/PPTX), CSV, JSON og tekst. Send multipart "file" eller JSON {file: <base64>, mime?}.
curl https://depaza.com/v1/files \
-H "Authorization: Bearer $DEPAZA_API_KEY" \
-F "[email protected]"
→ { "text": "Q1 revenue grew 18%…", "mime": "application/pdf", "ocr": false } Download en genereret fil
/v1/files/{id}Download en Office-fil produceret af Document Mode eller generate_*-værktøjerne, autoriseret med din bearer-nøgle. Streamer binæren som en vedhæftning.
curl -L https://depaza.com/v1/files/123 \
-H "Authorization: Bearer $DEPAZA_API_KEY" -o report.docx Websøgning
/v1/searchEU First websøgning — samme motor som chatten bruger. Bearer-auth, kun betalte planer, 60/min.
Parametre
query— Påkrævet.max_results— 1–10, standard 6.
curl https://depaza.com/v1/search \
-H "Authorization: Bearer $DEPAZA_API_KEY" -H "Content-Type: application/json" \
-d '{"query":"EU AI Act enforcement 2026","max_results":5}'
→ { "query": "…", "results": [
{ "title": "…", "url": "https://…", "snippet": "…", "published_at": "…" } ] } Transskription
/v1/transcribeLyd → tekst (EU-hostet Whisper large-v3). Public API til korte klip (betalt, 60/min, max 25 MB, multipart eller base64). I web-chatten: realtids-mikrofon-dictation op til 10 minutter med client-side segmentering + screen wake lock, plus lange lydfiler med automatisk baggrundschunking (betalt).
curl https://depaza.com/v1/transcribe \
-H "Authorization: Bearer $DEPAZA_API_KEY" \
-F "[email protected]"
→ { "text": "..." }
# Also supports JSON base64:
# { "audio": "<base64 or data:...>", "filename": "note.webm" }
# Web chat: up to 10 min continuous dictation (client segmentation + wake lock)
# + long audio attachments with automatic ffmpeg chunking (paid). Konto
CLI-sessionssync
/v1/sessionsTilvalgs-sync af CLI-kodningstransskriptioner, så de vises i web-dashboardet. Bearer-auth, kun betalte planer. Upsert erstatter transskriptionen (send hele beskedlisten hver tur), nøglet på session_id.
POST https://depaza.com/v1/sessions
{ "session_id": "abc-123", "status": "ended", "model": "core",
"messages": [ {"role":"user","content":"…"}, {"role":"assistant","content":"…"} ] }
→ { "ok": true, "id": 8842 }
GET https://depaza.com/v1/sessions → { "sessions": [ … ] }
GET https://depaza.com/v1/sessions/abc-123 → { "session_id": "…", "messages": [ … ] } API-nøgler
Administrér nøgler fra den indloggede web-session (disse ruter bruger session-auth, ikke bearer — de driver Indstillinger-UI'en). Plaintext-tokenet returneres én gang ved oprettelse og gemmes aldrig i genskabelig form.
GET https://depaza.com/v1/keys → { "keys": [ … ] }
POST https://depaza.com/v1/keys → { "id": 17, "token": "dpz_live_…", "name": "prod" }
DELETE https://depaza.com/v1/keys/17 → { "ok": true } Kredit & fakturering
Konti med API-nøgler er forudbetalte; CLI-nøgler er inkluderet i din plan. Tilføj kredit (minimum €25) under Indstillinger → API. Aktivér auto-optankning for automatisk at tanke op fra et gemt kort, når saldoen falder under en grænse du vælger. Er saldoen tom (eller en auto-optankning fejlet), returnerer API'et 402 indtil du tanker op.
Priser
Forbrug faktureres i EUR mod din forudbetalte saldo til de live-satser nedenfor. Websøgning faktureres kun når en forespørgsel rent faktisk når den eksterne søgemaskine; svar fra vores eget indeks eller cache er gratis.
| Model | Input / 1M tokens | Output / 1M tokens |
|---|---|---|
| Depaza Lite | €0.56 | €0.56 |
| Depaza Core | €1.64 | €2.19 |
| Depaza Max | €5.56 | €16.67 |
| BOSS (Unrestricted) | €1.64 | €2.19 |
| Websøgning (ekstern) | €0.022 per søgning | |
Reference
Rate limits
Grænser er glidende vinduer; overskrider du en, returneres 429 med en Retry-After-header (sekunder). Hvert /v1/-svar bærer en x-request-id-header til sporing.
| POST /v1/chat/completions | 120/min, 10.000/dag per nøgle (API-nøgler) |
| POST /v1/messages | 120/min per bruger |
| POST /v1/messages/batches | 60/min per bruger |
| POST /v1/sessions | 120/min per bruger |
| /v1/vision · /v1/files · /v1/search · /v1/transcribe | 60/min per bruger |
Fejl
De fleste ruter bruger OpenAI-formatet {"error": {message, type, code}}; de Anthropic-kompatible ruter bruger {"type":"error","error":{type, message}}.
| 400 | Ugyldig forespørgsel — forkert model-id, misdannet/tomt messages, manglende max_tokens, ikke-understøttet fil. |
| 401 | Ugyldig eller manglende API-nøgle. |
| 402 | Utilstrækkelig kredit / fejlet auto-optankning, eller en betalt-plan / ugentlig-grænse-gate. |
| 403 | Konto suspenderet, eller Code CLI early-access påkrævet. |
| 404 | Batch, session eller fil ikke fundet. |
| 429 | Rate limited. Følg Retry-After-headeren. |
| 5xx | Upstream model-fejl eller midlertidig fejl. |
Byg det med Depaza Code CLI
Skriv ikke klienten i hånden — Depaza Code CLI kender allerede dette API (den læser præcis denne reference) og kan stilladsere, køre og fejlrette din integration i terminalen. Det er dit europæiske udviklerteam, på europæisk jord.
curl -fsSL https://depaza.com/install.sh | sh # install
depaza auth # connect this terminal
depaza docs # print the full API reference
depaza "build a Python client for /v1/messages with streaming" Denne side serveres også som Markdown på /llms.txt — peg enhver agent eller LLM mod den. Læs mere om CLI'en.
Klar til at bygge?
Generér en nøgle i dit dashboard og lav dit første kald på få minutter.