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
171 KiB
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/ ਅਧੀਨ ਰੂਟ ਟ੍ਰੀ ਸੰਪੂਰਨ ਸਰੋਤ ਹਨ।
ਵਿਸ਼ਾ-ਸੂਚੀ
- ਚੈਟ ਸੰਪੂਰਨਤਾਵਾਂ
- ਵਿਸ਼ੇਸ਼ ਪ੍ਰਬੰਧਿਤ ਸੈਸ਼ਨ ਲੀਜ਼ਾਂ
- ਐਮਬੈਡਿੰਗ
- ਚਿੱਤਰ ਉਤਪਤੀ
- ਦਸਤਾਵੇਜ਼ OCR
- ਮਾਡਲਾਂ ਦੀ ਸੂਚੀ
- ਪ੍ਰਦਾਤਾ ਪਲੱਗਇਨ ਮੈਨੀਫੈਸਟ
- ਅਨੁਕੂਲਤਾ ਐਂਡਪੌਇੰਟ
- ਫ਼ਾਈਲਾਂ API
- ਬੈਚ API
- ਖੋਜ API
- WebSocket ਸਟ੍ਰੀਮਿੰਗ
- ਕੋਟੇ ਅਤੇ ਸਮੱਸਿਆਵਾਂ ਦੀ ਰਿਪੋਰਟਿੰਗ
- ਸਿਮੈਂਟਿਕ ਕੈਸ਼
- ਡੈਸ਼ਬੋਰਡ ਅਤੇ ਪ੍ਰਬੰਧਨ
- ਕੌਂਬੋ ਪ੍ਰਬੰਧਨ
- ਵੈੱਬਹੁੱਕ
- ਰਜਿਸਟਰ ਕੀਤੀਆਂ ਕੁੰਜੀਆਂ (ਸਵੈ-ਪ੍ਰਬੰਧਨ)
- ਏਜੰਟ ਪ੍ਰੋਟੋਕੋਲ
- ਪ੍ਰਬੰਧਨ ਪ੍ਰੌਕਸੀ
- ਲਚੀਲਾਪਣ (ਵਿਸਤ੍ਰਿਤ)
- ਹੁਨਰ
- ਮੈਮੋਰੀ
- MCP ਸਰਵਰ
- A2A ਸਰਵਰ
- ਕਲਾਉਡ, ਮੁਲਾਂਕਣ ਅਤੇ ਅੰਕਲਣ
- ਬੇਨਤੀ ਪ੍ਰਕਿਰਿਆ
- ਪ੍ਰਮਾਣੀਕਰਨ
ਚੈਟ ਸੰਪੂਰਨਤਾਵਾਂ
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-Cost0.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 ਨਹੀਂ ਦਿੱਤਾ ਜਾਂਦਾ, ਤਾਂ ਪੂਲ
(firecrawl → jina-reader → tavily-search → tinyfish → nimble-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(0–1),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 ਦੁਆਰਾ ਕੇਂਦਰੀ ਤੌਰ 'ਤੇ ਲਾਗੂ ਕੀਤਾ ਜਾਂਦਾ ਹੈ)।
ਬੇਨਤੀ ਪ੍ਰੋਸੈਸਿੰਗ
- Client
/v1/*ਨੂੰ ਬੇਨਤੀ ਭੇਜਦਾ ਹੈ - Route handler,
handleChat,handleEmbedding,handleAudioTranscription, ਜਾਂhandleImageGenerationਨੂੰ ਕਾਲ ਕਰਦਾ ਹੈ - Model ਨੂੰ ਹੱਲ ਕੀਤਾ ਜਾਂਦਾ ਹੈ (ਸਿੱਧਾ provider/model ਜਾਂ alias/combo)
- Account ਉਪਲਬਧਤਾ ਫਿਲਟਰਿੰਗ ਨਾਲ ਸਥਾਨਕ DB ਵਿੱਚੋਂ credentials ਚੁਣੇ ਜਾਂਦੇ ਹਨ
- Chat ਲਈ:
handleChatCoresemantic/signature cache ਦੀ ਜਾਂਚ ਕਰਦਾ ਹੈ ਅਤੇ combo compression ਸੈਟਿੰਗਾਂ ਨੂੰ ਹੱਲ ਕਰਦਾ ਹੈ - ਸਮਰੱਥ ਹੋਣ 'ਤੇ provider translation ਤੋਂ ਪਹਿਲਾਂ proactive compression ਚੱਲਦੀ ਹੈ (
lite, Caveman, RTK, ਜਾਂ stacked) - Provider executor upstream ਬੇਨਤੀ ਭੇਜਦਾ ਹੈ
- ਜਵਾਬ ਨੂੰ ਵਾਪਸ client format ਵਿੱਚ ਅਨੁਵਾਦ ਕੀਤਾ ਜਾਂਦਾ ਹੈ (chat), ਜਾਂ ਜਿਵੇਂ ਹੈ ਤਿਵੇਂ ਵਾਪਸ ਕੀਤਾ ਜਾਂਦਾ ਹੈ (embeddings/images/audio)
- ਵਰਤੋਂ, compression analytics, ਅਤੇ ਬੇਨਤੀ logs ਦਰਜ ਕੀਤੇ ਜਾਂਦੇ ਹਨ
- ਗਲਤੀਆਂ ਹੋਣ 'ਤੇ 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= (1–500, ਮੂਲ 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) ਵੇਖੋ।