1,104 mirrors rewritten over five passes of run-translation on the 22-source core set: the 14 sources edited since their translation, the 322 mirrors that were still English copies, and the frontmatter the old extractor leaked into the newer locales' bodies. The pipeline now caches per-`## `-section hashes and retranslates only changed sections, never reuses a section that is still English, rebuilds English-copy / leaked mirrors even when the source is unchanged, merges the state on save (parallel runs), and the drift gate (scoped to the core set) is blocking. Final audit: 0 stale, 0 English copies, 0 leaked frontmatter across 1,430 core mirrors. ⚠️ base-red inherited: #12732
124 KiB
API Reference (Igbo)
🌐 Languages: 🇺🇸 English · 🇪🇹 am · 🇸🇦 ar · 🇦🇿 az · 🇧🇬 bg · 🇧🇩 bn · 🇨🇿 cs · 🇩🇰 da · 🇩🇪 de · 🇬🇷 el · 🇪🇸 es · 🇪🇪 et · 🇮🇷 fa · 🇫🇮 fi · 🇫🇷 fr · 🇮🇪 ga · 🇮🇳 gu · 🇳🇬 ha · 🇮🇱 he · 🇮🇳 hi · 🇭🇷 hr · 🇭🇺 hu · 🇦🇲 hy · 🇮🇩 id · 🇮🇹 it · 🇯🇵 ja · 🇬🇪 ka · 🇰🇭 km · 🇮🇳 kn · 🇰🇷 ko · 🇱🇹 lt · 🇱🇻 lv · 🇮🇳 ml · 🇮🇳 mr · 🇲🇾 ms · 🇲🇹 mt · 🇲🇲 my · 🇳🇵 ne · 🇳🇱 nl · 🇳🇴 no · 🇮🇳 or · 🇮🇳 pa · 🇵🇭 phi · 🇵🇱 pl · 🇵🇹 pt · 🇧🇷 pt-BR · 🇷🇴 ro · 🇷🇺 ru · 🇱🇰 si · 🇸🇰 sk · 🇸🇮 sl · 🇷🇸 sr · 🇸🇪 sv · 🇰🇪 sw · 🇮🇳 ta · 🇮🇳 te · 🇹🇭 th · 🇹🇷 tr · 🇺🇦 uk-UA · 🇵🇰 ur · 🇺🇿 uz · 🇻🇳 vi · 🇳🇬 yo · 🇨🇳 zh-CN · 🇹🇼 zh-TW
🌐 Asụsụ: 🇺🇸 English | 🇪🇹 አማርኛ | 🇸🇦 العربية | 🇦🇿 Azərbaycan dili | 🇧🇬 Български | 🇧🇩 বাংলা | 🇨🇿 Čeština | 🇩🇰 Dansk | 🇩🇪 Deutsch | 🇬🇷 Ελληνικά | 🇪🇸 Español | 🇪🇪 Eesti | 🇮🇷 فارسی | 🇫🇮 Suomi | 🇫🇷 Français | 🇮🇪 Gaeilge | 🇮🇳 ગુજરાતી | 🇳🇬 Hausa | 🇮🇱 עברית | 🇮🇳 हिन्दी | 🇭🇷 Hrvatski | 🇭🇺 Magyar | 🇦🇲 Հայերեն | 🇮🇩 Bahasa Indonesia | 🇳🇬 Igbo | 🇮🇹 Italiano | 🇯🇵 日本語 | 🇬🇪 ქართული | 🇰🇭 ខ្មែរ | 🇮🇳 ಕನ್ನಡ | 🇰🇷 한국어 | 🇱🇹 Lietuvių | 🇱🇻 Latviešu | 🇮🇳 മലയാളം | 🇮🇳 मराठी | 🇲🇾 Bahasa Melayu | 🇲🇹 Malti | 🇲🇲 မြန်မာ | 🇳🇵 नेपाली | 🇳🇱 Nederlands | 🇳🇴 Norsk | 🇮🇳 ଓଡ଼ିଆ | 🇮🇳 ਪੰਜਾਬੀ | 🇵🇭 Filipino | 🇵🇱 Polski | 🇵🇹 Português (Portugal) | 🇧🇷 Português (Brasil) | 🇷🇴 Română | 🇷🇺 Русский | 🇱🇰 සිංහල | 🇸🇰 Slovenčina | 🇸🇮 Slovenščina | 🇷🇸 Српски | 🇸🇪 Svenska | 🇰🇪 Kiswahili | 🇮🇳 தமிழ் | 🇮🇳 తెలుగు | 🇹🇭 ไทย | 🇹🇷 Türkçe | 🇺🇦 Українська | 🇵🇰 اردو | 🇺🇿 Oʻzbekcha | 🇻🇳 Tiếng Việt | 🇳🇬 Yorùbá | 🇨🇳 中文 (简体) | 🇹🇼 中文 (繁體)
Ntụaka bụ isi maka OmniRoute API. Ọ na-ekpuchi ihu ọha /v1 na endpoint nchịkwa ndị a na-ejikarị eme ihe; docs/openapi.yaml nke igwe nwere ike ịgụ na osisi route dị n'okpuru src/app/api/ bụ isi mmalite zuru ezu.
Ndepụta Ihe Dị N'ime
- Mmecha Mkparịtaụka
- Mgbazinye Oge Nnọkọ A Na-achịkwa Nanị Ya
- Embeddings
- Imepụta Onyonyo
- OCR Akwụkwọ
- Ndepụta Ụdị
- Manifest Ngwa Mgbakwunye Onye Na-eweta Ọrụ
- Ebe Njikọ Ndakọrịta
- API Faịlụ
- API Batches
- API Ọchụchọ
- Mgbasa WebSocket
- Kwọta & Ịkọ Nsogbu
- Cache Semantic
- Dashboard & Nchịkwa
- Nchịkwa Combo
- Webhooks
- Igodo E Debanyere Aha (Nchịkwa Akpaaka)
- Protocol Ndị Agent
- Proxies Nchịkwa
- Ike Iguzogide Nsogbu (gbasawanyere)
- Nkà
- Ebe Ncheta
- Sava MCP
- Sava A2A
- Cloud, Evals & Assess
- Nhazi Arịrịọ
- Nyocha Njirimara
Mmecha Mkparịtaụka
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
}
Headers Ahaziri Ahazi
| Header | Ntụziaka | Nkọwa |
|---|---|---|
X-OmniRoute-No-Cache |
Arịrịọ | Tọọ ya ka ọ bụrụ true iji gafere cache |
x-omniroute-no-memory |
Arịrịọ | Tọọ ya ka ọ bụrụ true iji kwụsị itinye ebe ncheta + nkà maka arịrịọ a (ọ na-eme ka no-cache; ọ na-ezere mgbakwunye token/ọnụahịa nke oku ọ bụla) |
X-OmniRoute-Progress |
Arịrịọ | Tọọ ya ka ọ bụrụ true maka mmemme ọganihu |
X-Session-Id |
Arịrịọ | Igodo nnọkọ na-adịgide maka njikọ nnọkọ mpụga |
x_session_id |
Arịrịọ | A na-anabatakwa ụdị nwere akara underscore (HTTP ozugbo) |
X-OmniRoute-Session-Id |
Arịrịọ | Akara nnọkọ/mkparịtaụka onye na-akpọ nyere (ọ na-enyekwa ebe ncheta ozi). Mgbe ọ dị, a na-echekwa ya kpọmkwem na call_logs.session_tag maka ịkọ ọnụahịa n'otu nnọkọ (#8249) — anaghị emepụta ya mgbe ọ na-adịghị |
Idempotency-Key |
Arịrịọ | Igodo iwepụ oyiri (oghere oge 5s) |
X-Request-Id |
Arịrịọ | Igodo iwepụ oyiri ọzọ |
X-OmniRoute-Cache |
Nzaghachi | HIT ma ọ bụ MISS (na-enweghị mgbasa) |
X-OmniRoute-Idempotent |
Nzaghachi | true ma ọ bụrụ na ewepụla oyiri |
X-OmniRoute-Progress |
Nzaghachi | enabled ma ọ bụrụ na agbanyere nsuso ọganihu |
X-OmniRoute-Session-Id |
Nzaghachi | ID nnọkọ dị irè nke OmniRoute ji mee ihe |
X-OmniRoute-Request-Id |
Nzaghachi | ID njikọ arịrịọ (mgbe a maara ya) |
X-OmniRoute-Version |
Nzaghachi | Ụdị build OmniRoute (ọ na-adị mgbe niile) |
X-OmniRoute-Cost-Saved |
Nzaghachi | USD nke cache zere na HIT (naanị cache hits) |
X-OmniRoute-Decision |
Nzaghachi | Ndekọ ụzọ: strategy=<name>; provider=<alias>; latency_ms=<n> (<name> bụ atụmatụ combo, ma ọ bụ single maka arịrịọ na-abụghị combo) — ọ na-adị mgbe niile na nzaghachi mmecha |
Ndetu Nginx: ọ bụrụ na ị dabere na headers nwere akara underscore (dịka ọmụmaatụ
x_session_id), gbanyeunderscores_in_headers on;.
Nkụnye-isi telemetrị ọnụahịa: nzaghachi ihe ịga nke ọma na-abụghị streaming na-ebukwa nchịkọta telemetrị ọnụahịa
X-OmniRoute-*—X-OmniRoute-Response-Cost(USD, ọnụọgụ ntụpọ 10 kwụ ọtọ;0.0000000000maka nke efu/nke a na-enyeghị ọnụahịa),X-OmniRoute-Tokens-In/X-OmniRoute-Tokens-Out,X-OmniRoute-Model,X-OmniRoute-Provider,X-OmniRoute-Latency-Ms,X-OmniRoute-Cache-Hit, naX-OmniRoute-Fallback-Attempts(naanị mgbe > 0), tinyereX-OmniRoute-Request-IdnaX-OmniRoute-Version. Chat completions,/v1/responses,/v1/messages, yana endpoints mgbasa ozi na-ewepụta ha —/v1/embeddings,/v1/images/generations,/v1/audio/speech,/v1/audio/transcriptions,/v1/rerank,/v1/videos/generations,/v1/music/generations, na/v1/moderations(ọnụahịa ya bụ0mgbe niile). A na-agbakọ ọnụahịa mgbasa ozi dabere n'ụdị modality ọ bụla (kwa onyonyo, kwa sekọnd, kwa mkpụrụedemede, kwa nkeji ọchụchọ) mgbe ọnụahịa dị; ma ọ bụghị ya, ọ bụ0(fail-open).
Nkọwa ọnụahịa cache-hit: mgbe semantic-cache bụ HIT (
X-OmniRoute-Cache-Hit: true), a naghị akpọ upstream, ya mereX-OmniRoute-Response-Costbụ0.0000000000(ọnụahịa mgbakwunye nke izipu hit ahụ). A na-akọ ọnụahịa mbụ/ọnụahịa ọ gaara abụ iche naX-OmniRoute-Cost-Saved. Ndị na-eji data ịgba ụgwọ kwesịrị ịchịkọtaX-OmniRoute-Response-Cost(hits anaghị efu ego); nyocha cache nwere ike ịchịkọtaX-OmniRoute-Cost-Saved.
Mgbazinye Oge Nnọkọ A Na-achịkwa Nanị Ya
Mgbazinye oge nnọkọ a na-achịkwa nanị ya bụ nkwekọrịta nhazi ụzọ nke onye ahịa ọ bụla nwere ike iji ma ọ bụrụ na ọ họrọ: otu onye nwe na-arụ ọrụ na-ejide otu njikọ OmniRoute tozuru etozu. Ọ naghị agbazinye model, achọ OAuth, mata otu onye ahịa kpọmkwem, ma ọ bụ chọọ otu provider kpọmkwem.
API key a na-eji eme nkwenye njirimara ga-enwerịrị scope lease:exclusive na ndepụta
allowedConnections doro anya nke na-abụghị efu. Ókè mgbanwe database na-amanye ka e nwee field abụọ ahụ ọnụ mgbe a na-emepụta key
na mgbe a na-eme mmelite akụkụ ụfọdụ.
POST /api/v1/session-leases
Authorization: Bearer <managed-api-key>
Content-Type: application/json
X-OmniRoute-Lease-Owner: vlo_<43-base64url-characters>
{"action":"acquire","model":"glm/glm-4.6"}
Nzaghachi acquire, renew, na release gara nke ọma na-egosipụta timestamp, state, na
generation ziri ezi nke dị mma, mana ha anaghị egosi njikọ ahọpụtara ma ọ bụ credentials. Renew na release na-enye
generation n'ime JSON body:
{ "action": "renew", "generation": 1 }
{ "action": "release", "generation": 1, "reason": "OWNER_EXIT" }
Onye nwe lease na-arụ ọrụ nwere ike ịrịọ metadata ngosipụta na-echekwa nzuzo n'ụzọ doro anya maka binding ya dị ugbu a:
{ "action": "status", "generation": 1 }
{
"state": "ACTIVE",
"generation": 1,
"acquiredAt": "2026-08-28T12:00:00.000Z",
"renewedAt": "2026-08-28T12:00:30.000Z",
"expiresAt": "2026-08-28T12:02:30.000Z",
"connection": {
"displayName": "Primary Codex",
"provider": "codex"
}
}
A na-echebe action status a a na-ahọrọ iji site n'aka owner na-enweghị nkọwa, managed API key e mere nkwenye njirimara ya, na
generation na-arụ ọrụ ziri ezi n'ime otu transaction database. displayName bụ naanị aha
njikọ ahaziri nke ewepụrụ oghere ndị dị na nsọtụ ya; ọ bụ null mgbe enweghị aha ahaziri dị nchebe.
OmniRoute anaghị eji email ma ọ bụ njirimara account emepụtara dochie ya. Uru provider bụ label ngosipụta na-enweghị
ozi nzuzo, ọ bụghịkwa identifier compatible-provider emepụtara. A naghị etinye credentials, tokens, cookies, raw connection ma ọ bụ
API key ids, owner hashes, fencing secrets, na data nhazi ụzọ dị n'ime.
Nchọpụta jiri key na-ezighi ezi, owner na-ezighi ezi, generation ochie, ihe na-efu, nke kubigara oge, nke a tọhapụrụ, na nke a kagburu
na-eweghachi otu error 409 LEASE_FENCE_STALE ahụ na-enweghị metadata njikọ. Onye ahịa natara nzaghachi ichere capacity enweghị binding na-arụ ọrụ ọ ga-enyocha. Mgbe routing na-ebufe lease na-arụ ọrụ,
otu generation ahụ ka na-adị ire, status na-eweghachikwa binding ọhụrụ ahụ n'otu atomic operation, ọ bụghị nke ochie.
Ndị ahịa dị ugbu a anaghị agbanwe n'ihi na nzaghachi acquire, renew, release, na waiting na-ejigide
usoro ha gara aga.
Nkwekọrịta server a anaghị agbanwe stock OpenAI Codex /status. Ugbu a, stock Codex na-akọ
model provider ya na ọnọdụ authentication/account arụnyere n'ime ya, mana ọ naghị egosipụta metadata
account provider omenala ọ bụla; njikọta client ga-eme n'ọdịnihu ga-akpọ action a ma kpebie otu esi
egosipụta connection.displayName.
Arịrịọ managed inference ọ bụla ga-enyezi control header abụọ ahụ:
X-OmniRoute-Lease-Owner: vlo_<43-base64url-characters>
X-OmniRoute-Lease-Generation: 1
A na-echebe owner ziri ezi, generation, njikọ na-arụ ọrụ, na API key e mere nkwenye njirimara ya ozugbo tupu mbọ upstream ọ bụla akwadoro. Iji key ọzọ kpọgharịa owner na generation ga-ada ọbụna mgbe key ahụ nyere ikike iji otu njikọ ahụ. A naghị echekwa raw owners, edekọ ha na log, debe ha n'ime request snapshot, ma ọ bụ zipụ ha upstream.
Asọmpi nwa oge na-eweghachi HTTP 429 ya na Retry-After na:
{
"state": "WAITING_FOR_CAPACITY",
"error": { "type": "lease_error", "code": "LEASE_CAPACITY_UNAVAILABLE" },
"reason": "NO_FREE_ELIGIBLE_CONNECTION",
"retryAfter": 30
}
Nzaghachi a pụtara naanị na ordinary eligible set abụghị efu nakwa na lease na-arụ ọrụ nke onye ọzọ jidere candidate niile nwere onwe ha. Model/provider anaghị akwado, policy mismatch, cooldown, quota, health, na ọdịda eligibility ndị ọzọ a na-ahụkarị na-ejigide nzaghachi OmniRoute ha dị ugbu a.
x-omniroute-compression
Override nke compression plan maka arịrịọ ọ bụla. Ọ nwere precedence kachasị elu — ọ na-emeri override routing-combo, active profile, auto-trigger, na Default nke panel. Uru:
| Uru | Mmetụta |
|---|---|
off |
Enweghị compression maka arịrịọ a. |
default |
Default profile sitere na panel (ọ na-eleghara active profile anya). |
engine:<id> |
Otu engine mgbe enyere ya ikike, dịka engine:rtk. |
<combo> |
Combo nwere aha, nke a ga-ebu ụzọ dakọtara site n'aha (na-eleghara nnukwu ma ọ bụ obere mkpụrụedemede anya), emesịa site na id. |
Ndetu:
- A na-eleghara uru amaghi anya (a naghị ajụ arịrịọ ahụ); resolution na-aga n'ihu ruo na usoro precedence nkịtị.
- Ọ bụrụ na ọtụtụ combo nwere otu aha, nyefee id nke combo ka matching wee bụrụ nke a pụrụ ikpebi otu ụzọ.
- Enweghị ike ịhọrọ combo aha ya bụ
offma ọ bụdefaultsite n'aha (a na-akọwa keyword ndị ahụ mbụ); jiri id ya rụtụ aka na combo dị otu ahụ. - Master compression switch bụ hard gate: mgbe agbanyụrụ compression n'ụwa niile, header a enweghị ike ịgbanye ya.
A na-ezipụ plan etinyere azụ n'ime response header:
X-OmniRoute-Compression: <mode>; source=<source>
ebe <source> bụ otu n'ime request-header, routing-override, active-profile, auto-trigger, default, ma ọ bụ off.
Embeddings
POST /v1/embeddings
Authorization: Bearer your-api-key
Content-Type: application/json
{
"model": "nebius/Qwen/Qwen3-Embedding-8B",
"input": "The food was delicious"
}
Ndị na-eweta ọrụ dị: Nebius, OpenAI, Mistral, Together AI, Fireworks, NVIDIA, OpenRouter, Jina AI.
NJ katalọgụ bụ provider/model (ọmụmaatụ: jina-ai/jina-embeddings-v5-omni-small). NJ ụdị Jina na-enweghị aha onye na-eweta ọrụ nke pụtara na ndekọ ahụ (dịka ọmụmaatụ jina-embeddings-v5-text-small, jina-reranker-v3.5) na-arụkwa ọrụ. Ọrụ embed/rerank/classify/segment nke Jina na-ebu ụzọ jiri nzere jina-ai dị na dashboard; a na-eji JINA_AI_API_KEY naanị dịka nhọrọ ndabere mgbe enweghị igodo dashboard. Kaadị jina-reader bụ naanị maka Reader / r.jina.ai (POST /v1/web/fetch), ọ naghị enye embeddings ma ọ bụ rerank ma ọlị.
Ụdị ndị dị na ndekọ nke na-egosi na ha na-akwado multimodal na-anabatakwa ihe ahaziri n'ụdị data na-anọpụ iche n'ebe onye na-eweta ọrụ nọ, ruo ihe 32.
Ụdị ihe mgbasa ozi bụ text, image, audio, video, na document. source nke mgbasa ozi ha
bụ ma ọ bụ {"type":"url","url":"https://..."} ma ọ bụ
{"type":"base64","data":"...","media_type":"..."}.
Jina v5 Omni (jina-ai/jina-embeddings-v5-omni-small, jina-ai/jina-embeddings-v5-omni-nano,
na aha nnọchi anya ezinụlọ jina-ai/jina-embeddings-v5-omni → omni-small) na-anabatakwa docs EmbeddingsV5Request nke Jina
ma na-ebufe ha dịka ha dị gaa na https://api.jina.ai/v1/embeddings:
{
"model": "jina-ai/jina-embeddings-v5-omni-small",
"task": "retrieval.query",
"normalized": true,
"input": [
{ "text": "a red bicycle" },
{ "image": "https://example.com/bike.png" },
{
"content": [{ "text": "caption" }, { "image": "data:image/png;base64,..." }]
}
]
}
Ụkpụrụ { image | audio | video | pdf } nke Jina nwere ike ịbụ URL HTTPS ọha, URI data:, ma ọ bụ raw
base64. OmniRoute anaghị atụgharị objects ndị ahụ ka ha bụrụ string ma ọ bụ budata URL onyonyo native — Jina n'onwe ya na-ewepụta
mgbasa ozi ọha. A na-ebufe fields Jina ndị ọzọ (task, normalized, truncate, embedding_type).
SKU Jina ndị bụ naanị ederede ka na-ajụ docs na-abụghị ederede.
Oke nchekwa na mbufe:
- URL mgbasa ozi dị n'ebe dị anya ga-abụrịrị HTTPS ọha. A na-ebudata ihe Canonical
{type,source:url}n'akụkụ server (nyochaghachi redirect, timeout, oke nha, DNS ọha, na connection pinning), tinye ha n'ime arịrịọ tupu oku onye na-eweta ọrụ. A na-ebufe ihe Jina-native{image:"https://..."}dịka ha dị mgbe e mechara otu nyocha HTTPS ọha ahụ; Jina na-ebudata URL ahụ. - Mgbasa ozi base64 etinyere n'ime arịrịọ nwere oke 8 MiB mgbe e decoded ihe ọ bụla, yana 16 MiB mgbe e decoded ihe niile dị n'arịrịọ ahụ.
Ntughari maka onye na-eweta ọrụ (anaghị ebufe ihe canonical dịka ha dị):
- Ụdị Jina multimodal: ihe ọ bụla dị n'ọkwa kachasị elu na-aghọ otu object nwere igodo modality
(
text/image/audio/video/pdf), na-eji data URI maka mgbasa ozi inline; otu vector maka ihe ọ bụla dị n'ọkwa kachasị elu. - Ezinụlọ Gemini Embedding 2: otu array dị n'ọkwa kachasị elu na-aghọ otu arịrịọ native
models/{model}:embedContentnwerecontent.parts(textma ọ bụinline_data). - Ụdị amaghi ama/dynamic na-enweghị metadata modality doro anya na-ajụ structured input site na HTTP 400.
{
"model": "jina-ai/jina-embeddings-v5-omni-small",
"input": [
{ "type": "text", "text": "A red bicycle" },
{
"type": "image",
"source": { "type": "url", "url": "https://example.com/bicycle.png" }
}
],
"dimensions": 512,
"encoding_format": "float"
}
Ngwakọta model/modality ndị anaghị akwado na-eweghachi HTTP 400 kama ịmanye mgbanwe n'ihe ahụ. Fields mgbakwunye ndị na-abụghị input na arịrịọ string/token ochie ka na-agafe dịka ha dị.
# Depụta ụdị embedding niile
GET /v1/embeddings
Mmepụta Onyonyo
POST /v1/images/generations
Authorization: Bearer your-api-key
Content-Type: application/json
{
"model": "openai/gpt-image-2",
"prompt": "A beautiful sunset over mountains",
"size": "1024x1024"
}
Ndị na-eweta ọrụ dị: OpenAI (GPT Image 2), xAI (Grok Image), Together AI (FLUX), Fireworks AI, Nebius (FLUX), Hyperbolic, NanoBanana, OpenRouter, SD WebUI (nke mpaghara), ComfyUI (nke mpaghara).
# Depụta ụdị onyonyo niile
GET /v1/images/generations
OCR Akwụkwọ
POST /v1/ocr
Authorization: Bearer your-api-key
Content-Type: application/json
{
"model": "mistral/mistral-ocr-latest",
"document": {
"type": "document_url",
"document_url": "https://example.com/invoice.pdf"
}
}
model na-ahọrọ onye na-eweta OCR site na mbido provider/model; id ụdị nke kwụụrụ onwe ya (dịka
mistral-ocr-latest) na-ejikọta na onye na-eweta ya e debanyere aha, ma ọ bụrụ na ahapụrụ model, ndabara ya bụ
Mistral (mistral-ocr-latest). Ndị na-eweta e debanyere aha (open-sse/config/ocrRegistry.ts):
| Id onye na-eweta | Id ụdị | Uru model |
Nkọwa |
|---|---|---|---|
mistral |
mistral-ocr-latest |
mistral/mistral-ocr-latest (ma ọ bụ naanị mistral-ocr-latest) |
Mekọrịta ozugbo — a na-eweghachi nzaghachi ozugbo site n'otu oku upstream ahụ. |
azure-document-intelligence |
prebuilt-read |
azure-document-intelligence/prebuilt-read |
Upstream anaghị arụkọ ọrụ ozugbo (analyze + nyocha ugboro ugboro) — lee n'okpuru. |
vertex-deepseek-ocr |
deepseek-ocr-maas |
vertex-deepseek-ocr/deepseek-ocr-maas |
Mekọrịta ozugbo, site na endpoint onye mmekọ openapi/chat/completions nke Vertex AI — lee n'okpuru maka nyocha ikike/URL. |
Ndị na-eweta ọrụ atọ ahụ niile na-azaghachi n'ime body nwere nhazi Mistral yiri ibe ha:
{
"pages": [{ "index": 0, "markdown": "# Extracted text..." }],
"model": "mistral-ocr-latest",
"usage_info": { "pages_processed": 1 }
}
Usoro nyocha ugboro ugboro nke Azure Document Intelligence
API analyze nke Azure Document Intelligence anaghị arụkọ ọrụ ozugbo: arịrịọ mbụ na-eweghachi
header Operation-Location kama body, a ga-enyochakwa nsonaazụ ya ugboro ugboro. Handler ahụ
(open-sse/handlers/ocr.ts) na-enyocha URL ahụ kwa sekọnd ruo mbọ 30, kwụsị ozugbo (ọ
gaghị anọgide na-enyocha) ma ọ bụrụ na nzaghachi nyocha abụghị ok ma ọ bụ ọkwa bụ "failed", ma na-eweghachi 504 ma ọ bụrụ na
ọrụ ahụ ka na-aga n'ihu mgbe ọnụọgụ mbọ e nyere gwụsịrị. A na-ahazi nzaghachi ikpeazụ nke Azure
ka ọ bụrụ otu nhazi pages/markdown nke Mistral na-eji tupu e weghachiri ya nye
onye kpọrọ ya, ya mere koodu client agaghị achọ ijikwa onye na-eweta ọrụ ahụ n'ụzọ pụrụ iche.
Nnyocha ikike na mkpebi endpoint nke Vertex AI DeepSeek OCR
vertex-deepseek-ocr na-eji otu nyocha ikike Vertex AI ahụ OmniRoute kwadoro ugbua maka
okporo ụzọ chat/onyonyo (open-sse/executors/vertex.ts): API key nke njikọ ahụ bụ ma
credential JSON nke Service Account (nke a gbanwere ka ọ bụrụ token nnweta OAuth dị mkpụmkpụ site na usoro JWT-bearer)
ma ọ bụ token nnweta OAuth emepụtarala nke a na-eji dịka ọ dị. URL endpoint upstream bụ endpoint
onye mmekọ openapi/chat/completions izugbe nke Vertex, nke e ji project na
region nke njikọ ahụ wuo — providerSpecificData.project/providerSpecificData.region e kọwara kpọmkwem na-ebute ụzọ mgbe niile;
ma ọ bụghị ya, a na-enweta project site na project_id dị na JSON nke Service Account, ebe region
na-eji us-central1 dịka ndabara. Mkpebi abụọ ahụ na-eme na open-sse/handlers/ocr.ts
(resolveVertexOcrAccessToken, resolveVertexOcrBaseUrl), nke
src/app/api/v1/ocr/route.ts na-eji tupu iziga ya na handleOcr.
Depụta Ụdịdị
GET /v1/models
Authorization: Bearer your-api-key
→ Ọ na-eweghachi ụdịdị nkata, embedding, na onyonyo niile + ngwakọta ha n'ụdị OpenAI
Nganiihu id ụdịdị (?prefix=)
A na-egosipụta ọtụtụ ụdịdị n'okpuru nganiihu onye na-eweta ọrụ. Ọkọlọtọ atụmatụ MODELS_CATALOG_PREFIX_MODE na-achịkwa nganiihu ị ga-enweta, ma enwere ike iji query parameter dochie ya maka arịrịọ ọ bụla — nke a bara uru maka client chọrọ ndepụta dị ọcha n'agbanweghị ntọala sava niile maka ndị ọzọ:
GET /v1/models?prefix=alias # otu id maka ụdịdị ọ bụla — nganiihu alias dị mkpụmkpụ
GET /v1/models?prefix=dual # ụdị abụọ ahụ (ndabara sava)
GET /v1/models?prefix=canonical # naanị nganiihu provider-id zuru ezu
| Ọnọdụ | Ihe ọ na-ewepụta | Nkọwa |
|---|---|---|
dual |
cc/claude-sonnet-4-6 na claude/claude-sonnet-4-6 |
Ndabara. id abụọ ahụ na-eduga n'otu ụdịdị ahụ; e debere ha ka nhazi client ndị tinyere otu n'ime ụdị abụọ ahụ kpọmkwem nọgide na-arụ ọrụ. Ọ fọrọ nke nta ka ọ mụbaa katalọgụ ahụ okpukpu abụọ. |
alias |
cc/claude-sonnet-4-6 |
Otu ntinye maka ụdịdị ọ bụla. Ndị na-eweta ọrụ na-enweghị alias pụrụ iche ka na-ewepụta ntinye ha, ya mere ọ dịghị ihe na-efu. |
canonical |
claude/claude-sonnet-4-6 |
Otu ntinye maka ụdịdị ọ bụla n'okpuru nganiihu provider-id zuru ezu. Ndị na-eweta ọrụ na-enweghị alias pụrụ iche (dịka antigravity/…, agy/…) na-ewepụtakwa naanị id ha ebe a, ya mere ọ dịghị ihe na-efu. |
A pụkwara ịmata mirror nọ n'ọnọdụ dual na-enweghị query parameter: ọ nwere field parent nke na-atụ aka na id bụ isi.
Client ndị na-egosipụta ihe nhọpụta ụdịdị kwesịrị ịrịọ ?prefix=alias — nke a bụ ihe
OmniCopilot VS Code extension na-eme.
Ụdịdị dị iche iche na-enweghị echiche
Maka ụdịdị Claude nwere ikike iche echiche, /v1/models na-egosipụtakwa ụdị na-enweghị echiche nke id ya nwere nganiihu claude-3-omniroute-no-thinking/:
claude-3-omniroute-no-thinking/<provider>/<model>
Ịhọrọ id a (dịka ọmụmaatụ, na nhazi Claude Code nke na-etinye block thinking mgbe niile) na-eme ka ọ laghachi na ezigbo <provider>/<model> ma gbanyụọ ịtụgharị uche — thinking:{type:"disabled"} n'ụzọ /v1/messages, ma ọ bụ iwepụ field reasoning/reasoning_effort n'ụzọ /v1/chat/completions. A na-edepụta ụdị a naanị maka ụdịdị ezinụlọ Claude ndị na-akwado iche echiche ma na-asọpụrụ disabled (ya mere, dịka ọmụmaatụ, a naghị etinye ụdịdị adaptive-only ndị na-ajụ disabled). Ndị na-ahụ maka sistemụ nwere ike ịmanye ụdị a ka ọ dị ma ọ bụ ghara ịdị maka ụdịdị ọ bụla site na ModelSpec.noThinkingAlias.
Manifest Ngwa Mgbakwunye Onye Na-enye Ọrụ
GET /api/v1/provider-plugin-manifest
Ọ na-eweghachi manifest JSON dị nchebe nke ngwa mgbakwunye onye na-enye ọrụ nke Bifrost, CLIProxyAPI, na ndị rawụta sidecar n'ọdịnihu na-eji. A na-emepụta nzaghachi ahụ site na ndekọ ndị na-enye ọrụ TypeScript, ma kpachapụ anya wepụ ihe nzuzo ndị ahịa OAuth, mkpebi gburugburu ebe a na-arụ ọrụ, ọrụ ndị mmezu, nkụnye isi arịrịọ, na data akaụntụ.
Jiri endpoint a mgbe sidecar na-arụ ọrụ n'èzí usoro ma ọ nweghị ike ibubata
open-sse/config/providerPluginManifestRegistry.ts ozugbo.
Endpoint Ndakọrịta
| Usoro | Ụzọ | Ọdịdị |
|---|---|---|
| POST | /v1/chat/completions |
OpenAI |
| POST | /v1/messages |
Anthropic |
| POST | /v1/responses |
OpenAI Responses |
| POST | /v1/embeddings |
OpenAI |
| POST | /v1/images/generations |
OpenAI Images |
| POST | /v1/images/edits |
OpenAI Images (nrụzi/inpaint) |
| POST | /v1/videos/generations |
Mmepụta vidiyo n'ụdị OpenAI |
| POST | /v1/music/generations |
Mmepụta egwu n'ụdị OpenAI |
| POST | /v1/audio/transcriptions |
OpenAI Audio (STT) |
| POST | /v1/audio/speech |
OpenAI TTS (na-eweghachi ahụ ọdịyo) |
| POST | /v1/rerank |
Nhazigharị n'ụdị Cohere/Voyage |
| POST | /v1/classify |
Nkewapụta Jina (api.jina.ai) |
| POST | /v1/segment |
Onye nkewa Jina (segment.jina.ai) |
| POST | /v1/moderations |
OpenAI Moderations |
| 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 |
| GET | /api/v1/vscode/{token}/ |
Aha ọzọ maka katalọgụ OpenAI |
| GET | /api/v1/vscode/{token}/models |
Aha ọzọ maka ụdị OpenAI |
| POST | /api/v1/vscode/{token}/chat/completions |
Aha ọzọ OpenAI nwere token |
| POST | /api/v1/vscode/{token}/responses |
Aha ọzọ OpenAI Responses nwere token |
| POST | /api/v1/vscode/{token}/api/chat |
Aha ọzọ Ollama nwere token |
| GET | /api/v1/vscode/{token}/api/tags |
Aha ọzọ maka mkpado Ollama nwere token |
Ụzọ POST niile na-agbaso otu nhazi: Bearer your-api-key + ahụ JSON nke Zod kwadoro (v1RerankSchema, v1ModerationSchema, v1AudioSpeechSchema, wdg., lee src/shared/validation/schemas.ts). A na-eweghachi 4xx ma ọ bụrụ na nkwado schema ada.
Maka ndị ahịa na-enweghị ike itinye Authorization: Bearer ..., OmniRoute na-anabatakwa igodo API n'ime URL site na ndakọrịta eriri ajụjụ (?token=..., ?apiKey=..., ?api_key=..., ?key=...) ma ọ bụ endpoint /api/v1/vscode/{token}/... ndị akọwapụtara n'okpuru.
# Hazigharịa ọkwa
POST /v1/rerank { "model": "jina-ai/jina-reranker-v3.5", "query": "...", "documents": ["..."] }
# Nkewapụta Jina (nzere Foundation API)
POST /v1/classify { "model": "jina-embeddings-v5-text-small", "input": ["..."], "labels": ["a", "b"] }
# Onye nkewa Jina
POST /v1/segment { "content": "...", "return_chunks": true }
# Ọchụchọ Jina (s.jina.ai; aha ndị ọzọ nke onye na-enye ọrụ: jina-search, jina-ai, jina)
POST /v1/search { "query": "...", "provider": "jina-search" }
# Nlekọta ọdịnaya
POST /v1/moderations { "model": "omni-moderation-latest", "input": "..." }
# TTS — na-eweghachi ahụ audio/mpeg (ma ọ bụ ọdịdị a rịọrọ)
POST /v1/audio/speech { "model": "openai/tts-1", "input": "Hello", "voice": "alloy" }
# Nrụzi onyonyo (multipart)
POST /v1/images/edits -F image=@input.png -F prompt="..." -F mask=@mask.png
# Mmepụta vidiyo / egwu (ID ụdị nwere nganiihu onye na-enye ọrụ)
POST /v1/videos/generations { "model": "runway/gen-3", "prompt": "..." }
POST /v1/music/generations { "model": "suno/v3.5", "prompt": "..." }
Ụzọ Ndị Na-enye Ọrụ Raara Ahụ
POST /v1/providers/{provider}/chat/completions
POST /v1/providers/{provider}/embeddings
POST /v1/providers/{provider}/images/generations
A na-agbakwunye nganiihu onye na-enye ọrụ na-akpaghị aka ma ọ bụrụ na ọ dịghị. Ụdị ndị na-adabaghị na-eweghachi 400.
Files API
Ebe njedebe faịlụ kwekọrọ na OpenAI maka ntinye/mmepụta n'ìgwè na nbugo faịlụ dịka ebumnuche ha si dị.
| Usoro | Ụzọ | Nkọwa |
|---|---|---|
| POST | /v1/files |
Bulite faịlụ (multipart: file, purpose, expires_after[anchor], expires_after[seconds]) — kacha 512 MiB |
| GET | /v1/files |
Depụta faịlụ maka igodo API e ji nyochaa njirimara |
| GET | /v1/files/[id] |
Nweta metadata nke faịlụ |
| DELETE | /v1/files/[id] |
Hichapụ faịlụ |
| GET | /v1/files/[id]/content |
Zighachi ọdịnaya faịlụ ahụ kpọmkwem dịka iyi data |
Nyocha njirimara: Igodo API Bearer — a na-ekewa faịlụ n'ogo igodo API site na getApiKeyRequestScope. Otu igodo
na-ahụ, na-ebudata ma na-ehichapụ naanị faịlụ nke ya; nnọkọ dashboard na-enweghị igodo na-agụ
instance ahụ niile; a na-ajụ onye ọ bụla na-akpọ oku na-abụghị site na nnọkọ ohere ịnweta faịlụ na-enweghị onye nwe ya (nke onye amaghị aha ma ọ bụ nke e bulitere site na nnọkọ dashboard).
GET /v1/files na-ajụ onye na-akpọ oku n'amaghị aha — yana igodo e nyere nke a na-enweghị ike
ịchọpụta — site na 401 ọbụlagodi mgbe REQUIRE_API_KEY=false, kama idepụta faịlụ nke ndị tenant
niile (GHSA-m3hp-hq9g-fpmv, GHSA-2jm2-mpx8-6523).
Batches API
Nhazi batch nke dakọtara na OpenAI.
| Usoro | Ụzọ | Nkọwa |
|---|---|---|
| POST | /v1/batches |
Mepụta batch — a na-eji v1BatchCreateSchema enyocha body (input_file_id, endpoint, completion_window) |
| GET | /v1/batches |
Depụta batches |
| GET | /v1/batches/[id] |
Nweta ọnọdụ batch + request_counts |
| DELETE | /v1/batches/[id] |
Hichapụ batch nke mechara/daa |
| POST | /v1/batches/[id]/cancel |
Kagbuo batch a ka na-ahazi |
Nnyocha ikike: Bearer API key. A na-ekewa batches n’otu API key n’okpuru otu iwu ụzọ atọ ahụ dịka
faịlụ: naanị key nke onye nwe ya, nnọkọ dashboard nwere ikike n’ofe instance niile, a na-ajụkwa onye ọ bụla
na-abụghị onye na-akpọ site na nnọkọ ịnweta ndekọ null-owner (ịnweta, ihichapụ, ịkagbu, yana nyocha input_file_id mgbe a na-emepụta).
GET /v1/batches na-eji 401 ajụ onye na-akpọ na-enweghị njirimara ọbụna mgbe REQUIRE_API_KEY=false.
API Ọchụchọ
Nchịkọta abstraction maka ndị na-eweta ọchụchọ/webụ (Tavily, Brave, Exa, Serper, wdg.).
| Usoro | Ụzọ | Nkọwa |
|---|---|---|
| GET | /v1/search |
Depụta ndị na-eweta ọchụchọ ahaziri + ikike ha |
| POST | /v1/search |
Mee ajụjụ ọchụchọ — v1SearchSchema na-enyocha body, ọ na-akwado caching/coalescing |
| GET | /v1/search/analytics |
Ọnụọgụ hit/latency/cache nke onye na-eweta ọ bụla |
Nyocha njirimara: Bearer API key (extractApiKey + isValidApiKey). A na-amanye iwu ọchụchọ site na enforceApiKeyPolicy.
Web Fetch API
Wepụta ọdịnaya site na URL site n’aka onye na-eweta ọrụ web-fetch ahaziri (Firecrawl, Jina Reader, Tavily Extract, TinyFish Fetch, Nimble Extract).
| Usoro | Ụzọ | Nkọwa |
|---|---|---|
| POST | /v1/web/fetch |
Weta/hichapụ ọdịnaya URL — v1WebFetchSchema na-enyocha body |
Nkwenye: Igodo API Bearer (extractApiKey + isValidApiKey). A na-amanye iwu site na enforceApiKeyPolicy.
Ndaghachi azụ na-eburu oke n’uche (#8297): mgbe enyeghị provider kpọmkwem, a na-agafe pool ahụ
(firecrawl → jina-reader → tavily-search → tinyfish → nimble-search) n’usoro
mkpa edoziri
(fill-first) — a na-awụli onye na-eweta ọrụ ahaziri mana oke arịrịọ gbochiri ya
kama ịkwụsị arịrịọ ahụ ozugbo, ọdịda upstream a pụrụ ịnwale ọzọ/nke metụtara oke
(HTTP 429 mgbe niile; 402/403 maka ọkwa efu ndị nwere ụdị oke nke Firecrawl/Tavily/TinyFish —
ọ bụghị maka Jina Reader, ọ dịghịkwa mgbe ọ bụ arịrịọ ọjọọ 400 nkịtị) na-aga n’ihu ruo
onye na-eweta ọrụ ọzọ nwere nzere nke a na-anwalebeghị n’oge arịrịọ ahụ. Mgbe ndị na-eweta ọrụ niile dị na
pool agwụla, endpoint ahụ na-eweghachi naanị otu 429 (nwere header Retry-After)
kama 400 izugbe nke mbụ. Mgbe a rịọrọ provider kpọmkwem,
enweghị ndaghachi azụ zoro ezo — onye na-eweta ọrụ kpọmkwem nke oke arịrịọ gbochiri ma ọ bụ nke dara
na-egosi njehie nke ya (429 ma ọ bụrụ na oke arịrịọ gbochiri ya, ma ọ bụghị ya, status
upstream).
Mgbasa WebSocket
GET /v1/ws?handshake=1
Na-enyocha handshake nkwalite WebSocket ma weghachite ozi atụ nke protocol wire (request, cancel). Sava WS agbakwunyere, nke dị n’èzí tebụl route Next.js, na-ahụ maka frame WS ndị ahụ n’ezie.
Nkwenye: Igodo API Bearer n’oge handshake.
Responses API site na WebSocket (naanị codex)
# Otu host:port ahụ nke HTTP API (ndabara 20128); kwalite njikọ ahụ:
wscat -c "ws://localhost:20128/v1/responses?api_key=<OMNIROUTE_API_KEY>"
# (ma ọ bụ: -H "Authorization: Bearer <OMNIROUTE_API_KEY>")
# Frame mbụ GA-ABỤRỊRỊ response.create:
{ "type": "response.create", "model": "gpt-5.5", "input": [ { "role": "user", "content": "hi" } ] }
E jikọtara proxy Responses-API-over-WebSocket naanị na codex (backend ChatGPT).
Ọ na-ege ntị n’otu port ahụ API/dashboard ji, n’ụzọ /v1/responses,
/responses, na /api/v1/responses. N’elu frame response.create mbụ, ọ
na-eme nkwenye + nkwadebe site na bridge codex-responses-ws dị n’ime, họrọ
njikọ OAuth codex, ma mepụta tunnel gaa wss://chatgpt.com/backend-api/codex/responses
site na transport wreq-js. A na-ajụ model ndị na-abụghị codex (codex_ws_provider_required).
Maka routing nkekọ oke, jiri model: "qtSd/<group>/codex/<model>". E mejuputara ya na
app/server-ws.mjs + scripts/dev/responses-ws-proxy.mjs + src/app/api/internal/codex-responses-ws/route.ts.
Nkwenye: Igodo API Bearer n’oge handshake. Sava HTTP agbakwunyere (server-ws.mjs)
ga-abụrịrị entrypoint na-arụ ọrụ (ọ bụ ya na ndabara mgbe app/server-ws.mjs dị).
NJ model: jiri NJ ChatGPT nkịtị (enweghị prefix codex/)
OpenAI Codex CLI na-enyocha aha model n’akụkụ client mgbe
supports_websockets = true, ma na-ajụ NJ nwere prefix onye na-eweta ọrụ dịka
codex/gpt-5.5 (The 'codex/gpt-5.5' model is not supported when using Codex with a ChatGPT account). Zipu NJ nkịtị (dịka gpt-5.5). Bridge OmniRoute bụ
naanị maka codex, ya mere ọ na-ekpebi ọzọ na NJ nkịtị bụ model codex
(resolveCodexWsModelInfo) tupu o mepụta tunnel gaa upstream — n’agbanyeghị na
gpt-5.5 nkịtị ga-aga onye na-eweta ọrụ ọzọ site na HTTP ma ọ bụghị ya.
Ịhazigharị OpenAI Codex CLI
Duzie Codex CLI na OmniRoute site n’ịtinye onye na-eweta ọrụ omenala nwere nkwado
WebSocket na ~/.codex/config.toml (jiri CODEX_HOME dị iche ka ị ghara imetụ
config dị ugbu a aka):
model = "gpt-5.5" # NJ nkịtị — Ọ BỤGHỊ "codex/gpt-5.5"
model_provider = "omniroute"
[model_providers.omniroute]
name = "OmniRoute (WS)"
base_url = "http://localhost:20128/v1" # enweghị slash n’azụ; a na-ewepụta URL WS site na ya (jiri https/wss na production)
wire_api = "responses" # naanị value a na-akwado kemgbe Feb 2026
supports_websockets = true # na-eme ka transport Responses-over-WS rụọ ọrụ
env_key = "OMNIROUTE_API_KEY" # na-ejide igodo API OmniRoute (Bearer)
export OMNIROUTE_API_KEY=sk-... # igodo API OmniRoute (igodo ọ bụla ma ọ bụrụ na REQUIRE_API_KEY=false)
codex exec "Responda apenas: PONG"
CLI na-akwalite base_url + /responses ka ọ bụrụ WebSocket, OmniRoute wee mepụta tunnel ya
gaa na njikọ OAuth codex ahọpụtara. E nyochara ya site na mmalite ruo na njedebe megide sava
mpaghara: ChatGPT na-eweghachi codex.rate_limits + response.created ma na-agbasa
mmecha ahụ.
Oke ojiji & Ịkọ nsogbu
| Usoro | Ụzọ | Nkọwa |
|---|---|---|
| GET | /v1/quotas/check |
Buru ụzọ nyochaa oke ojiji maka provider + accountId tupu inye igodo e debanyere aha |
| POST | /v1/issues/report |
Kọọrọ GitHub ọdịda nke oke ojiji/inye igodo (chọrọ GITHUB_ISSUES_REPO + token) |
Nyocha ikike: Igodo API Bearer (isAuthenticated).
Ojiji nke onye nwe ya (/api/usage/om-usage)
Igodo API ọ bụla nwere ike ịgụ ojiji na oke ojiji nke ya — ọ chọghị ikike njikwa. Nke a bụ endpoint nke client (CLI, panel OmniCopilot) na-eji egosi onye ji igodo ego ole o mefuru.
# Ụdị ederede (nkwekọrịta ochie — ederede nkịtị maka terminal)
curl -H "Authorization: Bearer <your-api-key>" \
http://localhost:20128/api/usage/om-usage
# Ụdị ahaziri ahazi — nke UI na-eji
curl -H "Authorization: Bearer <your-api-key>" \
"http://localhost:20128/api/usage/om-usage?format=json"
A ga-agbanyerịrị allowUsageCommand maka igodo ahụ (a na-agbanyụ ya na ndabara — onye njikwa igodo API
nke dashboard na-agbanye ma ọ bụ gbanyụọ ya maka igodo ọ bụla). Na-enweghị ya, endpoint ahụ na-aza 403.
?format=json na-eweghachi nhazi nwere akara ọdịiche ka onye na-akpọ ghara ịgụ mpaghara data sitere na
ọjụjụ. Mgbe ọ gara nke ọma:
{
"allowed": true,
// dị naanị mgbe igodo ahụ họọrọ oke ojiji nke otu igodo (USD kwa ụbọchị/kwa izu):
"personal": {
"dailySpentUsd": 1.25,
"dailyLimitUsd": 5,
"dailyResetAtIso": "…",
"weeklySpentUsd": 8,
"weeklyLimitUsd": 20,
"weeklyResetAtIso": "…" /* … */,
},
// snapshot oke ojiji provider ahọpụtara, ma ọ bụ null mgbe ọ nweghị ihe echekwara:
"provider": {
"connectionId": "…",
"provider": "claude",
"plan": "…",
"quotas": {/* … */},
},
// snapshot njikọ niile, ka UI nwee ike igosi ọtụtụ provider n'akụkụ ibe ha:
"providers": [
{ "connectionId": "…", "provider": "claude" /* … */ },
{ "provider": "codex" /* … */ },
],
}
Mgbe a jụrụ (401 igodo na-adịghị mma / 403 anaghị ekwe) otu route ahụ na-eweghachi
{ "allowed": false, "error": { "message": "…" } } — personal/provider dị ma tọgbọ chakoo
(ekwere igodo ahụ, mana amụtabeghị ihe ọ bụla) bụ ọnọdụ dị iche na ọjụjụ, naanị ụdị JSON
na-egosi ọdịiche dị n'etiti ha.
Nyocha ikike: igodo API Bearer nke onye na-akpọ, nke isValidApiKey nyochara — nke a abụghị
akụkụ njikwa (/api/keys/…), nke ka nọ n'azụ requireManagementAuth.
Cache Semantic
# Nweta ọnụ ọgụgụ cache
GET /api/cache/stats
# Hichapụ cache niile
DELETE /api/cache/stats
Ọmụmaatụ nzaghachi:
{
"semanticCache": {
"memorySize": 42,
"memoryMaxSize": 500,
"dbSize": 128,
"hitRate": 0.65
},
"idempotency": {
"activeKeys": 3,
"windowMs": 5000
}
}
Mmetụta n'oge nzaghachi
Mgbe semantic cache HIT mere, ọ na-enye nzaghachi sitere na cache na-enweghị ịkpọ
upstream, ya mere X-OmniRoute-Response-Latency a kọọrọ na-adị nso na efu
(n'agbanyeghị oge nzaghachi upstream mbụ). Ndị client oge nzaghachi na-emetụta
(benchmarking, nlekota p50/p99) kwesịrị ịlele header nzaghachi
X-OmniRoute-Cache-Latency:
| Uru | Ihe ọ pụtara |
|---|---|
synthetic |
Enyere nzaghachi site na cache; oge ahụ abụghị oge upstream n'ezie |
| (adịghị) | Nzaghachi sitere na oku upstream n'ezie |
Ịgafe cache maka igodo ọ bụla
Igodo API nwere ike ịhọrọ ịghara ịgụ semantic cache site na cacheDefaultMode:
| Uru | Omume |
|---|---|
legacy |
Omume cache nkịtị (ndabara) |
bypass |
Mafee nchọ cache kpamkpam; kpọọ upstream mgbe niile |
Tọọ ya mgbe a na-emepụta igodo (POST /api/keys) ma ọ bụ na-emelite ya (PATCH /api/keys/[id]):
{ "cacheDefaultMode": "bypass" }
Ịgafe cache maka arịrịọ ọ bụla
Arịrịọ ọ bụla nwere ike ịgafe cache n'agbanyeghị ntọala igodo:
X-OmniRoute-No-Cache: true
Dashboard & Nlekọta
Ụzọ nlekọta (/api/* ma e wezụga auth/login ọha) anaghị anabata ikike site na
igodo API inference nkịtị. Maka ezinụlọ nzere, scopes, na ihe atụ curl:
Otentikeshọn Nlekọta.
Otentikeshọn
| Endpoint | Method | Nkọwa |
|---|---|---|
/api/auth/login |
POST | Banye |
/api/auth/logout |
POST | Pụọ |
/api/settings/require-login |
GET/PUT | Gbanye/gbanyụọ mkpa ịbanye |
Nlekọta Provider
| Endpoint | Method | Nkọwa |
|---|---|---|
/api/providers |
GET/POST | Depụta / mepụta providers |
/api/providers/[id] |
GET/PUT/DELETE | Jikwaa otu provider |
/api/providers/[id]/test |
POST | Nwalee njikọ provider |
/api/providers/[id]/models |
GET | Depụta models nke provider |
/api/providers/validate |
POST | Nyochaa config provider |
/api/providers/bulk |
POST | Tinye ọtụtụ igodo API n'otu oge maka OTU provider |
/api/providers/import |
POST | Bubata NDEPỤTA providers dịgasị iche site na faịlụ CSV/JSON a parsedịrị (#6836); nsonaazụ ọdịda akụkụ n'ahịrị ọ bụla |
/api/provider-nodes* |
Dịgasị iche | Nlekọta node provider |
/api/provider-models |
GET/POST/PATCH/DELETE | Models ahaziri iche (tinye, melite, zoo/gosi, hichapụ) |
Usoro OAuth
| Endpoint | Method | Nkọwa |
|---|---|---|
/api/oauth/[provider]/[action] |
Dịgasị iche | OAuth kpọmkwem maka provider |
Routing & Config
| Endpoint | Method | Nkọwa |
|---|---|---|
/api/models/alias |
GET/POST | Aha nnọchi models |
/api/models/catalog |
GET | Models niile dịka provider + ụdị |
/api/combos* |
Dịgasị iche | Nlekọta combo |
/api/keys* |
Dịgasị iche | Nlekọta igodo API |
/api/pricing |
GET | Ọnụahịa model |
Ojiji & Nnyocha Data
| Endpoint | Usoro | Nkọwa |
|---|---|---|
/api/usage/history |
GET | Akụkọ ojiji |
/api/usage/logs |
GET | Ndekọ ojiji |
/api/usage/request-logs |
GET | Ndekọ n'ogo arịrịọ |
/api/usage/[connectionId] |
GET | Ojiji nke njikọ ọ bụla |
/api/usage/token-limits |
GET/POST/DELETE | Oke mmefu token maka API key ọ bụla |
/api/usage/model-latency-stats |
GET | Nchịkọta latency na-aga n'ihu maka provider/model ọ bụla (avg/p50/p95/p99, ọnụọgụ ihe ịga nke ọma); ihe nzacha: windowHours/minSamples/maxRows/provider/model (#6873) |
/api/usage/cache-health |
GET | Nchịkọta ọnọdụ prompt-cache n'ime call_logs — oke write/read, nkesa nha write p50/p90/p99, mkpokọta heavy-write, nkewa n'ụdị model ọ bụla, yana mkpebi healthy/degraded/thrash/no-data; query params range (1h|24h|7d|30d, ndabara bụ 24h) na model nke bụ nhọrọ (#8827) |
Ntọala
| Endpoint | Usoro | Nkọwa |
|---|---|---|
/api/settings |
GET/PUT/PATCH | Ntọala izugbe |
/api/settings/proxy |
GET/PUT | Nhazi proxy netwọkụ |
/api/settings/proxy/test |
POST | Nwalee njikọ proxy |
/api/settings/ip-filter |
GET/PUT | Ndepụta IP ndị anabatara/ndị egbochiri |
/api/settings/thinking-budget |
GET/PUT | Ụdị idegharị arịrịọ thinking/reasoning (passthrough / auto-strip / custom / adaptive). Ọ nọọrọ onwe ya na compression. Hụ THINKING_BUDGET.md. |
/api/settings/system-prompt |
GET/PUT | System prompt zuru ụwa ọnụ |
/api/settings/compression |
GET/PUT | Nhazi compression zuru ụwa ọnụ |
/api/settings/purge-request-history |
POST | Hichapụ ahịrị ndekọ arịrịọ na artifact call-log dị na mpaghara |
Context & Compression
| Endpoint | Usoro | Nkọwa |
|---|---|---|
/api/compression/preview |
POST | Lelee mkpakọ off/lite/standard/aggressive/ultra/RTK/stacked tupu oge eruo |
/api/compression/language-packs |
GET | Depụta ngwugwu asụsụ Caveman dịnụ |
/api/compression/rules |
GET | Depụta metadata iwu Caveman |
/api/context/caveman/config |
GET/PUT | Aha ọzọ maka ntọala ndị metụtara Caveman |
/api/context/rtk/config |
GET/PUT | Ntọala ndị metụtara RTK, gụnyere nzacha ahaziri iche na njigide nsonaazụ raw |
/api/context/rtk/filters |
GET | Katalọgụ nzacha RTK na nchọpụta nsogbu nzacha ahaziri iche |
/api/context/rtk/test |
POST | Mee nlele tupu oge eruo/ule RTK megide payload ederede |
/api/context/rtk/raw-output/[id] |
GET | Gụọ nsonaazụ raw e zoro ozi ya ma debe ya site na pointer id |
/api/context/combos |
GET/POST | Depụta/mepụta ngwakọta mkpakọ |
/api/context/combos/[id] |
GET/PUT/DELETE | Nkọwa/mmelite/nhichapụ ngwakọta mkpakọ |
/api/context/combos/[id]/assignments |
GET/PUT | Kenye ngwakọta mkpakọ na ngwakọta routing |
/api/context/analytics |
GET | Aha ọzọ maka nyocha data mkpakọ |
Nlekota
| Endpoint | Usoro | Nkọwa |
|---|---|---|
/api/sessions |
GET | Nsochi session ndị na-arụ ọrụ |
/api/rate-limits |
GET | Oke ọnụego maka akaụntụ ọ bụla |
/api/monitoring/health |
GET | Nyocha ahụike + nchịkọta provider (catalogCount, configuredCount, activeCount, monitoredCount). Nlele njikwa gụnyere credentialHealth: ọnụọgụ probe-cache, failedConnections mgbe failed>0, na staleDbNonOkCount (test_status SQLite na-anọgide adịgide, ọ bụghị gauge). Hụ MONITORING_GUIDE.md. |
/api/cache/stats |
GET/DELETE | Statistik cache / hichapụ |
/api/modality-bridge/stats |
GET | attempts dị na ebe nchekwa, ihe ịga nke ọma/bridged, ọdịda, cache hits, totalLatencyMs, latencySamples, averageLatencyMs nke denominator ya bụ sample, na oge ojiji ikpeazụ (a na-atọgharị ya mgbe e bidoro ọzọ; njirimara njikwa) |
/api/modality-bridge/video/runtime |
GET | Nyocha trusted-loopback siri ike tupu njirimara njikwa/probe; nnweta na ụdị FFmpeg/ffprobe e mere ka ha ghara ikpughe ozi dị mkpa (no-store) |
/api/modality-bridge/video/extract |
POST | Byte broker trusted-loopback nke ime ụlọ nwere njirimara; ntinye 50 MiB, queue nwere oke/nsonaazụ 32 MiB, 503 mgbe capacity zuru, 499 mgbe njikọ kwụsịrị, 504 mgbe deadline gafere; ọ bụghị API upload ọha |
Nkwado ndabere & Mbupụ/Mbubata
| Endpoint | Usoro | Nkọwa |
|---|---|---|
/api/db-backups |
GET | Depụta ndabere ndị dị |
/api/db-backups |
PUT | Mepụta ndabere aka |
/api/db-backups |
POST | Weghachite site na ndabere akọwapụtara |
/api/db-backups/export |
GET | Budata nchekwa data dịka faịlụ .sqlite |
/api/db-backups/import |
POST | Bulite faịlụ .sqlite iji dochie nchekwa data |
/api/db-backups/exportAll |
GET | Budata ndabere zuru ezu dịka ebe-nchekwa .tar.gz |
Mmekọrịta Ígwé Ojii
| Endpoint | Usoro | Nkọwa |
|---|---|---|
/api/sync/cloud |
Dị iche iche | Ọrụ mmekọrịta ígwé ojii |
/api/sync/initialize |
POST | Bido mmekọrịta |
/api/cloud/* |
Dị iche iche | Njikwa ígwé ojii |
Ọwara
| Endpoint | Usoro | Nkọwa |
|---|---|---|
/api/tunnels/cloudflared |
GET | Gụọ ọnọdụ nrụnye/ọrụ Cloudflare Quick Tunnel maka dashboard |
/api/tunnels/cloudflared |
POST | Gbanye ma ọ bụ gbanyụọ Cloudflare Quick Tunnel (action=enable/disable) |
/api/tunnels/ngrok |
GET | Gụọ ọnọdụ ọrụ ngrok Tunnel maka dashboard |
/api/tunnels/ngrok |
POST | Gbanye ma ọ bụ gbanyụọ ngrok Tunnel (action=enable/disable) |
Ngwaọrụ CLI
| Endpoint | Usoro | Nkọwa CLI |
|---|---|---|
/api/cli-tools/claude-settings |
GET | Ọnọdụ Claude CLI |
/api/cli-tools/codex-settings |
GET | Ọnọdụ Codex CLI |
/api/cli-tools/droid-settings |
GET | Ọnọdụ Droid CLI |
/api/cli-tools/openclaw-settings |
GET | Ọnọdụ OpenClaw CLI |
/api/cli-tools/runtime/[toolId] |
GET | Oge ọrụ CLI izugbe |
Nzaghachi CLI gụnyere: installed, runnable, command, commandPath, runtimeMode, reason.
Ndị Nnochiteanya ACP
| Endpoint | Usoro | Nkọwa |
|---|---|---|
/api/acp/agents |
GET | Depụta ndị nnochiteanya niile achọpụtara (ndị arụnyere n'ime ya + omenala) tinyere ọnọdụ ha |
/api/acp/agents |
POST | Tinye onye nnochiteanya omenala ma ọ bụ mee ka cache nchọpụta dị ọhụrụ |
/api/acp/agents |
DELETE | Wepụ onye nnochiteanya omenala site na paramita ajụjụ id |
Nzaghachi GET gụnyere agents[] (id, name, binary, version, installed, protocol, isCustom) na summary (total, installed, notFound, builtIn, custom).
Nkwụsi Ike & Oke Ọsọ
| Endpoint | Usoro | Nkọwa |
|---|---|---|
/api/resilience |
GET/PATCH | Nweta/melite kwụ ọrụ arịrịọ, oge njikọ ga-ajụ oyi, ihe nkwụsị onye na-eweta ọrụ, na ntọala nchere |
/api/resilience/reset |
POST | Tọgharịa ihe nkwụsị sekit nke ndị na-eweta ọrụ |
/api/resilience/model-cooldowns |
GET | Depụta mkpọchi ndị na-arụ ọrụ kwa-(onye na-eweta ọrụ, njikọ, model), hazie ha dịka oge fọdụrụ |
/api/resilience/model-cooldowns |
DELETE | Hichapụ mkpọchi model — body {provider, model} ma ọ bụ {all: true} iji hichapụ ihe niile |
/api/rate-limits |
GET | Ọnọdụ oke ọsọ kwa akaụntụ |
/api/rate-limit |
GET | Nhazi oke ọsọ zuru ụwa ọnụ |
Ụzọ
/api/resilience/*anọ ahụ niile chọrọ njirimara njikwa (requireManagementAuth). Lee Nkwụsi Ike (gbasawanyere) maka nkọwa zuru ezu banyere ihe nkwụsị onye na-eweta ọrụ vs oge njikọ ga-ajụ oyi vs mkpọchi model.
Nnwale Ntụle
| Endpoint | Usoro | Nkọwa |
|---|---|---|
/api/evals |
GET/POST | Depụta nchịkọta nnwale / mee ntụle |
Iwu
| Endpoint | Usoro | Nkọwa |
|---|---|---|
/api/policies |
GET/POST/DELETE | Jikwaa iwu nhọrọ ụzọ |
Nrubeisi
| Endpoint | Usoro | Nkọwa |
|---|---|---|
/api/compliance/audit-log |
GET | Ndekọ nyocha nrubeisi (N ikpeazụ) |
v1beta (Dakọtara na Gemini)
| Endpoint | Usoro | Nkọwa |
|---|---|---|
/v1beta/models |
GET | Depụta model n'ụdị Gemini |
/v1beta/models/{...path} |
POST | Endpoint Gemini generateContent |
Endpoint ndị a na-eṅomi usoro API Gemini maka client ndị na-atụ anya ndakọrịta SDK Gemini nke mbụ.
API Ime / Sistemụ
| Ebe njedebe | Usoro | Nkọwa |
|---|---|---|
/api/init |
GET | Nlele mmalite ngwa (a na-eji ya na nke mbụ a na-agba ngwa ahụ) |
/api/tags |
GET | Mkpado ụdịdị dakọtara na Ollama (maka ndị ahịa Ollama) |
/api/restart |
POST | Kpalite mbugharị sava n'ụzọ dị nro |
/api/shutdown |
POST | Kpalite mmechi sava n'ụzọ dị nro |
/api/system/env/repair |
POST | Dozie mgbanwe gburugburu ebe obibi nke onye na-eweta OAuth |
Rịba ama: Sistemu na-eji ebe njedebe ndị a n'ime ya ma ọ bụ maka ndakọrịta na ndị ahịa Ollama. Ndị ọrụ ikpeazụ anaghị akpọkarị ha ozugbo.
Ndozi Gburugburụ Ebe Obibi OAuth (v3.6.1+)
POST /api/system/env/repair
Content-Type: application/json
{
"provider": "claude-code"
}
Na-arụzi mgbanwe gburugburu ebe obibi OAuth ndị na-efu efu ma ọ bụ ndị mebiri emebi maka otu onye na-eweta kpọmkwem. Ọ na-eweghachi:
{
"success": true,
"repaired": ["CLAUDE_CODE_OAUTH_CLIENT_ID", "CLAUDE_CODE_OAUTH_CLIENT_SECRET"],
"backupPath": "/home/user/.omniroute/backups/env-repair-2026-04-11.bak"
}
Ntụgharị Edemede Ọdịyo
POST /v1/audio/transcriptions
Authorization: Bearer your-api-key
Content-Type: multipart/form-data
Jiri onye na-enye STT ọ bụla ahaziri iji tụgharị faịlụ ọdịyo gaa n'edemede. Akụkụ mbụ nke ụzọ ahụ
na-ahọrọ onye na-enye ọrụ ahụ kpọmkwem (openai/…, deepgram/…). Ọnụ ụzọ ndị
na-ebupụgharị ụdị nke onye nrụpụta ọzọ na-eji id a kọwara nke ọma
(openrouter/deepgram/nova-3).
Arịrịọ:
curl -X POST http://localhost:20128/v1/audio/transcriptions \
-H "Authorization: Bearer your-api-key" \
-F "file=@recording.mp3" \
-F "model=openai/whisper-1"
Nzaghachi:
{
"text": "Ndewo, nke a bụ ọdịnaya ọdịyo a tụgharịrị gaa n'edemede.",
"task": "transcribe",
"language": "en",
"duration": 12.5
}
Ihe atụ id ụdị: openai/whisper-1 (chọrọ igodo OpenAI),
openrouter/deepgram/nova-3 (chọrọ igodo OpenRouter),
deepgram/nova-3 (chọrọ igodo Deepgram kpọmkwem). Arịrịọ
deepgram/nova-3 na-enweghị mgbakwunye anaghị eji OpenRouter.
Ụdị ndị a na-akwado: mp3, wav, m4a, flac, ogg, webm.
Ndakọrịta Ollama
Maka ndị ahịa na-eji usoro API nke Ollama:
# Ebe njedebe nkata (usoro Ollama)
POST /v1/api/chat
# Ndepụta ụdị (usoro Ollama)
GET /api/tags
A na-atụgharị arịrịọ na-akpaghị aka n'etiti usoro Ollama na usoro dị n'ime.
Aha Ọzọ VS Code Nwere Token / Na-enweghị Header
Jiri aha ndị ọzọ ndị a mgbe njikọ enweghị ike itinye header Authorization ma chọọ ka etinye igodo API n'ime URL ntọala.
# Aha ọzọ katalọgụ n'ụdị OpenAI
GET /api/v1/vscode/{token}/
GET /api/v1/vscode/{token}/models
# Aha ọzọ nkata n'ụdị OpenAI
POST /api/v1/vscode/{token}/chat/completions
POST /api/v1/vscode/{token}/responses
# Aha ndị ọzọ n'ụdị Ollama
POST /api/v1/vscode/{token}/api/chat
GET /api/v1/vscode/{token}/api/tags
Ihe atụ:
curl https://your-host.example/api/v1/vscode/YOUR_API_KEY/models
curl -X POST https://your-host.example/api/v1/vscode/YOUR_API_KEY/chat/completions \
-H "Content-Type: application/json" \
-d '{"model":"auto","messages":[{"role":"user","content":"hello"}]}'
Nkọwa:
- Aha ndị ọzọ nwere token na-ejikwa otu handlers ndị
/v1/*na/api/tagsna-eji; ọdịdị nzaghachi na-anọgide otu. - Họrọ
Authorization: Bearer ...mgbe ọ bụla onye ahịa na-akwado headers ahaziri iche. - Tokens dabere na URL nwere ike ịpụta na ndekọ reverse-proxy, akụkọ ihe nchọgharị, na telemetry dị na mpụga OmniRoute. Were ha dịka nhọrọ ndakọrịta, ọ bụghị usoro nkwenye njirimara ndabara.
Telemetry
# Nweta nchịkọta telemetry nke oge igbu oge (p50/p95/p99 maka onye na-enye ọrụ ọ bụla)
GET /api/telemetry/summary
Nzaghachi:
{
"providers": {
"claudeCode": { "p50": 245, "p95": 890, "p99": 1200, "count": 150 },
"github": { "p50": 180, "p95": 620, "p99": 950, "count": 320 }
}
}
Mmefu Ego
# Nweta ọnọdụ mmefu ego maka igodo API niile
GET /api/usage/budget
# Tọọ ma ọ bụ melite mmefu ego
POST /api/usage/budget
Content-Type: application/json
{
"apiKeyId": "key-123",
"dailyLimitUsd": 5.00,
"weeklyLimitUsd": 30.00,
"monthlyLimitUsd": 100.00,
"warningThreshold": 0.8,
"resetInterval": "monthly"
}
Nkọwa schema (
setBudgetSchema):apiKeyIddị mkpa; opekata mpe otu n'imedailyLimitUsd,weeklyLimitUsd, ma ọ bụmonthlyLimitUsdga-adịrịrị karịa efu. Fields nhọrọ:warningThreshold(0–1),resetInterval(daily|weekly|monthly),resetTime(HH:MM). Ọdịdị ochie{keyId, limit, period}na-eweghachi400 Bad Request.
Oke Token
Mmefu token maka igodo API ọ bụla (dị iche na Mmefu dabere na USD dị n’elu). A na-amanye ya ozugbo n’ụzọ arịrịọ: mgbe ojiji igodo n’ime windo dị ugbu a ruru oke ya, a na-ajụ arịrịọ ndị ọzọ site na 429 Too Many Requests. Enwere ike ịkọwapụta oke maka model kpọmkwem, provider, ma ọ bụ tinye ya n’ogo global n’ofe igodo ahụ; mgbe ọtụtụ oke dabara n’otu arịrịọ, nke kacha sie ike ga-emeri.
# Depụta oke token nke otu igodo (gụnyere ojiji windo dị ugbu a)
GET /api/usage/token-limits?apiKeyId=key-123
# Mepụta ma ọ bụ melite oke token
POST /api/usage/token-limits
Content-Type: application/json
{
"apiKeyId": "key-123",
"scopeType": "model",
"scopeValue": "openai/gpt-4o",
"tokenLimit": 1000000,
"resetInterval": "monthly",
"enabled": true
}
# Hichapụ oke token site na id
DELETE /api/usage/token-limits?id=tl-abc
Nkọwa schema (
setTokenLimitSchema):apiKeyIdnascopeType(model|provider|global) bụ ihe achọrọ. A chọrọscopeValuema e wezụga mgbescopeTypebụglobal(dịka ọmụmaatụ, id model maka scopemodel, ma ọ bụ id provider maka scopeprovider).tokenLimitga-abụrịrị integer dị mma (a na-agbanwe ya site na string). Nhọrọ ndị ọzọ:id(hapụ ya iji mepụta, tinye ya iji melite),resetInterval(daily|weekly|monthly, ndabara bụmonthly),resetTime(HH:MM),enabled(ndabara bụtrue). NzaghachiGETna-agbakwunyetokensUsed,remaining,windowStart,periodStartAt, nanextResetAtna oke ọ bụla. Nke a bụ endpoint nke klaasị njikwa (authz pipeline na-amanye auth n’etiti usoro).
Nhazi Arịrịọ
- Client na-eziga arịrịọ na
/v1/* - Route handler na-akpọ
handleChat,handleEmbedding,handleAudioTranscription, ma ọ bụhandleImageGeneration - A na-achọpụta model (provider/model kpọmkwem ma ọ bụ alias/combo)
- A na-ahọrọ credentials site na DB mpaghara site n’iji nzacha nnweta account
- Maka chat:
handleChatCorena-enyocha semantic/signature cache ma na-achọpụta ntọala mkpakọ combo - Mkpakọ proactive na-arụ ọrụ tupu ntụgharị provider mgbe enyere ya ohere (
lite, Caveman, RTK, ma ọ bụ ndị e jikọtara ọnụ) - Provider executor na-eziga arịrịọ upstream
- A na-atụgharị nzaghachi laghachi n’usoro client (chat) ma ọ bụ weghachite ya otu ọ dị (embeddings/images/audio)
- A na-edekọ ojiji, nyocha mkpakọ, na ndekọ arịrịọ
- A na-etinye fallback mgbe njehie mere dịka iwu combo si dị
Ntụaka nhazi zuru ezu: ARCHITECTURE.md
Njikwa Combo
A pụkwara ịmapụta combo routing dị elu (nke a chịkọtalarị n’okpuru /api/combos*) 1:1 site na ụkpụrụ id model, nke na-enye ohere ibugharị id model ụdị OpenAI gaa na combo n’enweghị ihe mgbochi.
| Method | Path | Nkọwa |
|---|---|---|
| GET | /api/model-combo-mappings |
Depụta mappings model→combo niile |
| POST | /api/model-combo-mappings |
Mepụta mapping — body: {pattern, comboId, priority?, enabled?, description?} |
| GET | /api/model-combo-mappings/[id] |
Weta otu mapping |
| PUT | /api/model-combo-mappings/[id] |
Melite fields nke mapping dị adị |
| DELETE | /api/model-combo-mappings/[id] |
Wepụ mapping |
Auth: session/API key njikwa (requireManagementAuth).
Webhooks
Ndenye aha webhook ndị na-apụ apụ maka mmemme OmniRoute (mmecha arịrịọ, mmebi oke ojiji, mgbanwe igodo, wdg.).
| Usoro | Ụzọ | Nkọwa |
|---|---|---|
| GET | /api/webhooks |
Depụta webhooks (a na-ekpuchi ihe nzuzo dịka <prefix>...) |
| POST | /api/webhooks |
Mepụta webhook — ahụ: {url, events?: ["*"], secret?, description?} |
| GET | /api/webhooks/[id] |
Nweta otu webhook |
| PUT | /api/webhooks/[id] |
Melite url/events/secret/description |
| DELETE | /api/webhooks/[id] |
Wepụ otu webhook |
| POST | /api/webhooks/[id]/test |
Ziga payload nnwale na URL webhook ma weghachite ọnọdụ nnyefe |
Nkwenye njirimara: nnọkọ njikwa/igodo API (requireManagementAuth).
Igodo E Debanyere Aha (Njikwa Akpaka)
Usoro nta njikwa igodo akpaka na-eji ya ewepụta ma gbanwee igodo API n'aka onye na-eweta ọrụ/akaụntụ nkwado, yana oke ojiji kwa ụbọchị/kwa elekere.
| Usoro | Ụzọ | Nkọwa |
|---|---|---|
| GET | /api/v1/registered-keys |
Depụta igodo ndị e debanyere aha (naanị prefix e kpuchiri ekpuchi) |
| POST | /api/v1/registered-keys |
Wepụta igodo ọhụrụ e debanyere aha — ahụ: {name, provider?, accountId?, idempotencyKey?, expiresAt?, dailyBudget?, hourlyBudget?}. Na-eweghachite igodo ahụ n'onwe ya otu ugboro. Na-eweghachite 429 ma ọ bụrụ na oke ojiji ajụ arịrịọ ahụ. |
| GET | /api/v1/registered-keys/[id] |
Nweta metadata nke igodo e debanyere aha (enweghị igodo ahụ n'onwe ya) |
| DELETE | /api/v1/registered-keys/[id] |
Kagbuo igodo e debanyere aha |
| POST | /api/v1/registered-keys/[id]/revoke |
Endpoint maka ịkagbu kpọmkwem (otu mmetụta ahụ dịka DELETE) |
Nkwenye njirimara: Igodo Bearer API (isAuthenticated). Leekwa /v1/quotas/check na /v1/issues/report.
Protokọlụ Ndị Ọrụ Nnọchiteanya
Ọrụ ndị ọrụ nnọchiteanya igwe ojii (Claude Code, Codex Cloud, OpenHands, wdg.) a na-arụ n'ebe dị anya n'aha ndị ọrụ OmniRoute.
| Usoro | Ụzọ | Nkọwa |
|---|---|---|
| GET | /api/v1/agents/tasks |
Depụta ọrụ — ?provider=, ?status=, ?limit= bụ nhọrọ (1–500, ndabara bụ 50) |
| POST | /api/v1/agents/tasks |
Mepụta ọrụ — CreateCloudAgentTaskSchema na-enyocha body (providerId, prompt, source, options?). Ọ na-eweghachi 201 tinyere envelopu ọrụ |
| DELETE | /api/v1/agents/tasks?id=... |
Hichapụ otu ọrụ |
| GET | /api/v1/agents/tasks/[id] |
Gụọ ọrụ — ọ na-emelite ọnọdụ ozugbo site n'aka onye ọrụ nnọchiteanya igwe ojii dị n'elu mgbe edobere external_id |
| POST | /api/v1/agents/tasks/[id] |
Omume a na-amata iche: {action: "approve"}, {action: "message", message}, ma ọ bụ {action: "cancel"} |
| DELETE | /api/v1/agents/tasks/[id] |
Jiri id hichapụ otu ọrụ kpọmkwem |
Nyocha ikike: a chọrọ nyocha ikike njikwa n'usoro ọ bụla (
requireCloudAgentManagementAuth). Tupu v3.8.0, usoro ndị a achọghị nyocha ikike — lee commit588a0333maka mgbanwe na-emebi ndakọrịta.
# Mepụta ọrụ igwe ojii Claude Code
curl -X POST http://localhost:20128/api/v1/agents/tasks \
-H "Authorization: Bearer your-management-key" \
-H "Content-Type: application/json" \
-d '{"providerId":"claude-code-cloud","prompt":"Fix the failing test","source":{"repo":"...","branch":"..."}}'
Proxy Njikwa
Proxy HTTP(S)/SOCKS na-apụ apụ nke enwere ike ikenye ndị na-eweta ọrụ, akaụntụ, ma ọ bụ n'ụwa niile.
| Usoro | Ụzọ | Nkọwa |
|---|---|---|
| GET | /api/v1/management/proxies |
Depụta proxy (iji ?id= na-eweghachi otu; iji ?id=&where_used=1 na-eweghachi eserese nke ikenye ha) |
| POST | /api/v1/management/proxies |
Mepụta proxy — createProxyRegistrySchema na-enyocha body |
| PATCH | /api/v1/management/proxies |
Melite proxy — updateProxyRegistrySchema na-enyocha body (ọ chọrọ id) |
| DELETE | /api/v1/management/proxies?id=...&force=1 |
Hichapụ proxy (jiri force=1 kewapụ ikenye ndị dị na ya) |
| GET | /api/v1/management/proxies/assignments |
Depụta ikenye — enwere ike iji proxy_id, scope, scope_id nzacha ya; nyefee resolve_connection_id=<id> iji chọpụta proxy na-arụ ọrụ maka njikọ |
| PUT | /api/v1/management/proxies/assignments |
Kenye — proxyAssignmentSchema na-enyocha body ({scope, scopeId?, proxyId?}). Ọ na-ehichapụ cache dispatcher |
| PUT | /api/v1/management/proxies/bulk-assign |
Kenye n'ìgwè — bulkProxyAssignmentSchema na-enyocha body ({scope, scopeIds[], proxyId?}) |
| GET | /api/v1/management/proxies/health?hours=24 |
Chịkọta ọnọdụ ahụike proxy (ọnụọgụ ihe gara nke ọma/daara, oge nzaghachi) n'ime otu oge |
Nyocha ikike: a chọrọ session njikwa/igodo API n'ụzọ ọ bụla (requireManagementAuth).
POST /api/v1/management/proxies/[id]/assignmentsnaPOST /api/v1/management/proxies/[id]/healthdị na nkọwa ọrụ ahụ bụ ụzọ/assignmentsna/healthkwụ ọtọ e gosiri n'elu na-ejere ha ozi — enweghị subroute kwa id na codebase ahụ.
Nkwụsi ike (gbasatụrụ)
OmniRoute na-enye usoro atọ nọọrọ onwe ha maka ọdịda nwa oge; ebe njikwa ndị dị n'okpuru na-enye ndị na-ahụ maka sistemụ ohere ịgụ ma gbanwee ha:
| Oke | Ebe a na-echekwa steeti | Ịgụ | Tọgharịa / hichapụ |
|---|---|---|---|
| Ihe nkwụsị provider | domain_circuit_breakers + ebe nchekwa |
/api/monitoring/health |
POST /api/resilience/reset |
| Oge nchere njikọ | rateLimitedUntil na njikọ provider |
/api/rate-limits, /api/providers/[id] |
(na-emegharị onwe ya mgbe e mesịrị; hichapụ site na provider PUT) |
| Mkpọchi model | Ndebanye nnweta model dị na ebe nchekwa | GET /api/resilience/model-cooldowns |
DELETE /api/resilience/model-cooldowns |
PATCH /api/resilience na-anabata mgbanwe ihe nkwụsị provider n'okpuru providerBreaker.oauth na providerBreaker.apikey. Profaịlụ ọ bụla na-akwado degradationThreshold, failureThreshold, na resetTimeoutMs; a na-egosikwa otu mpaghara ndị a na Dashboard → Settings → Resilience.
# Hichapụ mkpọchi otu model
curl -X DELETE http://localhost:20128/api/resilience/model-cooldowns \
-H "Cookie: auth_token=..." \
-H "Content-Type: application/json" \
-d '{"provider":"openai","model":"gpt-4o-mini"}'
# Hichapụ mkpọchi niile
curl -X DELETE http://localhost:20128/api/resilience/model-cooldowns \
-H "Cookie: auth_token=..." \
-d '{"all":true}'
Maka ntụaka echiche zuru ezu na ụkpụrụ ndabara nke ihe nkwụsị: lee CLAUDE.md → "Steeti Oge Ọrụ nke Nkwụsi Ike".
Nkà
Usoro nkà maka iji njikwa a haziri ahazi nke enwere ike imepụta gbasaa OmniRoute, tinyere njikọ ahịa.
| Usoro | Ụzọ | Nkọwa |
|---|---|---|
| GET | /api/skills |
Depụta nkà arụnyere — enwere ike iji ?q=, ?mode=on|off|auto, ?source=skillsmp|skillssh|local nyochaa ya, ma kewaa ya na peeji |
| GET | /api/skills/[id] |
Nweta otu nkà |
| PUT | /api/skills/[id] |
Melite nkà (aha, nkọwa, ọnọdụ, schema, njikwa, mkpado) |
| DELETE | /api/skills/[id] |
Wepụ nkà arụnyere |
| POST | /api/skills/install |
Wụnye nkà site na manifest raw — body: {name, version, description, schema:{input, output}, handlerCode, apiKeyId?} |
| GET | /api/skills/executions |
Depụta arụmọrụ nkà ndị mere nso nso a (ndekọ nyocha nwere ntinye/mmepụta/ogologo oge) |
| GET | /api/skills/marketplace?q=... |
Chọọ/depụta ihe ndị ewu ewu site n'ahịa SkillsMP (chọrọ ntọala skillsmpApiKey) |
| POST | /api/skills/marketplace/install |
Wụnye nkà site na SkillsMP site na id |
| GET | /api/skills/skillssh?q=&limit= |
Chọọ n'akwụkwọ ndebanye skills.sh |
| POST | /api/skills/skillssh/install |
Wụnye nkà site na skills.sh site na id |
Nyocha ikike: nnọkọ njikwa/igodo API. Ụzọ ọchụchọ ahịa na-anabata ma nyocha ikike njikwa ma ọ bụ igodo API Bearer (isAuthenticated).
Ncheta
Ebe nchekwa ncheta mkparịta ụka/eziokwu na-adịgide adịgide, nke e kewara dịka API key / session si dị.
| Method | Path | Description |
|---|---|---|
| GET | /api/memory |
Depụta ncheta — ?apiKeyId=, ?type=, ?sessionId=, ?q=, yana nhazi ibe site na offset/limit ma ọ bụ page/limit |
| POST | /api/memory |
Mepụta ncheta — Zod na-enyocha body: {content, key, type?, sessionId?, apiKeyId?, metadata?, expiresAt?} |
| GET | /api/memory/[id] |
Nweta otu ncheta |
| DELETE | /api/memory/[id] |
Hichapụ ncheta |
| GET | /api/memory/health |
Ọnọdụ ahụike nke usoro nta ncheta (njikọ DB, backend embeddings, ọnọdụ vector index) |
Nyocha ikike: management session/API key (requireManagementAuth). Enum type: FACTUAL, EPISODIC, SEMANTIC, PROCEDURAL (lee MemoryType na src/lib/memory/types.ts).
Sava MCP
OmniRoute na-abịa na sava Model Context Protocol agbakwunyere nke nwere ụzọ mbufe 3 (stdio, SSE, streamable-http) na ngwaọrụ e kenyere oke. Endpoint dashboard ndị dị n'okpuru na-agụ data ọnọdụ/nyocha ma na-eme proxy maka ụzọ mbufe HTTP.
| Method | Path | Description | |
|---|---|---|---|
| GET | /api/mcp/status |
Heartbeat, ụzọ mbufe, ọnọdụ online, oku ikpeazụ, ngwaọrụ kachasị eji, ọnụego ihe ịga nke ọma n'ime awa 24 | |
| GET | /api/mcp/tools |
Ndepụta ngwaọrụ MCP nwere name, description, scopes, phase, auditLevel, sourceEndpoints |
|
| GET | /api/mcp/sse |
Mepee iyi SSE maka ụzọ mbufe SSE (na-eweghachi 503 ma ọ bụrụ na agbanyụghị MCP ma ọ bụ na ụzọ mbufe adabaghị) |
|
| POST | /api/mcp/sse |
Zipụ fremụ JSON-RPC site n'ụzọ mbufe SSE | |
| GET | /api/mcp/stream |
Mepee akụkụ SSE nke ụzọ mbufe Streamable HTTP (ozi sava malitere) | |
| POST | /api/mcp/stream |
Zipụ fremụ JSON-RPC site n'ụzọ mbufe Streamable HTTP | |
| DELETE | /api/mcp/stream |
Kwụsị session Streamable HTTP | |
| GET | /api/mcp/audit |
Jụọ ndekọ nyocha — ?limit=, ?offset=, ?tool=, `?success=true |
false, ?apiKeyId=` |
| GET | /api/mcp/audit/stats |
Chịkọta ọnụ ọgụgụ nyocha (ngụkọta, ọnụego ihe ịga nke ọma, nkezi oge, ngwaọrụ kachasị eji) |
Nyocha ikike: ụzọ mbufe sse/stream na-agbaso usoro nyocha ikike pụrụ iche nke MCP (Bearer API key nwere scope mcp); enwere ike ịgụ route status/tools/audit* site na dashboard (ọ dịghị nyocha ikike ọzọ achọrọ ma e wezụga inwe ike iru host dashboard).
settings.mcpEnablednasettings.mcpTransportna-achịkwa ụzọ mbufe HTTP abụọ ahụ — ụzọ mbufe na-adabaghị na-eweghachi400, ebe ọnọdụ MCP agbanyụghị na-eweghachi503.
Sava A2A
OmniRoute na-ewepụta endpoint A2A (Agent-to-Agent) JSON-RPC 2.0 yana ihe mkpuchi REST maka nyocha/ojiji dashboard.
JSON-RPC
POST /a2a
Authorization: Bearer your-api-key # nhọrọ ma ọ bụrụ na edoghị OMNIROUTE_API_KEY
Content-Type: application/json
{
"jsonrpc": "2.0",
"id": 1,
"method": "message/send",
"params": {
"skill": "smart-routing",
"messages": [{"role": "user", "content": "Route this coding task"}]
}
}
Ụzọ ndị akwadoro (ha niile dabere na settings.a2aEnabled):
| Ụzọ | Nkọwa |
|---|---|
message/send |
Mmezu nka n'otu oge; na-eweghachi {task, artifacts, metadata} |
message/stream |
Mmezu SSE na-asọba nke otu nchịkọta nka ahụ |
tasks/get |
Were ọrụ site na taskId |
tasks/cancel |
Kagbuo ọrụ site na taskId |
Nka ndị etinyere n'ime ya: smart-routing, quota-management, provider-discovery, cost-analysis, health-report.
Kaadị Agent
GET /.well-known/agent.json
Na-eweghachi kaadị agent A2A ọhaneze (aha, nkọwa, ikike, katalọgụ nka, usoro auth) — a na-echekwa ya n'ihu ọha ruo 1h. Achọghị auth.
Ndị enyemaka REST
| Ụzọ | Path | Nkọwa |
|---|---|---|
| GET | /api/a2a/status |
A2A agbanyere + ọnụ ọgụgụ ọrụ + nchịkọta kaadị agent echekwara |
| GET | /api/a2a/tasks |
Depụta ọrụ — ?state=submitted|working|completed|failed|cancelled, ?skill=, ?limit= (≤200), ?offset= |
| POST | /api/a2a/tasks |
(Emebeghị ya dịka onye enyemaka REST — mepụta site na JSON-RPC message/send) |
| GET | /api/a2a/tasks/[id] |
Nweta otu ọrụ |
| POST | /api/a2a/tasks/[id]/cancel |
Kagbuo ọrụ |
Auth: ndị enyemaka REST na-arụ ọrụ na-enweghị auth njikwa (dashboard nwere ike ịgụ ha); ụzọ JSON-RPC /a2a na-eji Bearer OMNIROUTE_API_KEY ma ọ bụrụ na ahaziri ya.
Cloud, Evals & Assess
| Ụzọ | Path | Nkọwa | ||
|---|---|---|---|---|
| POST | /api/cloud/auth |
Nyochaa igodo Bearer ma weghachi njikọ provider ndị ezoro akụkụ ha + aha nnọchi model maka ndị ahịa cloud sync | ||
| POST | /api/cloud/credentials/update |
Melite credentials ezoro ezo maka provider e jikọrọ na cloud | ||
| POST | /api/cloud/model/resolve |
Jiri tebụl routing mpaghara tụgharịa logical model id ka ọ bụrụ provider/model a kapịrị ọnụ | ||
| GET | /api/cloud/models/alias |
Depụta aha nnọchi model dịka e si kpughee ha nye cloud sync | ||
| GET | /api/assess |
Gụọ nhazi assessment kachasị ọhụrụ (maka provider/model nke ọ bụla) | ||
| POST | /api/assess |
Mee assessment — body: `{scope: {type:"all"} | {type:"provider", providerId} | {type:"model", modelId}, trigger?}` |
| GET | /api/evals |
Depụta eval suites ndị etinyere n'ime ya + mmezu ndị kachasị ọhụrụ | ||
| POST | /api/evals |
Kpalite mmezu eval | ||
| POST | /api/evals/suites |
Mepụta eval suite ahaziri iche — a na-eji evalSuiteSaveSchema enyocha body |
||
| GET | /api/evals/suites/[id] |
Nweta eval suite ahaziri iche |
Auth: /api/cloud/auth na-enyocha igodo Bearer ozugbo; ụzọ /api/cloud/*, /api/evals/*, na /api/assess ndị ọzọ chọrọ session njikwa/API key. POST /api/assess na-eji validateBody yana schema scope nke discriminated-union.
Nchịkwa ACP (Agent Client Protocol)
dị ka usoro ụmụ. Ebe njedebe ndị a na-ahụ maka nchọpụta ndị nnọchi anya ACP na ndebanye aha ndị nnọchi anya ahaziri iche.
| Usoro | Ụzọ | Nkọwa |
|---|---|---|
| GET | /api/acp/agents |
Depụta ndị nnọchi anya CLI niile a maara (ndị arụnyere n'ime ya + ndị ahaziri iche), tinyere ọnọdụ nrụnye, ụdị, na faịlụ binary |
| POST | /api/acp/agents |
Debanye aha onye nnọchi anya ACP ahaziri iche ma ọ bụ mee ka cache dị ọhụrụ — body: {id, name, binary, versionCommand, providerAlias, spawnArgs, protocol} ma ọ bụ {action: "refresh"} |
| DELETE | /api/acp/agents |
Wepụ onye nnọchi anya ACP ahaziri iche — query param: ?id=<agentId> |
Ọmụmaatụ nzaghachi (GET /api/acp/agents):
{
"agents": [
{
"id": "claude",
"name": "Claude Code CLI",
"binary": "claude",
"version": "1.0.45",
"installed": true,
"protocol": "stdio",
"providerAlias": "claude",
"isCustom": false
},
{
"id": "my-custom-cli",
"name": "My Custom CLI",
"installed": false,
"protocol": "stdio",
"providerAlias": "my-provider",
"isCustom": true
}
],
"cacheTtlMs": 60000,
"cacheAge": 1234
}
Nkwenye njirimara: Ọ chọrọ nnọkọ njikwa (dashboard auth_token cookie) ma ọ bụ igodo API nwere ikike njikwa.
Lee Usoro ACP maka nkọwa zuru ezu.
Nnyocha Data & Nlele Ọnọdụ
Ebe njedebe nnyocha data ozugbo maka nyochaa ntụgharị ụzọ, mkpakọ, na ụdịdị dị iche iche nke ndị na-eweta ọrụ. Ndị a na-akwado peeji /dashboard/analytics/*.
Nnyocha data ntụgharị ụzọ akpaaka
| Usoro | Ụzọ | Nkọwa |
|---|---|---|
| GET | /api/analytics/auto-routing |
Nchịkọta ọnụ ọgụgụ ntụgharị ụzọ akpaaka: oku niile, nkesa atụmatụ, nkesa ọkwa, ndị na-eweta ọrụ kachasị elu |
| GET | /api/analytics/auto-routing?days=7 |
Ọnụ ọgụgụ dabere na windo oge (ndabara bụ awa 24) |
Ọmụmaatụ nzaghachi:
{
"window": "24h",
"totalCalls": 1234,
"strategyBreakdown": {
"rules": 800,
"cost": 200,
"latency": 150,
"sla-aware": 50,
"lkgp": 34
},
"tierBreakdown": {
"ultra": 100,
"pro": 500,
"standard": 400,
"free": 234
},
"topProviders": [
{ "provider": "openai", "calls": 500, "avgLatencyMs": 850 },
{ "provider": "anthropic", "calls": 300, "avgLatencyMs": 1200 }
]
}
Nnyocha data mkpakọ
| Usoro | Ụzọ | Nkọwa |
|---|---|---|
| GET | /api/analytics/compression |
Nchịkọta ọnụ ọgụgụ mkpakọ: token echekwara, pasent ego echekwara, nkesa ọnọdụ, ojiji engine |
Ọmụmaatụ nzaghachi:
{
"window": "24h",
"totalOriginalTokens": 5000000,
"totalCompressedTokens": 3500000,
"totalSavings": 1500000,
"savingsPct": 30.0,
"modeBreakdown": {
"lite": 400,
"standard": 600,
"aggressive": 100,
"ultra": 50,
"rtk": 84
},
"engineBreakdown": {
"caveman": 800,
"rtk": 434
}
}
Nsuso ụdịdị dị iche iche nke ndị na-eweta ọrụ
| Usoro | Ụzọ | Nkọwa |
|---|---|---|
| GET | /api/analytics/diversity |
Nsuso ụdịdị dị iche iche dabere na entropy Shannon: na-egbochi otu ebe ọdịda site n'ịtụ mgbasa nke ndị na-eweta ọrụ |
Ọmụmaatụ nzaghachi:
{
"window": "24h",
"shannonEntropy": 2.45,
"maxEntropy": 3.17,
"diversityRatio": 0.77,
"providerUsage": {
"openai": 0.4,
"anthropic": 0.25,
"google": 0.2,
"kiro": 0.15
},
"warnings": ["OpenAI accounts for 40% of traffic — consider diversifying"]
}
Nkwenye njirimara: Ọ chọrọ nnọkọ njikwa ma ọ bụ igodo API nwere ikike njikwa.
Ọrụ Nchịkwa
Ebe njedebe ndị naanị onye nchịkwa nwere ike iji maka njikwa ọrụ.
| Usoro | Ụzọ | Nkọwa |
|---|---|---|
| GET | /api/admin/concurrency |
Gụọ oke concurrency dị ugbu a (nke zuru ụwa ọnụ + nke onye na-eweta ọ bụla) |
| POST | /api/admin/concurrency |
Melite oke concurrency — ahụ: {global?: number, perProvider?: Record<string, number>} |
Nyocha ikike: Chọrọ nnọkọ njikwa nwere ikike onye nchịkwa.
Njikwa Ngwaọrụ CLI
Jikwaa ngwaọrụ CLI ndị na-ejikọta na OmniRoute (antigravity, chipotle, commandCode, devin-cli, wdg.). Lee Ntụaka Onye Na-eweta maka ndepụta zuru ezu.
| Usoro | Ụzọ | Nkọwa |
|---|---|---|
| GET | /api/cli-tools/all-statuses |
Ọnọdụ ngwaọrụ CLI niile (arụnyere, ụdị, oge ikpeazụ a hụrụ ya) |
| GET | /api/cli-tools/status |
Nkọwa ọnọdụ maka otu ngwaọrụ CLI (ajụjụ ?tool=) |
| POST | /api/cli-tools/apply |
Dee config e mepụtara maka ngwaọrụ (dryRun na-egosi ihe ga-apụta; 422 + containerEphemeralTarget mgbe ọ nọ na container; migration na-akọwa Codex YAML ochie) |
| GET | /api/cli-tools/backups |
Depụta nkwado ndabere config ngwaọrụ CLI |
| POST | /api/cli-tools/backups |
Mepụta nkwado ndabere nke config ngwaọrụ CLI niile |
| POST | /api/cli-tools/backups |
Weghachite: otu ebe njedebe ahụ nwere {tool, backupId} n'ahụ na-eweghachite nkwado ndabere ahụ |
| GET | /api/cli-tools/antigravity-mitm |
Ọnọdụ proxy Antigravity MITM (ngwaọrụ CLI "antigravity-mitm") |
| POST | /api/cli-tools/antigravity-mitm/alias |
Hazie aha nnọchi antigravity-mitm |
Nyocha ikike: Chọrọ nnọkọ njikwa.
Nkà Ndị Nnọchi Anya
Jikwaa nkà ndị nnọchi anya AI (dị ka GPT ahaziri iche nke OpenAI, mana maka ndị nnọchi anya).
| Usoro | Ụzọ | Nkọwa |
|---|---|---|
| GET | /api/agent-skills |
Depụta nkà ndị nnọchi anya niile (nke arụnyere n'ime + nke ahaziri iche) |
| GET | /api/agent-skills/[id] |
Nweta otu nkà onye nnọchi anya kpọmkwem |
| POST | /api/agent-skills |
Mepụta nkà onye nnọchi anya ahaziri iche — ahụ: {name, description, prompt, model?, temperature?} |
| PUT | /api/agent-skills/[id] |
Melite nkà onye nnọchi anya ahaziri iche |
| DELETE | /api/agent-skills/[id] |
Hichapụ nkà onye nnọchi anya ahaziri iche |
| GET | /api/agent-skills/[id]/raw |
Nweta prompt nke mbụ + metadata (enweghị mmezu) |
| POST | /api/agent-skills/generate |
Jiri AI mepụta nkà ọhụrụ site na nkọwa e dere n'asụsụ mmadụ |
Nyocha ikike: Chọrọ nnọkọ njikwa ma ọ bụ igodo API nwere ikike njikwa.
Njikwa Cache
Jikwaa cache semantic na cache ntụgharị uche.
| Method | Path | Nkọwa |
|---|---|---|
| GET | /api/cache |
Nchịkọta cache: ngụkọta ndenye, ọnụego hit, nha dị na diski |
| GET | /api/cache/entries |
Depụta ndenye ndị dị na cache (ya na pagination) |
| DELETE | /api/cache/entries |
Hichapụ ndenye cache (jiri query parameters nyochaa) |
| GET | /api/cache/stats |
Nkọwa ọnụ ọgụgụ cache zuru ezu (maka provider ọ bụla, maka model ọ bụla) |
| GET | /api/cache/reasoning |
Ọnọdụ cache ntụgharị uche (maka ịkpọgharị ntụgharị uche) |
| DELETE | /api/cache/reasoning |
Hichapụ cache ntụgharị uche — query params: ?toolCallId=<id> (otu) ma ọ bụ ?provider=<p> ma ọ bụ enweghị params (niile) |
Nkwenye: Chọrọ session njikwa.
Sistemụ Ncheta
Jikwaa ncheta na-adịgide adịgide (FTS5 + vector embeddings).
| Method | Path | Nkọwa |
|---|---|---|
| GET | /api/memory |
Depụta ndenye ncheta (jiri scope, type, search query nyochaa) |
| POST | /api/memory |
Mepụta ndenye ncheta ọhụrụ — body: {scope, type, content, metadata?} |
| GET | /api/memory/[id] |
Nweta otu ndenye ncheta akọwapụtara |
| PUT | /api/memory/[id] |
Melite otu ndenye ncheta |
| DELETE | /api/memory/[id] |
Hichapụ otu ndenye ncheta |
| GET | /api/memory?q= |
Chọọ n'ime ncheta (FTS5 + vector) — agụnyere stats na response ahụ |
Nkwenye: Chọrọ session njikwa ma ọ bụ API key nwere scope njikwa.
Webhooks
Jikwaa ndebanye webhook maka events.
| Method | Path | Nkọwa |
|---|---|---|
| GET | /api/webhooks |
Depụta ndebanye webhook niile |
| POST | /api/webhooks |
Mepụta ndebanye webhook — body: {url, events[], secret?, active?} |
| GET | /api/webhooks/[id] |
Nweta otu ndebanye webhook akọwapụtara |
| PUT | /api/webhooks/[id] |
Melite otu ndebanye webhook |
| DELETE | /api/webhooks/[id] |
Hichapụ otu ndebanye webhook |
| GET | /api/webhooks/[id]/deliveries |
Depụta akụkọ delivery maka webhook (ndekọ ihe ịga nke ọma/ọdịda) |
| POST | /api/webhooks/[id]/test |
Ziga test event na webhook |
Nkwenye: Chọrọ session njikwa.
Lee Framework Webhooks maka ụdị event niile.
Usoro Skills
Jikwaa Skills (usoro ndọtị agentic).
| Usoro | Ụzọ | Nkọwa |
|---|---|---|
| GET | /api/skills |
Depụta skills niile arụnyere (ndị e wuru n'ime ya + ndị ahaziri iche) |
| POST | /api/skills/install |
Wụnye skill site n’ụzọ mpaghara ma ọ bụ URL |
| DELETE | /api/skills/[id] |
Wepụ skill arụnyere |
| PUT | /api/skills/[id] |
Gbanye ma ọ bụ gbanyụọ skill — ahụ: {enabled?: boolean, mode?: "on" | "off" | "auto"} |
| POST | /api/skills/executions |
Mee skill — ahụ: {skillName, apiKeyId, input?, sessionId?} |
| GET | /api/skills/executions |
Depụta akụkọ mmezu maka skills niile (jiri ?apiKeyId= nyochaa) |
Nkwenye njirimara: Ọ chọrọ nnọkọ njikwa ma ọ bụ API key nwere ikike njikwa.
Lee Usoro Skills maka nkọwa zuru ezu.
Plugins
Jikwaa plugins OmniRoute (ndọtị ndị ọzọ mepụtara).
| Usoro | Ụzọ | Nkọwa |
|---|---|---|
| GET | /api/plugins |
Depụta plugins arụnyere |
| POST | /api/plugins/marketplace/install |
Wụnye plugin site n’ahịa |
| DELETE | /api/plugins/[name] |
Wepụ plugin arụnyere |
| POST | /api/plugins/[name]/activate |
Mee ka plugin rụọ ọrụ |
| POST | /api/plugins/[name]/deactivate |
Kwụsị plugin ịrụ ọrụ |
| GET | /api/plugins/[name]/config |
Nweta nhazi plugin |
| PUT | /api/plugins/[name]/config |
Melite nhazi plugin |
Nkwenye njirimara: Ọ chọrọ nnọkọ njikwa.
Lee Usoro Plugins maka nkọwa zuru ezu.
Shadow Routing
Ntụnyere Shadow / A-B nke providers abụghị REST surface kwụụrụ onwe ya — a na-ahazi ya site na combo routing (lee Auto-Combo). A na-enye metrik ntụnyere nke combo ọ bụla site na GET /api/combos/metrics.
Guardrails
Nyochaa guardrails nke runtime (nchọpụta PII, nchọpụta prompt injection, vision bridging). Guardrails na-arụ ọrụ na arịrịọ ọ bụla; ịpụ na ya maka otu ọkpụkpọ bụ site na request header x-omniroute-disabled-guardrails — enweghị ebe echekwara maka ịgbanye/ịgbanyụọ ya.
| Usoro | Ụzọ | Nkọwa |
|---|---|---|
| GET | /api/guardrails |
Depụta guardrails ndị e debanyere aha na ọnọdụ ha (aha / agbanyere / mkpa) |
| POST | /api/guardrails/test |
Mee nnwale akọrọ nke pipeline tupu ọkpụkpọ n’elu input atụ — ahụ: {input, disabledGuardrails?} |
Nkwenye njirimara: Ọ chọrọ nnọkọ njikwa.
Lee Nchekwa > Guardrails maka nkọwa zuru ezu.
Nkwenye njirimara
Lee Nkwenye Njirimara Njikwa maka ezinụlọ nzere anọ ahụ (nnọkọ dashboard, token CLI mpaghara, Token Nnweta oma_live_…, API key nwere oke njikwa) na etu ha si dị iche na igodo inference.
- Ụzọ dashboard (
/dashboard/*) na-eji kukiauth_token - Nbanye na-eji hash okwuntughe echekwara; ma ọ bụrụ na nke ahụ ada, ọ na-eji
INITIAL_PASSWORD - Enwere ike ịgbanwuo
requireLoginsite na/api/settings/require-login - Ụzọ
/v1/*nwere ike ịchọ Bearer API key mgbeREQUIRE_API_KEY=true - “token njikwa” / “API key nwere oke njikwa” n'ime ntụaka a pụtara otu n'ime ezinụlọ ndị dị na ntuziaka ahụ — ọ bụghị ụdị nzuzo ọzọ a na-akọwaghị
Mgbanwe na-emebi ndakọrịta (v3.8.0) —
/api/v1/agents/tasks/*na endpoint njikwa cooldown chọrọzi nkwenye njirimara njikwa (kuki dashboardauth_tokenma ọ bụ API key nwere oke njikwa). Ndị ahịa kpọburu ụzọ ndị a na-enweghị nkwenye njirimara ga-enweta401 Unauthorized. Lee commit588a0333(fix(auth): require management auth for agent and cooldown APIs).