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

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

179 KiB
Raw Blame History

API_REFERENCE (සිංහල)

🌐 Languages: 🇺🇸 English · 🇪🇹 am · 🇸🇦 ar · 🇦🇿 az · 🇧🇬 bg · 🇧🇩 bn · 🇨🇿 cs · 🇩🇰 da · 🇩🇪 de · 🇬🇷 el · 🇪🇸 es · 🇪🇪 et · 🇮🇷 fa · 🇫🇮 fi · 🇫🇷 fr · 🇮🇪 ga · 🇮🇳 gu · 🇳🇬 ha · 🇮🇱 he · 🇮🇳 hi · 🇭🇷 hr · 🇭🇺 hu · 🇦🇲 hy · 🇮🇩 id · 🇳🇬 ig · 🇮🇹 it · 🇯🇵 ja · 🇬🇪 ka · 🇰🇭 km · 🇮🇳 kn · 🇰🇷 ko · 🇱🇹 lt · 🇱🇻 lv · 🇮🇳 ml · 🇮🇳 mr · 🇲🇾 ms · 🇲🇹 mt · 🇲🇲 my · 🇳🇵 ne · 🇳🇱 nl · 🇳🇴 no · 🇮🇳 or · 🇮🇳 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/ යටතේ ඇති මාර්ග වෘක්ෂය සම්පූර්ණ මූලාශ්ර වේ.


පටුන


කතාබස් සම්පූර්ණ කිරීම්

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 එක (firecrawljina-readertavily-searchtinyfishnimble-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 (01), resetInterval (daily | weekly | monthly), resetTime (HH:MM). පැරණි {keyId, limit, period} හැඩතලය 400 Bad Request ආපසු ලබා දෙයි.

ටෝකන් සීමා

එක් එක් API යතුර සඳහා ටෝකන් අයවැය (ඉහත USD-පදනම් වූ අයවැයෙන් වෙනස් වේ). ඉල්ලීම් මාර්ගයේදීම බලාත්මක කෙරේ: යතුරක වත්මන් කාල කවුළුවේ භාවිතය එහි සීමාවට ළඟා වූ විට, ඉල්ලීම් 429 Too Many Requests සමඟ ප්රතික්ෂේප කෙරේ. සීමා නිශ්චිත model එකකට, provider එකකට සීමා කළ හැකි අතර, නැතහොත් යතුර පුරා global ලෙස යෙදිය හැක; ඉල්ලීමකට සීමා කිහිපයක් ගැළපෙන විට, වඩාත්ම සීමාකාරී එක ක්රියාත්මක වේ.

# යතුරක ටෝකන් සීමා ලැයිස්තුගත කරන්න (සජීවී කාල කවුළු භාවිතය ඇතුළුව)
GET /api/usage/token-limits?apiKeyId=key-123

# ටෝකන් සීමාවක් සාදන්න හෝ යාවත්කාලීන කරන්න
POST /api/usage/token-limits
Content-Type: application/json

{
  "apiKeyId": "key-123",
  "scopeType": "model",
  "scopeValue": "openai/gpt-4o",
  "tokenLimit": 1000000,
  "resetInterval": "monthly",
  "enabled": true
}

# id මඟින් ටෝකන් සීමාවක් මකන්න
DELETE /api/usage/token-limits?id=tl-abc

ක්රමලේඛ සටහන් (setTokenLimitSchema): apiKeyId සහ scopeType (model | provider | global) අවශ්ය වේ. scopeType එක global නොවේ නම් scopeValue අවශ්ය වේ (උදා. model විෂය පථයක් සඳහා model id එකක්, provider විෂය පථයක් සඳහා provider id එකක්). tokenLimit ධන පූර්ණ සංඛ්යාවක් විය යුතුය (තන්තුවකින් පරිවර්තනය කෙරේ). විකල්ප: id (සෑදීමට අත්හරින්න, යාවත්කාලීන කිරීමට සපයන්න), resetInterval (daily | weekly | monthly, පෙරනිමිය monthly), resetTime (HH:MM), enabled (පෙරනිමිය true). GET ප්රතිචාර මඟින් සෑම සීමාවකටම tokensUsed, remaining, windowStart, periodStartAt, සහ nextResetAt එක් කර වැඩිදියුණු කෙරේ. මෙය කළමනාකරණ-පන්තියේ අන්ත ලක්ෂ්යයකි (authz නළ මාර්ගය මඟින් සත්යාපනය මධ්යගතව බලාත්මක කෙරේ).

ඉල්ලීම් සැකසීම

  1. සේවාලාභියා /v1/* වෙත ඉල්ලීමක් යවයි
  2. මාර්ග හසුරුවනය handleChat, handleEmbedding, handleAudioTranscription, හෝ handleImageGeneration කැඳවයි
  3. ආකෘතිය නිරාකරණය කෙරේ (සෘජු provider/model හෝ alias/combo)
  4. ගිණුම් ලබාගත හැකි බව පෙරහන් කර, දේශීය DB එකෙන් අක්තපත්ර තෝරාගනු ලැබේ
  5. chat සඳහා: handleChatCore අර්ථාර්ථ/අත්සන් cache පරීක්ෂා කර combo සම්පීඩන සැකසුම් නිරාකරණය කරයි
  6. සබල කර ඇති විට, provider පරිවර්තනයට පෙර ප්රාක්ක්රියාකාරී සම්පීඩනය ක්රියාත්මක වේ (lite, Caveman, RTK, හෝ ස්තරගත)
  7. Provider executor ඉහළ ප්රවාහ ඉල්ලීම යවයි
  8. ප්රතිචාරය නැවත සේවාලාභී ආකෘතියට පරිවර්තනය කෙරේ (chat), නැතහොත් තිබෙන ආකාරයෙන්ම ආපසු ලබා දේ (embeddings/images/audio)
  9. භාවිතය, සම්පීඩන විශ්ලේෂණ, සහ ඉල්ලීම් ලොග් සටහන් කරනු ලැබේ
  10. දෝෂ ඇති විට 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= (1500, පෙරනිමිය 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 ට පෙර මේවා සත්යාපනය නොකළ ඒවා විය — පසුගාමී නොගැළපෙන වෙනස සඳහා 588a0333 commit එක බලන්න.

# 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 සහ /health routes මඟින් සපයනු ලැබේ — 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_token cookie භාවිත කරයි
  • 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 (dashboard auth_token cookie එකක් හෝ management-scoped API key එකක්) අවශ්ය වේ. මීට පෙර සත්යාපනයකින් තොරව මෙම routes ඇමතූ clients වෙත 401 Unauthorized ලැබෙනු ඇත. 588a0333 commit එක (fix(auth): require management auth for agent and cooldown APIs) බලන්න.