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
179 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 · 🇮🇳 pa · 🇵🇭 phi · 🇵🇱 pl · 🇵🇹 pt · 🇧🇷 pt-BR · 🇷🇴 ro · 🇷🇺 ru · 🇸🇰 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 · 🇮🇳 pa · 🇵🇭 phi · 🇵🇱 pl · 🇵🇹 pt · 🇧🇷 pt-BR · 🇷🇴 ro · 🇷🇺 ru · 🇸🇰 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 ප්රවාහනය
- කෝටා සහ ගැටලු වාර්තා කිරීම
- අර්ථවිචාරක හැඹිලිය
- උපකරණ පුවරුව සහ කළමනාකරණය
- සංයෝජන කළමනාකරණය
- Webhooks
- ලියාපදිංචි යතුරු (ස්වයංක්රීය කළමනාකරණය)
- නියෝජිත ප්රොටෝකෝලය
- කළමනාකරණ ප්රොක්සි
- ප්රත්යස්ථතාව (විස්තීර්ණ)
- කුසලතා
- මතකය
- 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 ලෙස සකසන්න (හැඹිලි-රහිත ක්රියාකාරීත්වයට සමාන වේ; එක් ඇමතුමකට ඇති ටෝකන/පිරිවැය අතිරේකය වළක්වයි) |
X-OmniRoute-Progress |
ඉල්ලීම | ප්රගති සිදුවීම් සඳහා true ලෙස සකසන්න |
X-Session-Id |
ඉල්ලීම | බාහිර සැසි අනුබද්ධතාව සඳහා ස්ථාවර සැසි යතුර |
x_session_id |
ඉල්ලීම | යටි ඉරි සහිත ප්රභේදය ද පිළිගනු ලැබේ (සෘජු HTTP) |
X-OmniRoute-Session-Id |
ඉල්ලීම | ඇමතුම්කරු සපයන සැසි/සංවාද ටැගය (මතකයට ද දත්ත සපයයි). පවතින විට, එක් සැසියකට පිරිවැය ආරෝපණය කිරීම සඳහා call_logs.session_tag වෙත එලෙසම සුරකියි (#8249) — නොමැති විට කිසි විටෙක සංස්ලේෂණය නොකෙරේ |
Idempotency-Key |
ඉල්ලීම | අනුපිටපත් ඉවත් කිරීමේ යතුර (තත්පර 5ක කවුළුව) |
X-Request-Id |
ඉල්ලීම | විකල්ප අනුපිටපත් ඉවත් කිරීමේ යතුර |
X-OmniRoute-Cache |
ප්රතිචාරය | HIT හෝ MISS (ප්රවාහනය නොවන) |
X-OmniRoute-Idempotent |
ප්රතිචාරය | අනුපිටපත් ඉවත් කර ඇත්නම් true |
X-OmniRoute-Progress |
ප්රතිචාරය | ප්රගති ලුහුබැඳීම ක්රියාත්මක නම් enabled |
X-OmniRoute-Session-Id |
ප්රතිචාරය | OmniRoute භාවිත කළ ක්රියාත්මක සැසි ID |
X-OmniRoute-Request-Id |
ප්රතිචාරය | ඉල්ලීම් සහසම්බන්ධතා 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. මේවා chat completions,/v1/responses,/v1/messages, සහ මාධ්ය අන්ත ලක්ෂ්ය —/v1/embeddings,/v1/images/generations,/v1/audio/speech,/v1/audio/transcriptions,/v1/rerank,/v1/videos/generations,/v1/music/generations, සහ/v1/moderations(සැමවිටම පිරිවැය0) — මඟින් නිකුත් කෙරේ. මිලකරණය තිබෙන විට මාධ්ය පිරිවැය මාදිලිය අනුව (රූපයකට, තත්පරයකට, අක්ෂරයකට, සෙවුම් ඒකකයකට) ගණනය කෙරෙන අතර, එසේ නොමැති නම්0වේ (fail-open).
හැඹිලි-ගැළපුම් පිරිවැය අර්ථ විග්රහය: semantic-cache HIT එකකදී (
X-OmniRoute-Cache-Hit: true) upstream ඇමතුමක් සිදු නොවන බැවින්,X-OmniRoute-Response-Costඅගය0.0000000000වේ (එම ගැළපුම සපයන වර්ධක පිරිවැය). මුල්/එසේ නොවුණේ නම් දැරීමට තිබූ පිරිවැයX-OmniRoute-Cost-Savedතුළ වෙනම වාර්තා කෙරේ. බිල්කරණ පාරිභෝගිකයන්X-OmniRoute-Response-Costඑකතු කළ යුතුය (ගැළපුම් සඳහා කිසිදු පිරිවැයක් නැත); හැඹිලි විශ්ලේෂණ සඳහාX-OmniRoute-Cost-Savedසමස්ත කළ හැක.
සුවිශේෂී කළමනාකෘත සැසි බදු
සුවිශේෂී කළමනාකෘත සැසි බදු දීම යනු කැමැත්තෙන් සක්රිය කළ හැකි, සේවාලාභියාගෙන් ස්වාධීන මාර්ගගත කිරීමේ ගිවිසුමකි: එක් සක්රිය හිමිකරුවෙක් සුදුසුකම් ලත් එක් OmniRoute සම්බන්ධතාවක් රඳවා ගනී. එය මොඩලයක් බදු නොගනී, OAuth අවශ්ය නොකරයි, නිශ්චිත සේවාලාභියෙකු හඳුනා නොගනී, හෝ නිශ්චිත සැපයුම්කරුවෙකු අවශ්ය නොකරයි.
සත්යාපනය කරන API යතුරට lease:exclusive විෂය පථය සහ පැහැදිලිව දක්වා ඇති හිස් නොවන
allowedConnections ලැයිස්තුවක් තිබිය යුතුය. දත්ත සමුදා විකෘති කිරීමේ සීමාව යතුර
නිර්මාණය කිරීමේදී සහ අර්ධ යාවත්කාලීන කිරීම්වලදී ක්ෂේත්ර දෙකම එකට බලාත්මක කරයි.
POST /api/v1/session-leases
Authorization: Bearer <managed-api-key>
Content-Type: application/json
X-OmniRoute-Lease-Owner: vlo_<43-base64url-characters>
{"action":"acquire","model":"glm/glm-4.6"}
සාර්ථක අත්පත් කර ගැනීමේ, අලුත් කිරීමේ සහ මුදා හැරීමේ ප්රතිචාර කාල මුද්රා, state, සහ නිශ්චිත ධන
generation අගය නිරාවරණය කරන නමුත්, තෝරාගත් සම්බන්ධතාව හෝ අක්තපත්ර කිසිවිටෙක නිරාවරණය නොකරයි. අලුත් කිරීම සහ මුදා හැරීම
JSON දේහයේ generation අගය සපයයි:
{ "action": "renew", "generation": 1 }
{ "action": "release", "generation": 1, "reason": "OWNER_EXIT" }
සක්රිය බදු හිමිකරුවෙකුට තම වත්මන් බැඳීම සඳහා පෞද්ගලිකත්වය-සුරක්ෂිත සංදර්ශන පාරදත්ත පැහැදිලිවම ඉල්ලා සිටිය හැක:
{ "action": "status", "generation": 1 }
{
"state": "ACTIVE",
"generation": 1,
"acquiredAt": "2026-08-28T12:00:00.000Z",
"renewedAt": "2026-08-28T12:00:30.000Z",
"expiresAt": "2026-08-28T12:02:30.000Z",
"connection": {
"displayName": "Primary Codex",
"provider": "codex"
}
}
මෙම කැමැත්තෙන් සක්රිය කරන තත්ත්ව ක්රියාව, එක් දත්ත සමුදා ගනුදෙනුවක් තුළ අපැහැදිලි හිමිකරු, සත්යාපිත කළමනාකෘත API යතුර සහ නිශ්චිත
සක්රිය generation අගය මඟින් සීමා කෙරේ. displayName යනු ඉඩ ඉවත් කර සකසා ඇති
සම්බන්ධතා නාමය පමණි; ආරක්ෂිතව වින්යාස කළ නාමයක් නොමැති විට එය null වේ. OmniRoute කිසිවිටෙක
ඊමේල් ලිපිනයක් හෝ ජනනය කළ ගිණුම් අනන්යතාවක් ආදේශ නොකරයි. සැපයුම්කරුගේ අගය සංවේදී නොවන සංදර්ශන ලේබලයක් වන අතර කිසිවිටෙක
ජනනය කළ අනුකූල-සැපයුම්කරු හඳුනාගැනීමක් නොවේ. අක්තපත්ර, ටෝකන, කුකීස්, අමු සම්බන්ධතා හෝ API
යතුරු ids, හිමිකරු hashes, සීමා කිරීමේ රහස් සහ අභ්යන්තර මාර්ගගත කිරීමේ දත්ත බැහැර කෙරේ.
වැරදි-යතුරු, වැරදි-හිමිකරු, කල් ඉකුත් වූ-generation, නොපවතින, කල් ඉකුත් වූ, මුදා හැර ඇති සහ අවලංගු කළ සෙවීම් සියල්ල
සම්බන්ධතා පාරදත්ත නොමැතිව එකම 409 LEASE_FENCE_STALE දෝෂය ආපසු ලබා දෙයි. ධාරිතාව-රැඳී සිටීමේ ප්රතිචාරය ලැබුණු සේවාලාභියෙකුට පරීක්ෂා කිරීමට සක්රිය බැඳීමක් නොමැත. මාර්ගගත කිරීම සක්රිය බද්දක් සංක්රමණය කරන විට,
එම generation අගයම වලංගුව පවතින අතර තත්ත්වය පරමාණුකව නව බැඳීම ආපසු ලබා දෙයි, පැරණි එක කිසිවිටෙක නොදෙයි.
අත්පත් කර ගැනීමේ, අලුත් කිරීමේ, මුදා හැරීමේ සහ රැඳී සිටීමේ ප්රතිචාරවල පෙර හැඩතල එලෙසම පවතින බැවින්
පවතින සේවාලාභීන් නොවෙනස්ව පවතී.
මෙම සේවාදායක ගිවිසුම සම්මත OpenAI Codex /status වෙනස් නොකරයි. සම්මත Codex දැනට එහි
මොඩල් සැපයුම්කරු සහ අන්තර්ගත සත්යාපන/ගිණුම් තත්ත්වය වාර්තා කරන නමුත් අත්තනෝමතික අභිරුචි
සැපයුම්කරු ගිණුම් පාරදත්ත විදැහුම් නොකරයි; පසුකාලීන සේවාලාභී අනුකලනයක් මෙම ක්රියාව කැඳවා
connection.displayName සංදර්ශනය කළ යුතු ආකාරය තීරණය කළ යුතුය.
ඉන්පසු සෑම කළමනාකෘත අනුමාන ඉල්ලීමක්ම පාලන ශීර්ෂ දෙකම සපයයි:
X-OmniRoute-Lease-Owner: vlo_<43-base64url-characters>
X-OmniRoute-Lease-Generation: 1
එක් එක් සහාය දක්වන උඩුගං උත්සාහයට වහාම පෙර නිශ්චිත හිමිකරු, generation අගය, සක්රිය සම්බන්ධතාව සහ සත්යාපිත API යතුර සීමා කරනු ලැබේ. එම යතුරද එකම සම්බන්ධතාවට අවසර දුන්නද, වෙනත් යතුරක් සමඟ හිමිකරු සහ generation අගය යළි ධාවනය කිරීම අසාර්ථක වේ. අමු හිමිකරු අගයන් ස්ථිරව ගබඩා නොකෙරේ, ලොග් නොකෙරේ, ඉල්ලීම් ස්නැප්ෂොට් එකේ රඳවා නොගැනේ, හෝ උඩුගං වෙත යොමු නොකෙරේ.
තාවකාලික තරගකාරීත්වය Retry-After සමඟ HTTP 429 සහ පහත ප්රතිචාරය ආපසු ලබා දෙයි:
{
"state": "WAITING_FOR_CAPACITY",
"error": { "type": "lease_error", "code": "LEASE_CAPACITY_UNAVAILABLE" },
"reason": "NO_FREE_ELIGIBLE_CONNECTION",
"retryAfter": 30
}
මෙම ප්රතිචාරයෙන් අදහස් වන්නේ සාමාන්ය සුදුසුකම් ලත් කුලකය හිස් නොවූ බවත්, සෑම නිදහස් අපේක්ෂකයෙකුම වෙනත් සක්රිය බද්දක් මඟින් රඳවාගෙන තිබූ බවත් පමණි. සහාය නොදක්වන මොඩල/සැපයුම්කරුවන්, ප්රතිපත්ති නොගැළපීම, සිසිලන කාලය, කෝටාව, සෞඛ්යය සහ අනෙකුත් සාමාන්ය සුදුසුකම් අසමත් වීම් සඳහා ඒවායේ පවතින OmniRoute ප්රතිචාර එලෙසම පවතී.
x-omniroute-compression
සම්පීඩන සැලැස්ම ඉල්ලීමකට අනුව අභිභවා සැකසීම. ඉහළම ප්රමුඛතාව — මාර්ගගත කිරීමේ-combo අභිබවා සැකසීම, සක්රිය පැතිකඩ, ස්වයංක්රීය-ප්රේරකය සහ පැනලයේ Default අභිබවයි. අගයන්:
| අගය | බලපෑම |
|---|---|
off |
මෙම ඉල්ලීම සඳහා සම්පීඩනයක් නැත. |
default |
පැනලයෙන් ව්යුත්පන්න වූ Default පැතිකඩ (සක්රිය පැතිකඩ නොසලකා හරියි). |
engine:<id> |
සක්රිය කර ඇති විට තනි engine එකක්, උදා. engine:rtk. |
<combo> |
නාමය අනුව පළමුව (අකුරු විශාලත්වය නොසලකා), පසුව id අනුව ගැළපෙන නම් කළ combo එකක්. |
සටහන්:
- නොදන්නා අගයන් නොසලකා හැරේ (ඉල්ලීම කිසිවිටෙක ප්රතික්ෂේප නොකෙරේ); නිරාකරණය සාමාන්ය ක්රියාකරු ප්රමුඛතා අනුපිළිවෙළට යොමු වේ.
- combos කිහිපයකට එකම නම තිබේ නම්, නිශ්චිත ගැළපීමක් සඳහා combo id එක ලබා දෙන්න.
offහෝdefaultනම ඇති combo එකක් නමින් තෝරාගත නොහැක (එම මූලපද පළමුව අර්ථකථනය කෙරේ); එවැනි combo එකක් එහි id මඟින් සඳහන් කරන්න.- ප්රධාන සම්පීඩන ස්විචය දැඩි දොරටුවකි: සම්පීඩනය සමස්ත පද්ධතිය පුරා අක්රිය කර ඇති විට, මෙම ශීර්ෂයට එය සක්රිය කළ නොහැක.
යෙදූ සැලැස්ම ප්රතිචාර ශීර්ෂයේ නැවත දක්වයි:
X-OmniRoute-Compression: <mode>; source=<source>
මෙහි <source> යනු request-header, routing-override, active-profile, auto-trigger, default, හෝ off යන අගයන්ගෙන් එකකි.
Embeddings
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 පළමුව dashboard jina-ai අක්තපත්ර භාවිත කරයි; dashboard යතුරක් නොමැති විට පමණක් JINA_AI_API_KEY විකල්පයක් ලෙස භාවිත වේ. jina-reader කාඩ්පත Reader / r.jina.ai සඳහා පමණි (POST /v1/web/fetch) සහ කිසිවිටෙක embeddings හෝ rerank සපයන්නේ නැත.
බහුමාධ්ය සහාය ඇති බව දක්වන රෙජිස්ට්රි ආකෘති, සැපයුම්කරු-ස්වාධීන ව්යුහගත
අයිතම 32ක් දක්වා ද පිළිගනී. මාධ්ය අයිතම වර්ග වන්නේ text, image, audio, video, සහ document ය. ඒවායේ මාධ්ය source
එක {"type":"url","url":"https://..."} හෝ
{"type":"base64","data":"...","media_type":"..."} වේ.
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 බහුමාධ්ය ආකෘති: සෑම ඉහළ-මට්ටමේ අයිතමයක්ම, පේළිගත මාධ්ය සඳහා data URI භාවිත කරමින්, එක් මාධ්ය-යතුරුගත වස්තුවක්
(
text/image/audio/video/pdf) බවට පත්වේ; එක් ඉහළ-මට්ටමේ අයිතමයකට එක් දෛශිකයකි. - Gemini Embedding 2 පවුල: එක් ඉහළ-මට්ටමේ අරාවක්,
content.parts(textහෝinline_data) සහිත තනි ස්වදේශීයmodels/{model}:embedContentඉල්ලීමක් බවට පත්වේ. - පැහැදිලි මාධ්ය-ආකාර පාරදත්ත නොමැති නොදන්නා/ගතික ආකෘති, HTTP 400 සමඟ ව්යුහගත ආදානය ප්රතික්ෂේප කරයි.
{
"model": "jina-ai/jina-embeddings-v5-omni-small",
"input": [
{ "type": "text", "text": "A red bicycle" },
{
"type": "image",
"source": { "type": "url", "url": "https://example.com/bicycle.png" }
}
],
"dimensions": 512,
"encoding_format": "float"
}
සහාය නොදක්වන ආකෘති/මාධ්ය-ආකාර සංයෝජන, අයිතමය බලහත්කාරයෙන් පරිවර්තනය කිරීම වෙනුවට HTTP 400 ආපසු ලබා දෙයි. පැරණි පෙළ/ටෝකන ඉල්ලීම්වල ආදානය නොවන විස්තාරණ ක්ෂේත්ර, වෙනස් නොවී දිගටම යොමු වේ.
# සියලු embedding ආකෘති ලැයිස්තුගත කරන්න
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 සපයන්නා තෝරයි; සපයන්නා රහිත model id එකක් (උදා.
mistral-ocr-latest) එහි ලියාපදිංචි කළ සපයන්නා වෙත විසඳනු ලබන අතර, model අත්හැරියහොත් පෙරනිමියෙන්
Mistral (mistral-ocr-latest) භාවිත වේ. ලියාපදිංචි සපයන්නන් (open-sse/config/ocrRegistry.ts):
| සපයන්නාගේ id | Model id | model අගය |
සටහන් |
|---|---|---|---|
mistral |
mistral-ocr-latest |
mistral/mistral-ocr-latest (හෝ සපයන්නා රහිත mistral-ocr-latest) |
සමමුහුර්තයි — තනි upstream ඇමතුමෙන් ප්රතිචාරය සෘජුවම ආපසු ලබා දේ. |
azure-document-intelligence |
prebuilt-read |
azure-document-intelligence/prebuilt-read |
අසමමුහුර්ත upstream (analyze + poll) — පහත බලන්න. |
vertex-deepseek-ocr |
deepseek-ocr-maas |
vertex-deepseek-ocr/deepseek-ocr-maas |
Vertex AI හි openapi/chat/completions හවුල්කාර endpoint එක හරහා සමමුහුර්තයි — සත්යාපනය/URL සඳහා පහත බලන්න. |
සපයන්නන් තිදෙනාම එකම Mistral-හැඩැති body එකකින් ප්රතිචාර දක්වයි:
{
"pages": [{ "index": 0, "markdown": "# Extracted text..." }],
"model": "mistral-ocr-latest",
"usage_info": { "pages_processed": 1 }
}
Azure Document Intelligence poll ප්රවාහය
Azure Document Intelligence හි analyze API එක අසමමුහුර්ත වේ: ආරම්භක ඉල්ලීම body එකක් වෙනුවට
Operation-Location header එකක් ආපසු ලබා දෙන අතර, ප්රතිඵලය සඳහා වරින් වර විමසිය යුතුය. Handler එක
(open-sse/handlers/ocr.ts) උත්සාහ 30ක් දක්වා සෑම තත්පරයකටම එම URL එකෙන් විමසයි, ok නොවන poll ප්රතිචාරයකදී හෝ "failed" තත්ත්වයකදී වහාම අසාර්ථක වෙයි (දිගටම poll නොකරයි), සහ
උත්සාහ සීමාව අවසන් වූ පසුවත් මෙහෙයුම ක්රියාත්මක වෙමින් පවතී නම් 504 ආපසු ලබා දේ. අවසාන Azure ප්රතිචාරය,
ඇමතුම්කරු වෙත ආපසු ලබා දීමට පෙර Mistral භාවිත කරන එම pages/markdown හැඩයටම
සාමාන්යකරණය කරනු ලබන බැවින්, client code එකට සපයන්නා සඳහා විශේෂ අවස්ථා හැසිරවීමක් අවශ්ය නොවේ.
Vertex AI DeepSeek OCR සත්යාපනය සහ endpoint විසඳීම
vertex-deepseek-ocr, chat/image ගමනාගමනය සඳහා OmniRoute දැනටමත් සහාය දක්වන
එම Vertex AI සත්යාපනයම නැවත භාවිත කරයි (open-sse/executors/vertex.ts): සම්බන්ධතාවයේ API key එක,
JWT-bearer ප්රවාහය හරහා කෙටි කාලීන OAuth access token එකකට හුවමාරු කරන
Service Account JSON අක්තපත්රයක් හෝ, කිසිදු වෙනසකින් තොරව භාවිත කරන දැනටමත් නිකුත් කළ OAuth access token එකක් වේ. Upstream endpoint URL එක යනු සම්බන්ධතාවයේ project සහ
region මත පදනම්ව ගොඩනඟන Vertex හි සාමාන්ය openapi/chat/completions හවුල්කාර endpoint එකයි — පැහැදිලි providerSpecificData.project/providerSpecificData.region අගයක් සැමවිටම ප්රමුඛ වේ;
එසේ නොමැති නම් project එක Service Account JSON හි project_id වෙතින් ව්යුත්පන්න කරන අතර region එක
පෙරනිමියෙන් us-central1 වේ. විසඳීම් දෙකම open-sse/handlers/ocr.ts තුළ
(resolveVertexOcrAccessToken, resolveVertexOcrBaseUrl) සිදු වන අතර,
handleOcr වෙත යොමු කිරීමට පෙර src/app/api/v1/ocr/route.ts විසින් ඒවා භාවිත කරනු ලැබේ.
මාදිලි ලැයිස්තුගත කිරීම
GET /v1/models
Authorization: Bearer your-api-key
→ OpenAI ආකෘතියෙන් සියලුම කතාබස්, embedding සහ රූප මාදිලි + සංයෝජන ලබා දෙයි
මාදිලි id උපසර්ග (?prefix=)
බොහෝ මාදිලි සපයන්නාගේ උපසර්ගයක් යටතේ ප්රකාශයට පත් කෙරේ. ඔබට ලැබෙන උපසර්ගය
MODELS_CATALOG_PREFIX_MODE විශේෂාංග ධජය මඟින් පාලනය වන අතර, query පරාමිතියක් සමඟ
එක් එක් ඉල්ලීම සඳහා එය අතික්රමණය කළ හැක — අනෙක් සියලු දෙනා සඳහා සේවාදායකය පුරා ඇති
සැකසුම වෙනස් නොකර පිරිසිදු ලැයිස්තුවක් අවශ්ය client එකකට මෙය ප්රයෝජනවත් වේ:
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 |
පෙරනිමිය. id දෙකම එකම මාදිලිය වෙත යොමු වේ; ආකාර දෙකෙන් ඕනෑම එකක් hardcode කර ඇති client වින්යාස දිගටම ක්රියා කිරීමට මෙය පවත්වාගෙන යයි. මෙය නාමාවලියේ ප්රමාණය ආසන්න වශයෙන් දෙගුණ කරයි. |
alias |
cc/claude-sonnet-4-6 |
එක් මාදිලියකට එක් ඇතුළත් කිරීමකි. වෙනම alias එකක් නොමැති සපයන්නන්ද ඔවුන්ගේ ඇතුළත් කිරීම නිකුත් කරන බැවින් කිසිවක් අහිමි නොවේ. |
canonical |
claude/claude-sonnet-4-6 |
සම්පූර්ණ provider-id උපසර්ගය යටතේ එක් මාදිලියකට එක් ඇතුළත් කිරීමකි. වෙනම alias එකක් නොමැති සපයන්නන් (උදා. antigravity/…, agy/…) ද ඔවුන්ගේ තනි id එක මෙහි නිකුත් කරන බැවින් කිසිවක් අහිමි නොවේ. |
query පරාමිතිය නොමැතිව වුවද dual-ප්රකාරයේ mirror එකක් හඳුනාගත හැක: එහි ප්රධාන id එක වෙත
යොමු වන parent ක්ෂේත්රයක් අඩංගු වේ.
මාදිලි තේරීම් අතුරුමුහුණතක් පෙන්වන clients විසින් ?prefix=alias ඉල්ලා සිටිය යුතුය —
OmniCopilot VS Code දිගුව සිදු කරන්නේද මෙයයි.
සිතීම-රහිත මාදිලි ප්රභේද
සිතීමේ හැකියාව ඇති Claude මාදිලි සඳහා, /v1/models විසින් claude-3-omniroute-no-thinking/ උපසර්ගය සහිත සිතීම-රහිත ප්රභේදයක් ද ප්රකාශයට පත් කරයි:
claude-3-omniroute-no-thinking/<provider>/<model>
මෙම id එක තේරීමෙන් (උදා. සැමවිටම thinking block එකක් අමුණන Claude Code වින්යාසයක) reasoning යටපත් කරමින් සැබෑ <provider>/<model> වෙත නැවත විසඳේ — /v1/messages මාර්ගයෙහි thinking:{type:"disabled"} භාවිතයෙන් හෝ /v1/chat/completions මාර්ගයෙහි reasoning/reasoning_effort ක්ෂේත්ර ඉවත් කිරීමෙන්. මෙම ප්රභේදය ලැයිස්තුගත කරන්නේ සිතීමට සහාය දක්වන සහ disabled පිළිපදින Claude-පවුලේ මාදිලි සඳහා පමණි (එබැවින්, උදාහරණයක් ලෙස, disabled ප්රතික්ෂේප කරන adaptive-only මාදිලි බැහැර කෙරේ). ක්රියාකරුවන්ට ModelSpec.noThinkingAlias හරහා එක් එක් මාදිලිය සඳහා මෙම ප්රභේදය බලහත්කාරයෙන් සක්රිය හෝ අක්රිය කළ හැක.
සපයන්නා ප්ලගිනයේ මැනිෆෙස්ටය
GET /api/v1/provider-plugin-manifest
Bifrost, CLIProxyAPI සහ අනාගත sidecar රවුටර භාවිත කරන, JSON-ආරක්ෂිත සපයන්නා ප්ලගිනයේ මැනිෆෙස්ටය ආපසු ලබා දෙයි. ප්රතිචාරය TypeScript සපයන්නා රෙජිස්ට්රියෙන් ජනනය කරන අතර OAuth සේවාදායක රහස්, ධාවනකාල පරිසර විභේදනය, ක්රියාත්මක කිරීමේ ශ්රිත, ඉල්ලීම් ශීර්ෂක සහ ගිණුම් දත්ත හිතාමතාම බැහැර කරයි.
sidecar එකක් ක්රියාවලියෙන් පිටත ධාවනය වන විට සහ
open-sse/config/providerPluginManifestRegistry.ts සෘජුවම ආයාත කළ නොහැකි විට මෙම endpoint එක භාවිත කරන්න.
ගැළපුම් Endpoints
| ක්රමය | මාර්ගය | ආකෘතිය |
|---|---|---|
| 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-ශෛලියේ නැවත ශ්රේණිගත කිරීම |
| POST | /v1/classify |
Jina වර්ගීකරණය (api.jina.ai) |
| POST | /v1/segment |
Jina ඛණ්ඩකය (segment.jina.ai) |
| POST | /v1/moderations |
OpenAI Moderations |
| GET | /v1/models |
OpenAI |
| POST | /v1/messages/count_tokens |
Anthropic |
| GET | /v1beta/models |
Gemini |
| POST | /v1beta/models/{...path} |
Gemini generateContent |
| POST | /v1/api/chat |
Ollama |
| GET | /api/v1/vscode/{token}/ |
OpenAI නාමාවලි අන්වර්ථ නාමය |
| GET | /api/v1/vscode/{token}/models |
OpenAI ආකෘති අන්වර්ථ නාමය |
| POST | /api/v1/vscode/{token}/chat/completions |
OpenAI ටෝකනීකෘත අන්වර්ථ නාමය |
| POST | /api/v1/vscode/{token}/responses |
OpenAI Responses ටෝකනීකෘත අන්වර්ථ නාමය |
| POST | /api/v1/vscode/{token}/api/chat |
Ollama ටෝකනීකෘත අන්වර්ථ නාමය |
| GET | /api/v1/vscode/{token}/api/tags |
Ollama ටැග් ටෝකනීකෘත අන්වර්ථ නාමය |
සියලුම POST මාර්ග එකම ව්යුහය අනුගමනය කරයි: Bearer your-api-key + Zod මඟින් වලංගු කරන ලද JSON අන්තර්ගතය (v1RerankSchema, v1ModerationSchema, v1AudioSpeechSchema ආදිය; src/shared/validation/schemas.ts බලන්න). යෝජනා ක්රමය වලංගු කිරීම අසාර්ථක වුවහොත් 4xx ආපසු ලබා දෙයි.
Authorization: Bearer ... ඇමිණිය නොහැකි සේවාදායකයන් සඳහා, OmniRoute විසින් query-string ගැළපුම (?token=..., ?apiKey=..., ?api_key=..., ?key=...) හෝ පහත ලේඛනගත කර ඇති වෙන් කළ /api/v1/vscode/{token}/... endpoints හරහා URL එක තුළ API යතුරු ද පිළිගනී.
# නැවත ශ්රේණිගත කිරීම
POST /v1/rerank { "model": "jina-ai/jina-reranker-v3.5", "query": "...", "documents": ["..."] }
# Jina වර්ගීකරණය (Foundation API අක්තපත්ර)
POST /v1/classify { "model": "jina-embeddings-v5-text-small", "input": ["..."], "labels": ["a", "b"] }
# Jina ඛණ්ඩකය
POST /v1/segment { "content": "...", "return_chunks": true }
# Jina සෙවීම (s.jina.ai; සපයන්නාගේ අන්වර්ථ නාම: jina-search, jina-ai, jina)
POST /v1/search { "query": "...", "provider": "jina-search" }
# අන්තර්ගත පාලනය
POST /v1/moderations { "model": "omni-moderation-latest", "input": "..." }
# TTS — audio/mpeg අන්තර්ගතයක් (හෝ ඉල්ලා ඇති ආකෘතිය) ලබා දෙයි
POST /v1/audio/speech { "model": "openai/tts-1", "input": "Hello", "voice": "alloy" }
# රූප සංස්කරණය (multipart)
POST /v1/images/edits -F image=@input.png -F prompt="..." -F mask=@mask.png
# වීඩියෝ / සංගීත ජනනය (සපයන්නාගේ උපසර්ගය සහිත ආකෘති හැඳුනුම්කාරකය)
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 |
ගොනුවක් උඩුගත කරන්න (multipart: file, purpose, expires_after[anchor], expires_after[seconds]) — උපරිමය 512 MiB |
| GET | /v1/files |
සත්යාපිත API යතුර සඳහා ගොනු ලැයිස්තුගත කරන්න |
| GET | /v1/files/[id] |
ගොනුවක පාරදත්ත ලබාගන්න |
| DELETE | /v1/files/[id] |
ගොනුවක් මකන්න |
| GET | /v1/files/[id]/content |
අමු ගොනු අන්තර්ගතය ප්රවාහයක් ලෙස ආපසු ලබාදෙන්න |
සත්යාපනය: Bearer API යතුර — ගොනු getApiKeyRequestScope හරහා එක් එක් API යතුරට සීමා කර ඇත.
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 හරහා බලාත්මක කෙරේ.
කෝටා පිළිබඳ දැනුවත් fallback (#8297): පැහැදිලි provider එකක් ලබා දී නොමැති විට, pool එක
(firecrawl → jina-reader → tavily-search → tinyfish → nimble-search) ස්ථාවර
ප්රමුඛතා අනුපිළිවෙළකට (fill-first) පරීක්ෂා කෙරේ — ඉල්ලීම වහාම අවසන් කිරීම වෙනුවට,
වින්යාස කර ඇති නමුත් අනුපාත සීමාවකට ලක් වූ සපයන්නෙකු මඟ හරිනු ලබන අතර, නැවත උත්සාහ කළ හැකි/කෝටා සම්බන්ධ upstream අසාර්ථක වීමක්
(HTTP 429 සැමවිටම; Firecrawl/Tavily/TinyFish හි කෝටා ආකාරයේ නොමිලේ මට්ටම් සඳහා 402/403 —
Jina Reader සඳහා නොවන අතර, සාමාන්ය 400 වැරදි ඉල්ලීමක් සඳහා කිසිවිටෙක නොවේ) ඉල්ලීම ක්රියාත්මක වන අවස්ථාවේදී
මීළඟ මෙතෙක් උත්සාහ නොකළ, අක්තපත්ර සහිත සපයන්නා වෙත යොමු වේ. pool එකේ සෑම සපයන්නෙකුම
අවසන් වූ විට, endpoint එක පෙර පැවති සාමාන්ය 400 වෙනුවට තනි 429 එකක්
(Retry-After ශීර්ෂයක් සමඟ) ආපසු ලබා දෙයි. පැහැදිලි provider එකක් ඉල්ලා ඇති විට,
නිහඬ fallback එකක් නොමැත — අනුපාත සීමාවකට ලක් වූ හෝ අසාර්ථක වන පැහැදිලි
සපයන්නාගේම දෝෂය පෙන්වනු ලැබේ (අනුපාත සීමාවකට ලක් වී ඇත්නම් 429, එසේ නොමැති නම් upstream
තත්ත්වය).
WebSocket ප්රවාහනය
GET /v1/ws?handshake=1
WebSocket උත්ශ්රේණිගත කිරීමේ handshake එකක් වලංගු කර wire protocol උදාහරණ පණිවිඩ (request, cancel) ආපසු ලබා දෙයි. සත්ය WS frames, Next.js මාර්ග වගුවෙන් පිටත ඇති, සමඟ අමුණා ඇති WS server එක මඟින් හසුරුවනු ලැබේ.
සත්යාපනය: handshake අතරතුර Bearer API යතුර.
WebSocket හරහා Responses API (codex පමණි)
# HTTP API එකට සමාන host:port (පෙරනිමි 20128); සම්බන්ධතාව උත්ශ්රේණිගත කරන්න:
wscat -c "ws://localhost:20128/v1/responses?api_key=<OMNIROUTE_API_KEY>"
# (හෝ: -H "Authorization: Bearer <OMNIROUTE_API_KEY>")
# පළමු frame එක response.create විය යුතුමය:
{ "type": "response.create", "model": "gpt-5.5", "input": [ { "role": "user", "content": "hi" } ] }
Responses-API-over-WebSocket proxy එකක් codex වෙත පමණක් (ChatGPT
backend) සම්බන්ධ කර ඇත. එය API/dashboard එක මෙන්ම එකම port එකේ /v1/responses,
/responses, සහ /api/v1/responses යන මාර්ගවල සවන් දෙයි. පළමු response.create frame එකේදී එය
අභ්යන්තර codex-responses-ws bridge එක හරහා සත්යාපනය + සූදානම් කිරීම සිදු කර, codex OAuth සම්බන්ධතාවක්
තෝරා, wreq-js ප්රවාහනය හරහා wss://chatgpt.com/backend-api/codex/responses
වෙත tunnel කරයි. codex නොවන models ප්රතික්ෂේප කෙරේ (codex_ws_provider_required).
කෝටා-බෙදාගැනීමේ routing සඳහා model: "qtSd/<group>/codex/<model>" භාවිත කරන්න. මෙය
app/server-ws.mjs + scripts/dev/responses-ws-proxy.mjs + src/app/api/internal/codex-responses-ws/route.ts තුළ ක්රියාත්මක කර ඇත.
සත්යාපනය: handshake අතරතුර Bearer API යතුර. සමඟ අමුණා ඇති HTTP server එක (server-ws.mjs)
සක්රිය entrypoint එක විය යුතුය (app/server-ws.mjs පවතින විට, පෙරනිමියෙන් එය එසේ වේ).
Model id: සරල ChatGPT id එක භාවිත කරන්න (codex/ උපසර්ගය නොමැතිව)
supports_websockets = true වන විට OpenAI Codex CLI එක model නාමය client-side හි වලංගු කරන අතර
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 හි bridge එක
codex සඳහා පමණක් වන බැවින්, upstream වෙත tunnel කිරීමට පෙර එය සරල id එකක් codex model එකක් ලෙස
(resolveCodexWsModelInfo) නැවත විසඳයි — එම සරල
gpt-5.5 එක HTTP හරහා වෙනත් සපයන්නෙකු වෙත route විය හැකි වුවද.
OpenAI Codex CLI වින්යාස කිරීම
~/.codex/config.toml වෙත WebSocket සහාය සහිත අභිරුචි සපයන්නෙකු එක් කිරීමෙන්
Codex CLI එක OmniRoute වෙත යොමු කරන්න (පවතින වින්යාසයකට වෙනස්කම් නොකිරීමට
වෙනම CODEX_HOME එකක් භාවිත කරන්න):
model = "gpt-5.5" # සරල id එක — "codex/gpt-5.5" නොවේ
model_provider = "omniroute"
[model_providers.omniroute]
name = "OmniRoute (WS)"
base_url = "http://localhost:20128/v1" # අවසානයේ slash එකක් නැත; 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 සම්බන්ධතාව වෙත tunnel කරයි. දේශීය server එකට එරෙහිව අන්තයේ සිට අන්තය දක්වා
වලංගු කර ඇත: ChatGPT විසින් codex.rate_limits + response.created ආපසු ලබා දී
සම්පූර්ණ කිරීම ප්රවාහනය කරයි.
කෝටා සහ ගැටලු වාර්තා කිරීම
| ක්රමය | මාර්ගය | විස්තරය |
|---|---|---|
| GET | /v1/quotas/check |
ලියාපදිංචි යතුරක් නිකුත් කිරීමට පෙර provider + accountId සඳහා කෝටාව පූර්ව-වලංගු කරන්න |
| POST | /v1/issues/report |
කෝටා/යතුරු නිකුත් කිරීමේ අසාර්ථකත්වයක් GitHub වෙත වාර්තා කරන්න (GITHUB_ISSUES_REPO + ටෝකනය අවශ්යයි) |
සත්යාපනය: Bearer API යතුර (isAuthenticated).
ස්වයං-සේවා භාවිතය (/api/usage/om-usage)
ඕනෑම API යතුරකට තමන්ගේම භාවිතය සහ කෝටා කියවිය හැකිය — කළමනාකරණ සත්යාපනය අවශ්ය නොවේ. යතුරක් දරන්නෙකුට තම වියදම පෙන්වීමට සේවාලාභියෙකු (CLI, OmniCopilot පැනලය) භාවිත කරන අන්ත ලක්ෂ්යය මෙයයි.
# පෙළ ආකෘතිය (ඓතිහාසික ගිවිසුම — ටර්මිනලයක් සඳහා සරල පෙළ)
curl -H "Authorization: Bearer <your-api-key>" \
http://localhost:20128/api/usage/om-usage
# ව්යුහගත ආකෘතිය — UI එකක් භාවිත කරන්නේ මෙයයි
curl -H "Authorization: Bearer <your-api-key>" \
"http://localhost:20128/api/usage/om-usage?format=json"
යතුරෙහි allowUsageCommand සක්රීය කර තිබිය යුතුය (පෙරනිමියෙන් අක්රීයයි — උපකරණ පුවරුවේ API-යතුරු කළමනාකරු එය එක් එක් යතුර සඳහා මාරු කරයි). එය නොමැතිව අන්ත ලක්ෂ්යය 403 සමඟ ප්රතිචාර දක්වයි.
?format=json මඟින් වෙනස්කම් හඳුනාගත හැකි ව්යුහයක් ආපසු ලබා දෙන බැවින්, ඇමතුම්කරු කිසි විටෙකත් ප්රතික්ෂේප කිරීමකින් දත්ත ක්ෂේත්රයක් කියවන්නේ නැත. සාර්ථක වූ විට:
{
"allowed": true,
// යතුර එක්-යතුරකට අදාළ භාවිත සීමා (දෛනික/සතිපතා USD) තෝරාගෙන ඇති විට පමණක් පවතී:
"personal": {
"dailySpentUsd": 1.25,
"dailyLimitUsd": 5,
"dailyResetAtIso": "…",
"weeklySpentUsd": 8,
"weeklyLimitUsd": 20,
"weeklyResetAtIso": "…" /* … */,
},
// තෝරාගත් සැපයුම්කරුගේ කෝටා සැණරුව, හෝ තවම කිසිවක් හැඹිලිගත කර නොමැති විට null:
"provider": {
"connectionId": "…",
"provider": "claude",
"plan": "…",
"quotas": {/* … */},
},
// UI එකකට සැපයුම්කරුවන් කිහිපදෙනෙකු පසෙකින් පසෙකට නිරූපණය කළ හැකි වන පරිදි, සෑම සම්බන්ධතාවකම සැණරුව:
"providers": [
{ "connectionId": "…", "provider": "claude" /* … */ },
{ "provider": "codex" /* … */ },
],
}
ප්රතික්ෂේප කිරීමකදී (401 වැරදි යතුර / 403 අවසර නැත), එම මාර්ගයම
{ "allowed": false, "error": { "message": "…" } } ආපසු ලබා දෙයි — පවතින නමුත් හිස් personal/provider
(යතුරට අවසර ඇත, තවම කිසිවක් අනාවරණය වී නැත) යනු ප්රතික්ෂේප කිරීමකට වඩා වෙනස් තත්ත්වයක් වන අතර, ඒවා වෙන්කර හඳුනාගන්නේ JSON ආකෘතිය පමණි.
සත්යාපනය: ඇමතුම්කරුගේම Bearer API යතුර, isValidApiKey සමඟ වලංගු කර ඇත — මෙය
requireManagementAuth පිටුපස දිගටම පවතින කළමනාකරණ මතුපිට (/api/keys/…) නොවේ.
අර්ථකථන හැඹිලිය
# හැඹිලි සංඛ්යාලේඛන ලබා ගන්න
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/*, පොදු සත්යාපන/පිවිසුම් මාර්ග හැර) සාමාන්ය 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 | මාදිලි මිලකරණය |
භාවිතය සහ විශ්ලේෂණය
| අන්ත ලක්ෂ්යය | ක්රමය | විස්තරය |
|---|---|---|
/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 | සපයන්නා/ආකෘතිය අනුව අඛණ්ඩ ප්රමාද එකතුව (සාමාන්යය/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) |
සැකසුම්
| අන්ත ලක්ෂ්යය | ක්රමය | විස්තරය |
|---|---|---|
/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 | ඉල්ලීම් ලොග් පේළි සහ දේශීය ඇමතුම්-ලොග් කෞතුක වස්තු හිස් කිරීම |
සන්දර්භය සහ සම්පීඩනය
| Endpoint | ක්රමය | විස්තරය |
|---|---|---|
/api/compression/preview |
POST | off/lite/standard/aggressive/ultra/RTK/stacked සම්පීඩනය පෙරදසුන් කරන්න |
/api/compression/language-packs |
GET | ලබා ගත හැකි Caveman භාෂා ඇසුරුම් ලැයිස්තුගත කරන්න |
/api/compression/rules |
GET | Caveman රීති පාර-දත්ත ලැයිස්තුගත කරන්න |
/api/context/caveman/config |
GET/PUT | Caveman සඳහා විශේෂිත සැකසුම් අන්වර්ථය |
/api/context/rtk/config |
GET/PUT | අභිරුචි පෙරහන් සහ අමු ප්රතිදාන රඳවාගැනීම ඇතුළුව RTK සඳහා විශේෂිත සැකසුම් |
/api/context/rtk/filters |
GET | RTK පෙරහන් නාමාවලිය සහ අභිරුචි පෙරහන් රෝගනිශ්චය |
/api/context/rtk/test |
POST | පෙළ දත්තයක් මත RTK පෙරදසුනක්/පරීක්ෂණයක් ධාවනය කරන්න |
/api/context/rtk/raw-output/[id] |
GET | දර්ශක id අනුව රඳවාගත් සංශෝධිත අමු ප්රතිදානය කියවන්න |
/api/context/combos |
GET/POST | සම්පීඩන සංයෝජන ලැයිස්තුගත කිරීම/නිර්මාණය කිරීම |
/api/context/combos/[id] |
GET/PUT/DELETE | සම්පීඩන සංයෝජන විස්තර/යාවත්කාලීන කිරීම/මකා දැමීම |
/api/context/combos/[id]/assignments |
GET/PUT | රවුටින් සංයෝජනවලට සම්පීඩන සංයෝජන පවරන්න |
/api/context/analytics |
GET | සම්පීඩන විශ්ලේෂණ අන්වර්ථය |
අධීක්ෂණය
| Endpoint | ක්රමය | විස්තරය |
|---|---|---|
/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 | කළමනාකරණ සත්යාපනයට/ප්රෝබ් කිරීමට පෙර දැඩි විශ්වාසනීය-loopback පරීක්ෂාව; පිරිසිදු කළ FFmpeg/ffprobe ලබාගත හැකි බව සහ අනුවාද (no-store) |
/api/modality-bridge/video/extract |
POST | අභ්යන්තර, සත්යාපිත, විශ්වාසනීය-loopback බයිට් බ්රෝකරය; 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 SDK අනුකූලතාව අපේක්ෂා කරන සේවාලාභීන් සඳහා මෙම අන්ත ලක්ෂ්ය Gemini හි API ආකෘතිය පිළිබිඹු කරයි.
අභ්යන්තර / පද්ධති 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/…). වෙනත් සැපයුම්කරුවෙකුගේ
ආකෘතියක් නැවත අපනයනය කරන ගේට්වේ සුදුසුකම් ලත් හැඳුනුම්පතක් භාවිත කරයි
(openrouter/deepgram/nova-3).
ඉල්ලීම:
curl -X POST http://localhost:20128/v1/audio/transcriptions \
-H "Authorization: Bearer your-api-key" \
-F "file=@recording.mp3" \
-F "model=openai/whisper-1"
ප්රතිචාරය:
{
"text": "Hello, this is the transcribed audio content.",
"task": "transcribe",
"language": "en",
"duration": 12.5
}
උදාහරණ ආකෘති හැඳුනුම්පත්: openai/whisper-1 (OpenAI යතුරක් අවශ්ය වේ),
openrouter/deepgram/nova-3 (OpenRouter යතුරක් අවශ්ය වේ),
deepgram/nova-3 (ස්වදේශීය Deepgram යතුරක් අවශ්ය වේ). සරල
deepgram/nova-3 ඉල්ලීමක් OpenRouter භාවිත නොකරයි.
සහාය දක්වන ආකෘති: mp3, wav, m4a, flac, ogg, webm.
Ollama අනුකූලතාව
Ollama හි API ආකෘතිය භාවිත කරන සේවාලාභීන් සඳහා:
# කතාබස් අන්ත ලක්ෂ්යය (Ollama ආකෘතිය)
POST /v1/api/chat
# ආකෘති ලැයිස්තුගත කිරීම (Ollama ආකෘතිය)
GET /api/tags
ඉල්ලීම් Ollama සහ අභ්යන්තර ආකෘති අතර ස්වයංක්රීයව පරිවර්තනය කෙරේ.
ටෝකනීකරණය කළ VS Code / ශීර්ෂ රහිත අන්වර්ථ නාම
ඒකාබද්ධ කිරීමකට Authorization ශීර්ෂයක් ඇතුළත් කළ නොහැකි විට සහ 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 යතුර සඳහා ටෝකන් අයවැය (ඉහත USD-පදනම් වූ අයවැයෙන් වෙනස් වේ). ඉල්ලීම් මාර්ගයේදීම බලාත්මක කෙරේ: යතුරක වත්මන් කාල කවුළුවේ භාවිතය එහි සීමාවට ළඟා වූ විට, ඉල්ලීම් 429 Too Many Requests සමඟ ප්රතික්ෂේප කෙරේ. සීමා නිශ්චිත model එකකට, provider එකකට සීමා කළ හැකි අතර, නැතහොත් යතුර පුරා global ලෙස යෙදිය හැක; ඉල්ලීමකට සීමා කිහිපයක් ගැළපෙන විට, වඩාත්ම සීමාකාරී එක ක්රියාත්මක වේ.
# යතුරක ටෝකන් සීමා ලැයිස්තුගත කරන්න (සජීවී කාල කවුළු භාවිතය ඇතුළුව)
GET /api/usage/token-limits?apiKeyId=key-123
# ටෝකන් සීමාවක් සාදන්න හෝ යාවත්කාලීන කරන්න
POST /api/usage/token-limits
Content-Type: application/json
{
"apiKeyId": "key-123",
"scopeType": "model",
"scopeValue": "openai/gpt-4o",
"tokenLimit": 1000000,
"resetInterval": "monthly",
"enabled": true
}
# id මඟින් ටෝකන් සීමාවක් මකන්න
DELETE /api/usage/token-limits?id=tl-abc
ක්රමලේඛ සටහන් (
setTokenLimitSchema):apiKeyIdසහscopeType(model|provider|global) අවශ්ය වේ.scopeTypeඑකglobalනොවේ නම්scopeValueඅවශ්ය වේ (උදා.modelවිෂය පථයක් සඳහා model id එකක්,providerවිෂය පථයක් සඳහා provider id එකක්).tokenLimitධන පූර්ණ සංඛ්යාවක් විය යුතුය (තන්තුවකින් පරිවර්තනය කෙරේ). විකල්ප:id(සෑදීමට අත්හරින්න, යාවත්කාලීන කිරීමට සපයන්න),resetInterval(daily|weekly|monthly, පෙරනිමියmonthly),resetTime(HH:MM),enabled(පෙරනිමියtrue).GETප්රතිචාර මඟින් සෑම සීමාවකටමtokensUsed,remaining,windowStart,periodStartAt, සහnextResetAtඑක් කර වැඩිදියුණු කෙරේ. මෙය කළමනාකරණ-පන්තියේ අන්ත ලක්ෂ්යයකි (authz නළ මාර්ගය මඟින් සත්යාපනය මධ්යගතව බලාත්මක කෙරේ).
ඉල්ලීම් සැකසීම
- සේවාලාභියා
/v1/*වෙත ඉල්ලීමක් යවයි - මාර්ග හසුරුවනය
handleChat,handleEmbedding,handleAudioTranscription, හෝhandleImageGenerationකැඳවයි - ආකෘතිය නිරාකරණය කෙරේ (සෘජු provider/model හෝ alias/combo)
- ගිණුම් ලබාගත හැකි බව පෙරහන් කර, දේශීය DB එකෙන් අක්තපත්ර තෝරාගනු ලැබේ
- chat සඳහා:
handleChatCoreඅර්ථාර්ථ/අත්සන් cache පරීක්ෂා කර combo සම්පීඩන සැකසුම් නිරාකරණය කරයි - සබල කර ඇති විට, provider පරිවර්තනයට පෙර ප්රාක්ක්රියාකාරී සම්පීඩනය ක්රියාත්මක වේ (
lite, Caveman, RTK, හෝ ස්තරගත) - Provider executor ඉහළ ප්රවාහ ඉල්ලීම යවයි
- ප්රතිචාරය නැවත සේවාලාභී ආකෘතියට පරිවර්තනය කෙරේ (chat), නැතහොත් තිබෙන ආකාරයෙන්ම ආපසු ලබා දේ (embeddings/images/audio)
- භාවිතය, සම්පීඩන විශ්ලේෂණ, සහ ඉල්ලීම් ලොග් සටහන් කරනු ලැබේ
- දෝෂ ඇති විට combo නීති අනුව fallback යෙදේ
සම්පූර්ණ නිර්මාණ ශිල්ප යොමුව: ARCHITECTURE.md
Combo කළමනාකරණය
ඉහළ-මට්ටමේ මාර්ගගත කිරීමේ combos (/api/combos* යටතේ දැනටමත් සාරාංශගත කර ඇත) model id රටාවකින් 1:1 ලෙසද සිතියම්ගත කළ හැකි අතර, එමඟින් OpenAI-ශෛලියේ model id එකක් combo එකකට විනිවිද පෙනෙන ලෙස යළි යොමු කිරීමට ඉඩ සලසයි.
| ක්රමය | මාර්ගය | විස්තරය |
|---|---|---|
| GET | /api/model-combo-mappings |
සියලුම model→combo සිතියම්ගත කිරීම් ලැයිස්තුගත කරන්න |
| POST | /api/model-combo-mappings |
සිතියම්ගත කිරීමක් සාදන්න — body: {pattern, comboId, priority?, enabled?, description?} |
| GET | /api/model-combo-mappings/[id] |
තනි සිතියම්ගත කිරීමක් ලබාගන්න |
| PUT | /api/model-combo-mappings/[id] |
පවතින සිතියම්ගත කිරීමක ක්ෂේත්ර යාවත්කාලීන කරන්න |
| DELETE | /api/model-combo-mappings/[id] |
සිතියම්ගත කිරීමක් ඉවත් කරන්න |
සත්යාපනය: කළමනාකරණ session/API යතුර (requireManagementAuth).
Webhooks
OmniRoute සිදුවීම් සඳහා පිටතට යැවෙන webhook දායකත්ව (ඉල්ලීම් සම්පූර්ණ වීම, quota අවසන් වීම, යතුරු මාරු කිරීම ආදිය).
| ක්රමය | මාර්ගය | විස්තරය |
|---|---|---|
| GET | /api/webhooks |
webhooks ලැයිස්තුගත කරයි (රහස් <prefix>... ලෙස සඟවා පෙන්වයි) |
| POST | /api/webhooks |
webhook එකක් සාදයි — body: {url, events?: ["*"], secret?, description?} |
| GET | /api/webhooks/[id] |
webhook එකක් ලබා ගනියි |
| PUT | /api/webhooks/[id] |
url/events/secret/description යාවත්කාලීන කරයි |
| DELETE | /api/webhooks/[id] |
webhook එකක් ඉවත් කරයි |
| POST | /api/webhooks/[id]/test |
webhook URL වෙත පරීක්ෂණ payload එකක් යවා බෙදාහැරීමේ තත්ත්වය ආපසු ලබා දෙයි |
සත්යාපනය: කළමනාකරණ සැසිය/API යතුර (requireManagementAuth).
ලියාපදිංචි කළ යතුරු (ස්වයංක්රීය කළමනාකරණය)
දෛනික/පැයක quota සමඟ, පසුබිම් සැපයුම්කරුවෙකුට/ගිණුමකට අදාළව API යතුරු නිකුත් කිරීමට සහ මාරු කිරීමට ස්වයංක්රීය යතුරු කළමනාකරණ උපපද්ධතිය විසින් භාවිත කරයි.
| ක්රමය | මාර්ගය | විස්තරය |
|---|---|---|
| GET | /api/v1/registered-keys |
ලියාපදිංචි කළ යතුරු ලැයිස්තුගත කරයි (සඟවා පෙන්වන prefix එක පමණි) |
| POST | /api/v1/registered-keys |
නව ලියාපදිංචි යතුරක් නිකුත් කරයි — body: {name, provider?, accountId?, idempotencyKey?, expiresAt?, dailyBudget?, hourlyBudget?}. අමු යතුර ආපසු ලබා දෙන්නේ එක් වරක් පමණි. quota හේතුවෙන් ප්රතික්ෂේප කළහොත් 429 ආපසු ලබා දෙයි. |
| GET | /api/v1/registered-keys/[id] |
ලියාපදිංචි කළ යතුරක metadata ලබා ගනියි (අමු යතුරු දත්ත නොමැතිව) |
| DELETE | /api/v1/registered-keys/[id] |
ලියාපදිංචි කළ යතුරක් අවලංගු කරයි |
| POST | /api/v1/registered-keys/[id]/revoke |
පැහැදිලි අවලංගු කිරීමේ endpoint එක (DELETE හා සමාන ප්රතිඵලයක් ඇත) |
සත්යාපනය: Bearer API යතුර (isAuthenticated). /v1/quotas/check සහ /v1/issues/report ද බලන්න.
Agents ප්රොටෝකෝලය
OmniRoute පරිශීලකයන් වෙනුවෙන් දුරස්ථව ක්රියාත්මක කරන cloud agent කාර්යයන් (Claude Code, Codex Cloud, OpenHands, ආදිය).
| ක්රමය | මාර්ගය | විස්තරය |
|---|---|---|
| GET | /api/v1/agents/tasks |
කාර්යයන් ලැයිස්තුගත කරයි — විකල්ප ?provider=, ?status=, ?limit= (1–500, පෙරනිමිය 50) |
| POST | /api/v1/agents/tasks |
කාර්යයක් සාදයි — body එක CreateCloudAgentTaskSchema මඟින් වලංගු කෙරේ (providerId, prompt, source, options?). කාර්ය envelope එක සමඟ 201 ආපසු ලබා දෙයි |
| DELETE | /api/v1/agents/tasks?id=... |
කාර්යයක් මකයි |
| GET | /api/v1/agents/tasks/[id] |
කාර්යය කියවයි — external_id සකසා ඇති විට upstream cloud agent වෙතින් තත්ත්වය සමමුහුර්තව නැවුම් කරයි |
| POST | /api/v1/agents/tasks/[id] |
වෙනස්කම් අනුව හඳුනාගන්නා ක්රියාව: {action: "approve"}, {action: "message", message}, හෝ {action: "cancel"} |
| DELETE | /api/v1/agents/tasks/[id] |
id අනුව නිශ්චිත කාර්යයක් මකයි |
සත්යාපනය: සෑම ක්රමයක් සඳහාම management සත්යාපනය අවශ්ය වේ (
requireCloudAgentManagementAuth). v3.8.0 ට පෙර මේවා සත්යාපනය නොකළ ඒවා විය — පසුගාමී නොගැළපෙන වෙනස සඳහා588a0333commit එක බලන්න.
# Claude Code cloud කාර්යයක් සාදන්න
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":"..."}}'
Management ප්රොක්සි
providers, accounts වෙත හෝ ගෝලීයව පැවරිය හැකි පිටතට යන HTTP(S)/SOCKS ප්රොක්සි.
| ක්රමය | මාර්ගය | විස්තරය |
|---|---|---|
| GET | /api/v1/management/proxies |
ප්රොක්සි ලැයිස්තුගත කරයි (?id= සමඟ එකක් ආපසු ලබා දෙයි; ?id=&where_used=1 සමඟ පැවරුම් ප්රස්තාරය ආපසු ලබා දෙයි) |
| POST | /api/v1/management/proxies |
ප්රොක්සියක් සාදයි — body එක createProxyRegistrySchema මඟින් වලංගු කෙරේ |
| PATCH | /api/v1/management/proxies |
ප්රොක්සිය යාවත්කාලීන කරයි — body එක updateProxyRegistrySchema මඟින් වලංගු කෙරේ (id අවශ්යයි) |
| DELETE | /api/v1/management/proxies?id=...&force=1 |
ප්රොක්සිය මකයි (පැවරුම් ඉවත් කිරීමට force=1 භාවිත කරන්න) |
| GET | /api/v1/management/proxies/assignments |
පැවරුම් ලැයිස්තුගත කරයි — proxy_id, scope, scope_id මඟින් පෙරහන් කළ හැකිය; connection එකක් සඳහා සක්රිය ප්රොක්සිය විසඳීමට resolve_connection_id=<id> ලබා දෙන්න |
| PUT | /api/v1/management/proxies/assignments |
පවරයි — body එක proxyAssignmentSchema මඟින් වලංගු කෙරේ ({scope, scopeId?, proxyId?}). dispatcher cache එක හිස් කරයි |
| PUT | /api/v1/management/proxies/bulk-assign |
තොග වශයෙන් පවරයි — body එක bulkProxyAssignmentSchema මඟින් වලංගු කෙරේ ({scope, scopeIds[], proxyId?}) |
| GET | /api/v1/management/proxies/health?hours=24 |
කාල පරාසයක් තුළ සමස්ත ප්රොක්සි සෞඛ්යය (සාර්ථක/අසාර්ථක ගණන්, ප්රමාදය) |
සත්යාපනය: සෑම route එකක් සඳහාම management session/API key එකක් අවශ්ය වේ (requireManagementAuth).
කාර්ය විස්තරයේ ඇති
POST /api/v1/management/proxies/[id]/assignmentsසහPOST /api/v1/management/proxies/[id]/health, ඉහත පෙන්වා ඇති පැතලි/assignmentsසහ/healthroutes මඟින් සපයනු ලැබේ — codebase එකේ එක් එක් id සඳහා වෙනම subroutes නොමැත.
ප්රත්යස්ථතාව (විස්තීර්ණ)
OmniRoute ස්වාධීන තාවකාලික-අසාර්ථකත්ව යාන්ත්රණ තුනක් නිරාවරණය කරයි; පහත කළමනාකරණ අන්ත ලක්ෂ්ය මඟින් ක්රියාකරුවන්ට ඒවා කියවීමට සහ අතික්රමණය කිරීමට හැකියාව ලැබේ:
| විෂය පථය | තත්ත්ව ගබඩාව | කියවීම | යළි පිහිටුවීම / හිස් කිරීම |
|---|---|---|---|
| සැපයුම්කරු පරිපථ බිඳිනය | domain_circuit_breakers + මතකය තුළ |
/api/monitoring/health |
POST /api/resilience/reset |
| සම්බන්ධතා විරාම කාලය | සැපයුම්කරු සම්බන්ධතා මත rateLimitedUntil |
/api/rate-limits, /api/providers/[id] |
(අවශ්ය වූ විට නැවත සක්රීය වේ; සැපයුම්කරු PUT හරහා හිස් කරන්න) |
| ආකෘති අගුළු දැමීම | මතකය තුළ ඇති ආකෘති-ලබාගතහැකිතා රෙජිස්ට්රිය | GET /api/resilience/model-cooldowns |
DELETE /api/resilience/model-cooldowns |
PATCH /api/resilience විසින් providerBreaker.oauth සහ providerBreaker.apikey යටතේ සැපයුම්කරු පරිපථ බිඳින අතික්රමණ පිළිගනී. සෑම පැතිකඩක්ම degradationThreshold, failureThreshold, සහ resetTimeoutMs සඳහා සහාය දක්වයි; එම ක්ෂේත්රම Dashboard → Settings → Resilience තුළද ලබා දී ඇත.
# තනි ආකෘති අගුළු දැමීමක් හිස් කරන්න
curl -X DELETE http://localhost:20128/api/resilience/model-cooldowns \
-H "Cookie: auth_token=..." \
-H "Content-Type: application/json" \
-d '{"provider":"openai","model":"gpt-4o-mini"}'
# සියලුම අගුළු දැමීම් මකා දමන්න
curl -X DELETE http://localhost:20128/api/resilience/model-cooldowns \
-H "Cookie: auth_token=..." \
-d '{"all":true}'
සම්පූර්ණ සංකල්පීය යොමුව සහ පරිපථ බිඳින පෙරනිමි සඳහා: CLAUDE.md → "ප්රත්යස්ථතා ධාවනකාල තත්ත්වය" බලන්න.
කුසලතා
අභිරුචි ක්රියාත්මක කළ හැකි හසුරුවන්නන් සහ වෙළඳපොළ ඒකාබද්ධ කිරීම් මඟින් OmniRoute පුළුල් කිරීම සඳහා වන කුසලතා රාමුව.
| ක්රමය | මාර්ගය | විස්තරය |
|---|---|---|
| GET | /api/skills |
ස්ථාපිත කුසලතා ලැයිස්තුගත කරන්න — ?q=, ?mode=on|off|auto, ?source=skillsmp|skillssh|local අනුව පෙරහන් කළ හැකි අතර පිටුගත කර ඇත |
| GET | /api/skills/[id] |
එක් කුසලතාවක් ලබා ගන්න |
| PUT | /api/skills/[id] |
කුසලතාව යාවත්කාලීන කරන්න (නම, විස්තරය, මාදිලිය, ස්කීමාව, හසුරුවන්නා, ටැග්) |
| DELETE | /api/skills/[id] |
කුසලතාවක් අස්ථාපනය කරන්න |
| POST | /api/skills/install |
අමු මැනිෆෙස්ට් එකකින් කුසලතාවක් ස්ථාපනය කරන්න — ඉල්ලීම් අන්තර්ගතය: {name, version, description, schema:{input, output}, handlerCode, apiKeyId?} |
| GET | /api/skills/executions |
මෑත කුසලතා ක්රියාත්මක කිරීම් ලැයිස්තුගත කරන්න (ආදාන/ප්රතිදාන/කාලසීමාව සහිත විගණන සටහන) |
| GET | /api/skills/marketplace?q=... |
SkillsMP වෙළඳපොළෙන් සෙවුම්/ජනප්රිය ලැයිස්තුව ලබා ගන්න (skillsmpApiKey සැකසුම අවශ්ය වේ) |
| POST | /api/skills/marketplace/install |
SkillsMP වෙතින් id අනුව කුසලතාවක් ස්ථාපනය කරන්න |
| GET | /api/skills/skillssh?q=&limit= |
skills.sh රෙජිස්ට්රිය සොයන්න |
| POST | /api/skills/skillssh/install |
skills.sh වෙතින් id අනුව කුසලතාවක් ස්ථාපනය කරන්න |
සත්යාපනය: කළමනාකරණ සැසිය/API යතුර. වෙළඳපොළ සෙවුම් මාර්ග කළමනාකරණ සත්යාපනයක් හෝ Bearer API යතුරක් (isAuthenticated) පිළිගනී.
මතකය
API යතුර / සැසිය අනුව විෂය පථගත කළ, ස්ථිර සංවාදාත්මක/සත්යමය මතක ගබඩාව.
| ක්රමය | මාර්ගය | විස්තරය |
|---|---|---|
| GET | /api/memory |
මතක ලැයිස්තුගත කිරීම — ?apiKeyId=, ?type=, ?sessionId=, ?q=, සහ offset/limit හෝ page/limit පිටුකරණය |
| POST | /api/memory |
මතකයක් නිර්මාණය කිරීම — Zod මඟින් වලංගු කරන ලද body: {content, key, type?, sessionId?, apiKeyId?, metadata?, expiresAt?} |
| GET | /api/memory/[id] |
එක් මතකයක් ලබාගැනීම |
| DELETE | /api/memory/[id] |
මතකයක් මකා දැමීම |
| GET | /api/memory/health |
මතක උපපද්ධතියේ සෞඛ්ය තත්ත්වය (DB සම්බන්ධතාව, embeddings backend, vector index තත්ත්වය) |
සත්යාපනය: කළමනාකරණ සැසිය/API යතුර (requireManagementAuth). type enum: FACTUAL, EPISODIC, SEMANTIC, PROCEDURAL (src/lib/memory/types.ts තුළ ඇති MemoryType බලන්න).
MCP සේවාදායකය
OmniRoute විෂය පථගත මෙවලම් සහ transports 3ක් (stdio, SSE, streamable-http) සහිත අන්තර්ගත Model Context Protocol සේවාදායකයක් සපයයි. පහත dashboard endpoints තත්ත්ව/විගණන දත්ත කියවා HTTP transports proxy කරයි.
| ක්රමය | මාර්ගය | විස්තරය | |
|---|---|---|---|
| GET | /api/mcp/status |
Heartbeat, transport, online තත්ත්වය, අවසන් ඇමතුම, ප්රමුඛ මෙවලම්, පැය 24ක සාර්ථකත්ව අනුපාතය | |
| GET | /api/mcp/tools |
name, description, scopes, phase, auditLevel, sourceEndpoints සහිත MCP මෙවලම් ලැයිස්තුව |
|
| GET | /api/mcp/sse |
SSE transport සඳහා SSE stream එකක් විවෘත කිරීම (MCP අක්රිය නම් හෝ transport නොගැළපේ නම් 503 ආපසු ලබාදෙයි) |
|
| POST | /api/mcp/sse |
SSE transport මත JSON-RPC frame එකක් යැවීම | |
| GET | /api/mcp/stream |
Streamable HTTP transport හි SSE පාර්ශ්වය විවෘත කිරීම (සේවාදායකය විසින් ආරම්භ කරන පණිවිඩ) | |
| POST | /api/mcp/stream |
Streamable HTTP transport මත JSON-RPC frame එකක් යැවීම | |
| DELETE | /api/mcp/stream |
Streamable HTTP සැසියක් අවසන් කිරීම | |
| GET | /api/mcp/audit |
විගණන ලොගය විමසීම — ?limit=, ?offset=, ?tool=, `?success=true |
false, ?apiKeyId=` |
| GET | /api/mcp/audit/stats |
සමස්ත විගණන සංඛ්යාලේඛන (එකතු, සාර්ථකත්ව අනුපාතය, සාමාන්ය කාලසීමාව, ප්රමුඛ මෙවලම්) |
සත්යාපනය: sse/stream transports MCP-විශේෂිත සත්යාපන මතුපිටට අනුකූල වේ (mcp scope සහිත Bearer API යතුර); status/tools/audit* මාර්ග dashboard වෙතින් කියවිය හැකිය (dashboard host වෙත ළඟා වීමට අවශ්ය ප්රවේශයට අමතර සත්යාපනයක් අවශ්ය නොවේ).
HTTP transports දෙකම
settings.mcpEnabledසහsettings.mcpTransportමඟින් පාලනය වේ — transport නොගැළපීමක්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 භාවිත කරයි.
Cloud, Evals සහ Assess
| ක්රමය | මාර්ගය | විස්තරය | ||
|---|---|---|---|---|
| POST | /api/cloud/auth |
Bearer යතුරක් සත්යාපනය කර cloud සමමුහුර්තකරණ සේවාලාභීන් සඳහා ආවරණය කළ සැපයුම්කරු සම්බන්ධතා + මාදිලි අන්වර්ථ නාම ආපසු ලබා දෙන්න | ||
| POST | /api/cloud/credentials/update |
cloud සමමුහුර්ත කළ සැපයුම්කරුවෙකු සඳහා සංකේතනය කළ අක්තපත්ර යාවත්කාලීන කරන්න | ||
| POST | /api/cloud/model/resolve |
දේශීය මාර්ගගත කිරීමේ වගුව භාවිතයෙන් තාර්කික මාදිලි හැඳුනුම්පතක් නිශ්චිත සැපයුම්කරුවෙකු/මාදිලියක් වෙත නිරාකරණය කරන්න | ||
| GET | /api/cloud/models/alias |
cloud සමමුහුර්තකරණයට නිරාවරණය කර ඇති මාදිලි අන්වර්ථ නාම ලැයිස්තුගත කරන්න | ||
| 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 |
කාල කවුළුවකට සීමා කළ සංඛ්යාලේඛන (පෙරනිමිය පැය 24කි) |
ප්රතිචාර උදාහරණය:
{
"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 එන්ට්රොපිය මත පදනම් වූ විවිධත්ව නිරීක්ෂණය: සැපයුම්කරුවන්ගේ ව්යාප්තිය මැනීමෙන් තනි අසාර්ථක ස්ථාන ඇතිවීම වළක්වයි |
ප්රතිචාර උදාහරණය:
{
"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; පැරණි Codex YAML එකක් පිළිබඳ migration සටහන් කරයි) |
| GET | /api/cli-tools/backups |
CLI මෙවලම් වින්යාස උපස්ථ ලැයිස්තුගත කරන්න |
| POST | /api/cli-tools/backups |
සියලුම CLI මෙවලම් වින්යාසවල උපස්ථයක් සාදන්න |
| POST | /api/cli-tools/backups |
ප්රතිසාධනය: ඉල්ලීම් අන්තර්ගතය තුළ {tool, backupId} සමඟ එම අන්ත ලක්ෂ්යයම භාවිත කිරීමෙන් අදාළ උපස්ථය ප්රතිසාධනය කරයි |
| GET | /api/cli-tools/antigravity-mitm |
Antigravity MITM ප්රොක්සි තත්ත්වය ("antigravity-mitm" CLI මෙවලම) |
| POST | /api/cli-tools/antigravity-mitm/alias |
antigravity-mitm අන්වර්ථ නාම වින්යාස කරන්න |
සත්යාපනය: කළමනාකරණ සැසියක් අවශ්ය වේ.
නියෝජිත කුසලතා
AI නියෝජිත කුසලතා කළමනාකරණය කරන්න (OpenAI හි අභිරුචි GPTවලට සමාන නමුත් නියෝජිතයින් සඳහාය).
| ක්රමය | මාර්ගය | විස්තරය |
|---|---|---|
| GET | /api/agent-skills |
සියලුම නියෝජිත කුසලතා ලැයිස්තුගත කරන්න (අන්තර්ගත + අභිරුචි) |
| GET | /api/agent-skills/[id] |
නිශ්චිත නියෝජිත කුසලතාවක් ලබා ගන්න |
| POST | /api/agent-skills |
අභිරුචි නියෝජිත කුසලතාවක් සාදන්න — ඉල්ලීම් අන්තර්ගතය: {name, description, prompt, model?, temperature?} |
| PUT | /api/agent-skills/[id] |
අභිරුචි නියෝජිත කුසලතාවක් යාවත්කාලීන කරන්න |
| DELETE | /api/agent-skills/[id] |
අභිරුචි නියෝජිත කුසලතාවක් මකන්න |
| GET | /api/agent-skills/[id]/raw |
අමු ප්රේරකය + පාරදත්ත ලබා ගන්න (ක්රියාත්මක කිරීමකින් තොරව) |
| POST | /api/agent-skills/generate |
ස්වාභාවික භාෂා විස්තරයකින් AI භාවිතයෙන් නව කුසලතාවක් ජනනය කරන්න |
සත්යාපනය: කළමනාකරණ සැසියක් හෝ කළමනාකරණ විෂය පථය සහිත API යතුරක් අවශ්ය වේ.
හැඹිලි කළමනාකරණය
අර්ථාන්විත හැඹිලිය සහ තර්කන හැඹිලිය කළමනාකරණය කරන්න.
| ක්රමය | මාර්ගය | විස්තරය |
|---|---|---|
| GET | /api/cache |
හැඹිලි දළ විශ්ලේෂණය: මුළු ඇතුළත් කිරීම්, සාර්ථක ප්රතිසාධන අනුපාතය, තැටියේ ප්රමාණය |
| GET | /api/cache/entries |
හැඹිලිගත ඇතුළත් කිරීම් ලැයිස්තුගත කරන්න (පිටුකරණය සමඟ) |
| DELETE | /api/cache/entries |
හැඹිලි ඇතුළත් කිරීම් මකන්න (විමසුම් පරාමිති අනුව පෙරහන් කරන්න) |
| GET | /api/cache/stats |
සවිස්තරාත්මක හැඹිලි සංඛ්යාලේඛන (සපයන්නා අනුව, මාදිලිය අනුව) |
| GET | /api/cache/reasoning |
තර්කන හැඹිලියේ තත්ත්වය (තර්කන නැවත ධාවනය සඳහා) |
| DELETE | /api/cache/reasoning |
තර්කන හැඹිලිය හිස් කරන්න — විමසුම් පරාමිති: ?toolCallId=<id> (තනි) හෝ ?provider=<p> හෝ පරාමිති නැතිව (සියල්ල) |
සත්යාපනය: කළමනාකරණ සැසියක් අවශ්ය වේ.
මතක පද්ධතිය
ස්ථිර මතකය (FTS5 + දෛශික කාවැද්දීම්) කළමනාකරණය කරන්න.
| ක්රමය | මාර්ගය | විස්තරය |
|---|---|---|
| GET | /api/memory |
මතක ඇතුළත් කිරීම් ලැයිස්තුගත කරන්න (විෂයපථය, වර්ගය, සෙවුම් විමසුම අනුව පෙරහන් කරන්න) |
| POST | /api/memory |
නව මතක ඇතුළත් කිරීමක් සාදන්න — අන්තර්ගතය: {scope, type, content, metadata?} |
| GET | /api/memory/[id] |
නිශ්චිත මතක ඇතුළත් කිරීමක් ලබා ගන්න |
| PUT | /api/memory/[id] |
මතක ඇතුළත් කිරීමක් යාවත්කාලීන කරන්න |
| DELETE | /api/memory/[id] |
මතක ඇතුළත් කිරීමක් මකන්න |
| GET | /api/memory?q= |
මතකය සොයන්න (FTS5 + දෛශික) — එම ප්රතිචාරය තුළම සංඛ්යාලේඛන ඇතුළත් වේ |
සත්යාපනය: කළමනාකරණ සැසියක් හෝ කළමනාකරණ විෂයපථයක් සහිත API යතුරක් අවශ්ය වේ.
Webhooks
සිදුවීම් සඳහා webhook දායකත්ව කළමනාකරණය කරන්න.
| ක්රමය | මාර්ගය | විස්තරය |
|---|---|---|
| GET | /api/webhooks |
සියලු webhook දායකත්ව ලැයිස්තුගත කරන්න |
| POST | /api/webhooks |
webhook දායකත්වයක් සාදන්න — අන්තර්ගතය: {url, events[], secret?, active?} |
| GET | /api/webhooks/[id] |
නිශ්චිත webhook දායකත්වයක් ලබා ගන්න |
| PUT | /api/webhooks/[id] |
webhook දායකත්වයක් යාවත්කාලීන කරන්න |
| DELETE | /api/webhooks/[id] |
webhook දායකත්වයක් මකන්න |
| GET | /api/webhooks/[id]/deliveries |
webhook එකක් සඳහා බෙදාහැරීම් ඉතිහාසය ලැයිස්තුගත කරන්න (සාර්ථක/අසාර්ථක ලොගය) |
| POST | /api/webhooks/[id]/test |
webhook එකකට පරීක්ෂණ සිදුවීමක් යවන්න |
සත්යාපනය: කළමනාකරණ සැසියක් අවශ්ය වේ.
සම්පූර්ණ සිදුවීම් වර්ග සඳහා Webhooks රාමුව බලන්න.
කුසලතා රාමුව
කුසලතා (නියෝජිත දිගු රාමුව) කළමනාකරණය කරන්න.
| ක්රමය | මාර්ගය | විස්තරය |
|---|---|---|
| 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?} |
සත්යාපනය: කළමනාකරණ සැසියක් අවශ්ය වේ.
සම්පූර්ණ විස්තර සඳහා ආරක්ෂාව > ආරක්ෂක සීමා බලන්න.
සත්යාපනය
අක්තපත්ර කාණ්ඩ හතර (dashboard session, local CLI token, oma_live_… Access Token, manage-scoped API key) සහ ඒවා inference keys වලින් වෙනස් වන ආකාරය සඳහා කළමනාකරණ සත්යාපනය බලන්න.
- Dashboard routes (
/dashboard/*)auth_tokencookie භාවිත කරයි - Login සඳහා සුරැකි password hash භාවිත කරයි; fallback ලෙස
INITIAL_PASSWORDභාවිත කරයි requireLogin/api/settings/require-loginහරහා toggle කළ හැකREQUIRE_API_KEY=trueවන විට/v1/*routes සඳහා විකල්පයක් ලෙස Bearer API key අවශ්ය වේ- මෙම යොමුවේ "management token" / "management-scoped API key" යන්නෙන් අදහස් වන්නේ එම මාර්ගෝපදේශයේ සඳහන් කාණ්ඩවලින් එකකි — නිර්වචනය නොකළ අමතර secret type එකක් නොවේ
අනුකූලතාව බිඳෙන වෙනසක් (v3.8.0) —
/api/v1/agents/tasks/*සහ cooldown management endpoints සඳහා දැන් management auth (dashboardauth_tokencookie එකක් හෝ management-scoped API key එකක්) අවශ්ය වේ. මීට පෙර සත්යාපනයකින් තොරව මෙම routes ඇමතූ clients වෙත401 Unauthorizedලැබෙනු ඇත.588a0333commit එක (fix(auth): require management auth for agent and cooldown APIs) බලන්න.