Read and update global application settings: system prompts, thinking budget, IP filters, payload rules, combo defaults, and require-login configuration.
Scanned 8/31/2026
Install to Claude Code
npx -y skills add diegosouzapw/OmniRoute --skill omni-settings --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Omni Settings?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/diegosouzapw-omni-settings)More formats (shields.io, HTML) on the badges page.
---
name: omni-settings
description: "Read and update global application settings: system prompts, thinking budget, IP filters, payload rules, combo defaults, and require-login configuration."
---
<!-- generated by src/lib/agentSkills/generator.ts; manual edits will be overwritten -->
## Overview
Read and update global application settings: system prompts, thinking budget, IP filters, payload rules, combo defaults, and require-login configuration.
## Authentication
All requests require a valid Bearer token or session cookie. Obtain a token via `POST /api/auth/login` or configure `REQUIRE_API_KEY=false` for local development.
## Endpoints
### GET /api/settings/memory
Get memory settings
Returns the extended memory settings including 7 new fields added in plan 21 (embeddingSource, embeddingProviderModel, transformersEnabled, staticEnabled, rerankEnabled, rerankProviderModel, vectorStore).
```bash
curl https://localhost:20128/api/settings/memory \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### PUT /api/settings/memory
Update memory settings
Update any subset of the extended memory settings. All fields are optional; only provided fields are updated. Schema: `MemorySettingsExtendedSchema`.
```bash
curl -X PUT https://localhost:20128/api/settings/memory \
-H "Authorization: Bearer $OMNIROUTE_TOKEN" \
-H "Content-Type: application/json" \
-d '{}'
```
### GET /api/settings/qdrant
Get Qdrant settings
Returns current Qdrant configuration. The `apiKey` field is never returned raw — use `hasApiKey` / `apiKeyMasked` instead.
```bash
curl https://localhost:20128/api/settings/qdrant \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### PUT /api/settings/qdrant
Update Qdrant settings
Update Qdrant configuration. Pass `apiKey: ""` to remove the stored key. Schema: `QdrantSettingsUpdateSchema`.
```bash
curl -X PUT https://localhost:20128/api/settings/qdrant \
-H "Authorization: Bearer $OMNIROUTE_TOKEN" \
-H "Content-Type: application/json" \
-d '{}'
```
### GET /api/settings/qdrant/health
Qdrant health probe
Performs a liveness check against the configured Qdrant instance. Returns latency and any connection error (sanitized — no stack traces).
```bash
curl https://localhost:20128/api/settings/qdrant/health \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### POST /api/settings/qdrant/search
Qdrant semantic search test
Performs a test semantic search against the Qdrant collection. Useful for validating that the integration works end-to-end. Schema: `QdrantSearchSchema`.
```bash
curl -X POST https://localhost:20128/api/settings/qdrant/search \
-H "Authorization: Bearer $OMNIROUTE_TOKEN" \
-H "Content-Type: application/json" \
-d '{}'
```
### POST /api/settings/qdrant/cleanup
Clean up expired Qdrant points
Removes Qdrant points for memories that have expired or exceeded the configured retention window.
```bash
curl -X POST https://localhost:20128/api/settings/qdrant/cleanup \
-H "Authorization: Bearer $OMNIROUTE_TOKEN" \
-H "Content-Type: application/json" \
-d '{}'
```
### GET /api/settings/qdrant/embedding-models
List Qdrant embedding models
Returns the list of embedding models available for use with Qdrant.
```bash
curl https://localhost:20128/api/settings/qdrant/embedding-models \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### GET /api/settings
Get application settings
```bash
curl https://localhost:20128/api/settings \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### PATCH /api/settings
Update settings
```bash
curl -X PATCH https://localhost:20128/api/settings \
-H "Authorization: Bearer $OMNIROUTE_TOKEN" \
-H "Content-Type: application/json" \
-d '{}'
```
### POST /api/settings/purge-request-history
Clear request log history
Deletes `call_logs`, legacy `request_detail_logs`, and local request artifact files under `DATA_DIR/call_logs`.
```bash
curl -X POST https://localhost:20128/api/settings/purge-request-history \
-H "Authorization: Bearer $OMNIROUTE_TOKEN" \
-H "Content-Type: application/json" \
-d '{}'
```
### GET /api/settings/compression
Get global compression settings
```bash
curl https://localhost:20128/api/settings/compression \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### PUT /api/settings/compression
Update global compression settings
```bash
curl -X PUT https://localhost:20128/api/settings/compression \
-H "Authorization: Bearer $OMNIROUTE_TOKEN" \
-H "Content-Type: application/json" \
-d '{}'
```
### GET /api/settings/compression/mcp-accessibility
Get the MCP tool-output accessibility (trimming) config
```bash
curl https://localhost:20128/api/settings/compression/mcp-accessibility \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### PUT /api/settings/compression/mcp-accessibility
Update the MCP tool-output accessibility (trimming) config
Partial-merge update. Numeric floors (e.g. a maxTextChars below the truncation-tail reserve) are folded back to the safe defaults server-side, so the response reflects the effective config.
```bash
curl -X PUT https://localhost:20128/api/settings/compression/mcp-accessibility \
-H "Authorization: Bearer $OMNIROUTE_TOKEN" \
-H "Content-Type: application/json" \
-d '{}'
```
### GET /api/settings/payload-rules
Get payload rules configuration
Returns the current payload rules used to mutate outgoing request payloads before they
are sent upstream.
Requires a dashboard management session cookie when management auth is enabled.
```bash
curl https://localhost:20128/api/settings/payload-rules \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### PUT /api/settings/payload-rules
Update payload rules configuration
Persists and hot reloads payload rules. The legacy input field `default-raw` is accepted
on writes and normalized to `defaultRaw` in responses/runtime state.
Requires a dashboard management session cookie when management auth is enabled.
```bash
curl -X PUT https://localhost:20128/api/settings/payload-rules \
-H "Authorization: Bearer $OMNIROUTE_TOKEN" \
-H "Content-Type: application/json" \
-d '{}'
```
### GET /api/settings/combo-defaults
Get combo default settings
```bash
curl https://localhost:20128/api/settings/combo-defaults \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### GET /api/settings/proxy
Get proxy settings
```bash
curl https://localhost:20128/api/settings/proxy \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### PATCH /api/settings/proxy
Update proxy settings
```bash
curl -X PATCH https://localhost:20128/api/settings/proxy \
-H "Authorization: Bearer $OMNIROUTE_TOKEN" \
-H "Content-Type: application/json" \
-d '{}'
```
### POST /api/settings/proxy/test
Test proxy connection
```bash
curl -X POST https://localhost:20128/api/settings/proxy/test \
-H "Authorization: Bearer $OMNIROUTE_TOKEN" \
-H "Content-Type: application/json" \
-d '{}'
```
### POST /api/settings/require-login
Toggle login requirement
```bash
curl -X POST https://localhost:20128/api/settings/require-login \
-H "Authorization: Bearer $OMNIROUTE_TOKEN" \
-H "Content-Type: application/json" \
-d '{}'
```
### GET /api/settings/ip-filter
Get IP filter configuration
Returns the current IP filter settings including blacklist, whitelist, and temp bans.
```bash
curl https://localhost:20128/api/settings/ip-filter \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### PUT /api/settings/ip-filter
Update IP filter configuration
Configure IP filtering with blacklist/whitelist modes, add/remove individual IPs, and manage temp bans.
```bash
curl -X PUT https://localhost:20128/api/settings/ip-filter \
-H "Authorization: Bearer $OMNIROUTE_TOKEN" \
-H "Content-Type: application/json" \
-d '{}'
```
### GET /api/settings/system-prompt
Get system prompt configuration
Returns the current system prompt injection settings.
```bash
curl https://localhost:20128/api/settings/system-prompt \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### PUT /api/settings/system-prompt
Update system prompt configuration
```bash
curl -X PUT https://localhost:20128/api/settings/system-prompt \
-H "Authorization: Bearer $OMNIROUTE_TOKEN" \
-H "Content-Type: application/json" \
-d '{}'
```
### GET /api/settings/thinking-budget
Get thinking budget configuration
Returns the current thinking/reasoning budget settings for AI models.
```bash
curl https://localhost:20128/api/settings/thinking-budget \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### PUT /api/settings/thinking-budget
Update thinking budget configuration
```bash
curl -X PUT https://localhost:20128/api/settings/thinking-budget \
-H "Authorization: Bearer $OMNIROUTE_TOKEN" \
-H "Content-Type: application/json" \
-d '{}'
```
### GET /api/tags
List Ollama-compatible model tags
Returns models in Ollama /api/tags format for Ollama client compatibility
```bash
curl https://localhost:20128/api/tags \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### GET /api/settings/quota-store
Get current quota store driver settings
Redis URL is masked in the response (shows only scheme+host).
```bash
curl https://localhost:20128/api/settings/quota-store \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### PUT /api/settings/quota-store
Update quota store driver settings
```bash
curl -X PUT https://localhost:20128/api/settings/quota-store \
-H "Authorization: Bearer $OMNIROUTE_TOKEN" \
-H "Content-Type: application/json" \
-d '{}'
```
### POST /api/settings/purge-usage-history
Purge usage history
Dashboard-only. Purges stored usage-history records.
```bash
curl -X POST https://localhost:20128/api/settings/purge-usage-history \
-H "Authorization: Bearer $OMNIROUTE_TOKEN" \
-H "Content-Type: application/json" \
-d '{}'
```
## Payloads
See the full OpenAPI specification at `GET /api/openapi/spec` or `docs/openapi.yaml` for detailed request/response schemas.
<!-- skill:custom-start -->
<!-- Thinking budget behavior (preserved curated content — #10169) -->
### GET /api/settings/thinking-budget — behavior
Returns proxy-level thinking/reasoning **request rewrite** settings:
| Field | Meaning |
|-------|---------|
| `mode` | `passthrough` (leave client reasoning alone — **required for Codex visible thinking**), `auto` (**strips** all client thinking fields), `custom`, `adaptive` |
| `customBudget` | Fixed budget when `mode=custom` |
| `effortLevel` | Base effort when `mode=adaptive` |
**Not** compression and **not** "decrypt encrypted reasoning". Full guide: `docs/guides/THINKING_BUDGET.md`.
Example — keep client-controlled reasoning (Codex/Desktop):
```bash
curl -X PUT https://localhost:20128/api/settings/thinking-budget \
-H "Authorization: Bearer $OMNIROUTE_TOKEN" \
-H "Content-Type: application/json" \
-d '{"mode":"passthrough","customBudget":10240,"effortLevel":"medium"}'
```
Warning: `mode=auto` deletes `reasoning` / `reasoning_effort` / Claude `thinking` from the outbound body before upstream. That can empty thinking panels even when the client requested Ultra + summary.
<!-- skill:custom-end -->
No comments yet. Be the first to comment!