openapi: "3.0.3" info: title: "ComfyUI-OpenClaw API" version: "1.0.15" description: "Generated from docs/release/api_contract.md." servers: - url: "/openclaw" description: "Direct OpenClaw prefix" - url: "/api/openclaw" description: "ComfyUI /api shim" paths: /admin: get: operationId: "get_admin" summary: "Standalone remote admin console HTML shell (mobile-friendly)." responses: 200: description: "OK" x-openclaw-auth: "None*" x-openclaw-section: "1.0 UI Entry Points" x-openclaw-legacy-path: "/moltbot/admin" /health: get: operationId: "get_health" summary: "System status, uptime, dependencies, and startup lifecycle diagnostics." responses: 200: description: "OK" x-openclaw-auth: "None" x-openclaw-section: "1.1 Core Observability & System" x-openclaw-legacy-path: "/moltbot/health" x-openclaw-auth-tier: "none" /capabilities: get: operationId: "get_capabilities" summary: "Feature flags and supported extensions (includes optional UX/runtime features such as assist streaming support)." responses: 200: description: "OK" x-openclaw-auth: "None" x-openclaw-section: "1.1 Core Observability & System" x-openclaw-legacy-path: "/moltbot/capabilities" x-openclaw-auth-tier: "none" /logs/tail: get: operationId: "get_logs_tail" summary: "Tail recent log lines (rate-limited)." responses: 200: description: "OK" x-openclaw-auth: "Observability" x-openclaw-section: "1.1 Core Observability & System" x-openclaw-legacy-path: "/moltbot/logs/tail" x-openclaw-auth-tier: "observability" security: - OpenClawObservabilityToken: [] /trace/{prompt_id}: get: operationId: "get_trace_prompt_id" summary: "Get execution trace by prompt ID." responses: 200: description: "OK" x-openclaw-auth: "Observability" x-openclaw-section: "1.1 Core Observability & System" description: "Trace payloads redact provider reasoning/thinking fields and marked internal maintenance/helper content by default. Privileged reasoning reveal is local-only and opt-in." x-openclaw-legacy-path: "/moltbot/trace/{id}" x-openclaw-auth-tier: "observability" security: - OpenClawObservabilityToken: [] parameters: - name: "prompt_id" in: "path" required: true schema: type: "string" - $ref: "#/components/parameters/OpenClawReasoningRevealHeader" - $ref: "#/components/parameters/OpenClawReasoningRevealQuery" /events: get: operationId: "get_events" summary: "List recent job lifecycle events (JSON polling fallback; includes pagination/scan diagnostics)." responses: 200: description: "OK" x-openclaw-auth: "Observability" x-openclaw-section: "1.1 Core Observability & System" description: "Event payloads redact provider reasoning/thinking fields and marked internal maintenance/helper content by default. Privileged reasoning reveal is local-only and opt-in." x-openclaw-legacy-path: "/moltbot/events" x-openclaw-auth-tier: "observability" security: - OpenClawObservabilityToken: [] parameters: - $ref: "#/components/parameters/OpenClawReasoningRevealHeader" - $ref: "#/components/parameters/OpenClawReasoningRevealQuery" /events/stream: get: operationId: "get_events_stream" summary: "SSE stream of job lifecycle events with resume support." responses: 200: description: "OK" x-openclaw-auth: "Observability" x-openclaw-section: "1.1 Core Observability & System" description: "SSE event payloads redact provider reasoning/thinking fields and marked internal maintenance/helper content by default. Privileged reasoning reveal is local-only and opt-in." x-openclaw-legacy-path: "/moltbot/events/stream" x-openclaw-auth-tier: "observability" security: - OpenClawObservabilityToken: [] x-openclaw-streaming: true parameters: - $ref: "#/components/parameters/OpenClawReasoningRevealHeader" - $ref: "#/components/parameters/OpenClawReasoningRevealQuery" /config: get: operationId: "get_config" summary: "Read-only view of sanitized provider config." responses: 200: description: "OK" x-openclaw-auth: "Observability" x-openclaw-section: "1.1 Core Observability & System" x-openclaw-legacy-path: "/moltbot/config" x-openclaw-auth-tier: "observability" security: - OpenClawObservabilityToken: [] put: operationId: "put_config" summary: "Update system configuration." responses: 200: description: "OK" x-openclaw-auth: "Admin" x-openclaw-section: "1.1 Core Observability & System" x-openclaw-legacy-path: "/moltbot/config" x-openclaw-auth-tier: "admin" security: - OpenClawAdminToken: [] /jobs: get: operationId: "get_jobs" summary: "List recent jobs through the versioned bounded in-process jobs read model." responses: 200: description: "OK" x-openclaw-auth: "Admin" x-openclaw-section: "1.1 Core Observability & System" x-openclaw-legacy-path: "/moltbot/jobs" x-openclaw-auth-tier: "admin" security: - OpenClawAdminToken: [] /preflight: post: operationId: "post_preflight" summary: "Analyze a workflow or API prompt payload for missing nodes/models and portability diagnostics." responses: 200: description: "OK" x-openclaw-auth: "Admin" x-openclaw-section: "1.1 Core Observability & System" x-openclaw-legacy-path: "/moltbot/preflight" x-openclaw-auth-tier: "admin" security: - OpenClawAdminToken: [] /preflight/inventory: get: operationId: "get_preflight_inventory" summary: "Snapshot-first inventory of nodes/models for operator diagnostics, including refresh-state metadata." responses: 200: description: "OK" x-openclaw-auth: "Admin" x-openclaw-section: "1.1 Core Observability & System" x-openclaw-legacy-path: "/moltbot/preflight/inventory" x-openclaw-auth-tier: "admin" security: - OpenClawAdminToken: [] /webhook: post: operationId: "post_webhook" summary: "Receive external alerts (schema validation only)." responses: 200: description: "OK" x-openclaw-auth: "Webhook Secret" x-openclaw-section: "1.2 Webhooks & Triggers" x-openclaw-legacy-path: "/moltbot/webhook" x-openclaw-auth-tier: "webhook" security: - OpenClawWebhookAuth: [] /webhook/submit: post: operationId: "post_webhook_submit" summary: "Validate and submit job from webhook payload." responses: 200: description: "OK" x-openclaw-auth: "Webhook Secret" x-openclaw-section: "1.2 Webhooks & Triggers" x-openclaw-legacy-path: "/moltbot/webhook/submit" x-openclaw-auth-tier: "webhook" security: - OpenClawWebhookAuth: [] /webhook/validate: post: operationId: "post_webhook_validate" summary: "Dry-run validation of webhook payload." responses: 200: description: "OK" x-openclaw-auth: "Webhook Secret" x-openclaw-section: "1.2 Webhooks & Triggers" x-openclaw-legacy-path: "/moltbot/webhook/validate" x-openclaw-auth-tier: "webhook" security: - OpenClawWebhookAuth: [] /triggers/fire: post: operationId: "post_triggers_fire" summary: "Fire an ad-hoc workflow trigger from external system." responses: 200: description: "OK" x-openclaw-auth: "Admin" x-openclaw-section: "1.2 Webhooks & Triggers" x-openclaw-legacy-path: "/moltbot/triggers/fire" x-openclaw-auth-tier: "admin" security: - OpenClawAdminToken: [] /assist/planner/profiles: get: operationId: "get_assist_planner_profiles" summary: "List active planner profiles from registry for UI/node alignment." responses: 200: description: "OK" x-openclaw-auth: "Admin/Local" x-openclaw-section: "1.3 Assist, LLM & Chat" x-openclaw-legacy-path: "/moltbot/assist/planner/profiles" x-openclaw-auth-tier: "admin" security: - OpenClawAdminToken: [] /assist/planner: post: operationId: "post_assist_planner" summary: "Planner structured prompt generation." responses: 200: description: "OK" x-openclaw-auth: "Admin/Local" x-openclaw-section: "1.3 Assist, LLM & Chat" description: "Structured assist payloads preserve final answer fields while redacting provider reasoning/thinking fields and marked internal maintenance/helper content by default. Privileged reasoning reveal is local-only and opt-in." x-openclaw-legacy-path: "/moltbot/assist/planner" x-openclaw-auth-tier: "admin" security: - OpenClawAdminToken: [] parameters: - $ref: "#/components/parameters/OpenClawReasoningRevealHeader" - $ref: "#/components/parameters/OpenClawReasoningRevealQuery" /assist/refiner: post: operationId: "post_assist_refiner" summary: "Prompt refinement with optional image context." responses: 200: description: "OK" x-openclaw-auth: "Admin/Local" x-openclaw-section: "1.3 Assist, LLM & Chat" description: "Structured assist payloads preserve final answer fields while redacting provider reasoning/thinking fields and marked internal maintenance/helper content by default. Privileged reasoning reveal is local-only and opt-in." x-openclaw-legacy-path: "/moltbot/assist/refiner" x-openclaw-auth-tier: "admin" security: - OpenClawAdminToken: [] parameters: - $ref: "#/components/parameters/OpenClawReasoningRevealHeader" - $ref: "#/components/parameters/OpenClawReasoningRevealQuery" /assist/planner/stream: post: operationId: "post_assist_planner_stream" summary: "Optional SSE-style planner streaming response (`text/event-stream`) with staged progress + final payload." responses: 200: description: "OK" x-openclaw-auth: "Admin/Local" x-openclaw-section: "1.3 Assist, LLM & Chat" description: "Streaming assist final payloads redact provider reasoning/thinking fields and marked internal maintenance/helper content by default. Privileged reasoning reveal is local-only and opt-in." x-openclaw-legacy-path: "/moltbot/assist/planner/stream" x-openclaw-auth-tier: "admin" security: - OpenClawAdminToken: [] x-openclaw-streaming: true parameters: - $ref: "#/components/parameters/OpenClawReasoningRevealHeader" - $ref: "#/components/parameters/OpenClawReasoningRevealQuery" /assist/refiner/stream: post: operationId: "post_assist_refiner_stream" summary: "Optional SSE-style refiner streaming response (`text/event-stream`) with staged progress + final payload." responses: 200: description: "OK" x-openclaw-auth: "Admin/Local" x-openclaw-section: "1.3 Assist, LLM & Chat" description: "Streaming assist final payloads redact provider reasoning/thinking fields and marked internal maintenance/helper content by default. Privileged reasoning reveal is local-only and opt-in." x-openclaw-legacy-path: "/moltbot/assist/refiner/stream" x-openclaw-auth-tier: "admin" security: - OpenClawAdminToken: [] x-openclaw-streaming: true parameters: - $ref: "#/components/parameters/OpenClawReasoningRevealHeader" - $ref: "#/components/parameters/OpenClawReasoningRevealQuery" /connector/installations: get: operationId: "get_connector_installations" summary: "List redacted connector installations with lifecycle diagnostics." responses: 200: description: "OK" x-openclaw-auth: "Admin" x-openclaw-section: "1.3B Connector Installation Diagnostics" x-openclaw-legacy-path: "/moltbot/connector/installations" x-openclaw-auth-tier: "admin" security: - OpenClawAdminToken: [] /connector/installations/{installation_id}: get: operationId: "get_connector_installations_installation_id" summary: "Get one redacted connector installation record." responses: 200: description: "OK" x-openclaw-auth: "Admin" x-openclaw-section: "1.3B Connector Installation Diagnostics" x-openclaw-legacy-path: "/moltbot/connector/installations/{installation_id}" x-openclaw-auth-tier: "admin" security: - OpenClawAdminToken: [] parameters: - name: "installation_id" in: "path" required: true schema: type: "string" /connector/installations/resolve: get: operationId: "get_connector_installations_resolve" summary: "Run fail-closed workspace resolution diagnostics (`platform`, `workspace_id`)." responses: 200: description: "OK" x-openclaw-auth: "Admin" x-openclaw-section: "1.3B Connector Installation Diagnostics" x-openclaw-legacy-path: "/moltbot/connector/installations/resolve" x-openclaw-auth-tier: "admin" security: - OpenClawAdminToken: [] /connector/installations/audit: get: operationId: "get_connector_installations_audit" summary: "List installation lifecycle audit evidence (redacted)." responses: 200: description: "OK" x-openclaw-auth: "Admin" x-openclaw-section: "1.3B Connector Installation Diagnostics" x-openclaw-legacy-path: "/moltbot/connector/installations/audit" x-openclaw-auth-tier: "admin" security: - OpenClawAdminToken: [] /connector/extraction-contract: get: operationId: "get_connector_extraction_contract" summary: "Get the machine-readable connector extraction recommendation, seam families, static service-env SecretRef propagation policy, and current blockers." responses: 200: description: "OK" x-openclaw-auth: "Admin" x-openclaw-section: "1.3B Connector Installation Diagnostics" x-openclaw-legacy-path: "/moltbot/connector/extraction-contract" x-openclaw-auth-tier: "admin" security: - OpenClawAdminToken: [] /models/search: get: operationId: "get_models_search" summary: "Search normalized model entries across managed installs and catalog sources." responses: 200: description: "OK" x-openclaw-auth: "Admin" x-openclaw-section: "1.3C Model Management & Installations" x-openclaw-legacy-path: "/moltbot/models/search" x-openclaw-auth-tier: "admin" security: - OpenClawAdminToken: [] /models/downloads: post: operationId: "post_models_downloads" summary: "Create a managed model download task with progress/cancel lifecycle." responses: 200: description: "OK" x-openclaw-auth: "Admin" x-openclaw-section: "1.3C Model Management & Installations" x-openclaw-legacy-path: "/moltbot/models/downloads" x-openclaw-auth-tier: "admin" security: - OpenClawAdminToken: [] get: operationId: "get_models_downloads" summary: "List model download tasks with snapshot or delta cursor semantics (`since_seq`)." responses: 200: description: "OK" x-openclaw-auth: "Admin" x-openclaw-section: "1.3C Model Management & Installations" x-openclaw-legacy-path: "/moltbot/models/downloads" x-openclaw-auth-tier: "admin" security: - OpenClawAdminToken: [] /models/downloads/{task_id}: get: operationId: "get_models_downloads_task_id" summary: "Get one model download task by id." responses: 200: description: "OK" x-openclaw-auth: "Admin" x-openclaw-section: "1.3C Model Management & Installations" x-openclaw-legacy-path: "/moltbot/models/downloads/{task_id}" x-openclaw-auth-tier: "admin" security: - OpenClawAdminToken: [] parameters: - name: "task_id" in: "path" required: true schema: type: "string" /models/downloads/{task_id}/cancel: post: operationId: "post_models_downloads_task_id_cancel" summary: "Cancel a queued or running model download task." responses: 200: description: "OK" x-openclaw-auth: "Admin" x-openclaw-section: "1.3C Model Management & Installations" x-openclaw-legacy-path: "/moltbot/models/downloads/{task_id}/cancel" x-openclaw-auth-tier: "admin" security: - OpenClawAdminToken: [] parameters: - name: "task_id" in: "path" required: true schema: type: "string" /models/import: post: operationId: "post_models_import" summary: "Import a completed managed download into the bounded install root after provenance and hash verification." responses: 200: description: "OK" x-openclaw-auth: "Admin" x-openclaw-section: "1.3C Model Management & Installations" x-openclaw-legacy-path: "/moltbot/models/import" x-openclaw-auth-tier: "admin" security: - OpenClawAdminToken: [] /models/installations: get: operationId: "get_models_installations" summary: "List managed model installations." responses: 200: description: "OK" x-openclaw-auth: "Admin" x-openclaw-section: "1.3C Model Management & Installations" x-openclaw-legacy-path: "/moltbot/models/installations" x-openclaw-auth-tier: "admin" security: - OpenClawAdminToken: [] /chat: post: operationId: "post_chat" summary: "Unified chat interface for assistant interactions." responses: 200: description: "OK" x-openclaw-auth: "Admin/Local" x-openclaw-section: "1.3D LLM Management & Chat" x-openclaw-legacy-path: "/moltbot/llm/chat" x-openclaw-auth-tier: "admin" security: - OpenClawAdminToken: [] /test: post: operationId: "post_test" summary: "Test LLM connectivity and configuration." responses: 200: description: "OK" x-openclaw-auth: "Admin" x-openclaw-section: "1.3D LLM Management & Chat" x-openclaw-legacy-path: "/moltbot/llm/test" x-openclaw-auth-tier: "admin" security: - OpenClawAdminToken: [] /models: get: operationId: "get_models" summary: "List available models from configured provider. Request-time fetch uses the same SSRF contract as saved `base_url` validation, including scoped private-network allowance and the explicit insecure override for private-IP/HTTP targets." responses: 200: description: "OK" x-openclaw-auth: "Admin" x-openclaw-section: "1.3D LLM Management & Chat" x-openclaw-legacy-path: "/moltbot/llm/models" x-openclaw-auth-tier: "admin" security: - OpenClawAdminToken: [] /templates: get: operationId: "get_templates" summary: "List discovered template IDs and metadata." responses: 200: description: "OK" x-openclaw-auth: "Observability" x-openclaw-section: "1.4 Templates & Assets" x-openclaw-legacy-path: "/moltbot/templates" x-openclaw-auth-tier: "observability" security: - OpenClawObservabilityToken: [] /presets: get: operationId: "get_presets" summary: "List local presets (*depends on `OPENCLAW_PRESETS_PUBLIC_READ`)." responses: 200: description: "OK" x-openclaw-auth: "Public/Admin*" x-openclaw-section: "1.4 Templates & Assets" x-openclaw-legacy-path: "/moltbot/presets" x-openclaw-auth-tier: "admin" security: - OpenClawAdminToken: [] post: operationId: "post_presets" summary: "Create a new preset." responses: 200: description: "OK" x-openclaw-auth: "Admin" x-openclaw-section: "1.4 Templates & Assets" x-openclaw-legacy-path: "/moltbot/presets" x-openclaw-auth-tier: "admin" security: - OpenClawAdminToken: [] /presets/{id}: put: operationId: "put_presets_id" summary: "Update an existing preset." responses: 200: description: "OK" x-openclaw-auth: "Admin" x-openclaw-section: "1.4 Templates & Assets" x-openclaw-legacy-path: "/moltbot/presets/{id}" x-openclaw-auth-tier: "admin" security: - OpenClawAdminToken: [] parameters: - name: "id" in: "path" required: true schema: type: "string" delete: operationId: "delete_presets_id" summary: "Delete a preset." responses: 200: description: "OK" x-openclaw-auth: "Admin" x-openclaw-section: "1.4 Templates & Assets" x-openclaw-legacy-path: "/moltbot/presets/{id}" x-openclaw-auth-tier: "admin" security: - OpenClawAdminToken: [] parameters: - name: "id" in: "path" required: true schema: type: "string" /checkpoints: get: operationId: "get_checkpoints" summary: "List model checkpoints." responses: 200: description: "OK" x-openclaw-auth: "Observability" x-openclaw-section: "1.4 Templates & Assets" x-openclaw-legacy-path: "/moltbot/checkpoints" x-openclaw-auth-tier: "observability" security: - OpenClawObservabilityToken: [] post: operationId: "post_checkpoints" summary: "Create/copy a checkpoint." responses: 200: description: "OK" x-openclaw-auth: "Admin" x-openclaw-section: "1.4 Templates & Assets" x-openclaw-legacy-path: "/moltbot/checkpoints" x-openclaw-auth-tier: "admin" security: - OpenClawAdminToken: [] /packs: get: operationId: "get_packs" summary: "List installed asset packs." responses: 200: description: "OK" x-openclaw-auth: "Admin" x-openclaw-section: "1.4 Templates & Assets" x-openclaw-legacy-path: "/moltbot/packs" x-openclaw-auth-tier: "admin" security: - OpenClawAdminToken: [] /packs/import: post: operationId: "post_packs_import" summary: "Import an asset pack (.zip)." responses: 200: description: "OK" x-openclaw-auth: "Admin" x-openclaw-section: "1.4 Templates & Assets" x-openclaw-legacy-path: "/moltbot/packs/import" x-openclaw-auth-tier: "admin" security: - OpenClawAdminToken: [] /openclaw/schedules: get: operationId: "get_openclaw_schedules" summary: "List all schedules." responses: 200: description: "OK" x-openclaw-auth: "Unknown" x-openclaw-section: "1.5 Schedules & Approvals" post: operationId: "post_openclaw_schedules" summary: "Create a new schedule." responses: 200: description: "OK" x-openclaw-auth: "Unknown" x-openclaw-section: "1.5 Schedules & Approvals" /openclaw/schedules/{id}: get: operationId: "get_openclaw_schedules_id" summary: "Get schedule details." responses: 200: description: "OK" x-openclaw-auth: "Unknown" x-openclaw-section: "1.5 Schedules & Approvals" parameters: - name: "id" in: "path" required: true schema: type: "string" put: operationId: "put_openclaw_schedules_id" summary: "Update a schedule." responses: 200: description: "OK" x-openclaw-auth: "Unknown" x-openclaw-section: "1.5 Schedules & Approvals" parameters: - name: "id" in: "path" required: true schema: type: "string" delete: operationId: "delete_openclaw_schedules_id" summary: "Delete a schedule." responses: 200: description: "OK" x-openclaw-auth: "Unknown" x-openclaw-section: "1.5 Schedules & Approvals" parameters: - name: "id" in: "path" required: true schema: type: "string" /openclaw/schedules/{id}/run: post: operationId: "post_openclaw_schedules_id_run" summary: "Manually trigger a schedule." responses: 200: description: "OK" x-openclaw-auth: "Unknown" x-openclaw-section: "1.5 Schedules & Approvals" parameters: - name: "id" in: "path" required: true schema: type: "string" /openclaw/schedules/{id}/runs: get: operationId: "get_openclaw_schedules_id_runs" summary: "Get run history for a schedule." responses: 200: description: "OK" x-openclaw-auth: "Unknown" x-openclaw-section: "1.5 Schedules & Approvals" parameters: - name: "id" in: "path" required: true schema: type: "string" /openclaw/approvals: get: operationId: "get_openclaw_approvals" summary: "List pending approvals (includes pagination/scan diagnostics; bounded serialization scan on malformed records)." responses: 200: description: "OK" x-openclaw-auth: "Unknown" x-openclaw-section: "1.5 Schedules & Approvals" /openclaw/approvals/{id}/approve: post: operationId: "post_openclaw_approvals_id_approve" summary: "Approve a pending request." responses: 200: description: "OK" x-openclaw-auth: "Unknown" x-openclaw-section: "1.5 Schedules & Approvals" parameters: - name: "id" in: "path" required: true schema: type: "string" /openclaw/approvals/{id}/reject: post: operationId: "post_openclaw_approvals_id_reject" summary: "Reject a pending request." responses: 200: description: "OK" x-openclaw-auth: "Unknown" x-openclaw-section: "1.5 Schedules & Approvals" parameters: - name: "id" in: "path" required: true schema: type: "string" /tools: get: operationId: "get_tools" summary: "List allowed external tools and their declared sandbox metadata." responses: 200: description: "OK" x-openclaw-auth: "Admin Token Required" x-openclaw-section: "1.5A External Tools" x-openclaw-legacy-path: "/moltbot/tools" x-openclaw-auth-tier: "admin" security: - OpenClawAdminToken: [] /tools/{name}/run: post: operationId: "post_tools_name_run" summary: "Execute a named allowlisted external tool with validated arguments." responses: 200: description: "OK" x-openclaw-auth: "Admin Token Required" x-openclaw-section: "1.5A External Tools" x-openclaw-legacy-path: "/moltbot/tools/{name}/run" x-openclaw-auth-tier: "admin" security: - OpenClawAdminToken: [] parameters: - name: "name" in: "path" required: true schema: type: "string" /bridge/health: get: operationId: "get_bridge_health" summary: "Bridge status and connectivity check." responses: 200: description: "OK" x-openclaw-auth: "Unknown" x-openclaw-section: "1.6 Bridge (Sidecar)" /bridge/submit: post: operationId: "post_bridge_submit" summary: "Submit job from sidecar to core." responses: 200: description: "OK" x-openclaw-auth: "Unknown" x-openclaw-section: "1.6 Bridge (Sidecar)" /bridge/deliver: post: operationId: "post_bridge_deliver" summary: "Outbound delivery from core to sidecar (via callback)." responses: 200: description: "OK" x-openclaw-auth: "Unknown" x-openclaw-section: "1.6 Bridge (Sidecar)" components: parameters: OpenClawReasoningRevealHeader: name: "X-OpenClaw-Debug-Reveal-Reasoning" in: "header" required: false description: "Debug-only opt-in for privileged reasoning reveal. Effective only when server-side enablement, admin authorization, loopback source, and permissive local posture all pass." schema: type: "string" enum: - "1" OpenClawReasoningRevealQuery: name: "debug_reasoning" in: "query" required: false description: "Debug-only query opt-in for privileged reasoning reveal. Effective only when server-side enablement, admin authorization, loopback source, and permissive local posture all pass." schema: type: "string" enum: - "1" securitySchemes: OpenClawAdminToken: type: "apiKey" in: "header" name: "X-OpenClaw-Admin-Token" OpenClawObservabilityToken: type: "apiKey" in: "header" name: "X-OpenClaw-Obs-Token" OpenClawWebhookAuth: type: "http" scheme: "bearer" description: "Webhook bearer or HMAC-based auth (see release API contract)." OpenClawBridgeAuth: type: "apiKey" in: "header" name: "X-OpenClaw-Bridge-Token"