Files
OmniRoute/docs/i18n/kn/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

190 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 · 🇰🇷 ko · 🇱🇹 lt · 🇱🇻 lv · 🇮🇳 ml · 🇮🇳 mr · 🇲🇾 ms · 🇲🇹 mt · 🇲🇲 my · 🇳🇵 ne · 🇳🇱 nl · 🇳🇴 no · 🇮🇳 or · 🇮🇳 pa · 🇵🇭 phi · 🇵🇱 pl · 🇵🇹 pt · 🇧🇷 pt-BR · 🇷🇴 ro · 🇷🇺 ru · 🇱🇰 si · 🇸🇰 sk · 🇸🇮 sl · 🇷🇸 sr · 🇸🇪 sv · 🇰🇪 sw · 🇮🇳 ta · 🇮🇳 te · 🇹🇭 th · 🇹🇷 tr · 🇺🇦 uk-UA · 🇵🇰 ur · 🇻🇳 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 · 🇰🇷 ko · 🇱🇹 lt · 🇱🇻 lv · 🇮🇳 ml · 🇮🇳 mr · 🇲🇾 ms · 🇲🇹 mt · 🇲🇲 my · 🇳🇵 ne · 🇳🇱 nl · 🇳🇴 no · 🇮🇳 or · 🇮🇳 pa · 🇵🇭 phi · 🇵🇱 pl · 🇵🇹 pt · 🇧🇷 pt-BR · 🇷🇴 ro · 🇷🇺 ru · 🇱🇰 si · 🇸🇰 sk · 🇸🇮 sl · 🇷🇸 sr · 🇸🇪 sv · 🇰🇪 sw · 🇮🇳 ta · 🇮🇳 te · 🇹🇭 th · 🇹🇷 tr · 🇺🇦 uk-UA · 🇵🇰 ur · 🇻🇳 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
}

ಕಸ್ಟಮ್ ಹೆಡರ್ಗಳು

ಹೆಡರ್ ದಿಕ್ಕು ವಿವರಣೆ
X-OmniRoute-No-Cache ವಿನಂತಿ ಕ್ಯಾಶ್ ಅನ್ನು ಬಿಟ್ಟುಮುಂದುವರಿಯಲು true ಎಂದು ಹೊಂದಿಸಿ
x-omniroute-no-memory ವಿನಂತಿ ಈ ವಿನಂತಿಗೆ ಮೆಮೊರಿ + ಕೌಶಲ್ಯಗಳ ಇಂಜೆಕ್ಷನ್ ಅನ್ನು ಬಿಟ್ಟುಬಿಡಲು true ಎಂದು ಹೊಂದಿಸಿ (ನೋ-ಕ್ಯಾಶ್ನಂತೆಯೇ; ಪ್ರತಿ-ಕರೆ ಟೋಕನ್/ವೆಚ್ಚದ ಹೆಚ್ಚುವರಿ ಹೊರೆಯನ್ನು ತಪ್ಪಿಸುತ್ತದೆ)
X-OmniRoute-Progress ವಿನಂತಿ ಪ್ರಗತಿ ಈವೆಂಟ್ಗಳಿಗಾಗಿ true ಎಂದು ಹೊಂದಿಸಿ
X-Session-Id ವಿನಂತಿ ಬಾಹ್ಯ ಸೆಷನ್ ಅಫಿನಿಟಿಗಾಗಿ ಸ್ಟಿಕಿ ಸೆಷನ್ ಕೀ
x_session_id ವಿನಂತಿ ಅಂಡರ್ಸ್ಕೋರ್ ರೂಪಾಂತರವನ್ನೂ ಸ್ವೀಕರಿಸಲಾಗುತ್ತದೆ (ನೇರ HTTP)
X-OmniRoute-Session-Id ವಿನಂತಿ ಕರೆ ಮಾಡುವವರು ಒದಗಿಸಿದ ಸೆಷನ್/ಸಂಭಾಷಣೆ ಟ್ಯಾಗ್ (ಮೆಮೊರಿಗೂ ಒದಗಿಸಲಾಗುತ್ತದೆ). ಇದ್ದಾಗ, ಪ್ರತಿ-ಸೆಷನ್ ವೆಚ್ಚದ ಗುಣಲಕ್ಷಣಕ್ಕಾಗಿ call_logs.session_tag ಗೆ ಯಥಾವತ್ತಾಗಿ ಉಳಿಸಲಾಗುತ್ತದೆ (#8249) — ಇಲ್ಲದಿದ್ದಾಗ ಎಂದಿಗೂ ಸಂಶ್ಲೇಷಿಸಲಾಗುವುದಿಲ್ಲ
Idempotency-Key ವಿನಂತಿ ನಕಲು ನಿವಾರಣಾ ಕೀ (5s ವಿಂಡೋ)
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 ಪ್ರತಿಕ್ರಿಯೆ ವಿನಂತಿ ಸಹಸಂಬಂಧ 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 (ಫೇಲ್-ಓಪನ್).

ಕ್ಯಾಶ್-ಹಿಟ್ ವೆಚ್ಚದ ಅರ್ಥವ್ಯಾಪ್ತಿ: ಸೆಮ್ಯಾಂಟಿಕ್-ಕ್ಯಾಶ್ 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ಗಳು, ಮಾಲೀಕರ ಹ್ಯಾಶ್ಗಳು, ಫೆನ್ಸಿಂಗ್ ರಹಸ್ಯಗಳು ಮತ್ತು ಆಂತರಿಕ ರೌಟಿಂಗ್ ಡೇಟಾವನ್ನು ಹೊರಗಿಡಲಾಗುತ್ತದೆ.

ತಪ್ಪಾದ ಕೀ, ತಪ್ಪಾದ ಮಾಲೀಕ, ಹಳೆಯ generation, ಕಾಣೆಯಾದ, ಅವಧಿ ಮೀರಿದ, ಬಿಡುಗಡೆ ಮಾಡಲಾದ ಮತ್ತು ಅಮಾನ್ಯಗೊಳಿಸಲಾದ ಲುಕ್ಅಪ್ಗಳೆಲ್ಲವೂ ಸಂಪರ್ಕ ಮೆಟಾಡೇಟಾವಿಲ್ಲದೆ ಒಂದೇ 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 ಅನ್ನು ಮರುಚಾಲನೆ ಮಾಡುವುದು, ಆ ಕೀ ಅದೇ ಸಂಪರ್ಕವನ್ನು ಅನುಮತಿಸಿದರೂ ಸಹ ವಿಫಲಗೊಳ್ಳುತ್ತದೆ. ಕಚ್ಚಾ ಮಾಲೀಕರನ್ನು ಉಳಿಸಲಾಗುವುದಿಲ್ಲ, ಲಾಗ್ ಮಾಡಲಾಗುವುದಿಲ್ಲ, ವಿನಂತಿಯ ಸ್ನ್ಯಾಪ್ಶಾಟ್ನಲ್ಲಿ ಇರಿಸಿಕೊಳ್ಳಲಾಗುವುದಿಲ್ಲ ಅಥವಾ ಅಪ್ಸ್ಟ್ರೀಮ್ಗೆ ಫಾರ್ವರ್ಡ್ ಮಾಡಲಾಗುವುದಿಲ್ಲ.

ತಾತ್ಕಾಲಿಕ ಪೈಪೋಟಿಯು Retry-After ಮತ್ತು ಕೆಳಗಿನ ವಿಷಯದೊಂದಿಗೆ HTTP 429 ಅನ್ನು ಹಿಂದಿರುಗಿಸುತ್ತದೆ:

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

ಈ ಪ್ರತಿಕ್ರಿಯೆಯ ಅರ್ಥ ಸಾಮಾನ್ಯ ಅರ್ಹ ಸೆಟ್ ಖಾಲಿಯಾಗಿರಲಿಲ್ಲ ಮತ್ತು ಪ್ರತಿಯೊಂದು ಮುಕ್ತ ಅಭ್ಯರ್ಥಿಯನ್ನೂ ಬೇರೊಬ್ಬರ ಸಕ್ರಿಯ ಲೀಸ್ ಹಿಡಿದಿತ್ತು ಎಂಬುದಷ್ಟೇ. ಬೆಂಬಲವಿಲ್ಲದ ಮಾದರಿಗಳು/ಪೂರೈಕೆದಾರರು, ನೀತಿ ಅಸಾಮರಸ್ಯ, ಕೂಲ್ಡೌನ್, ಕೋಟಾ, ಆರೋಗ್ಯ ಮತ್ತು ಇತರ ಸಾಮಾನ್ಯ ಅರ್ಹತಾ ವೈಫಲ್ಯಗಳು ತಮ್ಮ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ OmniRoute ಪ್ರತಿಕ್ರಿಯೆಗಳನ್ನೇ ಉಳಿಸಿಕೊಳ್ಳುತ್ತವೆ.

x-omniroute-compression

ಪ್ರತಿ ವಿನಂತಿಗೆ ಕಂಪ್ರೆಷನ್ ಯೋಜನೆಯ ಓವರ್ರೈಡ್. ಇದಕ್ಕೆ ಅತ್ಯುನ್ನತ ಆದ್ಯತೆ ಇದೆ — ಇದು ರೌಟಿಂಗ್-ಕಾಂಬೊ ಓವರ್ರೈಡ್, ಸಕ್ರಿಯ ಪ್ರೊಫೈಲ್, ಸ್ವಯಂ-ಟ್ರಿಗರ್ ಮತ್ತು ಪ್ಯಾನೆಲ್ Default ಅನ್ನು ಮೀರಿಸುತ್ತದೆ. ಮೌಲ್ಯಗಳು:

ಮೌಲ್ಯ ಪರಿಣಾಮ
off ಈ ವಿನಂತಿಗೆ ಕಂಪ್ರೆಷನ್ ಇಲ್ಲ.
default ಪ್ಯಾನೆಲ್ನಿಂದ ಪಡೆದ 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 ಮಾದರಿ ಐಡಿಗಳೂ (ಉದಾಹರಣೆಗೆ jina-embeddings-v5-text-small, jina-reranker-v3.5) ಪರಿಹರಿಸಲ್ಪಡುತ್ತವೆ. Jina embed/rerank/classify/segment ಮೊದಲು ಡ್ಯಾಶ್ಬೋರ್ಡ್ನ jina-ai ರುಜುವಾತುಗಳನ್ನು ಬಳಸುತ್ತವೆ; ಯಾವುದೇ ಡ್ಯಾಶ್ಬೋರ್ಡ್ ಕೀ ಇಲ್ಲದಿದ್ದಾಗ ಮಾತ್ರ JINA_AI_API_KEY ಅನ್ನು ಪರ್ಯಾಯವಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ. jina-reader ಕಾರ್ಡ್ Reader / r.jina.ai ಗಾಗಿ ಮಾತ್ರ (POST /v1/web/fetch) ಮತ್ತು ಅದು ಎಂದಿಗೂ ಎಂಬೆಡಿಂಗ್ಗಳು ಅಥವಾ ರೀರ್ಯಾಂಕ್ ಸೇವೆಯನ್ನು ಒದಗಿಸುವುದಿಲ್ಲ.

ಬಹುಮಾಧ್ಯಮ ಬೆಂಬಲವನ್ನು ಸೂಚಿಸುವ ರಿಜಿಸ್ಟ್ರಿ ಮಾದರಿಗಳು, ಪೂರೈಕೆದಾರ-ತಟಸ್ಥವಾದ ರಚನಾತ್ಮಕ ಐಟಂಗಳನ್ನು ಗರಿಷ್ಠ 32ರವರೆಗೆ ಸ್ವೀಕರಿಸುತ್ತವೆ. ಮಾಧ್ಯಮ ಐಟಂ ಪ್ರಕಾರಗಳು text, image, audio, video, ಮತ್ತು document. ಅವುಗಳ ಮಾಧ್ಯಮ source {"type":"url","url":"https://..."} ಅಥವಾ {"type":"base64","data":"...","media_type":"..."} ಆಗಿರುತ್ತದೆ.

Jina v5 Omni (jina-ai/jina-embeddings-v5-omni-small, jina-ai/jina-embeddings-v5-omni-nano, ಮತ್ತು ಫ್ಯಾಮಿಲಿ ಅಲಿಯಾಸ್ jina-ai/jina-embeddings-v5-omni → omni-small) Jinaದ ಸ್ಥಳೀಯ 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, ಅಥವಾ ಕಚ್ಚಾ base64 ಆಗಿರಬಹುದು. OmniRoute ಆ ಆಬ್ಜೆಕ್ಟ್ಗಳನ್ನು ಸ್ಟ್ರಿಂಗ್ ಆಗಿ ಪರಿವರ್ತಿಸುವುದಿಲ್ಲ ಅಥವಾ ಸ್ಥಳೀಯ ಇಮೇಜ್ URLಗಳನ್ನು ಫೆಚ್ ಮಾಡುವುದಿಲ್ಲ — ಸಾರ್ವಜನಿಕ ಮಾಧ್ಯಮವನ್ನು Jina ಸ್ವತಃ ಹಿಂಪಡೆಯುತ್ತದೆ. ಹೆಚ್ಚುವರಿ Jina ಫೀಲ್ಡ್ಗಳನ್ನು (task, normalized, truncate, embedding_type) ಫಾರ್ವರ್ಡ್ ಮಾಡಲಾಗುತ್ತದೆ. ಪಠ್ಯ-ಮಾತ್ರ Jina SKUಗಳು ಪಠ್ಯೇತರ ಡಾಕ್ಯುಮೆಂಟ್ಗಳನ್ನು ಇನ್ನೂ ತಿರಸ್ಕರಿಸುತ್ತವೆ.

ಭದ್ರತೆ ಮತ್ತು ಸಾರಿಗೆ ಮಿತಿಗಳು:

  • ದೂರಸ್ಥ ಮಾಧ್ಯಮ URLಗಳು ಸಾರ್ವಜನಿಕ HTTPS ಆಗಿರಬೇಕು. ಕ್ಯಾನಾನಿಕಲ್ {type,source:url} ಐಟಂಗಳನ್ನು ಸರ್ವರ್ ಬದಿಯಲ್ಲಿ ಫೆಚ್ ಮಾಡಲಾಗುತ್ತದೆ (ರೀಡೈರೆಕ್ಟ್ ಮರುಮೌಲ್ಯಮಾಪನ, ಕಾಲಮಿತಿ, ಗಾತ್ರ ಮಿತಿಗಳು, ಸಾರ್ವಜನಿಕ DNS, ಸಂಪರ್ಕ ಪಿನ್ನಿಂಗ್) ಮತ್ತು ಪೂರೈಕೆದಾರರ ಕರೆಗೆ ಮೊದಲು ಇನ್ಲೈನ್ ಮಾಡಲಾಗುತ್ತದೆ. Jina-ಸ್ಥಳೀಯ {image:"https://..."} ಐಟಂಗಳನ್ನು ಅದೇ ಸಾರ್ವಜನಿಕ-HTTPS ಪರಿಶೀಲನೆಯ ನಂತರ ಯಥಾವತ್ತಾಗಿ ಫಾರ್ವರ್ಡ್ ಮಾಡಲಾಗುತ್ತದೆ; Jina URL ಅನ್ನು ಫೆಚ್ ಮಾಡುತ್ತದೆ.
  • ಇನ್ಲೈನ್ base64 ಮಾಧ್ಯಮವನ್ನು ಪ್ರತಿ ಐಟಂಗೆ ಡಿಕೋಡ್ ಮಾಡಿದ 8 MiB ಮತ್ತು ಸಂಪೂರ್ಣ ವಿನಂತಿಗೆ ಡಿಕೋಡ್ ಮಾಡಿದ 16 MiBಗೆ ಮಿತಿಗೊಳಿಸಲಾಗಿದೆ.

ಪೂರೈಕೆದಾರ ಪರಿವರ್ತನೆ (ಕ್ಯಾನಾನಿಕಲ್ ಐಟಂಗಳನ್ನು ಎಂದಿಗೂ ಬದಲಾವಣೆಯಿಲ್ಲದೆ ಫಾರ್ವರ್ಡ್ ಮಾಡುವುದಿಲ್ಲ):

  • Jina ಬಹುಮಾಧ್ಯಮ ಮಾದರಿಗಳು: ಪ್ರತಿ ಉನ್ನತ-ಹಂತದ ಐಟಂ, ಇನ್ಲೈನ್ ಮಾಧ್ಯಮಕ್ಕಾಗಿ ಡೇಟಾ URIಗಳನ್ನು ಬಳಸುವ ಒಂದು ಮಾಧ್ಯಮಪ್ರಕಾರ-ಕೀ ಹೊಂದಿದ ಆಬ್ಜೆಕ್ಟ್ (text / image / audio / video / pdf) ಆಗುತ್ತದೆ; ಪ್ರತಿ ಉನ್ನತ-ಹಂತದ ಐಟಂಗೆ ಒಂದು ವೆಕ್ಟರ್.
  • Gemini Embedding 2 ಫ್ಯಾಮಿಲಿ: ಒಂದು ಉನ್ನತ-ಹಂತದ ಅರೇ, content.parts (text ಅಥವಾ inline_data) ಹೊಂದಿರುವ ಏಕೈಕ ಸ್ಥಳೀಯ models/{model}:embedContent ವಿನಂತಿಯಾಗುತ್ತದೆ.
  • ಸ್ಪಷ್ಟ ಮಾಧ್ಯಮಪ್ರಕಾರ ಮೆಟಾಡೇಟಾ ಇಲ್ಲದ ಅಪರಿಚಿತ/ಡೈನಾಮಿಕ್ ಮಾದರಿಗಳು 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": "ಪರ್ವತಗಳ ಮೇಲಿನ ಸುಂದರ ಸೂರ್ಯಾಸ್ತ",
  "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 ಪೂರೈಕೆದಾರರನ್ನು ಆಯ್ಕೆಮಾಡುತ್ತದೆ; ಕೇವಲ model id (ಉದಾ. mistral-ocr-latest) ಅದರ ನೋಂದಾಯಿತ ಪೂರೈಕೆದಾರರಿಗೆ ಪರಿಹರಿಸಲ್ಪಡುತ್ತದೆ ಮತ್ತು model ಅನ್ನು ಬಿಟ್ಟರೆ ಅದು ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ Mistral (mistral-ocr-latest) ಅನ್ನು ಬಳಸುತ್ತದೆ. ನೋಂದಾಯಿತ ಪೂರೈಕೆದಾರರು (open-sse/config/ocrRegistry.ts):

ಪೂರೈಕೆದಾರ id Model id model ಮೌಲ್ಯ ಟಿಪ್ಪಣಿಗಳು
mistral mistral-ocr-latest mistral/mistral-ocr-latest (ಅಥವಾ ಕೇವಲ mistral-ocr-latest) ಸಿಂಕ್ರೊನಸ್ — ಒಂದೇ upstream ಕರೆಯಿಂದ ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ನೇರವಾಗಿ ಹಿಂತಿರುಗಿಸಲಾಗುತ್ತದೆ.
azure-document-intelligence prebuilt-read azure-document-intelligence/prebuilt-read ಅಸಿಂಕ್ರೊನಸ್ upstream (analyze + poll) — ಕೆಳಗೆ ನೋಡಿ.
vertex-deepseek-ocr deepseek-ocr-maas vertex-deepseek-ocr/deepseek-ocr-maas ಸಿಂಕ್ರೊನಸ್, Vertex AI ನ openapi/chat/completions ಪಾಲುದಾರ endpoint ಮೂಲಕ — auth/URL ಗಾಗಿ ಕೆಳಗೆ ನೋಡಿ.

ಎಲ್ಲಾ ಮೂರು ಪೂರೈಕೆದಾರರು ಒಂದೇ Mistral-ಆಕಾರದ body ಯಲ್ಲಿ ಪ್ರತಿಕ್ರಿಯಿಸುತ್ತಾರೆ:

{
  "pages": [{ "index": 0, "markdown": "# ಹೊರತೆಗೆದ ಪಠ್ಯ..." }],
  "model": "mistral-ocr-latest",
  "usage_info": { "pages_processed": 1 }
}

Azure Document Intelligence poll ಹರಿವು

Azure Document Intelligence ನ analyze API ಅಸಿಂಕ್ರೊನಸ್ ಆಗಿದೆ: ಆರಂಭಿಕ ವಿನಂತಿಯು body ಬದಲಿಗೆ Operation-Location header ಅನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತದೆ ಮತ್ತು ಫಲಿತಾಂಶಕ್ಕಾಗಿ poll ಮಾಡಬೇಕು. Handler (open-sse/handlers/ocr.ts) ಆ URL ಅನ್ನು ಪ್ರತಿ ಸೆಕೆಂಡಿಗೆ ಒಮ್ಮೆ, ಗರಿಷ್ಠ 30 ಪ್ರಯತ್ನಗಳವರೆಗೆ poll ಮಾಡುತ್ತದೆ; ok ಅಲ್ಲದ poll ಪ್ರತಿಕ್ರಿಯೆ ಅಥವಾ "failed" ಸ್ಥಿತಿ ಬಂದರೆ ತಕ್ಷಣ ವಿಫಲಗೊಳ್ಳುತ್ತದೆ (poll ಮಾಡುವುದನ್ನು ಮುಂದುವರಿಸುವುದಿಲ್ಲ) ಮತ್ತು ಪ್ರಯತ್ನಗಳ ಮಿತಿ ಮುಗಿದ ನಂತರವೂ ಕಾರ್ಯಾಚರಣೆ ಚಾಲನೆಯಲ್ಲಿದ್ದರೆ 504 ಅನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತದೆ. ಅಂತಿಮ Azure ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ಕರೆಮಾಡುವವರಿಗೆ ಹಿಂತಿರುಗಿಸುವ ಮೊದಲು Mistral ಬಳಸುವ ಅದೇ pages/markdown ಆಕಾರಕ್ಕೆ ಸಾಮಾನ್ಯೀಕರಿಸಲಾಗುತ್ತದೆ, ಆದ್ದರಿಂದ ಕ್ಲೈಂಟ್ ಕೋಡ್ನಲ್ಲಿ ಪೂರೈಕೆದಾರರಿಗಾಗಿ ವಿಶೇಷ ನಿರ್ವಹಣೆ ಅಗತ್ಯವಿಲ್ಲ.

Vertex AI DeepSeek OCR ದೃಢೀಕರಣ ಮತ್ತು endpoint ಪರಿಹಾರ

vertex-deepseek-ocr, chat/image ಟ್ರಾಫಿಕ್ಗಾಗಿ OmniRoute ಈಗಾಗಲೇ ಬೆಂಬಲಿಸುವ ಅದೇ Vertex AI ದೃಢೀಕರಣವನ್ನು (open-sse/executors/vertex.ts) ಮರುಬಳಕೆ ಮಾಡುತ್ತದೆ: ಸಂಪರ್ಕದ API key, Service Account JSON ರುಜುವಾತಾಗಿರುತ್ತದೆ (JWT-bearer ಹರಿವಿನ ಮೂಲಕ ಅಲ್ಪಾವಧಿಯ OAuth access token ಗೆ ವಿನಿಮಯ ಮಾಡಲಾಗುತ್ತದೆ) ಅಥವಾ ಈಗಾಗಲೇ ರಚಿಸಲಾದ OAuth access token ಅನ್ನು ಯಥಾವತ್ತಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ. Upstream endpoint URL ಎಂಬುದು Vertex ನ ಸಾಮಾನ್ಯ openapi/chat/completions ಪಾಲುದಾರ endpoint ಆಗಿದ್ದು, ಸಂಪರ್ಕದ project ಮತ್ತು region ನಿಂದ ನಿರ್ಮಿಸಲಾಗುತ್ತದೆ — ಸ್ಪಷ್ಟವಾದ providerSpecificData.project/providerSpecificData.region ಯಾವಾಗಲೂ ಆದ್ಯತೆ ಪಡೆಯುತ್ತದೆ; ಇಲ್ಲದಿದ್ದರೆ project ಅನ್ನು Service Account JSON ನ project_id ನಿಂದ ಪಡೆಯಲಾಗುತ್ತದೆ ಮತ್ತು region ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ 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

→ OpenAI ಸ್ವರೂಪದಲ್ಲಿ ಎಲ್ಲಾ ಚಾಟ್, ಎಂಬೆಡಿಂಗ್ ಮತ್ತು ಇಮೇಜ್ ಮಾದರಿಗಳು + ಸಂಯೋಜನೆಗಳನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತದೆ

ಮಾದರಿ id ಪೂರ್ವಪ್ರತ್ಯಯಗಳು (?prefix=)

ಹೆಚ್ಚಿನ ಮಾದರಿಗಳನ್ನು ಪ್ರೊವೈಡರ್ ಪೂರ್ವಪ್ರತ್ಯಯದ ಅಡಿಯಲ್ಲಿ ಪ್ರಕಟಿಸಲಾಗುತ್ತದೆ. ನಿಮಗೆ ಯಾವ ಪೂರ್ವಪ್ರತ್ಯಯ ಸಿಗುತ್ತದೆ ಎಂಬುದನ್ನು MODELS_CATALOG_PREFIX_MODE ವೈಶಿಷ್ಟ್ಯ ಫ್ಲ್ಯಾಗ್ ನಿಯಂತ್ರಿಸುತ್ತದೆ ಮತ್ತು ಅದನ್ನು ಕ್ವೆರಿ ಪ್ಯಾರಾಮೀಟರ್ ಮೂಲಕ ಪ್ರತಿ ವಿನಂತಿಗೆ ಅತಿಕ್ರಮಿಸಬಹುದು — ಇತರ ಎಲ್ಲರಿಗೂ ಸರ್ವರ್-ವ್ಯಾಪಿ ಸೆಟ್ಟಿಂಗ್ ಅನ್ನು ಬದಲಾಯಿಸದೆಯೇ ಸ್ವಚ್ಛವಾದ ಪಟ್ಟಿಯನ್ನು ಬಯಸುವ ಕ್ಲೈಂಟ್ಗೆ ಇದು ಉಪಯುಕ್ತವಾಗಿದೆ:

GET /v1/models?prefix=alias        # ಪ್ರತಿ ಮಾದರಿಗೆ ಒಂದು id — ಸಂಕ್ಷಿಪ್ತ ಅಲಿಯಾಸ್ ಪೂರ್ವಪ್ರತ್ಯಯ
GET /v1/models?prefix=dual         # ಎರಡೂ ರೂಪಗಳು (ಸರ್ವರ್ ಡೀಫಾಲ್ಟ್)
GET /v1/models?prefix=canonical    # ಸಂಪೂರ್ಣ provider-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 ಸಂಪೂರ್ಣ provider-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 ಫೀಲ್ಡ್ಗಳನ್ನು ಕೈಬಿಡಲಾಗುತ್ತದೆ. ಚಿಂತನೆಯನ್ನು ಬೆಂಬಲಿಸುವ ಮತ್ತು disabled ಅನ್ನು ಗೌರವಿಸುವ Claude-ಕುಟುಂಬದ ಮಾದರಿಗಳಿಗೆ ಮಾತ್ರ ಈ ರೂಪಾಂತರವನ್ನು ಪಟ್ಟಿಮಾಡಲಾಗುತ್ತದೆ (ಆದ್ದರಿಂದ, ಉದಾ. disabled ಅನ್ನು ತಿರಸ್ಕರಿಸುವ adaptive-only ಮಾದರಿಗಳನ್ನು ಹೊರಗಿಡಲಾಗುತ್ತದೆ). ಆಪರೇಟರ್ಗಳು 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 (ಎಡಿಟ್/ಇನ್ಪೇಂಟ್)
POST /v1/videos/generations OpenAI-ಶೈಲಿಯ ವೀಡಿಯೊ ರಚನೆ
POST /v1/music/generations OpenAI-ಶೈಲಿಯ ಸಂಗೀತ ರಚನೆ
POST /v1/audio/transcriptions OpenAI Audio (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 Moderations
GET /v1/models OpenAI
POST /v1/messages/count_tokens Anthropic
GET /v1beta/models Gemini
POST /v1beta/models/{...path} Gemini generateContent
POST /v1/api/chat Ollama
GET /api/v1/vscode/{token}/ 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" }

# ಚಿತ್ರ ಎಡಿಟ್ (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/providers/{provider}/chat/completions
POST /v1/providers/{provider}/embeddings
POST /v1/providers/{provider}/images/generations

ಪೂರೈಕೆದಾರ ಪೂರ್ವಪ್ರತ್ಯಯವು ಇಲ್ಲದಿದ್ದರೆ ಅದನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಸೇರಿಸಲಾಗುತ್ತದೆ. ಹೊಂದಿಕೆಯಾಗದ ಮಾಡೆಲ್ಗಳು 400 ಅನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತವೆ.


ಫೈಲ್ಸ್ API

ಬ್ಯಾಚ್ ಇನ್ಪುಟ್/ಔಟ್ಪುಟ್ ಮತ್ತು ಫೈಲ್-ಉದ್ದೇಶದ ಅಪ್ಲೋಡ್ಗಳಿಗಾಗಿ OpenAI-ಹೊಂದಾಣಿಕೆಯ ಫೈಲ್ಸ್ ಎಂಡ್ಪಾಯಿಂಟ್.

ವಿಧಾನ ಪಥ ವಿವರಣೆ
POST /v1/files ಫೈಲ್ ಅನ್ನು ಅಪ್ಲೋಡ್ ಮಾಡಿ (ಮಲ್ಟಿಪಾರ್ಟ್: 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 ಕಚ್ಚಾ ಫೈಲ್ ಬಾಡಿಯನ್ನು ಮರಳಿ ಸ್ಟ್ರೀಮ್ ಮಾಡಿ

ದೃಢೀಕರಣ: ಬೇರರ್ 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 ಪ್ರಗತಿಯಲ್ಲಿರುವ ಬ್ಯಾಚ್ ಅನ್ನು ರದ್ದುಗೊಳಿಸಿ

ದೃಢೀಕರಣ: ಬೇರರ್ API ಕೀ. ಬ್ಯಾಚ್ಗಳನ್ನು ಪ್ರತಿ-API-ಕೀ ವ್ಯಾಪ್ತಿಗೆ ಸೀಮಿತಗೊಳಿಸಲಾಗಿದೆ.


ಸರ್ಚ್ API

ವೆಬ್/ಹುಡುಕಾಟ ಪೂರೈಕೆದಾರ ಅಮೂರ್ತೀಕರಣ (Tavily, Brave, Exa, Serper, ಇತ್ಯಾದಿ).

ವಿಧಾನ ಪಥ ವಿವರಣೆ
GET /v1/search ಕಾನ್ಫಿಗರ್ ಮಾಡಲಾದ ಹುಡುಕಾಟ ಪೂರೈಕೆದಾರರು + ಸಾಮರ್ಥ್ಯಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡಿ
POST /v1/search ಹುಡುಕಾಟ ಕ್ವೆರಿಯನ್ನು ಚಲಾಯಿಸಿ — ಬಾಡಿಯನ್ನು v1SearchSchema ಮೂಲಕ ಮೌಲ್ಯೀಕರಿಸಲಾಗುತ್ತದೆ, ಕ್ಯಾಶಿಂಗ್/ಕೋಅಲೆಸಿಂಗ್ ಬೆಂಬಲಿಸುತ್ತದೆ
GET /v1/search/analytics ಪ್ರತಿ-ಪೂರೈಕೆದಾರ ಹಿಟ್/ಲೇಟೆನ್ಸಿ/ಕ್ಯಾಶ್ ಅಂಕಿಅಂಶಗಳು

ದೃಢೀಕರಣ: ಬೇರರ್ API ಕೀ (extractApiKey + isValidApiKey). ಹುಡುಕಾಟ ನೀತಿಯನ್ನು enforceApiKeyPolicy ಮೂಲಕ ಜಾರಿಗೊಳಿಸಲಾಗುತ್ತದೆ.


Web Fetch API

ಕಾನ್ಫಿಗರ್ ಮಾಡಲಾದ ವೆಬ್-ಫೆಚ್ ಪೂರೈಕೆದಾರರ (Firecrawl, Jina Reader, Tavily Extract, TinyFish Fetch, Nimble Extract) ಮೂಲಕ URL ಒಂದರಿಂದ ವಿಷಯವನ್ನು ಹೊರತೆಗೆಯಿರಿ.

ವಿಧಾನ ಪಥ ವಿವರಣೆ
POST /v1/web/fetch URL ಅನ್ನು ಫೆಚ್/ಸ್ಕ್ರೇಪ್ ಮಾಡುತ್ತದೆ — ಬಾಡಿಯನ್ನು v1WebFetchSchema ಮೂಲಕ ಮೌಲ್ಯೀಕರಿಸಲಾಗುತ್ತದೆ

ದೃಢೀಕರಣ: Bearer API ಕೀ (extractApiKey + isValidApiKey). ನೀತಿಯನ್ನು enforceApiKeyPolicy ಮೂಲಕ ಜಾರಿಗೊಳಿಸಲಾಗುತ್ತದೆ.

ಕೋಟಾ-ಅರಿವಿನ ಫಾಲ್ಬ್ಯಾಕ್ (#8297): ಸ್ಪಷ್ಟವಾದ provider ನೀಡದಿದ್ದಾಗ, ಪೂಲ್ (firecrawljina-readertavily-searchtinyfishnimble-search) ಅನ್ನು ನಿಗದಿತ ಆದ್ಯತೆಯ ಕ್ರಮದಲ್ಲಿ (ಮೊದಲು ಭರ್ತಿ ಮಾಡುವ ವಿಧಾನದಲ್ಲಿ) ಪರಿಶೀಲಿಸಲಾಗುತ್ತದೆ — ದರ-ಮಿತಿಗೊಳಿಸಲ್ಪಟ್ಟಿದ್ದರೂ ಕಾನ್ಫಿಗರ್ ಆಗಿರುವ ಪೂರೈಕೆದಾರನು ವಿನಂತಿಯನ್ನು ತಕ್ಷಣವೇ ಸ್ಥಗಿತಗೊಳಿಸುವ ಬದಲು ಬಿಟ್ಟುಹೋಗಲಾಗುತ್ತದೆ, ಮತ್ತು ಮರುಪ್ರಯತ್ನಿಸಬಹುದಾದ/ಕೋಟಾ ಸಂಬಂಧಿತ ಅಪ್ಸ್ಟ್ರೀಮ್ ವೈಫಲ್ಯವು (HTTP 429 ಯಾವಾಗಲೂ; Firecrawl/Tavily/TinyFish ಕೋಟಾ-ಶೈಲಿಯ ಉಚಿತ ಶ್ರೇಣಿಗಳಿಗೆ 402/403 — Jina Reader ಗೆ ಅಲ್ಲ, ಮತ್ತು ಸಾಮಾನ್ಯ 400 ತಪ್ಪಾದ ವಿನಂತಿಗೆ ಎಂದಿಗೂ ಅಲ್ಲ) ವಿನಂತಿಯ ಸಮಯದಲ್ಲಿ ಇನ್ನೂ ಪ್ರಯತ್ನಿಸದ ಕ್ರೆಡೆನ್ಶಿಯಲ್ ಹೊಂದಿರುವ ಮುಂದಿನ ಪೂರೈಕೆದಾರನಿಗೆ ಮುಂದುವರಿಯುತ್ತದೆ. ಪೂಲ್ನಲ್ಲಿರುವ ಪ್ರತಿಯೊಂದು ಪೂರೈಕೆದಾರವೂ ಮುಗಿದಾಗ, ಹಿಂದಿನ ಸಾಮಾನ್ಯ 400 ಬದಲು ಎಂಡ್ಪಾಯಿಂಟ್ ಒಂದೇ 429 ಅನ್ನು (Retry-After ಹೆಡರ್ನೊಂದಿಗೆ) ಹಿಂದಿರುಗಿಸುತ್ತದೆ. ಸ್ಪಷ್ಟವಾದ provider ಅನ್ನು ವಿನಂತಿಸಿದಾಗ, ಯಾವುದೇ ಮೌನ ಫಾಲ್ಬ್ಯಾಕ್ ಇರುವುದಿಲ್ಲ — ದರ-ಮಿತಿಗೊಳಿಸಲ್ಪಟ್ಟ ಅಥವಾ ವಿಫಲವಾದ ಸ್ಪಷ್ಟ ಪೂರೈಕೆದಾರನು ತನ್ನದೇ ದೋಷವನ್ನು ತೋರಿಸುತ್ತಾನೆ (ದರ-ಮಿತಿಗೊಳಿಸಲ್ಪಟ್ಟಿದ್ದರೆ 429, ಇಲ್ಲದಿದ್ದರೆ ಅಪ್ಸ್ಟ್ರೀಮ್ ಸ್ಥಿತಿ).


WebSocket ಸ್ಟ್ರೀಮಿಂಗ್

GET /v1/ws?handshake=1

WebSocket ಅಪ್ಗ್ರೇಡ್ ಹ್ಯಾಂಡ್ಶೇಕ್ ಅನ್ನು ಮೌಲ್ಯೀಕರಿಸಿ, ವೈರ್ ಪ್ರೋಟೋಕಾಲ್ ಉದಾಹರಣೆ ಸಂದೇಶಗಳನ್ನು (request, cancel) ಹಿಂದಿರುಗಿಸುತ್ತದೆ. ನಿಜವಾದ WS ಫ್ರೇಮ್ಗಳನ್ನು Next.js ರೂಟ್ ಟೇಬಲ್ನ ಹೊರಗಿರುವ ಬಂಡಲ್ ಮಾಡಲಾದ WS ಸರ್ವರ್ ನಿರ್ವಹಿಸುತ್ತದೆ.

ದೃಢೀಕರಣ: ಹ್ಯಾಂಡ್ಶೇಕ್ ಸಮಯದಲ್ಲಿ Bearer API ಕೀ.

WebSocket ಮೂಲಕ Responses API (codex ಮಾತ್ರ)

# HTTP API ಯಂತೆಯೇ ಅದೇ host:port (ಡೀಫಾಲ್ಟ್ 20128); ಸಂಪರ್ಕವನ್ನು ಅಪ್ಗ್ರೇಡ್ ಮಾಡಿ:
wscat -c "ws://localhost:20128/v1/responses?api_key=<OMNIROUTE_API_KEY>"
# (ಅಥವಾ: -H "Authorization: Bearer <OMNIROUTE_API_KEY>")

# ಮೊದಲ ಫ್ರೇಮ್ response.create ಆಗಿಯೇ ಇರಬೇಕು:
{ "type": "response.create", "model": "gpt-5.5", "input": [ { "role": "user", "content": "hi" } ] }

Responses-API-over-WebSocket ಪ್ರಾಕ್ಸಿಯನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ 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 ಅಲ್ಲದ ಮಾಡೆಲ್ಗಳನ್ನು ತಿರಸ್ಕರಿಸಲಾಗುತ್ತದೆ (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 ನಲ್ಲಿ ಅಳವಡಿಸಲಾಗಿದೆ.

ದೃಢೀಕರಣ: ಹ್ಯಾಂಡ್ಶೇಕ್ ಸಮಯದಲ್ಲಿ Bearer API ಕೀ. ಬಂಡಲ್ ಮಾಡಲಾದ HTTP ಸರ್ವರ್ (server-ws.mjs) ಸಕ್ರಿಯ ಎಂಟ್ರಿಪಾಯಿಂಟ್ ಆಗಿರಬೇಕು (app/server-ws.mjs ಅಸ್ತಿತ್ವದಲ್ಲಿದ್ದಾಗ, ಡೀಫಾಲ್ಟ್ ಆಗಿ ಅದೇ ಸಕ್ರಿಯವಾಗಿರುತ್ತದೆ).

ಮಾಡೆಲ್ id: ಮೂಲ ChatGPT id ಬಳಸಿ (codex/ ಪ್ರಿಫಿಕ್ಸ್ ಇಲ್ಲದೆ)

supports_websockets = true ಆಗಿರುವಾಗ OpenAI Codex CLI ಕ್ಲೈಂಟ್ ಬದಿಯಲ್ಲೇ ಮಾಡೆಲ್ ಹೆಸರನ್ನು ಮೌಲ್ಯೀಕರಿಸುತ್ತದೆ ಮತ್ತು codex/gpt-5.5 ನಂತಹ ಪೂರೈಕೆದಾರ-ಪ್ರಿಫಿಕ್ಸ್ ಹೊಂದಿರುವ id ಗಳನ್ನು ತಿರಸ್ಕರಿಸುತ್ತದೆ (The 'codex/gpt-5.5' model is not supported when using Codex with a ChatGPT account). ಮೂಲ id ಅನ್ನು ಕಳುಹಿಸಿ (ಉದಾ. gpt-5.5). OmniRoute ನ ಬ್ರಿಡ್ಜ್ codex ಗೆ ಮಾತ್ರ ಸೀಮಿತವಾಗಿರುವುದರಿಂದ, ಅಪ್ಸ್ಟ್ರೀಮ್ಗೆ ಟನಲ್ ಮಾಡುವ ಮೊದಲು ಅದು ಮೂಲ id ಅನ್ನು codex ಮಾಡೆಲ್ ಆಗಿ (resolveCodexWsModelInfo) ಪುನಃ ಪರಿಹರಿಸುತ್ತದೆ — ಮೂಲ gpt-5.5 HTTP ಮೂಲಕ ಇಲ್ಲದಿದ್ದರೆ ಬೇರೆ ಪೂರೈಕೆದಾರನಿಗೆ ರೂಟ್ ಆಗುತ್ತಿದ್ದರೂ ಸಹ.

OpenAI Codex CLI ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡುವುದು

~/.codex/config.toml ಗೆ WebSocket ಬೆಂಬಲವಿರುವ ಕಸ್ಟಮ್ ಪೂರೈಕೆದಾರನನ್ನು ಸೇರಿಸುವ ಮೂಲಕ Codex CLI ಅನ್ನು OmniRoute ಕಡೆಗೆ ಸೂಚಿಸಿ (ಈಗಿರುವ ಕಾನ್ಫಿಗ್ಗೆ ಬದಲಾವಣೆ ಆಗದಂತೆ ಪ್ರತ್ಯೇಕ CODEX_HOME ಬಳಸಿ):

model = "gpt-5.5"                 # ಮೂಲ id — "codex/gpt-5.5" ಅಲ್ಲ
model_provider = "omniroute"

[model_providers.omniroute]
name = "OmniRoute (WS)"
base_url = "http://localhost:20128/v1"   # ಕೊನೆಯಲ್ಲಿ ಸ್ಲ್ಯಾಶ್ ಇರಬಾರದು; WS URL ಅನ್ನು ವ್ಯುತ್ಪನ್ನಗೊಳಿಸಲಾಗುತ್ತದೆ (ಪ್ರೊಡಕ್ಷನ್ನಲ್ಲಿ https/wss ಬಳಸಿ)
wire_api = "responses"                    # Feb 2026 ರಿಂದ ಬೆಂಬಲಿತವಾಗಿರುವ ಏಕೈಕ ಮೌಲ್ಯ
supports_websockets = true                # Responses-over-WS ಟ್ರಾನ್ಸ್ಪೋರ್ಟ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ
env_key = "OMNIROUTE_API_KEY"             # OmniRoute API ಕೀಯನ್ನು ಹೊಂದಿರುತ್ತದೆ (Bearer)
export OMNIROUTE_API_KEY=sk-...           # OmniRoute API ಕೀ (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 ಕೀ (isAuthenticated).


ಸ್ವಯಂ-ಸೇವಾ ಬಳಕೆ (/api/usage/om-usage)

ಯಾವುದೇ API ಕೀ ತನ್ನದೇ ಬಳಕೆ ಮತ್ತು ಕೋಟಾಗಳನ್ನು ಓದಬಹುದು — ನಿರ್ವಹಣಾ ದೃಢೀಕರಣದ ಅಗತ್ಯವಿಲ್ಲ. ಕೀ ಹೊಂದಿರುವವರಿಗೆ ಅವರ ವೆಚ್ಚವನ್ನು ತೋರಿಸಲು ಕ್ಲೈಂಟ್ (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-ಕೀ ನಿರ್ವಾಹಕವು ಪ್ರತಿ ಕೀಗೂ ಇದನ್ನು ಟಾಗಲ್ ಮಾಡುತ್ತದೆ). ಇದು ಇಲ್ಲದಿದ್ದರೆ ಎಂಡ್ಪಾಯಿಂಟ್ 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 ಕೀ, 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
  }
}

ವಿಳಂಬದ ಪರಿಣಾಮ

ಅರ್ಥಾತ್ಮಕ ಕ್ಯಾಶ್ HIT ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ಅಪ್ಸ್ಟ್ರೀಮ್ ಕರೆ ಇಲ್ಲದೆ ಕ್ಯಾಶ್ನಿಂದ ಒದಗಿಸುತ್ತದೆ, ಆದ್ದರಿಂದ ವರದಿಯಾದ X-OmniRoute-Response-Latency ಬಹುತೇಕ ಶೂನ್ಯವಾಗಿರುತ್ತದೆ (ಮೂಲ ಅಪ್ಸ್ಟ್ರೀಮ್ ವಿಳಂಬ ಎಷ್ಟೇ ಇದ್ದರೂ). ವಿಳಂಬದ ಕುರಿತು ಸೂಕ್ಷ್ಮವಾಗಿರುವ ಕ್ಲೈಂಟ್ಗಳು (ಬೆಂಚ್ಮಾರ್ಕಿಂಗ್, p50/p99 ಮೇಲ್ವಿಚಾರಣೆ) X-OmniRoute-Cache-Latency ಪ್ರತಿಕ್ರಿಯೆ ಹೆಡರ್ ಅನ್ನು ಪರಿಶೀಲಿಸಬೇಕು:

ಮೌಲ್ಯ ಅರ್ಥ
synthetic ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ಕ್ಯಾಶ್ನಿಂದ ಒದಗಿಸಲಾಗಿದೆ; ವಿಳಂಬವು ನೈಜ ಅಪ್ಸ್ಟ್ರೀಮ್ ಸಮಯವಲ್ಲ
(ಇಲ್ಲ) ನೈಜ ಅಪ್ಸ್ಟ್ರೀಮ್ ಕರೆಯಿಂದ ಬಂದ ಪ್ರತಿಕ್ರಿಯೆ

ಪ್ರತಿ-ಕೀ ಕ್ಯಾಶ್ ಬೈಪಾಸ್

API ಕೀಗಳು cacheDefaultMode ಮೂಲಕ ಅರ್ಥಾತ್ಮಕ ಕ್ಯಾಶ್ ಓದುವಿಕೆಯಿಂದ ಹೊರಗುಳಿಯಬಹುದು:

ಮೌಲ್ಯ ವರ್ತನೆ
legacy ಸಾಮಾನ್ಯ ಕ್ಯಾಶ್ ವರ್ತನೆ (ಪೂರ್ವನಿಯೋಜಿತ)
bypass ಕ್ಯಾಶ್ ಹುಡುಕಾಟವನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ಬಿಟ್ಟುಬಿಡಿ; ಯಾವಾಗಲೂ ಅಪ್ಸ್ಟ್ರೀಮ್ ಅನ್ನು ಸಂಪರ್ಕಿಸಿ

ಕೀ ರಚಿಸುವಾಗ (POST /api/keys) ಹೊಂದಿಸಿ ಅಥವಾ (PATCH /api/keys/[id]) ನವೀಕರಿಸಿ:

{ "cacheDefaultMode": "bypass" }

ಪ್ರತಿ-ವಿನಂತಿಯ ಬೈಪಾಸ್

ಕೀ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಲೆಕ್ಕಿಸದೆ ಯಾವುದೇ ವಿನಂತಿಯು ಕ್ಯಾಶ್ ಅನ್ನು ಬೈಪಾಸ್ ಮಾಡಬಹುದು:

X-OmniRoute-No-Cache: true

ಡ್ಯಾಶ್ಬೋರ್ಡ್ ಮತ್ತು ನಿರ್ವಹಣೆ

ನಿರ್ವಹಣಾ ಮಾರ್ಗಗಳು (/api/*, ಸಾರ್ವಜನಿಕ auth/login ಹೊರತುಪಡಿಸಿ) ಸಾಮಾನ್ಯ inference API ಕೀಗಳಿಂದ ಅಧಿಕೃತಗೊಳ್ಳುವುದಿಲ್ಲ. ಕ್ರೆಡೆನ್ಶಿಯಲ್ ವರ್ಗಗಳು, ಸ್ಕೋಪ್ಗಳು ಮತ್ತು curl ಉದಾಹರಣೆಗಳಿಗಾಗಿ ನೋಡಿ: ನಿರ್ವಹಣಾ ದೃಢೀಕರಣ.

ದೃಢೀಕರಣ

Endpoint Method ವಿವರಣೆ
/api/auth/login POST ಲಾಗಿನ್
/api/auth/logout POST ಲಾಗ್ಔಟ್
/api/settings/require-login GET/PUT ಲಾಗಿನ್ ಅಗತ್ಯವಿರುವುದನ್ನು ಟಾಗಲ್ ಮಾಡಿ

ಪೂರೈಕೆದಾರರ ನಿರ್ವಹಣೆ

Endpoint Method ವಿವರಣೆ
/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 ಫೈಲ್ನಿಂದ ವೈವಿಧ್ಯಮಯ ಪೂರೈಕೆದಾರರ LIST ಅನ್ನು ಆಮದು ಮಾಡಿ (#6836); ಪ್ರತಿ-ಸಾಲಿನ ಭಾಗಶಃ-ವೈಫಲ್ಯ ಫಲಿತಾಂಶಗಳು
/api/provider-nodes* ವಿವಿಧ ಪೂರೈಕೆದಾರ ನೋಡ್ ನಿರ್ವಹಣೆ
/api/provider-models GET/POST/PATCH/DELETE ಕಸ್ಟಮ್ ಮಾದರಿಗಳು (ಸೇರಿಸಿ, ನವೀಕರಿಸಿ, ಮರೆಮಾಡಿ/ತೋರಿಸಿ, ಅಳಿಸಿ)

OAuth ಹರಿವುಗಳು

Endpoint Method ವಿವರಣೆ
/api/oauth/[provider]/[action] ವಿವಿಧ ಪೂರೈಕೆದಾರ-ನಿರ್ದಿಷ್ಟ OAuth

ರೂಟಿಂಗ್ ಮತ್ತು ಸಂರಚನೆ

Endpoint Method ವಿವರಣೆ
/api/models/alias GET/POST ಮಾದರಿ ಅಲಿಯಾಸ್ಗಳು
/api/models/catalog GET ಪೂರೈಕೆದಾರ + ಪ್ರಕಾರದ ಪ್ರಕಾರ ಎಲ್ಲಾ ಮಾದರಿಗಳು
/api/combos* ವಿವಿಧ ಕಾಂಬೊ ನಿರ್ವಹಣೆ
/api/keys* ವಿವಿಧ API ಕೀ ನಿರ್ವಹಣೆ
/api/pricing GET ಮಾದರಿ ಬೆಲೆ ನಿಗದಿ

ಬಳಕೆ ಮತ್ತು ವಿಶ್ಲೇಷಣೆ

Endpoint Method ವಿವರಣೆ
/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 ಪೂರೈಕೆದಾರ/ಮಾದರಿ ಪ್ರತಿ ರೋಲಿಂಗ್ ವಿಳಂಬ ಒಟ್ಟುಸಂಖ್ಯೆ (avg/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)

ಸೆಟ್ಟಿಂಗ್ಗಳು

Endpoint Method ವಿವರಣೆ
/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 ಚಿಂತನೆ/ತಾರ್ಕಿಕತೆ ವಿನಂತಿ ಮರುಬರಹ ಮೋಡ್ (passthrough / auto-strip / custom / adaptive). ಕಂಪ್ರೆಷನ್ನಿಂದ ಸ್ವತಂತ್ರವಾಗಿದೆ. THINKING_BUDGET.md ನೋಡಿ.
/api/settings/system-prompt GET/PUT ಜಾಗತಿಕ ಸಿಸ್ಟಮ್ ಪ್ರಾಂಪ್ಟ್
/api/settings/compression GET/PUT ಜಾಗತಿಕ ಕಂಪ್ರೆಷನ್ ಸಂರಚನೆ
/api/settings/purge-request-history POST ವಿನಂತಿ ಲಾಗ್ ಸಾಲುಗಳು ಮತ್ತು ಸ್ಥಳೀಯ ಕರೆ-ಲಾಗ್ ಆರ್ಟಿಫ್ಯಾಕ್ಟ್ಗಳನ್ನು ತೆರವುಗೊಳಿಸಿ

ಸಂದರ್ಭ ಮತ್ತು ಕಂಪ್ರೆಷನ್

Endpoint Method ವಿವರಣೆ
/api/compression/preview POST off/lite/standard/aggressive/ultra/RTK/stacked ಕಂಪ್ರೆಷನ್ ಪೂರ್ವವೀಕ್ಷಣೆ
/api/compression/language-packs GET ಲಭ್ಯವಿರುವ Caveman ಭಾಷಾ ಪ್ಯಾಕ್ಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡಿ
/api/compression/rules GET Caveman ನಿಯಮದ ಮೆಟಾಡೇಟಾವನ್ನು ಪಟ್ಟಿ ಮಾಡಿ
/api/context/caveman/config GET/PUT Caveman-ನಿರ್ದಿಷ್ಟ ಸೆಟ್ಟಿಂಗ್ಗಳ ಅಲಿಯಾಸ್
/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 ಪಾಯಿಂಟರ್ id ಮೂಲಕ ಉಳಿಸಿಕೊಂಡಿರುವ ರಿಡ್ಯಾಕ್ಟ್ ಮಾಡಿದ ಕಚ್ಚಾ ಔಟ್ಪುಟ್ ಅನ್ನು ಓದಿ
/api/context/combos GET/POST ಕಂಪ್ರೆಷನ್ ಕಾಂಬೊ ಪಟ್ಟಿ/ರಚನೆ
/api/context/combos/[id] GET/PUT/DELETE ಕಂಪ್ರೆಷನ್ ಕಾಂಬೊ ವಿವರ/ನವೀಕರಣ/ಅಳಿಸುವಿಕೆ
/api/context/combos/[id]/assignments GET/PUT ರೂಟಿಂಗ್ ಕಾಂಬೊಗಳಿಗೆ ಕಂಪ್ರೆಷನ್ ಕಾಂಬೊಗಳನ್ನು ನಿಯೋಜಿಸಿ
/api/context/analytics GET ಕಂಪ್ರೆಷನ್ ವಿಶ್ಲೇಷಣೆಯ ಅಲಿಯಾಸ್

ಮೇಲ್ವಿಚಾರಣೆ

Endpoint Method ವಿವರಣೆ
/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, ಮತ್ತು ಕೊನೆಯ ಬಳಕೆಯ ಸಮಯ (ಮರುಪ್ರಾರಂಭದ ವೇಳೆ ಮರುಹೊಂದಿಸಲಾಗುತ್ತದೆ; ನಿರ್ವಹಣಾ auth)
/api/modality-bridge/video/runtime GET ನಿರ್ವಹಣಾ auth/probe ಮೊದಲು ಕಟ್ಟುನಿಟ್ಟಾದ ವಿಶ್ವಾಸಾರ್ಹ-loopback ಪರಿಶೀಲನೆ; ಶುದ್ಧೀಕರಿಸಿದ FFmpeg/ffprobe ಲಭ್ಯತೆ ಮತ್ತು ಆವೃತ್ತಿಗಳು (no-store)
/api/modality-bridge/video/extract POST ಆಂತರಿಕ ದೃಢೀಕೃತ ವಿಶ್ವಾಸಾರ್ಹ-loopback ಬೈಟ್ ಬ್ರೋಕರ್; 50 MiB ಇನ್ಪುಟ್, ಮಿತಿಗೊಳಿಸಿದ ಕ್ಯೂ/32 MiB ಔಟ್ಪುಟ್, 503 ಸಾಮರ್ಥ್ಯ, 499 ಸಂಪರ್ಕ ಕಡಿತ, 504 ಗಡುವು; ಇದು ಸಾರ್ವಜನಿಕ ಅಪ್ಲೋಡ್ API ಅಲ್ಲ

ಬ್ಯಾಕಪ್ ಮತ್ತು ರಫ್ತು/ಆಮದು

Endpoint Method ವಿವರಣೆ
/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 ಆರ್ಕೈವ್ ಆಗಿ ಡೌನ್ಲೋಡ್ ಮಾಡಿ

ಕ್ಲೌಡ್ ಸಿಂಕ್

Endpoint Method ವಿವರಣೆ
/api/sync/cloud ವಿವಿಧ ಕ್ಲೌಡ್ ಸಿಂಕ್ ಕಾರ್ಯಾಚರಣೆಗಳು
/api/sync/initialize POST ಸಿಂಕ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸಿ
/api/cloud/* ವಿವಿಧ ಕ್ಲೌಡ್ ನಿರ್ವಹಣೆ

ಟನೆಲ್ಗಳು

Endpoint Method ವಿವರಣೆ
/api/tunnels/cloudflared GET ಡ್ಯಾಶ್ಬೋರ್ಡ್ಗಾಗಿ Cloudflare Quick Tunnel ಸ್ಥಾಪನೆ/ರನ್ಟೈಮ್ ಸ್ಥಿತಿಯನ್ನು ಓದಿ
/api/tunnels/cloudflared POST Cloudflare Quick Tunnel ಅನ್ನು ಸಕ್ರಿಯ ಅಥವಾ ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ (action=enable/disable)
/api/tunnels/ngrok GET ಡ್ಯಾಶ್ಬೋರ್ಡ್ಗಾಗಿ ngrok Tunnel ರನ್ಟೈಮ್ ಸ್ಥಿತಿಯನ್ನು ಓದಿ
/api/tunnels/ngrok POST ngrok Tunnel ಅನ್ನು ಸಕ್ರಿಯ ಅಥವಾ ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ (action=enable/disable)

CLI ಪರಿಕರಗಳು

Endpoint Method ವಿವರಣೆ
/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 ಏಜೆಂಟ್ಗಳು

Endpoint Method ವಿವರಣೆ
/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) ಅನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ.

ಸ್ಥಿತಿಸ್ಥಾಪಕತೆ ಮತ್ತು ದರ ಮಿತಿಗಳು

Endpoint Method ವಿವರಣೆ
/api/resilience GET/PATCH ವಿನಂತಿ ಕ್ಯೂ, ಸಂಪರ್ಕ cooldown, ಪೂರೈಕೆದಾರ breaker ಮತ್ತು ಕಾಯುವಿಕೆ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಪಡೆಯಿರಿ/ನವೀಕರಿಸಿ
/api/resilience/reset POST ಪೂರೈಕೆದಾರ circuit breakerಗಳನ್ನು ಮರುಹೊಂದಿಸಿ
/api/resilience/model-cooldowns GET ಉಳಿದಿರುವ ಸಮಯದ ಪ್ರಕಾರ ವಿಂಗಡಿಸಿದ ಸಕ್ರಿಯ ಪ್ರತಿ-(provider, connection, model) lockoutಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡಿ
/api/resilience/model-cooldowns DELETE ಮಾದರಿ lockout ಅನ್ನು ತೆರವುಗೊಳಿಸಿ — body {provider, model} ಅಥವಾ ಎಲ್ಲವನ್ನೂ ಅಳಿಸಲು {all: true}
/api/rate-limits GET ಪ್ರತಿ-ಖಾತೆಯ ದರ ಮಿತಿ ಸ್ಥಿತಿ
/api/rate-limit GET ಜಾಗತಿಕ ದರ ಮಿತಿ ಸಂರಚನೆ

ಎಲ್ಲಾ ನಾಲ್ಕು /api/resilience/* ಮಾರ್ಗಗಳಿಗೆ ನಿರ್ವಹಣಾ auth (requireManagementAuth) ಅಗತ್ಯವಿದೆ. ಪೂರೈಕೆದಾರ breaker ಮತ್ತು ಸಂಪರ್ಕ cooldown ಹಾಗೂ ಮಾದರಿ lockout ನಡುವಿನ ಸಂಪೂರ್ಣ ವಿವರಕ್ಕಾಗಿ ಸ್ಥಿತಿಸ್ಥಾಪಕತೆ (ವಿಸ್ತೃತ) ನೋಡಿ.

ಮೌಲ್ಯಮಾಪನಗಳು

Endpoint Method ವಿವರಣೆ
/api/evals GET/POST ಮೌಲ್ಯಮಾಪನ ಸೂಟ್ಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡಿ / ಮೌಲ್ಯಮಾಪನ ನಡೆಸಿ

ನೀತಿಗಳು

Endpoint Method ವಿವರಣೆ
/api/policies GET/POST/DELETE ರೂಟಿಂಗ್ ನೀತಿಗಳನ್ನು ನಿರ್ವಹಿಸಿ

ಅನುಸರಣೆ

Endpoint Method ವಿವರಣೆ
/api/compliance/audit-log GET ಅನುಸರಣೆ ಆಡಿಟ್ ಲಾಗ್ (ಕೊನೆಯ N)

v1beta (Gemini-ಹೊಂದಾಣಿಕೆ)

Endpoint Method ವಿವರಣೆ
/v1beta/models GET Gemini ಸ್ವರೂಪದಲ್ಲಿ ಮಾದರಿಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡಿ
/v1beta/models/{...path} POST Gemini generateContent endpoint

ಸ್ಥಳೀಯ Gemini SDK ಹೊಂದಾಣಿಕೆಯನ್ನು ನಿರೀಕ್ಷಿಸುವ ಕ್ಲೈಂಟ್ಗಳಿಗಾಗಿ ಈ endpointಗಳು Gemini API ಸ್ವರೂಪವನ್ನು ಪ್ರತಿಬಿಂಬಿಸುತ್ತವೆ.

ಆಂತರಿಕ / ಸಿಸ್ಟಮ್ APIಗಳು

Endpoint Method ವಿವರಣೆ
/api/init GET ಅಪ್ಲಿಕೇಶನ್ ಆರಂಭೀಕರಣ ಪರಿಶೀಲನೆ (ಮೊದಲ ಚಾಲನೆಯಲ್ಲಿ ಬಳಸಲಾಗುತ್ತದೆ)
/api/tags GET Ollama-ಹೊಂದಾಣಿಕೆಯ ಮಾದರಿ ಟ್ಯಾಗ್ಗಳು (Ollama ಕ್ಲೈಂಟ್ಗಳಿಗಾಗಿ)
/api/restart POST ಸುಗಮ ಸರ್ವರ್ ಮರುಪ್ರಾರಂಭವನ್ನು ಪ್ರಚೋದಿಸಿ
/api/shutdown POST ಸುಗಮ ಸರ್ವರ್ ಸ್ಥಗಿತವನ್ನು ಪ್ರಚೋದಿಸಿ
/api/system/env/repair POST OAuth ಪೂರೈಕೆದಾರರ environment variableಗಳನ್ನು ದುರಸ್ತಿ ಮಾಡಿ

ಸೂಚನೆ: ಈ endpointಗಳನ್ನು ಸಿಸ್ಟಮ್ ಆಂತರಿಕವಾಗಿ ಅಥವಾ Ollama ಕ್ಲೈಂಟ್ ಹೊಂದಾಣಿಕೆಗಾಗಿ ಬಳಸುತ್ತದೆ. ಸಾಮಾನ್ಯವಾಗಿ ಅಂತಿಮ ಬಳಕೆದಾರರು ಇವುಗಳನ್ನು ಕರೆ ಮಾಡುವುದಿಲ್ಲ.

OAuth ಪರಿಸರ ದುರಸ್ತಿ (v3.6.1+)

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

{
  "provider": "claude-code"
}

ನಿರ್ದಿಷ್ಟ ಪೂರೈಕೆದಾರರಿಗಾಗಿ ಕಾಣೆಯಾದ ಅಥವಾ ದೋಷಗೊಂಡ OAuth environment variableಗಳನ್ನು ದುರಸ್ತಿ ಮಾಡುತ್ತದೆ. ಹಿಂತಿರುಗಿಸುವುದು:

{
  "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/…). ಮತ್ತೊಂದು ಮಾರಾಟಗಾರರ ಮಾದರಿಯನ್ನು ಮರು-ರಫ್ತು ಮಾಡುವ ಗೇಟ್ವೇಗಳು ಅರ್ಹತೆಯುಳ್ಳ ಐಡಿಯನ್ನು ಬಳಸುತ್ತವೆ (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
}

ಮಾದರಿ ಐಡಿಗಳ ಉದಾಹರಣೆಗಳು: 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 ಸ್ವರೂಪವನ್ನು ಬಳಸುವ ಕ್ಲೈಂಟ್ಗಳಿಗಾಗಿ:

# ಚಾಟ್ ಎಂಡ್ಪಾಯಿಂಟ್ (Ollama ಸ್ವರೂಪ)
POST /v1/api/chat

# ಮಾದರಿಗಳ ಪಟ್ಟಿ (Ollama ಸ್ವರೂಪ)
GET /api/tags

Ollama ಮತ್ತು ಆಂತರಿಕ ಸ್ವರೂಪಗಳ ನಡುವೆ ವಿನಂತಿಗಳನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಪರಿವರ್ತಿಸಲಾಗುತ್ತದೆ.

ಟೋಕನೀಕರಿಸಿದ VS Code / ಹೆಡರ್ರಹಿತ ಪರ್ಯಾಯ ಹೆಸರುಗಳು

ಏಕೀಕರಣವು Authorization ಹೆಡರ್ ಅನ್ನು ಸೇರಿಸಲು ಸಾಧ್ಯವಾಗದಾಗ ಮತ್ತು ಮೂಲ URL ಒಳಗೆ API ಕೀಯನ್ನು ಅಳವಡಿಸಬೇಕಾದಾಗ ಈ ಪರ್ಯಾಯ ಹೆಸರುಗಳನ್ನು ಬಳಸಿ.

# OpenAI-ಶೈಲಿಯ ಕ್ಯಾಟಲಾಗ್ ಪರ್ಯಾಯ ಹೆಸರು
GET /api/v1/vscode/{token}/
GET /api/v1/vscode/{token}/models

# OpenAI-ಶೈಲಿಯ ಚಾಟ್ ಪರ್ಯಾಯ ಹೆಸರುಗಳು
POST /api/v1/vscode/{token}/chat/completions
POST /api/v1/vscode/{token}/responses

# Ollama-ಶೈಲಿಯ ಪರ್ಯಾಯ ಹೆಸರುಗಳು
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 (01), resetInterval (daily | weekly | monthly), resetTime (HH:MM). ಹಳೆಯ {keyId, limit, period} ರಚನೆಯು 400 Bad Request ಅನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತದೆ.

ಟೋಕನ್ ಮಿತಿಗಳು

ಪ್ರತಿ API ಕೀಲಿಗೆ ಅನ್ವಯಿಸುವ ಟೋಕನ್ ಬಜೆಟ್ಗಳು (ಮೇಲಿನ USD-ಆಧಾರಿತ ಬಜೆಟ್ಗಿಂತ ಭಿನ್ನವಾಗಿವೆ). ವಿನಂತಿಯ ಪಥದಲ್ಲೇ ಇವುಗಳನ್ನು ಜಾರಿಗೊಳಿಸಲಾಗುತ್ತದೆ: ಕೀಲಿಯ ಪ್ರಸ್ತುತ ವಿಂಡೋ ಬಳಕೆಯು ಅದರ ಮಿತಿಯನ್ನು ತಲುಪಿದಾಗ, ವಿನಂತಿಗಳನ್ನು 429 Too Many Requests ಮೂಲಕ ತಿರಸ್ಕರಿಸಲಾಗುತ್ತದೆ. ಮಿತಿಗಳನ್ನು ನಿರ್ದಿಷ್ಟ model, provider ಅಥವಾ ಕೀಲಿಯಾದ್ಯಂತ global ಆಗಿ ಅನ್ವಯಿಸಬಹುದು; ಹಲವು ಮಿತಿಗಳು ಒಂದು ವಿನಂತಿಗೆ ಹೊಂದಿಕೆಯಾದಾಗ, ಅತ್ಯಂತ ನಿರ್ಬಂಧಿತ ಮಿತಿಯು ಅನ್ವಯಿಸುತ್ತದೆ.

# ಕೀಲಿಯ ಟೋಕನ್ ಮಿತಿಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡಿ (ಲೈವ್ ವಿಂಡೋ ಬಳಕೆಯನ್ನು ಒಳಗೊಂಡಿದೆ)
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
}

# id ಮೂಲಕ ಟೋಕನ್ ಮಿತಿಯನ್ನು ಅಳಿಸಿ
DELETE /api/usage/token-limits?id=tl-abc

ಸ್ಕೀಮಾ ಟಿಪ್ಪಣಿಗಳು (setTokenLimitSchema): apiKeyId ಮತ್ತು scopeType (model | provider | global) ಅಗತ್ಯವಾಗಿವೆ. scopeType, global ಆಗಿರದ ಹೊರತು scopeValue ಅಗತ್ಯವಾಗಿರುತ್ತದೆ (ಉದಾ. model ವ್ಯಾಪ್ತಿಗೆ ಮಾದರಿ id, provider ವ್ಯಾಪ್ತಿಗೆ ಪೂರೈಕೆದಾರರ id). 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. ಮಾದರಿಯನ್ನು ನಿರ್ಧರಿಸಲಾಗುತ್ತದೆ (ನೇರ provider/model ಅಥವಾ alias/combo)
  4. ಖಾತೆ ಲಭ್ಯತೆಯ ಫಿಲ್ಟರಿಂಗ್ನೊಂದಿಗೆ ಸ್ಥಳೀಯ DB ಯಿಂದ ರುಜುವಾತುಗಳನ್ನು ಆಯ್ಕೆಮಾಡಲಾಗುತ್ತದೆ
  5. ಚಾಟ್ಗಾಗಿ: handleChatCore ಅರ್ಥಾತ್ಮಕ/ಸಿಗ್ನೇಚರ್ ಕ್ಯಾಶ್ ಅನ್ನು ಪರಿಶೀಲಿಸುತ್ತದೆ ಮತ್ತು ಕಾಂಬೊ ಕಂಪ್ರೆಷನ್ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ನಿರ್ಧರಿಸುತ್ತದೆ
  6. ಸಕ್ರಿಯಗೊಳಿಸಿದಾಗ ಪೂರೈಕೆದಾರರ ಅನುವಾದಕ್ಕೂ ಮೊದಲು ಪೂರ್ವಸಕ್ರಿಯ ಕಂಪ್ರೆಷನ್ ರನ್ ಆಗುತ್ತದೆ (lite, Caveman, RTK, ಅಥವಾ ಸ್ಟ್ಯಾಕ್ ಮಾಡಿದ ವಿಧಾನ)
  7. ಪೂರೈಕೆದಾರರ ಎಕ್ಸಿಕ್ಯೂಟರ್ ಅಪ್ಸ್ಟ್ರೀಮ್ ವಿನಂತಿಯನ್ನು ಕಳುಹಿಸುತ್ತದೆ
  8. ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ಮತ್ತೆ ಕ್ಲೈಂಟ್ ಸ್ವರೂಪಕ್ಕೆ ಅನುವಾದಿಸಲಾಗುತ್ತದೆ (ಚಾಟ್) ಅಥವಾ ಇದ್ದಂತೆಯೇ ಹಿಂತಿರುಗಿಸಲಾಗುತ್ತದೆ (ಎಂಬೆಡಿಂಗ್ಗಳು/ಚಿತ್ರಗಳು/ಆಡಿಯೊ)
  9. ಬಳಕೆ, ಕಂಪ್ರೆಷನ್ ವಿಶ್ಲೇಷಣೆಗಳು ಮತ್ತು ವಿನಂತಿ ಲಾಗ್ಗಳನ್ನು ದಾಖಲಿಸಲಾಗುತ್ತದೆ
  10. ದೋಷಗಳು ಸಂಭವಿಸಿದಾಗ ಕಾಂಬೊ ನಿಯಮಗಳ ಪ್ರಕಾರ ಫಾಲ್ಬ್ಯಾಕ್ ಅನ್ವಯಿಸುತ್ತದೆ

ಸಂಪೂರ್ಣ ಆರ್ಕಿಟೆಕ್ಚರ್ ಉಲ್ಲೇಖ: ARCHITECTURE.md


ಕಾಂಬೊ ನಿರ್ವಹಣೆ

ಉನ್ನತ-ಮಟ್ಟದ ರೂಟಿಂಗ್ ಕಾಂಬೊಗಳನ್ನು (/api/combos* ಅಡಿಯಲ್ಲಿ ಈಗಾಗಲೇ ಸಾರಾಂಶಗೊಳಿಸಲಾಗಿದೆ) ಮಾದರಿ id ಪ್ಯಾಟರ್ನ್ನಿಂದ 1:1 ಅನುಪಾತದಲ್ಲಿ ಮ್ಯಾಪ್ ಮಾಡಬಹುದು; ಇದರಿಂದ OpenAI-ಶೈಲಿಯ ಮಾದರಿ id ಅನ್ನು ಕಾಂಬೊಗೆ ಪಾರದರ್ಶಕವಾಗಿ ಮರುನಿರ್ದೇಶಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ.

ವಿಧಾನ ಪಥ ವಿವರಣೆ
GET /api/model-combo-mappings ಎಲ್ಲಾ model→combo ಮ್ಯಾಪಿಂಗ್ಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡಿ
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).


ವೆಬ್ಹುಕ್ಗಳು

OmniRoute ಈವೆಂಟ್ಗಳಿಗಾಗಿ (ವಿನಂತಿ ಪೂರ್ಣಗೊಳಿಸುವಿಕೆ, ಕೋಟಾ ಮುಕ್ತಾಯ, ಕೀ ಬದಲಾವಣೆ ಇತ್ಯಾದಿ) ಹೊರಹೋಗುವ ವೆಬ್ಹುಕ್ ಚಂದಾದಾರಿಕೆಗಳು.

ವಿಧಾನ ಮಾರ್ಗ ವಿವರಣೆ
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= (1500, ಡೀಫಾಲ್ಟ್ 50)
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 ಅನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ; ಇದೇ ಕ್ಷೇತ್ರಗಳನ್ನು Dashboard → Settings → Resilience ನಲ್ಲಿಯೂ ಒದಗಿಸಲಾಗಿದೆ.

# ಒಂದೇ ಮಾದರಿಯ ಲಾಕ್ಔಟ್ ಅನ್ನು ತೆರವುಗೊಳಿಸಿ
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 ಮೆಮೊರಿ ರಚಿಸಿ — Zod ಮೂಲಕ ಮೌಲ್ಯೀಕರಿಸಲಾದ ಬಾಡಿ: {content, key, type?, sessionId?, apiKeyId?, metadata?, expiresAt?}
GET /api/memory/[id] ಒಂದು ಮೆಮೊರಿಯನ್ನು ಹಿಂಪಡೆಯಿರಿ
DELETE /api/memory/[id] ಒಂದು ಮೆಮೊರಿಯನ್ನು ಅಳಿಸಿ
GET /api/memory/health ಮೆಮೊರಿ ಉಪವ್ಯವಸ್ಥೆಯ ಸ್ಥಿತಿ (DB ಸಂಪರ್ಕ, ಎಂಬೆಡಿಂಗ್ಗಳ ಬ್ಯಾಕೆಂಡ್, ವೆಕ್ಟರ್ ಸೂಚ್ಯಂಕದ ಸ್ಥಿತಿ)

ದೃಢೀಕರಣ: ನಿರ್ವಹಣಾ ಸೆಷನ್/API ಕೀ (requireManagementAuth). type enum: FACTUAL, EPISODIC, SEMANTIC, PROCEDURAL (src/lib/memory/types.ts ನಲ್ಲಿರುವ MemoryType ನೋಡಿ).


MCP ಸರ್ವರ್

OmniRoute 3 ಸಾರಿಗೆ ವಿಧಾನಗಳು (stdio, SSE, streamable-http) ಮತ್ತು ವ್ಯಾಪ್ತಿ-ನಿರ್ಬಂಧಿತ ಪರಿಕರಗಳೊಂದಿಗೆ ಎಂಬೆಡ್ ಮಾಡಲಾದ Model Context Protocol ಸರ್ವರ್ ಅನ್ನು ಒದಗಿಸುತ್ತದೆ. ಕೆಳಗಿನ ಡ್ಯಾಶ್ಬೋರ್ಡ್ ಎಂಡ್ಪಾಯಿಂಟ್ಗಳು ಸ್ಥಿತಿ/ಲೆಕ್ಕಪರಿಶೋಧನಾ ಡೇಟಾವನ್ನು ಓದುತ್ತವೆ ಮತ್ತು HTTP ಸಾರಿಗೆ ವಿಧಾನಗಳಿಗೆ ಪ್ರಾಕ್ಸಿಯಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ.

ವಿಧಾನ ಮಾರ್ಗ ವಿವರಣೆ
GET /api/mcp/status ಹಾರ್ಟ್ಬೀಟ್, ಸಾರಿಗೆ ವಿಧಾನ, ಆನ್ಲೈನ್ ಸ್ಥಿತಿ, ಕೊನೆಯ ಕರೆ, ಪ್ರಮುಖ ಪರಿಕರಗಳು, 24 ಗಂಟೆಗಳ ಯಶಸ್ಸಿನ ಪ್ರಮಾಣ
GET /api/mcp/tools name, description, scopes, phase, auditLevel, sourceEndpoints ಹೊಂದಿರುವ MCP ಪರಿಕರಗಳ ಪಟ್ಟಿ
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 (ಏಜೆಂಟ್ನಿಂದ-ಏಜೆಂಟ್ಗೆ) JSON-RPC 2.0 ಎಂಡ್ಪಾಯಿಂಟ್ ಜೊತೆಗೆ REST ರ್ಯಾಪರ್ ಅನ್ನು ಒದಗಿಸುತ್ತದೆ.

JSON-RPC

POST /a2a
Authorization: Bearer your-api-key   # OMNIROUTE_API_KEY ಹೊಂದಿಸದಿದ್ದರೆ ಐಚ್ಛಿಕ
Content-Type: application/json

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

ಬೆಂಬಲಿತ ವಿಧಾನಗಳು (ಎಲ್ಲವೂ 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 (Agent Client Protocol) ನಿರ್ವಹಣೆ

ಚೈಲ್ಡ್ ಪ್ರೊಸೆಸ್ಗಳಾಗಿ. ಈ ಎಂಡ್ಪಾಯಿಂಟ್ಗಳು 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 Shannon entropy ಆಧಾರಿತ ವೈವಿಧ್ಯತೆ ಟ್ರ್ಯಾಕಿಂಗ್: ಪ್ರೊವೈಡರ್ ವ್ಯಾಪ್ತಿಯನ್ನು ಅಳೆಯುವ ಮೂಲಕ ಏಕೈಕ ವೈಫಲ್ಯ ಬಿಂದುಗಳನ್ನು ತಡೆಯುತ್ತದೆ

ಪ್ರತಿಕ್ರಿಯೆಯ ಉದಾಹರಣೆ:

{
  "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 ನ ಕಸ್ಟಮ್ GPT ಗಳನ್ನು ಹೋಲುವ, ಆದರೆ ಏಜೆಂಟ್ಗಳಿಗಾಗಿ) ನಿರ್ವಹಿಸಿ.

ವಿಧಾನ ಪಥ ವಿವರಣೆ
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 ಕೀ ಅಗತ್ಯವಿದೆ.


ಕ್ಯಾಶ್ ನಿರ್ವಹಣೆ

ಸೆಮ್ಯಾಂಟಿಕ್ ಕ್ಯಾಶ್ ಮತ್ತು ರೀಸನಿಂಗ್ ಕ್ಯಾಶ್ ಅನ್ನು ನಿರ್ವಹಿಸಿ.

ವಿಧಾನ ಪಥ ವಿವರಣೆ
GET /api/cache ಕ್ಯಾಶ್ ಅವಲೋಕನ: ಒಟ್ಟು ನಮೂದುಗಳು, ಹಿಟ್ ದರ, ಡಿಸ್ಕ್ನಲ್ಲಿನ ಗಾತ್ರ
GET /api/cache/entries ಕ್ಯಾಶ್ ಮಾಡಿದ ನಮೂದುಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡಿ (ಪುಟವಿಂಗಡಣೆಯೊಂದಿಗೆ)
DELETE /api/cache/entries ಕ್ಯಾಶ್ ನಮೂದುಗಳನ್ನು ಅಳಿಸಿ (ಕ್ವೆರಿ ಪ್ಯಾರಾಮೀಟರ್ಗಳ ಮೂಲಕ ಫಿಲ್ಟರ್ ಮಾಡಿ)
GET /api/cache/stats ವಿವರವಾದ ಕ್ಯಾಶ್ ಅಂಕಿಅಂಶಗಳು (ಪ್ರತಿ ಪೂರೈಕೆದಾರ, ಪ್ರತಿ ಮಾದರಿ)
GET /api/cache/reasoning ರೀಸನಿಂಗ್ ಕ್ಯಾಶ್ ಸ್ಥಿತಿ (ರೀಸನಿಂಗ್ ಮರುಚಾಲನೆಗಾಗಿ)
DELETE /api/cache/reasoning ರೀಸನಿಂಗ್ ಕ್ಯಾಶ್ ತೆರವುಗೊಳಿಸಿ — ಕ್ವೆರಿ ಪ್ಯಾರಾಮೀಟರ್ಗಳು: ?toolCallId=<id> (ಒಂದು) ಅಥವಾ ?provider=<p> ಅಥವಾ ಯಾವುದೇ ಪ್ಯಾರಾಮೀಟರ್ಗಳಿಲ್ಲ (ಎಲ್ಲವೂ)

ದೃಢೀಕರಣ: ನಿರ್ವಹಣಾ ಸೆಷನ್ ಅಗತ್ಯವಿದೆ.


ಮೆಮೊರಿ ಸಿಸ್ಟಮ್

ನಿರಂತರ ಮೆಮೊರಿಯನ್ನು (FTS5 + ವೆಕ್ಟರ್ ಎಂಬೆಡಿಂಗ್ಗಳು) ನಿರ್ವಹಿಸಿ.

ವಿಧಾನ ಪಥ ವಿವರಣೆ
GET /api/memory ಮೆಮೊರಿ ನಮೂದುಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡಿ (ವ್ಯಾಪ್ತಿ, ಪ್ರಕಾರ, ಹುಡುಕಾಟದ ಕ್ವೆರಿ ಮೂಲಕ ಫಿಲ್ಟರ್ ಮಾಡಿ)
POST /api/memory ಹೊಸ ಮೆಮೊರಿ ನಮೂದನ್ನು ರಚಿಸಿ — ಬಾಡಿ: {scope, type, content, metadata?}
GET /api/memory/[id] ನಿರ್ದಿಷ್ಟ ಮೆಮೊರಿ ನಮೂದನ್ನು ಪಡೆಯಿರಿ
PUT /api/memory/[id] ಮೆಮೊರಿ ನಮೂದನ್ನು ನವೀಕರಿಸಿ
DELETE /api/memory/[id] ಮೆಮೊರಿ ನಮೂದನ್ನು ಅಳಿಸಿ
GET /api/memory?q= ಮೆಮೊರಿಯನ್ನು ಹುಡುಕಿ (FTS5 + ವೆಕ್ಟರ್) — ಅಂಕಿಅಂಶಗಳನ್ನು ಅದೇ ಪ್ರತಿಕ್ರಿಯೆಯಲ್ಲಿ ಸೇರಿಸಲಾಗಿದೆ

ದೃಢೀಕರಣ: ನಿರ್ವಹಣಾ ಸೆಷನ್ ಅಥವಾ ನಿರ್ವಹಣಾ-ವ್ಯಾಪ್ತಿಯ API ಕೀ ಅಗತ್ಯವಿದೆ.


ವೆಬ್ಹುಕ್ಗಳು

ಈವೆಂಟ್ಗಳಿಗಾಗಿ ವೆಬ್ಹುಕ್ ಚಂದಾದಾರಿಕೆಗಳನ್ನು ನಿರ್ವಹಿಸಿ.

ವಿಧಾನ ಪಥ ವಿವರಣೆ
GET /api/webhooks ಎಲ್ಲಾ ವೆಬ್ಹುಕ್ ಚಂದಾದಾರಿಕೆಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡಿ
POST /api/webhooks ವೆಬ್ಹುಕ್ ಚಂದಾದಾರಿಕೆಯನ್ನು ರಚಿಸಿ — ಬಾಡಿ: {url, events[], secret?, active?}
GET /api/webhooks/[id] ನಿರ್ದಿಷ್ಟ ವೆಬ್ಹುಕ್ ಚಂದಾದಾರಿಕೆಯನ್ನು ಪಡೆಯಿರಿ
PUT /api/webhooks/[id] ವೆಬ್ಹುಕ್ ಚಂದಾದಾರಿಕೆಯನ್ನು ನವೀಕರಿಸಿ
DELETE /api/webhooks/[id] ವೆಬ್ಹುಕ್ ಚಂದಾದಾರಿಕೆಯನ್ನು ಅಳಿಸಿ
GET /api/webhooks/[id]/deliveries ವೆಬ್ಹುಕ್ನ ವಿತರಣಾ ಇತಿಹಾಸವನ್ನು ಪಟ್ಟಿ ಮಾಡಿ (ಯಶಸ್ಸು/ವೈಫಲ್ಯ ಲಾಗ್)
POST /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 ಅನ್ನು ಬಳಸುತ್ತದೆ
  • /api/settings/require-login ಮೂಲಕ requireLogin ಅನ್ನು ಟಾಗಲ್ ಮಾಡಬಹುದು
  • REQUIRE_API_KEY=true ಆಗಿರುವಾಗ /v1/* ಮಾರ್ಗಗಳಿಗೆ ಐಚ್ಛಿಕವಾಗಿ Bearer API ಕೀ ಅಗತ್ಯವಿರುತ್ತದೆ
  • ಈ ಉಲ್ಲೇಖದಲ್ಲಿನ "ನಿರ್ವಹಣಾ ಟೋಕನ್" / "ನಿರ್ವಹಣೆ-ವ್ಯಾಪ್ತಿಯ API ಕೀ" ಎಂದರೆ ಆ ಮಾರ್ಗದರ್ಶಿಯಲ್ಲಿರುವ ವರ್ಗಗಳಲ್ಲಿ ಒಂದು — ವ್ಯಾಖ್ಯಾನಿಸದ ಹೆಚ್ಚುವರಿ ರಹಸ್ಯದ ಪ್ರಕಾರವಲ್ಲ

ಹೊಂದಾಣಿಕೆಯನ್ನು ಮುರಿಯುವ ಬದಲಾವಣೆ (v3.8.0)/api/v1/agents/tasks/* ಮತ್ತು ಕೂಲ್ಡೌನ್ ನಿರ್ವಹಣಾ ಎಂಡ್ಪಾಯಿಂಟ್ಗಳಿಗೆ ಈಗ ನಿರ್ವಹಣಾ ದೃಢೀಕರಣ (ಡ್ಯಾಶ್ಬೋರ್ಡ್ auth_token ಕುಕಿ ಅಥವಾ ನಿರ್ವಹಣೆ-ವ್ಯಾಪ್ತಿಯ API ಕೀ) ಅಗತ್ಯವಿದೆ. ಈ ಮಾರ್ಗಗಳನ್ನು ಹಿಂದೆ ದೃಢೀಕರಣವಿಲ್ಲದೆ ಕರೆ ಮಾಡುತ್ತಿದ್ದ ಕ್ಲೈಂಟ್ಗಳು 401 Unauthorized ಅನ್ನು ಸ್ವೀಕರಿಸುತ್ತವೆ. 588a0333 ಕಮಿಟ್ ನೋಡಿ (fix(auth): ಏಜೆಂಟ್ ಮತ್ತು ಕೂಲ್ಡೌನ್ APIಗಳಿಗೆ ನಿರ್ವಹಣಾ ದೃಢೀಕರಣವನ್ನು ಕಡ್ಡಾಯಗೊಳಿಸಿ).