--- name: omni-settings description: "Read and update global application settings: system prompts, thinking budget, IP filters, payload rules, combo defaults, and require-login configuration." --- ## 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 '{}' ``` ### GET /api/settings/authz-inventory GET settings › authz inventory ```bash curl https://localhost:20128/api/settings/authz-inventory \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" ``` ### GET /api/settings/auto-disable-accounts GET settings › auto disable accounts ```bash curl https://localhost:20128/api/settings/auto-disable-accounts \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" ``` ### PUT /api/settings/auto-disable-accounts PUT settings › auto disable accounts ```bash curl -X PUT https://localhost:20128/api/settings/auto-disable-accounts \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}' ``` ### GET /api/settings/background-degradation GET settings › background degradation ```bash curl https://localhost:20128/api/settings/background-degradation \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" ``` ### POST /api/settings/background-degradation POST settings › background degradation ```bash curl -X POST https://localhost:20128/api/settings/background-degradation \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}' ``` ### PUT /api/settings/background-degradation PUT settings › background degradation ```bash curl -X PUT https://localhost:20128/api/settings/background-degradation \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}' ``` ### GET /api/settings/cache-config GET settings › cache config ```bash curl https://localhost:20128/api/settings/cache-config \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" ``` ### PUT /api/settings/cache-config PUT settings › cache config ```bash curl -X PUT https://localhost:20128/api/settings/cache-config \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}' ``` ### GET /api/settings/cache-metrics GET settings › cache metrics ```bash curl https://localhost:20128/api/settings/cache-metrics \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" ``` ### DELETE /api/settings/cache-metrics DELETE settings › cache metrics ```bash curl -X DELETE https://localhost:20128/api/settings/cache-metrics \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" ``` ### GET /api/settings/cc-discovery-metrics GET settings › cc discovery metrics ```bash curl https://localhost:20128/api/settings/cc-discovery-metrics \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" ``` ### GET /api/settings/compression/rules GET settings › compression › rules ```bash curl https://localhost:20128/api/settings/compression/rules \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" ``` ### GET /api/settings/compression/run-telemetry GET settings › compression › run telemetry ```bash curl https://localhost:20128/api/settings/compression/run-telemetry \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" ``` ### GET /api/settings/database GET settings › database ```bash curl https://localhost:20128/api/settings/database \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" ``` ### PUT /api/settings/database PUT settings › database ```bash curl -X PUT https://localhost:20128/api/settings/database \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}' ``` ### PATCH /api/settings/database PATCH settings › database ```bash curl -X PATCH https://localhost:20128/api/settings/database \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}' ``` ### POST /api/settings/database/refresh-stats POST settings › database › refresh stats ```bash curl -X POST https://localhost:20128/api/settings/database/refresh-stats \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}' ``` ### GET /api/settings/database/vacuum GET settings › database › vacuum ```bash curl https://localhost:20128/api/settings/database/vacuum \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" ``` ### POST /api/settings/database/vacuum POST settings › database › vacuum ```bash curl -X POST https://localhost:20128/api/settings/database/vacuum \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}' ``` ### GET /api/settings/export-json GET settings › export json ```bash curl https://localhost:20128/api/settings/export-json \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" ``` ### GET /api/settings/favicon GET settings › favicon ```bash curl https://localhost:20128/api/settings/favicon \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" ``` ### GET /api/settings/feature-flags GET settings › feature flags ```bash curl https://localhost:20128/api/settings/feature-flags \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" ``` ### PUT /api/settings/feature-flags PUT settings › feature flags ```bash curl -X PUT https://localhost:20128/api/settings/feature-flags \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}' ``` ### DELETE /api/settings/feature-flags DELETE settings › feature flags ```bash curl -X DELETE https://localhost:20128/api/settings/feature-flags \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" ``` ### GET /api/settings/free-proxies GET settings › free proxies ```bash curl https://localhost:20128/api/settings/free-proxies \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" ``` ### DELETE /api/settings/free-proxies DELETE settings › free proxies ```bash curl -X DELETE https://localhost:20128/api/settings/free-proxies \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" ``` ### POST /api/settings/free-proxies/{id}/add-to-pool POST settings › free proxies › › add to pool ```bash curl -X POST https://localhost:20128/api/settings/free-proxies/{id}/add-to-pool \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}' ``` ### POST /api/settings/free-proxies/bulk-add-to-pool POST settings › free proxies › bulk add to pool ```bash curl -X POST https://localhost:20128/api/settings/free-proxies/bulk-add-to-pool \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}' ``` ### GET /api/settings/free-proxies/stats GET settings › free proxies › stats ```bash curl https://localhost:20128/api/settings/free-proxies/stats \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" ``` ### POST /api/settings/free-proxies/sync POST settings › free proxies › sync ```bash curl -X POST https://localhost:20128/api/settings/free-proxies/sync \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}' ``` ### POST /api/settings/import-json POST settings › import json ```bash curl -X POST https://localhost:20128/api/settings/import-json \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}' ``` ### DELETE /api/settings/lkgp-cache DELETE settings › lkgp cache ```bash curl -X DELETE https://localhost:20128/api/settings/lkgp-cache \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" ``` ### GET /api/settings/local-corpus GET settings › local corpus ```bash curl https://localhost:20128/api/settings/local-corpus \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" ``` ### POST /api/settings/local-corpus POST settings › local corpus ```bash curl -X POST https://localhost:20128/api/settings/local-corpus \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}' ``` ### DELETE /api/settings/local-corpus DELETE settings › local corpus ```bash curl -X DELETE https://localhost:20128/api/settings/local-corpus \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" ``` ### GET /api/settings/mitm GET settings › mitm ```bash curl https://localhost:20128/api/settings/mitm \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" ``` ### POST /api/settings/mitm POST settings › mitm ```bash curl -X POST https://localhost:20128/api/settings/mitm \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}' ``` ### PUT /api/settings/mitm PUT settings › mitm ```bash curl -X PUT https://localhost:20128/api/settings/mitm \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}' ``` ### GET /api/settings/model-aliases GET settings › model aliases ```bash curl https://localhost:20128/api/settings/model-aliases \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" ``` ### POST /api/settings/model-aliases POST settings › model aliases ```bash curl -X POST https://localhost:20128/api/settings/model-aliases \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}' ``` ### PUT /api/settings/model-aliases PUT settings › model aliases ```bash curl -X PUT https://localhost:20128/api/settings/model-aliases \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}' ``` ### DELETE /api/settings/model-aliases DELETE settings › model aliases ```bash curl -X DELETE https://localhost:20128/api/settings/model-aliases \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" ``` ### GET /api/settings/models-dev GET settings › models dev ```bash curl https://localhost:20128/api/settings/models-dev \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" ``` ### POST /api/settings/models-dev POST settings › models dev ```bash curl -X POST https://localhost:20128/api/settings/models-dev \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}' ``` ### GET /api/settings/notion GET settings › notion ```bash curl https://localhost:20128/api/settings/notion \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" ``` ### POST /api/settings/notion POST settings › notion ```bash curl -X POST https://localhost:20128/api/settings/notion \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}' ``` ### DELETE /api/settings/notion DELETE settings › notion ```bash curl -X DELETE https://localhost:20128/api/settings/notion \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" ``` ### GET /api/settings/obsidian GET settings › obsidian ```bash curl https://localhost:20128/api/settings/obsidian \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" ``` ### POST /api/settings/obsidian POST settings › obsidian ```bash curl -X POST https://localhost:20128/api/settings/obsidian \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}' ``` ### DELETE /api/settings/obsidian DELETE settings › obsidian ```bash curl -X DELETE https://localhost:20128/api/settings/obsidian \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" ``` ### GET /api/settings/obsidian/webdav GET settings › obsidian › webdav ```bash curl https://localhost:20128/api/settings/obsidian/webdav \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" ``` ### POST /api/settings/obsidian/webdav POST settings › obsidian › webdav ```bash curl -X POST https://localhost:20128/api/settings/obsidian/webdav \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}' ``` ### DELETE /api/settings/obsidian/webdav DELETE settings › obsidian › webdav ```bash curl -X DELETE https://localhost:20128/api/settings/obsidian/webdav \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" ``` ### GET /api/settings/oneproxy GET settings › oneproxy ```bash curl https://localhost:20128/api/settings/oneproxy \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" ``` ### POST /api/settings/oneproxy POST settings › oneproxy ```bash curl -X POST https://localhost:20128/api/settings/oneproxy \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}' ``` ### DELETE /api/settings/oneproxy DELETE settings › oneproxy ```bash curl -X DELETE https://localhost:20128/api/settings/oneproxy \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" ``` ### POST /api/settings/oneproxy/rotate POST settings › oneproxy › rotate ```bash curl -X POST https://localhost:20128/api/settings/oneproxy/rotate \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}' ``` ### GET /api/settings/proxies GET settings › proxies ```bash curl https://localhost:20128/api/settings/proxies \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" ``` ### POST /api/settings/proxies POST settings › proxies ```bash curl -X POST https://localhost:20128/api/settings/proxies \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}' ``` ### PATCH /api/settings/proxies PATCH settings › proxies ```bash curl -X PATCH https://localhost:20128/api/settings/proxies \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}' ``` ### DELETE /api/settings/proxies DELETE settings › proxies ```bash curl -X DELETE https://localhost:20128/api/settings/proxies \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" ``` ### POST /api/settings/proxies/{id}/repair-relay POST settings › proxies › › repair relay ```bash curl -X POST https://localhost:20128/api/settings/proxies/{id}/repair-relay \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}' ``` ### GET /api/settings/proxies/assignments GET settings › proxies › assignments ```bash curl https://localhost:20128/api/settings/proxies/assignments \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" ``` ### PUT /api/settings/proxies/assignments PUT settings › proxies › assignments ```bash curl -X PUT https://localhost:20128/api/settings/proxies/assignments \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}' ``` ### POST /api/settings/proxies/auto-test POST settings › proxies › auto test ```bash curl -X POST https://localhost:20128/api/settings/proxies/auto-test \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}' ``` ### POST /api/settings/proxies/batch-activate POST settings › proxies › batch activate ```bash curl -X POST https://localhost:20128/api/settings/proxies/batch-activate \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}' ``` ### POST /api/settings/proxies/batch-delete POST settings › proxies › batch delete ```bash curl -X POST https://localhost:20128/api/settings/proxies/batch-delete \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}' ``` ### PUT /api/settings/proxies/bulk-assign PUT settings › proxies › bulk assign ```bash curl -X PUT https://localhost:20128/api/settings/proxies/bulk-assign \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}' ``` ### POST /api/settings/proxies/bulk-import POST settings › proxies › bulk import ```bash curl -X POST https://localhost:20128/api/settings/proxies/bulk-import \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}' ``` ### GET /api/settings/proxies/egress GET settings › proxies › egress ```bash curl https://localhost:20128/api/settings/proxies/egress \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" ``` ### POST /api/settings/proxies/egress POST settings › proxies › egress ```bash curl -X POST https://localhost:20128/api/settings/proxies/egress \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}' ``` ### GET /api/settings/proxies/health GET settings › proxies › health ```bash curl https://localhost:20128/api/settings/proxies/health \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" ``` ### POST /api/settings/proxies/migrate POST settings › proxies › migrate ```bash curl -X POST https://localhost:20128/api/settings/proxies/migrate \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}' ``` ### GET /api/settings/proxies/pool GET settings › proxies › pool ```bash curl https://localhost:20128/api/settings/proxies/pool \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" ``` ### PUT /api/settings/proxies/pool PUT settings › proxies › pool ```bash curl -X PUT https://localhost:20128/api/settings/proxies/pool \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}' ``` ### PATCH /api/settings/proxies/pool PATCH settings › proxies › pool ```bash curl -X PATCH https://localhost:20128/api/settings/proxies/pool \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}' ``` ### DELETE /api/settings/proxies/pool DELETE settings › proxies › pool ```bash curl -X DELETE https://localhost:20128/api/settings/proxies/pool \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" ``` ### GET /api/settings/proxies/pool/egress-observation GET settings › proxies › pool › egress observation Read-only observation of how many distinct egress IPs actually served the members of a proxy pool over the last 24 h, read from the proxy log (numbers only, never used for routing). Opt-in through the PROXY_POOL_EGRESS_OBSERVATION feature flag: while it is off, or when the read fails, the body is JSON null. Results are cached for 30 seconds per normalized scope (key is read as account, global as the stored global pool). ```bash curl https://localhost:20128/api/settings/proxies/pool/egress-observation \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" ``` ### POST /api/settings/proxy/cloudflare-deploy POST settings › proxy › cloudflare deploy ```bash curl -X POST https://localhost:20128/api/settings/proxy/cloudflare-deploy \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}' ``` ### POST /api/settings/proxy/deno-deploy POST settings › proxy › deno deploy ```bash curl -X POST https://localhost:20128/api/settings/proxy/deno-deploy \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}' ``` ### POST /api/settings/proxy/vercel-deploy POST settings › proxy › vercel deploy ```bash curl -X POST https://localhost:20128/api/settings/proxy/vercel-deploy \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}' ``` ### POST /api/settings/purge-call-logs POST settings › purge call logs ```bash curl -X POST https://localhost:20128/api/settings/purge-call-logs \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}' ``` ### POST /api/settings/purge-detailed-logs POST settings › purge detailed logs ```bash curl -X POST https://localhost:20128/api/settings/purge-detailed-logs \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}' ``` ### POST /api/settings/purge-logs POST settings › purge logs ```bash curl -X POST https://localhost:20128/api/settings/purge-logs \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}' ``` ### POST /api/settings/purge-quota-snapshots POST settings › purge quota snapshots ```bash curl -X POST https://localhost:20128/api/settings/purge-quota-snapshots \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}' ``` ### GET /api/settings/quota/state GET settings › quota › state ```bash curl https://localhost:20128/api/settings/quota/state \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" ``` ### POST /api/settings/quota/state POST settings › quota › state ```bash curl -X POST https://localhost:20128/api/settings/quota/state \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}' ``` ### GET /api/settings/reasoning-routing-rules GET settings › reasoning routing rules ```bash curl https://localhost:20128/api/settings/reasoning-routing-rules \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" ``` ### POST /api/settings/reasoning-routing-rules POST settings › reasoning routing rules ```bash curl -X POST https://localhost:20128/api/settings/reasoning-routing-rules \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}' ``` ### GET /api/settings/reasoning-routing-rules/{id} GET settings › reasoning routing rules › ```bash curl https://localhost:20128/api/settings/reasoning-routing-rules/{id} \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" ``` ### PATCH /api/settings/reasoning-routing-rules/{id} PATCH settings › reasoning routing rules › ```bash curl -X PATCH https://localhost:20128/api/settings/reasoning-routing-rules/{id} \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}' ``` ### DELETE /api/settings/reasoning-routing-rules/{id} DELETE settings › reasoning routing rules › ```bash curl -X DELETE https://localhost:20128/api/settings/reasoning-routing-rules/{id} \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" ``` ### POST /api/settings/reasoning-routing-rules/simulate POST settings › reasoning routing rules › simulate ```bash curl -X POST https://localhost:20128/api/settings/reasoning-routing-rules/simulate \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}' ``` ### GET /api/settings/task-routing GET settings › task routing ```bash curl https://localhost:20128/api/settings/task-routing \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" ``` ### POST /api/settings/task-routing POST settings › task routing ```bash curl -X POST https://localhost:20128/api/settings/task-routing \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}' ``` ### PUT /api/settings/task-routing PUT settings › task routing ```bash curl -X PUT https://localhost:20128/api/settings/task-routing \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}' ``` ### GET /api/settings/tier-config GET settings › tier config ```bash curl https://localhost:20128/api/settings/tier-config \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" ``` ### PUT /api/settings/tier-config PUT settings › tier config ```bash curl -X PUT https://localhost:20128/api/settings/tier-config \ -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. ### 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.