Files
OmniRoute/docs/i18n/pa/docs/reference/API_REFERENCE.md
Diego Rodrigues de Sa e Souza 58f88a83e4 feat(i18n): 7 new locales — Hausa, Yoruba, Igbo, Amharic, Uzbek, Georgian, Armenian (66 locales) (#13727)
Batch 3 (last) of the locale-expansion plan: ha, yo, ig, am, uz, ka, hy on every surface — dashboard catalog, docs mirror (22-file core + llm.txt + CHANGELOG), CLI catalog, README flag block, locale tables and 🌐 language bars. Also closes the key gap the batch-1 (43 keys) and batch-2 (10 keys) catalogs carried since their base merges, fixes the Igbo "Model" copy and allowlists the Uzbek cognate. Translation-ratio baseline covers 65 locales.

⚠️ base-red inherited: #12732
2026-09-15 09:50:01 -03:00

171 KiB
Raw Blame History

API_REFERENCE (ਪੰਜਾਬੀ)

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



title: "API ਹਵਾਲਾ" version: 3.8.51 lastUpdated: 2026-08-31

API ਹਵਾਲਾ

🌐 Languages: 🇺🇸 English · 🇪🇹 am · 🇸🇦 ar · 🇦🇿 az · 🇧🇬 bg · 🇧🇩 bn · 🇨🇿 cs · 🇩🇰 da · 🇩🇪 de · 🇬🇷 el · 🇪🇸 es · 🇪🇪 et · 🇮🇷 fa · 🇫🇮 fi · 🇫🇷 fr · 🇮🇪 ga · 🇮🇳 gu · 🇳🇬 ha · 🇮🇱 he · 🇮🇳 hi · 🇭🇷 hr · 🇭🇺 hu · 🇦🇲 hy · 🇮🇩 id · 🇳🇬 ig · 🇮🇹 it · 🇯🇵 ja · 🇬🇪 ka · 🇰🇭 km · 🇮🇳 kn · 🇰🇷 ko · 🇱🇹 lt · 🇱🇻 lv · 🇮🇳 ml · 🇮🇳 mr · 🇲🇾 ms · 🇲🇹 mt · 🇲🇲 my · 🇳🇵 ne · 🇳🇱 nl · 🇳🇴 no · 🇮🇳 or · 🇵🇭 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
}

ਕਸਟਮ ਹੈਡਰ

ਹੈਡਰ ਦਿਸ਼ਾ ਵੇਰਵਾ
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 ਬੇਨਤੀ ਡੀਡੁਪ ਕੁੰਜੀ (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"}

ਸਫਲ acquire, renew, ਅਤੇ release ਜਵਾਬ ਟਾਈਮਸਟੈਂਪ, state, ਅਤੇ ਸਟੀਕ ਧਨਾਤਮਕ generation ਪ੍ਰਗਟ ਕਰਦੇ ਹਨ, ਪਰ ਚੁਣਿਆ ਹੋਇਆ ਕਨੈਕਸ਼ਨ ਜਾਂ ਪ੍ਰਮਾਣ-ਪੱਤਰ ਕਦੇ ਨਹੀਂ। Renew ਅਤੇ release ਲਈ generation ਨੂੰ JSON ਬਾਡੀ ਵਿੱਚ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ:

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

ਇੱਕ ਸਰਗਰਮ ਲੀਜ਼ ਮਾਲਕ ਆਪਣੀ ਮੌਜੂਦਾ ਬਾਈਂਡਿੰਗ ਲਈ ਗੋਪਨੀਯਤਾ-ਸੁਰੱਖਿਅਤ ਡਿਸਪਲੇ ਮੈਟਾਡੇਟਾ ਦੀ ਸਪਸ਼ਟ ਤੌਰ 'ਤੇ ਬੇਨਤੀ ਕਰ ਸਕਦਾ ਹੈ:

{ "action": "status", "generation": 1 }
{
  "state": "ACTIVE",
  "generation": 1,
  "acquiredAt": "2026-08-28T12:00:00.000Z",
  "renewedAt": "2026-08-28T12:00:30.000Z",
  "expiresAt": "2026-08-28T12:02:30.000Z",
  "connection": {
    "displayName": "Primary Codex",
    "provider": "codex"
  }
}

ਇਹ ਆਪਟ-ਇਨ ਸਥਿਤੀ ਕਾਰਵਾਈ ਇੱਕੋ ਡਾਟਾਬੇਸ ਟ੍ਰਾਂਜ਼ੈਕਸ਼ਨ ਵਿੱਚ ਅਪਾਰਦਰਸ਼ੀ ਮਾਲਕ, ਪ੍ਰਮਾਣਿਤ ਪ੍ਰਬੰਧਿਤ API ਕੁੰਜੀ, ਅਤੇ ਸਟੀਕ ਸਰਗਰਮ generation ਦੁਆਰਾ ਸੀਮਾਬੱਧ ਹੁੰਦੀ ਹੈ। displayName ਸਿਰਫ਼ ਟ੍ਰਿਮ ਕੀਤਾ ਹੋਇਆ ਸੰਰਚਿਤ ਕਨੈਕਸ਼ਨ ਨਾਮ ਹੁੰਦਾ ਹੈ; ਜਦੋਂ ਕੋਈ ਸੁਰੱਖਿਅਤ ਸੰਰਚਿਤ ਨਾਮ ਮੌਜੂਦ ਨਾ ਹੋਵੇ, ਤਾਂ ਇਹ null ਹੁੰਦਾ ਹੈ। OmniRoute ਕਦੇ ਵੀ ਇਸ ਦੀ ਥਾਂ ਈਮੇਲ ਜਾਂ ਉਤਪੰਨ ਕੀਤੀ ਖਾਤਾ ਪਛਾਣ ਨਹੀਂ ਵਰਤਦਾ। ਪ੍ਰਦਾਤਾ ਮੁੱਲ ਇੱਕ ਗੈਰ-ਸੰਵੇਦਨਸ਼ੀਲ ਡਿਸਪਲੇ ਲੇਬਲ ਹੁੰਦਾ ਹੈ ਅਤੇ ਕਦੇ ਵੀ ਉਤਪੰਨ ਕੀਤਾ ਅਨੁਕੂਲ-ਪ੍ਰਦਾਤਾ ਪਛਾਣਕਰਤਾ ਨਹੀਂ ਹੁੰਦਾ। ਪ੍ਰਮਾਣ-ਪੱਤਰ, ਟੋਕਨ, ਕੁਕੀਜ਼, ਕੱਚੇ ਕਨੈਕਸ਼ਨ ਜਾਂ API ਕੁੰਜੀ ids, ਮਾਲਕ ਹੈਸ਼, ਫੈਂਸਿੰਗ ਸੀਕ੍ਰੇਟ, ਅਤੇ ਅੰਦਰੂਨੀ ਰੂਟਿੰਗ ਡਾਟਾ ਸ਼ਾਮਲ ਨਹੀਂ ਕੀਤੇ ਜਾਂਦੇ।

ਗਲਤ-ਕੁੰਜੀ, ਗਲਤ-ਮਾਲਕ, ਪੁਰਾਣੀ-generation, ਗੁੰਮ, ਮਿਆਦ-ਪੁੱਗੀ, ਰਿਲੀਜ਼ ਕੀਤੀ, ਅਤੇ ਅਵੈਧ ਕੀਤੀ ਲੁੱਕਅੱਪ ਸਭ ਕਨੈਕਸ਼ਨ ਮੈਟਾਡੇਟਾ ਤੋਂ ਬਿਨਾਂ ਇੱਕੋ 409 LEASE_FENCE_STALE ਗਲਤੀ ਵਾਪਸ ਕਰਦੇ ਹਨ। ਸਮਰੱਥਾ-ਉਡੀਕ ਜਵਾਬ ਪ੍ਰਾਪਤ ਕਰਨ ਵਾਲੇ ਕਲਾਇੰਟ ਕੋਲ ਜਾਂਚਣ ਲਈ ਕੋਈ ਸਰਗਰਮ ਬਾਈਂਡਿੰਗ ਨਹੀਂ ਹੁੰਦੀ। ਜਦੋਂ ਰੂਟਿੰਗ ਇੱਕ ਸਰਗਰਮ ਲੀਜ਼ ਨੂੰ ਟ੍ਰਾਂਜ਼ਿਸ਼ਨ ਕਰਦੀ ਹੈ, ਤਾਂ ਉਹੀ generation ਵੈਧ ਰਹਿੰਦੀ ਹੈ ਅਤੇ ਸਥਿਤੀ ਐਟਾਮਿਕ ਢੰਗ ਨਾਲ ਨਵੀਂ ਬਾਈਂਡਿੰਗ ਵਾਪਸ ਕਰਦੀ ਹੈ, ਪੁਰਾਣੀ ਕਦੇ ਨਹੀਂ। ਮੌਜੂਦਾ ਕਲਾਇੰਟਾਂ ਵਿੱਚ ਕੋਈ ਬਦਲਾਅ ਨਹੀਂ ਹੁੰਦਾ ਕਿਉਂਕਿ acquire, renew, release, ਅਤੇ waiting ਜਵਾਬ ਆਪਣੇ ਪਿਛਲੇ ਰੂਪ ਬਰਕਰਾਰ ਰੱਖਦੇ ਹਨ।

ਇਹ ਸਰਵਰ ਇਕਰਾਰਨਾਮਾ ਮਿਆਰੀ 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

ਕੰਪ੍ਰੈਸ਼ਨ ਯੋਜਨਾ ਲਈ ਪ੍ਰਤੀ-ਬੇਨਤੀ ਓਵਰਰਾਈਡ। ਸਭ ਤੋਂ ਉੱਚੀ ਤਰਜੀਹ — ਇਹ routing-combo ਓਵਰਰਾਈਡ, ਸਰਗਰਮ ਪ੍ਰੋਫ਼ਾਈਲ, auto-trigger, ਅਤੇ ਪੈਨਲ Default ਤੋਂ ਵੀ ਉੱਪਰ ਰਹਿੰਦੀ ਹੈ। ਮੁੱਲ:

ਮੁੱਲ ਪ੍ਰਭਾਵ
off ਇਸ ਬੇਨਤੀ ਲਈ ਕੋਈ ਕੰਪ੍ਰੈਸ਼ਨ ਨਹੀਂ।
default ਪੈਨਲ ਤੋਂ ਪ੍ਰਾਪਤ Default ਪ੍ਰੋਫ਼ਾਈਲ (ਸਰਗਰਮ ਪ੍ਰੋਫ਼ਾਈਲ ਨੂੰ ਅਣਡਿੱਠਾ ਕਰਦੀ ਹੈ)।
engine:<id> ਸਮਰੱਥ ਹੋਣ 'ਤੇ ਇੱਕੋ ਇੰਜਣ, ਉਦਾਹਰਨ ਵਜੋਂ engine:rtk
<combo> ਇੱਕ ਨਾਮਿਤ combo, ਜਿਸਦਾ ਮਿਲਾਨ ਪਹਿਲਾਂ ਨਾਮ (ਅੱਖਰਾਂ ਦੇ ਕੇਸ ਤੋਂ ਅਸੰਵੇਦਨਸ਼ੀਲ), ਫਿਰ id ਦੁਆਰਾ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।

ਨੋਟ:

  • ਅਣਜਾਣ ਮੁੱਲਾਂ ਨੂੰ ਅਣਡਿੱਠਾ ਕੀਤਾ ਜਾਂਦਾ ਹੈ (ਬੇਨਤੀ ਕਦੇ ਵੀ ਰੱਦ ਨਹੀਂ ਕੀਤੀ ਜਾਂਦੀ); ਨਿਰਧਾਰਨ ਆਮ ਓਪਰੇਟਰ ਤਰਜੀਹ ਅਨੁਸਾਰ ਅੱਗੇ ਵਧਦਾ ਹੈ।
  • ਜੇ ਕਈ combos ਦਾ ਨਾਮ ਇੱਕੋ ਹੋਵੇ, ਤਾਂ ਨਿਰਧਾਰਿਤ ਮਿਲਾਨ ਲਈ combo ਦੀ id ਦਿਓ।
  • ਜਿਸ combo ਦਾ ਨਾਮ off ਜਾਂ default ਹੋਵੇ, ਉਸਨੂੰ ਨਾਮ ਦੁਆਰਾ ਨਹੀਂ ਚੁਣਿਆ ਜਾ ਸਕਦਾ (ਉਹਨਾਂ ਕੀਵਰਡਾਂ ਦੀ ਵਿਆਖਿਆ ਪਹਿਲਾਂ ਕੀਤੀ ਜਾਂਦੀ ਹੈ); ਅਜਿਹੇ combo ਨੂੰ ਉਸਦੀ 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 ਮਲਟੀਮੋਡਲ ਮਾਡਲ: ਹਰ ਸਿਖਰਲੇ-ਪੱਧਰ ਦੀ ਆਈਟਮ ਇੱਕ ਮੋਡੈਲਿਟੀ-ਕੁੰਜੀ ਵਾਲਾ ਆਬਜੈਕਟ ਬਣਦੀ ਹੈ (text / image / audio / video / pdf), ਜਿਸ ਵਿੱਚ ਇਨਲਾਈਨ ਮੀਡੀਆ ਲਈ ਡਾਟਾ URI ਵਰਤੇ ਜਾਂਦੇ ਹਨ; ਪ੍ਰਤੀ ਸਿਖਰਲੇ-ਪੱਧਰ ਦੀ ਆਈਟਮ ਇੱਕ ਵੇਕਟਰ।
  • 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": "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 ਪ੍ਰਦਾਤਾ ਚੁਣਦਾ ਹੈ; ਸਿਰਫ਼ ਮਾਡਲ id (ਉਦਾਹਰਨ ਲਈ, mistral-ocr-latest) ਆਪਣੇ ਰਜਿਸਟਰ ਕੀਤੇ ਪ੍ਰਦਾਤਾ ਨਾਲ ਰਿਜ਼ਾਲਵ ਹੁੰਦਾ ਹੈ, ਅਤੇ ਜੇ model ਨਾ ਦਿੱਤਾ ਗਿਆ ਹੋਵੇ ਤਾਂ ਇਹ ਮੂਲ ਰੂਪ ਵਿੱਚ Mistral (mistral-ocr-latest) ਵਰਤਦਾ ਹੈ। ਰਜਿਸਟਰ ਕੀਤੇ ਪ੍ਰਦਾਤਾ (open-sse/config/ocrRegistry.ts):

ਪ੍ਰਦਾਤਾ id ਮਾਡਲ id model ਦਾ ਮੁੱਲ ਟਿੱਪਣੀਆਂ
mistral mistral-ocr-latest mistral/mistral-ocr-latest (ਜਾਂ ਸਿਰਫ਼ mistral-ocr-latest) ਸਮਕਾਲੀ — ਜਵਾਬ ਸਿੱਧਾ ਇੱਕੋ ਅੱਪਸਟ੍ਰੀਮ ਕਾਲ ਤੋਂ ਵਾਪਸ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।
azure-document-intelligence prebuilt-read azure-document-intelligence/prebuilt-read ਅਸਮਕਾਲੀ ਅੱਪਸਟ੍ਰੀਮ (analyze + ਪੋਲ) — ਹੇਠਾਂ ਦੇਖੋ।
vertex-deepseek-ocr deepseek-ocr-maas vertex-deepseek-ocr/deepseek-ocr-maas ਸਮਕਾਲੀ, Vertex AI ਦੇ openapi/chat/completions ਪਾਰਟਨਰ ਐਂਡਪੌਇੰਟ ਰਾਹੀਂ — ਪ੍ਰਮਾਣੀਕਰਨ/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 ਕੋਸ਼ਿਸ਼ਾਂ ਤੱਕ ਪੋਲ ਕਰਦਾ ਹੈ, ਕਿਸੇ non-ok ਪੋਲ ਜਵਾਬ ਜਾਂ "failed" ਸਥਿਤੀ ਉੱਤੇ ਤੁਰੰਤ ਅਸਫਲ ਹੋ ਜਾਂਦਾ ਹੈ (ਪੋਲ ਕਰਨਾ ਜਾਰੀ ਨਹੀਂ ਰੱਖਦਾ), ਅਤੇ ਜੇ ਕੋਸ਼ਿਸ਼ਾਂ ਦੀ ਸੀਮਾ ਖ਼ਤਮ ਹੋਣ ਤੋਂ ਬਾਅਦ ਵੀ ਕਾਰਵਾਈ ਚੱਲ ਰਹੀ ਹੋਵੇ ਤਾਂ 504 ਵਾਪਸ ਕਰਦਾ ਹੈ। ਅੰਤਿਮ Azure ਜਵਾਬ ਨੂੰ ਕਾਲਰ ਨੂੰ ਵਾਪਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ Mistral ਵੱਲੋਂ ਵਰਤੇ ਜਾਂਦੇ ਉਸੇ pages/markdown ਰੂਪ ਵਿੱਚ ਨਾਰਮਲਾਈਜ਼ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਇਸ ਲਈ ਕਲਾਇੰਟ ਕੋਡ ਨੂੰ ਪ੍ਰਦਾਤਾ ਲਈ ਵਿਸ਼ੇਸ਼ ਕੇਸ ਬਣਾਉਣ ਦੀ ਲੋੜ ਨਹੀਂ ਹੁੰਦੀ।

Vertex AI DeepSeek OCR ਪ੍ਰਮਾਣੀਕਰਨ ਅਤੇ ਐਂਡਪੌਇੰਟ ਰਿਜ਼ੋਲਿਊਸ਼ਨ

vertex-deepseek-ocr ਉਹੀ Vertex AI ਪ੍ਰਮਾਣੀਕਰਨ ਦੁਬਾਰਾ ਵਰਤਦਾ ਹੈ ਜਿਸਦਾ OmniRoute ਪਹਿਲਾਂ ਹੀ ਚੈਟ/ਚਿੱਤਰ ਟ੍ਰੈਫ਼ਿਕ (open-sse/executors/vertex.ts) ਲਈ ਸਮਰਥਨ ਕਰਦਾ ਹੈ: ਕਨੈਕਸ਼ਨ ਦੀ API ਕੁੰਜੀ ਜਾਂ ਤਾਂ Service Account JSON ਕ੍ਰਿਡੈਂਸ਼ੀਅਲ ਹੁੰਦੀ ਹੈ (ਜਿਸਨੂੰ JWT-bearer ਪ੍ਰਵਾਹ ਰਾਹੀਂ ਥੋੜ੍ਹੇ ਸਮੇਂ ਲਈ ਵੈਧ OAuth ਐਕਸੈੱਸ ਟੋਕਨ ਨਾਲ ਬਦਲਿਆ ਜਾਂਦਾ ਹੈ) ਜਾਂ ਪਹਿਲਾਂ ਤੋਂ ਬਣਿਆ OAuth ਐਕਸੈੱਸ ਟੋਕਨ ਹੁੰਦਾ ਹੈ, ਜੋ ਜਿਵੇਂ ਹੈ ਤਿਵੇਂ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। ਅੱਪਸਟ੍ਰੀਮ ਐਂਡਪੌਇੰਟ URL, Vertex ਦਾ ਆਮ openapi/chat/completions ਪਾਰਟਨਰ ਐਂਡਪੌਇੰਟ ਹੈ, ਜੋ ਕਨੈਕਸ਼ਨ ਦੇ ਪ੍ਰੋਜੈਕਟ ਅਤੇ ਰੀਜਨ ਤੋਂ ਬਣਾਇਆ ਜਾਂਦਾ ਹੈ — ਸਪਸ਼ਟ providerSpecificData.project/providerSpecificData.region ਨੂੰ ਹਮੇਸ਼ਾ ਤਰਜੀਹ ਮਿਲਦੀ ਹੈ; ਨਹੀਂ ਤਾਂ ਪ੍ਰੋਜੈਕਟ Service Account 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

→ OpenAI ਫਾਰਮੈਟ ਵਿੱਚ ਸਾਰੇ ਚੈਟ, ਐਮਬੈਡਿੰਗ ਅਤੇ ਚਿੱਤਰ ਮਾਡਲ + ਕੰਬੋ ਵਾਪਸ ਕਰਦਾ ਹੈ

ਮਾਡਲ id ਪ੍ਰੀਫਿਕਸ (?prefix=)

ਜ਼ਿਆਦਾਤਰ ਮਾਡਲ ਇੱਕ ਪ੍ਰੋਵਾਈਡਰ ਪ੍ਰੀਫਿਕਸ ਹੇਠ ਦਰਸਾਏ ਜਾਂਦੇ ਹਨ। ਤੁਹਾਨੂੰ ਕਿਹੜਾ ਪ੍ਰੀਫਿਕਸ ਮਿਲਦਾ ਹੈ, ਇਹ MODELS_CATALOG_PREFIX_MODE ਫੀਚਰ ਫਲੈਗ ਦੁਆਰਾ ਨਿਯੰਤਰਿਤ ਹੁੰਦਾ ਹੈ ਅਤੇ ਇਸਨੂੰ ਇੱਕ ਕੁਐਰੀ ਪੈਰਾਮੀਟਰ ਨਾਲ ਹਰੇਕ ਬੇਨਤੀ ਲਈ ਓਵਰਰਾਈਡ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ — ਇਹ ਉਸ ਕਲਾਇੰਟ ਲਈ ਲਾਭਦਾਇਕ ਹੈ ਜੋ ਬਾਕੀ ਸਭ ਲਈ ਸਰਵਰ-ਪੱਧਰੀ ਸੈਟਿੰਗ ਬਦਲੇ ਬਿਨਾਂ ਇੱਕ ਸਾਫ਼ ਸੂਚੀ ਚਾਹੁੰਦਾ ਹੈ:

GET /v1/models?prefix=alias        # ਪ੍ਰਤੀ ਮਾਡਲ ਇੱਕ id — ਛੋਟਾ alias ਪ੍ਰੀਫਿਕਸ
GET /v1/models?prefix=dual         # ਦੋਵੇਂ ਰੂਪ (ਸਰਵਰ ਡਿਫਾਲਟ)
GET /v1/models?prefix=canonical    # ਸਿਰਫ਼ ਪੂਰਾ provider-id ਪ੍ਰੀਫਿਕਸ
ਮੋਡ ਨਿਕਾਸ ਨੋਟਸ
dual cc/claude-sonnet-4-6 ਅਤੇ claude/claude-sonnet-4-6 ਡਿਫਾਲਟ। ਦੋਵੇਂ ids ਇੱਕੋ ਮਾਡਲ ਵੱਲ ਰੂਟ ਹੁੰਦੇ ਹਨ; ਇਸਨੂੰ ਇਸ ਲਈ ਰੱਖਿਆ ਗਿਆ ਹੈ ਤਾਂ ਜੋ ਕਿਸੇ ਵੀ ਰੂਪ ਨੂੰ ਹਾਰਡਕੋਡ ਕਰਨ ਵਾਲੀਆਂ ਕਲਾਇੰਟ ਕੌਂਫਿਗਾਂ ਕੰਮ ਕਰਦੀਆਂ ਰਹਿਣ। ਇਹ ਕੈਟਾਲਾਗ ਨੂੰ ਲਗਭਗ ਦੁੱਗਣਾ ਕਰ ਦਿੰਦਾ ਹੈ।
alias cc/claude-sonnet-4-6 ਪ੍ਰਤੀ ਮਾਡਲ ਇੱਕ ਐਂਟਰੀ। ਵੱਖਰਾ alias ਨਾ ਰੱਖਣ ਵਾਲੇ ਪ੍ਰੋਵਾਈਡਰ ਵੀ ਆਪਣੀ ਐਂਟਰੀ ਜਾਰੀ ਕਰਦੇ ਹਨ, ਇਸ ਲਈ ਕੁਝ ਵੀ ਗੁਆਚਦਾ ਨਹੀਂ।
canonical claude/claude-sonnet-4-6 ਪੂਰੇ provider-id ਪ੍ਰੀਫਿਕਸ ਹੇਠ ਪ੍ਰਤੀ ਮਾਡਲ ਇੱਕ ਐਂਟਰੀ। ਵੱਖਰਾ alias ਨਾ ਰੱਖਣ ਵਾਲੇ ਪ੍ਰੋਵਾਈਡਰ (ਜਿਵੇਂ 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 ਨੂੰ ਚੁਣਨ ਨਾਲ (ਉਦਾਹਰਨ ਲਈ, ਇੱਕ Claude Code ਕੌਂਫਿਗ ਵਿੱਚ ਜੋ ਹਮੇਸ਼ਾ ਇੱਕ thinking ਬਲਾਕ ਜੋੜਦੀ ਹੈ) ਇਹ ਰੀਜ਼ਨਿੰਗ ਨੂੰ ਦਬਾ ਕੇ ਅਸਲ <provider>/<model> ਵੱਲ ਮੁੜ ਰਿਜ਼ਾਲਵ ਹੁੰਦੀ ਹੈ — /v1/messages ਪਾਥ ਉੱਤੇ thinking:{type:"disabled"}, ਜਾਂ /v1/chat/completions ਪਾਥ ਉੱਤੇ reasoning/reasoning_effort ਫੀਲਡਾਂ ਨੂੰ ਹਟਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। ਇਹ ਵੇਰੀਐਂਟ ਸਿਰਫ਼ ਉਹਨਾਂ Claude-ਪਰਿਵਾਰ ਮਾਡਲਾਂ ਲਈ ਸੂਚੀਬੱਧ ਹੁੰਦਾ ਹੈ ਜੋ ਥਿੰਕਿੰਗ ਦਾ ਸਮਰਥਨ ਕਰਦੇ ਹਨ ਅਤੇ disabled ਦੀ ਪਾਲਣਾ ਕਰਦੇ ਹਨ (ਇਸ ਲਈ, ਉਦਾਹਰਨ ਵਜੋਂ, adaptive-only ਮਾਡਲ ਜੋ disabled ਨੂੰ ਰੱਦ ਕਰਦੇ ਹਨ, ਸ਼ਾਮਲ ਨਹੀਂ ਕੀਤੇ ਜਾਂਦੇ)। ਓਪਰੇਟਰ ModelSpec.noThinkingAlias ਰਾਹੀਂ ਪ੍ਰਤੀ ਮਾਡਲ ਇਸ ਵੇਰੀਐਂਟ ਨੂੰ ਜ਼ਬਰਦਸਤੀ ਚਾਲੂ ਜਾਂ ਬੰਦ ਕਰ ਸਕਦੇ ਹਨ।


ਪ੍ਰਦਾਤਾ ਪਲੱਗਇਨ ਮੈਨਿਫੈਸਟ

GET /api/v1/provider-plugin-manifest

Bifrost, CLIProxyAPI ਅਤੇ ਭਵਿੱਖ ਦੇ sidecar ਰਾਊਟਰਾਂ ਦੁਆਰਾ ਵਰਤਿਆ ਜਾਣ ਵਾਲਾ JSON-ਸੁਰੱਖਿਅਤ ਪ੍ਰਦਾਤਾ ਪਲੱਗਇਨ ਮੈਨਿਫੈਸਟ ਵਾਪਸ ਕਰਦਾ ਹੈ। ਜਵਾਬ TypeScript ਪ੍ਰਦਾਤਾ ਰਜਿਸਟਰੀ ਤੋਂ ਤਿਆਰ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਅਤੇ ਜਾਣ-ਬੁੱਝ ਕੇ OAuth ਕਲਾਇੰਟ ਸੀਕ੍ਰੇਟ, ਰਨਟਾਈਮ ਵਾਤਾਵਰਣ ਰੈਜ਼ੋਲਿਊਸ਼ਨ, ਐਗਜ਼ੀਕਿਊਟਰ ਫੰਕਸ਼ਨ, ਬੇਨਤੀ ਹੈਡਰ ਅਤੇ ਖਾਤਾ ਡਾਟਾ ਸ਼ਾਮਲ ਨਹੀਂ ਕਰਦਾ।

ਇਸ ਐਂਡਪੌਇੰਟ ਦੀ ਵਰਤੋਂ ਉਦੋਂ ਕਰੋ ਜਦੋਂ ਕੋਈ sidecar ਪ੍ਰਕਿਰਿਆ ਤੋਂ ਬਾਹਰ ਚੱਲਦਾ ਹੋਵੇ ਅਤੇ ਸਿੱਧੇ ਤੌਰ 'ਤੇ 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 (ਸੰਪਾਦਨ/inpaint)
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-ਸ਼ੈਲੀ rerank
POST /v1/classify Jina classify (api.jina.ai)
POST /v1/segment Jina segmenter (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 URL ਵਿੱਚ API ਕੁੰਜੀਆਂ ਵੀ ਸਵੀਕਾਰ ਕਰਦਾ ਹੈ—ਜਾਂ ਤਾਂ query-string ਅਨੁਕੂਲਤਾ (?token=..., ?apiKey=..., ?api_key=..., ?key=...) ਰਾਹੀਂ, ਜਾਂ ਹੇਠਾਂ ਦਸਤਾਵੇਜ਼ਬੱਧ ਸਮਰਪਿਤ /api/v1/vscode/{token}/... ਐਂਡਪੌਇੰਟਾਂ ਰਾਹੀਂ।

# ਮੁੜ-ਰੈਂਕ ਕਰੋ
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 ਵਾਪਸ ਕਰਦੇ ਹਨ।


Files 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 ਕੱਚੀ ਫ਼ਾਈਲ ਬਾਡੀ ਨੂੰ ਵਾਪਸ ਸਟ੍ਰੀਮ ਕਰੋ

ਪ੍ਰਮਾਣੀਕਰਨ: Bearer API ਕੁੰਜੀ — ਫ਼ਾਈਲਾਂ ਦਾ ਦਾਇਰਾ getApiKeyRequestScope ਰਾਹੀਂ ਹਰੇਕ API ਕੁੰਜੀ ਅਨੁਸਾਰ ਨਿਰਧਾਰਤ ਹੁੰਦਾ ਹੈ।


Batches 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 ਕੁੰਜੀ ਅਨੁਸਾਰ ਨਿਰਧਾਰਤ ਹੁੰਦਾ ਹੈ।


Search API

ਵੈੱਬ/ਖੋਜ ਪ੍ਰਦਾਤਾ ਐਬਸਟ੍ਰੈਕਸ਼ਨ (Tavily, Brave, Exa, Serper, ਆਦਿ)।

ਵਿਧੀ ਪਾਥ ਵੇਰਵਾ
GET /v1/search ਕੌਂਫ਼ਿਗਰ ਕੀਤੇ ਖੋਜ ਪ੍ਰਦਾਤਿਆਂ + ਸਮਰੱਥਾਵਾਂ ਦੀ ਸੂਚੀ ਦਿਖਾਓ
POST /v1/search ਖੋਜ ਕਵੇਰੀ ਚਲਾਓ — ਬਾਡੀ ਨੂੰ v1SearchSchema ਦੁਆਰਾ ਪ੍ਰਮਾਣਿਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਕੈਸ਼ਿੰਗ/ਕੋਐਲੇਸਿੰਗ ਦਾ ਸਮਰਥਨ ਕਰਦਾ ਹੈ
GET /v1/search/analytics ਹਰੇਕ ਪ੍ਰਦਾਤਾ ਲਈ ਹਿੱਟ/ਲੇਟੈਂਸੀ/ਕੈਸ਼ ਅੰਕੜੇ

ਪ੍ਰਮਾਣੀਕਰਨ: Bearer API ਕੁੰਜੀ (extractApiKey + isValidApiKey)। ਖੋਜ ਨੀਤੀ ਨੂੰ enforceApiKeyPolicy ਰਾਹੀਂ ਲਾਗੂ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।


Web Fetch API

ਕਿਸੇ ਸੰਰਚਿਤ web-fetch ਪ੍ਰਦਾਤਾ (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 ਵਾਲਾ ਉਹੀ ਹੋਸਟ:ਪੋਰਟ (ਡਿਫਾਲਟ 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/ ਪ੍ਰੀਫਿਕਸ ਤੋਂ ਬਿਨਾਂ)

OpenAI Codex CLI, ਜਦੋਂ supports_websockets = true ਹੋਵੇ, ਤਾਂ ਮਾਡਲ ਨਾਮ ਦੀ ਕਲਾਇੰਟ-ਪਾਸੇ ਪੁਸ਼ਟੀ ਕਰਦੀ ਹੈ ਅਤੇ codex/gpt-5.5 ਵਰਗੀਆਂ ਪ੍ਰਦਾਤਾ-ਪ੍ਰੀਫਿਕਸ ਵਾਲੀਆਂ ids ਨੂੰ ਅਸਵੀਕਾਰ ਕਰਦੀ ਹੈ (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 CLI ਨੂੰ OmniRoute ਵੱਲ ਇਸ਼ਾਰਾ ਕਰਨ ਲਈ ~/.codex/config.toml ਵਿੱਚ WebSocket ਸਮਰਥਨ ਵਾਲਾ ਇੱਕ ਕਸਟਮ ਪ੍ਰਦਾਤਾ ਜੋੜੋ (ਮੌਜੂਦਾ ਸੰਰਚਨਾ ਨੂੰ ਬਦਲਣ ਤੋਂ ਬਚਣ ਲਈ ਵੱਖਰਾ 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 + ਟੋਕਨ ਲੋੜੀਂਦਾ ਹੈ)

ਪ੍ਰਮਾਣੀਕਰਨ: ਬੇਅਰਰ 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 ਰੂਪ ਇਨ੍ਹਾਂ ਵਿਚਕਾਰ ਫ਼ਰਕ ਕਰਦਾ ਹੈ।

ਪ੍ਰਮਾਣੀਕਰਨ: ਕਾਲਰ ਦੀ ਆਪਣੀ ਬੇਅਰਰ 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 ਉਦਾਹਰਨਾਂ ਲਈ: ਪ੍ਰਬੰਧਨ ਪ੍ਰਮਾਣੀਕਰਨ

ਪ੍ਰਮਾਣੀਕਰਨ

ਐਂਡਪੌਇੰਟ ਵਿਧੀ ਵੇਰਵਾ
/api/auth/login POST ਲੌਗਇਨ
/api/auth/logout POST ਲੌਗਆਉਟ
/api/settings/require-login GET/PUT ਲੌਗਇਨ ਲੋੜੀਂਦਾ ਹੋਣਾ ਟੌਗਲ ਕਰੋ

ਪ੍ਰਦਾਤਾ ਪ੍ਰਬੰਧਨ

ਐਂਡਪੌਇੰਟ ਵਿਧੀ ਵੇਰਵਾ
/api/providers GET/POST ਪ੍ਰਦਾਤਾਵਾਂ ਦੀ ਸੂਚੀ ਵੇਖੋ / ਬਣਾਓ
/api/providers/[id] GET/PUT/DELETE ਇੱਕ ਪ੍ਰਦਾਤਾ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰੋ
/api/providers/[id]/test POST ਪ੍ਰਦਾਤਾ ਕਨੈਕਸ਼ਨ ਦੀ ਜਾਂਚ ਕਰੋ
/api/providers/[id]/models GET ਪ੍ਰਦਾਤਾ ਮਾਡਲਾਂ ਦੀ ਸੂਚੀ ਵੇਖੋ
/api/providers/validate POST ਪ੍ਰਦਾਤਾ ਸੰਰਚਨਾ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ
/api/providers/bulk POST ਇੱਕ ਪ੍ਰਦਾਤਾ ਲਈ ਵੱਡੀ ਗਿਣਤੀ ਵਿੱਚ API ਕੁੰਜੀਆਂ ਸ਼ਾਮਲ ਕਰੋ
/api/providers/import POST ਪਾਰਸ ਕੀਤੀ CSV/JSON ਫ਼ਾਈਲ ਤੋਂ ਵੱਖ-ਵੱਖ ਪ੍ਰਦਾਤਾਵਾਂ ਦੀ ਸੂਚੀ ਆਯਾਤ ਕਰੋ (#6836); ਹਰ ਕਤਾਰ ਲਈ ਅੰਸ਼ਕ-ਅਸਫਲਤਾ ਨਤੀਜੇ
/api/provider-nodes* ਵੱਖ-ਵੱਖ ਪ੍ਰਦਾਤਾ ਨੋਡ ਪ੍ਰਬੰਧਨ
/api/provider-models GET/POST/PATCH/DELETE ਕਸਟਮ ਮਾਡਲ (ਸ਼ਾਮਲ ਕਰੋ, ਅੱਪਡੇਟ ਕਰੋ, ਲੁਕਾਓ/ਦਿਖਾਓ, ਮਿਟਾਓ)

OAuth ਪ੍ਰਵਾਹ

ਐਂਡਪੌਇੰਟ ਵਿਧੀ ਵੇਰਵਾ
/api/oauth/[provider]/[action] ਵੱਖ-ਵੱਖ ਪ੍ਰਦਾਤਾ-ਵਿਸ਼ੇਸ਼ OAuth

ਰੂਟਿੰਗ ਅਤੇ ਸੰਰਚਨਾ

ਐਂਡਪੌਇੰਟ ਵਿਧੀ ਵੇਰਵਾ
/api/models/alias GET/POST ਮਾਡਲ ਉਪਨਾਮ
/api/models/catalog GET ਪ੍ਰਦਾਤਾ + ਕਿਸਮ ਅਨੁਸਾਰ ਸਾਰੇ ਮਾਡਲ
/api/combos* ਵੱਖ-ਵੱਖ ਕੌਂਬੋ ਪ੍ਰਬੰਧਨ
/api/keys* ਵੱਖ-ਵੱਖ API ਕੁੰਜੀ ਪ੍ਰਬੰਧਨ
/api/pricing GET ਮਾਡਲ ਕੀਮਤ-ਨਿਰਧਾਰਨ

ਵਰਤੋਂ ਅਤੇ ਵਿਸ਼ਲੇਸ਼ਣ

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 ਸੋਚ/ਤਰਕ ਬੇਨਤੀ ਮੁੜ-ਲਿਖਣ ਮੋਡ (ਜਿਵੇਂ ਹੈ ਅੱਗੇ ਭੇਜੋ / ਸਵੈਚਾਲਿਤ ਹਟਾਓ / ਕਸਟਮ / ਅਨੁਕੂਲੀ)। ਕੰਪ੍ਰੈਸ਼ਨ ਤੋਂ ਸੁਤੰਤਰ। THINKING_BUDGET.md ਵੇਖੋ।
/api/settings/system-prompt GET/PUT ਗਲੋਬਲ ਸਿਸਟਮ ਪ੍ਰੌਂਪਟ
/api/settings/compression GET/PUT ਗਲੋਬਲ ਕੰਪ੍ਰੈਸ਼ਨ ਸੰਰਚਨਾ
/api/settings/purge-request-history POST ਬੇਨਤੀ ਲੌਗ ਕਤਾਰਾਂ ਅਤੇ ਸਥਾਨਕ ਕਾਲ-ਲੌਗ ਆਰਟੀਫੈਕਟ ਸਾਫ਼ ਕਰੋ

ਸੰਦਰਭ ਅਤੇ ਕੰਪ੍ਰੈਸ਼ਨ

ਐਂਡਪੌਇੰਟ ਮੈਥਡ ਵੇਰਵਾ
/api/compression/preview POST off/lite/standard/aggressive/ultra/RTK/stacked ਕੰਪ੍ਰੈਸ਼ਨ ਦੀ ਝਲਕ ਵੇਖੋ
/api/compression/language-packs GET ਉਪਲਬਧ 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 ਕੰਪ੍ਰੈਸ਼ਨ ਵਿਸ਼ਲੇਸ਼ਣ ਉਪਨਾਮ

ਨਿਗਰਾਨੀ

ਐਂਡਪੌਇੰਟ ਮੈਥਡ ਵੇਰਵਾ
/api/sessions GET ਸਰਗਰਮ ਸੈਸ਼ਨ ਟ੍ਰੈਕਿੰਗ
/api/rate-limits GET ਪ੍ਰਤੀ-ਖਾਤਾ ਦਰ ਸੀਮਾਵਾਂ
/api/monitoring/health GET ਸਿਹਤ ਜਾਂਚ + ਪ੍ਰਦਾਤਾ ਸਾਰ (catalogCount, configuredCount, activeCount, monitoredCount)। ਪ੍ਰਬੰਧਨ ਦ੍ਰਿਸ਼ ਵਿੱਚ credentialHealth ਸ਼ਾਮਲ ਹੈ: ਪ੍ਰੋਬ-ਕੈਸ਼ ਸਕੇਲਰ, ਜਦੋਂ failed>0 ਹੋਵੇ ਤਾਂ failedConnections, ਅਤੇ staleDbNonOkCount (SQLite ਸਟਿੱਕੀ test_status, ਗੇਜ ਨਹੀਂ)। MONITORING_GUIDE.md ਵੇਖੋ।
/api/cache/stats GET/DELETE ਕੈਸ਼ ਅੰਕੜੇ / ਸਾਫ਼ ਕਰੋ
/api/modality-bridge/stats GET ਇਨ-ਮੈਮੋਰੀ attempts, ਸਫਲਤਾਵਾਂ/bridged, ਅਸਫਲਤਾਵਾਂ, ਕੈਸ਼ ਹਿੱਟਾਂ, totalLatencyMs, latencySamples, ਨਮੂਨਾ-ਹਰ ਵਾਲਾ averageLatencyMs, ਅਤੇ ਆਖਰੀ ਵਰਤੋਂ ਦਾ ਸਮਾਂ (ਰੀਸਟਾਰਟ ਉੱਤੇ ਰੀਸੈੱਟ; ਪ੍ਰਬੰਧਨ ਪ੍ਰਮਾਣੀਕਰਨ)
/api/modality-bridge/video/runtime GET ਪ੍ਰਬੰਧਨ ਪ੍ਰਮਾਣੀਕਰਨ/ਪ੍ਰੋਬ ਤੋਂ ਪਹਿਲਾਂ ਸਖ਼ਤ ਭਰੋਸੇਯੋਗ-ਲੂਪਬੈਕ ਜਾਂਚ; ਸੈਨੀਟਾਈਜ਼ ਕੀਤੀ FFmpeg/ffprobe ਉਪਲਬਧਤਾ ਅਤੇ ਵਰਜਨ (no-store)
/api/modality-bridge/video/extract POST ਅੰਦਰੂਨੀ ਪ੍ਰਮਾਣਿਤ ਭਰੋਸੇਯੋਗ-ਲੂਪਬੈਕ ਬਾਈਟ ਬ੍ਰੋਕਰ; 50 MiB ਇਨਪੁੱਟ, ਸੀਮਾਬੱਧ ਕਤਾਰ/32 MiB ਆਉਟਪੁੱਟ, 503 ਸਮਰੱਥਾ, 499 ਡਿਸਕਨੈਕਟ, 504 ਸਮਾਂ-ਸੀਮਾ; ਇਹ ਜਨਤਕ ਅੱਪਲੋਡ API ਨਹੀਂ ਹੈ

ਬੈਕਅੱਪ ਅਤੇ ਐਕਸਪੋਰਟ/ਇੰਪੋਰਟ

ਐਂਡਪੌਇੰਟ ਵਿਧੀ ਵੇਰਵਾ
/api/db-backups GET ਉਪਲਬਧ ਬੈਕਅੱਪਾਂ ਦੀ ਸੂਚੀ
/api/db-backups PUT ਹੱਥੀਂ ਬੈਕਅੱਪ ਬਣਾਓ
/api/db-backups POST ਕਿਸੇ ਖਾਸ ਬੈਕਅੱਪ ਤੋਂ ਰੀਸਟੋਰ ਕਰੋ
/api/db-backups/export GET ਡਾਟਾਬੇਸ ਨੂੰ .sqlite ਫ਼ਾਈਲ ਵਜੋਂ ਡਾਊਨਲੋਡ ਕਰੋ
/api/db-backups/import POST ਡਾਟਾਬੇਸ ਨੂੰ ਬਦਲਣ ਲਈ .sqlite ਫ਼ਾਈਲ ਅੱਪਲੋਡ ਕਰੋ
/api/db-backups/exportAll GET ਪੂਰਾ ਬੈਕਅੱਪ .tar.gz ਆਰਕਾਈਵ ਵਜੋਂ ਡਾਊਨਲੋਡ ਕਰੋ

ਕਲਾਊਡ ਸਿੰਕ

ਐਂਡਪੌਇੰਟ ਵਿਧੀ ਵੇਰਵਾ
/api/sync/cloud ਵੱਖ-ਵੱਖ ਕਲਾਊਡ ਸਿੰਕ ਕਾਰਵਾਈਆਂ
/api/sync/initialize POST ਸਿੰਕ ਸ਼ੁਰੂ ਕਰੋ
/api/cloud/* ਵੱਖ-ਵੱਖ ਕਲਾਊਡ ਪ੍ਰਬੰਧਨ

ਟਨਲਾਂ

ਐਂਡਪੌਇੰਟ ਵਿਧੀ ਵੇਰਵਾ
/api/tunnels/cloudflared GET ਡੈਸ਼ਬੋਰਡ ਲਈ Cloudflare 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 ਟੂਲ

ਐਂਡਪੌਇੰਟ ਵਿਧੀ ਵੇਰਵਾ
/api/cli-tools/claude-settings GET Claude CLI ਸਥਿਤੀ
/api/cli-tools/codex-settings GET Codex CLI ਸਥਿਤੀ
/api/cli-tools/droid-settings GET Droid CLI ਸਥਿਤੀ
/api/cli-tools/openclaw-settings GET OpenClaw CLI ਸਥਿਤੀ
/api/cli-tools/runtime/[toolId] GET ਆਮ CLI ਰਨਟਾਈਮ

CLI ਜਵਾਬਾਂ ਵਿੱਚ ਇਹ ਸ਼ਾਮਲ ਹੁੰਦੇ ਹਨ: installed, runnable, command, commandPath, runtimeMode, reason

ACP ਏਜੰਟ

ਐਂਡਪੌਇੰਟ ਵਿਧੀ ਵੇਰਵਾ
/api/acp/agents GET ਸਥਿਤੀ ਸਮੇਤ ਸਾਰੇ ਖੋਜੇ ਗਏ ਏਜੰਟਾਂ (ਬਿਲਟ-ਇਨ + ਕਸਟਮ) ਦੀ ਸੂਚੀ
/api/acp/agents POST ਕਸਟਮ ਏਜੰਟ ਸ਼ਾਮਲ ਕਰੋ ਜਾਂ ਖੋਜ ਕੈਸ਼ ਤਾਜ਼ਾ ਕਰੋ
/api/acp/agents DELETE id ਕਿਊਰੀ ਪੈਰਾਮੀਟਰ ਰਾਹੀਂ ਕਸਟਮ ਏਜੰਟ ਹਟਾਓ

GET ਜਵਾਬ ਵਿੱਚ agents[] (id, name, binary, version, installed, protocol, isCustom) ਅਤੇ summary (total, installed, notFound, builtIn, custom) ਸ਼ਾਮਲ ਹੁੰਦੇ ਹਨ।

ਲਚਕੀਲਾਪਣ ਅਤੇ ਦਰ ਸੀਮਾਵਾਂ

ਐਂਡਪੌਇੰਟ ਵਿਧੀ ਵੇਰਵਾ
/api/resilience GET/PATCH ਬੇਨਤੀ ਕਤਾਰ, ਕਨੈਕਸ਼ਨ ਕੂਲਡਾਊਨ, ਪ੍ਰਦਾਤਾ ਬ੍ਰੇਕਰ ਅਤੇ ਉਡੀਕ ਸੈਟਿੰਗਾਂ ਪ੍ਰਾਪਤ/ਅੱਪਡੇਟ ਕਰੋ
/api/resilience/reset POST ਪ੍ਰਦਾਤਾ ਸਰਕਿਟ ਬ੍ਰੇਕਰ ਰੀਸੈੱਟ ਕਰੋ
/api/resilience/model-cooldowns GET ਬਾਕੀ ਸਮੇਂ ਅਨੁਸਾਰ ਕ੍ਰਮਬੱਧ ਸਰਗਰਮ ਪ੍ਰਤੀ-(ਪ੍ਰਦਾਤਾ, ਕਨੈਕਸ਼ਨ, ਮਾਡਲ) ਲਾਕਆਉਟਾਂ ਦੀ ਸੂਚੀ
/api/resilience/model-cooldowns DELETE ਮਾਡਲ ਲਾਕਆਉਟ ਸਾਫ਼ ਕਰੋ — ਬੌਡੀ {provider, model} ਜਾਂ ਸਭ ਕੁਝ ਮਿਟਾਉਣ ਲਈ {all: true}
/api/rate-limits GET ਪ੍ਰਤੀ-ਖਾਤਾ ਦਰ ਸੀਮਾ ਸਥਿਤੀ
/api/rate-limit GET ਗਲੋਬਲ ਦਰ ਸੀਮਾ ਸੰਰਚਨਾ

ਸਾਰੇ ਚਾਰ /api/resilience/* ਰੂਟਾਂ ਲਈ ਪ੍ਰਬੰਧਨ ਪ੍ਰਮਾਣੀਕਰਨ (requireManagementAuth) ਲੋੜੀਂਦਾ ਹੈ। ਪ੍ਰਦਾਤਾ ਬ੍ਰੇਕਰ ਬਨਾਮ ਕਨੈਕਸ਼ਨ ਕੂਲਡਾਊਨ ਬਨਾਮ ਮਾਡਲ ਲਾਕਆਉਟ ਦੇ ਪੂਰੇ ਵੇਰਵੇ ਲਈ ਲਚਕੀਲਾਪਣ (ਵਿਸਤ੍ਰਿਤ) ਵੇਖੋ।

ਮੁਲਾਂਕਣ

ਐਂਡਪੌਇੰਟ ਵਿਧੀ ਵੇਰਵਾ
/api/evals GET/POST ਮੁਲਾਂਕਣ ਸੂਟਾਂ ਦੀ ਸੂਚੀ / ਮੁਲਾਂਕਣ ਚਲਾਓ

ਨੀਤੀਆਂ

ਐਂਡਪੌਇੰਟ ਵਿਧੀ ਵੇਰਵਾ
/api/policies GET/POST/DELETE ਰੂਟਿੰਗ ਨੀਤੀਆਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰੋ

ਅਨੁਪਾਲਣਾ

ਐਂਡਪੌਇੰਟ ਵਿਧੀ ਵੇਰਵਾ
/api/compliance/audit-log GET ਅਨੁਪਾਲਣਾ ਆਡਿਟ ਲੌਗ (ਆਖਰੀ N)

v1beta (Gemini-ਅਨੁਕੂਲ)

ਐਂਡਪੌਇੰਟ ਵਿਧੀ ਵੇਰਵਾ
/v1beta/models GET Gemini ਫਾਰਮੈਟ ਵਿੱਚ ਮਾਡਲਾਂ ਦੀ ਸੂਚੀ
/v1beta/models/{...path} POST Gemini generateContent ਐਂਡਪੌਇੰਟ

ਇਹ ਐਂਡਪੌਇੰਟ ਉਹਨਾਂ ਕਲਾਇੰਟਾਂ ਲਈ Gemini ਦੇ API ਫਾਰਮੈਟ ਦੀ ਨਕਲ ਕਰਦੇ ਹਨ, ਜਿਨ੍ਹਾਂ ਨੂੰ ਮੂਲ Gemini SDK ਅਨੁਕੂਲਤਾ ਦੀ ਉਮੀਦ ਹੁੰਦੀ ਹੈ।

ਅੰਦਰੂਨੀ / ਸਿਸਟਮ API

ਐਂਡਪੌਇੰਟ ਢੰਗ ਵੇਰਵਾ
/api/init GET ਐਪਲੀਕੇਸ਼ਨ ਸ਼ੁਰੂਆਤੀਕਰਨ ਦੀ ਜਾਂਚ (ਪਹਿਲੀ ਵਾਰ ਚਲਾਉਣ ਵੇਲੇ ਵਰਤੀ ਜਾਂਦੀ ਹੈ)
/api/tags GET Ollama-ਅਨੁਕੂਲ ਮਾਡਲ ਟੈਗ (Ollama ਕਲਾਇੰਟਾਂ ਲਈ)
/api/restart POST ਸਰਵਰ ਨੂੰ ਸੁਚਾਰੂ ਢੰਗ ਨਾਲ ਮੁੜ-ਚਾਲੂ ਕਰਨਾ ਸ਼ੁਰੂ ਕਰੋ
/api/shutdown POST ਸਰਵਰ ਨੂੰ ਸੁਚਾਰੂ ਢੰਗ ਨਾਲ ਬੰਦ ਕਰਨਾ ਸ਼ੁਰੂ ਕਰੋ
/api/system/env/repair POST OAuth ਪ੍ਰਦਾਤਾ ਦੇ ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲਾਂ ਦੀ ਮੁਰੰਮਤ ਕਰੋ

ਨੋਟ: ਇਹ ਐਂਡਪੌਇੰਟ ਸਿਸਟਮ ਦੁਆਰਾ ਅੰਦਰੂਨੀ ਤੌਰ 'ਤੇ ਜਾਂ Ollama ਕਲਾਇੰਟ ਅਨੁਕੂਲਤਾ ਲਈ ਵਰਤੇ ਜਾਂਦੇ ਹਨ। ਆਮ ਤੌਰ 'ਤੇ ਅੰਤਿਮ ਵਰਤੋਂਕਾਰ ਇਨ੍ਹਾਂ ਨੂੰ ਕਾਲ ਨਹੀਂ ਕਰਦੇ।

OAuth ਵਾਤਾਵਰਣ ਮੁਰੰਮਤ (v3.6.1+)

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

{
  "provider": "claude-code"
}

ਕਿਸੇ ਖ਼ਾਸ ਪ੍ਰਦਾਤਾ ਲਈ ਗੁੰਮ ਜਾਂ ਖ਼ਰਾਬ ਹੋਏ OAuth ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲਾਂ ਦੀ ਮੁਰੰਮਤ ਕਰਦਾ ਹੈ। ਇਹ ਵਾਪਸ ਕਰਦਾ ਹੈ:

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

ਆਡੀਓ ਟ੍ਰਾਂਸਕ੍ਰਿਪਸ਼ਨ

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

ਕਿਸੇ ਵੀ ਸੰਰਚਿਤ STT ਪ੍ਰਦਾਤਾ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਆਡੀਓ ਫ਼ਾਈਲਾਂ ਨੂੰ ਟ੍ਰਾਂਸਕ੍ਰਾਈਬ ਕਰੋ। ਪਹਿਲਾ ਪਾਥ ਸੈਗਮੈਂਟ ਮੂਲ ਪ੍ਰਦਾਤਾ (openai/…, deepgram/…) ਚੁਣਦਾ ਹੈ। ਕਿਸੇ ਹੋਰ ਵਿਕਰੇਤਾ ਦੇ ਮਾਡਲ ਨੂੰ ਮੁੜ ਨਿਰਯਾਤ ਕਰਨ ਵਾਲੇ ਗੇਟਵੇ ਇੱਕ ਯੋਗਤਾ-ਪ੍ਰਾਪਤ id (openrouter/deepgram/nova-3) ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਨ।

ਬੇਨਤੀ:

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

ਜਵਾਬ:

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

ਮਾਡਲ id ਦੀਆਂ ਉਦਾਹਰਨਾਂ: openai/whisper-1 (ਇੱਕ OpenAI ਕੁੰਜੀ ਦੀ ਲੋੜ ਹੈ), openrouter/deepgram/nova-3 (ਇੱਕ OpenRouter ਕੁੰਜੀ ਦੀ ਲੋੜ ਹੈ), deepgram/nova-3 (ਇੱਕ ਮੂਲ Deepgram ਕੁੰਜੀ ਦੀ ਲੋੜ ਹੈ)। ਸਿਰਫ਼ deepgram/nova-3 ਬੇਨਤੀ OpenRouter ਦੀ ਵਰਤੋਂ ਨਹੀਂ ਕਰਦੀ।

ਸਮਰਥਿਤ ਫਾਰਮੈਟ: mp3, wav, m4a, flac, ogg, webm


Ollama ਅਨੁਕੂਲਤਾ

Ollama ਦੇ API ਫਾਰਮੈਟ ਦੀ ਵਰਤੋਂ ਕਰਨ ਵਾਲੇ ਕਲਾਇੰਟਾਂ ਲਈ:

# ਚੈਟ ਐਂਡਪੁਆਇੰਟ (Ollama ਫਾਰਮੈਟ)
POST /v1/api/chat

# ਮਾਡਲ ਸੂਚੀ (Ollama ਫਾਰਮੈਟ)
GET /api/tags

ਬੇਨਤੀਆਂ ਨੂੰ Ollama ਅਤੇ ਅੰਦਰੂਨੀ ਫਾਰਮੈਟਾਂ ਵਿਚਕਾਰ ਆਪਣੇ-ਆਪ ਅਨੁਵਾਦ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।

ਟੋਕਨਾਈਜ਼ਡ VS Code / ਹੈਡਰ-ਰਹਿਤ ਉਪਨਾਮ

ਜਦੋਂ ਕੋਈ ਇੰਟੀਗ੍ਰੇਸ਼ਨ Authorization ਹੈਡਰ ਸ਼ਾਮਲ ਨਹੀਂ ਕਰ ਸਕਦੀ ਅਤੇ API ਕੁੰਜੀ ਨੂੰ ਬੇਸ URL ਵਿੱਚ ਸ਼ਾਮਲ ਕਰਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ, ਤਾਂ ਇਹ ਉਪਨਾਮ ਵਰਤੋ।

# 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-key ਟੋਕਨ ਬਜਟ (ਉੱਪਰ ਦਿੱਤੇ USD-ਅਧਾਰਿਤ ਬਜਟ ਤੋਂ ਵੱਖਰੇ)। ਬੇਨਤੀ ਪਾਥ 'ਤੇ ਹੀ ਲਾਗੂ ਕੀਤੇ ਜਾਂਦੇ ਹਨ: ਜਦੋਂ ਕਿਸੇ key ਦੀ ਮੌਜੂਦਾ ਵਿੰਡੋ ਵਰਤੋਂ ਆਪਣੀ ਸੀਮਾ ਤੱਕ ਪਹੁੰਚ ਜਾਂਦੀ ਹੈ, ਤਾਂ ਬੇਨਤੀਆਂ 429 Too Many Requests ਨਾਲ ਰੱਦ ਕਰ ਦਿੱਤੀਆਂ ਜਾਂਦੀਆਂ ਹਨ। ਸੀਮਾਵਾਂ ਨੂੰ ਕਿਸੇ ਖਾਸ model, ਕਿਸੇ provider ਤੱਕ ਸੀਮਿਤ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ, ਜਾਂ ਪੂਰੀ key ਉੱਤੇ global ਤੌਰ 'ਤੇ ਲਾਗੂ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ; ਜਦੋਂ ਕਈ ਸੀਮਾਵਾਂ ਕਿਸੇ ਬੇਨਤੀ ਨਾਲ ਮੇਲ ਖਾਂਦੀਆਂ ਹਨ, ਤਾਂ ਸਭ ਤੋਂ ਸਖ਼ਤ ਸੀਮਾ ਲਾਗੂ ਹੁੰਦੀ ਹੈ।

# ਕਿਸੇ key ਦੀਆਂ ਟੋਕਨ ਸੀਮਾਵਾਂ ਦੀ ਸੂਚੀ ਦਿਖਾਓ (ਲਾਈਵ ਵਿੰਡੋ ਵਰਤੋਂ ਸਮੇਤ)
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) ਲਾਜ਼ਮੀ ਹਨ। scopeValue ਲਾਜ਼ਮੀ ਹੈ, ਜਦੋਂ ਤੱਕ scopeType, global ਨਾ ਹੋਵੇ (ਉਦਾਹਰਨ ਵਜੋਂ, model ਸਕੋਪ ਲਈ model id, ਅਤੇ provider ਸਕੋਪ ਲਈ provider id)। tokenLimit ਇੱਕ ਧਨਾਤਮਕ ਪੂਰਨ ਅੰਕ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ (string ਤੋਂ ਰੂਪਾਂਤਰਿਤ)। ਵਿਕਲਪਿਕ: id (ਬਣਾਉਣ ਲਈ ਛੱਡ ਦਿਓ, ਅੱਪਡੇਟ ਕਰਨ ਲਈ ਦਿਓ), resetInterval (daily | weekly | monthly, ਮੂਲ ਮੁੱਲ monthly), resetTime (HH:MM), enabled (ਮੂਲ ਮੁੱਲ true)। GET ਜਵਾਬ ਹਰ ਸੀਮਾ ਵਿੱਚ tokensUsed, remaining, windowStart, periodStartAt, ਅਤੇ nextResetAt ਸ਼ਾਮਲ ਕਰਕੇ ਵਾਧੂ ਜਾਣਕਾਰੀ ਪ੍ਰਦਾਨ ਕਰਦੇ ਹਨ। ਇਹ ਇੱਕ ਪ੍ਰਬੰਧਨ-ਸ਼੍ਰੇਣੀ endpoint ਹੈ (ਪ੍ਰਮਾਣੀਕਰਨ authz pipeline ਦੁਆਰਾ ਕੇਂਦਰੀ ਤੌਰ 'ਤੇ ਲਾਗੂ ਕੀਤਾ ਜਾਂਦਾ ਹੈ)।

ਬੇਨਤੀ ਪ੍ਰੋਸੈਸਿੰਗ

  1. Client /v1/* ਨੂੰ ਬੇਨਤੀ ਭੇਜਦਾ ਹੈ
  2. Route handler, handleChat, handleEmbedding, handleAudioTranscription, ਜਾਂ handleImageGeneration ਨੂੰ ਕਾਲ ਕਰਦਾ ਹੈ
  3. Model ਨੂੰ ਹੱਲ ਕੀਤਾ ਜਾਂਦਾ ਹੈ (ਸਿੱਧਾ provider/model ਜਾਂ alias/combo)
  4. Account ਉਪਲਬਧਤਾ ਫਿਲਟਰਿੰਗ ਨਾਲ ਸਥਾਨਕ DB ਵਿੱਚੋਂ credentials ਚੁਣੇ ਜਾਂਦੇ ਹਨ
  5. Chat ਲਈ: handleChatCore semantic/signature cache ਦੀ ਜਾਂਚ ਕਰਦਾ ਹੈ ਅਤੇ combo compression ਸੈਟਿੰਗਾਂ ਨੂੰ ਹੱਲ ਕਰਦਾ ਹੈ
  6. ਸਮਰੱਥ ਹੋਣ 'ਤੇ provider translation ਤੋਂ ਪਹਿਲਾਂ proactive compression ਚੱਲਦੀ ਹੈ (lite, Caveman, RTK, ਜਾਂ stacked)
  7. Provider executor upstream ਬੇਨਤੀ ਭੇਜਦਾ ਹੈ
  8. ਜਵਾਬ ਨੂੰ ਵਾਪਸ client format ਵਿੱਚ ਅਨੁਵਾਦ ਕੀਤਾ ਜਾਂਦਾ ਹੈ (chat), ਜਾਂ ਜਿਵੇਂ ਹੈ ਤਿਵੇਂ ਵਾਪਸ ਕੀਤਾ ਜਾਂਦਾ ਹੈ (embeddings/images/audio)
  9. ਵਰਤੋਂ, compression analytics, ਅਤੇ ਬੇਨਤੀ logs ਦਰਜ ਕੀਤੇ ਜਾਂਦੇ ਹਨ
  10. ਗਲਤੀਆਂ ਹੋਣ 'ਤੇ combo ਨਿਯਮਾਂ ਅਨੁਸਾਰ fallback ਲਾਗੂ ਹੁੰਦਾ ਹੈ

ਪੂਰਾ architecture ਹਵਾਲਾ: ARCHITECTURE.md


Combo ਪ੍ਰਬੰਧਨ

ਉੱਚ-ਪੱਧਰੀ routing combos (ਜਿਨ੍ਹਾਂ ਦਾ ਸੰਖੇਪ ਪਹਿਲਾਂ ਹੀ /api/combos* ਹੇਠ ਦਿੱਤਾ ਗਿਆ ਹੈ) ਨੂੰ model id pattern ਤੋਂ 1:1 ਵੀ map ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ, ਜਿਸ ਨਾਲ OpenAI-ਸ਼ੈਲੀ model id ਨੂੰ ਪਾਰਦਰਸ਼ੀ ਢੰਗ ਨਾਲ ਕਿਸੇ combo ਵੱਲ redirect ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।

ਵਿਧੀ ਪਾਥ ਵੇਰਵਾ
GET /api/model-combo-mappings ਸਾਰੀਆਂ model→combo mappings ਦੀ ਸੂਚੀ ਦਿਖਾਓ
POST /api/model-combo-mappings Mapping ਬਣਾਓ — body: {pattern, comboId, priority?, enabled?, description?}
GET /api/model-combo-mappings/[id] ਇੱਕ mapping ਪ੍ਰਾਪਤ ਕਰੋ
PUT /api/model-combo-mappings/[id] ਮੌਜੂਦਾ mapping ਦੇ fields ਅੱਪਡੇਟ ਕਰੋ
DELETE /api/model-combo-mappings/[id] ਇੱਕ mapping ਹਟਾਓ

ਪ੍ਰਮਾਣੀਕਰਨ: management session/API key (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 → "Resilience Runtime State" ਵੇਖੋ।


ਸਕਿੱਲਾਂ

ਕਸਟਮ ਐਗਜ਼ੀਕਿਊਟੇਬਲ ਹੈਂਡਲਰਾਂ ਨਾਲ 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 ਹਾਰਟਬੀਟ, ਟ੍ਰਾਂਸਪੋਰਟ, ਔਨਲਾਈਨ ਸਥਿਤੀ, ਆਖਰੀ ਕਾਲ, ਪ੍ਰਮੁੱਖ ਟੂਲ, 24h ਸਫਲਤਾ ਦਰ
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 (Agent-to-Agent) 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 ਏਜੰਟ ਕਾਰਡ (ਨਾਮ, ਵੇਰਵਾ, ਸਮਰੱਥਾਵਾਂ, ਸਕਿੱਲ ਕੈਟਾਲਾਗ, ਪ੍ਰਮਾਣੀਕਰਨ ਸਕੀਮ) ਵਾਪਸ ਕਰਦਾ ਹੈ — ਸਰਵਜਨਕ ਤੌਰ 'ਤੇ 1 ਘੰਟੇ ਲਈ ਕੈਸ਼ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਪ੍ਰਮਾਣੀਕਰਨ ਦੀ ਲੋੜ ਨਹੀਂ ਹੈ।

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 ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ।


ਕਲਾਉਡ, Evals ਅਤੇ Assess

ਵਿਧੀ ਪਾਥ ਵੇਰਵਾ
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 ਬਿਲਟ-ਇਨ eval ਸੂਟਾਂ + ਸਭ ਤੋਂ ਹਾਲੀਆ ਰਨਾਂ ਨੂੰ ਸੂਚੀਬੱਧ ਕਰੋ
POST /api/evals ਇੱਕ eval ਰਨ ਟ੍ਰਿਗਰ ਕਰੋ
POST /api/evals/suites ਇੱਕ ਕਸਟਮ eval ਸੂਟ ਬਣਾਓ — ਬੌਡੀ ਦੀ ਪੁਸ਼ਟੀ evalSuiteSaveSchema ਦੁਆਰਾ ਕੀਤੀ ਜਾਂਦੀ ਹੈ
GET /api/evals/suites/[id] ਇੱਕ ਕਸਟਮ eval ਸੂਟ ਪ੍ਰਾਪਤ ਕਰੋ

ਪ੍ਰਮਾਣੀਕਰਨ: /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 ਦੇ ਕਸਟਮ 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 ਕੁੰਜੀ ਦੀ ਲੋੜ ਹੈ।


ਕੈਸ਼ ਪ੍ਰਬੰਧਨ

ਸਿਮੈਂਟਿਕ ਕੈਸ਼ ਅਤੇ ਰੀਜ਼ਨਿੰਗ ਕੈਸ਼ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰੋ।

ਵਿਧੀ ਪਾਥ ਵੇਰਵਾ
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 ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ
  • requireLogin ਨੂੰ /api/settings/require-login ਰਾਹੀਂ ਟੌਗਲ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ
  • REQUIRE_API_KEY=true ਹੋਣ 'ਤੇ /v1/* ਰੂਟ ਵਿਕਲਪਿਕ ਤੌਰ 'ਤੇ 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) ਵੇਖੋ।