API Reference
Complete reference for all OmniRoute API endpoints.
Table of Contents
Chat Completions
| Header |
Direction |
Description |
X-OmniRoute-No-Cache |
Request |
Set to true to bypass cache |
X-OmniRoute-Progress |
Request |
Set to true for progress events |
Idempotency-Key |
Request |
Dedup key (5s window) |
X-Request-Id |
Request |
Alternative dedup key |
X-OmniRoute-Cache |
Response |
HIT or MISS (non-streaming) |
X-OmniRoute-Idempotent |
Response |
true if deduplicated |
X-OmniRoute-Progress |
Response |
enabled if progress tracking on |
Embeddings
Available providers: Nebius, OpenAI, Mistral, Together AI, Fireworks, NVIDIA.
Image Generation
Available providers: OpenAI (DALL-E), xAI (Grok Image), Together AI (FLUX), Fireworks AI.
List Models
Compatibility Endpoints
| Method |
Path |
Format |
| POST |
/v1/chat/completions |
OpenAI |
| POST |
/v1/messages |
Anthropic |
| POST |
/v1/responses |
OpenAI Responses |
| POST |
/v1/embeddings |
OpenAI |
| POST |
/v1/images/generations |
OpenAI |
| GET |
/v1/models |
OpenAI |
| POST |
/v1/messages/count_tokens |
Anthropic |
| GET |
/v1beta/models |
Gemini |
| POST |
/v1beta/models/{...path} |
Gemini generateContent |
| POST |
/v1/api/chat |
Ollama |
Dedicated Provider Routes
The provider prefix is auto-added if missing. Mismatched models return 400.
Semantic Cache
Response example:
Dashboard & Management
Authentication
| Endpoint |
Method |
Description |
/api/auth/login |
POST |
Login |
/api/auth/logout |
POST |
Logout |
/api/settings/require-login |
GET/PUT |
Toggle login required |
Provider Management
| Endpoint |
Method |
Description |
/api/providers |
GET/POST |
List / create providers |
/api/providers/[id] |
GET/PUT/DELETE |
Manage a provider |
/api/providers/[id]/test |
POST |
Test provider connection |
/api/providers/[id]/models |
GET |
List provider models |
/api/providers/validate |
POST |
Validate provider config |
/api/provider-nodes* |
Various |
Provider node management |
/api/provider-models |
GET/POST/DELETE |
Custom models |
OAuth Flows
| Endpoint |
Method |
Description |
/api/oauth/[provider]/[action] |
Various |
Provider-specific OAuth |
Routing & Config
| Endpoint |
Method |
Description |
/api/models/alias |
GET/POST |
Model aliases |
/api/models/catalog |
GET |
All models by provider + type |
/api/combos* |
Various |
Combo management |
/api/keys* |
Various |
API key management |
/api/pricing |
GET |
Model pricing |
Usage & Analytics
| Endpoint |
Method |
Description |
/api/usage/history |
GET |
Usage history |
/api/usage/logs |
GET |
Usage logs |
/api/usage/request-logs |
GET |
Request-level logs |
/api/usage/[connectionId] |
GET |
Per-connection usage |
Settings
| Endpoint |
Method |
Description |
/api/settings |
GET/PUT |
General settings |
/api/settings/proxy |
GET/PUT |
Network proxy config |
/api/settings/proxy/test |
POST |
Test proxy connection |
/api/settings/ip-filter |
GET/PUT |
IP allowlist/blocklist |
/api/settings/thinking-budget |
GET/PUT |
Reasoning token budget |
/api/settings/system-prompt |
GET/PUT |
Global system prompt |
Monitoring
| Endpoint |
Method |
Description |
/api/sessions |
GET |
Active session tracking |
/api/rate-limits |
GET |
Per-account rate limits |
/api/monitoring/health |
GET |
Health check |
/api/cache |
GET/DELETE |
Cache stats / clear |
Backup & Export/Import
| Endpoint |
Method |
Description |
/api/db-backups |
GET |
List available backups |
/api/db-backups |
PUT |
Create a manual backup |
/api/db-backups |
POST |
Restore from a specific backup |
/api/db-backups/export |
GET |
Download database as .sqlite file |
/api/db-backups/import |
POST |
Upload .sqlite file to replace database |
/api/db-backups/exportAll |
GET |
Download full backup as .tar.gz archive |
Cloud Sync
| Endpoint |
Method |
Description |
/api/sync/cloud |
Various |
Cloud sync operations |
/api/sync/initialize |
POST |
Initialize sync |
/api/cloud/* |
Various |
Cloud management |
CLI Tools
| Endpoint |
Method |
Description |
/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 |
Generic CLI runtime |
CLI responses include: installed, runnable, command, commandPath, runtimeMode, reason.
Resilience & Rate Limits
| Endpoint |
Method |
Description |
/api/resilience |
GET/PUT |
Get/update resilience profiles |
/api/resilience/reset |
POST |
Reset circuit breakers |
/api/rate-limits |
GET |
Per-account rate limit status |
/api/rate-limit |
GET |
Global rate limit configuration |
Evals
| Endpoint |
Method |
Description |
/api/evals |
GET/POST |
List eval suites / run evaluation |
Policies
| Endpoint |
Method |
Description |
/api/policies |
GET/POST/DELETE |
Manage routing policies |
Compliance
| Endpoint |
Method |
Description |
/api/compliance/audit-log |
GET |
Compliance audit log (last N) |
v1beta (Gemini-Compatible)
| Endpoint |
Method |
Description |
/v1beta/models |
GET |
List models in Gemini format |
/v1beta/models/{...path} |
POST |
Gemini generateContent endpoint |
These endpoints mirror Gemini's API format for clients that expect native Gemini SDK compatibility.
Internal / System APIs
| Endpoint |
Method |
Description |
/api/init |
GET |
Application initialization check (used on first run) |
/api/tags |
GET |
Ollama-compatible model tags (for Ollama clients) |
/api/restart |
POST |
Trigger graceful server restart |
/api/shutdown |
POST |
Trigger graceful server shutdown |
Note: These endpoints are used internally by the system or for Ollama client compatibility. They are not typically called by end users.
Audio Transcription
Transcribe audio files using Deepgram or AssemblyAI.
Request:
Response:
Supported providers: deepgram/nova-3, assemblyai/best.
Supported formats: mp3, wav, m4a, flac, ogg, webm.
Ollama Compatibility
For clients that use Ollama's API format:
Requests are automatically translated between Ollama and internal formats.
Telemetry
Response:
Budget
Model Availability
Request Processing
- Client sends request to
/v1/*
- Route handler calls
handleChat, handleEmbedding, handleAudioTranscription, or handleImageGeneration
- Model is resolved (direct provider/model or alias/combo)
- Credentials selected from local DB with account availability filtering
- For chat:
handleChatCore — format detection, translation, cache check, idempotency check
- Provider executor sends upstream request
- Response translated back to client format (chat) or returned as-is (embeddings/images/audio)
- Usage/logging recorded
- Fallback applies on errors according to combo rules
Full architecture reference: ARCHITECTURE.md
Authentication
- Dashboard routes (
/dashboard/*) use auth_token cookie
- Login uses saved password hash; fallback to
INITIAL_PASSWORD
requireLogin toggleable via /api/settings/require-login
/v1/* routes optionally require Bearer API key when REQUIRE_API_KEY=true