Files
OmniRoute/docs/i18n/lv/docs/reference/API_REFERENCE.md
Diego Rodrigues de Sa e Souza 9debec71ec feat(i18n): 9 new locales — all 24 official EU languages (51 locales) (#13044)
Batch 1 of the locale expansion: Greek, Croatian, Serbian, Lithuanian, Estonian, Latvian, Slovenian, Maltese and Irish across the dashboard catalog, docs mirrors, CLI catalog, README, locale index and the site. 42 → 51 locales.

Also fixes the ICU literal escape the translation backend dropped around angle placeholders, four translations that invented or renamed a placeholder, the language bars that linked to mirrors that do not exist, and the migration count drift (171 → 172).

⚠️ base-red inherited: #12732 — the four unit shards and Fast Quality Gates fail identically on unrelated PRs cut from the same base.
2026-09-10 10:13:09 -03:00

120 KiB
Raw Permalink Blame History

API_REFERENCE (Latviešu)

🌐 Languages: 🇺🇸 English · 🇸🇦 ar · 🇦🇿 az · 🇧🇬 bg · 🇧🇩 bn · 🇨🇿 cs · 🇩🇰 da · 🇩🇪 de · 🇬🇷 el · 🇪🇸 es · 🇪🇪 et · 🇮🇷 fa · 🇫🇮 fi · 🇫🇷 fr · 🇮🇪 ga · 🇮🇳 gu · 🇮🇱 he · 🇮🇳 hi · 🇭🇷 hr · 🇭🇺 hu · 🇮🇩 id · 🇮🇹 it · 🇯🇵 ja · 🇰🇷 ko · 🇱🇹 lt · 🇮🇳 mr · 🇲🇾 ms · 🇲🇹 mt · 🇳🇱 nl · 🇳🇴 no · 🇵🇭 phi · 🇵🇱 pl · 🇵🇹 pt · 🇧🇷 pt-BR · 🇷🇴 ro · 🇷🇺 ru · 🇸🇰 sk · 🇸🇮 sl · 🇷🇸 sr · 🇸🇪 sv · 🇰🇪 sw · 🇮🇳 ta · 🇮🇳 te · 🇹🇭 th · 🇹🇷 tr · 🇺🇦 uk-UA · 🇵🇰 ur · 🇻🇳 vi · 🇨🇳 zh-CN · 🇹🇼 zh-TW



title: "API Reference" version: 3.8.51 lastUpdated: 2026-08-31

API Atsauce

🌐 Languages: 🇺🇸 English · 🇸🇦 ar · 🇦🇿 az · 🇧🇬 bg · 🇧🇩 bn · 🇨🇿 cs · 🇩🇰 da · 🇩🇪 de · 🇬🇷 el · 🇪🇸 es · 🇪🇪 et · 🇮🇷 fa · 🇫🇮 fi · 🇫🇷 fr · 🇮🇪 ga · 🇮🇳 gu · 🇮🇱 he · 🇮🇳 hi · 🇭🇷 hr · 🇭🇺 hu · 🇮🇩 id · 🇮🇹 it · 🇯🇵 ja · 🇰🇷 ko · 🇱🇹 lt · 🇮🇳 mr · 🇲🇾 ms · 🇲🇹 mt · 🇳🇱 nl · 🇳🇴 no · 🇵🇭 phi · 🇵🇱 pl · 🇵🇹 pt · 🇧🇷 pt-BR · 🇷🇴 ro · 🇷🇺 ru · 🇸🇰 sk · 🇸🇮 sl · 🇷🇸 sr · 🇸🇪 sv · 🇰🇪 sw · 🇮🇳 ta · 🇮🇳 te · 🇹🇭 th · 🇹🇷 tr · 🇺🇦 uk-UA · 🇵🇰 ur · 🇻🇳 vi · 🇨🇳 zh-CN · 🇹🇼 zh-TW

Galvenā atsauce OmniRoute API. Tā apraksta publisko /v1 virsmu un visbiežāk izmantotos pārvaldības galapunktus; mašīnlasāms docs/openapi.yaml un ceļkoku koks zem src/app/api/ ir visaptveroši avoti.


Satura rādītājs


Tērzēšanas pabeigšanas

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
}

Pielāgotas galvenes

Galvene Virziens Apraksts
X-OmniRoute-No-Cache Pieprasījums Iestatiet true, lai apietu kešatmiņu
x-omniroute-no-memory Pieprasījums Iestatiet true, lai izlaistu atmiņu + prasmju injicēšanu šim pieprasījumam (atspoguļo bez kešatmiņas; izvairās no zvana tokena/izmaksu papildu slodzes)
X-OmniRoute-Progress Pieprasījums Iestatiet true, lai saņemtu norises notikumus
X-Session-Id Pieprasījums Lipīga sesijas atslēga ārējai sesijas saistībai
x_session_id Pieprasījums Ar pasvītrojumu variants arī pieņemts (tiešais HTTP)
X-OmniRoute-Session-Id Pieprasījums Izsaucēja nodrošināts sesijas/tērzēšanas tags (arī baro atmiņu). Ja klāt, saglabāts burtiski call_logs.session_tag katrai sesijai piesaistītām izmaksām (#8249) — nekad netiek sintezēts, ja nav klāt
Idempotency-Key Pieprasījums Dedup atslēga (5s logs)
X-Request-Id Pieprasījums Alternatīva dedup atslēga
X-OmniRoute-Cache Atbilde HIT vai MISS (nestraumēts)
X-OmniRoute-Idempotent Atbilde true, ja deduplicēts
X-OmniRoute-Progress Atbilde enabled, ja norises izsekošana ir ieslēgta
X-OmniRoute-Session-Id Atbilde Efektīvais sesijas ID, ko izmanto OmniRoute
X-OmniRoute-Request-Id Atbilde Pieprasījuma korelācijas id (ja zināms)
X-OmniRoute-Version Atbilde OmniRoute būvējuma versija (vienmēr klāt)
X-OmniRoute-Cost-Saved Atbilde ASV dolāri, ko kešatmiņa ietaupīja HIT gadījumā (tikai kešatmiņas trāpījumi)
X-OmniRoute-Decision Atbilde Maršrutēšanas izsekošana: strategy=<name>; provider=<alias>; latency_ms=<n> (<name> ir kombo stratēģija vai single ne-kombo pieprasījumam) — vienmēr klāt pabeigtajām atbildēm

Nginz piezīme: ja paļaujaties uz pasvītrotajām galvenēm (piemēram, x_session_id), iespējojiet underscores_in_headers on;.

Izsmaksu telemetrijas galvenes: nestraumētas veiksmīgas atbildes satur arī X-OmniRoute-* izmaksu telemetrijas kopu — X-OmniRoute-Response-Cost (ASV dolāri, fiksētas 10 decimāls; 0.0000000000 bezmaksas/necenstai), X-OmniRoute-Tokens-In / X-OmniRoute-Tokens-Out, X-OmniRoute-Model, X-OmniRoute-Provider, X-OmniRoute-Latency-Ms, X-OmniRoute-Cache-Hit un X-OmniRoute-Fallback-Attempts (tikai kad > 0), kā arī X-OmniRoute-Request-Id un X-OmniRoute-Version. Šie tiek izdoti tērzēšanas pabeigšanām, /v1/responses, /v1/messages, un multivides gala punktiem/v1/embeddings, /v1/images/generations, /v1/audio/speech, /v1/audio/transcriptions, /v1/rerank, /v1/videos/generations, /v1/music/generations un /v1/moderations (vienmēr izmaksas 0). Multivides izmaksas tiek aprēķinātas katrai modalitātei (katram attēlam, katram sekundei, katram rakstzīmei, katram meklēšanas vienībai), kad pieejama cenu noteikšana, citādi 0 (neveiksme-atvērt).

Kešatmiņas trāpījumu izmaksu semantika: semantiskās kešatmiņas trāpījuma gadījumā (X-OmniRoute-Cache-Hit: true) augšupejas zvans netiek veikts, tāpēc X-OmniRoute-Response-Cost ir 0.0000000000 (trāpījuma papildu izmaksas). Sākotnējā/būtu bijusī izmaksas tiek ziņotas atsevišķi X-OmniRoute-Cost-Saved. Norēķinu patērētājiem jāsumē X-OmniRoute-Response-Cost (trāpījumi maksā neko); kešatmiņas analītika var apkopot X-OmniRoute-Cost-Saved.

Ekskluzīvas pārvaldītas sesijas nomas

Ekskluzīva pārvaldīta sesijas noma ir piedalīšanās, klienta neitrāls maršrutēšanas līgums: viens aktīvs īpašnieks tur vienu derīgu OmniRoute savienojumu. Tas nenomā modeli, neprasa OAuth, neidentificē konkrētu klientu un neprasa konkrētu pakalpojumu sniedzēju.

Autentificētajai API atslēgai ir jābūt ar scope lease:exclusive un skaidru nepukstu allowedConnections sarakstu. Datubāzes mutācijas robeža abus laukus piemēro kopā atslēgas izveidošanas un daļēju atjauninājumu laikā.

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

Veiksmīgas iegūšanas, atjaunošanas un izlaišanas atbildes parāda laika zīmogus, state un precīzu pozitīvu generation, bet nekad izvēlēto savienojumu vai akreditācijas datus. Atjaunošana un izlaišana nodrošina generāciju JSON ķermenī:

{ "action": "renew", "generation": 1 }
{ "action": "release", "generation": 1, "reason": "OWNER_EXIT" }

Aktīvās nomas īpašnieks var skaidri pieprasīt privātumu drošu displeja metadatus savai pašreizējai saitei:

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

Šo piedalīšanās statusa darbību ierobežo neredzamais īpašnieks, autentificētā pārvaldītā API atslēga un precīza aktīvā generācija vienā datubāzes transakcijā. displayName ir tikai iztīrīts konfigurēts savienojuma nosaukums; tas ir null, kad nav droša konfigurēta nosaukuma. OmniRoute nekad neaizstāj e-pastu vai ģenerētu konta identitāti. Pakalpojumu sniedzēja vērtība ir nejutīgs displeja iezīme un nekad nav ģenerēts saderīgs pakalpojumu sniedzēja identifikators. Akreditācijas dati, marķieri, sīkfaili, izejas savienojuma vai API atslēgu id, īpašnieka haši, aizsardzības noslēpumi un iekšējie maršrutēšanas dati tiek izslēgti.

Nepareizas atslēgas, nepareiza īpašnieka, novecojušas generācijas, trūkstošas, beigušās, izlaistas un anulētas meklēšanas visas atgriež to pašu 409 LEASE_FENCE_STALE kļūdu bez savienojuma metadatiem. Klients, kas saņēma capacities-gaida atbildi, nav aktīva saite, kas jāpārbauda. Kad maršrutēšana pārejina aktīvu nomu, tā pati generācija paliek derīga un statuss atomiski atgriež jauno saiti, nekad veco. Esošie klienti paliek nemainīti, jo iegūšanas, atjaunošanas, izlaišanas un gaida atbildes saglabā to iepriekšējos formātus.

Šis servera līgums nemaina parasto OpenAI Codex /status. Parastais Codex pašlaik ziņo savu pakalpojumu sniedzēja modeli un iebūvēto autentifikācijas/konta stāvokli, bet neizveido patvaļīgus pielāgotus pakalpojumu sniedzēja konta metadatus; vēlākai klienta integrācijai jāizsauc šī darbība un jāizlemj, kā parādīt connection.displayName.

Katra pārvaldītā inference pieprasījuma piegādā abus kontrolparametru galvenes:

X-OmniRoute-Lease-Owner: vlo_<43-base64url-characters>
X-OmniRoute-Lease-Generation: 1

Precīzs īpašnieks, generācija, aktīvais savienojums un autentificētā API atslēga tiek aizsargāti nekavējoties pirms katra atbalstītā augšupējā mēģinājuma. Atkārtojot īpašnieku un generāciju ar citu atslēgu, tas neizdodas pat tad, kad atī slēpj atļauj to pašu savienojumu. Neapstrādāti īpašnieki netiek saglabāti, reģistrēti, saglabāti pieprasījuma momentuzņēmumā vai nosūtīti augšupējā līmenī.

Īslaicīga konkurence atgriež HTTP 429 ar Retry-After un:

{
  "state": "WAITING_FOR_CAPACITY",
  "error": { "type": "lease_error", "code": "LEASE_CAPACITY_UNAVAILABLE" },
  "reason": "NO_FREE_ELIGIBLE_CONNECTION",
  "retryAfter": 30
}

Šī atilde nozīmē tikai to, ka parastais derīgo kopa bija nepuksta un ikviens brīvais kandidāts bija turēts ar ārēju aktīvu nomu. neatbalstīti modeļi/pakalpojumu sniedzēji, politikas neatbilstība, atdzesēšana, kvota, veselība un citas parastās derīguma kļūdas saglabā to pašreizējās OmniRoute atbildes.

x-omniroute-compression

Pieprasījuma līmeņa pārsniegums saspiešanas plānam. Augstākā priekšrocība — pārspēj maršrutēšanas-kombinācijas pārsniegumu, aktīvo profilu, automātisko aktivizēšanu un paneļa noklusējumu. Vērtības:

Vērtība Efekts
off Nav saspiešanas šim pieprasījumam.
default No paneļa atvasinātais noklusējuma profils (ignorē aktīvo profilu).
engine:<id> Vērtīga dzinēja, kad iespējots, piemēram, engine:rtk.
<combo> Nosaukta kombinācija, vispirms atbilst pēc nosaukuma (bez lielo/mazo burtu atšķirības), pēc tam pēc id.

Piezīmes:

  • Nezināmas vērtības tiek ignorētas (pieprasījums nekad netiek noraidīts); risinājums nonāk pie parastā operatora prioritātes.
  • Ja vairākas kombinācijas dala nosaukumu, izmantojiet kombinācijas id noteiktai atbilstībai.
  • Kombinācija, kuras nosaukums ir off vai default, nevar tikt izvēlēta pēc nosaukuma (šie atslēgvārdi tiek interpretēti vispirms); atsaucieties uz šādu kombināciju pēc tās id.
  • Galvenais saspiešanas slēdzis ir stingra vārti: kad saspiešana ir atspējota globāli, šī galvene to nevar iespējot.

Lietotais plāns tiek atbildēts atpakaļ atbildes galvenē:

X-OmniRoute-Compression: <mode>; source=<source>

kur <source> ir viens no request-header, routing-override, active-profile, auto-trigger, default vai off.


Iegultie ievadi

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

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

Pieejamie pakalpojumu sniedzēji: Nebius, OpenAI, Mistral, Together AI, Fireworks, NVIDIA, OpenRouter, Jina AI.

Kataloga identifikatori ir provider/model (piemērs: jina-ai/jina-embeddings-v5-omni-small). Tīrais Jina modeļa identifikatori, kas parādās reģistrā (piemēram, jina-embedlings-v5-text-small, jina-reranker-v3.5), arī tiek atpazīti. Jina embed/rerank/classify/segment vispirms izmanto informācijas paneļa jina-ai akreditācijas datus; JINA_AI_API_KEY ir tikai aizstājējs, kad nav informācijas paneļa atslēgas. jina-reader karte ir Reader / r.jina.ai tikai (POST /v1/web/fetch) un nekad nepiedāvā iegultos ievadus vai pārvērtēšanu.

Reģistra modeļi, kas piedāvā vairāku modalitāšu atbalstu, arī pieņem līdz 32 pakalpojumu sniedzēju neitrālas strukturētas vienības. Mediju viību tips ir text, image, audio, video un document. To mediju source ir vai nu {"type":"url","url":"https://..."}, vai {"type":"base64","data":"...","media_type":"..."}.

Jina v5 Omni (jina-ai/jina-embeddings-v5-omni-small, jina-ai/jina-embeddings-v5-omni-nano un ģimenes aizstājvārds jina-ai/jina-embeddings-v5-omni → omni-small) arī pieņem Jina vietējos EmbeddingsV5Request dokumentus un nesagrozītus tos pārsūta uz 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,..." }]
    }
  ]
}

Vietējās { image | audio | video | pdf } vērtības var būt publisks HTTPS URL, data: URI vai neapstrādāts base64. OmniRoute nepārvērš šos objektus par virkni un neizvelk vietējos attēlu URL — Jina izvelk publiskos medijus pati. Papildu Jina lauki (task, normalized, truncate, embedding_type) tiek pārsūtīti. Tikai teksta Jina nomenklatūras vienības joprojām noraida ne-teksta dokumentus.

Drošības un transporta robežas:

  • Attālajiem mediju URL jābūt publiskiem HTTPS. Kanoniskās {type,source:url} viības tiek izvilktas servera pusē (pāradresēšanas pārbaude, noildze, lieluma ierobežojumi, publiskais DNS, savienojuma fiksācija) un iekļautas pirms pakalpojumu sniedzēja izsaukuma. Jina vietējās {image:"https://..."} viības tiek pārsūtītas kā ir pēc tās pašas publiskās HTTPS pārbaudes; Jina izvelk URL.
  • Iekļautie base64 mediji ir ierobežoti līdz 8 MiB dekodēti vienai vienībai un 16 MiB dekodēti visam pieprasījumam.

Pakalpojumu sniedzēja tulkojums (kanoniskās viības nekad netiek pārsūtītas nemainītas):

  • Jina vairāku modalitāšu modeļi: katra augstākā līmeņa viība kļūst par vienu modalitātes atslēgu objektu (text / image / audio / video / pdf), izmantojot datu URI iekļautajiem medijiem; viens vektors par augstākā līmeņa vienību.
  • Gemini Embedding 2 ģimene: viens augstākā līmeņa masīvs kļūst par vienu vietējo models/{model}:embedContent pieprasījumu ar content.parts (text vai inline_data).
  • Nezināmi/dinamiski modeļi bez skaidras modalitātes metadatiem noraida strukturētu ievadu ar 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"
}

Neatbalstītas modeļa/modalitātes kombinācijas atgriež HTTP 400, nevis piespiež vienību. Neievades paplašinājuma lauki veco virkņu/žetonu pieprasījumos joprojām tiek pārsūtīti nemainīgi.

# Sarakstīt visus iegulušos ievadu modeļus
GET /v1/embeddings

Attēlu ģenerēšana

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

Pieejamie pakalpojumu sniedzēji: OpenAI (GPT Image 2), xAI (Grok Image), Together AI (FLUX), Fireworks AI, Nebius (FLUX), Hyperbolic, NanoBanana, OpenRouter, SD WebUI (local), ComfyUI (local).

# Uzskaitīt visus attēlu modeļus
GET /v1/images/generations

Dokumenta OCR

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 izvēlas OCR pakalpojumu sniedzēju, izmantojot provider/model prefiksu; tīrs modeļa identifikators (piem., mistral-ocr-latest) tiek novirzīts uz tā reģistrēto pakalpojumu sniedzēju, bet izlaistais model pēc noklusējuma ir Mistral (mistral-ocr-latest). Reģistrētie pakalpojumu sniedzēji (open-sse/config/ocrRegistry.ts):

Pakalpojumu sniedzēja ID Modeļa ID model vērtība Piezīmes
mistral mistral-ocr-latest mistral/mistral-ocr-latest (vai tīrs mistral-ocr-latest) Sinhrons — atbilde tiek atgriezta tieši no viena augšupējā izsaukuma.
azure-document-intelligence prebuilt-read azure-document-intelligence/prebuilt-read Asinhrons augšupējais process (analyze + izjautāšana) — skatīt zemāk.
vertex-deepseek-ocr deepseek-ocr-maas vertex-deepseek-ocr/deepseek-ocr-maas Sinhrons, izmantojot Vertex AI openapi/chat/completions partnera galapunktu — skatīt zemāk autentifikāciju/URL.

Visi trīs pakalpojumu sniedzēji atbild vienā Mistral formātā:

{
  "pages": [{ "index": 0, "markdown": "# Extracted text..." }],
  "model": "mistral-ocr-latest",
  "usage_info": { "pages_processed": 1 }
}

Azure Document Intelligence izjautāšanas plūsma

Azure Document Intelligence analyze API ir asinhrone: sākotnējais pieprasījums atgriež Operation-Location galveni tā vietā, lai atgrieztu saturu, un rezultāts ir jāizjautā. Apstrādātājs (open-sse/handlers/ocr.ts) izjautā šo URL katru sekundi līdz 30 mēģinājumiem, ātri neizdodas (nepatur izjautāšanu) nepareizas izjautāšanas atbildes vai "failed" statusa gadījumā, un atgriež 504, ja operācija joprojām tiek izpildīta pēc mēģinājumu budžeta izsīkuma. Galīgā Azure atbilde tiek normalizēta tajā pašā pages/markdown formātā, ko izmanto Mistral, pirms tā tiek atgriezta izsaucējam, tāpēc klienta kodam nav jāparedz īpašs apstrāde pakalpojumu sniedzējam.

Vertex AI DeepSeek OCR autentifikācija un galapunkta noskaidrošana

vertex-deepseek-ocr izmanto to pašu Vertex AI autentifikāciju, ko OmniRoute jau atbalsta tērzēšanas/attēlu plūsmām (open-sse/executors/vertex.ts): savienojuma API atslēga ir vai nu Dienesta konta JSON akreditācijas dati (apmaiņā pret īslaicīgu OAuth piekļuves žetonu, izmantojot JWT-nesēja plūsmu), vai jau izdots OAuth piekļuves žetons, ko izmanto kā tādu. Augšupējā galapunkta URL ir Vertex vispārīgais openapi/chat/completions partnera galapunkts, kas veidots no savienojuma projekta un reģiona — skaidrs providerSpecificData.project/providerSpecificData.region vienmēr uzvar; pretējā gadījumā projekts tiek atvasināts no Dienesta konta JSON project_id un reģions pēc noklusējuma ir us-central1. Abas noskaidrošanas notiek open-sse/handlers/ocr.ts (resolveVertexOcrAccessToken, resolveVertexOcrBaseUrl), ko patērē src/app/api/v1/ocr/route.ts pirms nosūtīšanas uz handleOcr.

Modeļu saraksts

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

→ Atgriež visus tērzēšanas, iegulstēšanas un attēlu modeļus + kombinācijas OpenAI formātā

Modeļu ID prefiksi (?prefix=)

Lielākā daļa modeļu tiek reklamēti ar piegādātāja prefiksu. Kuru prefiksu saņemat, nosaka karodziņš MODELS_CATALOG_PREFIX_MODE, un to var pārrakstīt katram pieprasījumam ar vaicājuma parametru — tas ir noderīgi klientam, kuram vajadzīgs tīrs saraksts, nemainot servera globālos iestatījumus visiem lietotājiem:

GET /v1/models?prefix=alias        # viens ID uz modeli — īsais aizstājvārda prefikss
GET /v1/models?prefix=dual         # abas formas (servera noklusējums)
GET /v1/models?prefix=canonical    # tikai pilnais piegādātāja-ID prefikss
Režīms Izdod Piezīdes
dual cc/claude-sonnet-4-6 un claude/claude-sonnet-4-6 Noklusējums. Abi ID vada uz to pašu modeli; saglabāti, lai klienta konfigurācijām, kas ir iekodētas jebkurā formā, turpinātu darboties. Apmēram divkāršo katalogu.
alias cc/claude-sonnet-4-6 Viena ieraksta uz modeli. Piegādātājiem bez atsevišķa aizstāvārda joprojām tiek izdots savs ieraksts, tāpēk nekas nav zaudēts.
canonical claude/claude-sonnet-4-6 Viena ieraksta uz modeli zem pilnā piegādātāja-ID prefiksa. Piegādātājiem bez atsevišķa aizstāvārda (piem., antigravity/…, agy/…) tiek izdots arī šeit viens ID, tāpēk nekas nav zaudēts.

dual režīma atspoguli var atpazīt arī bez vaicājuma parametra: tam ir parent lauks, kas norāda uz primāro ID.

Klienti, kas izveido modeļu izvēlni, vajadzētu pieprasīt ?prefix=alias — to dara OmniCopilot VS Code paplašinājums.

Domāšanas variants bez domāšanas

Domāšanas spējīgiem Claude modeļiem /v1/models arī reklamē domāšanas variantu bez domāšanas, kura ID ir ar prefiksu claude-3-omniroute-no-thinking/:

claude-3-omniroute-no-thinking/<piegādātājs>/<modelis>

Šo ID izvēloties (piem., Claude Code konfigurācijā, kas vienmēr pievieno thinking bloku), tas tiek atpakaļ novirzīts uz reālo <piegādātājs>/<modelis> ar aizspriedumu nomākts — thinking:{type:"disabled"} ceļā /v1/messages, vai reasoning/reasoning_effort laukiem izņemti ceļā /v1/chat/completions. variants tiek uzskaitīts tikai Claude modeļu saimei, kas atbalsta domāšanu un ievēro disabled (tātad, piem., tikai adaptīvie modeļi, kas noraida disabled, tiek izslēgti). Operatori variants var piespēst ieslēgt vai atslēgt katram modelim izmantojot ModelSpec.noThinkingAlias.


Pakalpojumu spraudņa manifests

GET /api/v1/provider-plugin-manifest

Atgriež JSON drošo pakalpojumu spraudņa manifestu, ko izmanto Bifrost, CLIProxyAPI un nākotnes sānu maršrutētāji. Atbilde tiek ģenerēta no TypeScript pakalpojumu reģistra un apzināti izslēdz OAuth klientu noslēpumus, izpildlaika vides risinājumu, izpildītāju funkcijas, pieprasījuma galvenes un konta datus.

Šo galapunktu izmantojiet, kad sānu maršrutētājs darbojas ārpus procesa un nevar tieši importēt open-sse/config/providerPluginManifestRegistry.ts.


Saderības galapunkti

Metode Ceļš Formāts
POST /v1/chat/completions OpenAI
POST /v1/messages Anthropic
POST /v1/responses OpenAI Responses
POST /v1/embeddings OpenAI
POST /v1/images/generations OpenAI attēli
POST /v1/images/edits OpenAI attēli (rediģēšana/aizpildīšana)
POST /v1/videos/generations OpenAI stila video ģenerēšana
POST /v1/music/generations OpenAI stila mūzikas ģenerēšana
POST /v1/audio/transcriptions OpenAI Audio (STT)
POST /v1/audio/speech OpenAI TTS (atgriež audio ķermeni)
POST /v1/rerank Cohere/Voyage stila pārkārtošana
POST /v1/classify Jina klasifikācija (api.jina.ai)
POST /v1/segment Jina segmentācija (segment.jina.ai)
POST /v1/moderations OpenAI moderēšana
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}/ OpenAI kataloga aliass
GET /api/v1/vscode/{token}/models OpenAI modeļu aliass
POST /api/v1/vscode/{token}/chat/completions OpenAI tokenizētais aliass
POST /api/v1/vscode/{token}/responses OpenAI Responses tokenizētais aliass
POST /api/v1/vscode/{token}/api/chat Ollama tokenizētais aliass
GET /api/v1/vscode/{token}/api/tags Ollama tags tokenizētais aliass

Visi POST maršruti seko vienādai formai: Bearer your-api-key + Zod validēts JSON ķermenis (v1RerankSchema, v1ModerationSchema, v1AudioSpeechSchema u.c., sk. src/shared/validation/schemas.ts). Pie schema kļūdas tiek atgriezts 4xx.

Klientiem, kas nevar pievienot Authorization: Bearer ..., OmniRoute arī pieņem API atslēgas URL vai nu caur vaicājuma strites saderību (?token=..., ?apiKey=..., ?api_key=..., ?key=...), vai arī ar tālāk dokumentētajiem īpašajiem /api/v1/vscode/{token}/... galapunktiem.

# Pārkārtošana
POST /v1/rerank      { "model": "jina-ai/jina-reranker-v3.5", "query": "...", "documents": ["..."] }

# Jina klasifikācija (Foundation API akreditācijas dati)
POST /v1/classify    { "model": "jina-embeddings-v5-text-small", "input": ["..."], "labels": ["a", "b"] }

# Jina segmentācija
POST /v1/segment     { "content": "...", "return_chunks": true }

# Jina meklēšana (s.jina.ai; pakalpojumu aliāsi: jina-search, jina-ai, jina)
POST /v1/search      { "query": "...", "provider": "jina-search" }

# Moderēšana
POST /v1/moderations { "model": "omni-moderation-latest", "input": "..." }

# TTS — atgriež audio/mpeg (vai pieprasītā formāta) ķermeni
POST /v1/audio/speech { "model": "openai/tts-1", "input": "Hello", "voice": "alloy" }

# Attēlu rediģēšana (daudzdaļīga)
POST /v1/images/edits  -F image=@input.png -F prompt="..." -F mask=@mask.png

# Video / mūzikas ģenerēšana (pakalpojumu prefiksā iekļauts modeļa id)
POST /v1/videos/generations { "model": "runway/gen-3", "prompt": "..." }
POST /v1/music/generations  { "model": "suno/v3.5",   "prompt": "..." }

Īpašie pakalpojumu maršruti

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

Pakalpojuma prefikss tiek automātiski pievienots, ja trūkst. Nepareizi modeļi atgriež 400.


Failu API

OpenAI saderīgs failu galapunkts ieplūdes/izplūdes partijai un failu mērķa augšupielādēšanai.

Metods Ceļš Apraksts
POST /v1/files Augšupielādēt failu (multipart: file, purpose, expires_after[anchor], expires_after[seconds]) — maks. 512 MiB
GET /v1/files Uzskaitīt autentificētai API atslēgai piederošos failus
GET /v1/files/[id] Iegūt faila metadatus
DELETE /v1/files/[id] Dzēst failu
GET /v1/files/[id]/content Strautos sūtīt neapstrādātā faila saturu

Autentifikācija: Nesošā API atslēga — faili tiek ierobežoti ar katru API atslēgu, izmantojot getApiKeyRequestScope.


Partiju API

OpenAI saderīga partiju apstrāde.

Metods Ceļš Apraksts
POST /v1/batches Izveidot partiju — ķermenis validēts ar v1BatchCreateSchema (input_file_id, endpoint, completion_window)
GET /v1/batches Uzskaitīt partijas
GET /v1/batches/[id] Iegūt partijas statusu + request_counts
DELETE /v1/batches/[id] Dzēst pabeigtu/neizdevušos partiju
POST /v1/batches/[id]/cancel Atcelt notiekošu partiju

Autentifikācija: Nesošā API atslēga. Partijas tiek ierobežotas ar katru API atslēgu.


Meklēšanas API

Tīmekļa/meklētāja pakalpojuma abstrakcija (Tavily, Brave, Exa, Serper u.c.).

Metods Ceļš Apraksts
GET /v1/search Uzskaitīt konfigurētos meklētāja pakalpojumus un iespējas
POST /v1/search Palaist meklēšanas vaicājumu — ķermenis validēts ar v1SearchSchema, atbalsta kešošanu/apvienošanu
GET /v1/search/analytics Statistika par trāpījumiem/latentumu/kešatmiņu katram pakalpojumam

Autentifikācija: Nesošā API atslēga (extractApiKey + isValidApiKey). Meklēšanas politika tiek piemērota, izmantojot enforceApiKeyPolicy.

Web Fetch API

Iegūstiet saturu no URL, izmantojot konfigurētu web-fetch sniedzēju (Firecrawl, Jina Reader, Tavily Extract, TinyFish Fetch, Nimble Extract).

Metode Ceļš Apraksts
POST /v1/web/fetch Iegūt/skrapeļot URL — ķermeni validē v1WebFetchSchema

Autentifikācija: Bearer API atslēga (extractApiKey + isValidApiKey). Politika piemērota ar enforceApiKeyPolicy.

Kvotu apzināts rezerves risinājums (#8297): kad nav norādīts skaidrs provider, pūls (firecrawljina-readertavily-searchtinyfishnimble-search) tiek parietas fiksētā prioritātes kārtībā (aizpildīt-pirmais) — tarifikācijai ierobežots, bet konfigurēts sniedzējs tiek izlaists, nevis pieprasījums tiek pārtraukts, un atkārtojams/kvotas augšteces kļūme (HTTP 429 vienmēr; 402/403 Firecrawl/Tavily/TinyFish kvotu tipa bezmaksas līmeņiem — ne Jina Reader, un nekad parasts 400 nepareizs pieprasījums) tiek nodots nākamajam neizmēģinātajam akreditētajam sniedzējam pieprasījuma laikā. Kad pūlā visi sniedzēji ir izsmelti, gala punkts atgriež vienu 429 (ar Retry-After galveni) iepriekšējā vispārīgā 400 vietā. Kad tiek pieprasīts skaidrs provider, nav klusā rezerves risinājuma — tarifikācijai ierobežots vai neveiksmīgs skaidrs sniedzējs parāda savu kļūdu (429, ja tarifikācijai ierobežots, citādi augšteces statuss).


WebSocket straumēšana

GET /v1/ws?handshake=1

Validē WebSocket jaunināšanas rokasspiedienu un atgriež tīkla protokola parauga ziņojumus (request, cancel). Faktiskie WS kadri tiek apstrādāti ar iekļauto WS serveri ārpus Next.js maršrutu tabulas.

Autentifikācija: Bearer API atslēga rokasspiediena laikā.

Responses API pār WebSocket (tikai codex)

# Tāds pats host:port kā HTTP API (noklusējuma 20128); jauniniet savienojumu:
wscat -c "ws://localhost:20128/v1/responses?api_key=<OMNIROUTE_API_KEY>"
# (vai: -H "Authorization: Bearer <OMNIROUTE_API_KEY>")

# Pirmais kads OBLIGĀTI jābūt response.create:
{ "type": "response.create", "model": "gpt-5.5", "input": [ { "role": "user", "content": "hi" } ] }

Responses-API-pār-WebSocket starpnieks ir savienots ekskluzīvi ar codex (ChatGPT aizmugure). Tas klausās tajā pašā portā kā API/dashboards ceļos /v1/responses, /responses, un /api/v1/responses. Pirmajā response.create kadā tas autentificē + sagatavo, izmantojot iekšējo codex-responses-ws tiltu, izvēlas codex OAuth savienojumu un tuneles uz wss://chatgpt.com/backend-api/codex/responses caur wreq-js transportu. Ne-codex modeļi tiek noraidīti (codex_ws_provider_required). Kvotas koplietošanas maršrutēšanai izmantojiet model: "qtSd/<group>/codex/<model>". Implementēts app/server-ws.mjs + scripts/dev/responses-ws-proxy.mjs + src/app/api/internal/codex-responses-ws/route.ts.

Autentifikācija: Bearer API atslēga rokasspiediena laikā. Iekļautais HTTP serveris (server-ws.mjs) jābūt aktīvajam ievadam (tas ir pēc noklusējuma, kad app/server-ws.mms pastāv).

Modeļa id: izmantojiet tīru ChatGPT id (bez codex/ prefiksa)

OpenAI Codex CLI validē modeļa nosaukumu klienta pusē, kad supports_websockets = true un noraida sniedzēja prefiksuscodex/gpt-5.5 (The 'codex/gpt-5.5' model is not supported when using Codex with a ChatGPT account). Nosūtīt tīru id (piem. gpt-5.5). OmniRoute tilts ir tikai codex, tāpēc tas atkārtoti izšķiro tīru id kā codex modeli (resolveCodexWsModelInfo) pirms tuneles uz augšteci — pat ja tīrs gpt-5.5 citādi tiktu maršruts uz citu sniedzēju caur HTTP.

OpenAI Codex CLI konfigurēšana

Norādiet Codex CLI uz OmniRoute, pievienojot pielāgotu sniedzēju ar WebSocket atbalstu ~/.codex/config.toml (izmantojiet atsevišķu CODEX_HOME, lai nesaskartos ar esošu konfigurāciju):

model = "gpt-5.5"                 # tīrs id — NE "codex/gpt-5.5"
model_provider = "omniroute"

[model_providers.omniroute]
name = "OmniRoute (WS)"
base_url = "http://localhost:20128/v1"   # bez slīpa svītra; WS URL tiek atvasināts (izmantojiet https/wss ražošanā)
wire_api = "responses"                    # atbalstītā vērtība kopš 2026. gada februāra
supports_websockets = true                # iespējojot Responses-over-WS transportu
env_key = "OMNIROUTE_API_KEY"             # satur OmniRoute API atslēgu (Bearer)
export OMNIROUTE_API_KEY=sk-...           # OmniRoute API atslēga (jebkura atslēga, ja REQUIRE_API_KEY=false)
codex exec "Responda apenas: PONG"

CLI jaunina base_url + /responses uz WebSocket un OmniRoute to tuneles uz izvēlēto codex OAuth savienojumu. Validēts end-to-end pret lokālo serveri: ChatGPT atgriež codex.rate_limits + response.created un straumē pabeigšanu.


Kvotas un problēmu pārskatīšana

Metode Ceļš Apraksts
GET /v1/quotas/check Iepriekšēja kvotas pārbaude provider + accountId pirms reģistrētas atslēgas izsniegšanas
POST /v1/issues/report Ziņot par kvotas/atslēgas izsniegšanas kļūdu GitHub (nepieciešams GITHUB_ISSUES_REPO + tokens)

Autentifikācija: Bearer API atslēga (isAuthenticated).


Pašapkalpošanās lietošana (/api/usage/om-usage)

Jebkura API atslēga var lasīt sava izmantošanu un kvotas — bez pārvaldības autentifikācijas. Šis ir galapunkts, ko klients (CLI, OmniCopilot panelis) izmanto, lai parādītu atslēgas turētājam viņa tēriņus.

# Teksta forma (vēsturiskais līgums — vienkāršs tekstam terminalī)
curl -H "Authorization: Bearer <your-api-key>" \
  http://localhost:20128/api/usage/om-usage

# Strukturēta forma — ko UI izmanto
curl -H "Authorization: Bearer <your-api-key>" \
  "http://localhost:20128/api/usage/om-aste?format=json"

Atslēgai jābūt ar allowCommandUsage iespējotu (pēc noklusējuma izslēgts — dashboard API atslēgu pārvaldītājs to pārslēdz katrai atslēgai atsevišķi). Bez tā galapunkts atbild ar 403.

?format=json atgriež diskriminējošu formu, lai izsaucošais nekad nelasītu datu lauku no noraidījuma. Veiksmīgā gadījumā:

{
  "allowed": true,
  // atrodas tikai tad, ja atslēga ir pievienojusies atslēgu lietošanas ierobežojumiem (dienas/nedēļas USD):
  "personal": {
    "dailySpentUsd": 1.25,
    "dailyLimitUsd": 5,
    "dailyResetAtIso": "…",
    "weeklySpentUsd": 8,
    "weeklyLimitUsd": 20,
    "weeklyResetAtIso": "…" /*  */,
  },
  // izvēlētā pakalpojumu sniedzēja kvotas kopija, vai null, kad vēl nav nekas kešots:
  "provider": {
    "connectionId": "…",
    "provider": "claude",
    "plan": "…",
    "quotas": {/*  */},
  },
  // katras savienojuma kopija, lai UI varētu parādīt vairākus pakalpojumu sniedzējus blakus:
  "providers": [
    { "connectionId": "…", "provider": "claude" /*  */ },
    { "provider": "codex" /*  */ },
  ],
}

Noraidījuma gadījumā (401 nepareiza atslēga / 403 nav atļauts) tas pats maršruts atgriež { "allowed": false, "error": { "message": "…" } } — klāt esošs, bet tukšs personal/provider (atslēga atļauta, vēl nekas nav noskaidrots) ir atšķirīgs stāvoklis no noraidījuma, un to atšķir tikai JSON forma.

Autentifikācija: izsaucošā sava Bearer API atslēga, validēta ar isValidApiKey — tā nav pārvaldības virsmas (/api/keys/…), kas paliek aiz requireManagementAuth.


Semantiskā kešatmiņa

# Iegūt kešatmiņas statistiku
GET /api/cache/stats

# Notīrīt visas kešatmiņas
DELETE /api/cache/stats

Atbildes piemērs:

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

Aiztures ietekme

Semantiskā kešatmiņas trāpījums apkalpo atbildi no kešatmiņas bez augšupēja izsaukuma, tāpēc ziņotais X-OmniRoute-Response-Latency ir tuvu nullei (neatkarīgi no sākotnējās augšupējas aiztures). Aizturīgi klienti (novērtējumi, p50/p99 monitorings) jāpārbauda X-OmniRoute-Cache-Latency atbildes galvene:

Vērtība Nozīme
synthetic Atbilde apkalpota no kešatmiņas; aizture nav reālā augšupēja laika
(nav) Atbilde no reālā augšupēja izsaukuma

Atslēgas kešatmiņas apiešana

API atslēgas var atteikties no semantiskās kešatmiņas nolasīšanas, izmantojot cacheDefaultMode:

Vērtība Uzvedība
legacy Normāla kešatmiņas uzvedība (noklusējuma)
bypass Pilnībā izlaist kešatmiņas meklēšanu; vienmēr trāpīt augšupē

Iestatīts atslēgas izveidošanas laikā (POST /api/keys) vai atjaunināšanas laikā (PATCH /api/keys/[id]):

{ "cacheDefaultMode": "bypass" }

Pieprasījuma apiešana

Jebkurš pieprasījums var apiet kešatmiņu neatkarīgi no atslēgas iestatījumiem:

X-OmniRoute-No-Cache: true

Pārvaldības panelis un vadība

Pārvaldības maršrutus (/api/*, izņemot publisko autentifikāciju/pieteikšanos) neautorizē parastas piekļuves atslēgas. Pārvaldības autentifikāciju, pierakstu lomas un curl piemērus meklē: Pārvaldības autentifikācija.

Autentifikācija

Galapunkts Metode Apraksts
/api/auth/login POST Pieteikšanās
/api/auth/logout POST Iziet
/api/settings/require-login GET/PUT Pārslēgt prasīto pieteikšanos

Pakalpojumu sniedzēju pārvaldība

Galapunkts Metode Apraksts
/api/providers GET/POST Sarakstīt / izveidot pakalpojumu sniedzējus
/api/providers/[id] GET/PUT/DELETE Pārvaldīt pakalpojumu sniedzēju
/api/providers/[id]/test POST Testēt pakalpojumu sniedzēja savienojumu
/api/providers/[id]/models GET Sarakstīt pakalpojumu sniedzēja modeļus
/api/providers/validate POST Validēt pakalpojumu sniedzēja konfigurāciju
/api/providers/bulk POST Masveidā pievienot API atslēgas VIENAM pakalpojumu sniedzējam
/api/providers/import POST Importēt nevienotu pakalpojumu sniedzēju sarakstu no parsēta CSV/JSON faila (#6836); rindiņu daļējas kļūdas rezultāti
/api/provider-nodes* Dažādas Pakalpojumu sniedzēju mezglu pārvaldība
/api/provider-models GET/POST/PATCH/DELETE Pielāgoti modeļi (pievienot, atjaunināt, paslēpt/rādīt, dzēst)

OAuth plūsmas

Galapunkts Metode Apraksts
/api/oauth/[provider]/[action] Dažādas Pakalpojumu sniedzējam specifiskā OAuth

Maršrutizēšana un konfigurācija

Galapunkts Metode Apraksts
/api/models/alias GET/POST Modeļu aizstājvārdi
/api/models/catalog GET Visi modeļi pēc sniedzēja + tipa
/api/combos* Dažādas Kombo pārvaldība
/api/keys* Dažādas API atslēgu pārvaldība
/api/pricing GET Modeļu cenu noteikšana

Lietošana un analītika

Galapunkts Metode Apraksts
/api/usage/history GET Lietošanas vēsture
/api/usage/logs GET Lietošanas žurnāli
/api/usage/request-logs GET Pieprasījumu līmeņa žurnāli
/api/usage/[connectionId] GET Lietošana pa savienojumu
/api/usage/token-limits GET/POST/DELETE Pa API atslēgu žetonu robežbudžeti
/api/usage/model-latency-stats GET Slīdošā pakalpojumu sniedzēja/modeļa aizture (vid/p50/p95/p99, panākumu līmenis); filtrēšana: windowHours/minSamples/maxRows/provider/model (#6873)
/api/usage/cache-performance GET Ātrā kešatmiņas veselības kopsavilkums call_logs — rakstīšanas/lasīšanas attiecība, p50/p90/p99 rakstīšanas izmēru sadalījums, intensīvas rakstīšanas koncentrācija, pa modeļiem sadalījums, un healthy/degraded/thrash/no-data spriedums; vaicājuma parametri range (1h|24h|7d|30d, noklusējuma 24h) un izvēles model (#8827)

Iestatījumi

Galapunkts Metode Apraksts
/api/settings GET/PUT/PATCH Vispārīgie iestatījumi
/api/settings/proxy GET/PUT Tīkla starpnieka konfigurācija
/api/settings/proxy/test POST Testēt starpnieka savienojumu
/api/settings/ip-filter GET/PUT IP atļauto/blokēto sarakstu filtrs
/api/settings/thinking-budget GET/PUT Domāšanas/prātošanas pieprasījuma režīma pārrakstīšana (caurlaide / automātiskā noņemšana / pielāgota / adaptīva). Neatkarīga no saspiešanas. Sk. THINKING_BUDGET.md.
/api/settings/system-prompt GET/PUT Globālais sistēmas piedāvājums
/api/settings/compression GET/PUT Globālā saspiešanas konfigurācija
/api/settings/purge-request-history POST Notīrīt pieprasījumu žurnāla rindas un vietējos zvanu žurnāla artefaktus

Konteksts un saspiešana

Galapunkts Metode Apraksts
/api/compression/preview POST Priekšskatīt off/lite/standard/aggressive/ultra/RTK/stacked saspiešanu
/api/compression/language-packs GET Sarakstīt pieejamās Caveman valodu pakotnes
/api/compression/rules GET Sarakstīt Caveman noteikumu metadatus
/api/context/caveman/config GET/PUT Caveman specifisko iestatījumu aizstājvārds
/api/context/rtk/config GET/PUT RTK specifiskie iestatījumi, ieskaitot pielāotos filtrus un neapstrādātā izvades saglabāšanu
/api/context/rtk/filters GET RT filtru katalogs un pielāgoto filtru diagnostika
/api/context/rtk/test POST Veikt RT priekšskatījumu/testu pret teksta ievadi
/api/context/rtk/raw-output/[id] GET Lasīt saglabātu rediģētu neapstrādāto izvadi pēc指针 id
/api/context/combos GET/POST Saspiešanas kombo saraksts/izveide
/api/context/combos/[id] GET/PUT/DELETE Saspiešanas kombo detaļas/atjaunināšana/dzēšana
/api/context/combos/[id]/assignments GET/PUT Piešķirt saspiešanas kombo maršrutēšanas kombo
/api/context/analytics GET Saspiešanas analītikas aizstājvārds

Uzraudzība

Galapunkts Metode Apraksts
/api/sessions GET Aktīvo sesiju izsekošana
/api/rate-limits GET Pa kontam ātruma ierobežojumi
/api/monitoring/health GET Veselības pārbaude + pakalpojumu sniedzēja kopsavilkums (catalogCount, configuredCount, activeCount, monitoredCount)
/api/cache/stats GET/DELETE Kešatmiņas statistika / notīrīt
/api/modality-bridge/stats GET Atmiņā esošie attempts, panākumi/bridged, kļūdas, kešatmiņas trāpījumi, totalLatencyMs, latencySamples, vidējā aizture (aprēķināta pēc paraugiem) averageLatencyMs, un pēdējās lietošanas laiks (tiek atiestatīta restartējot; pārvaldības autentifikācija)
/api/modality-bridge/video/runtime GET Stingra uzticama atpakaļcikla pārbaude pirms pārvaldības autentifikācijas/probes; sanitizēta FFmpeg/ffprobe pieejamība un versijas (nesaglabājas)
/api/modality-bridge/video/extract POST Iekšējais autentificētais uzticamā atpakaļcikla baitu starpnieks; 50 MiB ievade, ierobežota rinda/32 MiB izvade, 503 kapacitāte, 499 atvienošana, 504 termiņš; nav publiska augšupielādes API

Rezerves kopēšana un eksportēšana/importēšana

Galapunkts Metode Apraksts
/api/db-backups GET Sarakstīt pieejamās rezerves kopijas
/api/db-backups PUT Izveidot manuālu rezerves kopiju
/api/db-backups POST Atjaunot no konkrētas rezerves kopijas
/api/db-backups/export GET Lejupielādēt datubāzi kā .sqlite failu
/api/db-backups/import POST Augšupielādēt .sqlite failu, lai aizstātu datubāzi
/api/db-backups/exportAll GET Lejupielādēt pilnu rezerves kopiju kā .tar.gz arhīvu

Mākoņa sinhronizācija

Galapunkts Metode Apraksts
/api/sync/cloud Dažādas Mākoņa sinhronizācijas darbības
/api/sync/initialize POST Inicializēt sinhronizāciju
/api/cloud/* Dažādas Mākoņa pārvaldība

Tuneļi

Galapunkts Metode Apraksts
/api/tunnels/cloudflared GET Nolasīt Cloudflare Quick Tunnel uzstādīšanas/darbības statusu pārvaldības panelim
/api/tunnels/cloudflared POST Iespējot vai atspējot Cloudflare Quick Tunnel (action=enable/disable)
/api/tunnels/ngrok GET Nolasīt ngrok tuneļa darbības statusu pārvaldības panelim
/api/tunnels/ngrok POST Iespējot vai atspējot ngrok Tuneļu (action=enable/disable)

CLI rīki

Galapunkts Metode Apraksts
/api/cli-tools/claude-settings GET Claude CLI statuss
/api/cli-tools/codex-settings GET Codex CLI statuss
/api/cli-tools/droid-settings GET Droid CLI statuss
/api/cli-tools/openclaw-settings GET OpenClaw CLI statuss
/api/cli-tools/runtime/[toolId] GET Vispārīgais CLI izpildlaiks

CLI atbildēs iekļauts: installed, runnable, command, commandPath, runtimeMode, reason.

ACP aģenti

Galapunkts Metode Apraksts
/api/acp/agents GET Sarakstīt visus konstatētos aģentus (iestatītos + pielāgotos) ar statusu
/api/acp/agents POST Pievienot pielāgotu aģentu vai atsvaidzināt konstatēšanas kešatmiņu
/api/acp/agents DELETE Noņemt pielāgoto aģentu pēc id vaicājuma parametra

GET atbildē iekļauts agents[] (id, nosaukums, binārais, versija, instalēts, protokols, isCustom) un summary (kopā, instalēts, nav atrasts, iebūvēts, pielāgots).

Noturība un ātruma ierobežojumi

Galapunkts Metode Apraksts
/api/resilience GET/PATCH Iegūt/atjaunināt pieprasījumu rindu, savienojuma atdzišanu, pakalpojumu sniedzēja pārtraucēju un gaidīšanas iestatījumus
/api/resilience/reset POST Atiestatīt pakalpojumu sniedzēju ķēžu pārtraucējus
/api/resilience/model-cooldowns GET Sarakstīt aktīvos ierobežojumus pa (sniedzējs, savienojums, modelis), šķirot pēc atlikušā laika
/api/resilience/model-cooldowns DELETE Notīrīt modeļa ierobežojumu — ķermeņa {provider, model} vai {all: true}, lai izdzēstu visu
/api/rate-limits GET Pa kontam ātruma ierobežojuma statuss
/api/rate-limit GET Globālā ātruma ierobežojuma konfigurācija

Visi četri /api/resilience/* maršruti prasa pārvaldības autentifikāciju (requireManagementAuth). Sk. Noturība (paplašināta) pilnam pārtraucēja vs atdzišanas laika vs modeļa ierobežojuma salīdzinājumam.

Vērtējumi

Galapunkts Metode Apraksts
/api/evals GET/POST Sarakstīt vērtēšanas kopas / palaist vērtēšanu

Politikas

Galapunkts Metode Apraksts
/api/policies GET/POST/DELETE Pārvaldīt maršrutēšanas politikas

Atbilstība

Galapunkts Metode Apraksts
/api/compliance/audit-log GET Atbilstības audita žurnāls (pēdējie N)

v1beta (saderīgs ar Gemini)

Galapunkts Metode Apraksts
/v1beta/models GET Sarakstīt modeļus Gemini formātā
/v1beta/models/{...path} POST Gemini generateContent galapunkts

Šie galapunkti atdarina Gemini API formātu klientiem, kas sagaida natīvu Gemini SDK savietojamību.

Iekšējās / Sistēmas API

Galapunkts Metode Apraksts
/api/init GET Lietojumprogrammas inicializācijas pārbaude (izmantota pirmajā palaišanā)
/api/tags GET Ar Ollama saderīgas modeļa birkas (Ollama klientiem)
/api/restart POST Izraisīt elegantu servera restartēšanu
/api/shutdown POST Izraisīt elegantu servera izslēgšanu
/api/system/env/repair POST Labot OAuth pakalpojumu sniedzēja vides mainīgos

Piezīme: Šos galapunktus izmanto sistēma iekšēji vai Ollama klientu savietojamībai. Tie parasti nav paredzēti galotnes lietotāju izsaukšanai.

OAuth vides labošana (v3.6.1+)

POST /api/system/env/repair
Content-Type: application/json

{
  "provider": "claude-code"
}

Labo trūkstošus vai bojātus OAuth vides mainīgos konkrētam pakalpojumu sniedzējam. Atgriež:

{
  "success": true,
  "repaired": ["CLAUDE_CODE_OAUTH_CLIENT_ID", "CLAUDE_CODE_OAUTH_CLIENT_SECRET"],
  "backupPath": "/home/user/.omniroute/backups/env-repair-2026-04-11.bak"
}

Audio Transcription

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

Translē audio failus, izmantojot jebkuru konfigurētu STT pakalpojumu sniedzēju. Pirmais ceļa segments izvēlas nātīvo pakalpojumu sniedzēju (openai/…, deepgram/…). Vārtejas, kas atkārtoti eksportē citas piegādātāja modeli, izmanto kvalificētu identifikatoru (openrouter/deepgram/nova-3).

Pieprasījums:

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

Atbilde:

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

Modeļu identifikatoru piemēri: openai/whisper-1 (nepieciešama OpenAI atslēga), openrouter/deepgram/nova-3 (nepieciešama OpenRouter atslēga), deepgram/nova-3 (nepieciešama nātīvā Deepgram atslēga). Tīrs deepgram/nova-3 pieprasījums neizmanto OpenRouter.

Atbalstītie formāti: mp3, wav, m4a, flac, ogg, webm.


Ollama Saderība

Klientiem, kas izmanto Ollama API formātu:

# Tērzēšanas galapunkts (Ollama formāts)
POST /v1/api/chat

# Modeļu uzskaitījums (Ollama formāts)
GET /api/tags

Pieprasījumi automātiski tiek tulki starp Ollama un iekšējiem formātiem.

Tokenizēti VS Code / Bezgalvenes Aliasi

Izmantojiet šos aliasus, kad integrācija nevar ievadīt Authorization galveni un nepieciešams API atslēgu iegult pamatvietnē.

# OpenAI stila kataloga aliass
GET /api/v1/vscode/{token}/
GET /api/v1/vscode/{token}/models

# OpenAI stila tērzēšanas aliass
POST /api/v1/vscode/{token}/chat/completions
POST /api/v1/vscode/{token}/responses

# Ollama stila aliass
POST /api/v1/vscode/{token}/api/chat
GET /api/v1/vscode/{token}/api/tags

Piemērs:

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

Piezīmes:

  • Tokenizētie aliasi izmanto tos pašus apstrādātājus kā /v1/* un /api/tags; atbilžu struktūras paliek identiskas.
  • Dodiet priekšroku Authorization: Bearer ..., kad klients atbalsta pielāgotas galvenes.
  • URL bāzētas atslēgas var parādīties reverso starpnieku žurnālos, pārlūka vēsturē un telemetrijā ārpus OmniRoute. Uztveriet tās kā saderības iespēju, nevis noklusējuma autentifikācijas režīmu.

Telemetrija

# Iegūt aiztures telemetrijas kopsavilkumu (p50/p95/p99 katram pakalpojumu sniedzējam)
GET /api/telemetry/summary

Atbilde:

{
  "providers": {
    "claudeCode": { "p50": 245, "p95": 890, "p99": 1200, "count": 150 },
    "github": { "p50": 180, "p95": 620, "p99": 950, "count": 320 }
  }
}

Budžets

# Iegūt budžeta statusu visām API atslēgām
GET /api/usage/budget

# Iestatīt vai atjaunināt budžetu
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"
}

Shēmas piezīmes (setBudgetSchema): apiKeyId ir obligāts; vismaz vienam no dailyLimitUsd, weeklyLimitUsd vai monthlyLimitUsd jābūt lielākam par nulli. Fakultatīvie lauki: warningThreshold (01), resetInterval (daily | weekly | monthly), resetTime (HH:MM). Mantotā {keyId, limit, period} struktūra atgriež 400 Bad Request.

Token limiti

Katras API atslēgas token budžeti (atšķirīgi no iepriekš minētā USD bāzētā Budžeta). Tie tiek piemēroti pieprasījuma ceļā: kad atslēgas pašreizējais loga lietojums sasniedz limitu, pieprasījumi tiek noraidīti ar 429 Too Many Requests. Limiti var būt noteikti konkrētam model, provider vai piemēroti global atslēgai; ja vairāki limiti atbilst pieprasījumam, tiek piemērots visierobežojošākais.

# Uzskaitīt atslēgas token limitus (ietver aktīvo loga lietojumu)
GET /api/usage/token-limits?apiKeyId=key-123

# Izveidot vai atjaunināt token limitu
POST /api/usage/token-limits
Content-Type: application/json

{
  "apiKeyId": "key-123",
  "scopeType": "model",
  "scopeValue": "openai/gpt-4o",
  "tokenLimit": 1000000,
  "resetInterval": "monthly",
  "enabled": true
}

# Dzēst token limitu pēc id
DELETE /api/usage/token-limits?id=tl-abc

Shēmas piezīmes (setTokenLimitSchema): apiKeyId un scopeType (model | provider | global) ir obligāti. scopeValue ir obligāts, ja scopeType nav global (piemēram, modeļa id model mērogam, pakalpojuma sniedzēja id provider mērogam). tokenLimit jābūt pozitīvam veselam skaitlim (piespiests no virknes). Fakultatīvi: id (izlaidiet, lai izveidotu; norādiet, lai atjauninātu), resetInterval (daily | weekly | monthly, noklusējums monthly), resetTime (HH:MM), enabled (noklusējums true). GET atbildes papildina katru limitu ar tokensUsed, remaining, windowStart, periodStartAt un nextResetAt. Šis ir pārvaldības klases galapunkts (autentifikācija tiek centralizēti piemērota ar autentifikācijas cauruļvadu).

Pieprasījumu apstrāde

  1. Klients sūta pieprasījumu uz /v1/*
  2. Maršruta apstrādātājs izsauc handleChat, handleEmbedding, handleAudioTranscription vai handleImageGeneration
  3. Tiek atrisināts modelis (tiešais pakalpojuma sniedzējs/ modelis vai aizstājējs/kombinācija)
  4. No lokālās datubāzes tiek izvēlētas akreditācijas dati ar konta pieejamības filtrēšanu
  5. Tērzēšanai: handleChatCore pārbauda semantisko/paraksta kešatmiņu un atrisina kombinācijas saspiešanas iestatījumus
  6. Iepriekšējā saspiešana notiek pirms pakalpojuma sniedzēja tulkošanas, kad tā ir iespējota (lite, Caveman, RTK vai sakārtota)
  7. Pakalpojuma sniedzēja izpildītājs sūta augšupejošu pieprasījumu
  8. Atbilde tiek atulkta atpakaļ klienta formātā (tērzēšanai) vai atgriezta kā tāda (iekļaušanas attēli/audio)
  9. Tiekt reģistrēts lietojums, saspiešanas analītika un pieprasījumu žurnāli
  10. Kļūdu gadījumā tiek piemērots atkāpšanās plāns saskaņā ar kombinācijas noteikumiem

Pilna arhitektūras atsauce: ARCHITECTURE.md


Kombināciju pārvaldība

Augstāka līmeņa maršrutēšanas kombinācijas (jau kopsavilkots zem /api/combos*) var arī kartēt 1:1 no modeļa id modeļa, ļaujot pāredzēt OpenAI stila modeļa id pārvirzīšanu uz kombināciju.

Metode Ceļš Apraksts
GET /api/model-combo-mappings Uzskaitīt visas modelis→kombinācija kartēšanas
POST /api/model-combo-mappings Izveidot kartēšanu — korpuss: {pattern, comboId, priority?, enabled?, description?}
GET /api/model-combo-mappings/[id] Iegūt vienu kartēšanu
PUT /api/model-combo-mappings/[id] Atjaunināt esošas kartēšanas laukus
DELETE /api/model-combo-mappings/[id] Noņemt kartēšanu

Autentifikācija: pārvaldības sesija/ API atslēga (requireManagementAuth).

Webhooks

Izejošo webhook abonementu apraksti OmniRoute notikumiem (pieprasījuma pabeigšana, kvotu izsīkšana, atslēgu rotācija utt.).

Metode Ceļš Apraksts
GET /api/webhooks Uzskaitīt webhooks (noslēpumi ir maskēti kā <prefix>...)
POST /api/webhooks Izveidot webhook — pamatteksts: {url, events?: ["*"], secret?, description?}
GET /api/webhooks/[id] Iegūt webhook
PUT /api/webhooks/[id] Atjaunināt url/events/secret/description
DELETE /api/webhooks/[id] Noņemt webhook
POST /api/webhooks/[id]/test Nosūtīt testa datu kopu uz webhook URL un atgriezt piegādes statusu

Autentifikācija: pārvaldības sesija/API atslēga (requireManagementAuth).


Reģistrētās atslēgas (Automātiskā pārvaldība)

Izmanto automātiskās atslēgu pārvaldības apakšsistēma, lai izsniegtu un rotētu API atslēgas pret atbalsta pakalpojumu sniedzēju/kontu, ar dienas/stundas kvotām.

Metode Ceļš Apraksts
GET /api/v1/registered-keys Uzskaitīt reģistrētās atslēgas (tikai maskēts prefikss)
POST /api/v1/registered-keys Izsniegt jaunu reģistrētu atslēgu — pamatteksts: {name, provider?, accountId?, idempotencyKey?, expiresAt?, dailyBudget?, hourlyBudget?}. Atgriež neapstrādāto atslēgu vienu reizi. Atgriež 429, ja kvota tiek atteikta.
GET /api/v1/registered-keys/[id] Iegūt reģistrētas atslēgas metadatus (bez neapstrādāta materiāla)
DELETE /api/v1/registered-keys/[id] Atsaukt reģistrētu atslēgu
POST /api/v1/registered-keys/[id]/revoke Skaidrs atsaukšanas galapunkts (tāds pats efekts kā DELETE)

Autentifikācija: Bearer API atslēga (isAuthenticated). Skatīt arī /v1/quotas/check un /v1/issues/report.

Aģentu protokols

Mākoņa aģentu uzdevumi (Claude Code, Codex Cloud, OpenHands utt.), kas izpildīti attālināti OmniRoute lietotāju vārdā.

Metode Ceļš Apraksts
GET /api/v1/agents/tasks Uzdevumu saraksts — fakultatīvi ?provider=, ?status=, ?limit= (1500, noklusējums 50)
POST /api/v1/agents/tasks Izveidot uzdevumu — ķermenis validēts ar CreateCloudAgentTaskSchema (providerId, prompt, source, options?). Atgriež 201 ar uzdevuma apvalku
DELETE /api/v1/agents/tasks?id=... Dzēst uzdevumu
GET /api/v1/agents/tasks/[id] Nolasīt uzdevumu — sinhroni atsvaidzina statusu no augšējā līmeņa mākoņa aģenta, kad iestatīts external_id
POST /api/v1/agents/tasks/[id] Diskriminēta darbība: {action: "approve"}, {action: "message", message} vai {action: "cancel"}
DELETE /api/v1/agents/tasks/[id] Dzēst konkrētu uzdevumu pēc id

Autentifikācija: katrā metodē nepieciešama pārvaldības autentifikācija (requireCloudAgentManagementAuth). Pirms v3.8.0 tie bija bez autentifikācijas — skatiet commit 588a0333 par izmaiņām, kas pārtrauca darbību.

# Izveidot Claude Code mākoņa uzdevumu
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":"..."}}'

Pārvaldības starpnieki

Izejošie HTTP(S)/SOCKS starpnieki, kurus var piešķirt pakalpojumu sniedzējiem, kontiem vai globāli.

Metode Ceļš Apraksts
GET /api/v1/management/proxies Starpnieku saraksts (ar ?id= atgriež vienu; ar ?id=&where_used=1 atgriež piešķīrumu grafiku)
POST /api/v1/management/proxies Izveidot starpnieku — ķermenis validēts ar createProxyRegistrySchema
PATCH /api/v1/management/proxies Atjaunināt starpnieku — ķermenis validēts ar updateProxyRegistrySchema (nepieciešams id)
DELETE /api/v1/management/proxies?id=...&force=1 Dzēst starpnieku (izmantojiet force=1, lai atvienotu piešķīrumus)
GET /api/v1/management/proxies/assignments Piešķīrumu saraksts — filtrējams pēc proxy_id, scope, scope_id; padod resolve_connection_id=<id>, lai atrisinātu aktīvo starpnieku savienojumam
PUT /api/v1/management/proxies/assignments Piešķirt — ķermenis validēts ar proxyAssignmentSchema ({scope, scopeId?, proxyId?}). Notīra dispečera kešatmiņu
PUT /api/v1/management/proxies/bulk-assign Masveida piešķiršana — ķermenis validēts ar bulkProxyAssignmentSchema ({scope, scopeIds[], proxyId?})
GET /api/v1/management/proxies/health?hours=24 Agregēts starpņiku veselības stāvoklis (veiksmes/neveiksmju skaitītāji, latentums) pār logu

Autentifikācija: pārvaldības sesija/API atslēga katrā maršrutā (requireManagementAuth).

Uzdevuma aprakstā esošie POST /api/v1/management/proxies/[id]/assignments un POST /api/v1/management/proxies/[id]/health tiek apkalpoti ar plakanajiem /assignments un /health maršrutiem, kas parādīti iepriekš — kodu bāzē nav nekādu apakšmaršrutu ar id.


Izturība (paplašināta)

OmniRoute piedāvā tr neatkarīgas īslaicīgas kļūdas mehānismus; zemāk esošās pārvaldības gala punkti ļauj operatoriem tos lasīt un pārrakstīt:

Apjoms Stāvokļa glabātuve Lasīt Atiestatīt / notīrīt
Pakalpojuma avota pārtraucējs domain_circuit_breakers + atmiņā /api/monitoring/health POST /api/resilience/reset
Savienojuma atdzesēšana rateLimitedUntil pakalpojuma avota savienojumos /api/rate-limits, /api/providers/[id] (atsāknējas slinki; notīrīt caur provider PUT)
Modeļa bloķēšana Atmiņā reģistrētā modeļa pieejamība GET /api/resilience/model-cooldowns DELETE /api/resilience/model-cooldowns

PATCH /api/resilience pieņem pakalpojuma avota pārtraucēja pārrakstījumus sadaļās providerBreaker.oauth un providerBreaker.apikey. Katrs profils atbalsta degradationThreshold, failureThreshold un resetTimeoutMs; tie paši lauki ir redzami Dashboard → Settings → Resilience.

# Notīrīt vienu modeļa bloķēšanu
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"}'

# Notīrīt visas bloķēšanas
curl -X DELETE http://localhost:20128/api/resilience/model-cooldowns \
  -H "Cookie: auth_token=..." \
  -d '{"all":true}'

Pilna konceptuālā atsauce un pārtraucēja noklusējuma vērtības: skatīt CLAUDE.md → "Resilience Runtime State".


Prasmes

Prasmju ietvars OmniRoute paplašināšanai ar pielāgotiem izpildāmiem apstrādātājiem, kā arī tirgus integrācijām.

Metode Ceļš Apraksts
GET /api/skills Uzstādīto prasmju saraksts — filtrējams pēc ?q=, ?mode=on|off|auto, ?source=skillsmp|skillssh|local, lapots
GET /api/skills/[id] Iegūt vienu prasmi
PUT /api/skills/[id] Atjaunināt prasmi (nosaukums, apraksts, režīms, shēma, apstrādātājs, tagi)
DELETE /api/skills/[id] Atinstalēt prasmi
POST /api/skills/install Instalēt prasmi no neapstrādāta manifesta — ķermenis: {name, version, description, schema:{input, output}, handlerCode, apiKeyId?}
GET /api/skills/executions Uzskaitīt nesenās prasmju izpildes (revīzijas pēda ar ievadiem/izvadēm/ilgumu)
GET /api/skills/marketplace?q=... Meklēt/populāro sarakstu no SkillsMP tirgus (nepieciešams skillsmpApiKey iestatījums)
POST /api/skills/marketplace/install Instalēt prasmi pēc ID no SkillsMP
GET /api/skills/skillssh?q=&limit= Meklēt skills.sh reģistrā
POST /api/skills/skillssh/install Instalēt prasmi pēc ID no skills.sh

Autentifikācija: pārvaldības sesija/API atslēga. Tirgus meklēšanas maršruti pieņem vai nu pārvaldības autentifikāciju, vai Bearer API atslēgu (isAuthenticated).


Atmiņa

Pastāvīga sarunu faktisko atmiņu krātuve, kas ir ierobežota ar API atslēgas / sesijas mērogu.

Metode Ceļš Apraksts
GET /api/memory Atmiņu saraksts — ?apiKeyId=, ?type=, ?sessionId=, ?q=, ar offset/limit vai page/limit lapošanu
POST /api/memory Izveidot atmiņu — ķermenis validēts ar Zod: {content, key, type?, sessionId?, apiKeyId?, metadata?, expiresAt?}
GET /api/memory/[id] Iegūt vienu atmiņu
DELETE /api/memory/[id] Izdzēst atmiņu
GET /api/memory/health Atmiņu apakšsistēmas veselība (DB savienojamības, ieguldījumu aizmugures, vektoru indeksa statuss)

Autentifikācija: pārvaldības sesija / API atslēga (requireManagementAuth). type uzskaitījums: FACTUAL, EPISODIC, SEMANTIC, PROCEDURAL (skatīt MemoryType failā src/lib/memory/types.ts).


MCP Serveris

OmniRoute piegādā iebūvētu Model Context Protocol serveri ar 3 transportiem (stdio, SSE, streamable-http) un pielāgotiem rīkiem. Zemāk esošie informācijas panela galapunkti nolasa statusa/audita datus un pievada HTTP transportus.

Metode Ceļš Apraksts
GET /api/mcp/status Impulss, transports, tiešsaistes stāvoklis, pēdējais izsaukums, labākie rīki, 24h panākumu līmenis
GET /api/mcp/tools MCP rīku saraksts ar name, description, scopes, phase, auditLevel, sourceEndpoints
GET /api/mcp/sse Atvērt SSE straumi SSE transportam (atgriež 503, ja MCP ir atspējots vai transports neatbilst)
POST /api/mcp/sse Sūtīt JSON-RPC kadru SSE transportā
GET /api/mcp/stream Atvērt Streamable HTTP transporta SSE pusi (servera uzsāktas ziņas)
POST /api/mcp/stream Sūtīt JSON-RPC kadru Streamable HTTP transportā
DELETE /api/mcp/stream Beigt Streamable HTTP sesiju
GET /api/mcp/audit Vaicāt auditā žurnālu — ?limit=, ?offset=, ?tool=, `?success=true false, ?apiKeyId=`
GET /api/mcp/audit/stats Agregēti audita statistika (kopsummas, panākumu līmenis, vidējais ilgums, labākie rīki)

Autentifikācija: sse/stream transporti ievēro MCP specifisko autentifikācijas virsmu (Bearer API atslēga ar mcp apjomu); status/tools/audit* maršrutus var nolasīt no informācijas paneļa (nav nepieciešama papildu autentifikācija, izņemot piekļušanu informācijas paneļa resursdatoram).

Abi HTTP transporti ir aizsargāti ar settings.mcpEnabled un settings.mcpTransport — neatbilstība transportam atgriež 400, MCP atspējotais stāvoklis atgriež 503.

A2A serveris

OmniRoute nodrošina A2A (Agent-to-Agent) JSON-RPC 2.0 galapunktu plus REST apvalku pārbaudes/darbības paneļa lietošanai.

JSON-RPC

POST /a2a
Authorization: Bearer your-api-key   # nav obligāti, ja OMNIROUTE_API_KEY nav iestatīts
Content-Type: application/json

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "message/send",
  "params": {
    "skill": "smart-routing",
    "messages": [{"role": "user", "content": "Route this coding task"}]
  }
}

Atbalstītās metodes (visas tiek kontrolētas ar settings.a2aEnabled):

Metode Apraksts
message/send Sinhrona prasmes izpilde; atgriež {task, artifacts, metadata}
message/stream Straumēšanas SSE izpilde tai pašai prasmju kopai
tasks/get Iegūt uzdevumu pēc taskId
tasks/cancel Atcelt uzdevumu pēc taskId

Iebūvētās prasmes: smart-routing, quota-management, provider-discovery, cost-analysis, health-report.

Aģenta karte

GET /.well-known/agent.json

Atgriež publisko A2A aģenta karti (nosaukums, apraksts, iespējas, prasmju katalogs, autentifikācijas shēma) — publiski kešota 1 stundu. Nav nepieciešama autentifikācija.

REST palīgrīki

Metode Ceļš Apraksts
GET /api/a2a/status A2A iespējots + uzdevumu statistika + kešotās aģenta kartes kopsavilkums
GET /api/a2a/tasks Uzdevumu saraksts — ?state=submitted|working|completed|failed|cancelled, ?skill=, ?limit= (≤200), ?offset=
POST /api/a2a/tasks (Nav īstenots kā REST palīgrīks — izveidojiet caur JSON-RPC message/send)
GET /api/a2a/tasks/[id] Iegūt vienu uzdevumu
POST /api/a2a/tasks/[id]/cancel Atcelt uzdevumu

Autentifikācija: REST palīgrīki darbojas bez pārvaldības autentifikācijas (pieejami lasīšanai no paneļa); JSON-RPC /a2a maršruts izmanto Bearer OMNIROUTE_API_KEY, ja tas ir konfigurēts.


Mākoņi, Vērtēšana un Novērtēšana

Metode Ceļš Apraksts
POST /api/cloud/auth Verificēt Bearer atslēgu un atgriezt maskētus pakalpojumu sniedzēju savienojumus + modeļu alosijas mākoņa sinhronizācijas klientiem
POST /api/cloud/credentials/update Atjaunināt šifrētos akreditācijas datus mākoņa sinhronizētam pakalpojumu sniedzējam
POST /api/cloud/model/resolve Atrisināt loģisko modeļa ID uz konkrētu pakalpojumu sniedzēju/modeli, izmantojot lokālo maršrutēšanas tabulu
GET /api/cloud/models/alias Uzskaitīt modeļu alosijas, kādas tiek rādītas mākoņa sinhronizācijai
GET /api/assess Lasīt jaunākās novērtēšanas kategorizācijas (katram pakalpojumu sniedzējam/modelim)
POST /api/assess Veikt novērtēšanu — ķermenis: `{scope: {type:"all"}
GET /api/evals Uzskaitīt iebūvētos vērtēšanas komplektus + jaunākos palaišanas
POST /api/evals Sākt vērtēšanas palaišanu
POST /api/evals/suites Izveidot pielāgotu vērtēšanas komplektu — ķermenis validēts ar evalSuiteSaveSchema
GET /api/evals/suites/[id] Iegūt pielāgotu vērtēšanas komplektu

Autentifikācija: /api/cloud/auth verificē Bearer atslēgu tieši; citi /api/cloud/*, /api/evals/* un /api/assess maršruti prasa pārvaldības sesiju/API atslēgu. /api/assess POST izmanto validateBody ar diskriminējošas kopas shēmu.

ACP (Agent Client Protocol) pārvaldība

kā bērnu procesus. Šie galapunkti pārvalda ACP aģentu noteikšanu un pielāgoto aģentu reģistrāciju.

Metode Ceļš Apraksts
GET /api/acp/agents Uzskaitīt visus zināmos CLI aģentus (iebūvētos + pielāgoto) ar instalācijas statusu, versiju, bināro failu
POST /api/acp/agents Reģistrēt pielāgoto ACP aģentu vai atsvaidzināt kešatmiņu — korpuss: {id, name, binary, versionCommand, providerAlias, spawnArgs, protocol} vai {action: "refresh"}
DELETE /api/acp/agents Noņemt pielāgoto ACP aģentu — vaicājuma parametrs: ?id=<agentId>

Atbildes piemērs (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
}

Autentifikācija: Nepieciešama pārvaldības sesija (paneļa auth_token sīkfailu) vai pārvaldības mēroga API atslēga.

Skatiet ACP Framework pilnīgai informācijai.


Analītika un novērošana

Reāllaika analītikas galapunkti maršrutēšanas, saspiešanas un sniedzēju daudzveidības monitoringam. Tie nodrošina /dashboard/analytics/* lapas.

Automātiskās maršrutēšanas analītika

Metode Ceļš Apraksts
GET /api/analytics/auto-routing Agregētā automātiskās maršrutēšanas statistika: kopējie zvani, stratēģiju sadalījums, līmeņu sadalījums, vadošie sniedzēji
GET /api/analytics/auto-routing?days=7 Laika loga statistika (noklusējums 24 stundas)

Atbildes piemērs:

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

Saspiešanas analītika

Metode Ceļš Apraksts
GET /api/analytics/compression Agregētā saspiešanas statistika: ietaupītie tokeni, ietaupījumu %, režīmu sadalījums, dzinēju lietojums

Atbildes piemērs:

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

Sniedzēju daudzveidības izsekošana

Metode Ceļš Apraksts
GET /api/analytics/diversity Daudzveidības izsekošana, kura pamatā ir Šenona entropija: novērš vienīgus kļūmes avotus, mērot sniedzēju sadalījumu

Atbildes piemērs:

{
  "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 veido 40% datplūsmas — apsveriet daudzveidību"]
}

Autentifikācija: Nepieciešama pārvaldības sesija vai pārvaldības mēroga API atslēga.


Administrēšanas darbības

Tikai administratoriem pieejamie galapunkti operatīvai pārvaldībai.

Metode Ceļš Apraksts
GET /api/admin/concurrency Nolasīt pašreizējos konkurējošo pieprasījumu ierobežojumus (globālus + katram pakalpojumu sniedzējam)
POST /api/admin/concurrency Atjaunināt konkurences ierobežojumus — ķermenis: {global?: number, perProvider?: Record<string, number>}

Autentifikācija: Nepieciešama vadības sesija ar administratora piekļuvi.


CLI rīku pārvaldība

Pārvaldīt CLI rīkus, kas integrējas ar OmniRoute (antigravity, chipotle, commandCode, devin-cli u.c.). Pilnu sarakstu skatiet Pakalpojumu sniedzēju atsauces.

Metode Ceļš Apraksts
GET /api/cli-tools/all-statuses Visu CLI rīku statuss (instalēts, versija, pēdējoreiz redzēts)
GET /api/cli-tools/status Viena CLI rīka statusa detaļas (?tool= vaicājums)
POST /api/cli-tools/apply Ierakstīt rīka ģenerēto konfigurāciju (dryRun priekšskatījums; 422 + containerEphemeralTarget, ja iepakots; migration norāda veco Codex YAML)
GET /api/cli-tools/backups Uzskaitīt CLI rīku konfigurāciju dublējumkopijas
POST /api/cli-tools/backups Izveidot dublējumkopiju no visām CLI rīku konfigurācijām
POST /api/cli-tools/backups Atjaunot: tas pats galapunkts ar {tool, backupId} ķermenī atjauno šo dublējumkopiju
GET /api/cli-tools/antigravity-mitm Antigravity MITM starpniekservera statuss (CLI rīks "antigravity-mitm")
POST /api/cli-tools/antigravity-mitm/alias Konfigurēt antigravity-mitm aliases

Autentifikācija: Nepieciešama vadības sesija.


Aģentu prasmes

Pārvaldīt AI aģentu prasmes (līdzīgas OpenAI pielāgotajiem GPT, bet aģentiem).

Metode Ceļš Apraksts
GET /api/agent-skills Uzskaitīt visas aģentu prasmes (iestrādātās + pielāgotās)
GET /api/agent-skills/[id] Iegūt konkrētu aģenta prasmi
POST /api/agent-skills Izveidot pielāgotu aģenta prasmi — ķermenis: {name, description, prompt, model?, temperature?}
PUT /api/agent-skills/[id] Atjaunināt pielāgotu aģenta prasmi
DELETE /api/agent-skills/[id] Dzēst pielāgotu aģenta prasmi
GET /api/agent-skills/[id]/raw Iegūt neapstrādātu uzvedni + metadatus (bez izpildes)
POST /api/agent-skills/generate AI ģenerēt jaunu prasmi no dabiskās valodas apraksta

Autentifikācija: Nepieciešama vadības sesija vai ar vadības jomu saistīta API atslēga.


Cache pārvaldība

Pārvaldiet semantisko kešatmiņu un racionālo kešatmiņu.

Metode Ceļš Apraksts
GET /api/cache Kešatmiņas pārskats: kopējais ierakstu skaits, trāpījumu līmenis, lielums diskā
GET /api/cache/entries Uzskaitīt kešatmiņas ierakstus (ar lapošanu)
DELETE /api/cache/entries Dzēst kešatmiņas ierakstus (filtrēt pēc vaicājuma parametriem)
GET /api/cache/stats Detalizēta kešatmiņas statistika (pēc pakalpojuma sniedzēja, pēc modeļa)
GET /api/cache/reasoning Racionālās kešatmiņas statuss (racionālās atskaņošanai)
DELETE /api/cache/reasoning Notīrīt racionālo kešatmiņu — vaicājuma parametri: ?toolCallId=<id> (viens) vai ?provider=<p> vai bez parametriem (visi)

Autentifikācija: Nepieciešama pārvaldības sesija.


Atmiņas sistēma

Pārvaldiet pastāvīgo atmiņu (FTS5 + vektoru iegulšana).

Metode Ceļš Apraksts
GET /api/memory Uzskaitīt atmiņas ierakstus (filtrēt pēc tvēruma, tipa, meklēšanas vaicājuma)
POST /api/memory Izveidot jaunu atmiņas ierakstu — ķermenis: {scope, type, content, metadata?}
GET /api/memory/[id] Iegūt konkrētu atmiņas ierakstu
PUT /api/memory/[id] Atjaunināt atmiņas ierakstu
DELETE /api/memory/[id] Dzēst atmiņas ierakstu
GET /api/memory?q= Meklēt atmiņā (FTS5 + vektori) — statistika iekļauta tajā pašā atbildē

Autentifikācija: Nepieciešama pārvaldības sesija vai pārvaldības tvēruma API atslēga.


Tīmekļa āķi

Pārvaldiet tīmekļa āķu abonementus notikumiem.

Metode Ceļš Apraksts
GET /api/webhooks Uzskaitīt visus tīmekļa āķu abonementus
POST /api/webhooks Izveidot tīmekļa āķa abonementu — ķermenis: {url, events[], secret?, active?}
GET /api/webhooks/[id] Iegūt konkrētu tīmekļa āķa abonementu
PUT /api/webhooks/[id] Atjaunināt tīmekļa āķa abonementu
DELETE /api/webhooks/[id] Dzēst tīmekļa āķa abonementu
GET /api/webhooks/[id]/deliveries Uzskaitīt tīmekļa āķa piegādes vēsturi (veiksmes/neveiksmes žurnāls)
POST /api/webhooks/[id]/test Sūtīt testa notikumu uz tīmekļa āķu

Autentifikācija: Nepieciešama pārvaldības sesija.

Skatiet Tīmekļa āķu framework pilnotiem notikumu tipiem.


Prasmju ietvars

Pārvaldiet prasmes (aģentu paplašinājumu ietvars).

Metode Ceļš Apraksts
GET /api/skills Uzskaitīt visas instalētās prasmes (iebūvētas + pielāgotas)
POST /api/skills/install Instalēt prasmi no lokālā ceļa vai URL
DELETE /api/skills/[id] Atinstalēt prasmi
PUT /api/skills/[id] Iespējot vai atspējot prasmi — ķermenis: {enabled?: boolean, mode?: "on" | "off" | "auto"}
POST /api/skills/executions Izpildīt prasmi — ķermenis: {skillName, apiKeyId, input?, sessionId?}
GET /api/skills/executions Uzskaitīt izpildes vēsturi visām prasmēm (filtrēt pēc ?apiKeyId=)

Autentifikācija: Nepieciešama pārvaldības sesija vai pārvaldības mērogā API atslēga.

Skatiet Prasmju ietvars pilnai informācijai.


Spraudņi

Pārvaldiet OmniRoute spraudņus (trešo pušu paplašinājumus).

Metode Ceļš Apraksts
GET /api/plugins Uzskaitīt instalētos spraudņus
POST /api/plugins/marketplace/install Instalēt spraudni no tirgus
DELETE /api/plugins/[name] Atinstalēt spraudni
POST /api/plugins/[name]/activate Aktivizēt spraudni
POST /api/plugins/[name]/deactivate Deaktivizēt spraudni
GET /api/plugins/[name]/config Iegūt spraudņa konfigurāciju
PUT /api/plugins/[name]/config Atjaunināt spraudņa konfigurāciju

Autentifikācija: Nepieciešama pārvaldības sesija.

Skatiet Spraudņu ietvars pilnai informācijai.


Ēnu maršrutēšana

Ēnu / A-B pakalpojumu sniedzēju salīdzināšana nav patstāvīga REST saskarne — tā tiek konfigurēta, izmantojot kombinēto maršrutēšanu (sk. Auto-Kombo). Katras kombinācijas salīdzināšanas metriku dati tiek nodrošināti ar GET /api/combos/metrics.


Aizsargmehānismi

Inspektējiet izpildlaika aizsargmehānismus (PII noteikšana, uzvednes injekcijas noteikšana, redzes pārraide). Aizsargmehānismi darbojas katram pieprasījumam; atslēgšana katram izsaukumam notiek ar x-omniroute-disabled-guardrails pieprasījuma galveni — nav saglabātas iespējošanas/atspējošanas saskarnes.

Metode Ceļš Apraksts
GET /api/guardrails Uzskaitīt reģistrētos aizsargmehānismus un to statusu (nosaukums / iespējots / prioritāte)
POST /api/guardrails/test Sausā palaist pirmsizsaukuma konveijeru uz parauga ievadi — ķermenis: {input, disabledGuardrails?}

Autentifikācija: Nepieciešama pārvaldības sesija.

Skatiet Drošība > Aizsargmehānismi pilnai informācijai.



Autentifikācija

Skatiet Vadības autentifikāciju par četrām akreditīviju grupām (darbvirsmas sesija, lokālā CLI marķieris, oma_live_… piekļuves marķieris, vadības mēroga API atslēga) un to, kā tās atšķiras no inferences atslēgām.

  • Darbvirsmas maršruti (/dashboard/*) izmanto auth_token sīkfailu
  • Pieteikšanās izmanto saglabāto paroles hash; atkāpjas uz INITIAL_PASSWORD
  • requireLogin var pārslēgt, izmantojot /api/settings/require-login
  • /v1/* maršruri pēc izvēles prasa Bearer API atslēgu, ja REQUIRE_API_KEY=true
  • "vadības marķieris" / "vadības mēroga API atslēga" šajā atsaucē nozīmē vienu no grupām šajā rokasgrāmatā — nevis noteiktu papildu slepenības tipu

Pārtraucošs mainījums (v3.8.0)/api/v1/agents/tasks/* un atdzesēšanas vadības galapunkti tagad prasa vadības autentifikāciju (darbvirsmas auth_token sīkfailu vai vadības mēroga API atslēgu). Klienti, kas iepriekš izsauca šos maršrutus bez autentifikācijas, saņems 401 Unauthorized. Skatiet kommitu 588a0333 (fix(auth): require management auth for agent and cooldown APIs).