Batch 3 (last) of the locale-expansion plan: ha, yo, ig, am, uz, ka, hy on every surface — dashboard catalog, docs mirror (22-file core + llm.txt + CHANGELOG), CLI catalog, README flag block, locale tables and 🌐 language bars. Also closes the key gap the batch-1 (43 keys) and batch-2 (10 keys) catalogs carried since their base merges, fixes the Igbo "Model" copy and allowlists the Uzbek cognate. Translation-ratio baseline covers 65 locales. ⚠️ base-red inherited: #12732
123 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
title: "Ntụaka API" version: 3.8.51 lastUpdated: 2026-08-31
Ntụaka API
🌐 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
Ntụaka bụ isi maka API OmniRoute. Ọ na-ekpuchi ihu ọha /v1 na endpoint njikwa ndị a kacha eji 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.
API Faịlụ
Endpoint faịlụ dakọtara na OpenAI maka ntinye/mmepụta n'ìgwè na ibugo 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 API key e jiri nyochaa njirimara |
| GET | /v1/files/[id] |
Nweta metadata faịlụ |
| DELETE | /v1/files/[id] |
Hichapụ faịlụ |
| GET | /v1/files/[id]/content |
Nyefee ọdịnaya faịlụ ahụ na-agbanweghị agbanweghachi |
Nyocha njirimara: Bearer API key — a na-ekewapụta faịlụ n'otu n'otu dịka API key si dị site na getApiKeyRequestScope.
API Batches
Nhazi ọrụ n'ìgwè nke dakọtara na OpenAI.
| Usoro | Ụzọ | Nkọwa |
|---|---|---|
| POST | /v1/batches |
Mepụta batch — v1BatchCreateSchema na-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 gwụchara/kụrụ afọ n'ala |
| POST | /v1/batches/[id]/cancel |
Kagbuo batch a ka na-arụ ọrụ |
Nyocha njirimara: Bearer API key. A na-ekewapụta batches n'otu n'otu dịka API key si dị.
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).