🌐 Languages: 🇺🇸 English · 🇪🇹 am · 🇸🇦 ar · 🇦🇿 az · 🇧🇬 bg · 🇧🇩 bn · 🇧🇦 bs · 🇨🇿 cs · 🇩🇰 da · 🇩🇪 de · 🇬🇷 el · 🇪🇸 es · 🇪🇪 et · 🇮🇷 fa · 🇫🇮 fi · 🇫🇷 fr · 🇮🇪 ga · 🇮🇳 gu · 🇳🇬 ha · 🇮🇱 he · 🇮🇳 hi · 🇭🇷 hr · 🇭🇺 hu · 🇦🇲 hy · 🇮🇩 id · 🇳🇬 ig · 🇮🇹 it · 🇯🇵 ja · 🇬🇪 ka · 🇰🇭 km · 🇮🇳 kn · 🇰🇷 ko · 🇱🇹 lt · 🇱🇻 lv · 🇮🇳 ml · 🇮🇳 mr · 🇲🇾 ms · 🇲🇹 mt · 🇲🇲 my · 🇳🇵 ne · 🇳🇱 nl · 🇳🇴 no · 🇮🇳 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
🌐 Languages: 🇺🇸 English · 🇪🇹 am · 🇸🇦 ar · 🇦🇿 az · 🇧🇬 bg · 🇧🇩 bn · 🇧🇦 bs · 🇨🇿 cs · 🇩🇰 da · 🇩🇪 de · 🇬🇷 el · 🇪🇸 es · 🇪🇪 et · 🇮🇷 fa · 🇫🇮 fi · 🇫🇷 fr · 🇮🇪 ga · 🇮🇳 gu · 🇳🇬 ha · 🇮🇱 he · 🇮🇳 hi · 🇭🇷 hr · 🇭🇺 hu · 🇦🇲 hy · 🇮🇩 id · 🇳🇬 ig · 🇮🇹 it · 🇯🇵 ja · 🇬🇪 ka · 🇰🇭 km · 🇮🇳 kn · 🇰🇷 ko · 🇱🇹 lt · 🇱🇻 lv · 🇮🇳 ml · 🇮🇳 mr · 🇲🇾 ms · 🇲🇹 mt · 🇲🇲 my · 🇳🇵 ne · 🇳🇱 nl · 🇳🇴 no · 🇮🇳 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"}ਸਫਲ ਪ੍ਰਾਪਤੀ, ਨਵੀਨੀਕਰਨ, ਅਤੇ ਰੀਲੀਜ਼ ਪ੍ਰਤੀਕਿਰਿਆਵਾਂ ਟਾਈਮਸਟੈਂਪ, state, ਅਤੇ ਸਹੀ ਸਕਾਰਾਤਮਕ generation ਨੂੰ ਪ੍ਰਗਟ ਕਰਦੀਆਂ ਹਨ, ਪਰ ਕਦੇ ਵੀ ਚੁਣੇ ਗਏ ਕਨੈਕਸ਼ਨ ਜਾਂ ਪ੍ਰਮਾਣ ਪੱਤਰਾਂ ਨੂੰ ਨਹੀਂ। ਨਵੀਨੀਕਰਨ ਅਤੇ ਰੀਲੀਜ਼ JSON ਬੌਡੀ ਵਿੱਚ ਜਨਰੇਸ਼ਨ ਪ੍ਰਦਾਨ ਕਰਦੇ ਹਨ:
{ "action": "renew", "generation": 1 }{ "action": "release", "generation": 1, "reason": "OWNER_EXIT" }ਇੱਕ ਸਰਗਰਮ ਲੀਜ਼ ਮਾਲਕ ਆਪਣੀ ਮੌਜੂਦਾ ਬਾਈਡਿੰਗ ਲਈ ਗੋਪਨੀਯਤਾ-ਸੁਰੱਖਿਅਤ ਡਿਸਪਲੇ ਮੈਟਾਡੇਟਾ ਦੀ ਸਪਸ਼ਟ ਤੌਰ 'ਤੇ ਬੇਨਤੀ ਕਰ ਸਕਦਾ ਹੈ:
{ "action": "status", "generation": 1 }{
"state": "ACTIVE",
"generation": 1,
"acquiredAt": "2026-08-28T12:00:00.000Z",
"renewedAt": "2026-08-28T12:00:30.000Z",
"expiresAt": "2026-08-28T12:02:30.000Z",
"connection": {
"displayName": "Primary Codex",
"provider": "codex"
}
}ਇਹ ਵਿਕਲਪਿਕ ਸਥਿਤੀ ਕਾਰਵਾਈ ਅਪਾਰਦਰਸ਼ੀ ਮਾਲਕ, ਪ੍ਰਮਾਣਿਤ ਪ੍ਰਬੰਧਿਤ API ਕੁੰਜੀ, ਅਤੇ ਇੱਕ ਡਾਟਾਬੇਸ ਟ੍ਰਾਂਜੈਕਸ਼ਨ ਵਿੱਚ ਸਹੀ ਸਰਗਰਮ ਜਨਰੇਸ਼ਨ ਦੁਆਰਾ ਘੇਰੀ ਹੋਈ ਹੈ। displayName ਸਿਰਫ਼ ਛਾਂਟਿਆ ਹੋਇਆ ਕੌਂਫਿਗਰ ਕੀਤਾ ਕਨੈਕਸ਼ਨ ਨਾਮ ਹੈ; ਜਦੋਂ ਕੋਈ ਸੁਰੱਖਿਅਤ ਕੌਂਫਿਗਰ ਕੀਤਾ ਨਾਮ ਮੌਜੂਦ ਨਹੀਂ ਹੁੰਦਾ ਤਾਂ ਇਹ null ਹੁੰਦਾ ਹੈ। OmniRoute ਕਦੇ ਵੀ ਈਮੇਲ ਜਾਂ ਤਿਆਰ ਕੀਤੀ ਖਾਤਾ ਪਛਾਣ ਨੂੰ ਬਦਲਦਾ ਨਹੀਂ ਹੈ। ਪ੍ਰਦਾਤਾ ਮੁੱਲ ਇੱਕ ਗੈਰ-ਸੰਵੇਦਨਸ਼ੀਲ ਡਿਸਪਲੇ ਲੇਬਲ ਹੈ ਅਤੇ ਕਦੇ ਵੀ ਤਿਆਰ ਕੀਤਾ ਅਨੁਕੂਲ-ਪ੍ਰਦਾਤਾ ਪਛਾਣਕਰਤਾ ਨਹੀਂ ਹੈ। ਪ੍ਰਮਾਣ ਪੱਤਰ, ਟੋਕਨ, ਕੂਕੀਜ਼, ਕੱਚੇ ਕਨੈਕਸ਼ਨ ਜਾਂ API ਕੁੰਜੀ ਆਈਡੀ, ਮਾਲਕ ਹੈਸ਼, ਫੈਂਸਿੰਗ ਸੀਕਰੇਟਸ, ਅਤੇ ਅੰਦਰੂਨੀ ਰੂਟਿੰਗ ਡੇਟਾ ਨੂੰ ਬਾਹਰ ਰੱਖਿਆ ਗਿਆ ਹੈ।
ਗਲਤ-ਕੁੰਜੀ, ਗਲਤ-ਮਾਲਕ, ਪੁਰਾਣੀ-ਜਨਰੇਸ਼ਨ, ਗੁੰਮ, ਮਿਆਦ ਪੁੱਗ ਚੁੱਕੇ, ਰੀਲੀਜ਼ ਕੀਤੇ, ਅਤੇ ਅਵੈਧ ਕੀਤੇ ਗਏ ਲੁੱਕਅੱਪ ਸਾਰੇ ਕਨੈਕਸ਼ਨ ਮੈਟਾਡੇਟਾ ਤੋਂ ਬਿਨਾਂ ਇੱਕੋ 409 LEASE_FENCE_STALE ਗਲਤੀ ਵਾਪਸ ਕਰਦੇ ਹਨ। ਇੱਕ ਕਲਾਇੰਟ ਜਿਸਨੂੰ ਸਮਰੱਥਾ-ਇੰਤਜ਼ਾਰ ਪ੍ਰਤੀਕਿਰਿਆ ਪ੍ਰਾਪਤ ਹੋਈ ਹੈ, ਉਸ ਕੋਲ ਜਾਂਚ ਕਰਨ ਲਈ ਕੋਈ ਸਰਗਰਮ ਬਾਈਡਿੰਗ ਨਹੀਂ ਹੈ। ਜਦੋਂ ਰੂਟਿੰਗ ਇੱਕ ਸਰਗਰਮ ਲੀਜ਼ ਨੂੰ ਬਦਲਦੀ ਹੈ, ਤਾਂ ਉਹੀ ਜਨਰੇਸ਼ਨ ਵੈਧ ਰਹਿੰਦੀ ਹੈ ਅਤੇ ਸਥਿਤੀ ਪਰਮਾਣੂ ਤੌਰ 'ਤੇ ਨਵੀਂ ਬਾਈਡਿੰਗ ਵਾਪਸ ਕਰਦੀ ਹੈ, ਕਦੇ ਵੀ ਪੁਰਾਣੀ ਨਹੀਂ। ਮੌਜੂਦਾ ਕਲਾਇੰਟ ਅਪਰਿਵਰਤਿਤ ਰਹਿੰਦੇ ਹਨ ਕਿਉਂਕਿ ਪ੍ਰਾਪਤੀ, ਨਵੀਨੀਕਰਨ, ਰੀਲੀਜ਼, ਅਤੇ ਉਡੀਕ ਪ੍ਰਤੀਕਿਰਿਆਵਾਂ ਆਪਣੀਆਂ ਪਿਛਲੀਆਂ ਆਕਾਰਾਂ ਨੂੰ ਬਰਕਰਾਰ ਰੱਖਦੀਆਂ ਹਨ।
ਇਹ ਸਰਵਰ ਕੰਟਰੈਕਟ ਸਟਾਕ OpenAI Codex /status ਨੂੰ ਨਹੀਂ ਬਦਲਦਾ। ਸਟਾਕ ਕੋਡੈਕ ਵਰਤਮਾਨ ਵਿੱਚ ਆਪਣੇ ਮਾਡਲ ਪ੍ਰਦਾਤਾ ਅਤੇ ਬਿਲਟ-ਇਨ ਪ੍ਰਮਾਣਿਕਤਾ/ਖਾਤਾ ਸਥਿਤੀ ਦੀ ਰਿਪੋਰਟ ਕਰਦਾ ਹੈ ਪਰ ਮਨਮਾਨੇ ਕਸਟਮ ਪ੍ਰਦਾਤਾ ਖਾਤਾ ਮੈਟਾਡੇਟਾ ਨੂੰ ਰੈਂਡਰ ਨਹੀਂ ਕਰਦਾ; ਇੱਕ ਬਾਅਦ ਵਿੱਚ ਕਲਾਇੰਟ ਏਕੀਕਰਣ ਨੂੰ ਇਸ ਕਾਰਵਾਈ ਨੂੰ ਕਾਲ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ ਅਤੇ ਇਹ ਫੈਸਲਾ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ ਕਿ connection.displayName ਨੂੰ ਕਿਵੇਂ ਪ੍ਰਦਰਸ਼ਿਤ ਕਰਨਾ ਹੈ।
ਹਰ ਪ੍ਰਬੰਧਿਤ ਅਨੁਮਾਨ ਬੇਨਤੀ ਫਿਰ ਦੋਵੇਂ ਕੰਟਰੋਲ ਹੈਡਰ ਪ੍ਰਦਾਨ ਕਰਦੀ ਹੈ:
X-OmniRoute-Lease-Owner: vlo_<43-base64url-characters>
X-OmniRoute-Lease-Generation: 1ਸਹੀ ਮਾਲਕ, ਜਨਰੇਸ਼ਨ, ਸਰਗਰਮ ਕਨੈਕਸ਼ਨ, ਅਤੇ ਪ੍ਰਮਾਣਿਤ API ਕੁੰਜੀ ਨੂੰ ਹਰੇਕ ਸਮਰਥਿਤ ਅੱਪਸਟ੍ਰੀਮ ਕੋਸ਼ਿਸ਼ ਤੋਂ ਤੁਰੰਤ ਪਹਿਲਾਂ ਘੇਰਿਆ ਜਾਂਦਾ ਹੈ। ਕਿਸੇ ਹੋਰ ਕੁੰਜੀ ਨਾਲ ਮਾਲਕ ਅਤੇ ਜਨਰੇਸ਼ਨ ਨੂੰ ਦੁਬਾਰਾ ਚਲਾਉਣਾ ਅਸਫਲ ਹੋ ਜਾਂਦਾ ਹੈ ਭਾਵੇਂ ਉਹ ਕੁੰਜੀ ਉਸੇ ਕਨੈਕਸ਼ਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦੀ ਹੋਵੇ। ਕੱਚੇ ਮਾਲਕਾਂ ਨੂੰ ਸਥਾਈ ਨਹੀਂ ਕੀਤਾ ਜਾਂਦਾ, ਲੌਗ ਨਹੀਂ ਕੀਤਾ ਜਾਂਦਾ, ਬੇਨਤੀ ਸਨੈਪਸ਼ਾਟ ਵਿੱਚ ਬਰਕਰਾਰ ਨਹੀਂ ਰੱਖਿਆ ਜਾਂਦਾ, ਜਾਂ ਅੱਪਸਟ੍ਰੀਮ ਨੂੰ ਅੱਗੇ ਨਹੀਂ ਭੇਜਿਆ ਜਾਂਦਾ।
ਅਸਥਾਈ ਵਿਵਾਦ HTTP 429 ਨੂੰ Retry-After ਅਤੇ ਇਸ ਨਾਲ ਵਾਪਸ ਕਰਦਾ ਹੈ:
{
"state": "WAITING_FOR_CAPACITY",
"error": { "type": "lease_error", "code": "LEASE_CAPACITY_UNAVAILABLE" },
"reason": "NO_FREE_ELIGIBLE_CONNECTION",
"retryAfter": 30
}ਇਸ ਪ੍ਰਤੀਕਿਰਿਆ ਦਾ ਮਤਲਬ ਸਿਰਫ਼ ਇਹ ਹੈ ਕਿ ਆਮ ਯੋਗ ਸੈੱਟ ਗੈਰ-ਖਾਲੀ ਸੀ ਅਤੇ ਹਰ ਮੁਫਤ ਉਮੀਦਵਾਰ ਨੂੰ ਇੱਕ ਵਿਦੇਸ਼ੀ ਸਰਗਰਮ ਲੀਜ਼ ਦੁਆਰਾ ਰੱਖਿਆ ਗਿਆ ਸੀ। ਅਸਮਰਥਿਤ ਮਾਡਲ/ਪ੍ਰਦਾਤਾ, ਨੀਤੀ ਅਸੰਗਤਤਾ, ਕੂਲਡਾਊਨ, ਕੋਟਾ, ਸਿਹਤ, ਅਤੇ ਹੋਰ ਆਮ ਯੋਗਤਾ ਅਸਫਲਤਾਵਾਂ ਆਪਣੀਆਂ ਮੌਜੂਦਾ OmniRoute ਪ੍ਰਤੀਕਿਰਿਆਵਾਂ ਨੂੰ ਬਰਕਰਾਰ ਰੱਖਦੀਆਂ ਹਨ।
ਕੰਪਰੈਸ਼ਨ ਯੋਜਨਾ ਦੀ ਪ੍ਰਤੀ-ਬੇਨਤੀ ਓਵਰਰਾਈਡ। ਸਭ ਤੋਂ ਵੱਧ ਤਰਜੀਹ — ਰੂਟਿੰਗ-ਕੰਬੋ ਓਵਰਰਾਈਡ, ਸਰਗਰਮ ਪ੍ਰੋਫਾਈਲ, ਆਟੋ-ਟ੍ਰਿਗਰ, ਅਤੇ ਪੈਨਲ ਡਿਫੌਲਟ ਨੂੰ ਹਰਾਉਂਦੀ ਹੈ। ਮੁੱਲ:
| ਮੁੱਲ | ਪ੍ਰਭਾਵ |
|---|---|
off |
ਇਸ ਬੇਨਤੀ ਲਈ ਕੋਈ ਕੰਪਰੈਸ਼ਨ ਨਹੀਂ। |
default |
ਪੈਨਲ-ਡਰਾਈਵਡ ਡਿਫੌਲਟ ਪ੍ਰੋਫਾਈਲ (ਸਰਗਰਮ ਪ੍ਰੋਫਾਈਲ ਨੂੰ ਅਣਡਿੱਠ ਕਰਦਾ ਹੈ)। ਲੌਸੀ ਇੰਜਣ ਬੰਦ ਰਹਿੰਦੇ ਹਨ। |
safe |
ਸਿਰਫ਼ ਡੀਡੁਪ ਅਤੇ ਵ੍ਹਾਈਟਸਪੇਸ ਫੋਲਡਿੰਗ। |
allow-lossy |
ਇਸ ਬੇਨਤੀ ਲਈ ਆਪਰੇਟਰ ਯੋਜਨਾ ਰੱਖੋ, ਜਿਸ ਵਿੱਚ ਸਾਰਾਂਸ਼ ਅਤੇ ਸ਼ੈਲੀ ਰੀਰਾਈਟਸ ਸ਼ਾਮਲ ਹਨ। |
engine:<id> |
ਇੱਕ ਸਿੰਗਲ ਇੰਜਣ ਜਦੋਂ ਸਮਰੱਥ ਹੁੰਦਾ ਹੈ, ਜਿਵੇਂ ਕਿ engine:rtk। ਉਸ ਇੰਜਣ ਲਈ ਪ੍ਰਤੀ-ਬੇਨਤੀ ਵਿਕਲਪਿਕ। |
<combo> |
ਇੱਕ ਨਾਮਿਤ ਕੰਬੋ, ਪਹਿਲਾਂ ਨਾਮ (ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ) ਦੁਆਰਾ, ਫਿਰ ਆਈਡੀ ਦੁਆਰਾ ਮੇਲ ਖਾਂਦਾ ਹੈ। |
ਨੋਟਸ:
- ਅਣਜਾਣ ਮੁੱਲਾਂ ਨੂੰ ਅਣਡਿੱਠ ਕੀਤਾ ਜਾਂਦਾ ਹੈ (ਬੇਨਤੀ ਨੂੰ ਕਦੇ ਵੀ ਰੱਦ ਨਹੀਂ ਕੀਤਾ ਜਾਂਦਾ); ਰੈਜ਼ੋਲੂਸ਼ਨ ਆਮ ਆਪਰੇਟਰ ਤਰਜੀਹ 'ਤੇ ਆ ਜਾਂਦਾ ਹੈ।
- ਜੇਕਰ ਕਈ ਕੰਬੋਜ਼ ਇੱਕ ਨਾਮ ਸਾਂਝਾ ਕਰਦੇ ਹਨ, ਤਾਂ ਇੱਕ ਨਿਰਧਾਰਤ ਮੈਚ ਲਈ ਕੰਬੋ id ਪਾਸ ਕਰੋ।
- ਇੱਕ ਕੰਬੋ ਜਿਸਦਾ ਨਾਮ
offਜਾਂdefaultਹੈ, ਨੂੰ ਨਾਮ ਦੁਆਰਾ ਨਹੀਂ ਚੁਣਿਆ ਜਾ ਸਕਦਾ (ਉਹਨਾਂ ਕੀਵਰਡਾਂ ਦੀ ਪਹਿਲਾਂ ਵਿਆਖਿਆ ਕੀਤੀ ਜਾਂਦੀ ਹੈ); ਅਜਿਹੇ ਕੰਬੋ ਨੂੰ ਇਸਦੀ ਆਈਡੀ ਦੁਆਰਾ ਸੰਦਰਭਿਤ ਕਰੋ। - ਮਾਸਟਰ ਕੰਪਰੈਸ਼ਨ ਸਵਿੱਚ ਇੱਕ ਸਖ਼ਤ ਗੇਟ ਹੈ: ਜਦੋਂ ਕੰਪਰੈਸ਼ਨ ਨੂੰ ਵਿਸ਼ਵ ਪੱਧਰ 'ਤੇ ਅਸਮਰੱਥ ਬਣਾਇਆ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਇਹ ਹੈਡਰ ਇਸਨੂੰ ਸਮਰੱਥ ਨਹੀਂ ਕਰ ਸਕਦਾ।
ਲਾਗੂ ਕੀਤੀ ਯੋਜਨਾ ਪ੍ਰਤੀਕਿਰਿਆ ਹੈਡਰ ਵਿੱਚ ਵਾਪਸ ਗੂੰਜਦੀ ਹੈ:
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/embeddingsPOST /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/generationsPOST /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 ਦਾ analyze API ਅਸਮਕਾਲੀ ਹੈ: ਸ਼ੁਰੂਆਤੀ ਬੇਨਤੀ ਬਾਡੀ ਦੀ ਬਜਾਏ ਇੱਕ
Operation-Location ਹੈਡਰ ਵਾਪਸ ਕਰਦੀ ਹੈ, ਅਤੇ ਨਤੀਜੇ ਲਈ ਪੋਲ ਕਰਨਾ ਲਾਜ਼ਮੀ ਹੈ। ਹੈਂਡਲਰ
(open-sse/handlers/ocr.ts) ਉਸ URL ਨੂੰ ਹਰ ਸਕਿੰਟ, ਵੱਧ ਤੋਂ ਵੱਧ 30 ਕੋਸ਼ਿਸ਼ਾਂ ਤੱਕ ਪੋਲ ਕਰਦਾ ਹੈ, ਕਿਸੇ non-ok ਪੋਲ ਜਵਾਬ ਜਾਂ "failed" ਸਥਿਤੀ ਉੱਤੇ ਤੁਰੰਤ ਅਸਫਲ ਹੋ ਜਾਂਦਾ ਹੈ (ਪੋਲ ਕਰਨਾ
ਜਾਰੀ ਨਹੀਂ ਰੱਖਦਾ), ਅਤੇ ਜੇ ਕੋਸ਼ਿਸ਼ਾਂ ਦੀ ਸੀਮਾ ਖ਼ਤਮ ਹੋਣ ਤੋਂ ਬਾਅਦ ਵੀ ਕਾਰਵਾਈ ਚੱਲ ਰਹੀ ਹੋਵੇ ਤਾਂ 504 ਵਾਪਸ ਕਰਦਾ ਹੈ। ਅੰਤਿਮ Azure ਜਵਾਬ ਨੂੰ ਕਾਲਰ ਨੂੰ ਵਾਪਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ
Mistral ਵੱਲੋਂ ਵਰਤੇ ਜਾਂਦੇ ਉਸੇ pages/markdown ਰੂਪ ਵਿੱਚ ਨਾਰਮਲਾਈਜ਼ ਕੀਤਾ ਜਾਂਦਾ ਹੈ,
ਇਸ ਲਈ ਕਲਾਇੰਟ ਕੋਡ ਨੂੰ ਪ੍ਰਦਾਤਾ ਲਈ ਵਿਸ਼ੇਸ਼ ਕੇਸ ਬਣਾਉਣ ਦੀ ਲੋੜ ਨਹੀਂ ਹੁੰਦੀ।
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 ਫਾਰਮੈਟ ਵਿੱਚ ਸਾਰੇ ਚੈਟ, ਐਮਬੈਡਿੰਗ ਅਤੇ ਚਿੱਤਰ ਮਾਡਲ + ਕੰਬੋ ਵਾਪਸ ਕਰਦਾ ਹੈਜ਼ਿਆਦਾਤਰ ਮਾਡਲ ਇੱਕ ਪ੍ਰੋਵਾਈਡਰ ਪ੍ਰੀਫਿਕਸ ਹੇਠ ਦਰਸਾਏ ਜਾਂਦੇ ਹਨ। ਤੁਹਾਨੂੰ ਕਿਹੜਾ ਪ੍ਰੀਫਿਕਸ ਮਿਲਦਾ ਹੈ, ਇਹ
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-manifestBifrost, CLIProxyAPI ਅਤੇ ਭਵਿੱਖ ਦੇ sidecar ਰਾਊਟਰਾਂ ਦੁਆਰਾ ਵਰਤਿਆ ਜਾਣ ਵਾਲਾ JSON-ਸੁਰੱਖਿਅਤ ਪ੍ਰਦਾਤਾ ਪਲੱਗਇਨ ਮੈਨਿਫੈਸਟ ਵਾਪਸ ਕਰਦਾ ਹੈ। ਜਵਾਬ TypeScript ਪ੍ਰਦਾਤਾ ਰਜਿਸਟਰੀ ਤੋਂ ਤਿਆਰ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਅਤੇ ਜਾਣ-ਬੁੱਝ ਕੇ OAuth ਕਲਾਇੰਟ ਸੀਕ੍ਰੇਟ, ਰਨਟਾਈਮ ਵਾਤਾਵਰਣ ਰੈਜ਼ੋਲਿਊਸ਼ਨ, ਐਗਜ਼ੀਕਿਊਟਰ ਫੰਕਸ਼ਨ, ਬੇਨਤੀ ਹੈਡਰ ਅਤੇ ਖਾਤਾ ਡਾਟਾ ਸ਼ਾਮਲ ਨਹੀਂ ਕਰਦਾ।
ਇਸ ਐਂਡਪੌਇੰਟ ਦੀ ਵਰਤੋਂ ਉਦੋਂ ਕਰੋ ਜਦੋਂ ਕੋਈ sidecar ਪ੍ਰਕਿਰਿਆ ਤੋਂ ਬਾਹਰ ਚੱਲਦਾ ਹੋਵੇ ਅਤੇ ਸਿੱਧੇ ਤੌਰ 'ਤੇ open-sse/config/providerPluginManifestRegistry.ts ਨੂੰ ਇੰਪੋਰਟ ਨਾ ਕਰ ਸਕੇ।
| ਢੰਗ | ਮਾਰਗ | ਫਾਰਮੈਟ |
|---|---|---|
| POST | /v1/chat/completions |
ਓਪਨਏਆਈ |
| POST | /v1/messages |
ਐਂਥ੍ਰੋਪਿਕ |
| POST | /v1/responses |
ਓਪਨਏਆਈ ਜਵਾਬ |
| POST | /v1/embeddings |
ਓਪਨਏਆਈ |
| POST | /v1/images/generations |
ਓਪਨਏਆਈ ਚਿੱਤਰ |
| POST | /v1/images/edits |
ਓਪਨਏਆਈ ਚਿੱਤਰ (ਸੰਪਾਦਨ/ਇਨਪੇਂਟ) |
| POST | /v1/videos/generations |
ਓਪਨਏਆਈ-ਸ਼ੈਲੀ ਵੀਡੀਓ ਜਨਰੇਸ਼ਨ |
| POST | /v1/music/generations |
ਓਪਨਏਆਈ-ਸ਼ੈਲੀ ਸੰਗੀਤ ਜਨਰੇਸ਼ਨ |
| POST | /v1/audio/transcriptions |
ਓਪਨਏਆਈ ਆਡੀਓ (STT) |
| POST | /v1/audio/speech |
ਓਪਨਏਆਈ TTS (ਆਡੀਓ ਬਾਡੀ ਵਾਪਸ ਕਰਦਾ ਹੈ) |
| POST | /v1/rerank |
ਕੋਹੇਅਰ/ਵੋਏਜ-ਸ਼ੈਲੀ ਰੀਰੈਂਕ |
| POST | /v1/classify |
ਜੀਨਾ ਵਰਗੀਕਰਨ (api.jina.ai) |
| POST | /v1/segment |
ਜੀਨਾ ਸੈਗਮੈਂਟਰ (segment.jina.ai) |
| POST | /v1/moderations |
ਓਪਨਏਆਈ ਮੋਡਰੇਸ਼ਨ |
| GET | /v1/models |
ਓਪਨਏਆਈ |
| POST | /v1/messages/count_tokens |
ਐਂਥ੍ਰੋਪਿਕ |
| GET | /v1beta/models |
ਜੈਮਿਨੀ |
| POST | /v1beta/models/{...path} |
ਜੈਮਿਨੀ ਜਨਰੇਟਕੰਟੈਂਟ |
| POST | /v1/api/chat |
ਓਲਾਮਾ |
| GET | /api/v1/vscode/{token}/ |
ਓਪਨਏਆਈ ਕੈਟਾਲਾਗ ਉਪਨਾਮ |
| GET | /api/v1/vscode/{token}/models |
ਓਪਨਏਆਈ ਮਾਡਲ ਉਪਨਾਮ |
| POST | /api/v1/vscode/{token}/chat/completions |
ਓਪਨਏਆਈ ਟੋਕਨਾਈਜ਼ਡ ਉਪਨਾਮ |
| POST | /api/v1/vscode/{token}/responses |
ਓਪਨਏਆਈ ਜਵਾਬ ਟੋਕਨਾਈਜ਼ਡ ਉਪਨਾਮ |
| POST | /api/v1/vscode/{token}/api/chat |
ਓਲਾਮਾ ਟੋਕਨਾਈਜ਼ਡ ਉਪਨਾਮ |
| GET | /api/v1/vscode/{token}/api/tags |
ਓਲਾਮਾ ਟੈਗਸ ਟੋਕਨਾਈਜ਼ਡ ਉਪਨਾਮ |
ਸਾਰੇ POST ਰੂਟ ਇੱਕੋ ਜਿਹੇ ਆਕਾਰ ਦੀ ਪਾਲਣਾ ਕਰਦੇ ਹਨ: Bearer your-api-key + Zod-ਪ੍ਰਮਾਣਿਤ JSON ਬਾਡੀ (v1RerankSchema, v1ModerationSchema, v1AudioSpeechSchema, ਆਦਿ, src/shared/validation/schemas.ts ਵਿੱਚ ਦੇਖੋ)। ਸਕੀਮਾ ਅਸਫਲਤਾ 'ਤੇ 4xx ਵਾਪਸ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।
ਉਹਨਾਂ ਕਲਾਇੰਟਸ ਲਈ ਜੋ Authorization: Bearer ... ਨੂੰ ਅਟੈਚ ਨਹੀਂ ਕਰ ਸਕਦੇ, OmniRoute URL ਵਿੱਚ API ਕੁੰਜੀਆਂ ਨੂੰ ਜਾਂ ਤਾਂ ਕੁਐਰੀ-ਸਟਰਿੰਗ ਅਨੁਕੂਲਤਾ (?token=..., ?apiKey=..., ?api_key=..., ?key=...) ਰਾਹੀਂ ਜਾਂ ਹੇਠਾਂ ਦਰਸਾਏ ਗਏ ਸਮਰਪਿਤ /api/v1/vscode/{token}/... ਐਂਡਪੁਆਇੰਟਸ ਰਾਹੀਂ ਸਵੀਕਾਰ ਕਰਦਾ ਹੈ।
# ਰੀਰੈਂਕ (ਕਲਾਉਡ ਰਜਿਸਟਰੀ ਪ੍ਰਦਾਤਾ, ਜਾਂ ਇੱਕ ਓਪਨਏਆਈ-ਅਨੁਕੂਲ ਪ੍ਰਦਾਤਾ ਨੋਡ "<prefix>/<model>" ਵਜੋਂ)
POST /v1/rerank { "model": "jina-ai/jina-reranker-v3.5", "query": "...", "documents": ["..."] }
# ਜੀਨਾ ਵਰਗੀਕਰਨ (ਫਾਊਂਡੇਸ਼ਨ API ਪ੍ਰਮਾਣ ਪੱਤਰ)
POST /v1/classify { "model": "jina-embeddings-v5-text-small", "input": ["..."], "labels": ["a", "b"] }
# ਜੀਨਾ ਸੈਗਮੈਂਟਰ
POST /v1/segment { "content": "...", "return_chunks": true }
# ਜੀਨਾ ਖੋਜ (s.jina.ai; ਪ੍ਰਦਾਤਾ ਉਪਨਾਮ: jina-search, jina-ai, jina)
POST /v1/search { "query": "...", "provider": "jina-search" }
# ਮੋਡਰੇਸ਼ਨ
POST /v1/moderations { "model": "omni-moderation-latest", "input": "..." }
# TTS — ਆਡੀਓ/mpeg (ਜਾਂ ਬੇਨਤੀ ਕੀਤਾ ਫਾਰਮੈਟ) ਬਾਡੀ ਵਾਪਸ ਕਰਦਾ ਹੈ
POST /v1/audio/speech { "model": "openai/tts-1", "input": "Hello", "voice": "alloy" }
# ਚਿੱਤਰ ਸੰਪਾਦਨ (ਮਲਟੀਪਾਰਟ)
POST /v1/images/edits -F image=@input.png -F prompt="..." -F mask=@mask.png
# ਵੀਡੀਓ / ਸੰਗੀਤ ਜਨਰੇਸ਼ਨ (ਪ੍ਰਦਾਤਾ-ਪ੍ਰੀਫਿਕਸਡ ਮਾਡਲ ਆਈਡੀ)
POST /v1/videos/generations { "model": "runway/gen-3", "prompt": "..." }
POST /v1/music/generations { "model": "kie/suno-v4.0", "prompt": "..." }ਰੀਰੈਂਕ ਪ੍ਰਦਾਤਾ ਨੋਡਸ:
POST /v1/rerankਓਪਨਏਆਈ-ਅਨੁਕੂਲ ਪ੍ਰਦਾਤਾ ਨੋਡਸ (oMLX, vLLM, Infinity, TEI ਇੱਕ ਗੇਟਵੇ ਦੇ ਪਿੱਛੇ, …) ਨੂੰ ਵੀ ਰੂਟ ਕਰਦਾ ਹੈ ਜਿਨ੍ਹਾਂ ਨੂੰ<node-prefix>/<model>ਵਜੋਂ ਸੰਬੋਧਿਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਲੂਪਬੈਕ ਨੋਡਸ (localhost,127.0.0.1,172.16.0.0/12) ਹਮੇਸ਼ਾ ਯੋਗ ਹੁੰਦੇ ਹਨ। ਕਿਸੇ ਹੋਰ ਹੋਸਟ 'ਤੇ ਨੋਡਸ — ਇੱਕ LAN ਬਾਕਸ ਜਾਂ ਟੇਲਸਕੇਲ ਪੀਅਰ — ਸਿਰਫ਼ ਤਾਂ ਹੀ ਯੋਗ ਹੁੰਦੇ ਹਨ ਜਦੋਂ ਆਪਰੇਟਰRERANK_REMOTE_PROVIDER_NODESਫੀਚਰ ਫਲੈਗ ਨੂੰ ਸਮਰੱਥ ਕਰਦਾ ਹੈ ਅਤੇ ਨੋਡ ਦਾ ਬੇਸ URL ਪ੍ਰਦਾਤਾ ਆਊਟਬਾਉਂਡ URL ਨੀਤੀ (OMNIROUTE_ALLOW_LOCAL_PROVIDER_URLS/OMNIROUTE_ALLOW_PRIVATE_PROVIDER_URLS) ਨੂੰ ਪਾਸ ਕਰਦਾ ਹੈ; ਕਲਾਉਡ-ਮੈਟਾਡੇਟਾ ਹੋਸਟਸ ਨੂੰ ਕਦੇ ਵੀ ਰੂਟ ਨਹੀਂ ਕੀਤਾ ਜਾਂਦਾ। ਮੈਮੋਰੀ ਇੰਜਣ ਦਾ ਰੀਰੈਂਕ ਸਟੈਪ ਲੂਪਬੈਕ ਉੱਤੇ ਇਸ ਰੂਟ ਨੂੰ ਕਾਲ ਕਰਦਾ ਹੈ, ਇਸਲਈ ਮੈਮੋਰੀ ਸੈਟਿੰਗਾਂ ਵਿੱਚrerankProviderModel'ਤੇ ਵੀ ਇਹੀ ਨਿਯਮ ਲਾਗੂ ਹੁੰਦਾ ਹੈ।ਸਥਾਨਕ ਸਰਵਰ ਆਕਾਰ: ਨੋਡ ਨੂੰ
<base>/v1/rerank'ਤੇ ਅਤੇ, 404 'ਤੇ,<base>/rerank(Infinity, TEI) 'ਤੇ ਕਾਲ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਅੱਪਸਟ੍ਰੀਮ ਬਾਡੀ ਵਿੱਚ ਕੋਹੇਅਰ/ਓਪਨਏਆਈ ਸਪੈਲਿੰਗ (documents,return_documents) ਅਤੇ TEI ਸਪੈਲਿੰਗ (texts,return_text) ਦੋਵੇਂ ਹੁੰਦੇ ਹਨ, ਅਤੇ ਅੱਪਸਟ੍ਰੀਮ ਜਵਾਬ ਨੂੰ ਕੋਹੇਅਰ ਐਨਵੈਲਪ ਵਿੱਚ ਸਧਾਰਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ: TEI ਦਾ ਸਿਰਫ਼[{index, score, text}], ਪਤਲੇ ਗੇਟਵੇ ਤੋਂ{results: [{index, score}]}, ਅਤੇ ਵੋਏਜ-ਸ਼ੈਲੀ{data: [...]}ਸਾਰੇ ਕਲਾਇੰਟ ਨੂੰ{results: [{index, relevance_score, document?}]}ਵਜੋਂ ਵਾਪਸ ਆਉਂਦੇ ਹਨ, ਜੋ ਸਕੋਰ ਦੁਆਰਾ ਕ੍ਰਮਬੱਧ ਹੁੰਦੇ ਹਨ ਅਤੇtop_n'ਤੇ ਸੀਮਿਤ ਹੁੰਦੇ ਹਨ।
ਪ੍ਰਦਾਤਾ-ਨੋਡ ਖੋਜ: ਇੱਕ ਓਪਨਏਆਈ-ਅਨੁਕੂਲ ਪ੍ਰਦਾਤਾ ਨੋਡ 'ਤੇ ਮਾਡਲ
GET /v1/modelsਵਿੱਚ ਨੋਡ ਪ੍ਰੀਫਿਕਸ ਦੇ ਅਧੀਨ ਦਿਖਾਈ ਦਿੰਦੇ ਹਨ। ਉਹ ਕਤਾਰਾਂ ਜਿਨ੍ਹਾਂ ਵਿੱਚ ਕੋਈ ਐਂਡਪੁਆਇੰਟ ਮੈਟਾਡੇਟਾ ਨਹੀਂ ਹੁੰਦਾ (ਸਥਾਨਕ/v1/modelsਸੂਚੀਆਂ ਲਈ ਆਮ) ਨੋਡ ਦੇapiTypeਨੂੰ ਵਿਰਾਸਤ ਵਿੱਚ ਪ੍ਰਾਪਤ ਕਰਦੀਆਂ ਹਨ, ਇਸਲਈ ਇੱਕ ਏਮਬੈਡਿੰਗ ਨੋਡ ਦੇ ਮਾਡਲtype: "embedding"ਹੁੰਦੇ ਹਨ ਅਤੇ ਇੱਕ ਰੀਰੈਂਕ ਨੋਡ ਦੇ ਮਾਡਲtype: "rerank"ਹੁੰਦੇ ਹਨ ਨਾ ਕਿ ਚੈਟ 'ਤੇ ਡਿਫਾਲਟ ਹੋਣ ਦੀ ਬਜਾਏ; ਇੱਕ ਸਿੰਕ ਕੀਤੀ ਜਾਂ ਹੱਥੀਂ ਜੋੜੀ ਗਈ ਕਤਾਰ 'ਤੇ ਇੱਕ ਸਪੱਸ਼ਟsupportedEndpointsਅਜੇ ਵੀ ਤਰਜੀਹ ਲੈਂਦਾ ਹੈ।
POST /v1/providers/{provider}/chat/completions
POST /v1/providers/{provider}/embeddings
POST /v1/providers/{provider}/images/generationsਜੇਕਰ ਗੁੰਮ ਹੋਵੇ ਤਾਂ ਪ੍ਰਦਾਤਾ ਅਗੇਤਰ ਆਪਣੇ ਆਪ ਜੋੜਿਆ ਜਾਂਦਾ ਹੈ। ਬੇਮੇਲ ਮਾਡਲ 400 ਵਾਪਸ ਕਰਦੇ ਹਨ।
ਬੈਚ ਇਨਪੁੱਟ/ਆਉਟਪੁੱਟ ਅਤੇ ਫ਼ਾਈਲ-ਉਦੇਸ਼ ਅੱਪਲੋਡਾਂ ਲਈ OpenAI-ਅਨੁਕੂਲ ਫ਼ਾਈਲਾਂ ਦਾ ਐਂਡਪੌਇੰਟ।
| ਵਿਧੀ | ਪਾਥ | ਵੇਰਵਾ |
|---|---|---|
| POST | /v1/files |
ਫ਼ਾਈਲ ਅੱਪਲੋਡ ਕਰੋ (ਮਲਟੀਪਾਰਟ: file, purpose, expires_after[anchor], expires_after[seconds]) — ਵੱਧ ਤੋਂ ਵੱਧ 512 MiB |
| GET | /v1/files |
ਪ੍ਰਮਾਣਿਤ API ਕੁੰਜੀ ਲਈ ਫ਼ਾਈਲਾਂ ਦੀ ਸੂਚੀ ਵੇਖੋ |
| GET | /v1/files/[id] |
ਫ਼ਾਈਲ ਦਾ ਮੈਟਾਡੇਟਾ ਪ੍ਰਾਪਤ ਕਰੋ |
| DELETE | /v1/files/[id] |
ਫ਼ਾਈਲ ਮਿਟਾਓ |
| GET | /v1/files/[id]/content |
ਕੱਚੀ ਫ਼ਾਈਲ ਸਮੱਗਰੀ ਨੂੰ ਵਾਪਸ ਸਟ੍ਰੀਮ ਕਰੋ |
ਪ੍ਰਮਾਣੀਕਰਨ: ਬੇਅਰਰ API ਕੁੰਜੀ — ਫ਼ਾਈਲਾਂ ਦਾ ਦਾਇਰਾ getApiKeyRequestScope ਰਾਹੀਂ ਹਰੇਕ API ਕੁੰਜੀ ਅਨੁਸਾਰ ਨਿਰਧਾਰਤ ਹੁੰਦਾ ਹੈ। ਇੱਕ ਕੁੰਜੀ
ਸਿਰਫ਼ ਆਪਣੀਆਂ ਫ਼ਾਈਲਾਂ ਨੂੰ ਵੇਖ, ਡਾਊਨਲੋਡ ਅਤੇ ਮਿਟਾ ਸਕਦੀ ਹੈ; ਕੁੰਜੀ ਤੋਂ ਬਿਨਾਂ ਡੈਸ਼ਬੋਰਡ ਸੈਸ਼ਨ
ਪੂਰੀ ਇੰਸਟੈਂਸ ਨੂੰ ਪੜ੍ਹ ਸਕਦਾ ਹੈ; ਬਿਨਾਂ ਮਾਲਕ ਵਾਲੀ ਫ਼ਾਈਲ (ਅਗਿਆਤ ਜਾਂ ਡੈਸ਼ਬੋਰਡ-ਸੈਸ਼ਨ ਅੱਪਲੋਡ) ਹਰੇਕ
ਗੈਰ-ਸੈਸ਼ਨ ਕਾਲਰ ਲਈ ਅਸਵੀਕਾਰ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। GET /v1/files ਕਿਸੇ ਅਗਿਆਤ ਕਾਲਰ ਨੂੰ — ਅਤੇ ਦਿੱਤੀ ਗਈ ਅਜਿਹੀ ਕੁੰਜੀ ਨੂੰ ਜਿਸਦਾ
ਨਿਪਟਾਰਾ ਨਹੀਂ ਹੁੰਦਾ — 401 ਨਾਲ ਅਸਵੀਕਾਰ ਕਰਦਾ ਹੈ, ਭਾਵੇਂ REQUIRE_API_KEY=false ਹੋਵੇ, ਹਰ ਟੈਨੈਂਟ ਦੀਆਂ
ਫ਼ਾਈਲਾਂ ਦੀ ਸੂਚੀ ਦਿਖਾਉਣ ਦੀ ਬਜਾਏ (GHSA-m3hp-hq9g-fpmv, GHSA-2jm2-mpx8-6523)।
OpenAI-ਅਨੁਕੂਲ ਬੈਚ ਪ੍ਰੋਸੈਸਿੰਗ।
| ਵਿਧੀ | ਪਾਥ | ਵੇਰਵਾ |
|---|---|---|
| POST | /v1/batches |
ਬੈਚ ਬਣਾਓ — ਬਾਡੀ ਦੀ ਪੁਸ਼ਟੀ v1BatchCreateSchema (input_file_id, endpoint, completion_window) ਦੁਆਰਾ ਕੀਤੀ ਜਾਂਦੀ ਹੈ |
| GET | /v1/batches |
ਬੈਚਾਂ ਦੀ ਸੂਚੀ ਪ੍ਰਾਪਤ ਕਰੋ |
| GET | /v1/batches/[id] |
ਬੈਚ ਸਥਿਤੀ + request_counts ਪ੍ਰਾਪਤ ਕਰੋ |
| DELETE | /v1/batches/[id] |
ਪੂਰਾ ਹੋਇਆ/ਅਸਫਲ ਬੈਚ ਮਿਟਾਓ |
| POST | /v1/batches/[id]/cancel |
ਪ੍ਰਗਤੀ ਅਧੀਨ ਬੈਚ ਰੱਦ ਕਰੋ |
ਪ੍ਰਮਾਣੀਕਰਨ: Bearer API ਕੁੰਜੀ। ਬੈਚਾਂ ਦਾ ਦਾਇਰਾ ਹਰੇਕ API ਕੁੰਜੀ ਅਨੁਸਾਰ, ਫ਼ਾਈਲਾਂ ਵਾਲੇ ਉਸੇ ਤਿੰਨ-ਪੱਖੀ ਨਿਯਮ ਹੇਠ ਨਿਰਧਾਰਤ ਹੁੰਦਾ ਹੈ:
ਕੇਵਲ ਆਪਣੀ ਕੁੰਜੀ, ਡੈਸ਼ਬੋਰਡ ਸੈਸ਼ਨ ਲਈ ਪੂਰੇ ਇੰਸਟੈਂਸ ਤੱਕ ਪਹੁੰਚ, ਅਤੇ null-owner ਰਿਕਾਰਡਾਂ ਲਈ ਹਰੇਕ
ਗੈਰ-ਸੈਸ਼ਨ ਕਾਲਰ ਨੂੰ ਇਨਕਾਰ (ਪ੍ਰਾਪਤ ਕਰਨ, ਮਿਟਾਉਣ, ਰੱਦ ਕਰਨ ਅਤੇ ਬਣਾਉਣ ਵੇਲੇ input_file_id ਜਾਂਚ ਲਈ)।
GET /v1/batches, REQUIRE_API_KEY=false ਹੋਣ ਦੇ ਬਾਵਜੂਦ, ਕਿਸੇ ਅਗਿਆਤ ਕਾਲਰ ਨੂੰ 401 ਨਾਲ ਅਸਵੀਕਾਰ ਕਰਦਾ ਹੈ।
ਵੈੱਬ/ਖੋਜ ਪ੍ਰਦਾਤਾ ਐਬਸਟ੍ਰੈਕਸ਼ਨ (Tavily, Brave, Exa, Serper, ਆਦਿ)।
| ਵਿਧੀ | ਪਾਥ | ਵੇਰਵਾ |
|---|---|---|
| GET | /v1/search |
ਕੌਂਫ਼ਿਗਰ ਕੀਤੇ ਖੋਜ ਪ੍ਰਦਾਤਿਆਂ + ਸਮਰੱਥਾਵਾਂ ਦੀ ਸੂਚੀ ਦਿਖਾਓ |
| POST | /v1/search |
ਖੋਜ ਕਵੇਰੀ ਚਲਾਓ — ਬਾਡੀ ਨੂੰ v1SearchSchema ਦੁਆਰਾ ਪ੍ਰਮਾਣਿਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਕੈਸ਼ਿੰਗ/ਕੋਐਲੇਸਿੰਗ ਦਾ ਸਮਰਥਨ ਕਰਦਾ ਹੈ |
| GET | /v1/search/analytics |
ਹਰੇਕ ਪ੍ਰਦਾਤਾ ਲਈ ਹਿੱਟ/ਲੇਟੈਂਸੀ/ਕੈਸ਼ ਅੰਕੜੇ |
ਪ੍ਰਮਾਣੀਕਰਨ: Bearer API ਕੁੰਜੀ (extractApiKey + isValidApiKey)। ਖੋਜ ਨੀਤੀ ਨੂੰ enforceApiKeyPolicy ਰਾਹੀਂ ਲਾਗੂ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।
ਕਿਸੇ ਸੰਰਚਿਤ 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, ਨਹੀਂ ਤਾਂ ਅੱਪਸਟ੍ਰੀਮ
ਸਥਿਤੀ)।
GET /v1/ws?handshake=1WebSocket ਅੱਪਗ੍ਰੇਡ ਹੈਂਡਸ਼ੇਕ ਦੀ ਪੁਸ਼ਟੀ ਕਰਦਾ ਹੈ ਅਤੇ ਵਾਇਰ ਪ੍ਰੋਟੋਕੋਲ ਦੇ ਉਦਾਹਰਨ ਸੁਨੇਹੇ (request, cancel) ਵਾਪਸ ਕਰਦਾ ਹੈ। ਅਸਲ WS ਫ੍ਰੇਮਾਂ ਨੂੰ Next.js ਰੂਟ ਸਾਰਣੀ ਤੋਂ ਬਾਹਰ ਬੰਡਲ ਕੀਤੇ WS ਸਰਵਰ ਦੁਆਰਾ ਸੰਭਾਲਿਆ ਜਾਂਦਾ ਹੈ।
ਪ੍ਰਮਾਣੀਕਰਨ: ਹੈਂਡਸ਼ੇਕ ਦੌਰਾਨ Bearer API ਕੁੰਜੀ।
# 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 ਮੌਜੂਦ ਹੁੰਦੀ ਹੈ ਤਾਂ ਡਿਫਾਲਟ ਤੌਰ 'ਤੇ ਇਹੀ ਹੁੰਦਾ ਹੈ)।
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 ਉੱਤੇ ਨਹੀਂ ਤਾਂ ਕਿਸੇ ਹੋਰ ਪ੍ਰਦਾਤੇ ਵੱਲ ਰੂਟ ਕੀਤਾ ਜਾਂਦਾ।
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 ਕੁੰਜੀ ਆਪਣੀ ਖੁਦ ਦੀ ਵਰਤੋਂ ਅਤੇ ਕੋਟੇ ਪੜ੍ਹ ਸਕਦੀ ਹੈ — ਪ੍ਰਬੰਧਨ ਪ੍ਰਮਾਣੀਕਰਨ ਦੀ ਲੋੜ ਨਹੀਂ। ਇਹ ਉਹ ਐਂਡਪੌਇੰਟ ਹੈ ਜਿਸਦੀ ਵਰਤੋਂ ਕਲਾਇੰਟ (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 ਇੱਕ ਭੇਦਯੋਗ ਸੰਰਚਨਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਤਾਂ ਜੋ ਕਾਲਰ ਕਦੇ ਵੀ ਇਨਕਾਰ ਵਾਲੇ ਜਵਾਬ ਵਿੱਚੋਂ ਡੇਟਾ ਫੀਲਡ ਨਾ ਪੜ੍ਹੇ।
ਸਫਲਤਾ ਉੱਤੇ:
ਇਨਕਾਰ ਹੋਣ ਉੱਤੇ (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 | ਕਸਟਮ ਮਾਡਲ (ਸ਼ਾਮਲ ਕਰੋ, ਅੱਪਡੇਟ ਕਰੋ, ਲੁਕਾਓ/ਦਿਖਾਓ, ਮਿਟਾਓ) |
| ਐਂਡਪੌਇੰਟ | ਵਿਧੀ | ਵੇਰਵਾ |
|---|---|---|
/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) |
| ਐਂਡਪੌਇੰਟ | ਵਿਧੀ | ਵੇਰਵਾ |
|---|---|---|
/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।
| ਐਂਡਪੌਇੰਟ | ਵਿਧੀ | ਵੇਰਵਾ |
|---|---|---|
/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/models |
GET | Gemini ਫਾਰਮੈਟ ਵਿੱਚ ਮਾਡਲਾਂ ਦੀ ਸੂਚੀ |
/v1beta/models/{...path} |
POST | Gemini generateContent ਐਂਡਪੌਇੰਟ |
ਇਹ ਐਂਡਪੌਇੰਟ ਉਹਨਾਂ ਕਲਾਇੰਟਾਂ ਲਈ Gemini ਦੇ API ਫਾਰਮੈਟ ਦੀ ਨਕਲ ਕਰਦੇ ਹਨ, ਜਿਨ੍ਹਾਂ ਨੂੰ ਮੂਲ Gemini SDK ਅਨੁਕੂਲਤਾ ਦੀ ਉਮੀਦ ਹੁੰਦੀ ਹੈ।
| ਐਂਡਪੌਇੰਟ | ਢੰਗ | ਵੇਰਵਾ |
|---|---|---|
/api/init |
GET | ਐਪਲੀਕੇਸ਼ਨ ਸ਼ੁਰੂਆਤੀਕਰਨ ਦੀ ਜਾਂਚ (ਪਹਿਲੀ ਵਾਰ ਚਲਾਉਣ ਵੇਲੇ ਵਰਤੀ ਜਾਂਦੀ ਹੈ) |
/api/tags |
GET | Ollama-ਅਨੁਕੂਲ ਮਾਡਲ ਟੈਗ (Ollama ਕਲਾਇੰਟਾਂ ਲਈ) |
/api/restart |
POST | ਸਰਵਰ ਨੂੰ ਸੁਚਾਰੂ ਢੰਗ ਨਾਲ ਮੁੜ-ਚਾਲੂ ਕਰਨਾ ਸ਼ੁਰੂ ਕਰੋ |
/api/shutdown |
POST | ਸਰਵਰ ਨੂੰ ਸੁਚਾਰੂ ਢੰਗ ਨਾਲ ਬੰਦ ਕਰਨਾ ਸ਼ੁਰੂ ਕਰੋ |
/api/system/env/repair |
POST | OAuth ਪ੍ਰਦਾਤਾ ਦੇ ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲਾਂ ਦੀ ਮੁਰੰਮਤ ਕਰੋ |
ਨੋਟ: ਇਹ ਐਂਡਪੌਇੰਟ ਸਿਸਟਮ ਦੁਆਰਾ ਅੰਦਰੂਨੀ ਤੌਰ 'ਤੇ ਜਾਂ Ollama ਕਲਾਇੰਟ ਅਨੁਕੂਲਤਾ ਲਈ ਵਰਤੇ ਜਾਂਦੇ ਹਨ। ਆਮ ਤੌਰ 'ਤੇ ਅੰਤਿਮ ਵਰਤੋਂਕਾਰ ਇਨ੍ਹਾਂ ਨੂੰ ਕਾਲ ਨਹੀਂ ਕਰਦੇ।
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 ਦੇ API ਫਾਰਮੈਟ ਦੀ ਵਰਤੋਂ ਕਰਨ ਵਾਲੇ ਕਲਾਇੰਟਾਂ ਲਈ:
# ਚੈਟ ਐਂਡਪੁਆਇੰਟ (Ollama ਫਾਰਮੈਟ)
POST /v1/api/chat
# ਮਾਡਲ ਸੂਚੀ (Ollama ਫਾਰਮੈਟ)
GET /api/tagsਬੇਨਤੀਆਂ ਨੂੰ Ollama ਅਤੇ ਅੰਦਰੂਨੀ ਫਾਰਮੈਟਾਂ ਵਿਚਕਾਰ ਆਪਣੇ-ਆਪ ਅਨੁਵਾਦ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।
ਜਦੋਂ ਕੋਈ ਇੰਟੀਗ੍ਰੇਸ਼ਨ 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
ਉੱਚ-ਪੱਧਰੀ 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 ਵੇਖੋ)।
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ਵਾਪਸ ਹੁੰਦਾ ਹੈ।
OmniRoute ਜਾਂਚ/ਡੈਸ਼ਬੋਰਡ ਦੀ ਵਰਤੋਂ ਲਈ ਇੱਕ A2A (Agent-to-Agent) JSON-RPC 2.0 ਐਂਡਪੌਇੰਟ ਦੇ ਨਾਲ ਇੱਕ REST ਰੈਪਰ ਉਪਲਬਧ ਕਰਾਉਂਦਾ ਹੈ।
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 ਘੰਟੇ ਲਈ ਕੈਸ਼ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਪ੍ਰਮਾਣੀਕਰਨ ਦੀ ਲੋੜ ਨਹੀਂ ਹੈ।
| ਵਿਧੀ | ਪਾਥ | ਵੇਰਵਾ |
|---|---|---|
| GET | /api/a2a/status |
A2A ਸਮਰੱਥ + ਟਾਸਕ ਅੰਕੜੇ + ਕੈਸ਼ ਕੀਤੇ ਏਜੰਟ ਕਾਰਡ ਦਾ ਸੰਖੇਪ |
| GET | /api/a2a/tasks |
ਟਾਸਕ ਸੂਚੀਬੱਧ ਕਰੋ — ?state=submitted|working|completed|failed|cancelled, ?skill=, ?limit= (≤200), ?offset= |
| POST | /api/a2a/tasks |
(REST ਸਹਾਇਕ ਵਜੋਂ ਲਾਗੂ ਨਹੀਂ ਕੀਤਾ ਗਿਆ — JSON-RPC message/send ਰਾਹੀਂ ਬਣਾਓ) |
| GET | /api/a2a/tasks/[id] |
ਇੱਕ ਟਾਸਕ ਪ੍ਰਾਪਤ ਕਰੋ |
| POST | /api/a2a/tasks/[id]/cancel |
ਇੱਕ ਟਾਸਕ ਰੱਦ ਕਰੋ |
ਪ੍ਰਮਾਣੀਕਰਨ: REST ਸਹਾਇਕ ਮੈਨੇਜਮੈਂਟ ਪ੍ਰਮਾਣੀਕਰਨ ਤੋਂ ਬਿਨਾਂ ਚੱਲਦੇ ਹਨ (ਡੈਸ਼ਬੋਰਡ ਦੁਆਰਾ ਪੜ੍ਹਨਯੋਗ); JSON-RPC /a2a ਰੂਟ, ਜੇ ਸੰਰਚਿਤ ਹੋਵੇ, ਤਾਂ Bearer OMNIROUTE_API_KEY ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ।
| ਵਿਧੀ | ਪਾਥ | ਵੇਰਵਾ |
| ------ | ------------------------------- | ------------------------------------------------------------------------------------------------- | ----------------------------- | ----------------------------------- |
| POST | /api/cloud/auth | ਕਿਸੇ Bearer ਕੁੰਜੀ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ ਅਤੇ ਕਲਾਉਡ ਸਿੰਕ ਕਲਾਇੰਟਾਂ ਲਈ ਮਾਸਕ ਕੀਤੇ ਪ੍ਰਦਾਤਾ ਕਨੈਕਸ਼ਨ + ਮਾਡਲ ਉਪਨਾਮ ਵਾਪਸ ਕਰੋ |
| POST | /api/cloud/credentials/update | ਕਲਾਉਡ-ਸਿੰਕ ਕੀਤੇ ਪ੍ਰਦਾਤਾ ਲਈ ਇਨਕ੍ਰਿਪਟ ਕੀਤੇ ਕ੍ਰੈਡੈਂਸ਼ਲ ਅੱਪਡੇਟ ਕਰੋ |
| POST | /api/cloud/model/resolve | ਸਥਾਨਕ ਰੂਟਿੰਗ ਟੇਬਲ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਕਿਸੇ ਲਾਜ਼ਮੀ ਮਾਡਲ id ਨੂੰ ਕਿਸੇ ਠੋਸ ਪ੍ਰਦਾਤਾ/ਮਾਡਲ ਵਿੱਚ ਰਿਜ਼ਾਲਵ ਕਰੋ |
| GET | /api/cloud/models/alias | ਕਲਾਉਡ ਸਿੰਕ ਲਈ ਉਪਲਬਧ ਕਰਵਾਏ ਗਏ ਮਾਡਲ ਉਪਨਾਮ ਸੂਚੀਬੱਧ ਕਰੋ |
| GET | /api/assess | ਨਵੀਨਤਮ ਮੁਲਾਂਕਣ ਵਰਗੀਕਰਨ ਪੜ੍ਹੋ (ਹਰੇਕ ਪ੍ਰਦਾਤਾ/ਮਾਡਲ ਲਈ) |
| POST | /api/assess | ਮੁਲਾਂਕਣ ਚਲਾਓ — ਬੌਡੀ: {scope: {type:"all"} | {type:"provider", providerId} | {type:"model", modelId}, trigger?} |
| GET | /api/evals | ਬਿਲਟ-ਇਨ 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 ਏਜੰਟ ਦੀ ਪਛਾਣ ਅਤੇ ਕਸਟਮ ਏਜੰਟ ਰਜਿਸਟ੍ਰੇਸ਼ਨ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਦੇ ਹਨ।
| ਵਿਧੀ | ਪਾਥ | ਵੇਰਵਾ |
|---|---|---|
| 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>} |
ਪ੍ਰਮਾਣੀਕਰਨ: ਐਡਮਿਨ ਸਕੋਪ ਵਾਲੇ ਪ੍ਰਬੰਧਨ ਸੈਸ਼ਨ ਦੀ ਲੋੜ ਹੈ।
OmniRoute ਨਾਲ ਏਕੀਕ੍ਰਿਤ ਹੋਣ ਵਾਲੇ CLI ਟੂਲਾਂ (antigravity, commandCode, devin-cli, ਆਦਿ) ਦਾ ਪ੍ਰਬੰਧਨ ਕਰੋ। ਪੂਰੀ ਸੂਚੀ ਲਈ ਪ੍ਰਦਾਤਾ ਹਵਾਲਾ ਵੇਖੋ।
| ਢੰਗ | ਪਾਥ | ਵੇਰਵਾ |
|---|---|---|
| GET | /api/cli-tools/all-statuses |
ਸਾਰੇ CLI ਟੂਲਾਂ ਦੀ ਸਥਿਤੀ (ਇੰਸਟਾਲ ਹੋਏ, ਵਰਜਨ, ਆਖਰੀ ਵਾਰ ਦੇਖੇ ਗਏ) |
| GET | /api/cli-tools/status |
ਇੱਕ CLI ਟੂਲ ਦੀ ਵਿਸਤ੍ਰਿਤ ਸਥਿਤੀ (?tool= ਕਵੇਰੀ) |
| POST | /api/cli-tools/apply |
ਕਿਸੇ ਟੂਲ ਦੀ ਬਣਾਈ ਗਈ ਸੰਰਚਨਾ ਲਿਖੋ (dryRun ਪੂਰਵ-ਝਲਕ ਦਿਖਾਉਂਦਾ ਹੈ; ਕੰਟੇਨਰ ਵਿੱਚ ਹੋਣ 'ਤੇ 422 + containerEphemeralTarget; migration ਪੁਰਾਣੀ Codex YAML ਬਾਰੇ ਜਾਣਕਾਰੀ ਦਿੰਦਾ ਹੈ) |
| GET | /api/cli-tools/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) ਵੇਖੋ।
{ "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" /* … */ }, ], }