mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-07-26 09:52:11 +03:00
Release v3.8.40
v3.8.40 cycle integration → main. All test gates green (Unit/Integration/Coverage/Node-compat/Quality-Ratchet). The only red check, 'PR Test Policy', is the test-masking heuristic firing on the cumulative ~57-commit release diff (legitimate assert consolidations already reviewed per-PR — Gemini CLI removal #5246, retired GPT models #5280, provider catalog refreshes); overridden with --admin per the documented release-PR convention. CodeQL/SonarQube advisory scans non-blocking; #5278's code already passed CodeQL on main. Homologated on VPS 192.168.0.15 (v3.8.40 healthy).
This commit is contained in:
committed by
GitHub
parent
1c18be4f8f
commit
7c23dab64d
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: "API Reference"
|
||||
version: 3.8.2
|
||||
lastUpdated: 2026-05-13
|
||||
version: 3.8.40
|
||||
lastUpdated: 2026-06-28
|
||||
---
|
||||
|
||||
# API Reference
|
||||
@@ -60,22 +60,22 @@ Content-Type: application/json
|
||||
|
||||
### Custom Headers
|
||||
|
||||
| Header | Direction | Description |
|
||||
| ------------------------ | --------- | ------------------------------------------------ |
|
||||
| `X-OmniRoute-No-Cache` | Request | Set to `true` to bypass cache |
|
||||
| Header | Direction | Description |
|
||||
| ------------------------ | --------- | ---------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `X-OmniRoute-No-Cache` | Request | Set to `true` to bypass cache |
|
||||
| `x-omniroute-no-memory` | Request | Set to `true` to skip memory + skills injection for this request (mirrors no-cache; avoids the per-call token/cost overhead) |
|
||||
| `X-OmniRoute-Progress` | Request | Set to `true` for progress events |
|
||||
| `X-Session-Id` | Request | Sticky session key for external session affinity |
|
||||
| `x_session_id` | Request | Underscore variant also accepted (direct HTTP) |
|
||||
| `Idempotency-Key` | Request | Dedup key (5s window) |
|
||||
| `X-Request-Id` | Request | Alternative dedup key |
|
||||
| `X-OmniRoute-Cache` | Response | `HIT` or `MISS` (non-streaming) |
|
||||
| `X-OmniRoute-Idempotent` | Response | `true` if deduplicated |
|
||||
| `X-OmniRoute-Progress` | Response | `enabled` if progress tracking on |
|
||||
| `X-OmniRoute-Session-Id` | Response | Effective session ID used by OmniRoute |
|
||||
| `X-OmniRoute-Request-Id` | Response | Request correlation id (when known) |
|
||||
| `X-OmniRoute-Version` | Response | OmniRoute build version (always present) |
|
||||
| `X-OmniRoute-Cost-Saved` | Response | USD the cache avoided on a HIT (cache hits only) |
|
||||
| `X-OmniRoute-Progress` | Request | Set to `true` for progress events |
|
||||
| `X-Session-Id` | Request | Sticky session key for external session affinity |
|
||||
| `x_session_id` | Request | Underscore variant also accepted (direct HTTP) |
|
||||
| `Idempotency-Key` | Request | Dedup key (5s window) |
|
||||
| `X-Request-Id` | Request | Alternative dedup key |
|
||||
| `X-OmniRoute-Cache` | Response | `HIT` or `MISS` (non-streaming) |
|
||||
| `X-OmniRoute-Idempotent` | Response | `true` if deduplicated |
|
||||
| `X-OmniRoute-Progress` | Response | `enabled` if progress tracking on |
|
||||
| `X-OmniRoute-Session-Id` | Response | Effective session ID used by OmniRoute |
|
||||
| `X-OmniRoute-Request-Id` | Response | Request correlation id (when known) |
|
||||
| `X-OmniRoute-Version` | Response | OmniRoute build version (always present) |
|
||||
| `X-OmniRoute-Cost-Saved` | Response | USD the cache avoided on a HIT (cache hits only) |
|
||||
|
||||
> Nginx note: if you rely on underscore headers (for example `x_session_id`), enable `underscores_in_headers on;`.
|
||||
|
||||
@@ -88,14 +88,15 @@ Content-Type: application/json
|
||||
Per-request override of the compression plan. Highest precedence — beats the routing-combo
|
||||
override, the active profile, auto-trigger, and the panel Default. Values:
|
||||
|
||||
| Value | Effect |
|
||||
|-------|--------|
|
||||
| `off` | No compression for this request. |
|
||||
| `default` | The panel-derived Default profile (ignores the active profile). |
|
||||
| `engine:<id>` | A single engine when enabled, e.g. `engine:rtk`. |
|
||||
| `<combo>` | A named combo, matched by name (case-insensitive) first, then by id. |
|
||||
| Value | Effect |
|
||||
| ------------- | -------------------------------------------------------------------- |
|
||||
| `off` | No compression for this request. |
|
||||
| `default` | The panel-derived Default profile (ignores the active profile). |
|
||||
| `engine:<id>` | A single engine when enabled, e.g. `engine:rtk`. |
|
||||
| `<combo>` | A named combo, matched by name (case-insensitive) first, then by id. |
|
||||
|
||||
Notes:
|
||||
|
||||
- Unknown values are ignored (the request is never rejected); resolution falls through to the normal operator precedence.
|
||||
- If multiple combos share a name, pass the combo **id** for a deterministic match.
|
||||
- A combo whose name is `off` or `default` cannot be selected by name (those keywords are interpreted first); reference such a combo by its id.
|
||||
@@ -179,31 +180,31 @@ Selecting this id (e.g. in a Claude Code config that always attaches a `thinking
|
||||
|
||||
## Compatibility Endpoints
|
||||
|
||||
| Method | Path | Format |
|
||||
| ------ | --------------------------- | ------------------------------- |
|
||||
| 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 (edit/inpaint) |
|
||||
| POST | `/v1/videos/generations` | OpenAI-style video generation |
|
||||
| POST | `/v1/music/generations` | OpenAI-style music generation |
|
||||
| POST | `/v1/audio/transcriptions` | OpenAI Audio (STT) |
|
||||
| POST | `/v1/audio/speech` | OpenAI TTS (returns audio body) |
|
||||
| POST | `/v1/rerank` | Cohere/Voyage-style rerank |
|
||||
| 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 catalog alias |
|
||||
| GET | `/api/v1/vscode/{token}/models` | OpenAI models alias |
|
||||
| POST | `/api/v1/vscode/{token}/chat/completions` | OpenAI tokenized alias |
|
||||
| POST | `/api/v1/vscode/{token}/responses` | OpenAI Responses tokenized alias |
|
||||
| POST | `/api/v1/vscode/{token}/api/chat` | Ollama tokenized alias |
|
||||
| GET | `/api/v1/vscode/{token}/api/tags` | Ollama tags tokenized alias |
|
||||
| Method | Path | Format |
|
||||
| ------ | ----------------------------------------- | -------------------------------- |
|
||||
| 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 (edit/inpaint) |
|
||||
| POST | `/v1/videos/generations` | OpenAI-style video generation |
|
||||
| POST | `/v1/music/generations` | OpenAI-style music generation |
|
||||
| POST | `/v1/audio/transcriptions` | OpenAI Audio (STT) |
|
||||
| POST | `/v1/audio/speech` | OpenAI TTS (returns audio body) |
|
||||
| POST | `/v1/rerank` | Cohere/Voyage-style rerank |
|
||||
| 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 catalog alias |
|
||||
| GET | `/api/v1/vscode/{token}/models` | OpenAI models alias |
|
||||
| POST | `/api/v1/vscode/{token}/chat/completions` | OpenAI tokenized alias |
|
||||
| POST | `/api/v1/vscode/{token}/responses` | OpenAI Responses tokenized alias |
|
||||
| POST | `/api/v1/vscode/{token}/api/chat` | Ollama tokenized alias |
|
||||
| GET | `/api/v1/vscode/{token}/api/tags` | Ollama tags tokenized alias |
|
||||
|
||||
All POST routes follow the same shape: `Bearer your-api-key` + Zod-validated JSON body (`v1RerankSchema`, `v1ModerationSchema`, `v1AudioSpeechSchema`, etc., see `src/shared/validation/schemas.ts`). 4xx is returned on schema failure.
|
||||
|
||||
@@ -438,13 +439,13 @@ Response example:
|
||||
|
||||
### Usage & Analytics
|
||||
|
||||
| Endpoint | Method | Description |
|
||||
| --------------------------- | ----------------- | --------------------------------- |
|
||||
| `/api/usage/history` | GET | Usage history |
|
||||
| `/api/usage/logs` | GET | Usage logs |
|
||||
| `/api/usage/request-logs` | GET | Request-level logs |
|
||||
| `/api/usage/[connectionId]` | GET | Per-connection usage |
|
||||
| `/api/usage/token-limits` | GET/POST/DELETE | Per-API-key token-limit budgets |
|
||||
| Endpoint | Method | Description |
|
||||
| --------------------------- | --------------- | ------------------------------- |
|
||||
| `/api/usage/history` | GET | Usage history |
|
||||
| `/api/usage/logs` | GET | Usage logs |
|
||||
| `/api/usage/request-logs` | GET | Request-level logs |
|
||||
| `/api/usage/[connectionId]` | GET | Per-connection usage |
|
||||
| `/api/usage/token-limits` | GET/POST/DELETE | Per-API-key token-limit budgets |
|
||||
|
||||
### Settings
|
||||
|
||||
@@ -1040,15 +1041,14 @@ Returns the public A2A agent card (name, description, capabilities, skill catalo
|
||||
|
||||
## ACP (Agent Client Protocol) Management
|
||||
|
||||
The ACP framework lets you spawn CLI agents (Claude Code, Codex, Gemini CLI, etc.)
|
||||
as child processes. These endpoints manage ACP agent detection and custom agent
|
||||
registration.
|
||||
|
||||
| Method | Path | Description |
|
||||
| ------ | ----------------------- | ---------------------------------------------------------------------------------------- |
|
||||
| GET | `/api/acp/agents` | List all known CLI agents (built-in + custom) with installation status, version, binary |
|
||||
| POST | `/api/acp/agents` | Register a custom ACP agent or refresh cache — body: `{id, name, binary, versionCommand, providerAlias, spawnArgs, protocol}` or `{action: "refresh"}` |
|
||||
| DELETE | `/api/acp/agents` | Remove a custom ACP agent — query param: `?id=<agentId>` |
|
||||
| Method | Path | Description |
|
||||
| ------ | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| GET | `/api/acp/agents` | List all known CLI agents (built-in + custom) with installation status, version, binary |
|
||||
| POST | `/api/acp/agents` | Register a custom ACP agent or refresh cache — body: `{id, name, binary, versionCommand, providerAlias, spawnArgs, protocol}` or `{action: "refresh"}` |
|
||||
| DELETE | `/api/acp/agents` | Remove a custom ACP agent — query param: `?id=<agentId>` |
|
||||
|
||||
**Response example** (`GET /api/acp/agents`):
|
||||
|
||||
@@ -1093,10 +1093,10 @@ diversity. These power the `/dashboard/analytics/*` pages.
|
||||
|
||||
### Auto-routing analytics
|
||||
|
||||
| Method | Path | Description |
|
||||
| ------ | ----------------------------------- | -------------------------------------------------------------------------------------------- |
|
||||
| GET | `/api/analytics/auto-routing` | Aggregate auto-routing stats: total calls, strategy distribution, tier distribution, top providers |
|
||||
| GET | `/api/analytics/auto-routing?days=7` | Time-windowed stats (default 24h) |
|
||||
| Method | Path | Description |
|
||||
| ------ | ------------------------------------ | -------------------------------------------------------------------------------------------------- |
|
||||
| GET | `/api/analytics/auto-routing` | Aggregate auto-routing stats: total calls, strategy distribution, tier distribution, top providers |
|
||||
| GET | `/api/analytics/auto-routing?days=7` | Time-windowed stats (default 24h) |
|
||||
|
||||
**Response example**:
|
||||
|
||||
@@ -1126,9 +1126,9 @@ diversity. These power the `/dashboard/analytics/*` pages.
|
||||
|
||||
### Compression analytics
|
||||
|
||||
| Method | Path | Description |
|
||||
| ------ | --------------------------------- | ------------------------------------------------------------------------------------ |
|
||||
| GET | `/api/analytics/compression` | Aggregate compression stats: tokens saved, savings %, mode distribution, engine usage |
|
||||
| Method | Path | Description |
|
||||
| ------ | ---------------------------- | ------------------------------------------------------------------------------------- |
|
||||
| GET | `/api/analytics/compression` | Aggregate compression stats: tokens saved, savings %, mode distribution, engine usage |
|
||||
|
||||
**Response example**:
|
||||
|
||||
@@ -1155,9 +1155,9 @@ diversity. These power the `/dashboard/analytics/*` pages.
|
||||
|
||||
### Provider diversity tracking
|
||||
|
||||
| Method | Path | Description |
|
||||
| ------ | --------------------------------- | -------------------------------------------------------------------------------------------- |
|
||||
| GET | `/api/analytics/diversity` | Shannon entropy-based diversity tracking: prevents single points of failure by measuring provider spread |
|
||||
| Method | Path | Description |
|
||||
| ------ | -------------------------- | -------------------------------------------------------------------------------------------------------- |
|
||||
| GET | `/api/analytics/diversity` | Shannon entropy-based diversity tracking: prevents single points of failure by measuring provider spread |
|
||||
|
||||
**Response example**:
|
||||
|
||||
@@ -1168,14 +1168,12 @@ diversity. These power the `/dashboard/analytics/*` pages.
|
||||
"maxEntropy": 3.17,
|
||||
"diversityRatio": 0.77,
|
||||
"providerUsage": {
|
||||
"openai": 0.40,
|
||||
"openai": 0.4,
|
||||
"anthropic": 0.25,
|
||||
"google": 0.20,
|
||||
"google": 0.2,
|
||||
"kiro": 0.15
|
||||
},
|
||||
"warnings": [
|
||||
"OpenAI accounts for 40% of traffic — consider diversifying"
|
||||
]
|
||||
"warnings": ["OpenAI accounts for 40% of traffic — consider diversifying"]
|
||||
}
|
||||
```
|
||||
|
||||
@@ -1187,10 +1185,10 @@ diversity. These power the `/dashboard/analytics/*` pages.
|
||||
|
||||
Admin-only endpoints for operational management.
|
||||
|
||||
| Method | Path | Description |
|
||||
| ------ | ------------------------------- | ---------------------------------------------------------------------------------------------- |
|
||||
| GET | `/api/admin/concurrency` | Read current concurrency limits (global + per-provider) |
|
||||
| POST | `/api/admin/concurrency` | Update concurrency limits — body: `{global?: number, perProvider?: Record<string, number>}` |
|
||||
| Method | Path | Description |
|
||||
| ------ | ------------------------ | ------------------------------------------------------------------------------------------- |
|
||||
| GET | `/api/admin/concurrency` | Read current concurrency limits (global + per-provider) |
|
||||
| POST | `/api/admin/concurrency` | Update concurrency limits — body: `{global?: number, perProvider?: Record<string, number>}` |
|
||||
|
||||
**Auth:** Requires management session with admin scope.
|
||||
|
||||
@@ -1201,16 +1199,16 @@ Admin-only endpoints for operational management.
|
||||
Manage CLI tools that integrate with OmniRoute (antigravity, chipotle, commandCode,
|
||||
devin-cli, etc.). See [Provider Reference](./PROVIDER_REFERENCE.md) for the full list.
|
||||
|
||||
| Method | Path | Description |
|
||||
| ------ | --------------------------------- | -------------------------------------------------------------------------------------------- |
|
||||
| GET | `/api/cli-tools/all-statuses` | Status of all CLI tools (installed, version, last seen) |
|
||||
| GET | `/api/cli-tools/[id]/status` | Status of a specific CLI tool (id can be: antigravity, chipotle, commandCode, devin-cli, etc.) |
|
||||
| POST | `/api/cli-tools/apply` | Apply a CLI tool configuration to a provider connection |
|
||||
| GET | `/api/cli-tools/backups` | List CLI tool configuration backups |
|
||||
| POST | `/api/cli-tools/backups` | Create a backup of all CLI tool configurations |
|
||||
| POST | `/api/cli-tools/[id]/restore` | Restore a CLI tool from a backup |
|
||||
| GET | `/api/cli-tools/antigravity-mitm` | Antigravity MITM proxy status (the "antigravity-mitm" CLI tool) |
|
||||
| POST | `/api/cli-tools/antigravity-mitm/alias` | Configure antigravity-mitm aliases |
|
||||
| Method | Path | Description |
|
||||
| ------ | --------------------------------------- | ---------------------------------------------------------------------------------------------- |
|
||||
| GET | `/api/cli-tools/all-statuses` | Status of all CLI tools (installed, version, last seen) |
|
||||
| GET | `/api/cli-tools/[id]/status` | Status of a specific CLI tool (id can be: antigravity, chipotle, commandCode, devin-cli, etc.) |
|
||||
| POST | `/api/cli-tools/apply` | Apply a CLI tool configuration to a provider connection |
|
||||
| GET | `/api/cli-tools/backups` | List CLI tool configuration backups |
|
||||
| POST | `/api/cli-tools/backups` | Create a backup of all CLI tool configurations |
|
||||
| POST | `/api/cli-tools/[id]/restore` | Restore a CLI tool from a backup |
|
||||
| GET | `/api/cli-tools/antigravity-mitm` | Antigravity MITM proxy status (the "antigravity-mitm" CLI tool) |
|
||||
| POST | `/api/cli-tools/antigravity-mitm/alias` | Configure antigravity-mitm aliases |
|
||||
|
||||
**Auth:** Requires management session.
|
||||
|
||||
@@ -1220,15 +1218,15 @@ devin-cli, etc.). See [Provider Reference](./PROVIDER_REFERENCE.md) for the full
|
||||
|
||||
Manage AI agent skills (similar to OpenAI's custom GPTs but for agents).
|
||||
|
||||
| Method | Path | Description |
|
||||
| ------ | --------------------------------- | -------------------------------------------------------------------------------------------- |
|
||||
| GET | `/api/agent-skills` | List all agent skills (built-in + custom) |
|
||||
| GET | `/api/agent-skills/[id]` | Get a specific agent skill |
|
||||
| POST | `/api/agent-skills` | Create a custom agent skill — body: `{name, description, prompt, model?, temperature?}` |
|
||||
| PUT | `/api/agent-skills/[id]` | Update a custom agent skill |
|
||||
| DELETE | `/api/agent-skills/[id]` | Delete a custom agent skill |
|
||||
| GET | `/api/agent-skills/[id]/raw` | Get raw prompt + metadata (no execution) |
|
||||
| POST | `/api/agent-skills/generate` | AI-generate a new skill from a natural language description |
|
||||
| Method | Path | Description |
|
||||
| ------ | ---------------------------- | --------------------------------------------------------------------------------------- |
|
||||
| GET | `/api/agent-skills` | List all agent skills (built-in + custom) |
|
||||
| GET | `/api/agent-skills/[id]` | Get a specific agent skill |
|
||||
| POST | `/api/agent-skills` | Create a custom agent skill — body: `{name, description, prompt, model?, temperature?}` |
|
||||
| PUT | `/api/agent-skills/[id]` | Update a custom agent skill |
|
||||
| DELETE | `/api/agent-skills/[id]` | Delete a custom agent skill |
|
||||
| GET | `/api/agent-skills/[id]/raw` | Get raw prompt + metadata (no execution) |
|
||||
| POST | `/api/agent-skills/generate` | AI-generate a new skill from a natural language description |
|
||||
|
||||
**Auth:** Requires management session or management-scoped API key.
|
||||
|
||||
@@ -1238,14 +1236,14 @@ Manage AI agent skills (similar to OpenAI's custom GPTs but for agents).
|
||||
|
||||
Manage the semantic cache and reasoning cache.
|
||||
|
||||
| Method | Path | Description |
|
||||
| ------ | --------------------------------- | -------------------------------------------------------------------------------------------- |
|
||||
| GET | `/api/cache` | Cache overview: total entries, hit rate, size on disk |
|
||||
| GET | `/api/cache/entries` | List cached entries (with pagination) |
|
||||
| DELETE | `/api/cache/entries` | Delete cache entries (filter by query parameters) |
|
||||
| GET | `/api/cache/stats` | Detailed cache statistics (per-provider, per-model) |
|
||||
| GET | `/api/cache/reasoning` | Reasoning cache status (for reasoning replay) |
|
||||
| DELETE | `/api/cache/reasoning` | Clear reasoning cache — query params: `?toolCallId=<id>` (single) or `?provider=<p>` or no params (all) |
|
||||
| Method | Path | Description |
|
||||
| ------ | ---------------------- | ------------------------------------------------------------------------------------------------------- |
|
||||
| GET | `/api/cache` | Cache overview: total entries, hit rate, size on disk |
|
||||
| GET | `/api/cache/entries` | List cached entries (with pagination) |
|
||||
| DELETE | `/api/cache/entries` | Delete cache entries (filter by query parameters) |
|
||||
| GET | `/api/cache/stats` | Detailed cache statistics (per-provider, per-model) |
|
||||
| GET | `/api/cache/reasoning` | Reasoning cache status (for reasoning replay) |
|
||||
| DELETE | `/api/cache/reasoning` | Clear reasoning cache — query params: `?toolCallId=<id>` (single) or `?provider=<p>` or no params (all) |
|
||||
|
||||
**Auth:** Requires management session.
|
||||
|
||||
@@ -1255,16 +1253,16 @@ Manage the semantic cache and reasoning cache.
|
||||
|
||||
Manage persistent memory (FTS5 + vector embeddings).
|
||||
|
||||
| Method | Path | Description |
|
||||
| ------ | --------------------------------- | -------------------------------------------------------------------------------------------- |
|
||||
| GET | `/api/memory` | List memory entries (filter by scope, type, search query) |
|
||||
| POST | `/api/memory` | Create a new memory entry — body: `{scope, type, content, metadata?}` |
|
||||
| GET | `/api/memory/[id]` | Get a specific memory entry |
|
||||
| PUT | `/api/memory/[id]` | Update a memory entry |
|
||||
| DELETE | `/api/memory/[id]` | Delete a memory entry |
|
||||
| GET | `/api/memory/search` | Search memory (FTS5 + vector) |
|
||||
| POST | `/api/memory/clear` | Clear memory entries (with filters) |
|
||||
| GET | `/api/memory/stats` | Memory statistics (total entries, embedding coverage, etc.) |
|
||||
| Method | Path | Description |
|
||||
| ------ | -------------------- | --------------------------------------------------------------------- |
|
||||
| GET | `/api/memory` | List memory entries (filter by scope, type, search query) |
|
||||
| POST | `/api/memory` | Create a new memory entry — body: `{scope, type, content, metadata?}` |
|
||||
| GET | `/api/memory/[id]` | Get a specific memory entry |
|
||||
| PUT | `/api/memory/[id]` | Update a memory entry |
|
||||
| DELETE | `/api/memory/[id]` | Delete a memory entry |
|
||||
| GET | `/api/memory/search` | Search memory (FTS5 + vector) |
|
||||
| POST | `/api/memory/clear` | Clear memory entries (with filters) |
|
||||
| GET | `/api/memory/stats` | Memory statistics (total entries, embedding coverage, etc.) |
|
||||
|
||||
**Auth:** Requires management session or management-scoped API key.
|
||||
|
||||
@@ -1274,16 +1272,16 @@ Manage persistent memory (FTS5 + vector embeddings).
|
||||
|
||||
Manage webhook subscriptions for events.
|
||||
|
||||
| Method | Path | Description |
|
||||
| ------ | --------------------------------- | -------------------------------------------------------------------------------------------- |
|
||||
| GET | `/api/webhooks` | List all webhook subscriptions |
|
||||
| POST | `/api/webhooks` | Create a webhook subscription — body: `{url, events[], secret?, active?}` |
|
||||
| GET | `/api/webhooks/[id]` | Get a specific webhook subscription |
|
||||
| PUT | `/api/webhooks/[id]` | Update a webhook subscription |
|
||||
| DELETE | `/api/webhooks/[id]` | Delete a webhook subscription |
|
||||
| GET | `/api/webhooks/events` | List all available webhook event types |
|
||||
| GET | `/api/webhooks/[id]/deliveries` | List delivery history for a webhook (success/failure log) |
|
||||
| POST | `/api/webhooks/[id]/test` | Send a test event to a webhook |
|
||||
| Method | Path | Description |
|
||||
| ------ | ------------------------------- | ------------------------------------------------------------------------- |
|
||||
| GET | `/api/webhooks` | List all webhook subscriptions |
|
||||
| POST | `/api/webhooks` | Create a webhook subscription — body: `{url, events[], secret?, active?}` |
|
||||
| GET | `/api/webhooks/[id]` | Get a specific webhook subscription |
|
||||
| PUT | `/api/webhooks/[id]` | Update a webhook subscription |
|
||||
| DELETE | `/api/webhooks/[id]` | Delete a webhook subscription |
|
||||
| GET | `/api/webhooks/events` | List all available webhook event types |
|
||||
| GET | `/api/webhooks/[id]/deliveries` | List delivery history for a webhook (success/failure log) |
|
||||
| POST | `/api/webhooks/[id]/test` | Send a test event to a webhook |
|
||||
|
||||
**Auth:** Requires management session.
|
||||
|
||||
@@ -1295,14 +1293,14 @@ See [Webhooks Framework](../frameworks/WEBHOOKS.md) for full event types.
|
||||
|
||||
Manage Skills (the agentic extensions framework).
|
||||
|
||||
| Method | Path | Description |
|
||||
| ------ | --------------------------------- | -------------------------------------------------------------------------------------------- |
|
||||
| GET | `/api/skills` | List all installed skills (built-in + custom) |
|
||||
| POST | `/api/skills/install` | Install a skill from a local path or URL |
|
||||
| DELETE | `/api/skills/[id]` | Uninstall a skill |
|
||||
| PUT | `/api/skills/[id]` | Enable or disable a skill — body: `{enabled?: boolean, mode?: "on" \| "off" \| "auto"}` |
|
||||
| POST | `/api/skills/executions` | Execute a skill — body: `{skillName, apiKeyId, input?, sessionId?}` |
|
||||
| GET | `/api/skills/executions` | List execution history for all skills (filter by `?apiKeyId=`) |
|
||||
| Method | Path | Description |
|
||||
| ------ | ------------------------ | --------------------------------------------------------------------------------------- |
|
||||
| GET | `/api/skills` | List all installed skills (built-in + custom) |
|
||||
| POST | `/api/skills/install` | Install a skill from a local path or URL |
|
||||
| DELETE | `/api/skills/[id]` | Uninstall a skill |
|
||||
| PUT | `/api/skills/[id]` | Enable or disable a skill — body: `{enabled?: boolean, mode?: "on" \| "off" \| "auto"}` |
|
||||
| POST | `/api/skills/executions` | Execute a skill — body: `{skillName, apiKeyId, input?, sessionId?}` |
|
||||
| GET | `/api/skills/executions` | List execution history for all skills (filter by `?apiKeyId=`) |
|
||||
|
||||
**Auth:** Requires management session or management-scoped API key.
|
||||
|
||||
@@ -1314,19 +1312,19 @@ See [Skills Framework](../frameworks/SKILLS.md) for full details.
|
||||
|
||||
Manage OmniRoute plugins (third-party extensions).
|
||||
|
||||
| Method | Path | Description |
|
||||
| ------ | --------------------------------- | -------------------------------------------------------------------------------------------- |
|
||||
| GET | `/api/plugins` | List installed plugins |
|
||||
| POST | `/api/plugins/install` | Install a plugin from a local path or URL |
|
||||
| DELETE | `/api/plugins/[name]` | Uninstall a plugin |
|
||||
| POST | `/api/plugins/[name]/activate` | Activate a plugin |
|
||||
| POST | `/api/plugins/[name]/deactivate` | Deactivate a plugin |
|
||||
| GET | `/api/plugins/[name]/config` | Get plugin configuration |
|
||||
| PUT | `/api/plugins/[name]/config` | Update plugin configuration |
|
||||
| Method | Path | Description |
|
||||
| ------ | -------------------------------- | ----------------------------------------- |
|
||||
| GET | `/api/plugins` | List installed plugins |
|
||||
| POST | `/api/plugins/install` | Install a plugin from a local path or URL |
|
||||
| DELETE | `/api/plugins/[name]` | Uninstall a plugin |
|
||||
| POST | `/api/plugins/[name]/activate` | Activate a plugin |
|
||||
| POST | `/api/plugins/[name]/deactivate` | Deactivate a plugin |
|
||||
| GET | `/api/plugins/[name]/config` | Get plugin configuration |
|
||||
| PUT | `/api/plugins/[name]/config` | Update plugin configuration |
|
||||
|
||||
**Auth:** Requires management session.
|
||||
|
||||
See [Plugins Framework](../plugins/PLUGIN_SDK.md) for full details.
|
||||
See [Plugins Framework](../frameworks/PLUGIN_SDK.md) for full details.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user