API Reference (ଓଡ଼ିଆ)

September 23, 2026 · View on GitHub

🌐 Languages: 🇺🇸 English · 🇪🇹 am · 🇸🇦 ar · 🇦🇿 az · 🇧🇬 bg · 🇧🇩 bn · 🇧🇦 bs · 🇨🇿 cs · 🇩🇰 da · 🇩🇪 de · 🇬🇷 el · 🇪🇸 es · 🇪🇪 et · 🇮🇷 fa · 🇫🇮 fi · 🇫🇷 fr · 🇮🇪 ga · 🇮🇳 gu · 🇳🇬 ha · 🇮🇱 he · 🇮🇳 hi · 🇭🇷 hr · 🇭🇺 hu · 🇦🇲 hy · 🇮🇩 id · 🇳🇬 ig · 🇮🇹 it · 🇯🇵 ja · 🇬🇪 ka · 🇰🇭 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 · 🇺🇿 uz · 🇻🇳 vi · 🇳🇬 yo · 🇨🇳 zh-CN · 🇹🇼 zh-TW


🌐 Languages: 🇺🇸 English · 🇪🇹 am · 🇸🇦 ar · 🇦🇿 az · 🇧🇬 bg · 🇧🇩 bn · 🇧🇦 bs · 🇨🇿 cs · 🇩🇰 da · 🇩🇪 de · 🇬🇷 el · 🇪🇸 es · 🇪🇪 et · 🇮🇷 fa · 🇫🇮 fi · 🇫🇷 fr · 🇮🇪 ga · 🇮🇳 gu · 🇳🇬 ha · 🇮🇱 he · 🇮🇳 hi · 🇭🇷 hr · 🇭🇺 hu · 🇦🇲 hy · 🇮🇩 id · 🇳🇬 ig · 🇮🇹 it · 🇯🇵 ja · 🇬🇪 ka · 🇰🇭 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 · 🇺🇿 uz · 🇻🇳 vi · 🇳🇬 yo · 🇨🇳 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
}

କଷ୍ଟମ ହେଡର୍

HeaderDirectionDescription
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 ବଡିରେ generation ଯୋଗାଏ:

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

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

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

ପ୍ରତ୍ୟେକ ମ୍ୟାନେଜ୍ଡ୍ ଇନଫେରେନ୍ସ ଅନୁରୋଧ ତାପରେ ଉଭୟ ନିୟନ୍ତ୍ରଣ ହେଡର୍ ଯୋଗାଏ:

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

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

ଅସ୍ଥାୟୀ ପ୍ରତିଯୋଗିତା 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ପ୍ୟାନେଲ୍-ଡେରିଭ୍ଡ ଡିଫଲ୍ଟ ପ୍ରୋଫାଇଲ୍ (ସକ୍ରିୟ ପ୍ରୋଫାଇଲ୍ କୁ ଅଣଦେଖା କରେ)। ଲୋସି ଇଞ୍ଜିନ୍ ବନ୍ଦ ରହେ।
safeକେବଳ ଡେଡୁପ୍ ଏବଂ ଧଳା ସ୍ଥାନ ଫୋଲ୍ଡିଂ।
allow-lossyସାରାଂଶ ଏବଂ ଶୈଳୀ ପୁନଃଲେଖା ସହିତ ଏହି ଅନୁରୋଧ ପାଇଁ ଅପରେଟର ଯୋଜନା ରଖନ୍ତୁ।
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 ମୂଲ୍ୟନୋଟ୍
mistralmistral-ocr-latestmistral/mistral-ocr-latest (କିମ୍ବା କେବଳ mistral-ocr-latest)ସିଙ୍କ୍ରୋନସ୍ — ପ୍ରତିକ୍ରିୟା ସିଧାସଳଖ ଏକକ ଅପସ୍ଟ୍ରିମ୍ କଲରୁ ଫେରିଆସେ।
azure-document-intelligenceprebuilt-readazure-document-intelligence/prebuilt-readଅସିଙ୍କ୍ରୋନସ୍ ଅପସ୍ଟ୍ରିମ୍ (analyze + poll) — ନିମ୍ନରେ ଦେଖନ୍ତୁ।
vertex-deepseek-ocrdeepseek-ocr-maasvertex-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 ଉପସର୍ଗ
ମୋଡ୍ଉତ୍ପାଦନ କରେନୋଟ୍
dualcc/claude-sonnet-4-6 ଏବଂ claude/claude-sonnet-4-6ଡିଫଲ୍ଟ। ଉଭୟ id ସମାନ ମଡେଲ୍ କୁ ରୁଟ୍ କରେ; ଯେପରି ଗ୍ରାହକ କନଫିଗ୍ ଯାହା ହାର୍ଡକୋଡେଡ୍ ଫର୍ମ ବ୍ୟବହାର କରନ୍ତି ସେଗୁଡିକ କାମ ଜାରି ରଖିବା ପାଇଁ ରଖାଯାଇଛି। କ୍ୟାଟାଲଗ୍ ପ୍ରାୟ ଦୁଇଗୁଣ କରେ।
aliascc/claude-sonnet-4-6ପ୍ରତ୍ୟେକ ମଡେଲ୍ ପାଇଁ ଗୋଟିଏ ଏଣ୍ଟ୍ରି। ସ୍ୱତନ୍ତ୍ର ଉପନାମ ନ ଥିବା ପ୍ରଦାତାମାନେ ମଧ୍ୟ ସେମାନଙ୍କ ଏଣ୍ଟ୍ରି ଉତ୍ପାଦନ କରନ୍ତି, ତେଣୁ କିଛି ହରା ନାହିଁ।
canonicalclaude/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/completionsOpenAI
POST/v1/messagesAnthropic
POST/v1/responsesOpenAI Responses
POST/v1/embeddingsOpenAI
POST/v1/images/generationsOpenAI Images
POST/v1/images/editsOpenAI Images (ସମ୍ପାଦନା/ଇନ୍ପେଣ୍ଟ)
POST/v1/videos/generationsOpenAI-ଶୈଳୀର ଭିଡିଓ ଜେନେରେସନ୍
POST/v1/music/generationsOpenAI-ଶୈଳୀର ସଙ୍ଗୀତ ଜେନେରେସନ୍
POST/v1/audio/transcriptionsOpenAI Audio (STT)
POST/v1/audio/speechOpenAI TTS (ଅଡିଓ ବଡି ଫେରାଏ)
POST/v1/rerankCohere/Voyage-ଶୈଳୀର ପୁନଃକ୍ରମାଙ୍କନ
POST/v1/classifyJina ବର୍ଗୀକରଣ (api.jina.ai)
POST/v1/segmentJina ସେଗମେଣ୍ଟର୍ (segment.jina.ai)
POST/v1/moderationsOpenAI Moderations
GET/v1/modelsOpenAI
POST/v1/messages/count_tokensAnthropic
GET/v1beta/modelsGemini
POST/v1beta/models/{...path}Gemini generateContent
POST/v1/api/chatOllama
GET/api/v1/vscode/{token}/OpenAI କ୍ୟାଟାଲଗ୍ ଉପନାମ
GET/api/v1/vscode/{token}/modelsOpenAI ମଡେଲ୍ ଉପନାମ
POST/api/v1/vscode/{token}/chat/completionsOpenAI ଟୋକେନ୍ଯୁକ୍ତ ଉପନାମ
POST/api/v1/vscode/{token}/responsesOpenAI Responses ଟୋକେନ୍ଯୁକ୍ତ ଉପନାମ
POST/api/v1/vscode/{token}/api/chatOllama ଟୋକେନ୍ଯୁକ୍ତ ଉପନାମ
GET/api/v1/vscode/{token}/api/tagsOllama ଟ୍ୟାଗ୍ର ଟୋକେନ୍ଯୁକ୍ତ ଉପନାମ

ସମସ୍ତ 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 କିଗୁଡ଼ିକୁ ମଧ୍ୟ ଗ୍ରହଣ କରେ।

# ପୁନଃକ୍ରମାଙ୍କନ (କ୍ଲାଉଡ୍ ରେଜିଷ୍ଟ୍ରି ପ୍ରଦାନକାରୀ, କିମ୍ବା "<prefix>/<model>" ଭାବରେ ଏକ OpenAI-ସୁସଙ୍ଗତ ପ୍ରଦାନକାରୀ ନୋଡ୍)
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" }

# ଛବି ସମ୍ପାଦନା (multipart)
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/rerank OpenAI-ସୁସଙ୍ଗତ ପ୍ରଦାନକାରୀ ନୋଡ୍ଗୁଡ଼ିକୁ ମଧ୍ୟ ରୁଟ୍ କରେ (oMLX, vLLM, Infinity, ଏକ ଗେଟୱେ ପଛରେ ଥିବା TEI, …), ଯାହାକୁ <node-prefix>/<model> ଭାବରେ ସମ୍ବୋଧନ କରାଯାଏ। ଲୁପ୍ବ୍ୟାକ୍ ନୋଡ୍ଗୁଡ଼ିକ (localhost, 127.0.0.1, 172.16.0.0/12) ସର୍ବଦା ଯୋଗ୍ୟ। ଅନ୍ୟ ଯେକୌଣସି ହୋଷ୍ଟରେ ଥିବା ନୋଡ୍—ଏକ LAN ବକ୍ସ କିମ୍ବା Tailscale ପିୟର୍—କେବଳ ଅପରେଟର୍ RERANK_REMOTE_PROVIDER_NODES ଫିଚର୍ ଫ୍ଲାଗ୍ ସକ୍ଷମ କଲେ ଏବଂ ନୋଡ୍ର ମୂଳ URL ପ୍ରଦାନକାରୀଙ୍କ ଆଉଟ୍ବାଉଣ୍ଡ୍ URL ନୀତି (OMNIROUTE_ALLOW_LOCAL_PROVIDER_URLS / OMNIROUTE_ALLOW_PRIVATE_PROVIDER_URLS) ପାସ୍ କଲେ ଯୋଗ୍ୟ ହୁଏ; କ୍ଲାଉଡ୍-ମେଟାଡାଟା ହୋଷ୍ଟଗୁଡ଼ିକୁ କେବେ ମଧ୍ୟ ରୁଟ୍ କରାଯାଏ ନାହିଁ। ମେମୋରି ଇଞ୍ଜିନ୍ର ପୁନଃକ୍ରମାଙ୍କନ ପଦକ୍ଷେପ ଲୁପ୍ବ୍ୟାକ୍ ମାଧ୍ୟମରେ ଏହି ରୁଟ୍କୁ କଲ୍ କରେ, ତେଣୁ ସମାନ ନିୟମ ମେମୋରି ସେଟିଂସ୍ର rerankProviderModel ପାଇଁ ମଧ୍ୟ ପ୍ରଯୁଜ୍ୟ।

ସ୍ଥାନୀୟ ସର୍ଭର୍ ଗଠନଗୁଡ଼ିକ: ନୋଡ୍କୁ <base>/v1/rerankରେ ଏବଂ 404 ମିଳିଲେ <base>/rerankରେ (Infinity, TEI) କଲ୍ କରାଯାଏ। ଅପ୍ଷ୍ଟ୍ରିମ୍ ବଡି Cohere/OpenAI ବନାନ (documents, return_documents) ଏବଂ TEI ବନାନ (texts, return_text) ଉଭୟକୁ ବହନ କରେ, ଏବଂ ଅପ୍ଷ୍ଟ୍ରିମ୍ ପ୍ରତିକ୍ରିୟାକୁ Cohere ଏନ୍ଭେଲୋପ୍ରେ ସାମାନ୍ୟୀକୃତ କରାଯାଏ: TEIର ଆବରଣବିହୀନ [{index, score, text}], ପତଳା ଗେଟୱେଗୁଡ଼ିକର {results: [{index, score}]}, ଏବଂ Voyage-ଶୈଳୀର {data: [...]}—ସବୁକିଛି କ୍ଲାଏଣ୍ଟକୁ {results: [{index, relevance_score, document?}]} ଭାବରେ ଫେରିଆସେ, ସ୍କୋର୍ ଅନୁସାରେ ସଜାଯାଇ ଏବଂ top_nରେ ସୀମିତ କରାଯାଏ।

ପ୍ରଦାନକାରୀ-ନୋଡ୍ ଆବିଷ୍କାର: ଏକ OpenAI-ସୁସଙ୍ଗତ ପ୍ରଦାନକାରୀ ନୋଡ୍ରେ ଥିବା ମଡେଲ୍ଗୁଡ଼ିକ ନୋଡ୍ ଉପସର୍ଗ ଅଧୀନରେ GET /v1/modelsରେ ଦେଖାଯାଆନ୍ତି। ଯେଉଁ ଧାଡ଼ିଗୁଡ଼ିକରେ କୌଣସି ଏଣ୍ଡପଏଣ୍ଟ ମେଟାଡାଟା ନଥାଏ (ସ୍ଥାନୀୟ /v1/models ତାଲିକା ପାଇଁ ସାଧାରଣ), ସେଗୁଡ଼ିକ ନୋଡ୍ର apiType ଉତ୍ତରାଧିକାରରେ ପାଆନ୍ତି, ତେଣୁ ଏକ embeddings ନୋଡ୍ର ମଡେଲ୍ଗୁଡ଼ିକ ଚାଟ୍କୁ ଡିଫଲ୍ଟ ହେବା ପରିବର୍ତ୍ତେ type: "embedding" ଏବଂ ଏକ rerank ନୋଡ୍ର ମଡେଲ୍ଗୁଡ଼ିକ type: "rerank" ହୁଅନ୍ତି; ସିଙ୍କ୍ କରାଯାଇଥିବା କିମ୍ବା ମାନୁଆଲ୍ ଭାବରେ ଯୋଡ଼ାଯାଇଥିବା ଧାଡ଼ିରେ ଏକ ସ୍ପଷ୍ଟ supportedEndpoints ତଥାପି ପ୍ରାଥମ୍ୟ ପାଏ।

ଉତ୍ସର୍ଗୀକୃତ ପ୍ରଦାନକାରୀ ରୁଟ୍ଗୁଡ଼ିକ

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

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


Files 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 କୀ ଅନୁସାରେ ସୀମିତ କରାଯାଇଛି। ଗୋଟିଏ କୀ କେବଳ ନିଜର ଫାଇଲ୍ଗୁଡ଼ିକୁ ଦେଖିପାରେ, ଡାଉନଲୋଡ୍ ଏବଂ ବିଲୋପ କରିପାରେ; କୀ ବିନା ଗୋଟିଏ ଡ୍ୟାସ୍ବୋର୍ଡ ସେସନ୍ ସମଗ୍ର ଇନ୍ଷ୍ଟାନ୍ସକୁ ପଢ଼େ; କୌଣସି ମାଲିକ ନଥିବା ଫାଇଲ୍ (ଅଜ୍ଞାତ କିମ୍ବା ଡ୍ୟାସ୍ବୋର୍ଡ-ସେସନ୍ ଅପଲୋଡ୍) ପ୍ରତ୍ୟେକ ଅଣ-ସେସନ୍ କଲର୍ଙ୍କ ପାଇଁ ପ୍ରତ୍ୟାଖ୍ୟାନ କରାଯାଏ। GET /v1/files ଏକ ଅଜ୍ଞାତ କଲର୍କୁ — ଏବଂ ଉପସ୍ଥାପିତ କୀର ସମାଧାନ ନ ହେଲେ — REQUIRE_API_KEY=false ଥିବା ସମୟରେ ମଧ୍ୟ ପ୍ରତ୍ୟେକ ଟେନାଣ୍ଟଙ୍କ ଫାଇଲ୍ ତାଲିକାଭୁକ୍ତ କରିବା ପରିବର୍ତ୍ତେ 401 ସହିତ ପ୍ରତ୍ୟାଖ୍ୟାନ କରେ (GHSA-m3hp-hq9g-fpmv, GHSA-2jm2-mpx8-6523)।


ବ୍ୟାଚ୍ 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 କୀ ପାଇଁ ସୀମିତ: କେବଳ ନିଜ କୀ, ଡ୍ୟାସ୍ବୋର୍ଡ ସେସନ୍ ପାଇଁ ଇନ୍ଷ୍ଟାନ୍ସ-ବ୍ୟାପୀ ପ୍ରବେଶ, ଏବଂ null-owner ରେକର୍ଡଗୁଡ଼ିକ ପାଇଁ ପ୍ରତ୍ୟେକ ଅଣ-ସେସନ୍ କଲର୍କୁ ପ୍ରବେଶ ନିଷିଦ୍ଧ (ପ୍ରାପ୍ତି, ବିଲୋପ, ବାତିଲ ଏବଂ ସୃଷ୍ଟି ସମୟରେ input_file_id ଯାଞ୍ଚ)। REQUIRE_API_KEY=false ଥିଲେ ମଧ୍ୟ GET /v1/batches ଜଣେ ଅଜ୍ଞାତ କଲର୍କୁ 401 ସହିତ ପ୍ରତ୍ୟାଖ୍ୟାନ କରେ।


ସନ୍ଧାନ 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/reportGitHub କୁ କୋଟା/କୀ ଜାରି ବିଫଳତା ରିପୋର୍ଟ କରନ୍ତୁ (ଆବଶ୍ୟକ 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/loginPOSTଲଗଇନ୍
/api/auth/logoutPOSTଲଗଆଉଟ୍
/api/settings/require-loginGET/PUTଲଗଇନ୍ ଆବଶ୍ୟକତା ଟଗଲ କରନ୍ତୁ

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

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

OAuth ପ୍ରବାହ

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

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

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

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

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

ସେଟିଂସ୍

ଏଣ୍ଡପଏଣ୍ଟପଦ୍ଧତିବିବରଣୀ
/api/settingsGET/PUT/PATCHସାଧାରଣ ସେଟିଂସ୍
/api/settings/proxyGET/PUTନେଟୱାର୍କ ପ୍ରକ୍ସି କନଫିଗ୍
/api/settings/proxy/testPOSTପ୍ରକ୍ସି ସଂଯୋଗ ପରୀକ୍ଷା କରନ୍ତୁ
/api/settings/ip-filterGET/PUTIP ଅନୁମୋଦନ/ବ୍ଲକ୍ଲିଷ୍ଟ୍
/api/settings/thinking-budgetGET/PUTଚିନ୍ତା/ଯୁକ୍ତି ଅନୁରୋଧ ପୁନର୍ଲେଖନ ମୋଡ୍ (ପାସ୍ଥ୍ରୁ / ଅଟୋ-ସ୍ଟ୍ରିପ୍ / କଷ୍ଟମ୍ / ଅନୁକୂଳ)। ସଂକୁଚନରୁ ସ୍ୱାଧୀନ। THINKING_BUDGET.md ଦେଖନ୍ତୁ।
/api/settings/system-promptGET/PUTବୈଶ୍ୱିକ ସିଷ୍ଟମ୍ ପ୍ରମ୍ପଟ୍
/api/settings/compressionGET/PUTବୈଶ୍ୱିକ ସଂକୁଚନ କନଫିଗ୍
/api/settings/purge-request-historyPOSTଅନୁରୋଧ ଲଗ୍ ଧାଡ଼ି ଏବଂ ସ୍ଥାନୀୟ କଲ୍-ଲଗ୍ ଆର୍ଟିଫାକ୍ଟ୍ ସଫା କରନ୍ତୁ

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

ଏଣ୍ଡପଏଣ୍ଟପଦ୍ଧତିବିବରଣୀ
/api/compression/previewPOSToff/lite/standard/aggressive/ultra/RTK/stacked ସଂକୁଚନ ପୂର୍ବଦୃଶ୍ୟ
/api/compression/language-packsGETଉପଲବ୍ଧ କେଭମ୍ୟାନ୍ ଭାଷା ପ୍ୟାକ୍ ତାଲିକାଭୁକ୍ତ କରନ୍ତୁ
/api/compression/rulesGETକେଭମ୍ୟାନ୍ ନିୟମ ମେଟାଡାଟା ତାଲିକାଭୁକ୍ତ କରନ୍ତୁ
/api/context/caveman/configGET/PUTକେଭମ୍ୟାନ୍-ବିଶେଷ ସେଟିଂସ୍ ଉପନାମ
/api/context/rtk/configGET/PUTRTK-ବିଶେଷ ସେଟିଂସ୍, କଷ୍ଟମ୍ ଫିଲ୍ଟର୍ ଏବଂ କଞ୍ଚା-ଆଉଟପୁଟ୍ ଧାରଣ ସହିତ
/api/context/rtk/filtersGETRTK ଫିଲ୍ଟର୍ କ୍ୟାଟାଲଗ୍ ଏବଂ କଷ୍ଟମ୍-ଫିଲ୍ଟର୍ ଡାଇଗ୍ନୋଷ୍ଟିକ୍ସ
/api/context/rtk/testPOSTଏକ ପାଠ୍ୟ ପେଲୋଡ୍ ଉପରେ RTK ପୂର୍ବଦୃଶ୍ୟ/ପରୀକ୍ଷା ଚଳାନ୍ତୁ
/api/context/rtk/raw-output/[id]GETପଏଣ୍ଟର୍ ଆଇଡି ଦ୍ୱାରା ଧାରଣ କରାଯାଇଥିବା ଲାଲଚିହ୍ନିତ କଞ୍ଚା ଆଉଟପୁଟ୍ ପଢ଼ନ୍ତୁ
/api/context/combosGET/POSTସଂକୁଚନ କମ୍ବୋ ତାଲିକା/ସୃଷ୍ଟି
/api/context/combos/[id]GET/PUT/DELETEସଂକୁଚନ କମ୍ବୋ ବିବରଣୀ/ଅଦ୍ୟତନ/ବିଲୋପ
/api/context/combos/[id]/assignmentsGET/PUTସଂକୁଚନ କମ୍ବୋକୁ ରୁଟିଂ କମ୍ବୋ ସହ ନିୟୋଜିତ କରନ୍ତୁ
/api/context/analyticsGETସଂକୁଚନ ବିଶ୍ଳେଷଣ ଉପନାମ

ମନିଟରିଂ

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

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

ଏଣ୍ଡପଏଣ୍ଟପଦ୍ଧତିବିବରଣୀ
/api/db-backupsGETଉପଲବ୍ଧ ବ୍ୟାକଅପ୍ ତାଲିକାଭୁକ୍ତ କରନ୍ତୁ
/api/db-backupsPUTଏକ ହସ୍ତଚାଳିତ ବ୍ୟାକଅପ୍ ସୃଷ୍ଟି କରନ୍ତୁ
/api/db-backupsPOSTଏକ ନିର୍ଦ୍ଦିଷ୍ଟ ବ୍ୟାକଅପ୍ରୁ ପୁନରୁଦ୍ଧାର କରନ୍ତୁ
/api/db-backups/exportGETଡାଟାବେସ୍କୁ .sqlite ଫାଇଲ୍ ଭାବରେ ଡାଉନଲୋଡ୍ କରନ୍ତୁ
/api/db-backups/importPOSTଡାଟାବେସ୍ ପ୍ରତିସ୍ଥାପନ କରିବାକୁ .sqlite ଫାଇଲ୍ ଅପଲୋଡ୍ କରନ୍ତୁ
/api/db-backups/exportAllGETସମ୍ପୂର୍ଣ୍ଣ ବ୍ୟାକଅପ୍କୁ .tar.gz ଆର୍କାଇଭ୍ ଭାବରେ ଡାଉନଲୋଡ୍ କରନ୍ତୁ

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

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

ଟନେଲ୍

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

CLI ଟୁଲ୍

ଏଣ୍ଡପଏଣ୍ଟପଦ୍ଧତିବିବରଣୀ
/api/cli-tools/claude-settingsGETClaude CLI ସ୍ଥିତି
/api/cli-tools/codex-settingsGETCodex CLI ସ୍ଥିତି
/api/cli-tools/droid-settingsGETDroid CLI ସ୍ଥିତି
/api/cli-tools/openclaw-settingsGETOpenClaw CLI ସ୍ଥିତି
/api/cli-tools/runtime/[toolId]GETସାଧାରଣ CLI ରନଟାଇମ୍

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

ACP ଏଜେଣ୍ଟ

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

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

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

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

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

ମୂଲ୍ୟାଙ୍କନ

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

ନୀତି

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

ସୁସଙ୍ଗତତା

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

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

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

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

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

ଏଣ୍ଡପଏଣ୍ଟପଦ୍ଧତିବିବରଣୀ
/api/initGETଆପ୍ଲିକେସନ୍ ଆରମ୍ଭ ଯାଞ୍ଚ (ପ୍ରଥମ ଚଳାଚଳ ସମୟରେ ବ୍ୟବହୃତ)
/api/tagsGETOllama-ସୁସଙ୍ଗତ ମଡେଲ ଟ୍ୟାଗ୍ (Ollama କ୍ଲାଏଣ୍ଟ ପାଇଁ)
/api/restartPOSTସୁଚାରୁ ସର୍ଭର ପୁନର୍ଆରମ୍ଭ ଟ୍ରିଗର କରନ୍ତୁ
/api/shutdownPOSTସୁଚାରୁ ସର୍ଭର ବନ୍ଦ ଟ୍ରିଗର କରନ୍ତୁ
/api/system/env/repairPOSTOAuth ପ୍ରଦାତା ପରିବେଶ ଭେରିଆବଲ୍ ମରାମତି କରନ୍ତୁ

ନୋଟ: ଏହି ଏଣ୍ଡପଏଣ୍ଟଗୁଡିକ ସିଷ୍ଟମ୍ ଦ୍ୱାରା ଅନ୍ତର୍ଗତ ଭାବରେ ବ୍ୟବହୃତ ହୁଅନ୍ତି ବା 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 ବାହାରେ ଟେଲିମେଟ୍ରୀରେ ଦୃଶ୍ୟମାନ ହୋଇପାରେ। ସେଗୁଡ଼ିକୁ ଏକ ସାମଞ୍ଜସ୍ୟ ବିକଳ୍ପ ଭାବରେ ଗଣନା କରନ୍ତୁ, ଡିଫଲ୍ଟ୍ ପ୍ରାଧିକରଣ ମୋଡ୍ ଭାବରେ ନୁହେଁ।

ଟେଲିମେଟ୍ରି

# ଲେଟେନ୍ସି ଟେଲିମେଟ୍ରି ସାରାଂଶ ପ୍ରାପ୍ତ କରନ୍ତୁ (ପ୍ରତ୍ୟେକ ପ୍ରଦାନକାରୀ ପାଇଁ p50/p95/p99)
GET /api/telemetry/summary

ପ୍ରତିକ୍ରିୟା:

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

ବଜେଟ୍

# ସମସ୍ତ API କୀ ପାଇଁ ବଜେଟ୍ ସ୍ଥିତି ପ୍ରାପ୍ତ କରନ୍ତୁ
GET /api/usage/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 (0–1), 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/healthPOST /api/resilience/reset
ସଂଯୋଗ କୁଲଡାଉନ୍ପ୍ରଦାନକର୍ତ୍ତା ସଂଯୋଗଗୁଡ଼ିକରେ rateLimitedUntil/api/rate-limits, /api/providers/[id](କ୍ରମଶଃ ସକ୍ରିୟ ହୁଏ; ପ୍ରଦାନକର୍ତ୍ତା PUT ମାଧ୍ୟମରେ ସଫା କରନ୍ତୁ)
ମଡେଲ ଲକ୍ଆଉଟ୍ଇନ୍-ମେମୋରୀ ମଡେଲ-ଉପଲବ୍ଧତା ରଜିଷ୍ଟ୍ରୀGET /api/resilience/model-cooldownsDELETE /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/installSkillsMP ରୁ id ଦ୍ୱାରା କୌଶଳ ଇନ୍ଷ୍ଟଲ୍ କରନ୍ତୁ
GET/api/skills/skillssh?q=&limit=skills.sh ରଜିଷ୍ଟ୍ରୀ ଖୋଜନ୍ତୁ
POST/api/skills/skillssh/installskills.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/gettaskId ଦ୍ୱାରା ଏକ କାର୍ଯ୍ୟ ଆଣନ୍ତୁ
tasks/canceltaskId ଦ୍ୱାରା ଏକ କାର୍ଯ୍ୟ ବାତିଲ କରନ୍ତୁ

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

ଏଜେଣ୍ଟ କାର୍ଡ

GET /.well-known/agent.json

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

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

ପ୍ରକ୍ରିୟାପାଥବର୍ଣ୍ଣନା
GET/api/a2a/statusA2A ସକ୍ଷମ + କାର୍ଯ୍ୟ ପରିସଂଖ୍ୟାନ + କ୍ୟାଚ୍ କରାଯାଇଥିବା ଏଜେଣ୍ଟ କାର୍ଡ ସାରାଂଶ
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, 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/backupsCLI ଟୁଲ୍ କନ୍ଫିଗରେସନ୍ ବ୍ୟାକଅପ୍ଗୁଡ଼ିକର ତାଲିକା
POST/api/cli-tools/backupsସମସ୍ତ CLI ଟୁଲ୍ କନ୍ଫିଗରେସନ୍ର ଏକ ବ୍ୟାକଅପ୍ ସୃଷ୍ଟି କରେ
POST/api/cli-tools/backupsପୁନଃସ୍ଥାପନ: ଅନୁରୋଧ ବଡିରେ {tool, backupId} ସହିତ ସେହି ଏଣ୍ଡପଏଣ୍ଟ ଉକ୍ତ ବ୍ୟାକଅପ୍କୁ ପୁନଃସ୍ଥାପନ କରେ
GET/api/cli-tools/antigravity-mitmAntigravity MITM ପ୍ରକ୍ସି ସ୍ଥିତି (antigravity-mitm CLI ଟୁଲ୍)
POST/api/cli-tools/antigravity-mitm/aliasantigravity-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) ଦେଖନ୍ତୁ।