Skip to content

Latest commit

 

History

History
441 lines (327 loc) · 17.4 KB

File metadata and controls

441 lines (327 loc) · 17.4 KB

Référence API

🌐 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

Référence complète pour tous les points de terminaison de l'API OmniRoute.


Table des matières


Fins de chat

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
}

En-têtes personnalisés

En-tête Itinéraire Descriptif
X-OmniRoute-No-Cache Demande Défini sur true pour contourner le cache
X-OmniRoute-Progress Demande Défini sur true pour les événements de progression
Idempotency-Key Demande Clé de déduplication (fenêtre 5s)
X-Request-Id Demande Clé de déduplication alternative
X-OmniRoute-Cache Réponse HIT ou MISS (sans streaming)
X-OmniRoute-Idempotent Réponse true si dédupliqué
X-OmniRoute-Progress Réponse enabled si le suivi des progrès est activé

Intégrations

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

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

Fournisseurs disponibles : Nebius, OpenAI, Mistral, Together AI, Fireworks, NVIDIA.

# List all embedding models
GET /v1/embeddings

Génération d'images

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"
}

Fournisseurs disponibles : OpenAI (DALL-E), xAI (Grok Image), Together AI (FLUX), Fireworks AI.

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

Liste des modèles

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

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

Points de terminaison de compatibilité

Méthode Chemin Formater
POSTER /v1/chat/completions OpenAI
POSTER /v1/messages Anthropique
POSTER /v1/responses Réponses OpenAI
POSTER /v1/embeddings OpenAI
POSTER /v1/images/generations OpenAI
OBTENIR /v1/models OpenAI
POSTER /v1/messages/count_tokens Anthropique
OBTENIR /v1beta/models Gémeaux
POSTER /v1beta/models/{...path} Gémeaux générer du contenu
POSTER /v1/api/chat Ollama

Itinéraires de fournisseurs dédiés

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

Le préfixe du fournisseur est ajouté automatiquement s'il est manquant. Les modèles incompatibles renvoient 400.


Cache sémantique

# Get cache stats
GET /api/cache

# Clear all caches
DELETE /api/cache

Exemple de réponse :

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

Tableau de bord et gestion

Authentification

Point de terminaison Méthode Descriptif
/api/auth/login POSTER Connexion
/api/auth/logout POSTER Déconnexion
/api/settings/require-login OBTENIR/METTRE Basculer la connexion requise

Gestion des fournisseurs

Point de terminaison Méthode Descriptif
/api/providers OBTENIR/POST Lister/créer des prestataires
/api/providers/[id] OBTENIR/METTRE/SUPPRIMER Gérer un fournisseur
/api/providers/[id]/test POSTER Connexion du fournisseur de test
/api/providers/[id]/models OBTENIR Liste des modèles de fournisseurs
/api/providers/validate POSTER Valider la configuration du fournisseur
/api/provider-nodes* Divers Gestion des nœuds de fournisseur
/api/provider-models OBTENIR/POST/DELETE Modèles personnalisés

Flux OAuth

Point de terminaison Méthode Descriptif
/api/oauth/[provider]/[action] Divers OAuth spécifique au fournisseur

Routage et configuration

Point de terminaison Méthode Descriptif
/api/models/alias OBTENIR/POST Alias ​​du modèle
/api/models/catalog OBTENIR Tous les modèles par fournisseur + type
/api/combos* Divers Gestion des combos
/api/keys* Divers Gestion des clés API
/api/pricing OBTENIR Tarification du modèle

Utilisation et analyses

Point de terminaison Méthode Descriptif
/api/usage/history OBTENIR Historique d'utilisation
/api/usage/logs OBTENIR Journaux d'utilisation
/api/usage/request-logs OBTENIR Journaux au niveau de la demande
/api/usage/[connectionId] OBTENIR Utilisation par connexion

Paramètres

Point de terminaison Méthode Descriptif
/api/settings OBTENIR/METTRE Paramètres généraux
/api/settings/proxy OBTENIR/METTRE Configuration du proxy réseau
/api/settings/proxy/test POSTER Tester la connexion proxy
/api/settings/ip-filter OBTENIR/METTRE Liste d'autorisation/liste de blocage IP
/api/settings/thinking-budget OBTENIR/METTRE Budget symbolique de raisonnement
/api/settings/system-prompt OBTENIR/METTRE Invite système globale

Surveillance

Point de terminaison Méthode Descriptif
/api/sessions OBTENIR Suivi de session active
/api/rate-limits OBTENIR Limites de taux par compte
/api/monitoring/health OBTENIR Bilan de santé
/api/cache OBTENIR/SUPPRIMER Statistiques du cache / effacer

Sauvegarde et exportation/importation

Point de terminaison Méthode Descriptif
/api/db-backups OBTENIR Liste des sauvegardes disponibles
/api/db-backups METTRE Créer une sauvegarde manuelle
/api/db-backups POSTER Restaurer à partir d'une sauvegarde spécifique
/api/db-backups/export OBTENIR Télécharger la base de données sous forme de fichier .sqlite
/api/db-backups/import POSTER Téléchargez le fichier .sqlite pour remplacer la base de données
/api/db-backups/exportAll OBTENIR Télécharger la sauvegarde complète sous forme d'archive .tar.gz

Synchronisation avec le cloud

Point de terminaison Méthode Descriptif
/api/sync/cloud Divers Opérations de synchronisation cloud
/api/sync/initialize POSTER Initialiser la synchronisation
/api/cloud/* Divers Gestion du cloud

Outils CLI

Point de terminaison Méthode Descriptif
/api/cli-tools/claude-settings OBTENIR Statut CLI de Claude
/api/cli-tools/codex-settings OBTENIR Statut CLI du Codex
/api/cli-tools/droid-settings OBTENIR Statut de la CLI du droïde
/api/cli-tools/openclaw-settings OBTENIR Statut de la CLI OpenClaw
/api/cli-tools/runtime/[toolId] OBTENIR Exécution CLI générique

Les réponses CLI incluent : installed, runnable, command, commandPath, runtimeMode, reason.

Résilience et limites de taux

Point de terminaison Méthode Descriptif
/api/resilience OBTENIR/METTRE Obtenir/mettre à jour les profils de résilience
/api/resilience/reset POSTER Réinitialiser les disjoncteurs
/api/rate-limits OBTENIR Statut de limite de débit par compte
/api/rate-limit OBTENIR Configuration de la limite de débit globale

Évaluations

Point de terminaison Méthode Descriptif
/api/evals OBTENIR/POST Répertorier les suites d'évaluation/exécuter l'évaluation

Politiques

Point de terminaison Méthode Descriptif
/api/policies OBTENIR/POST/DELETE Gérer les politiques de routage

Conformité

Point de terminaison Méthode Descriptif
/api/compliance/audit-log OBTENIR Journal d'audit de conformité (dernier N)

v1beta (compatible Gemini)

Point de terminaison Méthode Descriptif
/v1beta/models OBTENIR Liste des modèles au format Gemini
/v1beta/models/{...path} POSTER Point de terminaison Gemini generateContent

Ces points de terminaison reflètent le format API de Gemini pour les clients qui attendent une compatibilité native avec le SDK Gemini.

API internes/système

Point de terminaison Méthode Descriptif
/api/init OBTENIR Vérification de l'initialisation de l'application (utilisée lors de la première exécution)
/api/tags OBTENIR Balises de modèle compatibles Ollama (pour les clients Ollama)
/api/restart POSTER Déclencher un redémarrage progressif du serveur
/api/shutdown POSTER Déclencher l'arrêt progressif du serveur

Remarque : Ces points de terminaison sont utilisés en interne par le système ou pour la compatibilité du client Ollama. Ils ne sont généralement pas appelés par les utilisateurs finaux.


Transcription audio

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

Transcrivez des fichiers audio à l'aide de Deepgram ou AssemblyAI.

Demande :

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

Réponse :

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

Fournisseurs pris en charge : deepgram/nova-3, assemblyai/best.

Formats pris en charge : mp3, wav, m4a, flac, ogg, webm.


Compatibilité Ollama

Pour les clients qui utilisent le format API d'Ollama :

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

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

Les demandes sont automatiquement traduites entre Ollama et les formats internes.


Télémétrie

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

Réponse :

{
  "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"
}

Disponibilité du modèle

# 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"
}

Traitement des demandes

  1. Le client envoie la demande à /v1/*
  2. Le gestionnaire de route appelle handleChat, handleEmbedding, handleAudioTranscription ou handleImageGeneration
  3. Le modèle est résolu (fournisseur/modèle direct ou alias/combo)
  4. Informations d'identification sélectionnées dans la base de données locale avec filtrage de la disponibilité des comptes
  5. Pour le chat : handleChatCore — détection de format, traduction, vérification du cache, vérification de l'idempotence
  6. L'exécuteur du fournisseur envoie une requête en amont
  7. Réponse traduite au format client (chat) ou renvoyée telle quelle (intégrations/images/audio)
  8. Utilisation/journalisation enregistrée
  9. Le repli s'applique aux erreurs selon les règles de combo

Référence complète de l'architecture : link


Authentification

  • Les itinéraires du tableau de bord (/dashboard/*) utilisent le cookie auth_token
  • La connexion utilise le hachage du mot de passe enregistré ; retour à INITIAL_PASSWORD
  • requireLogin basculable via /api/settings/require-login
  • Les routes /v1/* nécessitent éventuellement une clé API Bearer lorsque REQUIRE_API_KEY=true