Skip to content

Latest commit

 

History

History
442 lines (327 loc) · 16.3 KB

File metadata and controls

442 lines (327 loc) · 16.3 KB

API-Referenz

🌐 Languages: 🇺🇸 English | 🇧🇷 Português (Brasil) | 🇪🇸 Español | 🇫🇷 Français | 🇮🇹 Italiano | 🇷🇺 Русский | 🇨🇳 中文 (简体) | 🇩🇪 Deutsch | 🇮🇳 हिन्दी | 🇹🇭 ไทย | 🇺🇦 Українська | 🇸🇦 العربية | 🇯🇵 日本語 | 🇻🇳 Tiếng Việt | 🇧🇬 Български | 🇩🇰 Dansk | 🇫🇮 Suomi | 🇮🇱 עברית | 🇭🇺 Magyar | 🇮🇩 Bahasa Indonesia | 🇰🇷 한국어 | 🇲🇾 Bahasa Melayu | 🇳🇱 Nederlands | 🇳🇴 Norsk | 🇵🇹 Português (Portugal) | 🇷🇴 Română | 🇵🇱 Polski | 🇸🇰 Slovenčina | 🇸🇪 Svenska | 🇵🇭 Filipino

Vollständige Referenz für alle OmniRoute-API-Endpunkte.


Inhaltsverzeichnis


Chat-Abschlüsse

POST /v1/chat/completions
Authorization: Bearer your-api-key
Content-Type: application/json

{
  "model": "cc/claude-opus-4-6",
  "messages": [
    {"role": "user", "content": "Write a function to..."}
  ],
  "stream": true
}

Benutzerdefinierte Header

Kopfzeile Richtung Beschreibung
X-OmniRoute-No-Cache Anfrage Auf true setzen, um den Cache zu umgehen
X-OmniRoute-Progress Anfrage Für Fortschrittsereignisse auf true setzen
Idempotency-Key Anfrage Dedup-Schlüssel (5-Sekunden-Fenster)
X-Request-Id Anfrage Alternativer Deduplizierungsschlüssel
X-OmniRoute-Cache Antwort HIT oder MISS (kein Streaming)
X-OmniRoute-Idempotent Antwort true wenn dedupliziert
X-OmniRoute-Progress Antwort enabled wenn Fortschrittsverfolgung auf

Einbettungen

POST /v1/embeddings
Authorization: Bearer your-api-key
Content-Type: application/json

{
  "model": "nebius/Qwen/Qwen3-Embedding-8B",
  "input": "The food was delicious"
}

Verfügbare Anbieter: Nebius, OpenAI, Mistral, Together AI, Fireworks, NVIDIA.

# List all embedding models
GET /v1/embeddings

Bildgenerierung

POST /v1/images/generations
Authorization: Bearer your-api-key
Content-Type: application/json

{
  "model": "openai/dall-e-3",
  "prompt": "A beautiful sunset over mountains",
  "size": "1024x1024"
}

Verfügbare Anbieter: OpenAI (DALL-E), xAI (Grok Image), Together AI (FLUX), Fireworks AI.

# List all image models
GET /v1/images/generations

Modelle auflisten

GET /v1/models
Authorization: Bearer your-api-key

→ Returns all chat, embedding, and image models + combos in OpenAI format

Kompatibilitätsendpunkte

Methode Pfad Formatieren
POST /v1/chat/completions OpenAI
POST /v1/messages Anthropisch
POST /v1/responses OpenAI-Antworten
POST /v1/embeddings OpenAI
POST /v1/images/generations OpenAI
GET /v1/models OpenAI
POST /v1/messages/count_tokens Anthropisch
GET /v1beta/models Zwillinge
POST /v1beta/models/{...path} Zwillinge generierenContent
POST /v1/api/chat Ollama

Dedizierte Anbieterrouten

POST /v1/providers/{provider}/chat/completions
POST /v1/providers/{provider}/embeddings
POST /v1/providers/{provider}/images/generations

Das Anbieterpräfix wird automatisch hinzugefügt, wenn es fehlt. Nicht übereinstimmende Modelle geben 400 zurück.


Semantischer Cache

# Get cache stats
GET /api/cache

# Clear all caches
DELETE /api/cache

Antwortbeispiel:

{
  "semanticCache": {
    "memorySize": 42,
    "memoryMaxSize": 500,
    "dbSize": 128,
    "hitRate": 0.65
  },
  "idempotency": {
    "activeKeys": 3,
    "windowMs": 5000
  }
}

Dashboard und Verwaltung

Authentifizierung

Endpunkt Methode Beschreibung
/api/auth/login POST Anmelden
/api/auth/logout POST Abmelden
/api/settings/require-login GET/PUT Anmeldung erforderlich umschalten

Anbieterverwaltung

Endpunkt Methode Beschreibung
/api/providers GET/POST Anbieter auflisten/anlegen
/api/providers/[id] GET/PUT/DELETE Einen Anbieter verwalten
/api/providers/[id]/test POST Provider-Verbindung testen
/api/providers/[id]/models GET Anbietermodelle auflisten
/api/providers/validate POST Anbieterkonfiguration validieren
/api/provider-nodes* Verschiedene Provider-Knotenverwaltung
/api/provider-models GET/POST/DELETE Kundenspezifische Modelle

OAuth-Flows

Endpunkt Methode Beschreibung
/api/oauth/[provider]/[action] Verschiedene Anbieterspezifisches OAuth

Routing & Konfig

Endpunkt Methode Beschreibung
/api/models/alias GET/POST Modell-Aliase
/api/models/catalog GET Alle Modelle nach Anbieter + Typ
/api/combos* Verschiedene Combo-Management
/api/keys* Verschiedene API-Schlüsselverwaltung
/api/pricing GET Modellpreise

Nutzung und Analyse

Endpunkt Methode Beschreibung
/api/usage/history GET Nutzungshistorie
/api/usage/logs GET Nutzungsprotokolle
/api/usage/request-logs GET Protokolle auf Anforderungsebene
/api/usage/[connectionId] GET Nutzung pro Verbindung

Einstellungen

Endpunkt Methode Beschreibung
/api/settings GET/PUT Allgemeine Einstellungen
/api/settings/proxy GET/PUT Netzwerk-Proxy-Konfiguration
/api/settings/proxy/test POST Proxy-Verbindung testen
/api/settings/ip-filter GET/PUT IP-Zulassungs-/Blockierungsliste
/api/settings/thinking-budget GET/PUT Begründung des Token-Budgets
/api/settings/system-prompt GET/PUT Globale Systemaufforderung

Überwachung

Endpunkt Methode Beschreibung
/api/sessions GET Aktive Sitzungsverfolgung
/api/rate-limits GET Tariflimits pro Konto
/api/monitoring/health GET Gesundheitscheck
/api/cache ERHALTEN/LÖSCHEN Cache-Statistiken / löschen

Sichern und Exportieren/Importieren

Endpunkt Methode Beschreibung
/api/db-backups GET Verfügbare Backups auflisten
/api/db-backups PUT Erstellen Sie ein manuelles Backup
/api/db-backups POST Von einem bestimmten Backup wiederherstellen
/api/db-backups/export GET Datenbank als .sqlite-Datei herunterladen
/api/db-backups/import POST Laden Sie die .sqlite-Datei hoch, um die Datenbank zu ersetzen
/api/db-backups/exportAll GET Vollständiges Backup als .tar.gz-Archiv herunterladen

Cloud-Synchronisierung

Endpunkt Methode Beschreibung
/api/sync/cloud Verschiedene Cloud-Synchronisierungsvorgänge
/api/sync/initialize POST Synchronisierung initialisieren
/api/cloud/* Verschiedene Cloud-Management

CLI-Tools

Endpunkt Methode Beschreibung
/api/cli-tools/claude-settings GET Claude CLI-Status
/api/cli-tools/codex-settings GET Codex-CLI-Status
/api/cli-tools/droid-settings GET Droid-CLI-Status
/api/cli-tools/openclaw-settings GET OpenClaw CLI-Status
/api/cli-tools/runtime/[toolId] GET Generische CLI-Laufzeit

Zu den CLI-Antworten gehören: installed, runnable, command, commandPath, runtimeMode, reason.

Belastbarkeit und Ratenbeschränkungen

Endpunkt Methode Beschreibung
/api/resilience GET/PUT Resilienzprofile abrufen/aktualisieren
/api/resilience/reset POST Leistungsschalter zurücksetzen
/api/rate-limits GET Status der Ratenbegrenzung pro Konto
/api/rate-limit GET Konfiguration des globalen Ratenlimits

Bewertungen

Endpunkt Methode Beschreibung
/api/evals GET/POST Evaluierungssuiten auflisten / Evaluierung ausführen

Richtlinien

Endpunkt Methode Beschreibung
/api/policies GET/POST/DELETE Routing-Richtlinien verwalten

Compliance

Endpunkt Methode Beschreibung
/api/compliance/audit-log GET Compliance-Audit-Protokoll (letztes N)

v1beta (Gemini-kompatibel)

Endpunkt Methode Beschreibung
/v1beta/models GET Modelle im Gemini-Format auflisten
/v1beta/models/{...path} POST Gemini generateContent Endpunkt

Diese Endpunkte spiegeln das API-Format von Gemini für Kunden wider, die native Gemini SDK-Kompatibilität erwarten.

Interne/System-APIs

Endpunkt Methode Beschreibung
/api/init GET Überprüfung der Anwendungsinitialisierung (wird beim ersten Start verwendet)
/api/tags GET Ollama-kompatible Modell-Tags (für Ollama-Clients)
/api/restart POST Ordentlichen Serverneustart auslösen
/api/shutdown POST Ordentliches Herunterfahren des Servers auslösen

Hinweis: Diese Endpunkte werden intern vom System oder für die Ollama-Client-Kompatibilität verwendet. Sie werden normalerweise nicht von Endbenutzern aufgerufen.


Audiotranskription

POST /v1/audio/transcriptions
Authorization: Bearer your-api-key
Content-Type: multipart/form-data

Transkribieren Sie Audiodateien mit Deepgram oder AssemblyAI.

Anfrage:

curl -X POST http://localhost:20128/v1/audio/transcriptions \
  -H "Authorization: Bearer your-api-key" \
  -F "file=@recording.mp3" \
  -F "model=deepgram/nova-3"

Antwort:

{
  "text": "Hello, this is the transcribed audio content.",
  "task": "transcribe",
  "language": "en",
  "duration": 12.5
}

Unterstützte Anbieter: deepgram/nova-3, assemblyai/best.

Unterstützte Formate: mp3, wav, m4a, flac, ogg, webm.


Ollama-Kompatibilität

Für Kunden, die das API-Format von Ollama verwenden:

# Chat endpoint (Ollama format)
POST /v1/api/chat

# Model listing (Ollama format)
GET /api/tags

Anfragen werden automatisch zwischen Ollama und internen Formaten übersetzt.


Telemetrie

# Get latency telemetry summary (p50/p95/p99 per provider)
GET /api/telemetry/summary

Antwort:

{
  "providers": {
    "claudeCode": { "p50": 245, "p95": 890, "p99": 1200, "count": 150 },
    "github": { "p50": 180, "p95": 620, "p99": 950, "count": 320 }
  }
}

Budget

# Get budget status for all API keys
GET /api/usage/budget

# Set or update a budget
POST /api/usage/budget
Content-Type: application/json

{
  "keyId": "key-123",
  "limit": 50.00,
  "period": "monthly"
}

Modellverfügbarkeit

# Get real-time model availability across all providers
GET /api/models/availability

# Check availability for a specific model
POST /api/models/availability
Content-Type: application/json

{
  "model": "claude-sonnet-4-5-20250929"
}

Bearbeitung der Anfrage

  1. Client sendet Anfrage an /v1/*
  2. Route-Handler-Aufrufe handleChat, handleEmbedding, handleAudioTranscription oder handleImageGeneration
  3. Modell wird aufgelöst (direkter Anbieter/Modell oder Alias/Kombination)
  4. Aus der lokalen Datenbank ausgewählte Anmeldeinformationen mit Kontoverfügbarkeitsfilterung
  5. Für Chat: handleChatCore – Formaterkennung, Übersetzung, Cache-Prüfung, Idempotenzprüfung
  6. Der Executor des Anbieters sendet eine Upstream-Anfrage
  7. Antwort zurück ins Client-Format übersetzt (Chat) oder unverändert zurückgegeben (Einbettungen/Bilder/Audio)
  8. Nutzung/Protokollierung aufgezeichnet
  9. Bei Fehlern gilt ein Fallback gemäß den Combo-Regeln

Vollständige Architekturreferenz: link


Authentifizierung

– Dashboard-Routen (/dashboard/*) verwenden das Cookie auth_token

  • Bei der Anmeldung wird der gespeicherte Passwort-Hash verwendet. Fallback auf INITIAL_PASSWORD
  • requireLogin umschaltbar über /api/settings/require-login/v1/* Routen erfordern optional einen Bearer-API-Schlüssel, wenn REQUIRE_API_KEY=true