🌐 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
Повний довідник для всіх кінцевих точок OmniRoute API.
- Chat Completions
- Embeddings
- Image Generation
- List Models
- Compatibility Endpoints
- Semantic Cache
- Dashboard & Management
- Request Processing
- Authentication
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
}| Заголовок | Напрям | Опис |
|---|---|---|
X-OmniRoute-No-Cache |
Запит | Установіть true, щоб обійти кеш |
X-OmniRoute-Progress |
Запит | Встановіть true для подій прогресу |
Idempotency-Key |
Запит | Ключ дедуплювання (5-секундне вікно) |
X-Request-Id |
Запит | Альтернативний ключ дедуплювання |
X-OmniRoute-Cache |
Відповідь | HIT або MISS (не потоковий) |
X-OmniRoute-Idempotent |
Відповідь | true якщо дедупліковано |
X-OmniRoute-Progress |
Відповідь | enabled, якщо відстеження прогресу на |
POST /v1/embeddings
Authorization: Bearer your-api-key
Content-Type: application/json
{
"model": "nebius/Qwen/Qwen3-Embedding-8B",
"input": "The food was delicious"
}Доступні постачальники: Nebius, OpenAI, Mistral, Together AI, Fireworks, NVIDIA.
# List all embedding models
GET /v1/embeddingsPOST /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"
}Доступні постачальники: OpenAI (DALL-E), xAI (Grok Image), Together AI (FLUX), Fireworks AI.
# List all image models
GET /v1/images/generationsGET /v1/models
Authorization: Bearer your-api-key
→ Returns all chat, embedding, and image models + combos in OpenAI format| Метод | Шлях | Формат |
|---|---|---|
| Опублікувати | /v1/chat/completions |
OpenAI |
| Опублікувати | /v1/messages |
Антропний |
| Опублікувати | /v1/responses |
Відповіді OpenAI |
| Опублікувати | /v1/embeddings |
OpenAI |
| Опублікувати | /v1/images/generations |
OpenAI |
| ОТРИМАТИ | /v1/models |
OpenAI |
| Опублікувати | /v1/messages/count_tokens |
Антропний |
| ОТРИМАТИ | /v1beta/models |
Близнюки |
| Опублікувати | /v1beta/models/{...path} |
Gemini generateContent |
| Опублікувати | /v1/api/chat |
Оллама |
POST /v1/providers/{provider}/chat/completions
POST /v1/providers/{provider}/embeddings
POST /v1/providers/{provider}/images/generationsПрефікс провайдера додається автоматично, якщо його немає. Невідповідні моделі повертають 400.
# Get cache stats
GET /api/cache
# Clear all caches
DELETE /api/cacheПриклад відповіді:
{
"semanticCache": {
"memorySize": 42,
"memoryMaxSize": 500,
"dbSize": 128,
"hitRate": 0.65
},
"idempotency": {
"activeKeys": 3,
"windowMs": 5000
}
}| Кінцева точка | Метод | Опис |
|---|---|---|
/api/auth/login |
Опублікувати | Вхід |
/api/auth/logout |
Опублікувати | Вийти |
/api/settings/require-login |
GET/PUT | Перемкнути необхідний вхід |
| Кінцева точка | Метод | Опис |
|---|---|---|
/api/providers |
GET/POST | Список / створення постачальників |
/api/providers/[id] |
GET/PUT/DELETE | Керувати постачальником |
/api/providers/[id]/test |
Опублікувати | Перевірте підключення провайдера |
/api/providers/[id]/models |
ОТРИМАТИ | Список моделей провайдерів |
/api/providers/validate |
Опублікувати | Перевірте конфігурацію постачальника |
/api/provider-nodes* |
Різні | Керування вузлом провайдера |
/api/provider-models |
GET/POST/DELETE | Індивідуальні моделі |
| Кінцева точка | Метод | Опис |
|---|---|---|
/api/oauth/[provider]/[action] |
Різні | OAuth для постачальника |
| Кінцева точка | Метод | Опис |
|---|---|---|
/api/models/alias |
GET/POST | Псевдоніми моделей |
/api/models/catalog |
ОТРИМАТИ | Всі моделі за провайдером + тип |
/api/combos* |
Різні | Комбо управління |
/api/keys* |
Різні | Керування ключами API |
/api/pricing |
ОТРИМАТИ | Модель ціноутворення |
| Кінцева точка | Метод | Опис |
|---|---|---|
/api/usage/history |
ОТРИМАТИ | Історія використання |
/api/usage/logs |
ОТРИМАТИ | Журнали використання |
/api/usage/request-logs |
ОТРИМАТИ | Журнали рівня запиту |
/api/usage/[connectionId] |
ОТРИМАТИ | Використання кожного підключення |
| Кінцева точка | Метод | Опис |
|---|---|---|
/api/settings |
GET/PUT | Загальні налаштування |
/api/settings/proxy |
GET/PUT | Конфігурація мережевого проксі |
/api/settings/proxy/test |
Опублікувати | Тест проксі-з'єднання |
/api/settings/ip-filter |
GET/PUT | Список дозволених/чорних IP |
/api/settings/thinking-budget |
GET/PUT | Обґрунтування жетонного бюджету |
/api/settings/system-prompt |
GET/PUT | Глобальна системна підказка |
| Кінцева точка | Метод | Опис |
|---|---|---|
/api/sessions |
ОТРИМАТИ | Відстеження активної сесії |
/api/rate-limits |
ОТРИМАТИ | Ліміти ставок за обліковий запис |
/api/monitoring/health |
ОТРИМАТИ | Перевірка стану здоров'я |
/api/cache |
ОТРИМАТИ/ВИДАЛИТИ | Статистика кешу / очищення |
| Кінцева точка | Метод | Опис |
|---|---|---|
/api/db-backups |
ОТРИМАТИ | Список доступних резервних копій |
/api/db-backups |
ПОСТАВИТИ | Створіть резервну копію вручну |
/api/db-backups |
Опублікувати | Відновити з певної резервної копії |
/api/db-backups/export |
ОТРИМАТИ | Завантажити базу даних як файл .sqlite |
/api/db-backups/import |
Опублікувати | Завантажте файл .sqlite для заміни бази даних |
/api/db-backups/exportAll |
ОТРИМАТИ | Завантажте повну резервну копію як архів .tar.gz |
| Кінцева точка | Метод | Опис |
|---|---|---|
/api/sync/cloud |
Різні | Операції хмарної синхронізації |
/api/sync/initialize |
Опублікувати | Ініціалізація синхронізації |
/api/cloud/* |
Різні | Управління хмарою |
| Кінцева точка | Метод | Опис |
|---|---|---|
/api/cli-tools/claude-settings |
ОТРИМАТИ | Клод CLI статус |
/api/cli-tools/codex-settings |
ОТРИМАТИ | Codex CLI status |
/api/cli-tools/droid-settings |
ОТРИМАТИ | Droid CLI status |
/api/cli-tools/openclaw-settings |
ОТРИМАТИ | Статус OpenClaw CLI |
/api/cli-tools/runtime/[toolId] |
ОТРИМАТИ | Загальне середовище виконання CLI |
Відповіді CLI включають: installed, runnable, command, commandPath, runtimeMode, reason.
| Кінцева точка | Метод | Опис |
|---|---|---|
/api/resilience |
GET/PUT | Отримати/оновити профілі стійкості |
/api/resilience/reset |
Опублікувати | Скидання автоматичних вимикачів |
/api/rate-limits |
ОТРИМАТИ | Статус обмеження ставки на обліковий запис |
/api/rate-limit |
ОТРИМАТИ | Конфігурація глобального обмеження швидкості |
| Кінцева точка | Метод | Опис |
|---|---|---|
/api/evals |
GET/POST | Створити список eval suites / запустити оцінку |
| Кінцева точка | Метод | Опис |
|---|---|---|
/api/policies |
GET/POST/DELETE | Керування політикою маршрутизації |
| Кінцева точка | Метод | Опис |
|---|---|---|
/api/compliance/audit-log |
ОТРИМАТИ | Журнал аудиту відповідності (останній N) |
| Кінцева точка | Метод | Опис |
|---|---|---|
/v1beta/models |
ОТРИМАТИ | Список моделей у форматі Gemini |
/v1beta/models/{...path} |
Опублікувати | Кінцева точка Gemini generateContent |
Ці кінцеві точки відображають формат API Gemini для клієнтів, які очікують нативної сумісності з Gemini SDK.
| Кінцева точка | Метод | Опис |
|---|---|---|
/api/init |
ОТРИМАТИ | Перевірка ініціалізації програми (використовується під час першого запуску) |
/api/tags |
ОТРИМАТИ | Сумісні з Ollama теги моделей (для клієнтів Ollama) |
/api/restart |
Опублікувати | Ініціювати плавний перезапуск сервера |
/api/shutdown |
Опублікувати | Ініціювати плавне завершення роботи сервера |
Примітка. Ці кінцеві точки використовуються внутрішньо системою або для сумісності клієнта Ollama. Зазвичай вони не викликаються кінцевими користувачами.
POST /v1/audio/transcriptions
Authorization: Bearer your-api-key
Content-Type: multipart/form-dataТранскрибуйте аудіофайли за допомогою Deepgram або AssemblyAI.
Запит:
curl -X POST http://localhost:20128/v1/audio/transcriptions \
-H "Authorization: Bearer your-api-key" \
-F "file=@recording.mp3" \
-F "model=deepgram/nova-3"Відповідь:
{
"text": "Hello, this is the transcribed audio content.",
"task": "transcribe",
"language": "en",
"duration": 12.5
}Підтримувані постачальники: deepgram/nova-3, assemblyai/best.
Підтримувані формати: mp3, wav, m4a, flac, ogg, webm.
Для клієнтів, які використовують формат API Ollama:
# Chat endpoint (Ollama format)
POST /v1/api/chat
# Model listing (Ollama format)
GET /api/tagsЗапити автоматично перекладаються між Ollama та внутрішніми форматами.
# Get latency telemetry summary (p50/p95/p99 per provider)
GET /api/telemetry/summaryВідповідь:
{
"providers": {
"claudeCode": { "p50": 245, "p95": 890, "p99": 1200, "count": 150 },
"github": { "p50": 180, "p95": 620, "p99": 950, "count": 320 }
}
}# 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"
}# 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"
}- Клієнт надсилає запит на
/v1/* - Обробник маршруту викликає
handleChat,handleEmbedding,handleAudioTranscriptionабоhandleImageGeneration - Модель вирішено (прямий постачальник/модель або псевдонім/комбо)
- Облікові дані, вибрані з локальної БД з фільтрацією доступності облікових записів
- Для чату:
handleChatCore— визначення формату, переклад, перевірка кешу, перевірка ідемпотентності - Виконавець провайдера надсилає висхідний запит
- Відповідь перекладається назад у формат клієнта (чат) або повертається як є (вбудовування/зображення/аудіо)
- Запис використання/реєстрації
- Резервний варіант застосовується до помилок відповідно до правил комбінування
Повне посилання на архітектуру: link
- Маршрути інформаційної панелі (
/dashboard/*) використовуютьauth_tokencookie - Вхід використовує збережений хеш пароля; повернутися до
INITIAL_PASSWORD requireLoginможна перемикати через/api/settings/require-login- Маршрути
/v1/*додатково вимагають ключ API носія, колиREQUIRE_API_KEY=true