Files
OmniRoute/docs/i18n/or/docs/reference/API_REFERENCE.md
Diego Rodrigues de Sa e Souza 0d13ef4fbb feat(i18n): 8 new locales — Kannada, Malayalam, Odia, Punjabi, Nepali, Sinhala, Burmese, Khmer (59 locales) (#13660)
Batch 2 of the locale expansion across the dashboard catalog, docs mirrors, CLI catalog, README, locale index and the site. 51 → 59 locales.

Also: the translator restores the ICU literal escape around angle placeholders, and the docs chunker splits oversized sections before translating.

⚠️ base-red inherited: #12732 — the eight red checks fail identically on unrelated PRs cut from the same base (e.g. #13197); every gate is green locally after merging the base.
2026-09-14 18:22:01 -03:00

178 KiB
Raw Blame History

API_REFERENCE (ଓଡ଼ିଆ)

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



title: "API ରେଫରେନ୍ସ" version: 3.8.51 lastUpdated: 2026-08-31

API ରେଫରେନ୍ସ

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

OmniRoute API ର ମୂଳ ରେଫରେନ୍ସ। ଏହା ପବ୍ଲିକ /v1 ସରଫେସ୍ ଏବଂ ସବୁଠାରୁ ବେଶୀ ବ୍ୟବହାର କରାଯାଉଥିବା ପ୍ରବନ୍ଧନ ଏଣ୍ଡପଏଣ୍ଟଗୁଡିକୁ ଆଚ୍ଛାଦିତ କରେ; ମେସିନ-ରିଡାବଲ docs/openapi.yaml ଏବଂ src/app/api/ ଅଧୀନରେ ଥିବା ରୁଟ ଟ୍ରୀ ହେଉଛି ସମ୍ପୂର୍ଣ୍ଣ ସ୍ରୋତ।

ବିଷୟ ସୂଚୀ


ଚାଟ ସମ୍ପୂର୍ଣ୍ଣତା

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
}

କଷ୍ଟମ ହେଡର୍

Header Direction Description
X-OmniRoute-No-Cache ଅନୁରୋଧ କ୍ୟାଚ୍ ବାଇପାସ୍ କରିବାକୁ true ସେଟ୍ କରନ୍ତୁ
x-omniroute-no-memory ଅନୁରୋଧ ଏହି ଅନୁରୋଧ ପାଇଁ ମେମୋରୀ + ସ୍କିଲ୍ ଇଞ୍ଜେକ୍ସନ୍ ସ୍କିପ୍ କରିବାକୁ true ସେଟ୍ କରନ୍ତୁ (no-cache କୁ ମିରର୍ କରେ; ପ୍ରତି-କଲ୍ ଟୋକନ୍/ଖର୍ଚ୍ଚ ଓଭରହେଡ୍ ଏଡ଼ାଏ)
X-OmniRoute-Progress ଅନୁରୋଧ ପ୍ରଗତି ଇଭେଣ୍ଟଗୁଡ଼ିକ ପାଇଁ true ସେଟ୍ କରନ୍ତୁ
X-Session-Id ଅନୁରୋଧ ବାହ୍ୟ ସେସନ ଆଫିନିଟି ପାଇଁ ସ୍ଟିକି ସେସନ କୀ
x_session_id ଅନୁରୋଧ ଅଣ୍ଡରସ୍କୋର ଭାରିଆଣ୍ଟ ମଧ୍ୟ ଗ୍ରହଣ କରାଯାଏ (ସିଧାସଳଖ HTTP)
X-OmniRoute-Session-Id ଅନୁରୋଧ କଲର୍-ସପ୍ଲାଇଡ୍ ସେସନ/କନଭର୍ସେସନ୍ ଟ୍ୟାଗ୍ (ମେମୋରୀକୁ ମଧ୍ୟ ଫିଡ୍ କରେ)। ଉପସ୍ଥିତ ଥିଲେ, ପ୍ରତି-ସେସନ ଖର୍ଚ୍ଚ ଆଟ୍ରିବ୍ୟୁସନ୍ ପାଇଁ call_logs.session_tag ରେ ଭର୍ବାଟିମ୍ ସଂରକ୍ଷିତ ହୁଏ (#8249) — ଅନୁପସ୍ଥିତ ଥିଲେ କେବେ ବି ସିନ୍ଥେସାଇଜ୍ ହୁଏ ନାହିଁ
Idempotency-Key ଅନୁରୋଧ ଡେଡପ୍ କୀ (5 ସେକେଣ୍ଡ ୱିଣ୍ଡୋ)
X-Request-Id ଅନୁରୋଧ ବିକଳ୍ପ ଡେଡପ୍ କୀ
X-OmniRoute-Cache ପ୍ରତିକ୍ରିୟା HIT କିମ୍ବା MISS (ନନ୍-ଷ୍ଟ୍ରିମିଂ)
X-OmniRoute-Idempotent ପ୍ରତିକ୍ରିୟା ଡେଡପ୍ଲିକେଟେଡ୍ ହୋଇଥିଲେ true
X-OmniRoute-Progress ପ୍ରତିକ୍ରିୟା ପ୍ରଗତି ଟ୍ରାକିଂ ଚାଲୁ ଥିଲେ enabled
X-OmniRoute-Session-Id ପ୍ରତିକ୍ରିୟା OmniRoute ଦ୍ୱାରା ବ୍ୟବହୃତ ପ୍ରଭାବୀ ସେସନ ID
X-OmniRoute-Request-Id ପ୍ରତିକ୍ରିୟା ଅନୁରୋଧ ସମ୍ପର୍କୀୟ ଆଇଡି (ଜଣାଥିଲେ)
X-OmniRoute-Version ପ୍ରତିକ୍ରିୟା OmniRoute ବିଲ୍ଡ ସଂସ୍କରଣ (ସର୍ବଦା ଉପସ୍ଥିତ)
X-OmniRoute-Cost-Saved ପ୍ରତିକ୍ରିୟା କ୍ୟାଚ୍ ଏକ HIT ରେ ଯେଉଁ USD ଏଡ଼ାଇଲା (କେବଳ କ୍ୟାଚ୍ ହିଟ୍)
X-OmniRoute-Decision ପ୍ରତିକ୍ରିୟା ରାଉଟିଂ ଟ୍ରେସ୍: strategy=<name>; provider=<alias>; latency_ms=<n> (<name> ହେଉଛି କମ୍ବୋ ଷ୍ଟ୍ରାଟେଜି, କିମ୍ବା ନନ୍-କମ୍ବୋ ଅନୁରୋଧ ପାଇଁ single) — ସମ୍ପୂର୍ଣ୍ଣ ପ୍ରତିକ୍ରିୟାରେ ସର୍ବଦା ଉପସ୍ଥିତ

Nginx ନୋଟ: ଯଦି ଆପଣ ଅଣ୍ଡରସ୍କୋର ହେଡର୍ ଉପରେ ନିର୍ଭର କରନ୍ତି (ଉଦାହରଣ ସ୍ୱରୂପ x_session_id), underscores_in_headers on; ସକ୍ଷମ କରନ୍ତୁ।

ଖର୍ଚ୍ଚ ଟେଲିମେଟ୍ରି ହେଡର୍: ନନ୍-ଷ୍ଟ୍ରିମିଂ ସଫଳ ପ୍ରତିକ୍ରିୟାଗୁଡ଼ିକ ମଧ୍ୟ X-OmniRoute-* ଖର୍ଚ୍ଚ-ଟେଲିମେଟ୍ରି ସେଟ୍ ବହନ କରେ — X-OmniRoute-Response-Cost (USD, ସ୍ଥିର 10 ଦଶମିକ; ମାଗଣା/ମୂଲ୍ୟହୀନ ପାଇଁ 0.0000000000), X-OmniRoute-Tokens-In / X-OmniRoute-Tokens-Out, X-OmniRoute-Model, X-OmniRoute-Provider, X-OmniRoute-Latency-Ms, X-OmniRoute-Cache-Hit, ଏବଂ X-OmniRoute-Fallback-Attempts (କେବଳ > 0 ହେଲେ), ଏବଂ X-OmniRoute-Request-Id ଏବଂ X-OmniRoute-Version। ଏଗୁଡ଼ିକ ଚାଟ ସମ୍ପୂର୍ଣ୍ଣତା, /v1/responses, /v1/messages, ଏବଂ ମିଡିଆ ଏଣ୍ଡପଏଣ୍ଟଗୁଡ଼ିକ/v1/embeddings, /v1/images/generations, /v1/audio/speech, /v1/audio/transcriptions, /v1/rerank, /v1/videos/generations, /v1/music/generations, ଏବଂ /v1/moderations (ସର୍ବଦା ଖର୍ଚ୍ଚ 0) ଦ୍ୱାରା ନିର୍ଗତ ହୁଏ। ମିଡିଆ ଖର୍ଚ୍ଚ ପ୍ରତି ମୋଡାଲିଟି (ପ୍ରତି-ଛବି, ପ୍ରତି-ସେକେଣ୍ଡ, ପ୍ରତି-ଅକ୍ଷର, ପ୍ରତି-ସର୍ଚ-ୟୁନିଟ୍) ଅନୁଯାୟୀ ଗଣନା କରାଯାଏ ଯେତେବେଳେ ମୂଲ୍ୟ ଉପଲବ୍ଧ ଥାଏ, ଅନ୍ୟଥା 0 (fail-open)।

କ୍ୟାଚ୍-ହିଟ୍ ଖର୍ଚ୍ଚ ସେମାଣ୍ଟିକ୍ସ: ଏକ ସେମାଣ୍ଟିକ୍-କ୍ୟାଚ୍ HIT (X-OmniRoute-Cache-Hit: true) ରେ କୌଣସି ଅପସ୍ଟ୍ରିମ୍ କଲ୍ କରାଯାଏ ନାହିଁ, ତେଣୁ X-OmniRoute-Response-Cost ହେଉଛି 0.0000000000 (ହିଟ୍ ସର୍ଭିସ୍ କରିବାର ଇନ୍କ୍ରିମେଣ୍ଟାଲ୍ ଖର୍ଚ୍ଚ)। ମୂଳ/ହୋଇଥାନ୍ତା ଖର୍ଚ୍ଚ ପୃଥକ ଭାବରେ X-OmniRoute-Cost-Saved ରେ ରିପୋର୍ଟ କରାଯାଏ। ବିଲିଂ ଗ୍ରାହକମାନେ X-OmniRoute-Response-Cost ସଂଯୋଜନା କରିବା ଉଚିତ୍ (ହିଟ୍ କିଛି ଖର୍ଚ୍ଚ କରେ ନାହିଁ); କ୍ୟାଚ୍ ଆନାଲିଟିକ୍ସ X-OmniRoute-Cost-Saved ଏକତ୍ରିତ କରିପାରିବେ।

ବିଶେଷ ପରିଚାଳିତ ଧାରଣ ଲିଜ

ବିଶେଷ ପରିଚାଳିତ ଧାରଣ ଲିଜିଙ୍ଗ ହେଉଛି ଏକ ବିକଳ୍ପ, କ୍ଲାଏଣ୍ଟ-ନିରପେକ୍ଷ ରୁଟିଙ୍ଗ ଚୁକ୍ତି: ଗୋଟିଏ ସକ୍ରିୟ ମାଲିକ ଗୋଟିଏ ଯୋଗ୍ୟ OmniRoute ସଂଯୋଗ ଧାରଣ କରେ। ଏହା ଏକ ମଡେଲ୍ ଲିଜ୍ କରେ ନାହିଁ, OAuth ଆବଶ୍ୟକ କରେ ନାହିଁ, କୌଣସି ନିର୍ଦ୍ଦିଷ୍ଟ କ୍ଲାଏଣ୍ଟକୁ ଚିହ୍ନଟ କରେ ନାହିଁ, ବା କୌଣସି ନିର୍ଦ୍ଦିଷ୍ଟ ପ୍ରଦାନକର୍ତ୍ତାକୁ ଆବଶ୍ୟକ କରେ ନାହିଁ।

ପ୍ରମାଣିତ API କୀର ସ୍କୋପ୍ lease:exclusive ଏବଂ ସ୍ପଷ୍ଟ ଅଶୂନ୍ୟ allowedConnections ତାଲିକା ଥିବା ଆବଶ୍ୟକ। ଡାଟାବେସ୍ ପରିବର୍ତ୍ତନ ସୀମା କୀ ସୃଷ୍ଟି ଏବଂ ଆଂଶିକ ଅଦ୍ୟତନ ସମୟରେ ଉଭୟ କ୍ଷେତ୍ରକୁ ଏକାଠି ପ୍ରଯୋଗ କରେ।

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

ସଫଳ ଅଧିଗ୍ରହଣ, ନବୀକରଣ, ଏବଂ ମୁକ୍ତି ପ୍ରତିକ୍ରିୟା ସମୟଷ୍ଟମ୍ପ, state, ଏବଂ ସଠିକ୍ ଧନାତ୍ମକ generation ପ୍ରଦାନ କରେ, କିନ୍ତୁ ବଛାଯାଇଥିବା ସଂଯୋଗ ବା ପ୍ରମାଣପତ୍ର କଦାବି ନୁହେଁ। ନବୀକରଣ ଏବଂ ମୁକ୍ତି JSON ବାଡ଼ିରେ ଜେନେରେସନ୍ ପ୍ରଦାନ କରେ:

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

ଏକ ସକ୍ରିୟ ଲିଜ୍ ମାଲିକ ସ୍ପଷ୍ଟ ଭାବରେ ତାର ବର୍ତ୍ତମାନର ବନ୍ଧନ ପାଇଁ ଗୋପନୀୟ-ସୁରକ୍ଷିତ ପ୍ରଦର୍ଶନ ମେଟାଡାଟା ଅନୁରୋଧ କରିପାରିବ:

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

ଏହି ବିକଳ୍ପ ସ୍ଥିତି କାର୍ଯ୍ୟ ଅସ୍ପଷ୍ଟ ମାଲିକ, ପ୍ରମାଣିତ ପରିଚାଳିତ API କୀ, ଏବଂ ଗୋଟିଏ ଡାଟାବେସ୍ ଟ୍ରାନ୍ସାକସନ୍ ରେ ସଠିକ୍ ସକ୍ରିୟ ଜେନେରେସନ୍ ଦ୍ୱାରା ସୁରକ୍ଷିତ। displayName କେବଳ ଟ୍ରିମ୍ କରାଯାଇଥିବା କନଫିଗର୍ ସଂଯୋଗ ନାମ; ଯେତେବେଳେ କୌଣସି ସୁରକ୍ଷିତ କନଫିଗର୍ ନାମ ନଥାଏ ଏହା null। OmniRoute କଦାବି ଏକ ଇମେଲ୍ ବା ଜେନେରେଟେଡ୍ ଆକାଉଣ୍ଟ ପରିଚୟ ପ୍ରତିସ୍ଥାପନ କରେ ନାହିଁ। ପ୍ରଦାନକର୍ତ୍ତା ମୂଲ୍ୟ ଏକ ସମ୍ବେଦନଶୀଳ ନୁହେଁ ପ୍ରଦର୍ଶନ ଲେବେଲ୍ ଏବଂ କଦାବି ଏକ ଜେନେରେଟେଡ୍ ସୁସଙ୍ଗତ-ପ୍ରଦାନକର୍ତ୍ତା ପରିଚୟ ନୁହେଁ। ପ୍ରମାଣପତ୍ର, ଟୋକେନ୍, କୁକି, ଅମୂଲକ ସଂଯୋଗ ବା API କୀ id, ମାଲିକ ହ୍ୟାସ୍, ସୁରକ୍ଷା ସିକ୍ରେଟ୍ସ, ଏବଂ ଆଭ୍ୟନ୍ତରୀଣ ରୁଟିଙ୍ଗ ଡାଟା ବାଦ ଦିଆଯାଇଛି।

ଭୁଲ୍-କୀ, ଭୁଲ୍-ମାଲିକ, ପୁରୁଣା-ଜେନେରେସନ୍, ଅନୁପସ୍ଥିତ, ସମୟ ସମାପ୍ତ, ମୁକ୍ତ କରାଯାଇଥିବା, ଏବଂ ଅବୈଧ ହୋଇଥିବା ସନ୍ଧାନ ସମସ୍ତ ସଂଯୋଗ ମେଟାଡାଟା ବିନା ସମାନ 409 LEASE_FENCE_STALE ତ୍ରୁଟି ପ୍ରଦାନ କରେ। ଯେଉଁ କ୍ଲାଏଣ୍ଟ କ୍ଷମତା-ପ୍ରତୀକ୍ଷା ପ୍ରତିକ୍ରିୟା ପାଇଥିଲା ସେ ନିରୀକ୍ଷଣ କରିବାକୁ କୌଣସି ସକ୍ରିୟ ବନ୍ଧନ ରଖେ ନାହିଁ। ଯେତେବେଳେ ରୁଟିଙ୍ଗ ଏକ ସକ୍ରିୟ ଲିଜ୍ ରେ ପରିବର୍ତ୍ତନ କରେ, ସମାନ ଜେନେରେସନ୍ ବୈଧ ରହେ ଏବଂ ସ୍ଥିତି ପୁରୁଣା ବନ୍ଧନକୁ ନ ଦେଖାଇ ଆଣ୍ଟୋମିକାଲି ନୂତନ ବନ୍ଧନ ପ୍ରଦାନ କରେ। ବିଦ୍ୟମାନ କ୍ଲାଏଣ୍ଟ ଅପରିବର୍ତ୍ତିତ ରହେ କାରଣ ଅଧିଗ୍ରହଣ, ନବୀକରଣ, ମୁକ୍ତି, ଏବଂ ପ୍ରତୀକ୍ଷା ପ୍ରତିକ୍ରିୟା ସେମାନଙ୍କ ପୂର୍ବବର୍ତ୍ତୀ ଆକୃତି ଧାରଣ କରେ।

ଏହି ସର୍ଭର ଚୁକ୍ତି ଷ୍ଟକ୍ OpenAI Codex /status ପରିବର୍ତ୍ତନ କରେ ନାହିଁ। ଷ୍ଟକ୍ Codex ବର୍ତ୍ତମାନ ତାର ମଡେଲ୍ ପ୍ରଦାନକର୍ତ୍ତା ଏବଂ ଅନ୍ତର୍ନିହିତ ସାର୍ବଜନୀନ/ଆକାଉଣ୍ଟ ସ୍ଥିତି ରିପୋର୍ଟ କରେ କିନ୍ତୁ ମନମୁଖୀ କଷ୍ଟମ୍ ପ୍ରଦାନକର୍ତ୍ତା ଆକାଉଣ୍ଟ ମେଟାଡାଟା ରେଣ୍ଡର କରେ ନାହିଁ; ଏକ ପରବର୍ତ୍ତୀ କ୍ଲାଏଣ୍ଟ ଇଣ୍ଟେଗ୍ରେସନ୍ ଏହି କାର୍ଯ୍ୟକୁ ଡାକିବା ଏବଂ connection.displayName ପ୍ରଦର୍ଶନ କିପରି କରିବେ ନିର୍ଣ୍ଣୟ କରିବ।

ପ୍ରତ୍ୟେକ ପରିଚାଳିତ ଅନୁମାନ ଅନୁରୋଧ ତାପରେ ଉଭୟ ନିୟନ୍ତ୍ରଣ ହେଡର ପ୍ରଦାନ କରେ:

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

ସଠିକ୍ ମାଲିକ, ଜେନେରେସନ୍, ସକ୍ରିୟ ସଂଯୋଗ, ଏବଂ ପ୍ରମାଣିତ API କୀ ପ୍ରତ୍ୟେକ ସମର୍ଥିତ ଅପ୍ଷ୍ଟ୍ରିମ୍ ପ୍ରୟାସ ପୂର୍ବରୁ ତୁରନ୍ତ ସୁରକ୍ଷିତ। ଅନ୍ୟ ଏକ କୀ ସହ ମାଲିକ ଏବଂ ଜେନେରେସନ୍ ରିପ୍ଲେ କଲେ ସେହି କୀ ସମାନ ସଂଯୋଗ ଅନୁମତି ଦେଉଥିଲେ ମଧ୍ୟ ବିଫଳ ହୁଏ। ଅମୂଲକ ମାଲିକ ଷ୍ଟୋର୍ କରାଯାଏ ନାହିଁ, ଲଗ୍ କରାଯାଏ ନାହିଁ, ଅନୁରୋଧ ସ୍ନାପସଟ୍ ରେ ରଖାଯାଏ ନାହିଁ, ବା ଅପ୍ଷ୍ଟ୍ରିମ୍ କୁ ଫରୱାର୍ଡ୍ କରାଯାଏ ନାହିଁ।

ଅସ୍ଥାୟୀ ପ୍ରତିଯୋଗିତା HTTP 429 ସହ Retry-After ଏବଂ ପ୍ରଦାନ କରେ:

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

ଏହି ପ୍ରତିକ୍ରିୟା କେବଳ ଅର୍ଥ ଦିଏ ଯେ ସାଧାରଣ ଯୋଗ୍ୟ ସେଟ୍ ଅଶୂନ୍ୟ ଥିଲା ଏବଂ ପ୍ରତ୍ୟେକ ମୁକ୍ତ ପ୍ରାର୍ଥୀ ଏକ ବିଦେଶୀ ସକ୍ରିୟ ଲିଜ୍ ଦ୍ୱାରା ଧାରଣ କରାଯାଇଥିଲା। ଅସମର୍ଥିତ ମଡେଲ୍/ପ୍ରଦାନକର୍ତ୍ତା, ନୀତି ଅସଙ୍ଗତତା, କୁଲ-ଡାଉନ୍, କୋଟା, ସ୍ୱାସ୍ଥ୍ୟ, ଏବଂ ଅନ୍ୟ ସାଧାରଣ ଯୋଗ୍ୟତା ବିଫଳତା ସେମାନଙ୍କ ବିଦ୍ୟମାନ OmniRoute ପ୍ରତିକ୍ରିୟା ଧାରଣ କରେ।

x-omniroute-compression

ସଂକୋଚନ ଯୋଜନାର ପ୍ରତି-ଅନୁରୋଧ ଓଭରାଇଡ୍। ସର୍ବୋଚ୍ଚ ପ୍ରାଧାନ୍ୟ - ରୁଟିଙ୍ଗ-କମ୍ବୋ ଓଭରାଇଡ୍, ସକ୍ରିୟ ପ୍ରୋଫାଇଲ୍, ଅଟୋ-ଟ୍ରିଗର୍, ଏବଂ ପ୍ୟାନେଲ୍ ଡିଫଲ୍ଟକୁ ହରାଏ। ମୂଲ୍ୟ:

ମୂଲ୍ୟ ପ୍ରଭାବ
off ଏହି ଅନୁରୋଧ ପାଇଁ କୌଣସି ସଂକୋଚନ ନାହିଁ।
default ପ୍ୟାନେଲ୍-ପ୍ରାପ୍ତ ଡିଫଲ୍ଟ ପ୍ରୋଫାଇଲ୍ (ସକ୍ରିୟ ପ୍ରୋଫାଇଲ୍ ଅଣଦେଖା କରେ)।
engine:<id> ସକ୍ରିୟ ହେଲେ ଗୋଟିଏ ଇଞ୍ଜିନ୍, ଉଦାହରଣ engine:rtk
<combo> ଏକ ନାମିତ କମ୍ବୋ, ନାମ ଦ୍ୱାରା ମ୍ୟାଚ୍ କରାଯାଏ (ଅକ୍ଷର-ଅସମ୍ବେଦନଶୀଳ) ପ୍ରଥମେ, ତାପରେ id ଦ୍ୱାରା।

ଟିପ୍ପଣୀ:

  • ଅଜ୍ଞାତ ମୂଲ୍ୟ ଅଣଦେଖା କରାଯାଏ (ଅନୁରୋଧ କଦାବି ଅସ୍ୱୀକାର କରାଯାଏ ନାହିଁ); ସମାଧାନ ସାଧାରଣ ଅପରେଟର୍ ପ୍ରାଧାନ୍ୟ ମାଧ୍ୟମରେ ପଶ୍ଚାଦପସରଣ କରେ।
  • ଯଦି ଏକାଧିକ କମ୍ବୋ ସମାନ ନାମ ସାଝା କରେ, ତେବେ ନିଶ୍ଚିତ ମ୍ୟାଚ୍ ପାଇଁ କମ୍ବୋ id ପାସ୍ କରନ୍ତୁ।
  • ଯେଉଁ କମ୍ବୋର ନାମ off ବା default ଅଟେ ସେହି ନାମ ଦ୍ୱାରା ବଛାଯାଇପାରେ ନାହିଁ (ସେହି ମୁଖ୍ୟଶବ୍ଦ ପ୍ରଥମେ ବ୍ୟାଖ୍ୟା କରାଯାଏ); ସେହି କମ୍ବୋକୁ ତାର id ଦ୍ୱାରା ସନ୍ଦର୍ଭ କରନ୍ତୁ।
  • ମାଷ୍ଟର୍ ସଂକୋଚନ ସ୍ୱିଚ୍ ଏକ ହାର୍ଡ ଗେଟ୍: ଯେତେବେଳେ ସଂକୋଚନ ସାର୍ବଜନୀନ ଭାବରେ ଅସକ୍ରିୟ, ଏହି ହେଡର୍ ଏହାକୁ ସକ୍ରିୟ କରିପାରେ ନାହିଁ।

ପ୍ରୟୋଗ ହୋଇଥିବା ଯୋଜନା ପ୍ରତିକ୍ରିୟା ହେଡର୍ ରେ ପ୍ରତିଧ୍ୱନିତ ହୁଏ:

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

ଯେଉଁଠାରେ <source> ହେଉଛି request-header, routing-override, active-profile, auto-trigger, default, ବା off ମଧ୍ୟରୁ ଗୋଟିଏ।


ଏମ୍ବେଡିଂଗ୍ସ

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

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

ଉପଲବ୍ଧ ପ୍ରଦାତାଗଣ: Nebius, OpenAI, Mistral, Together AI, Fireworks, NVIDIA, OpenRouter, Jina AI।

କାଟାଲଗ୍ ଆଇଡିଗୁଡ଼ିକ ହେଉଛି provider/model (ଉଦାହରଣ: jina-ai/jina-embeddings-v5-omni-small)। ରେଜିଷ୍ଟ୍ରିରେ ଥିବା ବେୟାର ଜିନା ମଡେଲ ଆଇଡିଗୁଡ଼ିକ (ଯେପରିକି jina-embeddings-v5-text-small, jina-reranker-v3.5) ମଧ୍ୟ ସମାଧାନ ହୁଅନ୍ତି। ଜିନା embed/rerank/classify/segment ପ୍ରଥମେ ଡ୍ୟାସବୋର୍ଡ jina-ai ପ୍ରମାଣପତ୍ର ବ୍ୟବହାର କରନ୍ତି; JINA_AI_API_KEY କେବଳ ସେତେବେଳେ ଫଲବ୍ୟାକ ହୁଏ ଯେତେବେଳେ କୌଣସି ଡ୍ୟାସବୋର୍ଡ କୀ ନଥାଏ। jina-reader କାର୍ଡ କେବଳ Reader / r.jina.ai ପାଇଁ (POST /v1/web/fetch) ଏବଂ ଏହା କେବେ ବି embeddings କିମ୍ବା rerank ସେବା କରେ ନାହିଁ।

ରେଜିଷ୍ଟ୍ରି ମଡେଲଗୁଡ଼ିକ ଯେଉଁଗୁଡ଼ିକ ମଲ୍ଟିମୋଡାଲ ସମର୍ଥନ ବିଜ୍ଞାପନ କରନ୍ତି, ସେଗୁଡ଼ିକ 32 ପର୍ଯ୍ୟନ୍ତ ପ୍ରଦାତା-ନିରପେକ୍ଷ ଗଠନମୂଳକ ଆଇଟମ୍ ମଧ୍ୟ ଗ୍ରହଣ କରନ୍ତି। ମିଡିଆ ଆଇଟମ୍ ପ୍ରକାରଗୁଡ଼ିକ ହେଉଛି text, image, audio, video, ଏବଂ document। ସେମାନଙ୍କର ମିଡିଆ source ହେଉଛି ହରତଃ {"type":"url","url":"https://..."} କିମ୍ବା {"type":"base64","data":"...","media_type":"..."}

ଜିନା v5 Omni (jina-ai/jina-embeddings-v5-omni-small, jina-ai/jina-embeddings-v5-omni-nano, ଏବଂ ପରିବାର ଉପନାମ jina-ai/jina-embeddings-v5-omni → omni-small) ମଧ୍ୟ ଜିନାର ନେଟିଭ EmbeddingsV5Request ଡକ୍ୟୁମେଣ୍ଟଗୁଡ଼ିକୁ ଗ୍ରହଣ କରେ ଏବଂ ସେଗୁଡ଼ିକୁ ଅପରିବର୍ତ୍ତିତ ରୂପେ 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,..." }]
    }
  ]
}

ନେଟିଭ { image | audio | video | pdf } ମୂଲ୍ୟଗୁଡ଼ିକ ଏକ ସାର୍ବଜନୀନ HTTPS URL, ଏକ data: URI, କିମ୍ବା କଞ୍ଚା ବେସ୍୧୪ ହୋଇପାରେ। OmniRoute ସେହି ଅବଜେକ୍ଟଗୁଡ଼ିକୁ ଷ୍ଟ୍ରିଙ୍ଗିଫାଇ କରେ ନାହିଁ କିମ୍ବା ନେଟିଭ ଇମେଜ୍ URL ଫେଚ କରେ ନାହିଁ — ଜିନା ନିଜେ ସାର୍ବଜନୀନ ମିଡିଆ ପୁନରୁଦ୍ଧାର କରେ। ଅତିରିକ୍ତ ଜିନା କ୍ଷେତ୍ରଗୁଡ଼ିକ (task, normalized, truncate, embedding_type) ଅଗ୍ରେସର କରାଯାଏ। କେବଳ ଟେକ୍ସଟ ଜିନା SKU ଗୁଡ଼ିକ ଏବେ ବି ଅଣ-ଟେକ୍ସଟ ଡକ୍ୟୁମେଣ୍ଟଗୁଡ଼ିକୁ ପ୍ରତ୍ୟାଖ୍ୟାନ କରନ୍ତି।

ନିରାପତ୍ତା ଏବଂ ପରିବହନ ସୀମା:

  • ରିମୋଟ ମିଡିଆ URL ଗୁଡ଼ିକ ସାର୍ବଜନୀନ HTTPS ହେବା ଆବଶ୍ୟକ। କାନୋନିକାଲ {type,source:url} ଆଇଟମ୍ ଗୁଡ଼ିକ ସର୍ଭର-ପାର୍ଶ୍ୱରେ ଫେଚ କରାଯାଏ (ରିଡାଇରେକ୍ଟ ପୁନଃଯାଞ୍ଚ, ଟାଇମଆଉଟ, ଆକାର ସୀମା, ସାର୍ବଜନୀନ DNS, କନେକ୍ସନ ପିନିଂ) ଏବଂ ପ୍ରଦାତା କଲ ପୂର୍ବରୁ ଇନଲାଇନ କରାଯାଏ। ଜିନା-ନେଟିଭ {image:"https://..."} ଆଇଟମ୍ ଗୁଡ଼ିକ ସମାନ ସାର୍ବଜନୀନ-HTTPS ଯାଞ୍ଚ ପରେ ଯଥାବତ ଅଗ୍ରେସର କରାଯାଏ; ଜିନା URL ଫେଚ କରେ।

  • ଇନଲାଇନ ବେସ୍୧୪ ମିଡିଆ ପ୍ରତି ଆଇଟମ୍ ପାଇଁ 8 MiB ଡିକୋଡେଡ ଏବଂ ଅନୁରୋଧ ମଧ୍ୟରେ 16 MiB ଡିକୋଡେଡ ମଧ୍ୟରେ ସୀମିତ।

ପ୍ରଦାତା ଅନୁବାଦ (କାନୋନିକାଲ ଆଇଟମ୍ ଗୁଡ଼ିକ କେବେ ବି ଅପରିବର୍ତ୍ତିତ ଅଗ୍ରେସର କରାଯାଏ ନାହିଁ):

  • ଜିନା ମଲ୍ଟିମୋଡାଲ ମଡେଲଗୁଡ଼ିକ: ପ୍ରତ୍ୟେକ ଟପ୍-ଲେଭଲ ଆଇଟମ୍ ଗୋଟିଏ ମୋଡାଲିଟି-କୀ ଅବଜେକ୍ଟ (text / image / audio / video / pdf) ହୋଇଯାଏ, ଇନଲାଇନ ମିଡିଆ ପାଇଁ ଡାଟା URI ବ୍ୟବହାର କରି; ପ୍ରତି ଟପ୍-ଲେଭଲ ଆଇଟମ୍ ପାଇଁ ଗୋଟିଏ ଭେକ୍ଟର।

  • Gemini Embedding 2 ପରିବାର: ଗୋଟିଏ ଟପ୍-ଲେଭଲ ଆରେ ଏକକ ନେଟିଭ models/{model}:embedContent ଅନୁରୋଧରେ ପରିଣତ ହୁଏ, content.parts (text କିମ୍ବା inline_data) ସହିତ।

  • ଅଜ୍ଞାତ/ଡାଇନାମିକ ମଡେଲଗୁଡ଼ିକ ଯେଉଁଗୁଡ଼ିକରେ ସ୍ପଷ୍ଟ ମୋଡାଲିଟି ମେଟାଡାଟା ନାହିଁ, ସେଗୁଡ଼ିକ 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"
}

ଅସମର୍ଥିତ ମଡେଲ/ମୋଡାଲିଟି ସଂଯୋଗଗୁଡ଼ିକ ଆଇଟମ୍ ଉପରେ ବାଧ୍ୟ କରିବା ପରିବର୍ତ୍ତେ HTTP 400 ଫେରାଇଥାଏ। ଲିଗାସି ଷ୍ଟ୍ରିଙ୍ଗ/ଟୋକନ ଅନୁରୋଧଗୁଡ଼ିକରେ ଇନପୁଟ-ବ୍ୟତୀତ ଏକ୍ସଟେନସନ କ୍ଷେତ୍ରଗୁଡ଼ିକ ଅପରିବର୍ତ୍ତିତ ରୂପେ ପାର ହୋଇଥାଏ।

# ସମସ୍ତ ଏମ୍ବେଡିଂ ମଡେଲଗୁଡ଼ିକୁ ତାଲିକା କରନ୍ତୁ
GET /v1/embeddings

ଛବି ସୃଷ୍ଟି

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

ଉପଲବ୍ଧ ପ୍ରୋଭାଇଡର୍ଗୁଡ଼ିକ: OpenAI (GPT Image 2), xAI (Grok Image), Together AI (FLUX), Fireworks AI, Nebius (FLUX), Hyperbolic, NanoBanana, OpenRouter, SD WebUI (ସ୍ଥାନୀୟ), ComfyUI (ସ୍ଥାନୀୟ)।

# ସମସ୍ତ ଛବି ମଡେଲ୍ ତାଲିକା କରନ୍ତୁ
GET /v1/images/generations

ଡକ୍ୟୁମେଣ୍ଟ୍ 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 ଟି provider/model ଉପସର୍ଗ ମାଧ୍ୟମରେ OCR ପ୍ରୋଭାଇଡର୍ ଚୟନ କରେ; ଏକ କେବଳ ମଡେଲ୍ ଆଇଡି (ଯଥା mistral-ocr-latest) ଏହାର ପଞ୍ଜୀକୃତ ପ୍ରୋଭାଇଡର୍ ପାଇଁ ସମାଧାନ ହୁଏ, ଏବଂ ଏକ ବାଦ୍ ଦିଆଯାଇଥିବା model ଡିଫଲ୍ଟ ଭାବରେ Mistral (mistral-ocr-latest) କୁ ଯାଏ। ପଞ୍ଜୀକୃତ ପ୍ରୋଭାଇଡର୍ଗୁଡ଼ିକ (open-sse/config/ocrRegistry.ts):

ପ୍ରୋଭାଇଡର୍ ଆଇଡି ମଡେଲ୍ ଆଇଡି model ମୂଲ୍ୟ ନୋଟ୍
mistral mistral-ocr-latest mistral/mistral-ocr-latest (କିମ୍ବା କେବଳ mistral-ocr-latest) ସିଙ୍କ୍ରୋନସ୍ — ପ୍ରତିକ୍ରିୟା ସିଧାସଳଖ ଏକକ ଅପସ୍ଟ୍ରିମ୍ କଲରୁ ଫେରିଆସେ।
azure-document-intelligence prebuilt-read azure-document-intelligence/prebuilt-read ଅସିଙ୍କ୍ରୋନସ୍ ଅପସ୍ଟ୍ରିମ୍ (analyze + poll) — ନିମ୍ନରେ ଦେଖନ୍ତୁ।
vertex-deepseek-ocr deepseek-ocr-maas vertex-deepseek-ocr/deepseek-ocr-maas ସିଙ୍କ୍ରୋନସ୍, Vertex AI ର openapi/chat/completions ପାର୍ଟନର୍ ଏଣ୍ଡପଏଣ୍ଟ ମାଧ୍ୟମରେ — auth/URL ପାଇଁ ନିମ୍ନରେ ଦେଖନ୍ତୁ।

ସମସ୍ତ ତିନୋଟି ପ୍ରୋଭାଇଡର୍ ସମାନ Mistral-ଆକୃତିର ବଡିରେ ପ୍ରତିକ୍ରିୟା ଦିଅନ୍ତି:

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

Azure Document Intelligence ପୋଲ ପ୍ରବାହ

Azure Document Intelligence ର analyze API ଅସିଙ୍କ୍ରୋନସ୍ ଅଟେ: ପ୍ରାରମ୍ଭିକ ଅନୁରୋଧ ଏକ ବଡି ପରିବର୍ତ୍ତେ Operation-Location ହେଡର୍ ଫେରାଇଥାଏ, ଏବଂ ଫଳାଫଳ ପାଇଁ ପୋଲ କରିବାକୁ ପଡିଥାଏ। ହ୍ୟାଣ୍ଡଲର୍ (open-sse/handlers/ocr.ts) ସେହି URL କୁ ପ୍ରତି ସେକେଣ୍ଡରେ 30 ପ୍ରୟାସ ପର୍ଯ୍ୟନ୍ତ ପୋଲ କରେ, ଏକ ଅଣ-ok ପୋଲ ପ୍ରତିକ୍ରିୟା କିମ୍ବା "failed" ସ୍ଥିତିରେ ଶୀଘ୍ର ବିଫଳ ହୁଏ (ପୋଲ ଜାରି ରଖେ ନାହିଁ), ଏବଂ ଯଦି ପ୍ରୟାସ ବଜେଟ୍ ସମାପ୍ତ ହେବା ପରେ କାର୍ଯ୍ୟ ତଥାପି ଚାଲୁଥାଏ ତେବେ 504 ଫେରାଇଥାଏ। ଚୂଡ଼ାନ୍ତ Azure ପ୍ରତିକ୍ରିୟାକୁ କଲର୍କୁ ଫେରାଇବା ପୂର୍ବରୁ Mistral ଦ୍ୱାରା ବ୍ୟବହୃତ ସମାନ pages/markdown ଆକୃତିରେ ସାଧାରଣୀକୃତ କରାଯାଏ, ତେଣୁ କ୍ଲାଏଣ୍ଟ କୋଡ୍ ପ୍ରୋଭାଇଡର୍ ପାଇଁ ବିଶେଷ କ୍ଷେତ୍ର କରିବାର ଆବଶ୍ୟକତା ନାହିଁ।

Vertex AI DeepSeek OCR ପ୍ରାମାଣିକିକରଣ ଏବଂ ଏଣ୍ଡପଏଣ୍ଟ ସମାଧାନ

vertex-deepseek-ocr ଚାଟ୍/ଛବି ଟ୍ରାଫିକ୍ ପାଇଁ OmniRoute ପୂର୍ବରୁ ସମର୍ଥନ କରୁଥିବା ସମାନ Vertex AI ପ୍ରାମାଣିକିକରଣକୁ ପୁନଃବ୍ୟବହାର କରେ (open-sse/executors/vertex.ts): ସଂଯୋଗର API କୀ ହୁଏତ ଏକ ସର୍ଭିସ୍ ଆକାଉଣ୍ଟ JSON ପ୍ରମାଣପତ୍ର (JWT-bearer ପ୍ରବାହ ମାଧ୍ୟମରେ ଏକ ସ୍ୱଳ୍ପ-ଜୀବନୀ OAuth ଆକ୍ସେସ୍ ଟୋକନ୍ ପାଇଁ ବିନିମୟ ହୋଇଥାଏ) କିମ୍ବା ଏକ ପୂର୍ବରୁ ଜାରି ହୋଇଥିବା OAuth ଆକ୍ସେସ୍ ଟୋକନ୍ ଯାହା ସେମିତି ବ୍ୟବହୃତ ହୁଏ। ଅପସ୍ଟ୍ରିମ୍ ଏଣ୍ଡପଏଣ୍ଟ URL ହେଉଛି Vertex ର ସାଧାରଣ openapi/chat/completions ପାର୍ଟନର୍ ଏଣ୍ଡପଏଣ୍ଟ, ଯାହା ସଂଯୋଗର ପ୍ରୋଜେକ୍ଟ ଏବଂ ଅଞ୍ଚଳରୁ ନିର୍ମିତ — ଏକ ସ୍ପଷ୍ଟ providerSpecificData.project/providerSpecificData.region ସର୍ବଦା ପ୍ରାଧାନ୍ୟ ନିଏ; ଅନ୍ୟଥା ପ୍ରୋଜେକ୍ଟଟି ସର୍ଭିସ୍ ଆକାଉଣ୍ଟ JSON ର project_id ରୁ ଉତ୍ପନ୍ନ ହୁଏ ଏବଂ ଅଞ୍ଚଳ ଡିଫଲ୍ଟ ଭାବରେ us-central1 ହୁଏ। ଉଭୟ ସମାଧାନ open-sse/handlers/ocr.ts ରେ ଘଟେ (resolveVertexOcrAccessToken, resolveVertexOcrBaseUrl), ଯାହା handleOcr କୁ ପଠାଇବା ପୂର୍ବରୁ src/app/api/v1/ocr/route.ts ଦ୍ୱାରା ବ୍ୟବହୃତ ହୁଏ।

ମଡେଲ୍ ତାଲିକା

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

→ ସମସ୍ତ ଚାଟ୍, ଏମ୍ବେଡିଂ ଏବଂ ଇମେଜ୍ ମଡେଲ୍ + ସମ୍ମିଶ୍ରଣ ଓପନଏଆଇ୍ ଫର୍ମାଟରେ ଫେରାଏ

ମଡେଲ୍ ଆଇଡି ଉପସର୍ଗ (?prefix=)

ଅଧିକାଂଶ ମଡେଲ୍ ପ୍ରଦାତା ଉପସର୍ଗ ଅଧୀନରେ ବିଜ୍ଞାପିତ ହୁଅନ୍ତି। ଆପଣ କେଉଁ ଉପସର୍ଗ ପାଇବେ ତାହା MODELS_CATALOG_PREFIX_MODE ଫିଚର୍ ଫ୍ଲାଗ୍ ଦ୍ୱାରା ନିୟନ୍ତ୍ରିତ ହୁଏ, ଏବଂ ପ୍ରତ୍ୟେକ ଅନୁରୋଧରେ ଏକ କ୍ୱେରୀ ପାରାମିଟର୍ ଦ୍ୱାରା ଓଭରରାଇଡ୍ କରାଯାଇପାରେ — ଯଦି ଗ୍ରାହକ ଅନ୍ୟ ସମସ୍ତଙ୍କ ପାଇଁ ସର୍ଭର୍-ୱାଇଡ୍ ସେଟିଂ୍ ପରିବର୍ତ୍ତନ ନ କରି ସ୍ୱଚ୍ଛ ତାଲିକା ଚାହାଁନ୍ତି:

GET /v1/models?prefix=alias        # ପ୍ରତ୍ୟେକ ମଡେଲ୍ ପାଇଁ ଏକ id — ସଂକ୍ଷିପ୍ତ ଉପନାମ ଉପସର୍ଗ
GET /v1/models?prefix=dual         # ଉଭୟ ଫର୍ମ (ସର୍ଭର୍ ଡିଫଲ୍ଟ)
GET /v1/models?prefix=canonical    # କେବଳ ସମ୍ପୂର୍ଣ୍ଣ ପ୍ରଦାତା-id ଉପସର୍ଗ
ମୋଡ୍ ଉତ୍ପାଦନ କରେ ନୋଟ୍
dual cc/claude-sonnet-4-6 ଏବଂ claude/claude-sonnet-4-6 ଡିଫଲ୍ଟ। ଉଭୟ id ସମାନ ମଡେଲ୍ କୁ ରୁଟ୍ କରେ; ଯେପରି ଗ୍ରାହକ କନଫିଗ୍ ଯାହା ହାର୍ଡକୋଡେଡ୍ ଫର୍ମ ବ୍ୟବହାର କରନ୍ତି ସେଗୁଡିକ କାମ ଜାରି ରଖିବା ପାଇଁ ରଖାଯାଇଛି। କ୍ୟାଟାଲଗ୍ ପ୍ରାୟ ଦୁଇଗୁଣ କରେ।
alias cc/claude-sonnet-4-6 ପ୍ରତ୍ୟେକ ମଡେଲ୍ ପାଇଁ ଗୋଟିଏ ଏଣ୍ଟ୍ରି। ସ୍ୱତନ୍ତ୍ର ଉପନାମ ନ ଥିବା ପ୍ରଦାତାମାନେ ମଧ୍ୟ ସେମାନଙ୍କ ଏଣ୍ଟ୍ରି ଉତ୍ପାଦନ କରନ୍ତି, ତେଣୁ କିଛି ହରା ନାହିଁ।
canonical claude/claude-sonnet-4-6 ସମ୍ପୂର୍ଣ୍ଣ ପ୍ରଦାତା-id ଉପସର୍ଗ ଅଧୀନରେ ପ୍ରତ୍ୟେକ ମଡେଲ୍ ପାଇଁ ଗୋଟିଏ ଏଣ୍ଟ୍ରି। ସ୍ୱତନ୍ତ୍ର ଉପନାମ ନ ଥିବା ପ୍ରଦାତା (ଉଦାହରଣ antigravity/…, agy/…) ସେମାନଙ୍କ ଗୋଟିଏ id ମଧ୍ୟ ଏଠାରେ ଉତ୍ପାଦନ କରନ୍ତି, ତେଣୁ କିଛି ହରା ନାହିଁ।

ଏକ dual-ମୋଡ୍ ମିରର୍ କ୍ୱେରୀ ପାରାମିଟର୍ ବିନା ମଧ୍ୟ ଚିହ୍ନଟ କରାଯାଇପାରେ: ଏହା ମୂଳ id କୁ ନିର୍ଦ୍ଦେଶ କରୁଥିବା ଏକ parent କ୍ଷେତ୍ର ବହନ କରେ।

ଯେଉଁ ଗ୍ରାହକମାନେ ମଡେଲ୍ ପିକର୍ ରେନ୍ଡର୍ କରନ୍ତି ସେମାନେ ?prefix=alias ଅନୁରୋଧ କରିବା ଉଚିତ୍ — ଏହା OmniCopilot VS Code ଏକ୍ସଟେନ୍ସନ୍ ଦ୍ୱାରା ବ୍ୟବହୃତ ହୁଏ।

ନୋ-ଥିଙ୍କିଂ ମଡେଲ୍ ଭେରିଆଣ୍ଟ

ଥିଙ୍କିଂ-ସକ୍ଷମ Claude ମଡେଲ୍ ପାଇଁ, /v1/models ଏକ ନୋ-ଥିଙ୍କିଂ ଭେରିଆଣ୍ଟ ମଧ୍ୟ ବିଜ୍ଞାପନ କରେ ଯାହାର id claude-3-omniroute-no-thinking/ ଉପସର୍ଗ ସହ ଅଟେ:

claude-3-omniroute-no-thinking/<provider>/<model>

ଏହି id ବାଛିବା (ଉଦାହରଣ ସ୍ୱରୂପ ସର୍ବଦା thinking ବ୍ଲକ୍ ସଂଲଗ୍ନ କରୁଥିବା Claude Code କନଫିଗ୍ ରେ) ଯୁକ୍ତି ଦମନ କରି ପ୍ରକୃତ <provider>/<model> କୁ ସଂକଳ୍ପ କରେ — /v1/messages ପଥ୍ ରେ thinking:{type:"disabled"}, ଅଥବା /v1/chat/completions ପଥ୍ ରେ reasoning/reasoning_effort କ୍ଷେତ୍ର ବାଦ୍ ଦିଆଯାଏ। ଏହି ଭେରିଆଣ୍ଟ କେବଳ ସେହି Claude-ପରିବାର ମଡେଲ୍ ପାଇଁ ତାଲିକାଭୁକ୍ତ ହୁଏ ଯେଉଁମାନେ ଥିଙ୍କିଂ ସମର୍ଥନ କରନ୍ତି ଏବଂ disabled ମାନନ୍ତି (ତେଣୁ ଉଦାହରଣ ସ୍ୱରୂପ disabled ପ୍ରତ୍ୟାଖ୍ୟାନ କରୁଥିବା କେବଳ ଅନୁକୂଳମୂଳକ ମଡେଲ୍ ବାଦ୍ ଦିଆଯାଏ)। ଅପରେଟର୍ ModelSpec.noThinkingAlias ମାଧ୍ୟମରେ ପ୍ରତ୍ୟେକ ମଡେଲ୍ ପାଇଁ ଭେରିଆଣ୍ଟ ଚାଲୁ ଅଥବା ବନ୍ଦ କରିପାରିବେ।


ପ୍ରୋଭାଇଡର ପ୍ଲଗଇନ ମ୍ୟାନିଫେସ୍ଟ

GET /api/v1/provider-plugin-manifest

Bifrost, CLIProxyAPI ଏବଂ ଭବିଷ୍ୟତର ସାଇଡକାର ରାଉଟରମାନଙ୍କ ଦ୍ୱାରା ବ୍ୟବହୃତ JSON-ନିରାପଦ ପ୍ରୋଭାଇଡର ପ୍ଲଗଇନ ମ୍ୟାନିଫେସ୍ଟକୁ ଫେରାଇ ଦିଏ। ଉତ୍ତରଟି TypeScript ପ୍ରୋଭାଇଡର ରେଜିଷ୍ଟ୍ରିରୁ ଉତ୍ପନ୍ନ ହୋଇଥାଏ ଏବଂ ଜାଣିଶୁଣି OAuth କ୍ଲାଏଣ୍ଟ ସିକ୍ରେଟ୍, ରନ୍ଟାଇମ ପରିବେଶ ସମାଧାନ, ଏକ୍ସକ୍ୟୁଟର ଫଙ୍କସନ୍, ଅନୁରୋଧ ହେଡର୍ ଏବଂ ଆକାଉଣ୍ଟ ଡାଟାକୁ ବାଦ୍ ଦେଇଥାଏ।

ଯେତେବେଳେ ଏକ ସାଇଡକାର ପ୍ରକ୍ରିୟା ବାହାରେ ଚାଲିଥାଏ ଏବଂ open-sse/config/providerPluginManifestRegistry.ts କୁ ସିଧାସଳଖ ଆମଦାନୀ କରିପାରେ ନାହିଁ, ସେତେବେଳେ ଏହି ଏଣ୍ଡପଏଣ୍ଟ ବ୍ୟବହାର କରନ୍ତୁ।


ସୁସଙ୍ଗତତା ଏଣ୍ଡପଏଣ୍ଟଗୁଡ଼ିକ

ପଦ୍ଧତି ପଥ ଫର୍ମାଟ
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 (edit/inpaint)
POST /v1/videos/generations OpenAI-ଶୈଳୀ ଭିଡିଓ ଉତ୍ପାଦନ
POST /v1/music/generations OpenAI-ଶୈଳୀ ସଙ୍ଗୀତ ଉତ୍ପାଦନ
POST /v1/audio/transcriptions OpenAI ଅଡିଓ (STT)
POST /v1/audio/speech OpenAI TTS (ଅଡିଓ ବଡି ଫେରାଇ ଥାଏ)
POST /v1/rerank Cohere/Voyage-ଶୈଳୀ ରିରାଙ୍କ
POST /v1/classify Jina ଶ୍ରେଣୀବିଭାଜନ (api.jina.ai)
POST /v1/segment Jina ସେଗମେଣ୍ଟର (segment.jina.ai)
POST /v1/moderations OpenAI ମଡରେସନ୍
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 କାଟାଲଗ ଉପନାମ
GET /api/v1/vscode/{token}/models OpenAI ମଡେଲ ଉପନାମ
POST /api/v1/vscode/{token}/chat/completions OpenAI ଟୋକେନାଇଜଡ ଉପନାମ
POST /api/v1/vscode/{token}/responses OpenAI Responses ଟୋକେନାଇଜଡ ଉପନାମ
POST /api/v1/vscode/{token}/api/chat Ollama ଟୋକେନାଇଜଡ ଉପନାମ
GET /api/v1/vscode/{token}/api/tags Ollama ଟ୍ୟାଗ୍ ଟୋକେନାଇଜଡ ଉପନାମ

ସମସ୍ତ POST ରୁଟ୍ ସମାନ ଆକାର ଅନୁସରଣ କରେ: Bearer your-api-key + Zod-ଦ୍ୱାରା ବୈଧ JSON ବଡି (v1RerankSchema, v1ModerationSchema, v1AudioSpeechSchema, ଇତ୍ୟାଦି, src/shared/validation/schemas.ts ଦେଖନ୍ତୁ)। ସ୍କିମା ବିଫଳ ହେଲେ 4xx ଫେରାଇ ଦିଆଯାଏ।

ଯେଉଁ କ୍ଲାଏଣ୍ଟମାନେ Authorization: Bearer ... ସଂଲଗ୍ନ କରିପାରନ୍ତି ନାହିଁ, ସେମାନଙ୍କ ପାଇଁ OmniRoute କ୍ୱେରି-ଷ୍ଟ୍ରିଙ୍ଗ ସୁସଙ୍ଗତତା (?token=..., ?apiKey=..., ?api_key=..., ?key=...) ମାଧ୍ୟମରେ କିମ୍ବା ନିମ୍ନରେ ଦଲିଲବଦ୍ଧ ସ୍ୱତନ୍ତ୍ର /api/v1/vscode/{token}/... ଏଣ୍ଡପଏଣ୍ଟଗୁଡ଼ିକ ମାଧ୍ୟମରେ URL ରେ API କୀ ଗ୍ରହଣ କରେ।

# ରିରାଙ୍କ
POST /v1/rerank      { "model": "jina-ai/jina-reranker-v3.5", "query": "...", "documents": ["..."] }

# Jina ଶ୍ରେଣୀବିଭାଜନ (Foundation API ପ୍ରମାଣପତ୍ର)
POST /v1/classify    { "model": "jina-embeddings-v5-text-small", "input": ["..."], "labels": ["a", "b"] }

# Jina ସେଗମେଣ୍ଟର
POST /v1/segment     { "content": "...", "return_chunks": true }

# Jina ସନ୍ଧାନ (s.jina.ai; ପ୍ରୋଭାଇଡର ଉପନାମ: jina-search, jina-ai, jina)
POST /v1/search      { "query": "...", "provider": "jina-search" }

# ମଡରେସନ୍
POST /v1/moderations { "model": "omni-moderation-latest", "input": "..." }

# TTS — audio/mpeg (କିମ୍ବା ଅନୁରୋଧିତ ଫର୍ମାଟ) ବଡି ଫେରାଇ ଥାଏ
POST /v1/audio/speech { "model": "openai/tts-1", "input": "Hello", "voice": "alloy" }

# ଛବି ସମ୍ପାଦନା (ମଲ୍ଟିପାର୍ଟ)
POST /v1/images/edits  -F image=@input.png -F prompt="..." -F mask=@mask.png

# ଭିଡିଓ / ସଙ୍ଗୀତ ଉତ୍ପାଦନ (ପ୍ରୋଭାଇଡର-ଉପସର୍ଗ ମଡେଲ id)
POST /v1/videos/generations { "model": "runway/gen-3", "prompt": "..." }
POST /v1/music/generations  { "model": "suno/v3.5",   "prompt": "..." }

ସ୍ୱତନ୍ତ୍ର ପ୍ରୋଭାଇଡର ରୁଟ୍ଗୁଡ଼ିକ

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

ପ୍ରୋଭାଇଡର ଉପସର୍ଗ ନଥିଲେ ସ୍ୱୟଂଚାଳିତ ଭାବରେ ଯୋଡ଼ାଯାଏ। ଅସଙ୍ଗତ ମଡେଲଗୁଡ଼ିକ 400 ଫେରାଇ ଥାଏ।

ଫାଇଲ୍ API

ବ୍ୟାଚ୍ ଇନପୁଟ/ଆଉଟପୁଟ୍ ଏବଂ ଫାଇଲ୍-ଉଦ୍ଦେଶ୍ୟ ଅପଲୋଡ୍ ପାଇଁ OpenAI-ସୁସଙ୍ଗତ ଫାଇଲ୍ ଏଣ୍ଡପଏଣ୍ଟ।

ପଦ୍ଧତି ପଥ ବର୍ଣ୍ଣନା
POST /v1/files ଏକ ଫାଇଲ୍ ଅପଲୋଡ୍ କରନ୍ତୁ (multipart: file, purpose, expires_after[anchor], expires_after[seconds]) — ଅଧିକତମ 512 MiB
GET /v1/files ପ୍ରାମାଣିକୃତ API କି ପାଇଁ ଫାଇଲ୍ ତାଲିକା କରନ୍ତୁ
GET /v1/files/[id] ଏକ ଫାଇଲର ମେଟାଡାଟା ପୁନରୁଦ୍ଧାର କରନ୍ତୁ
DELETE /v1/files/[id] ଏକ ଫାଇଲ୍ ଅପସାରଣ କରନ୍ତୁ
GET /v1/files/[id]/content ଫାଇଲର କଞ୍ଚା ବଡି ଷ୍ଟ୍ରିମ୍ କରି ଫେରାନ୍ତୁ

ପ୍ରାମାଣିକିକରଣ: Bearer API କି — ଫାଇଲ୍ ଗୁଡ଼ିକ getApiKeyRequestScope ମାଧ୍ୟମରେ ପ୍ରତି API କି ଅନୁଯାୟୀ ସୀମିତ।


ବ୍ୟାଚ୍ API

OpenAI-ସୁସଙ୍ଗତ ବ୍ୟାଚ୍ ପ୍ରକ୍ରିୟାକରଣ।

ପଦ୍ଧତି ପଥ ବର୍ଣ୍ଣନା
POST /v1/batches ବ୍ୟାଚ୍ ସୃଷ୍ଟି କରନ୍ତୁ — ବଡି v1BatchCreateSchema ଦ୍ୱାରା ବୈଧ କରାଯାଇଛି (input_file_id, endpoint, completion_window)
GET /v1/batches ବ୍ୟାଚ୍ ତାଲିକା କରନ୍ତୁ
GET /v1/batches/[id] ବ୍ୟାଚ୍ ସ୍ଥିତି + request_counts ପୁନରୁଦ୍ଧାର କରନ୍ତୁ
DELETE /v1/batches/[id] ଏକ ସମାପ୍ତ/ବିଫଳ ବ୍ୟାଚ୍ ଅପସାରଣ କରନ୍ତୁ
POST /v1/batches/[id]/cancel ଏକ ଚାଲୁଥିବା ବ୍ୟାଚ୍ ବାତିଲ୍ କରନ୍ତୁ

ପ୍ରାମାଣିକିକରଣ: Bearer API କି. ବ୍ୟାଚ୍ ଗୁଡ଼ିକ ପ୍ରତି API କି ଅନୁଯାୟୀ ସୀମିତ।


ସନ୍ଧାନ API

ୱେବ୍/ସନ୍ଧାନ ପ୍ରୋଭାଇଡର୍ ଆବଷ୍ଟ୍ରାକ୍ସନ (Tavily, Brave, Exa, Serper, ଇତ୍ୟାଦି)।

ପଦ୍ଧତି ପଥ ବର୍ଣ୍ଣନା
GET /v1/search କନଫିଗର୍ ହୋଇଥିବା ସନ୍ଧାନ ପ୍ରୋଭାଇଡର୍ + କ୍ଷମତା ତାଲିକା କରନ୍ତୁ
POST /v1/search ଏକ ସନ୍ଧାନ କ୍ୱେରି ଚଲାନ୍ତୁ — ବଡି v1SearchSchema ଦ୍ୱାରା ବୈଧ କରାଯାଇଛି, caching/coalescing ସମର୍ଥନ କରେ
GET /v1/search/analytics ପ୍ରତି-ପ୍ରୋଭାଇଡର୍ hit/latency/cache ପରିସଂଖ୍ୟାନ

ପ୍ରାମାଣିକିକରଣ: Bearer API କି (extractApiKey + isValidApiKey). ସନ୍ଧାନ ନୀତି enforceApiKeyPolicy ମାଧ୍ୟମରେ ପ୍ରୟୋଗ କରାଯାଇଛି।


ୱେବ୍ ଫେଚ୍ ଏପିଆଇ

ଏକ ବିନ୍ୟାସ କରାଯାଇଥିବା ୱେବ୍-ଫେଚ୍ ପ୍ରଦାନକର୍ତ୍ତା (ଫାୟାରକ୍ରଲ, ଜିନା ରିଡର, ଟାଭିଲି ଏକ୍ଷଟ୍ରାକ୍ଟ, ଟିନିଫିଶ୍ ଫେଚ୍, ନିମ୍ବଲ ଏକ୍ଷଟ୍ରାକ୍ଟ) ମାଧ୍ୟମରେ ଏକ URL ରୁ ସାମଗ୍ରୀ ଉତ୍ତୋଳନ କରନ୍ତୁ।

ପଦ୍ଧତି ପଥ ବିବରଣୀ
POST /v1/web/fetch ଏକ URL ଫେଚ୍ କରନ୍ତୁ/ସ୍କ୍ରେପ୍ କରନ୍ତୁ — ଶରୀର v1WebFetchSchema ଦ୍ୱାରା ଯାଞ୍ଚ କରାଯାଏ

ପ୍ରମାଣୀକରଣ: ବିୟରର ଏପିଆଇ କୀ (extractApiKey + isValidApiKey)। ନୀତି enforceApiKeyPolicy ମାଧ୍ୟମରେ ଜୋର ଦିଆଯାଏ।

କୋଟା-ସଚେତନ ଫଲବ୍ୟାକ୍ (#8297): ଯେତେବେଳେ ସ୍ପଷ୍ଟ ପ୍ରଦାନକର୍ତ୍ତା ଦିଆଯାଇ ନାହିଁ, ପୁଲ (ଫାୟାରକ୍ରଲଜିନା-ରିଡରଟାଭିଲି-ସର୍ଚ୍ଚଟିନିଫିଶ୍ନିମ୍ବଲ-ସର୍ଚ୍ଚ) ସ୍ଥିର ପ୍ରାଥମିକତା କ୍ରମରେ (ପୂରଣ-ପ୍ରଥମେ) ପରିଦର୍ଶିତ ହୁଏ — ଏକ ହାର ସୀମାବଦ୍ଧ କିନ୍ତୁ ବିନ୍ୟାସ କରାଯାଇଥିବା ପ୍ରଦାନକର୍ତ୍ତା ଅନୁରୋଧ ଛୋଟ କରିବା ପରିବର୍ତ୍ତେ ଏଡ଼ାଯାଏ, ଏବଂ ଏକ ପୁନରାବୃତ୍ତିଯୋଗ୍ୟ/କୋଟା ଅପ୍ଷ୍ଟ୍ରିମ ବିଫଳତା (ହମେଶା HTTP 429; ଫାୟାରକ୍ରଲ/ଟାଭିଲି/ଟିନିଫିଶ୍ କୋଟା-ଶୈଳୀ ମୁକ୍ତ ସ୍ତର ପାଇଁ 402/403 — ଜିନା ରିଡର ପାଇଁ ନୁହେଁ, ଏବଂ କେବଳ 400 ଖରାପ ଅନୁରୋଧ ପାଇଁ କେବେ ନୁହେଁ) ଅନୁରୋଧ ସମୟରେ ପରବର୍ତ୍ତୀ ଅପରୀକ୍ଷିତ ସାକ୍ଷରତା ପ୍ରଦାନକର୍ତ୍ତାକୁ ଛାଡ଼ି ଦିଏ। ଯେତେବେଳେ ପୁଲରେ ପ୍ରତ୍ୟେକ ପ୍ରଦାନକର୍ତ୍ତା ସମାପ୍ତ ହୁଏ, ଏଣ୍ଡପଏଣ୍ଟ ପୂର୍ବବର୍ତ୍ତୀ ସାଧାରଣ 400 ପରିବର୍ତ୍ତେ ଏକ 429 ଫେରାଏ (ଏକ Retry-After ହେଡର ସହ)। ଯେତେବେଳେ ଏକ ସ୍ପଷ୍ଟ ପ୍ରଦାନକର୍ତ୍ତା ଅନୁରୋଧ କରାଯାଏ, କୌଣସି ନିରବ ଫଲବ୍ୟାକ୍ ନାହିଁ — ଏକ ହାର ସୀମାବଦ୍ଧ କିମ୍ବା ବିଫଳ ସ୍ପଷ୍ଟ ପ୍ରଦାନକର୍ତ୍ତା ନିଜର ତ୍ରୁଟି ଦେଖାଏ (ଯଦି ହାର ସୀମାବଦ୍ଧ ତେବେ 429, ଅନ୍ୟଥା ଅପ୍ଷ୍ଟ୍ରିମ ସ୍ଥିତି)।


ୱେବସକେଟ୍ ଷ୍ଟ୍ରିମିଂ

GET /v1/ws?handshake=1

ଏକ ୱେବସକେଟ୍ ଅପଗ୍ରେଡ୍ ହ୍ୟାଣ୍ଡସେକ୍ ଯାଞ୍ଚ କରେ ଏବଂ ୱାୟାର୍ ପ୍ରୋଟୋକଲ୍ ଉଦାହରଣ ବାର୍ତ୍ତା (request, cancel) ଫେରାଏ। ପ୍ରକୃତ WS ଫ୍ରେମ୍ Next.js ରୁଟ୍ ଟେବୁଲ ବାହାରେ ବଣ୍ଡଲ କରାଯାଇଥିବା WS ସର୍ଭର ଦ୍ୱାରା ହ୍ୟାଣ୍ଡଲ କରାଯାଏ।

ପ୍ରମାଣୀକରଣ: ହ୍ୟାଣ୍ଡସେକ୍ ସମୟରେ ବିୟରର ଏପିଆଇ କୀ।

ୱେବସକେଟ୍ ଉପରେ ରେସପନ୍ସେସ୍ ଏପିଆଇ (କୋଡେକ୍ସ କେବଳ)

# Same host:port as the HTTP API (default 20128); upgrade the connection:
wscat -c "ws://localhost:20128/v1/responses?api_key=<OMNIROUTE_API_KEY>"
# (or: -H "Authorization: Bearer <OMNIROUTE_API_KEY>")

# First frame MUST be response.create:
{ "type": "response.create", "model": "gpt-5.5", "input": [ { "role": "user", "content": "hi" } ] }

ଏକ WebSocket-over-Responses-API ପ୍ରକ୍ସି ବିଶେଷଭାବେ codex (ChatGPT ବ୍ୟାକେଣ୍ଡ) ସହ ଯୋଗ ହୋଇଛି। ଏହା API/ଡ୍ୟାସବୋର୍ଡ ସହ ସମାନ ପୋର୍ଟରେ /v1/responses, /responses, ଏବଂ /api/v1/responses ପଥରେ ଶୁଣେ। ପ୍ରଥମ response.create ଫ୍ରେମ୍ ରେ ଏହା ଅନ୍ତର୍ନିହିତ codex-responses-ws ବ୍ରିଜ୍ ମାଧ୍ୟମରେ ପ୍ରମାଣୀକରଣ + ପ୍ରସ୍ତୁତ କରେ, ଏକ codex OAuth ସଂଯୋଗ ଚୟନ କରେ, ଏବଂ wreq-js ପରିବହନ ମାଧ୍ୟମରେ wss://chatgpt.com/backend-api/codex/responses କୁ ଟନେଲ କରେ। ଅ-କୋଡେକ୍ସ ମଡେଲ୍ ପ୍ରତ୍ୟାଖ୍ୟାତ (codex_ws_provider_required)। କୋଟା-ଶେୟାର ରୁଟିଂ ପାଇଁ model: "qtSd/<group>/codex/<model>" ବ୍ୟବହାର କରନ୍ତୁ। app/server-ws.mjs + scripts/dev/responses-ws-proxy.mjs + src/app/api/internal/codex-responses-ws/route.ts ରେ କାର୍ଯ୍ୟକାରୀ କରାଯାଇଛି।

ପ୍ରମାଣୀକରଣ: ହ୍ୟାଣ୍ଡସେକ୍ ସମୟରେ ବିୟରର ଏପିଆଇ କୀ। ବଣ୍ଡଲ କରାଯାଇଥିବା HTTP ସର୍ଭର (server-ws.mjs) ସକ୍ରିୟ ପ୍ରବେଶପଥ୍ ହେବା ଉଚିତ୍ (ଡିଫଲ୍ଟରେ, ଯେତେବେଳେ app/server-ws.mjs ଅଛି, ଏହା ସେହିପରି ଅଟେ)।

ମଡେଲ୍ ଆଇଡି: ନଗ୍ନ ChatGPT ଆଇଡି ବ୍ୟବହାର କରନ୍ତୁ (କୌଣସି codex/ ଉପସର୍ଗ ନାହିଁ)

OpenAI Codex CLI supports_websockets = true ସମୟରେ ମଡେଲ୍ ନାମ କ୍ଲାଏଣ୍ଟ-ପାଖରେ ଯାଞ୍ଚ କରେ ଏବଂ codex/gpt-5.5 ପରି ପ୍ରଦାନକର୍ତ୍ତା-ଉପସର୍ଗ ଆଇଡି ପ୍ରତ୍ୟାଖ୍ୟାନ କରେ (The 'codex/gpt-5.5' model is not supported when using Codex with a ChatGPT account)। ନଗ୍ନ ଆଇଡି (ଉଦାହରଣ gpt-5.5) ପଠାନ୍ତୁ। OmniRoute ର ବ୍ରିଜ୍ କୋଡେକ୍ସ-କେବଳ ଅଟେ, ସେଥିପାଇଁ ଅପ୍ଷ୍ଟ୍ରିମକୁ ଟନେଲ କରିବା ପୂର୍ବରୁ ଏହା ଏକ ନଗ୍ନ ଆଇଡିକୁ କୋଡେକ୍ସ ମଡେଲ୍ ରେ ପୁନର୍ବିନ୍ୟାସ କରେ (resolveCodexWsModelInfo) — ଯଦିଓ ଏକ ନଗ୍ନ gpt-5.5 HTTP ମାଧ୍ୟମରେ ଅନ୍ୟ ପ୍ରଦାନକର୍ତ୍ତାକୁ ରୁଟ୍ ହୋଇଥାନ୍ତା।

OpenAI Codex CLI ବିନ୍ୟାସ କରିବା

WebSocket ସମର୍ଥନ ସହ ଏକ କଷ୍ଟମ ପ୍ରଦାନକର୍ତ୍ତା ଯୋଗ କରି ~/.codex/config.toml ରେ Codex CLI କୁ OmniRoute ଆଡ଼କୁ ପଏଣ୍ଟ କରନ୍ତୁ (ଏକ ବିଦ୍ୟମାନ ବିନ୍ୟାସ ସ୍ପର୍ଶ ନ କରିବା ପାଇଁ ଏକ ଅଲଗା CODEX_HOME ବ୍ୟବହାର କରନ୍ତୁ):

model = "gpt-5.5"                 # bare id — NOT "codex/gpt-5.5"
model_provider = "omniroute"

[model_providers.omniroute]
name = "OmniRoute (WS)"
base_url = "http://localhost:20128/v1"   # no trailing slash; the WS URL is derived (use https/wss in production)
wire_api = "responses"                    # only supported value since Feb 2026
supports_websockets = true                # enables the Responses-over-WS transport
env_key = "OMNIROUTE_API_KEY"             # holds the OmniRoute API key (Bearer)
export OMNIROUTE_API_KEY=sk-...           # an OmniRoute API key (any key if REQUIRE_API_KEY=false)
codex exec "Responda apenas: PONG"

CLI base_url + /responses କୁ WebSocket ରେ ଅପଗ୍ରେଡ୍ କରେ ଏବଂ OmniRoute ଏହାକୁ ଚୟିତ codex OAuth ସଂଯୋଗକୁ ଟନେଲ କରେ। ସ୍ଥାନୀୟ ସର୍ଭର ବିରୁଦ୍ଧରେ ସମାପ୍ତ-ଥରୁ-ଆରମ୍ଭ ଯାଞ୍ଚ କରାଯାଇଛି: ChatGPT codex.rate_limits + response.created ଫେରାଏ ଏବଂ ସମାପ୍ତି ଷ୍ଟ୍ରିମ୍ କରେ।

କୋଟା ଏବଂ ସମସ୍ୟା ରିପୋର୍ଟିଂ

ପଦ୍ଧତି ପାଥ ବର୍ଣ୍ଣନା
GET /v1/quotas/check ରେଜିଷ୍ଟର ହୋଇଥିବା କୀ ଜାରି କରିବା ପୂର୍ବରୁ ଏକ provider + accountId ପାଇଁ କୋଟା ପ୍ରାରମ୍ଭିକ ଯାଞ୍ଚ
POST /v1/issues/report GitHub କୁ କୋଟା/କୀ ଜାରି ବିଫଳତା ରିପୋର୍ଟ କରନ୍ତୁ (ଆବଶ୍ୟକ GITHUB_ISSUES_REPO + ଟୋକେନ)

ପ୍ରମାଣୀକରଣ: Bearer API key (isAuthenticated)।


ସ୍ୱ-ସେବା ବ୍ୟବହାର (/api/usage/om-usage)

ଯେକୌଣସି API key ନିଜର ବ୍ୟବହାର ଏବଂ କୋଟା ପଢ଼ିପାରିବ — ପରିଚାଳନା ପ୍ରମାଣୀକରଣ ଆବଶ୍ୟକ ନାହିଁ। ଏହା ସେ ଏଣ୍ଡପଏଣ୍ଟ ଯାହା ଏକ କ୍ଲାଏଣ୍ଟ (CLI, OmniCopilot ପ୍ୟାନେଲ) ଏକ କୀ ଧାରକଙ୍କୁ ସେମାନଙ୍କ ଖର୍ଚ୍ଚ ଦେଖାଇବା ପାଇଁ ବ୍ୟବହାର କରେ।

# ପାଠ୍ୟ ଫର୍ମ (ଐତିହାସିକ ଚୁକ୍ତି — ଟର୍ମିନାଲ ପାଇଁ ସାଧାରଣ ପାଠ୍ୟ)
curl -H "Authorization: Bearer <your-api-key>" \
  http://localhost:20128/api/usage/om-usage

# ସଂଗଠିତ ଫର୍ମ — ଯାହା ଏକ UI ବ୍ୟବହାର କରେ
curl -H "Authorization: Bearer <your-api-key>" \
  "http://localhost:20128/api/usage/om-usage?format=json"

କୀରେ allowUsageCommand ସକ୍ଷମ ଥିବା ଆବଶ୍ୟକ (ଡିଫଲ୍ଟରେ ବନ୍ଦ — ଡ୍ୟାଶବୋର୍ଡର API-key ମ୍ୟାନେଜର ପ୍ରତ୍ୟେକ କୀ ପାଇଁ ଏହାକୁ ଟଗଲ କରେ)। ଏହା ଛାଡ଼ିଲେ ଏଣ୍ଡପଏଣ୍ଟ 403 ଉତ୍ତର ଦିଏ।

?format=json ଏକ ବିଚ୍ଛିନ୍ନ ଆକାର ଫେରାଏ ଯାହାଦ୍ୱାରା ଏକ ଡାକତାର କୌଣସି ରିଫ୍ୟୁଜାଲ ଉପରୁ ଡାଟା ଫିଲ୍ଡ ପଢ଼ିନଥାଏ। ସଫଳ ହେଲେ:

{
  "allowed": true,
  // କେବଳ ସେତେବେଳେ ଉପସ୍ଥିତ ଯେତେବେଳେ କୀ ପ୍ରତି-କୀ ବ୍ୟବହାର ସୀମା (ଦୈନିକ/ସାପ୍ତାହିକ USD) ରେ ବାଛିଥାଏ:
  "personal": {
    "dailySpentUsd": 1.25,
    "dailyLimitUsd": 5,
    "dailyResetAtIso": "…",
    "weeklySpentUsd": 8,
    "weeklyLimitUsd": 20,
    "weeklyResetAtIso": "…" /*  */,
  },
  // ବାଛା ଯାଇଥିବା ପ୍ରଦାନକାରୀ କୋଟା ସ୍ନାପଶଟ, ଅଥବା ଏପର୍ଯ୍ୟନ୍ତ କିଛି କ୍ୟାଶ ନ ହୋଇଥିଲେ null:
  "provider": {
    "connectionId": "…",
    "provider": "claude",
    "plan": "…",
    "quotas": {/*  */},
  },
  // ପ୍ରତ୍ୟେକ ସଂଯୋଗର ସ୍ନାପଶଟ, ଯାହାଦ୍ୱାରା ଏକ UI ଅନେକ ପ୍ରଦାନକାରୀଙ୍କୁ ପାଶ୍ୱର୍ଭାବେ ରେଣ୍ଡର କରିପାରିବ:
  "providers": [
    { "connectionId": "…", "provider": "claude" /*  */ },
    { "provider": "codex" /*  */ },
  ],
}

ରିଫ୍ୟୁଜାଲ (401 ଖରାପ କୀ / 403 ଅନୁମତି ନାହିଁ) ହେଲେ ସମାନ ରୁଟ { "allowed": false, "error": { "message": "…" } } ଫେରାଏ — ଏକ ଉପସ୍ଥିତ କିନ୍ତୁ ଖାଲି personal/provider (କୀ ଅନୁମତ, ଏପର୍ଯ୍ୟନ୍ତ କିଛି ଜଣା ନାହିଁ) ଏକ ଭିନ୍ନ ସ୍ଥିତି, ଏବଂ କେବଳ JSON ଫର୍ମ ସେମାନଙ୍କୁ ପୃଥକ କରେ।

ପ୍ରମାଣୀକରଣ: ଡାକତାର ନିଜ Bearer API key, isValidApiKey ଦ୍ୱାରା ଯାଞ୍ଚ କରାଯାଇଥାଏ — ଏହା ପରିଚାଳନା ସତହ (/api/keys/…) ନୁହେଁ, ଯାହା requireManagementAuth ପଛରେ ରହେ।


ସେମାଣ୍ଟିକ କ୍ୟାଶ

# କ୍ୟାଶ ପରିସଂଖ୍ୟାନ ପାନ୍ତୁ
GET /api/cache/stats

# ସମସ୍ତ କ୍ୟାଶ ସଫା କରନ୍ତୁ
DELETE /api/cache/stats

ଉତ୍ତର ଉଦାହରଣ:

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

ଲାଟେନ୍ସି ପ୍ରଭାବ

ଏକ ସେମାଣ୍ଟିକ କ୍ୟାଶ ହିଟ ଉତ୍ତରକୁ ଅପ୍ଷ୍ଟ୍ରିମ୍ ଡାକ ଛାଡ଼ି କ୍ୟାଶ ଉପରୁ ସେବ କରେ, ତେଣୁ ରିପୋର୍ଟ କରାଯାଇଥିବା X-OmniRoute-Response-Latency ପ୍ରାୟ ଶୂନ୍ୟ (ମୂଳ ଅପ୍ଷ୍ଟ୍ରିମ୍ ଲାଟେନ୍ସି ସହ ସମ୍ପୂର୍ଣ୍ଣ ଅବଲମ୍ବନ କରି ନାହିଁ)। ଲାଟେନ୍ସି-ସମ୍ବେଦନଶୀଳ କ୍ଲାଏଣ୍ଟ (ବେଞ୍ଚମାର୍କିଂ, p50/p99 ମନିଟରିଂ) X-OmniRoute-Cache-Latency ଉତ୍ତର ହେଡର ଯାଞ୍ଚ କରିବା ଉଚିତ:

ମୂଲ୍ୟ ଅର୍ଥ
synthetic ଉତ୍ତର କ୍ୟାଶ ଉପରୁ ସେବ କରାଗଲା; ଲାଟେନ୍ସି ପ୍ରକୃତ ଅପ୍ଷ୍ଟ୍ରିମ୍ ସମୟ ନୁହେଁ
(absent) ପ୍ରକୃତ ଅପ୍ଷ୍ଟ୍ରିମ୍ ଡାକ ଉପରୁ ଉତ୍ତର

ପ୍ରତି-କୀ କ୍ୟାଶ ବାଇପାସ

API keys cacheDefaultMode ମାଧ୍ୟମରେ ସେମାଣ୍ଟିକ କ୍ୟାଶ ପଢ଼ିବାରୁ ବାହାରିପାରିବେ:

ମୂଲ୍ୟ ବ୍ୟବହାର
legacy ସାଧାରଣ କ୍ୟାଶ ବ୍ୟବହାର (ଡିଫଲ୍ଟ)
bypass ସମ୍ପୂର୍ଣ୍ଣ କ୍ୟାଶ ଲୁକଅପ୍ ଛାଡ଼ନ୍ତୁ; ସର୍ବଦା ଅପ୍ଷ୍ଟ୍ରିମ୍ ହିଟ କରନ୍ତୁ

କୀ ସୃଷ୍ଟି (POST /api/keys) ଅଥବା ଅପଡେଟ୍ (PATCH /api/keys/[id]) ରେ ସେଟ କରାଯାଏ:

{ "cacheDefaultMode": "bypass" }

ପ୍ରତି-ଅନୁରୋଧ ବାଇପାସ

କୀ ସେଟିଂ ସହ ସମ୍ବନ୍ଧ ନ ରଖି ଯେକୌଣସି ଅନୁରୋଧ କ୍ୟାଶ ବାଇପାସ କରିପାରିବ:

X-OmniRoute-No-Cache: true

ଡ୍ୟାସବୋର୍ଡ ଏବଂ ପରିଚାଳନା

ପରିଚାଳନା ରୁଟସ୍ (/api/* ସାର୍ବଜନୀନ ପ୍ରମାଣୀକରଣ/ଲଗଇନ୍ ବ୍ୟତୀତ) ସାଧାରଣ ଅନୁମାନ API ଚାବି ଦ୍ୱାରା ଅଧିକୃତ ନୁହେଁ। ପ୍ରମାଣ ପରିବାର, ପରିସର, ଏବଂ curl ଉଦାହରଣଗୁଡିକ: ପରିଚାଳନା ପ୍ରମାଣୀକରଣ.

ପ୍ରମାଣୀକରଣ

ଏଣ୍ଡପଏଣ୍ଟ ପଦ୍ଧତି ବିବରଣୀ
/api/auth/login POST ଲଗଇନ୍
/api/auth/logout POST ଲଗଆଉଟ୍
/api/settings/require-login GET/PUT ଲଗଇନ୍ ଆବଶ୍ୟକତା ଟଗଲ କରନ୍ତୁ

ପ୍ରଦାତା ପରିଚାଳନା

ଏଣ୍ଡପଏଣ୍ଟ ପଦ୍ଧତି ବିବରଣୀ
/api/providers GET/POST ପ୍ରଦାତାମାନଙ୍କୁ ତାଲିକାଭୁକ୍ତ / ସୃଷ୍ଟି କରନ୍ତୁ
/api/providers/[id] GET/PUT/DELETE ଏକ ପ୍ରଦାତାକୁ ପରିଚାଳନା କରନ୍ତୁ
/api/providers/[id]/test POST ପ୍ରଦାତା ସଂଯୋଗ ପରୀକ୍ଷା କରନ୍ତୁ
/api/providers/[id]/models GET ପ୍ରଦାତା ମଡେଲ ତାଲିକାଭୁକ୍ତ କରନ୍ତୁ
/api/providers/validate POST ପ୍ରଦାତା କନଫିଗ୍ ବୈଧ କରନ୍ତୁ
/api/providers/bulk POST ଗୋଟିଏ ପ୍ରଦାତା ପାଇଁ ବଲ୍କ-ଏଡ୍ API ଚାବି
/api/providers/import POST ଏକ ବିଶ୍ଳେଷିତ CSV/JSON ଫାଇଲ୍ ଠାରୁ ଏକ ବିଭିନ୍ନ ପ୍ରକାର ପ୍ରଦାତା ତାଲିକା ଆମଦାନୀ କରନ୍ତୁ (#6836); ପ୍ରତ୍ୟେକ ଧାଡ଼ିର ଆଂଶିକ ବିଫଳତା ଫଳାଫଳ
/api/provider-nodes* ବିଭିନ୍ନ ପ୍ରଦାତା ନୋଡ୍ ପରିଚାଳନା
/api/provider-models GET/POST/PATCH/DELETE କଷ୍ଟମ୍ ମଡେଲ (ଯୋଗ କରନ୍ତୁ, ଅଦ୍ୟତନ କରନ୍ତୁ, ଲୁଚାନ୍ତୁ/ଦେଖାନ୍ତୁ, ବିଲୋପ କରନ୍ତୁ)

OAuth ପ୍ରବାହ

ଏଣ୍ଡପଏଣ୍ଟ ପଦ୍ଧତି ବିବରଣୀ
/api/oauth/[provider]/[action] ବିଭିନ୍ନ ପ୍ରଦାତା-ବିଶେଷ OAuth

ରୁଟିଂ ଏବଂ କନଫିଗ୍

ଏଣ୍ଡପଏଣ୍ଟ ପଦ୍ଧତି ବିବରଣୀ
/api/models/alias GET/POST ମଡେଲ ଉପନାମ
/api/models/catalog GET ପ୍ରଦାତା + ପ୍ରକାର ଦ୍ୱାରା ସମସ୍ତ ମଡେଲ
/api/combos* ବିଭିନ୍ନ କମ୍ବୋ ପରିଚାଳନା
/api/keys* ବିଭିନ୍ନ API ଚାବି ପରିଚାଳନା
/api/pricing GET ମଡେଲ ମୂଲ୍ୟ

ବ୍ୟବହାର ଏବଂ ବିଶ୍ଳେଷଣ

ଏଣ୍ଡପଏଣ୍ଟ ପଦ୍ଧତି ବିବରଣୀ
/api/usage/history GET ବ୍ୟବହାର ଇତିହାସ
/api/usage/logs GET ବ୍ୟବହାର ଲଗ୍
/api/usage/request-logs GET ଅନୁରୋଧ ସ୍ତରର ଲଗ୍
/api/usage/[connectionId] GET ସଂଯୋଗ-ସ୍ତରୀୟ ବ୍ୟବହାର
/api/usage/token-limits GET/POST/DELETE API-ଚାବି-ସ୍ତରୀୟ ଟୋକେନ୍-ସୀମା ବଜେଟ୍
/api/usage/model-latency-stats GET ଚାଲୁଥିବା ପ୍ରତ୍ୟେକ ପ୍ରଦାତା/ମଡେଲ ପାଇଁ ବିଳମ୍ବ ଏକତ୍ରୀକରଣ (ହାରାହାରି/p50/p95/p99, ସଫଳତା ହାର); ଫିଲ୍ଟର୍: windowHours/minSamples/maxRows/provider/model (#6873)
/api/usage/cache-health GET call_logs ଉପରେ ପ୍ରମ୍ପଟ୍-କ୍ୟାଚ୍ ସ୍ୱାସ୍ଥ୍ୟ ସାରାଂଶ — ଲେଖିବା/ପଢ଼ିବା ଅନୁପାତ, p50/p90/p99 ଲେଖିବା-ଆକାର ବିତରଣ, ଭାରୀ-ଲେଖିବା ସାନ୍ଦ୍ରତା, ପ୍ରତ୍ୟେକ ମଡେଲ ବିଭାଜନ, ଏବଂ ଏକ healthy/degraded/thrash/no-data ନିର୍ଣ୍ଣୟ; କ୍ୱେରୀ ପାରାମିଟର range (1h|24h|7d|30d, ଡିଫଲ୍ଟ 24h) ଏବং ଐଚ୍ଛିକ model (#8827)

ସେଟିଂସ୍

ଏଣ୍ଡପଏଣ୍ଟ ପଦ୍ଧତି ବିବରଣୀ
/api/settings GET/PUT/PATCH ସାଧାରଣ ସେଟିଂସ୍
/api/settings/proxy GET/PUT ନେଟୱାର୍କ ପ୍ରକ୍ସି କନଫିଗ୍
/api/settings/proxy/test POST ପ୍ରକ୍ସି ସଂଯୋଗ ପରୀକ୍ଷା କରନ୍ତୁ
/api/settings/ip-filter GET/PUT IP ଅନୁମୋଦନ/ବ୍ଲକ୍ଲିଷ୍ଟ୍
/api/settings/thinking-budget GET/PUT ଚିନ୍ତା/ଯୁକ୍ତି ଅନୁରୋଧ ପୁନର୍ଲେଖନ ମୋଡ୍ (ପାସ୍ଥ୍ରୁ / ଅଟୋ-ସ୍ଟ୍ରିପ୍ / କଷ୍ଟମ୍ / ଅନୁକୂଳ)। ସଂକୁଚନରୁ ସ୍ୱାଧୀନ। THINKING_BUDGET.md ଦେଖନ୍ତୁ।
/api/settings/system-prompt GET/PUT ବୈଶ୍ୱିକ ସିଷ୍ଟମ୍ ପ୍ରମ୍ପଟ୍
/api/settings/compression GET/PUT ବୈଶ୍ୱିକ ସଂକୁଚନ କନଫିଗ୍
/api/settings/purge-request-history POST ଅନୁରୋଧ ଲଗ୍ ଧାଡ଼ି ଏବଂ ସ୍ଥାନୀୟ କଲ୍-ଲଗ୍ ଆର୍ଟିଫାକ୍ଟ୍ ସଫା କରନ୍ତୁ

ସନ୍ଦର୍ଭ ଏବଂ ସଂକୁଚନ

ଏଣ୍ଡପଏଣ୍ଟ ପଦ୍ଧତି ବିବରଣୀ
/api/compression/preview POST off/lite/standard/aggressive/ultra/RTK/stacked ସଂକୁଚନ ପୂର୍ବଦୃଶ୍ୟ
/api/compression/language-packs GET ଉପଲବ୍ଧ କେଭମ୍ୟାନ୍ ଭାଷା ପ୍ୟାକ୍ ତାଲିକାଭୁକ୍ତ କରନ୍ତୁ
/api/compression/rules GET କେଭମ୍ୟାନ୍ ନିୟମ ମେଟାଡାଟା ତାଲିକାଭୁକ୍ତ କରନ୍ତୁ
/api/context/caveman/config GET/PUT କେଭମ୍ୟାନ୍-ବିଶେଷ ସେଟିଂସ୍ ଉପନାମ
/api/context/rtk/config GET/PUT RTK-ବିଶେଷ ସେଟିଂସ୍, କଷ୍ଟମ୍ ଫିଲ୍ଟର୍ ଏବଂ କଞ୍ଚା-ଆଉଟପୁଟ୍ ଧାରଣ ସହିତ
/api/context/rtk/filters GET RTK ଫିଲ୍ଟର୍ କ୍ୟାଟାଲଗ୍ ଏବଂ କଷ୍ଟମ୍-ଫିଲ୍ଟର୍ ଡାଇଗ୍ନୋଷ୍ଟିକ୍ସ
/api/context/rtk/test POST ଏକ ପାଠ୍ୟ ପେଲୋଡ୍ ଉପରେ RTK ପୂର୍ବଦୃଶ୍ୟ/ପରୀକ୍ଷା ଚଳାନ୍ତୁ
/api/context/rtk/raw-output/[id] GET ପଏଣ୍ଟର୍ ଆଇଡି ଦ୍ୱାରା ଧାରଣ କରାଯାଇଥିବା ଲାଲଚିହ୍ନିତ କଞ୍ଚା ଆଉଟପୁଟ୍ ପଢ଼ନ୍ତୁ
/api/context/combos GET/POST ସଂକୁଚନ କମ୍ବୋ ତାଲିକା/ସୃଷ୍ଟି
/api/context/combos/[id] GET/PUT/DELETE ସଂକୁଚନ କମ୍ବୋ ବିବରଣୀ/ଅଦ୍ୟତନ/ବିଲୋପ
/api/context/combos/[id]/assignments GET/PUT ସଂକୁଚନ କମ୍ବୋକୁ ରୁଟିଂ କମ୍ବୋ ସହ ନିୟୋଜିତ କରନ୍ତୁ
/api/context/analytics GET ସଂକୁଚନ ବିଶ୍ଳେଷଣ ଉପନାମ

ମନିଟରିଂ

ଏଣ୍ଡପଏଣ୍ଟ ପଦ୍ଧତି ବିବରଣୀ
/api/sessions GET ସକ୍ରିୟ ସେସନ୍ ଟ୍ରାକିଂ
/api/rate-limits GET ପ୍ରତ୍ୟେକ ଆକାଉଣ୍ଟ ରେଟ୍ ସୀମା
/api/monitoring/health GET ସ୍ୱାସ୍ଥ୍ୟ ଯାଞ୍ଚ + ପ୍ରଦାତା ସାରାଂଶ (catalogCount, configuredCount, activeCount, monitoredCount)। ପରିଚାଳନା ଦୃଶ୍ୟ credentialHealth ଅନ୍ତର୍ଭୁକ୍ତ: ପ୍ରୋବ୍-କ୍ୟାଚ୍ ସ୍କାଲାର୍, failed>0 ସମୟରେ failedConnections, ଏବଂ staleDbNonOkCount (SQLite ଷ୍ଟିକି test_status, ଗେଜ୍ ନୁହେଁ)। MONITORING_GUIDE.md ଦେଖନ୍ତୁ।
/api/cache/stats GET/DELETE କ୍ୟାଚ୍ ପରିସଂଖ୍ୟାନ / ସଫା
/api/modality-bridge/stats GET ସ୍ମୃତି-ଭିତ୍ତିକ attempts, ସଫଳତା/bridged, ବିଫଳତା, କ୍ୟାଚ୍ ହିଟ୍, totalLatencyMs, latencySamples, ନମୁନା-ଆଧାରିତ averageLatencyMs, ଏବଂ ଶେଷ-ବ୍ୟବହାର ସମୟ (ପୁନର୍ଆରମ୍ଭ ସମୟରେ ରିସେଟ୍; ପରିଚାଳନା ପ୍ରମାଣ)
/api/modality-bridge/video/runtime GET ପରିଚାଳନା ପ୍ରମାଣ/ପ୍ରୋବ୍ ପୂର୍ବରୁ କଡ଼ା ବିଶ୍ୱାସଯୋଗ୍ୟ-ଲୁପ୍ବ୍ୟାକ୍ ଯାଞ୍ଚ; ସ୍ୱଚ୍ଛ FFmpeg/ffprobe ଉପଲବ୍ଧତା ଏବଂ ସଂସ୍କରଣ (ନୋ-ଷ୍ଟୋର୍)
/api/modality-bridge/video/extract POST ଅନ୍ତର୍ଗତ ପ୍ରମାଣୀତ ବିଶ୍ୱାସଯୋଗ୍ୟ-ଲୁପ୍ବ୍ୟାକ୍ ବାଇଟ୍ ବ୍ରୋକର; 50 MiB ଇନ୍ପୁଟ୍, ସୀମିତ ଧାଡ଼ି/32 MiB ଆଉଟପୁଟ୍, 503 କ୍ଷମତା, 499 ବିଚ୍ଛିନ୍ନ, 504 ସମୟସୀମା; ଏକ ସାର୍ବଜନୀନ ଅପଲୋଡ୍ API ନୁହେଁ

ବ୍ୟାକଅପ୍ ଏବଂ ରପ୍ତାନୀ/ଆମଦାନୀ

ଏଣ୍ଡପଏଣ୍ଟ ପଦ୍ଧତି ବିବରଣୀ
/api/db-backups GET ଉପଲବ୍ଧ ବ୍ୟାକଅପ୍ ତାଲିକାଭୁକ୍ତ କରନ୍ତୁ
/api/db-backups PUT ଏକ ହସ୍ତଚାଳିତ ବ୍ୟାକଅପ୍ ସୃଷ୍ଟି କରନ୍ତୁ
/api/db-backups POST ଏକ ନିର୍ଦ୍ଦିଷ୍ଟ ବ୍ୟାକଅପ୍ରୁ ପୁନରୁଦ୍ଧାର କରନ୍ତୁ
/api/db-backups/export GET ଡାଟାବେସ୍କୁ .sqlite ଫାଇଲ୍ ଭାବରେ ଡାଉନଲୋଡ୍ କରନ୍ତୁ
/api/db-backups/import POST ଡାଟାବେସ୍ ପ୍ରତିସ୍ଥାପନ କରିବାକୁ .sqlite ଫାଇଲ୍ ଅପଲୋଡ୍ କରନ୍ତୁ
/api/db-backups/exportAll GET ସମ୍ପୂର୍ଣ୍ଣ ବ୍ୟାକଅପ୍କୁ .tar.gz ଆର୍କାଇଭ୍ ଭାବରେ ଡାଉନଲୋଡ୍ କରନ୍ତୁ

କ୍ଲାଉଡ୍ ସିଙ୍କ

ଏଣ୍ଡପଏଣ୍ଟ ପଦ୍ଧତି ବିବରଣୀ
/api/sync/cloud ବିଭିନ୍ନ କ୍ଲାଉଡ୍ ସିଙ୍କ ଅପରେସନ୍
/api/sync/initialize POST ସିଙ୍କ ଆରମ୍ଭ କରନ୍ତୁ
/api/cloud/* ବିଭିନ୍ନ କ୍ଲାଉଡ୍ ପରିଚାଳନା

ଟନେଲ୍

ଏଣ୍ଡପଏଣ୍ଟ ପଦ୍ଧତି ବିବରଣୀ
/api/tunnels/cloudflared GET ଡ୍ୟାସବୋର୍ଡ ପାଇଁ Cloudflare ଦ୍ରୁତ ଟନେଲ୍ ସ୍ଥାପନ/ରନଟାଇମ୍ ସ୍ଥିତି ପଢ଼ନ୍ତୁ
/api/tunnels/cloudflared POST Cloudflare ଦ୍ରୁତ ଟନେଲ୍ ସକ୍ରିୟ କରନ୍ତୁ ବା ଅକ୍ଷମ କରନ୍ତୁ (action=enable/disable)
/api/tunnels/ngrok GET ଡ୍ୟାସବୋର୍ଡ ପାଇଁ ngrok ଟନେଲ୍ ରନଟାଇମ୍ ସ୍ଥିତି ପଢ଼ନ୍ତୁ
/api/tunnels/ngrok POST ngrok ଟନେଲ୍ ସକ୍ରିୟ କରନ୍ତୁ ବା ଅକ୍ଷମ କରନ୍ତୁ (action=enable/disable)

CLI ଟୁଲ୍

ଏଣ୍ଡପଏଣ୍ଟ ପଦ୍ଧତି ବିବରଣୀ
/api/cli-tools/claude-settings GET Claude CLI ସ୍ଥିତି
/api/cli-tools/codex-settings GET Codex CLI ସ୍ଥିତି
/api/cli-tools/droid-settings GET Droid CLI ସ୍ଥିତି
/api/cli-tools/openclaw-settings GET OpenClaw CLI ସ୍ଥିତି
/api/cli-tools/runtime/[toolId] GET ସାଧାରଣ CLI ରନଟାଇମ୍

CLI ପ୍ରତିକ୍ରିୟାରେ ଅନ୍ତର୍ଭୁକ୍ତ: installed, runnable, command, commandPath, runtimeMode, reason

ACP ଏଜେଣ୍ଟ

ଏଣ୍ଡପଏଣ୍ଟ ପଦ୍ଧତି ବିବରଣୀ
/api/acp/agents GET ସମସ୍ତ ଚିହ୍ନିତ ଏଜେଣ୍ଟ (ଅନ୍ତର୍ନିହିତ + କଷ୍ଟମ୍) ସ୍ଥିତି ସହିତ ତାଲିକାଭୁକ୍ତ କରନ୍ତୁ
/api/acp/agents POST କଷ୍ଟମ୍ ଏଜେଣ୍ଟ ଯୋଗ କରନ୍ତୁ ବା ଚିହ୍ନଟ କ୍ୟାଚ୍ ରିଫ୍ରେସ୍ କରନ୍ତୁ
/api/acp/agents DELETE id କ୍ୱେରୀ ପାରାମିଟର ଦ୍ୱାରା ଏକ କଷ୍ଟମ୍ ଏଜେଣ୍ଟ ହଟାନ୍ତୁ

GET ପ୍ରତିକ୍ରିୟାରେ agents[] (id, name, binary, version, installed, protocol, isCustom) ଏବଂ summary (total, installed, notFound, builtIn, custom) ଅନ୍ତର୍ଭୁକ୍ତ।

ସହନଶୀଳତା ଏବଂ ରେଟ୍ ସୀମା

ଏଣ୍ଡପଏଣ୍ଟ ପଦ୍ଧତି ବିବରଣୀ
/api/resilience GET/PATCH ଅନୁରୋଧ ଧାଡ଼ି, ସଂଯୋଗ କୁଲଡାଉନ୍, ପ୍ରଦାତା ବ୍ରେକର୍, ଏବଂ ଅପେକ୍ଷା ସେଟିଂସ୍ ପାନ୍ତୁ/ଅଦ୍ୟତନ କରନ୍ତୁ
/api/resilience/reset POST ପ୍ରଦାତା ସର୍କିଟ୍ ବ୍ରେକର୍ ରିସେଟ୍ କରନ୍ତୁ
/api/resilience/model-cooldowns GET ସକ୍ରିୟ ପ୍ରତ୍ୟେକ (ପ୍ରଦାତା, ସଂଯୋଗ, ମଡେଲ) ପାଇଁ ଲକ୍ଆଉଟ୍ ତାଲିକାଭୁକ୍ତ କରନ୍ତୁ, ବାକି ସମୟ ଅନୁସାରେ ସଜାଯାଇଛି
/api/resilience/model-cooldowns DELETE ଏକ ମଡେଲ ଲକ୍ଆଉଟ୍ ସଫା କରନ୍ତୁ — ଶରୀର {provider, model} ବା {all: true} ସବୁ ମୁଇଁବାକୁ
/api/rate-limits GET ପ୍ରତ୍ୟେକ ଆକାଉଣ୍ଟ ରେଟ୍ ସୀମା ସ୍ଥିତି
/api/rate-limit GET ବୈଶ୍ୱିକ ରେଟ୍ ସୀମା କନଫିଗ୍

ସମସ୍ତ ଚାରୋଟି /api/resilience/* ରୁଟ୍କୁ ପରିଚାଳନା ପ୍ରମାଣ (requireManagementAuth) ଆବଶ୍ୟକ। ପ୍ରଦାତା ବ୍ରେକର୍ ବନାମ ସଂଯୋଗ କୁଲଡାଉନ୍ ବନାମ ମଡେଲ ଲକ୍ଆଉଟ୍ ର ସମ୍ପୂର୍ଣ୍ଣ ବିଭାଜନ ପାଇଁ Resilience (extended) ଦେଖନ୍ତୁ।

ମୂଲ୍ୟାଙ୍କନ

ଏଣ୍ଡପଏଣ୍ଟ ପଦ୍ଧତି ବିବରଣୀ
/api/evals GET/POST ମୂଲ୍ୟାଙ୍କନ ସ୍ୁଟ୍ ତାଲିକାଭୁକ୍ତ କରନ୍ତୁ / ମୂଲ୍ୟାଙ୍କନ ଚଳାନ୍ତୁ

ନୀତି

ଏଣ୍ଡପଏଣ୍ଟ ପଦ୍ଧତି ବିବରଣୀ
/api/policies GET/POST/DELETE ରୁଟିଂ ନୀତି ପରିଚାଳନା

ସୁସଙ୍ଗତତା

ଏଣ୍ଡପଏଣ୍ଟ ପଦ୍ଧତି ବିବରଣୀ
/api/compliance/audit-log GET ସୁସଙ୍ଗତତା ଅଡିଟ୍ ଲଗ୍ (ଶେଷ N)

v1beta (Gemini-ସୁସଙ୍ଗତ)

ଏଣ୍ଡପଏଣ୍ଟ ପଦ୍ଧତି ବିବରଣୀ
/v1beta/models GET Gemini ଫର୍ମାଟ୍ରେ ମଡେଲ ତାଲିକାଭୁକ୍ତ କରନ୍ତୁ
/v1beta/models/{...path} POST Gemini generateContent ଏଣ୍ଡପଏଣ୍ଟ

ଏହି ଏଣ୍ଡପଏଣ୍ଟଗୁଡିକ ନେଟିଭ୍ Gemini SDK ସୁସଙ୍ଗତତା ଆଶା କରୁଥିବା କ୍ଲାଏଣ୍ଟ ପାଇଁ Gemini API ଫର୍ମାଟ୍ ପ୍ରତିବିମ୍ବିତ କରେ।

ଅନ୍ତର୍ଗତ / ସିଷ୍ଟମ୍ API

ଏଣ୍ଡପଏଣ୍ଟ ପଦ୍ଧତି ବିବରଣୀ
/api/init GET ଆପ୍ଲିକେସନ୍ ଆରମ୍ଭ ଯାଞ୍ଚ (ପ୍ରଥମ ଚଳାଚଳ ସମୟରେ ବ୍ୟବହୃତ)
/api/tags GET Ollama-ସୁସଙ୍ଗତ ମଡେଲ ଟ୍ୟାଗ୍ (Ollama କ୍ଲାଏଣ୍ଟ ପାଇଁ)
/api/restart POST ସୁଚାରୁ ସର୍ଭର ପୁନର୍ଆରମ୍ଭ ଟ୍ରିଗର କରନ୍ତୁ
/api/shutdown POST ସୁଚାରୁ ସର୍ଭର ବନ୍ଦ ଟ୍ରିଗର କରନ୍ତୁ
/api/system/env/repair POST OAuth ପ୍ରଦାତା ପରିବେଶ ଭେରିଆବଲ୍ ମରାମତି କରନ୍ତୁ

ନୋଟ: ଏହି ଏଣ୍ଡପଏଣ୍ଟଗୁଡିକ ସିଷ୍ଟମ୍ ଦ୍ୱାରା ଅନ୍ତର୍ଗତ ଭାବରେ ବ୍ୟବହୃତ ହୁଅନ୍ତି ବା Ollama କ୍ଲାଏଣ୍ଟ ସୁସଙ୍ଗତତା ପାଇଁ। ସାଧାରଣତଃ ଶେଷ ବ୍ୟବହାରକାରୀମାନେ ସେଗୁଡିକ ଡାକନ୍ତି ନାହିଁ।

OAuth ପରିବେଶ ମରାମତି (v3.6.1+)

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

{
  "provider": "claude-code"
}

ଗୋଟିଏ ନିର୍ଦ୍ଦିଷ୍ଟ ପ୍ରଦାତା ପାଇଁ ଅନୁପସ୍ଥିତ ବା ଦୂଷିତ OAuth ପରିବେଶ ଭେରିଆବଲ୍ ମରାମତି କରେ। ଫେରାଏ:

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

ଅଡ଼ିଓ ଟ୍ରାନ୍ସକ୍ରିପସନ୍

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

ଯେକୌଣସି କନ୍ଫିଗର କରାଯାଇଥିବା STT ପ୍ରଦାନକାରୀଙ୍କୁ ବ୍ୟବହାର କରି ଅଡ଼ିଓ ଫାଇଲ୍ଗୁଡ଼ିକୁ ଟ୍ରାନ୍ସ୍କ୍ରାଇବ୍ କରନ୍ତୁ। ପ୍ରଥମ ପାଥ୍ ସେଗମେଣ୍ଟ୍ ସ୍ଵଦେଶୀ ପ୍ରଦାନକାରୀଙ୍କୁ ନିର୍ବାଚନ କରେ (openai/…, deepgram/…)। ଅନ୍ୟ ଏକ ବିକ୍ରେତାଙ୍କ ମୋଡେଲ୍କୁ ପୁନଃ ରପ୍ତାନି କରୁଥିବା ଗେଟ୍ୱେଗୁଡ଼ିକ ଏକ ଯୋଗ୍ୟ id ବ୍ୟବହାର କରନ୍ତି (openrouter/deepgram/nova-3)।

ଅନୁରୋଧ:

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

ଉତ୍ତର:

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

ଉଦାହରଣ ମୋଡେଲ୍ id: openai/whisper-1 (ଏକ OpenAI କୀ ଆବଶ୍ୟକ କରେ), openrouter/deepgram/nova-3 (ଏକ OpenRouter କୀ ଆବଶ୍ୟକ କରେ), deepgram/nova-3 (ଏକ ସ୍ଵଦେଶୀ Deepgram କୀ ଆବଶ୍ୟକ କରେ)। ଏକ ଖାଲି deepgram/nova-3 ଅନୁରୋଧ OpenRouter ବ୍ୟବହାର କରେ ନାହିଁ

ସମର୍ଥିତ ଫର୍ମାଟ୍: mp3, wav, m4a, flac, ogg, webm


Ollama ସାମଞ୍ଜସ୍ୟ

Ollama ର API ଫର୍ମାଟ୍ ବ୍ୟବହାର କରୁଥିବା କ୍ଲାଏଣ୍ଟ୍ମାନଙ୍କ ପାଇଁ:

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

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

ଅନୁରୋଧଗୁଡ଼ିକ Ollama ଏବଂ ଅନ୍ତଃଗତ ଫର୍ମାଟ୍ ମଧ୍ୟରେ ସ୍ଵୟଂଚାଳିତ ଭାବରେ ଅନୁବାଦ କରାଯାଏ।

ଟୋକେନାଇଜ୍ କରାଯାଇଥିବା VS Code / ହେଡର୍ଲେସ୍ ଉପନାମ

ଯେତେବେଳେ ଏକ ଇଣ୍ଟିଗ୍ରେସନ୍ Authorization ହେଡର୍ ଇଞ୍ଜେକ୍ଟ କରିପାରେ ନାହିଁ ଏବଂ API କୀ କୁ ମୂଳ URL ରେ ସନ୍ନିହିତ କରିବା ଆବଶ୍ୟକ କରେ, ସେତେବେଳେ ଏହି ଉପନାମଗୁଡ଼ିକ ବ୍ୟବହାର କରନ୍ତୁ।

# OpenAI-style catalog alias
GET /api/v1/vscode/{token}/
GET /api/v1/vscode/{token}/models

# OpenAI-style chat aliases
POST /api/v1/vscode/{token}/chat/completions
POST /api/v1/vscode/{token}/responses

# Ollama-style aliases
POST /api/v1/vscode/{token}/api/chat
GET /api/v1/vscode/{token}/api/tags

ଉଦାହରଣ:

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

ନୋଟ୍:

  • ଟୋକେନାଇଜ୍ କରାଯାଇଥିବା ଉପନାମଗୁଡ଼ିକ /v1/* ଏବଂ /api/tags ସହ ସମାନ ହ୍ୟାଣ୍ଡଲର୍ମାନଙ୍କୁ ପୁନଃ ବ୍ୟବହାର କରନ୍ତି; ଉତ୍ତର ସଂରଚନା ସମାନ ରହିଥାଏ।
  • ଯେତେବେଳେ କ୍ଲାଏଣ୍ଟ୍ କଷ୍ଟମ୍ ହେଡର୍ ସମର୍ଥନ କରେ, ସେତେବେଳେ Authorization: Bearer ... କୁ ପ୍ରାଧାନ୍ୟ ଦିଅନ୍ତୁ।
  • URL-ଆଧାରିତ ଟୋକେନ୍ ରିଭର୍ସ-ପ୍ରକ୍ସି ଲଗ୍, ବ୍ରାଉଜର୍ ଇତିହାସ୍, ଏବଂ OmniRoute ବାହାରେ ଟେଲିମେଟ୍ରୀରେ ଦୃଶ୍ୟମାନ ହୋଇପାରେ। ସେଗୁଡ଼ିକୁ ଏକ ସାମଞ୍ଜସ୍ୟ ବିକଳ୍ପ ଭାବରେ ଗଣନା କରନ୍ତୁ, ଡିଫଲ୍ଟ୍ ପ୍ରାଧିକରଣ ମୋଡ୍ ଭାବରେ ନୁହେଁ।

ଟେଲିମେଟ୍ରୀ

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

ଉତ୍ତର:

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

ବଜେଟ୍

# Get budget status for all API keys
GET /api/usage/budget

# Set or update a budget
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"
}

ସ୍କିମା ନୋଟ୍ (setBudgetSchema): apiKeyId ଆବଶ୍ୟକୀୟ; dailyLimitUsd, weeklyLimitUsd, କିମ୍ବା monthlyLimitUsd ମଧ୍ୟରୁ ଅତିକମ୍ ଗୋଟିଏ ଶୂନ୍ୟ ଅପେକ୍ଷା ବଡ଼ ହେବା ଆବଶ୍ୟକ। ଐଚ୍ଛିକ କ୍ଷେତ୍ରଗୁଡ଼ିକ: warningThreshold (01), resetInterval (daily | weekly | monthly), resetTime (HH:MM)। ପୁରାତନ {keyId, limit, period} ସଂରଚନା 400 Bad Request ଫେରାଇ ଥାଏ।

ଟୋକେନ୍ ସୀମା

ପ୍ରତି API-କି ଟୋକେନ୍ ବଜେଟ୍ (ଉପରେ ବର୍ଣ୍ଣିତ USD-ଆଧାରିତ ବଜେଟ୍ ଠାରୁ ଭିନ୍ନ)। ଅନୁରୋଧ ପଥରେ ଇନଲାଇନ୍ ପ୍ରୟୋଗ କରାଯାଏ: ଯେତେବେଳେ ଏକ କି'ର ବର୍ତ୍ତମାନ ୱିଣ୍ଡୋ ବ୍ୟବହାର ତାର ସୀମାରେ ପହଞ୍ଚେ, ଅନୁରୋଧଗୁଡିକ 429 Too Many Requests ସହ ଅସ୍ୱୀକାର କରାଯାଏ। ସୀମାଗୁଡିକ ଏକ ନିର୍ଦ୍ଦିଷ୍ଟ model, ଏକ provider, କିମ୍ବା କିରେ ସମଗ୍ର globally ପ୍ରୟୋଗ ହୋଇପାରେ; ଯେତେବେଳେ ଅନେକ ସୀମା ଏକ ଅନୁରୋଧ ସହ ମେଳ ଖାଏ, ସବୁଠାରୁ କଠୋର ସୀମା ଜିତେ।

# ଏକ କି'ର ଟୋକେନ୍ ସୀମା ତାଲିକା କରନ୍ତୁ (ଲାଇଭ୍ ୱିଣ୍ଡୋ ବ୍ୟବହାର ଅନ୍ତର୍ଭୁକ୍ତ)
GET /api/usage/token-limits?apiKeyId=key-123

# ଏକ ଟୋକେନ୍ ସୀମା ସୃଷ୍ଟି କରନ୍ତୁ କିମ୍ବା ଅଦ୍ୟତନ କରନ୍ତୁ
POST /api/usage/token-limits
Content-Type: application/json

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

# ଆଇଡି ଦ୍ୱାରା ଏକ ଟୋକେନ୍ ସୀମା ବିଲୋପ କରନ୍ତୁ
DELETE /api/usage/token-limits?id=tl-abc

ସ୍କିମା ନୋଟ୍ (setTokenLimitSchema): apiKeyId ଏବଂ scopeType (model | provider | global) ଆବଶ୍ୟକ। scopeValue ସେତେବେଳେ ଆବଶ୍ୟକ ନୁହେଁ ଯେତେବେଳେ scopeType ହେଉଛି global (ଉଦାହରଣ ସ୍ୱରୂପ, model ସ୍କୋପ୍ ପାଇଁ ଏକ ମଡେଲ୍ ଆଇଡି, provider ସ୍କୋପ୍ ପାଇଁ ଏକ ପ୍ରୋଭାଇଡର୍ ଆଇଡି)। tokenLimit ଏକ ଧନାତ୍ମକ ପୂର୍ଣ୍ଣ ସଂଖ୍ୟା ହେବା ଉଚିତ (ଷ୍ଟ୍ରିଙ୍ଗ୍ ଠାରୁ ବାଧ୍ୟ କରାଯାଇଛି)। ଐଚ୍ଛିକ: id (ସୃଷ୍ଟି କରିବାକୁ ବାଦ୍ ଦିଅନ୍ତୁ, ଅଦ୍ୟତନ କରିବାକୁ ସରବରାହ କରନ୍ତୁ), resetInterval (daily | weekly | monthly, ଡିଫଲ୍ଟ monthly), resetTime (HH:MM), enabled (ଡିଫଲ୍ଟ true)। GET ପ୍ରତିକ୍ରିୟା ପ୍ରତି ସୀମାକୁ tokensUsed, remaining, windowStart, periodStartAt, ଏବଂ nextResetAt ସହ ସମୃଦ୍ଧ କରେ। ଏହା ଏକ ପରିଚାଳନା-ଶ୍ରେଣୀ ଏଣ୍ଡପଏଣ୍ଟ (authz ପାଇପଲାଇନ୍ ଦ୍ୱାରା କେନ୍ଦ୍ରୀୟ ଭାବରେ ପ୍ରୟୋଗ କରାଯାଇଥିବା ପ୍ରମାଣୀକରଣ)।

ଅନୁରୋଧ ପ୍ରକ୍ରିୟାକରଣ

  1. କ୍ଲାଏଣ୍ଟ /v1/* କୁ ଅନୁରୋଧ ପଠାଏ
  2. ରୁଟ୍ ହ୍ୟାଣ୍ଡଲର୍ handleChat, handleEmbedding, handleAudioTranscription, କିମ୍ବା handleImageGeneration କୁ ଡାକେ
  3. ମଡେଲ୍ ସମାଧାନ ହୁଏ (ସିଧାସଳଖ ପ୍ରୋଭାଇଡର୍/ମଡେଲ୍ କିମ୍ବା ଉପନାମ/କମ୍ବୋ)
  4. ସ୍ଥାନୀୟ ଡିବି ଠାରୁ ଉପଲବ୍ଧତା ଫିଲ୍ଟରିଂ ସହ ପ୍ରମାଣପତ୍ର ଚୟନ ହୁଏ
  5. ଚାଟ୍ ପାଇଁ: handleChatCore ସମ୍ବେଦନଶୀଳ/ସିଗନିଚର୍ କ୍ୟାଶ୍ ଯାଞ୍ଚ କରେ ଏବଂ କମ୍ବୋ ସଂକୋଚନ ସେଟିଂସ୍ ସମାଧାନ କରେ
  6. ସକ୍ରିୟ ହୋଇଥିବା ସମୟରେ ପ୍ରୋଭାଇଡର୍ ଅନୁବାଦ ପୂର୍ବରୁ ସକ୍ରିୟ ସଂକୋଚନ ଚାଲିଏ (lite, Caveman, RTK, କିମ୍ବା stacked)
  7. ପ୍ରୋଭାଇଡର୍ ଏକ୍ସିକ୍ୟୁଟର୍ ଅପ୍ଷ୍ଟ୍ରିମ୍ ଅନୁରୋଧ ପଠାଏ
  8. ପ୍ରତିକ୍ରିୟା କ୍ଲାଏଣ୍ଟ୍ ଫର୍ମାଟ୍ କୁ ଅନୁବାଦ ହୁଏ (ଚାଟ୍) କିମ୍ବା ଯଥାର୍ଥ ଫେରାଯାଏ (embeddings/images/audio)
  9. ବ୍ୟବହାର, ସଂକୋଚନ ବିଶ୍ଳେଷଣ, ଏବଂ ଅନୁରୋଧ ଲଗ୍ ରେକର୍ଡ ହୁଏ
  10. ତୃଟି ଅନୁଭୂତି ଅନୁଯାୟୀ କମ୍ବୋ ନିୟମ ଅନୁସାରେ ଫଲ୍ବ୍ୟାକ୍ ପ୍ରୟୋଗ ହୁଏ

ସମ୍ପୂର୍ଣ୍ଣ ସ୍ଥାପତ୍ୟ ସନ୍ଦର୍ଭ: ARCHITECTURE.md


କମ୍ବୋ ପରିଚାଳନା

ଉଚ୍ଚ-ସ୍ତରୀୟ ରୁଟିଂ କମ୍ବୋ (ଇତିମଧ୍ୟରେ /api/combos* ଅଧୀନରେ ସାରାଂଶିତ) ଏକ ମଡେଲ୍ ଆଇଡି ପ୍ୟାଟର୍ନ ଠାରୁ ମଧ୍ୟ 1:1 ମ୍ୟାପ୍ ହୋଇପାରେ, ଯାହା ଏକ OpenAI-ଶୈଳୀର ମଡେଲ୍ ଆଇଡିକୁ ଏକ କମ୍ବୋକୁ ସ୍ୱଚ୍ଛ ପୁନଃନିର୍ଦ୍ଦେଶନ ଅନୁମତି ଦିଏ।

ପଦ୍ଧତି ପଥ ବର୍ଣ୍ଣନା
GET /api/model-combo-mappings ସମସ୍ତ ମଡେଲ୍→କମ୍ବୋ ମ୍ୟାପିଂ ତାଲିକା କରନ୍ତୁ
POST /api/model-combo-mappings ମ୍ୟାପିଂ ସୃଷ୍ଟି କରନ୍ତୁ — ବଡି: {pattern, comboId, priority?, enabled?, description?}
GET /api/model-combo-mappings/[id] ଗୋଟିଏ ମ୍ୟାପିଂ ପ୍ରାପ୍ତ କରନ୍ତୁ
PUT /api/model-combo-mappings/[id] ବିଦ୍ୟମାନ ମ୍ୟାପିଂର ଫିଲ୍ଡ ଅଦ୍ୟତନ କରନ୍ତୁ
DELETE /api/model-combo-mappings/[id] ଗୋଟିଏ ମ୍ୟାପିଂ ବିଲୋପ କରନ୍ତୁ

ପ୍ରମାଣୀକରଣ: ପରିଚାଳନା ସେସନ୍/API କି (requireManagementAuth).


ୱେବ୍ହୁକ୍ସ

OmniRouter ଇଭେଣ୍ଟ ପାଇଁ ବାହାରମୁଖୀ ୱେବ୍ହୁକ୍ସ ସବସ୍କ୍ରିପ୍ସନ (ଅନୁରୋଧ ସମାପ୍ତି, କୋଟା ଶେଷ, କି ଘୂର୍ଣ୍ଣନ, ଇତ୍ୟାଦି)।

ପଦ୍ଧତି ପଥ ବିବରଣୀ
GET /api/webhooks ୱେବ୍ହୁକ୍ସ ତାଲିକା କରନ୍ତୁ (ସିକ୍ରେଟଗୁଡ଼ିକ <prefix>... ରେ ମାସ୍କ୍ କରାଯାଇଛି)
POST /api/webhooks ୱେବ୍ହୁକ୍ସ ସୃଷ୍ଟି କରନ୍ତୁ — ବଡ଼ୀ: {url, events?: ["*"], secret?, description?}
GET /api/webhooks/[id] ଗୋଟିଏ ୱେବ୍ହୁକ୍ସ ପ୍ରାପ୍ତ କରନ୍ତୁ
PUT /api/webhooks/[id] url/events/secret/description ଅପଡେଟ୍ କରନ୍ତୁ
DELETE /api/webhooks/[id] ଗୋଟିଏ ୱେବ୍ହୁକ୍ସ ହଟାନ୍ତୁ
POST /api/webhooks/[id]/test ୱେବ୍ହୁକ୍ସ URL କୁ ଏକ ପରୀକ୍ଷା ପେଲୋଡ୍ ପଠାନ୍ତୁ ଏବଂ ଡେଲିଭରୀ ସ୍ଥିତି ଫେରାନ୍ତୁ

ପ୍ରାଧିକରଣ: ପରିଚାଳନା ସେସନ/API କୀ (requireManagementAuth)।


ପଞ୍ଜିକୃତ କୀ (ସ୍ୱୟଂ-ପରିଚାଳନା)

ସ୍ୱୟଂ-କୀ ପରିଚାଳନା ସବସିଷ୍ଟମ୍ ଦ୍ୱାରା ବ୍ୟବହୃତ, ଦୈନିକ/ଘଣ୍ଟାବ୍ୟାପୀ କୋଟା ସହିତ ଏକ ବ୍ୟାକିଂ ପ୍ରଦାନକାରୀ/ଖାତା ବିପରୀତରେ API କୀ ଜାରି ଏବଂ ଘୂର୍ଣ୍ଣନ କରିବା ପାଇଁ।

ପଦ୍ଧତି ପଥ ବିବରଣୀ
GET /api/v1/registered-keys ପଞ୍ଜିକୃତ କୀ ତାଲିକା କରନ୍ତୁ (କେବଳ ମାସ୍କ୍ କରାଯାଇଥିବା ଉପସର୍ଗ)
POST /api/v1/registered-keys ଏକ ନୂତନ ପଞ୍ଜିକୃତ କୀ ଜାରି କରନ୍ତୁ — ବଡ଼ୀ: {name, provider?, accountId?, idempotencyKey?, expiresAt?, dailyBudget?, hourlyBudget?}। ମୂଳ କୀ ଥରେ ହିଁ ଫେରାଏ। କୋଟା ଅସ୍ୱୀକାର ହେଲେ 429 ଫେରାଏ।
GET /api/v1/registered-keys/[id] ଗୋଟିଏ ପଞ୍ଜିକୃତ କୀ ର ମେଟାଡାଟା ପ୍ରାପ୍ତ କରନ୍ତୁ (ମୂଳ ମଟେରିଆଲ୍ ନୁହେଁ)
DELETE /api/v1/registered-keys/[id] ଗୋଟିଏ ପଞ୍ଜିକୃତ କୀ ଖାରଜ କରନ୍ତୁ
POST /api/v1/registered-keys/[id]/revoke ସ୍ପଷ୍ଟ ଖାରଜ ପୋର୍ଟାଲ୍ (DELETE ସହ ସମାନ ପ୍ରଭାବ)

ପ୍ରାଧିକରଣ: Bearer API କୀ (isAuthenticated)। /v1/quotas/check ଏବଂ /v1/issues/report ମଧ୍ୟ ଦେଖନ୍ତୁ।

ଏଜେଣ୍ଟ ପ୍ରୋଟୋକଲ

OmniRoute ବ୍ୟବହାରକାରୀଙ୍କ ପାଇଁ ଦୂରସ୍ଥରେ କାର୍ଯ୍ୟକାରୀ ହୋଇଥିବା କ୍ଲାଉଡ୍ ଏଜେଣ୍ଟ କାର୍ଯ୍ୟ (Claude Code, Codex Cloud, OpenHands, ଇତ୍ୟାଦି)।

ପଦ୍ଧତି ପାଥ ବିବରଣୀ
GET /api/v1/agents/tasks ତାଲିକା ଟାସ୍କ — ଐଚ୍ଛିକ ?provider=, ?status=, ?limit= (୧–୫୦୦, ଡିଫଲ୍ଟ ୫୦)
POST /api/v1/agents/tasks ଟାସ୍କ ସୃଷ୍ଟି କରନ୍ତୁ — ବଡି CreateCloudAgentTaskSchema ଦ୍ୱାରା ସତ୍ୟାପିତ (providerId, prompt, source, options?)। 201 ସହ ଟାସ୍କ ଲଫାଫା ଫେରାଇ ଦିଏ
DELETE /api/v1/agents/tasks?id=... ଏକ ଟାସ୍କ ବିଲୋପ କରନ୍ତୁ
GET /api/v1/agents/tasks/[id] ଟାସ୍କ ପଢ଼ନ୍ତୁ — ଯେତେବେଳେ external_id ସେଟ୍ ହୋଇଥାଏ ତେବେ ଅପ୍ଷ୍ଟ୍ରିମ୍ କ୍ଲାଉଡ୍ ଏଜେଣ୍ଟରୁ ସମକାଳୀନ ଭାବେ ସ୍ଥିତି ରିଫ୍ରେଶ୍ କରେ
POST /api/v1/agents/tasks/[id] ବିଚ୍ଛିନ୍ନ କ୍ରିୟା: {action: "approve"}, {action: "message", message}, କିମ୍ବା {action: "cancel"}
DELETE /api/v1/agents/tasks/[id] ଏକ ନିର୍ଦ୍ଦିଷ୍ଟ ଟାସ୍କ id ଦ୍ୱାରା ବିଲୋପ କରନ୍ତୁ

ପ୍ରାଧିକରଣ: ପ୍ରତ୍ୟେକ ପଦ୍ଧତିରେ ପରିଚାଳନା ପ୍ରାଧିକରଣ ଆବଶ୍ୟକ (requireCloudAgentManagementAuth)। v3.8.0 ପୂର୍ବରୁ ସେଗୁଡିକ ଅପ୍ରାଧିକୃତ ଥିଲେ — ବ୍ରେକିଂ ପରିବର୍ତ୍ତନ ପାଇଁ କମିଟ 588a0333 ଦେଖନ୍ତୁ।

# ଏକ 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":"..."}}'

ପରିଚାଳନା ପ୍ରକ୍ସି

ପ୍ରଦାତା, ଖାତା, କିମ୍ବା ସାର୍ବଜନୀନ ଭାବେ ନିୟୋଜିତ ହୋଇପାରେ ଯାଉଥିବା ଆଉଟବାଉଣ୍ଡ୍ HTTP(S)/SOCKS ପ୍ରକ୍ସି।

ପଦ୍ଧତି ପାଥ ବିବରଣୀ
GET /api/v1/management/proxies ପ୍ରକ୍ସି ତାଲିକା (?id= ସହ ଗୋଟିଏ ଫେରାଇ ଦିଏ; ?id=&where_used=1 ସହ ନିୟୋଜନ ଗ୍ରାଫ ଫେରାଇ ଦିଏ)
POST /api/v1/management/proxies ପ୍ରକ୍ସି ସୃଷ୍ଟି କରନ୍ତୁ — ବଡି createProxyRegistrySchema ଦ୍ୱାରା ସତ୍ୟାପିତ
PATCH /api/v1/management/proxies ପ୍ରକ୍ସି ଅଦ୍ୟତନ କରନ୍ତୁ — ବଡି updateProxyRegistrySchema ଦ୍ୱାରା ସତ୍ୟାପିତ (id ଆବଶ୍ୟକ)
DELETE /api/v1/management/proxies?id=...&force=1 ପ୍ରକ୍ସି ବିଲୋପ କରନ୍ତୁ (ନିୟୋଜନ ଅଲଗା କରିବାକୁ force=1 ବ୍ୟବହାର କରନ୍ତୁ)
GET /api/v1/management/proxies/assignments ନିୟୋଜନ ତାଲିକା — proxy_id, scope, scope_id ଦ୍ୱାରା ଫିଲ୍ଟର କରାଯାଇପାରେ; ଏକ ସଂଯୋଗ ପାଇଁ ସକ୍ରିୟ ପ୍ରକ୍ସି ସମାଧାନ କରିବାକୁ resolve_connection_id=<id> ପାସ୍ କରନ୍ତୁ
PUT /api/v1/management/proxies/assignments ନିୟୋଜନ — ବଡି proxyAssignmentSchema ({scope, scopeId?, proxyId?}) ଦ୍ୱାରା ସତ୍ୟାପିତ। ଡିସ୍ପ୍ୟାଚର୍ କ୍ୟାଚ୍ ସଫା କରେ
PUT /api/v1/management/proxies/bulk-assign ବଲ୍କ-ନିୟୋଜନ — ବଡି bulkProxyAssignmentSchema ({scope, scopeIds[], proxyId?}) ଦ୍ୱାରା ସତ୍ୟାପିତ
GET /api/v1/management/proxies/health?hours=24 ଏକ ୱିଣ୍ଡୋରେ ପ୍ରକ୍ସି ସ୍ୱାସ୍ଥ୍ୟ ସାରାଂଶ (ସଫଳ/ବିଫଳ ଗଣନା, ବିଳମ୍ବ)

ପ୍ରାଧିକରଣ: ପ୍ରତ୍ୟେକ ରୁଟରେ ପରିଚାଳନା ସେସନ/API କି (requireManagementAuth)।

ଟାସ୍କ ବିବରଣୀର POST /api/v1/management/proxies/[id]/assignments ଏବଂ POST /api/v1/management/proxies/[id]/health ଉପରେ ଦର୍ଶାଯାଇଥିବା ଫ୍ଲାଟ୍ /assignments ଏବଂ /health ରୁଟ ଦ୍ୱାରା ସେବା ଯୋଗାଯାଏ — କୋଡବେସ୍ରେ କୌଣସି ପ୍ରତ୍ୟେକ-id ସବ-ରୁଟ ନାହିଁଁ।

ସହନଶୀଳତା (ବିସ୍ତାରିତ)

OmniRoute ତିନୋଟି ସ୍ୱାଧୀନ ଅସ୍ଥାୟୀ ବିଫଳତା ପ୍ରକ୍ରିୟା ପ୍ରଦାନ କରେ; ନିମ୍ନଲିଖିତ ପରିଚାଳନା ଏଣ୍ଡପଏଣ୍ଟଗୁଡ଼ିକ ଅପରେଟରମାନଙ୍କୁ ସେଗୁଡ଼ିକୁ ପଢ଼ିବା ଏବଂ ଅତିକ୍ରମ କରିବାର ସୁଯୋଗ ଦିଏ:

ପରିସର ରାଜ୍ୟ ସଂଗ୍ରହସ୍ଥଳ ପଢ଼ନ୍ତୁ ରିସେଟ / ସଫା କରନ୍ତୁ
ପ୍ରଦାନକର୍ତ୍ତା ବ୍ରେକର domain_circuit_breakers + ଇନ୍-ମେମୋରୀ /api/monitoring/health POST /api/resilience/reset
ସଂଯୋଗ କୁଲଡାଉନ୍ ପ୍ରଦାନକର୍ତ୍ତା ସଂଯୋଗଗୁଡ଼ିକରେ rateLimitedUntil /api/rate-limits, /api/providers/[id] (କ୍ରମଶଃ ସକ୍ରିୟ ହୁଏ; ପ୍ରଦାନକର୍ତ୍ତା PUT ମାଧ୍ୟମରେ ସଫା କରନ୍ତୁ)
ମଡେଲ ଲକ୍ଆଉଟ୍ ଇନ୍-ମେମୋରୀ ମଡେଲ-ଉପଲବ୍ଧତା ରଜିଷ୍ଟ୍ରୀ GET /api/resilience/model-cooldowns DELETE /api/resilience/model-cooldowns

PATCH /api/resilience ପ୍ରଦାନକର୍ତ୍ତା ବ୍ରେକର ଅତିକ୍ରମଗୁଡ଼ିକୁ providerBreaker.oauth ଏବଂ providerBreaker.apikey ଅଧୀନରେ ଗ୍ରହଣ କରେ। ପ୍ରତ୍ୟେକ ପ୍ରୋଫାଇଲ୍ degradationThreshold, failureThreshold, ଏବଂ resetTimeoutMs ସମର୍ଥନ କରେ; ସମାନ କ୍ଷେତ୍ରଗୁଡ଼ିକ ଡ୍ୟାସବୋର୍ଡ → ସେଟିଂସ୍ → ସହନଶୀଳତାରେ ପ୍ରଦାନ କରାଯାଇଛି।

# ଗୋଟିଏ ମଡେଲ ଲକ୍ଆଉଟ୍ ସଫା କରନ୍ତୁ
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"}'

# ସମସ୍ତ ଲକ୍ଆଉଟ୍ ସଫା କରନ୍ତୁ
curl -X DELETE http://localhost:20128/api/resilience/model-cooldowns \
  -H "Cookie: auth_token=..." \
  -d '{"all":true}'

ସମ୍ପୂର୍ଣ୍ଣ ଧାରଣାତ୍ମକ ସନ୍ଦର୍ଭ ଏବଂ ବ୍ରେକର ଡିଫଲ୍ଟ: ଦେଖନ୍ତୁ CLAUDE.md → "ସହନଶୀଳତା ରନ୍ଟାଇମ୍ ରାଜ୍ୟ"।


କୌଶଳ

କଷ୍ଟମ୍ ଏକ୍ସିକ୍ୟୁଟେବଲ୍ ହ୍ୟାଣ୍ଡଲର୍ସମୂହ ସହିତ OmniRoute କୁ ବିସ୍ତାର କରିବା ପାଇଁ କୌଶଳ ଫ୍ରେମ୍ୱର୍କ, ସହିତ ମାର୍କେଟପ୍ଲେସ୍ ଏକୀକରଣ।

ପଦ୍ଧତି ପାଥ ବିବରଣୀ
GET /api/skills ସ୍ଥାପିତ କୌଶଳ ତାଲିକା — ?q=, ?mode=on|off|auto, ?source=skillsmp|skillssh|local ଦ୍ୱାରା ଫିଲ୍ଟର କରାଯାଇପାରେ, ପୃଷ୍ଠାଭୁକ୍ତ
GET /api/skills/[id] ଗୋଟିଏ କୌଶଳ ପୁନରୁଦ୍ଧାର
PUT /api/skills/[id] କୌଶଳ ଅଦ୍ୟତନ କରନ୍ତୁ (ନାମ, ବିବରଣୀ, ମୋଡ୍, ସ୍କିମା, ହ୍ୟାଣ୍ଡଲର୍, ଟ୍ୟାଗ୍)
DELETE /api/skills/[id] ଏକ କୌଶଳ ଅନଇନ୍ଷ୍ଟଲ୍ କରନ୍ତୁ
POST /api/skills/install ଏକ କଞ୍ଚା ମାନିଫେଷ୍ଟରୁ କୌଶଳ ଇନ୍ଷ୍ଟଲ୍ କରନ୍ତୁ — ବଡୀ: {name, version, description, schema:{input, output}, handlerCode, apiKeyId?}
GET /api/skills/executions ସାମ୍ପ୍ରତିକ କୌଶଳ ନିର୍ବାହ ତାଲିକା (ଇନ୍ପୁଟ୍/ଆଉଟ୍ପୁଟ୍/ଅବଧି ସହିତ ଅଡିଟ୍ ଟ୍ରେଲ୍)
GET /api/skills/marketplace?q=... SkillsMP ମାର୍କେଟପ୍ଲେସ୍ରୁ ସର୍ଚ୍ଚ/ଲୋକପ୍ରିୟ ତାଲିକା (skillsmpApiKey ସେଟିଂସ୍ ଆବଶ୍ୟକ)
POST /api/skills/marketplace/install SkillsMP ରୁ id ଦ୍ୱାରା କୌଶଳ ଇନ୍ଷ୍ଟଲ୍ କରନ୍ତୁ
GET /api/skills/skillssh?q=&limit= skills.sh ରଜିଷ୍ଟ୍ରୀ ଖୋଜନ୍ତୁ
POST /api/skills/skillssh/install skills.sh ରୁ id ଦ୍ୱାରା କୌଶଳ ଇନ୍ଷ୍ଟଲ୍ କରନ୍ତୁ

ପ୍ରମାଣୀକରଣ: ପରିଚାଳନା ସେସନ୍/API କୀ। ମାର୍କେଟପ୍ଲେସ୍ ସର୍ଚ୍ଚ ରୁଟ୍ଗୁଡ଼ିକ ପରିଚାଳନା ପ୍ରମାଣୀକରଣ କିମ୍ବା ଏକ Bearer API କୀ (isAuthenticated) ଗ୍ରହଣ କରନ୍ତି।


ସ୍ମୃତି

ପ୍ରତ୍ୟେକ API କୀ / ସେସନ୍ ଅନୁସାରେ ପରିସୀମିତ, ସ୍ଥାୟୀ କଥାବାର୍ତ୍ତା/ତଥ୍ୟ ସ୍ମୃତି ଭଣ୍ଡାର।

ପଦ୍ଧତି ପଥ ବିବରଣୀ
GET /api/memory ସ୍ମୃତି ତାଲିକା — ?apiKeyId=, ?type=, ?sessionId=, ?q=, ସହ offset/limit ବା page/limit ପୃଷ୍ଠା ପ୍ରଦର୍ଶନ
POST /api/memory ସ୍ମୃତି ସୃଷ୍ଟି କରନ୍ତୁ — body Zod ଦ୍ୱାରା ସତ୍ୟାପିତ: {content, key, type?, sessionId?, apiKeyId?, metadata?, expiresAt?}
GET /api/memory/[id] ଗୋଟିଏ ସ୍ମୃତି ପ୍ରାପ୍ତ କରନ୍ତୁ
DELETE /api/memory/[id] ସ୍ମୃତି ବିଲୋପ କରନ୍ତୁ
GET /api/memory/health ସ୍ମୃତି ଉପାଦାନ ସ୍ୱାସ୍ଥ୍ୟ (DB ସଂଯୋଗ, embeddings ବ୍ୟାକଏଣ୍ଡ, vector index ସ୍ଥିତି)

ପ୍ରମାଣୀକରଣ: ପରିଚାଳନା ସେସନ୍/API କୀ (requireManagementAuth)। type enum: FACTUAL, EPISODIC, SEMANTIC, PROCEDURAL (src/lib/memory/types.ts ରେ MemoryType ଦେଖନ୍ତୁ)।


MCP ସର୍ଭର

OmniRoute ଏକ ଏମ୍ବେଡେଡ୍ Model Context Protocol ସର୍ଭର ସହ 3 ଟ୍ରାନ୍ସପୋର୍ଟ (stdio, SSE, streamable-http) ଏବଂ ପରିସୀମିତ ଉପକରଣ ସହ ବିତରଣ କରେ। ନିମ୍ନରେ ଥିବା ଡ୍ୟାସବୋର୍ଡ ଏଣ୍ଡପଏଣ୍ଟଗୁଡ଼ିକ ସ୍ଥିତି/ଅଡିଟ ଡାଟା ପଠାନ୍ତି ଏବଂ HTTP ଟ୍ରାନ୍ସପୋର୍ଟକୁ ପ୍ରକ୍ସି କରନ୍ତି।

ପଦ୍ଧତି ପଥ ବିବରଣୀ
GET /api/mcp/status ହୃଦସ୍ପନ୍ଦନ, ଟ୍ରାନ୍ସପୋର୍ଟ, ଅନଲାଇନ୍ ଅବସ୍ଥା, ଶେଷ କଲ, ଶୀର୍ଷ ଉପକରଣ, 24h ସଫଳତା ହାର
GET /api/mcp/tools MCP ଉପକରଣ ତାଲିକା name, description, scopes, phase, auditLevel, sourceEndpoints ସହ
GET /api/mcp/sse SSE ଟ୍ରାନ୍ସପୋର୍ଟ ପାଇଁ SSE ଷ୍ଟ୍ରିମ୍ ଖୋଲନ୍ତୁ (MCP ନିଷ୍କ୍ରିୟ ବା ଟ୍ରାନ୍ସପୋର୍ଟ ଅସଙ୍ଗତ ଥିଲେ 503 ଫେରାଏ)
POST /api/mcp/sse SSE ଟ୍ରାନ୍ସପୋର୍ଟ ଉପରେ JSON-RPC ଫ୍ରେମ୍ ପଠାନ୍ତୁ
GET /api/mcp/stream Streamable HTTP ଟ୍ରାନ୍ସପୋର୍ଟର SSE ପାଶ୍ୱର୍ ଖୋଲନ୍ତୁ (ସର୍ଭର-ଆରମ୍ଭିତ ବାର୍ତ୍ତା)
POST /api/mcp/stream Streamable HTTP ଟ୍ରାନ୍ସପୋର୍ଟ ଉପରେ JSON-RPC ଫ୍ରେମ୍ ପଠାନ୍ତୁ
DELETE /api/mcp/stream ଏକ Streamable HTTP ସେସନ୍ ସମାପ୍ତ କରନ୍ତୁ
GET /api/mcp/audit ଅଡିଟ୍ ଲଗ୍ ଅନୁସନ୍ଧାନ କରନ୍ତୁ — ?limit=, ?offset=, ?tool=, `?success=true false, ?apiKeyId=`
GET /api/mcp/audit/stats ଆଗତ ଅଡିଟ୍ ପରିସଂଖ୍ୟାନ (ମୋଟ, ସଫଳତା ହାର, ହାରାହାରି ଅବଧି, ଶୀର୍ଷ ଉପକରଣ)

ପ୍ରମାଣୀକରଣ: sse/stream ଟ୍ରାନ୍ସପୋର୍ଟ MCP-ନିର୍ଦ୍ଦିଷ୍ଟ ପ୍ରମାଣୀକରଣ ପୃଷ୍ଠକୁ ସମ୍ମାନ ଦିଅନ୍ତି (mcp ସ୍କୋପ୍ ସହ Bearer API କୀ); status/tools/audit* ରୁଟଗୁଡ଼ିକ ଡ୍ୟାସବୋର୍ଡରୁ ପଠାଯୋଗ୍ୟ (ଡ୍ୟାସବୋର୍ଡ ହୋଷ୍ଟରେ ପହଞ୍ଚିବା ବ୍ୟତୀତ ଅତିରିକ୍ତ ପ୍ରମାଣୀକରଣ ଆବଶ୍ୟକ ନାହିଁ)।

ଉଭୟ HTTP ଟ୍ରାନ୍ସପୋର୍ଟ settings.mcpEnabled ଏବଂ settings.mcpTransport ଦ୍ୱାରା ନିୟନ୍ତ୍ରିତ — ଟ୍ରାନ୍ସପୋର୍ଟ ଅସଙ୍ଗତତା 400 ଫେରାଏ, MCP ନିଷ୍କ୍ରିୟ ଅବସ୍ଥା 503 ଫେରାଏ।

A2A ସର୍ଭର

OmniRoute ଏକ A2A (Agent-to-Agent) JSON-RPC 2.0 ଏଣ୍ଡପଏଣ୍ଟ ଏବଂ ନିରୀକ୍ଷଣ/ଡ୍ୟାସବୋର୍ଡ ବ୍ୟବହାର ପାଇଁ ଏକ REST ର୍ୟାପର ଉତ୍କୃଷ୍ଟ କରେ।

JSON-RPC

POST /a2a
Authorization: Bearer your-api-key   # optional unless OMNIROUTE_API_KEY is set
Content-Type: application/json

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

ସମର୍ଥିତ ପ୍ରକ୍ରିୟାଗୁଡିକ (settings.a2aEnabled ଦ୍ୱାରା ସୀମିତ):

ପ୍ରକ୍ରିୟା ବର୍ଣ୍ଣନା
message/send ସମକାଳୀନ ଦକ୍ଷତା ନିଷ୍ପାଦନ; {task, artifacts, metadata} ଫେରାଏ
message/stream ସମାନ ଦକ୍ଷତା ସେଟ୍ର ଷ୍ଟ୍ରିମିଂ SSE ନିଷ୍ପାଦନ
tasks/get taskId ଦ୍ୱାରା ଏକ କାର୍ଯ୍ୟ ଆଣନ୍ତୁ
tasks/cancel taskId ଦ୍ୱାରା ଏକ କାର୍ଯ୍ୟ ବାତିଲ କରନ୍ତୁ

ଅନ୍ତର୍ନିହିତ ଦକ୍ଷତା: smart-routing, quota-management, provider-discovery, cost-analysis, health-report.

ଏଜେଣ୍ଟ କାର୍ଡ

GET /.well-known/agent.json

ସାର୍ବଜନୀନ A2A ଏଜେଣ୍ଟ କାର୍ଡ ଫେରାଏ (ନାମ, ବର୍ଣ୍ଣନା, ସାମର୍ଥ୍ୟ, ଦକ୍ଷତା ତାଲିକା, ପ୍ରମାଣୀକରଣ ସ୍କିମ) — ସାର୍ବଜନୀନ ଭାବରେ 1h ପାଇଁ କ୍ୟାଚ୍ କରାଯାଏ। ପ୍ରମାଣୀକରଣ ଆବଶ୍ୟକ ନାହିଁ।

REST ସାହାଯ୍ୟକାରୀ

ପ୍ରକ୍ରିୟା ପାଥ ବର୍ଣ୍ଣନା
GET /api/a2a/status A2A ସକ୍ଷମ + କାର୍ଯ୍ୟ ପରିସଂଖ୍ୟାନ + କ୍ୟାଚ୍ କରାଯାଇଥିବା ଏଜେଣ୍ଟ କାର୍ଡ ସାରାଂଶ
GET /api/a2a/tasks କାର୍ଯ୍ୟ ତାଲିକା — ?state=submitted|working|completed|failed|cancelled, ?skill=, ?limit= (≤200), ?offset=
POST /api/a2a/tasks (REST ସାହାଯ୍ୟକାରୀ ଭାବରେ କାର୍ଯ୍ୟକରଣ କରାଯାଇନାହିଁ — JSON-RPC message/send ମାଧ୍ୟମରେ ସୃଷ୍ଟି କରନ୍ତୁ)
GET /api/a2a/tasks/[id] ଗୋଟିଏ କାର୍ଯ୍ୟ ଆଣନ୍ତୁ
POST /api/a2a/tasks/[id]/cancel ଗୋଟିଏ କାର୍ଯ୍ୟ ବାତିଲ କରନ୍ତୁ

ପ୍ରମାଣୀକରଣ: REST ସାହାଯ୍ୟକାରୀ ବ୍ୟବସ୍ଥାପନ ପ୍ରମାଣୀକରଣ ବିନା ଚାଲେ (ଡ୍ୟାସବୋର୍ଡ-ପଠନଯୋଗ୍ୟ); JSON-RPC /a2a ରୁଟ୍ ଯଦି କନ୍ଫିଗର କରାଯାଇଛି ତେବେ Bearer OMNIROUTE_API_KEY ବ୍ୟବହାର କରେ।


କ୍ଲାଉଡ, ମୂଲ୍ୟାୟନ ଏବଂ ମୂଲ୍ୟାଙ୍କନ

ପ୍ରକ୍ରିୟା ପାଥ ବର୍ଣ୍ଣନା
POST /api/cloud/auth ଏକ Bearer କୀ ଯାଞ୍ଚ କରନ୍ତୁ ଏବଂ କ୍ଲାଉଡ ସିଙ୍କ କ୍ଲାଏଣ୍ଟ ପାଇଁ ମାସ୍କ କରାଯାଇଥିବା ପ୍ରଦାନକାରୀ ସଂଯୋଗ + ମଡେଲ ଉପନାମ ଫେରାନ୍ତୁ
POST /api/cloud/credentials/update ଏକ କ୍ଲାଉଡ-ସିଙ୍କ କରାଯାଇଥିବା ପ୍ରଦାନକାରୀ ପାଇଁ ଏନକ୍ରିପ୍ଟ କରାଯାଇଥିବା ସାଖା ଅଦ୍ୟତନ କରନ୍ତୁ
POST /api/cloud/model/resolve ସ୍ଥାନୀୟ ରୁଟିଂ ଟେବୁଲ୍ ବ୍ୟବହାର କରି ଏକ ଯୁକ୍ତିଯୁକ୍ତ ମଡେଲ id କୁ ଏକ ନିର୍ଦ୍ଦିଷ୍ଟ ପ୍ରଦାନକାରୀ/ମଡେଲରେ ସମାଧାନ କରନ୍ତୁ
GET /api/cloud/models/alias କ୍ଲାଉଡ ସିଙ୍କ ଦ୍ୱାରା ଉତ୍କୃଷ୍ଟ ହୋଇଥିବା ମଡେଲ ଉପନାମ ତାଲିକା କରନ୍ତୁ
GET /api/assess ସର୍ବଶେଷ ମୂଲ୍ୟାଙ୍କନ ବିଭାଗୀକରଣ (ପ୍ରଦାନକାରୀ/ମଡେଲ ଅନୁସାରେ) ପଢନ୍ତୁ
POST /api/assess ଏକ ମୂଲ୍ୟାଙ୍କନ ଚଳାନ୍ତୁ — ବଡି: `{scope: {type:"all"} {type:"provider", providerId} {type:"model", modelId}, trigger?}`
GET /api/evals ଅନ୍ତର୍ନିହିତ ମୂଲ୍ୟାୟନ ସୁଇଟ୍ + ସର୍ବଶେଷ ରନ୍ ତାଲିକା କରନ୍ତୁ
POST /api/evals ଏକ ମୂଲ୍ୟାୟନ ରନ୍ ଟ୍ରିଗର କରନ୍ତୁ
POST /api/evals/suites ଏକ କଷ୍ଟମ ମୂଲ୍ୟାୟନ ସୁଇଟ୍ ସୃଷ୍ଟି କରନ୍ତୁ — evalSuiteSaveSchema ଦ୍ୱାରା ଯାଞ୍ଚ କରାଯାଇଥିବା ବଡି
GET /api/evals/suites/[id] ଏକ କଷ୍ଟମ ମୂଲ୍ୟାୟନ ସୁଇଟ୍ ଆଣନ୍ତୁ

ପ୍ରମାଣୀକରଣ: /api/cloud/auth ସିଧାସଳଖ ଭାବରେ ଏକ Bearer କୀ ଯାଞ୍ଚ କରେ; ଅନ୍ୟ /api/cloud/*, /api/evals/*, ଏବଂ /api/assess ରୁଟ୍ଗୁଡିକ ବ୍ୟବସ୍ଥାପନ ସେସନ/API କୀ ଆବଶ୍ୟକ କରେ। /api/assess POST ଏକ ବିଭେଦିତ-ସଂଘ ସ୍କୋପ୍ ସ୍କିମା ସହିତ validateBody ବ୍ୟବହାର କରେ।


ACP (ଏଜେଣ୍ଟ କ୍ଲାଏଣ୍ଟ ପ୍ରୋଟୋକଲ) ପରିଚାଳନା

ଯେ ପ୍ରକ୍ରିୟାଗୁଡ଼ିକ ଶିଶୁ ପ୍ରକ୍ରିୟା ଭାବରେ ଚାଲେ। ଏହି ଏଣ୍ଡପଏଣ୍ଟଗୁଡ଼ିକ ACP ଏଜେଣ୍ଟ ସନ୍ଧାନ ଏବଂ କଷ୍ଟମ ଏଜେଣ୍ଟ ପଞ୍ଜୀକରଣ ପରିଚାଳନା କରେ।

ପଦ୍ଧତି ପାଥ ବିବରଣୀ
GET /api/acp/agents ସମସ୍ତ ଜଣାଶୁଣା CLI ଏଜେଣ୍ଟମାନଙ୍କୁ (ଅନ୍ତର୍ନିହିତ + କଷ୍ଟମ) ସ୍ଥାପନ ସ୍ଥିତି, ସଂସ୍କରଣ, ବାଇନାରୀ ସହ ତାଲିକାଭୁକ୍ତ କରନ୍ତୁ
POST /api/acp/agents ଏକ କଷ୍ଟମ ACP ଏଜେଣ୍ଟ ପଞ୍ଜୀକୃତ କରନ୍ତୁ କିମ୍ବା କ୍ୟାଶ ରିଫ୍ରେଶ କରନ୍ତୁ — ବଡୀ: {id, name, binary, versionCommand, providerAlias, spawnArgs, protocol} କିମ୍ବା {action: "refresh"}
DELETE /api/acp/agents ଏକ କଷ୍ଟମ ACP ଏଜେଣ୍ଟ ହଟାନ୍ତୁ — କ୍ୱେରୀ ପାରାମିଟର: ?id=<agentId>

ଉତ୍ତର ଉଦାହରଣ (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
}

ପ୍ରମାଣୀକରଣ: ପରିଚାଳନା ସେସନ (ଡ୍ୟାଶବୋର୍ଡ auth_token କୁକି) ବା ପରିଚାଳନା-ସ୍କୋପ୍ API କି ଆବଶ୍ୟକ।

ସମ୍ପୂର୍ଣ୍ଣ ବିବରଣୀ ପାଇଁ ACP ଫ୍ରେମୱାର୍କ ଦେଖନ୍ତୁ।


ବିଶ୍ଳେଷଣ ଏବଂ ପର୍ଯ୍ୟବେକ୍ଷଣ

ରୁଟିଂ, ସଂକୁଚନ, ଏବଂ ପ୍ରଦାନକର୍ତ୍ତା ବିବିଧତା ଉପରେ ନଜର ରଖିବା ପାଇଁ ରିଅଲ-ଟାଇମ୍ ବିଶ୍ଳେଷଣ ଏଣ୍ଡପଏଣ୍ଟ। ଏହା /dashboard/analytics/* ପୃଷ୍ଠାଗୁଡ଼ିକୁ ଶକ୍ତି ଯୋଗାଏ।

ସ୍ୱୟଂଚାଳିତ ରୁଟିଂ ବିଶ୍ଳେଷଣ

ପଦ୍ଧତି ପାଥ ବିବରଣୀ
GET /api/analytics/auto-routing ସମୁଦାୟ ସ୍ୱୟଂଚାଳିତ ରୁଟିଂ ପରିସଂଖ୍ୟାନ: ମୋଟ କଲ, ରଣନୀତି ବିଭାଜନ, ଟାୟାର ବିଭାଜନ, ଶୀର୍ଷ ପ୍ରଦାନକର୍ତ୍ତା
GET /api/analytics/auto-routing?days=7 ସମୟ-ଣ୍ଡାକ ପରିସଂଖ୍ୟାନ (ଡିଫଲ୍ଟ 24h)

ଉତ୍ତର ଉଦାହରଣ:

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

ସଂକୁଚନ ବିଶ୍ଳେଷଣ

ପଦ୍ଧତି ପାଥ ବିବରଣୀ
GET /api/analytics/compression ସମୁଦାୟ ସଂକୁଚନ ପରିସଂଖ୍ୟାନ: ସଂରକ୍ଷିତ ଟୋକେନ, ସଂରକ୍ଷଣ %, ମୋଡ୍ ବିଭାଜନ, ଇଞ୍ଜିନ ବ୍ୟବହାର

ଉତ୍ତର ଉଦାହରଣ:

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

ପ୍ରଦାନକର୍ତ୍ତା ବିବିଧତା ଟ୍ରାକିଂ

ପଦ୍ଧତି ପାଥ ବିବରଣୀ
GET /api/analytics/diversity ଶାନନ ଏଣ୍ଟ୍ରୋପୀ ଆଧାରିତ ବିବିଧତା ଟ୍ରାକିଂ: ପ୍ରଦାନକର୍ତ୍ତା ସ୍ପ୍ରେଡ୍ ମାପି ଏକମାତ୍ର ବିଫଳତା ପଏଣ୍ଟକୁ ରୋକେ

ଉତ୍ତର ଉଦାହରଣ:

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

ପ୍ରମାଣୀକରଣ: ପରିଚାଳନା ସେସନ ବା ପରିଚାଳନା-ସ୍କୋପ୍ API କି ଆବଶ୍ୟକ।


ପ୍ରଶାସନିକ କାର୍ଯ୍ୟକଳାପ

ପରିଚାଳନା ପ୍ରବନ୍ଧନ ପାଇଁ କେବଳ ପ୍ରଶାସନକର୍ତ୍ତା ଏଣ୍ଡପଏଣ୍ଟ୍।

ପଦ୍ଧତି ପଥ ବିବରଣୀ
GET /api/admin/concurrency ବର୍ତ୍ତମାନ ସମାନାନ୍ତରତା ସୀମା ପଢ଼ନ୍ତୁ (ବୈଶ୍ୱିକ + ପ୍ରତି-ପ୍ରଦାନକର୍ତ୍ତା)
POST /api/admin/concurrency ସମାନାନ୍ତରତା ସୀମା ଅପଡେଟ୍ କରନ୍ତୁ — ବଡୀ: {global?: number, perProvider?: Record<string, number>}

ପ୍ରମାଣୀକରଣ: ପ୍ରଶାସନିକ ସ୍କୋପ୍ ସହ ପରିଚାଳନା ସେସନ୍ ଆବଶ୍ୟକ।


CLI ଟୁଲ୍ ପରିଚାଳନା

OmniRoute ସହ ଏକୀଭୂତ ହୋଇଥିବା CLI ଟୁଲ୍ ପରିଚାଳନା କରନ୍ତୁ (antigravity, chipotle, commandCode, devin-cli, ଇତ୍ୟାଦି)। ସମ୍ପୂର୍ଣ୍ଣ ତାଲିକା ପାଇଁ ପ୍ରଦାନକର୍ତ୍ତା ସନ୍ଦର୍ଭ ଦେଖନ୍ତୁ।

ପଦ୍ଧତି ପଥ ବିବରଣୀ
GET /api/cli-tools/all-statuses ସମସ୍ତ CLI ଟୁଲ୍ ର ସ୍ଥିତି (ସ୍ଥାପିତ, ସଂସ୍କରଣ, ଶେଷ ଦେଖାଗଲା)
GET /api/cli-tools/status ଗୋଟିଏ CLI ଟୁଲ୍ ର ସ୍ଥିତି ବିବରଣୀ (?tool= ପ୍ରଶ୍ନ)
POST /api/cli-tools/apply ଟୁଲ୍ ର ଜନିତ କନଫିଗରେସନ୍ ଲେଖନ୍ତୁ (dryRun ପୂର୍ବାଲୋକନ; କଣ୍ଟେନରାଇଜଡ୍ ହୋଇଥିଲେ 422 + containerEphemeralTarget; migration ଏକ ପୁରାତନ Codex YAML ର ସୂଚନା ଦିଏ)
GET /api/cli-tools/backups CLI ଟୁଲ୍ କନଫିଗରେସନ୍ ବ୍ୟାକଅପ୍ ତାଲିକା
POST /api/cli-tools/backups ସମସ୍ତ CLI ଟୁଲ୍ କନଫିଗରେସନ୍ ର ବ୍ୟାକଅପ୍ ସୃଷ୍ଟି କରନ୍ତୁ
POST /api/cli-tools/backups ପୁନରୁଦ୍ଧାର: ସେହି ଏକା ଏଣ୍ଡପଏଣ୍ଟ୍ ସହ ବଡୀରେ {tool, backupId} ସେ ବ୍ୟାକଅପ୍ କୁ ପୁନରୁଦ୍ଧାର କରେ
GET /api/cli-tools/antigravity-mitm Antigravity MITM ପ୍ରକ୍ସି ସ୍ଥିତି ("antigravity-mitm" CLI ଟୁଲ୍)
POST /api/cli-tools/antigravity-mitm/alias antigravity-mitm ଉପନାମ କନଫିଗର କରନ୍ତୁ

ପ୍ରମାଣୀକରଣ: ପରିଚାଳନା ସେସନ୍ ଆବଶ୍ୟକ।


ଏଜେଣ୍ଟ ଦକ୍ଷତା

AI ଏଜେଣ୍ଟ ଦକ୍ଷତା ପରିଚାଳନା କରନ୍ତୁ (OpenAI ର କଷ୍ଟମ GPTs ସମାନ କିନ୍ତୁ ଏଜେଣ୍ଟ ପାଇଁ)।

ପଦ୍ଧତି ପଥ ବିବରଣୀ
GET /api/agent-skills ସମସ୍ତ ଏଜେଣ୍ଟ ଦକ୍ଷତା ତାଲିକା (ବିଲ୍ଟ-ଇନ୍ + କଷ୍ଟମ)
GET /api/agent-skills/[id] ଏକ ନିର୍ଦ୍ଦିଷ୍ଟ ଏଜେଣ୍ଟ ଦକ୍ଷତା ପାନ୍ତୁ
POST /api/agent-skills ଏକ କଷ୍ଟମ ଏଜେଣ୍ଟ ଦକ୍ଷତା ସୃଷ୍ଟି କରନ୍ତୁ — ବଡୀ: {name, description, prompt, model?, temperature?}
PUT /api/agent-skills/[id] ଏକ କଷ୍ଟମ ଏଜେଣ୍ଟ ଦକ୍ଷତା ଅପଡେଟ୍ କରନ୍ତୁ
DELETE /api/agent-skills/[id] ଏକ କଷ୍ଟମ ଏଜେଣ୍ଟ ଦକ୍ଷତା ବିଲୋପ କରନ୍ତୁ
GET /api/agent-skills/[id]/raw କଞ୍ଚା ପ୍ରମ୍ପ୍ଟ + ମେଟାଡେଟା ପାନ୍ତୁ (କାର୍ଯ୍ୟକାରୀ ନୁହେଁ)
POST /api/agent-skills/generate ସ୍ୱାଭାବିକ ଭାଷା ବିବରଣୀରୁ AI-ଜନିତ ଏକ ନୂତନ ଦକ୍ଷତା ସୃଷ୍ଟି କରନ୍ତୁ

ପ୍ରମାଣୀକରଣ: ପରିଚାଳନା ସେସନ୍ ବା ପରିଚାଳନା-ସ୍କୋପଡ୍ API କୀ ଆବଶ୍ୟକ।


କ୍ୟାଶ୍ ପରିଚାଳନା

ସିମାନ୍ତିକ କ୍ୟାଶ୍ ଏବଂ ଯୁକ୍ତି କ୍ୟାଶ୍ ପରିଚାଳନା କରନ୍ତୁ।

ପ୍ରକାର ପଥ ବର୍ଣ୍ଣନା
ଜିଟ୍ /api/cache କ୍ୟାଶ୍ ସାରାଂଶ: ମୋଟ ପ୍ରବେଶ, ହିଟ୍ ହାର, ଡିସ୍କରେ ଆକାର
ଜିଟ୍ /api/cache/entries କ୍ୟାଶ୍ କରାଯାଇଥିବା ପ୍ରବେଶଗୁଡ଼ିକ ତାଲିକା (ପୃଷ୍ଠାସଂଖ୍ୟା ସହ)
ବିଲୋପ /api/cache/entries କ୍ୟାଶ୍ ପ୍ରବେଶଗୁଡ଼ିକ ବିଲୋପ କରନ୍ତୁ (କ୍ୱେରୀ ପାରାମିଟର ଦ୍ୱାରା ଫିଲ୍ଟର)
ଜିଟ୍ /api/cache/stats ବିସ୍ତୃତ କ୍ୟାଶ୍ ପରିସଂଖ୍ୟାନ (ପ୍ରଦାନକାରୀ ଅନୁସାରେ, ମଡେଲ୍ ଅନୁସାରେ)
ଜିଟ୍ /api/cache/reasoning ଯୁକ୍ତି କ୍ୟାଶ୍ ଅବସ୍ଥା (ଯୁକ୍ତି ପୁନରାବୃତ୍ତି ପାଇଁ)
ବିଲୋପ /api/cache/reasoning ଯୁକ୍ତି କ୍ୟାଶ୍ ସଫା କରନ୍ତୁ — କ୍ୱେରୀ ପାରାମିଟର: ?toolCallId=<id> (ଗୋଟିଏ) କିମ୍ବା ?provider=<p> କିମ୍ବା କୌଣସି ପାରାମିଟର ନାହିଁ (ସମସ୍ତ)

ପ୍ରମାଣୀକରଣ: ପରିଚାଳନା ସେସନ୍ ଆବଶ୍ୟକ।


ସ୍ମୃତି ସିଷ୍ଟମ୍

ସ୍ଥାୟୀ ସ୍ମୃତି (FTS5 + ଭେକ୍ଟର୍ ଏମ୍ବେଡିଂଗ୍) ପରିଚାଳନା କରନ୍ତୁ।

ପ୍ରକାର ପଥ ବର୍ଣ୍ଣନା
ଜିଟ୍ /api/memory ସ୍ମୃତି ପ୍ରବେଶଗୁଡ଼ିକ ତାଲିକା (ସ୍କୋପ୍, ପ୍ରକାର, ଖୋଜ କ୍ୱେରୀ ଦ୍ୱାରା ଫିଲ୍ଟର)
ପୋଷ୍ଟ /api/memory ଏକ ନୂତନ ସ୍ମୃତି ପ୍ରବେଶ ସୃଷ୍ଟି କରନ୍ତୁ — ଶରୀର: {scope, type, content, metadata?}
ଜିଟ୍ /api/memory/[id] ନିର୍ଦ୍ଦିଷ୍ଟ ସ୍ମୃତି ପ୍ରବେଶ ପ୍ରାପ୍ତ କରନ୍ତୁ
ପୁଟ୍ /api/memory/[id] ସ୍ମୃତି ପ୍ରବେଶ ଅପଡେଟ୍ କରନ୍ତୁ
ବିଲୋପ /api/memory/[id] ସ୍ମୃତି ପ୍ରବେଶ ବିଲୋପ କରନ୍ତୁ
ଜିଟ୍ /api/memory?q= ସ୍ମୃତି ଖୋଜନ୍ତୁ (FTS5 + ଭେକ୍ଟର୍) — ପରିସଂଖ୍ୟାନ ସମାନ ପ୍ରତିକ୍ରିୟାରେ ଅନ୍ତର୍ଭୁକ୍ତ

ପ୍ରମାଣୀକରଣ: ପରିଚାଳନା ସେସନ୍ କିମ୍ବା ପରିଚାଳନା-ସ୍କୋପ୍ ଥିବା API କୀ ଆବଶ୍ୟକ।


ୱେବ୍ହୁକ୍ସ

ଘଟନା ପାଇଁ ୱେବ୍ହୁକ୍ ସଦସ୍ୟତା ପରିଚାଳନା କରନ୍ତୁ।

ପ୍ରକାର ପଥ ବର୍ଣ୍ଣନା
ଜିଟ୍ /api/webhooks ସମସ୍ତ ୱେବ୍ହୁକ୍ ସଦସ୍ୟତା ତାଲିକା
ପୋଷ୍ଟ /api/webhooks ୱେବ୍ହୁକ୍ ସଦସ୍ୟତା ସୃଷ୍ଟି କରନ୍ତୁ — ଶରୀର: {url, events[], secret?, active?}
ଜିଟ୍ /api/webhooks/[id] ନିର୍ଦ୍ଦିଷ୍ଟ ୱେବ୍ହୁକ୍ ସଦସ୍ୟତା ପ୍ରାପ୍ତ କରନ୍ତୁ
ପୁଟ୍ /api/webhooks/[id] ୱେବ୍ହୁକ୍ ସଦସ୍ୟତା ଅପଡେଟ୍ କରନ୍ତୁ
ବିଲୋପ /api/webhooks/[id] ୱେବ୍ହୁକ୍ ସଦସ୍ୟତା ବିଲୋପ କରନ୍ତୁ
ଜିଟ୍ /api/webhooks/[id]/deliveries ୱେବ୍ହୁକ୍ ପାଇଁ ବିତରଣ ଇତିହାସ ତାଲିକା (ସଫଳତା/ବିଫଳତା ଲଗ)
ପୋଷ୍ଟ /api/webhooks/[id]/test ୱେବ୍ହୁକ୍ କୁ ଏକ ପରୀକ୍ଷଣ ଘଟନା ପଠାନ୍ତୁ

ପ୍ରମାଣୀକରଣ: ପରିଚାଳନା ସେସନ୍ ଆବଶ୍ୟକ।

ସମ୍ପୂର୍ଣ୍ଣ ଘଟନା ପ୍ରକାର ପାଇଁ ୱେବ୍ହୁକ୍ ଫ୍ରେମ୍ୱର୍କ୍ ଦେଖନ୍ତୁ ୱେବ୍ହୁକ୍ ଫ୍ରେମ୍ୱର୍କ୍


ସ୍କିଲ୍ ଫ୍ରେମୱାର୍କ

ସ୍କିଲ୍ସ୍ ପରିଚାଳନା କରନ୍ତୁ (ଏଜେଣ୍ଟିକ୍ ଏକ୍ସଟେନ୍ସନ୍ ଫ୍ରେମୱାର୍କ)।

ପଦ୍ଧତି ପଥ ବର୍ଣ୍ଣନା
GET /api/skills ସମସ୍ତ ସ୍ଥାପିତ ସ୍କିଲ୍ସ୍ ତାଲିକା କରନ୍ତୁ (ଅନ୍ତର୍ନିହିତ + କଷ୍ଟମ)
POST /api/skills/install ସ୍ଥାନୀୟ ପଥ ବା URL ରୁ ସ୍କିଲ୍ ସ୍ଥାପନ କରନ୍ତୁ
DELETE /api/skills/[id] ସ୍କିଲ୍ ବିସ୍ଥାପନ କରନ୍ତୁ
PUT /api/skills/[id] ସ୍କିଲ୍ ସକ୍ରିୟ ବା ନିଷ୍କ୍ରିୟ କରନ୍ତୁ — ବଡି: {enabled?: boolean, mode?: "on" | "off" | "auto"}
POST /api/skills/executions ସ୍କିଲ୍ କାର୍ଯ୍ୟକାରୀ କରନ୍ତୁ — ବଡି: {skillName, apiKeyId, input?, sessionId?}
GET /api/skills/executions ସମସ୍ତ ସ୍କିଲ୍ସ୍ ପାଇଁ କାର୍ଯ୍ୟକାରୀକରଣ ଇତିହାସ ତାଲିକା କରନ୍ତୁ (?apiKeyId= ଦ୍ୱାରା ଫିଲ୍ଟର କରନ୍ତୁ)

ପ୍ରମାଣୀକରଣ: ପରିଚାଳନା ସେସନ୍ ବା ପରିଚାଳନା-ସ୍କୋପ୍ API କୀ ଆବଶ୍ୟକ।

ସମ୍ପୂର୍ଣ୍ଣ ବିବରଣୀ ପାଇଁ ସ୍କିଲ୍ ଫ୍ରେମୱାର୍କ ଦେଖନ୍ତୁ।


ପ୍ଲଗିନ୍ସ୍

OmniRoute ପ୍ଲଗିନ୍ସ୍ ପରିଚାଳନା କରନ୍ତୁ (ତୃତୀୟ ପକ୍ଷ ଏକ୍ସଟେନ୍ସନ୍)।

ପଦ୍ଧତି ପଥ ବର୍ଣ୍ଣନା
GET /api/plugins ସ୍ଥାପିତ ପ୍ଲଗିନ୍ସ୍ ତାଲିକା କରନ୍ତୁ
POST /api/plugins/marketplace/install ମାର୍କେଟପ୍ଲେସ୍ ରୁ ପ୍ଲଗିନ୍ ସ୍ଥାପନ କରନ୍ତୁ
DELETE /api/plugins/[name] ପ୍ଲଗିନ୍ ବିସ୍ଥାପନ କରନ୍ତୁ
POST /api/plugins/[name]/activate ପ୍ଲଗିନ୍ ସକ୍ରିୟ କରନ୍ତୁ
POST /api/plugins/[name]/deactivate ପ୍ଲଗିନ୍ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ
GET /api/plugins/[name]/config ପ୍ଲଗିନ୍ କନ୍ଫିଗରେସନ୍ ପ୍ରାପ୍ତ କରନ୍ତୁ
PUT /api/plugins/[name]/config ପ୍ଲଗିନ୍ କନ୍ଫିଗରେସନ୍ ଅପଡେଟ୍ କରନ୍ତୁ

ପ୍ରମାଣୀକରଣ: ପରିଚାଳନା ସେସନ୍ ଆବଶ୍ୟକ।

ସମ୍ପୂର୍ଣ୍ଣ ବିବରଣୀ ପାଇଁ ପ୍ଲଗିନ୍ ଫ୍ରେମୱାର୍କ ଦେଖନ୍ତୁ।


ସେଡୋ ରୁଟିଂ

ପ୍ରଦାତାମାନଙ୍କର ସେଡୋ / A-B ତୁଳନା ଏକ ସ୍ଵତନ୍ତ୍ର REST ସତହ ନୁହେଁ — ଏହା କମ୍ବୋ ରୁଟିଂ ମାଧ୍ୟମରେ କନ୍ଫିଗର୍ କରାଯାଏ (ଅଟୋ-କମ୍ବୋ ଦେଖନ୍ତୁ)। ପ୍ରତି-କମ୍ବୋ ତୁଳନା ମେଟ୍ରିକ୍ସ GET /api/combos/metrics ଦ୍ୱାରା ସେବ ଦିଆଯାଏ।


ଗାର୍ଡରେଲ୍ସ୍

ରନଟାଇମ୍ ଗାର୍ଡରେଲ୍ସ୍ ନିରୀକ୍ଷଣ କରନ୍ତୁ (PII ସନ୍ଧାନ, ପ୍ରମ୍ପଟ୍ ଇନ୍ଜେକ୍ସନ୍ ସନ୍ଧାନ, ଭିଜୁଆଲ୍ ବ୍ରିଜିଂ)। ଗାର୍ଡରେଲ୍ସ୍ ପ୍ରତ୍ୟେକ ଅନୁରୋଧରେ ଚାଲେ; ପ୍ରତି-କଲ୍ ଅପ୍-ଅପ୍ଟ୍ x-omniroute-disabled-guardrails ଅନୁରୋଧ ହେଡର୍ ମାଧ୍ୟମରେ କରାଯାଏ — ସ୍ଥାୟୀ ସକ୍ରିୟ/ନିଷ୍କ୍ରିୟ ସତହ ନାହିଁ।

ପଦ୍ଧତି ପଥ ବର୍ଣ୍ଣନା
GET /api/guardrails ପଞ୍ଜୀକୃତ ଗାର୍ଡରେଲ୍ସ୍ ଏବଂ ସେମାନଙ୍କ ସ୍ଥିତି ତାଲିକା କରନ୍ତୁ (ନାମ / ସକ୍ରିୟ / ଅଗ୍ରାଧିକାର)
POST /api/guardrails/test ନମୁନା ଇନ୍ପୁଟ୍ ଉପରେ ପ୍ରି-କଲ୍ ପାଇପଲାଇନ୍ ଡ୍ରାଇ-ରନ୍ କରନ୍ତୁ — ବଡି: {input, disabledGuardrails?}

ପ୍ରମାଣୀକରଣ: ପରିଚାଳନା ସେସନ୍ ଆବଶ୍ୟକ।

ସମ୍ପୂର୍ଣ୍ଣ ବିବରଣୀ ପାଇଁ ସୁରକ୍ଷା > ଗାର୍ଡରେଲ୍ସ୍ ଦେଖନ୍ତୁ।



ପ୍ରମାଣୀକରଣ

ଚାରିଗୋଟି ପ୍ରମାଣ ପରିବାର (ଡ୍ୟାସବୋର୍ଡ ସେସନ, ସ୍ଥାନୀୟ CLI ଟୋକେନ, oma_live_… ଆକ୍ସେସ ଟୋକେନ, ପରିଚାଳନା-ପରିସୀମିତ API କୀ) ଏବଂ ସେଗୁଡିକ ଅନୁମାନ କିଗୁଡିକ ଠାରୁ କିପରି ଭିନ୍ନ ତାହା ପାଇଁ ପରିଚାଳନା ପ୍ରମାଣୀକରଣ ଦେଖନ୍ତୁ।

  • ଡ୍ୟାସବୋର୍ଡ ରୁଟଗୁଡିକ (/dashboard/*) auth_token କୁକି ବ୍ୟବହାର କରନ୍ତି
  • ଲଗଇନ ସଂରକ୍ଷିତ ପାସୱାର୍ଡ ହ୍ୟାସ୍ ବ୍ୟବହାର କରେ; INITIAL_PASSWORD କୁ ଫଲବ୍ୟାକ୍
  • requireLogin /api/settings/require-login ମାଧ୍ୟମରେ ଟଗଲ୍ କରାଯାଇପାରିବ
  • /v1/* ରୁଟଗୁଡିକ REQUIRE_API_KEY=true ଥିବା ସମୟରେ ବିକଳ୍ପ ଭାବରେ Bearer API କୀ ଆବଶ୍ୟକ କରନ୍ତି
  • ଏହି ସନ୍ଦର୍ଭରେ "ପରିଚାଳନା ଟୋକେନ" / "ପରିଚାଳନା-ପରିସୀମିତ API କୀ" ର ଅର୍ଥ ହେଉଛି ସେ ଗାଇଡର ପରିବାର ଗୁଡିକ ମଧ୍ୟରୁ ଗୋଟିଏ — ଏକ ଅପରିଭାଷିତ ଅତିରିକ୍ତ ରହସ୍ୟ ପ୍ରକାର ନୁହେଁ

ଭାଙ୍ଗିବା ପରିବର୍ତ୍ତନ (v3.8.0)/api/v1/agents/tasks/* ଏବଂ କୁଲଡାଉନ୍ ପରିଚାଳନା ପ୍ରାନ୍ତଗୁଡିକ ବର୍ତ୍ତମାନ ପରିଚାଳନା ପ୍ରମାଣ ଆବଶ୍ୟକ କରନ୍ତି (ଡ୍ୟାସବୋର୍ଡ auth_token କୁକି ବା ଏକ ପରିଚାଳନା-ପରିସୀମିତ API କୀ)। ପୂର୍ବରୁ ଏହି ରୁଟଗୁଡିକକୁ ଅପ୍ରମାଣିତ ଭାବରେ କଲ୍ କରୁଥିବା କ୍ଲାଏଣ୍ଟଗୁଡିକ 401 Unauthorized ପ୍ରାପ୍ତ କରିବେ। କମିଟ 588a0333 (fix(auth): require management auth for agent and cooldown APIs) ଦେଖନ୍ତୁ।