Files
OmniRoute/docs/i18n/ig/docs/reference/API_REFERENCE.md
Diego Rodrigues de Sa e Souza b637350680 fix(docs): re-sync the 65 documentation mirror sets; section-level docs pipeline; drift gate blocking (#13940)
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
2026-09-17 02:55:31 -03:00

124 KiB
Raw Blame History

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

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), gbanye underscores_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.0000000000 maka 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, na X-OmniRoute-Fallback-Attempts (naanị mgbe > 0), tinyere X-OmniRoute-Request-Id na X-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ụ 0 mgbe 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 mere X-OmniRoute-Response-Cost bụ 0.0000000000 (ọnụahịa mgbakwunye nke izipu hit ahụ). A na-akọ ọnụahịa mbụ/ọnụahịa ọ gaara abụ iche na X-OmniRoute-Cost-Saved. Ndị na-eji data ịgba ụgwọ kwesịrị ịchịkọta X-OmniRoute-Response-Cost (hits anaghị efu ego); nyocha cache nwere ike ịchịkọta X-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ụ off ma ọ bụ default site 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}:embedContent nwere content.parts (text ma ọ 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 notu API key nokpuru otu iwu ụzọ atọ ahụ dịka faịlụ: naanị key nke onye nwe ya, nnọkọ dashboard nwere ikike nofe 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 naka 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 nuche (#8297): mgbe enyeghị provider kpọmkwem, a na-agafe pool ahụ (firecrawljina-readertavily-searchtinyfishnimble-search) nusoro 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 nihu ruo onye na-eweta ọrụ ọzọ nwere nzere nke a na-anwalebeghị noge 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ụ nezie.

Nkwenye: Igodo API Bearer noge 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ị notu port ahụ API/dashboard ji, nụzọ /v1/responses, /responses, na /api/v1/responses. Nelu frame response.create mbụ, ọ na-eme nkwenye + nkwadebe site na bridge codex-responses-ws dị nime, 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 noge 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 nakụ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 — nagbanyeghị 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 nazụ; 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/tags na-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): apiKeyId dị mkpa; opekata mpe otu n'ime dailyLimitUsd, weeklyLimitUsd, ma ọ bụ monthlyLimitUsd ga-adịrịrị karịa efu. Fields nhọrọ: warningThreshold (01), resetInterval (daily | weekly | monthly), resetTime (HH:MM). Ọdịdị ochie {keyId, limit, period} na-eweghachi 400 Bad Request.

Oke Token

Mmefu token maka igodo API ọ bụla (dị iche na Mmefu dabere na USD dị nelu). A na-amanye ya ozugbo nụzọ arịrịọ: mgbe ojiji igodo nime 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 nogo global nofe igodo ahụ; mgbe ọtụtụ oke dabara notu 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): apiKeyId na scopeType (model | provider | global) bụ ihe achọrọ. A chọrọ scopeValue ma e wezụga mgbe scopeType bụ global (dịka ọmụmaatụ, id model maka scope model, ma ọ bụ id provider maka scope provider). tokenLimit ga-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). Nzaghachi GET na-agbakwunye tokensUsed, remaining, windowStart, periodStartAt, na nextResetAt na oke ọ bụla. Nke a bụ endpoint nke klaasị njikwa (authz pipeline na-amanye auth netiti usoro).

Nhazi Arịrịọ

  1. Client na-eziga arịrịọ na /v1/*
  2. Route handler na-akpọ handleChat, handleEmbedding, handleAudioTranscription, ma ọ bụ handleImageGeneration
  3. A na-achọpụta model (provider/model kpọmkwem ma ọ bụ alias/combo)
  4. A na-ahọrọ credentials site na DB mpaghara site niji nzacha nnweta account
  5. Maka chat: handleChatCore na-enyocha semantic/signature cache ma na-achọpụta ntọala mkpakọ combo
  6. Mkpakọ proactive na-arụ ọrụ tupu ntụgharị provider mgbe enyere ya ohere (lite, Caveman, RTK, ma ọ bụ ndị e jikọtara ọnụ)
  7. Provider executor na-eziga arịrịọ upstream
  8. A na-atụgharị nzaghachi laghachi nusoro client (chat) ma ọ bụ weghachite ya otu ọ dị (embeddings/images/audio)
  9. A na-edekọ ojiji, nyocha mkpakọ, na ndekọ arịrịọ
  10. 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ị nokpuru /api/combos*) 1:1 site na ụkpụrụ id model, nke na-enye ohere ibugharị id model ụdị OpenAI gaa na combo nenweghị 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ọ (1500, 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 commit 588a0333 maka 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]/assignments na POST /api/v1/management/proxies/[id]/health dị na nkọwa ọrụ ahụ bụ ụzọ /assignments na /health kwụ ọ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.mcpEnabled na settings.mcpTransport na-achịkwa ụzọ mbufe HTTP abụọ ahụ — ụzọ mbufe na-adabaghị na-eweghachi 400, ebe ọnọdụ MCP agbanyụghị na-eweghachi 503.


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 nahị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ọ nelu 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 kuki auth_token
  • Nbanye na-eji hash okwuntughe echekwara; ma ọ bụrụ na nke ahụ ada, ọ na-eji INITIAL_PASSWORD
  • Enwere ike ịgbanwuo requireLogin site na /api/settings/require-login
  • Ụzọ /v1/* nwere ike ịchọ Bearer API key mgbe REQUIRE_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 dashboard auth_token ma ọ bụ API key nwere oke njikwa). Ndị ahịa kpọburu ụzọ ndị a na-enweghị nkwenye njirimara ga-enweta 401 Unauthorized. Lee commit 588a0333 (fix(auth): require management auth for agent and cooldown APIs).