{
  "$comment": "GENERATED by scripts/derive-v2-api.py (RFC 0172 §C.2 / RFC 0168 §C.2): the canonical v2 operations and channels; no seam or test-mode operation; every path unversioned. check-path-parity.mjs compares this to both API documents. Per operation, requestHeaders / authenticated / requestBody are the facts headers.md §Cross-origin preflight derives the admitted set from.",
  "generatedFrom": [
    "api/v2/openapi.yaml",
    "api/v2/asyncapi.yaml"
  ],
  "serverUrl": "https://{host}",
  "operations": [
    {
      "method": "GET",
      "path": "/.well-known/openwop",
      "operationId": "getCapabilities",
      "requestHeaders": [
        "If-None-Match",
        "OpenWOP-Client-Version",
        "OpenWOP-Version"
      ],
      "authenticated": false,
      "requestBody": false
    },
    {
      "method": "GET",
      "path": "/agents",
      "operationId": "listAgents",
      "requestHeaders": [
        "OpenWOP-Client-Version",
        "OpenWOP-Version"
      ],
      "authenticated": true,
      "requestBody": false
    },
    {
      "method": "GET",
      "path": "/agents/org-chart",
      "operationId": "getAgentOrgChart",
      "requestHeaders": [
        "OpenWOP-Client-Version",
        "OpenWOP-Version"
      ],
      "authenticated": true,
      "requestBody": false
    },
    {
      "method": "GET",
      "path": "/agents/org-chart/{departmentId}",
      "operationId": "getAgentOrgChartDepartment",
      "requestHeaders": [
        "OpenWOP-Client-Version",
        "OpenWOP-Version"
      ],
      "authenticated": true,
      "requestBody": false
    },
    {
      "method": "GET",
      "path": "/agents/roster",
      "operationId": "listAgentRoster",
      "requestHeaders": [
        "OpenWOP-Client-Version",
        "OpenWOP-Version"
      ],
      "authenticated": true,
      "requestBody": false
    },
    {
      "method": "GET",
      "path": "/agents/roster/{rosterId}",
      "operationId": "getAgentRosterEntry",
      "requestHeaders": [
        "OpenWOP-Client-Version",
        "OpenWOP-Version"
      ],
      "authenticated": true,
      "requestBody": false
    },
    {
      "method": "GET",
      "path": "/agents/{agentId}",
      "operationId": "getAgent",
      "requestHeaders": [
        "OpenWOP-Client-Version",
        "OpenWOP-Version"
      ],
      "authenticated": true,
      "requestBody": false
    },
    {
      "method": "GET",
      "path": "/agents/{agentId}/deployments",
      "operationId": "listAgentDeployments",
      "requestHeaders": [
        "OpenWOP-Client-Version",
        "OpenWOP-Version"
      ],
      "authenticated": true,
      "requestBody": false
    },
    {
      "method": "POST",
      "path": "/agents/{agentId}/deployments",
      "operationId": "transitionAgentDeployment",
      "requestHeaders": [
        "Idempotency-Key",
        "OpenWOP-Client-Version",
        "OpenWOP-Version"
      ],
      "authenticated": true,
      "requestBody": true
    },
    {
      "method": "GET",
      "path": "/audit/verify",
      "operationId": "verifyAuditLog",
      "requestHeaders": [
        "OpenWOP-Client-Version",
        "OpenWOP-Version"
      ],
      "authenticated": true,
      "requestBody": false
    },
    {
      "method": "GET",
      "path": "/connection-providers",
      "operationId": "listConnectionProviders",
      "requestHeaders": [
        "OpenWOP-Client-Version",
        "OpenWOP-Version"
      ],
      "authenticated": true,
      "requestBody": false
    },
    {
      "method": "GET",
      "path": "/connection-providers/{providerId}",
      "operationId": "resolveConnectionProvider",
      "requestHeaders": [
        "OpenWOP-Client-Version",
        "OpenWOP-Version"
      ],
      "authenticated": true,
      "requestBody": false
    },
    {
      "method": "GET",
      "path": "/content/pages",
      "operationId": "listContentPages",
      "requestHeaders": [
        "OpenWOP-Client-Version",
        "OpenWOP-Version"
      ],
      "authenticated": true,
      "requestBody": false
    },
    {
      "method": "POST",
      "path": "/content/pages",
      "operationId": "createContentPage",
      "requestHeaders": [
        "OpenWOP-Client-Version",
        "OpenWOP-Version"
      ],
      "authenticated": true,
      "requestBody": true
    },
    {
      "method": "PUT",
      "path": "/content/pages/{pageId}/sections/{sectionId}",
      "operationId": "putContentSection",
      "requestHeaders": [
        "OpenWOP-Client-Version",
        "OpenWOP-Version"
      ],
      "authenticated": true,
      "requestBody": true
    },
    {
      "method": "DELETE",
      "path": "/content/pages/{slug}",
      "operationId": "deleteContentPage",
      "requestHeaders": [
        "OpenWOP-Client-Version",
        "OpenWOP-Version"
      ],
      "authenticated": true,
      "requestBody": false
    },
    {
      "method": "GET",
      "path": "/content/pages/{slug}",
      "operationId": "getContentPage",
      "requestHeaders": [
        "Accept-Language",
        "OpenWOP-Client-Version",
        "OpenWOP-Version"
      ],
      "authenticated": false,
      "requestBody": false
    },
    {
      "method": "GET",
      "path": "/content/settings",
      "operationId": "getContentSettings",
      "requestHeaders": [
        "OpenWOP-Client-Version",
        "OpenWOP-Version"
      ],
      "authenticated": true,
      "requestBody": false
    },
    {
      "method": "PUT",
      "path": "/content/settings",
      "operationId": "putContentSettings",
      "requestHeaders": [
        "OpenWOP-Client-Version",
        "OpenWOP-Version"
      ],
      "authenticated": true,
      "requestBody": true
    },
    {
      "method": "GET",
      "path": "/host/effect-seams",
      "operationId": "getEffectSeamManifest",
      "requestHeaders": [
        "OpenWOP-Client-Version",
        "OpenWOP-Version"
      ],
      "authenticated": true,
      "requestBody": false
    },
    {
      "method": "GET",
      "path": "/host/events",
      "operationId": "streamHostEvents",
      "requestHeaders": [
        "OpenWOP-Client-Version",
        "OpenWOP-Version"
      ],
      "authenticated": true,
      "requestBody": false
    },
    {
      "method": "POST",
      "path": "/host/events/test",
      "operationId": "emitTestHostEvent",
      "requestHeaders": [
        "Idempotency-Key",
        "OpenWOP-Client-Version",
        "OpenWOP-Version"
      ],
      "authenticated": true,
      "requestBody": true
    },
    {
      "method": "GET",
      "path": "/host/ui-plugins/{packName}/{pluginId}/frame",
      "operationId": "getUiPluginFrame",
      "requestHeaders": [
        "OpenWOP-Client-Version",
        "OpenWOP-Version"
      ],
      "authenticated": true,
      "requestBody": false
    },
    {
      "method": "POST",
      "path": "/host/ui-plugins/{packName}/{pluginId}/rpc",
      "operationId": "dispatchUiPluginRequest",
      "requestHeaders": [
        "OpenWOP-Client-Version",
        "OpenWOP-Version"
      ],
      "authenticated": true,
      "requestBody": true
    },
    {
      "method": "GET",
      "path": "/interrupts/{token}",
      "operationId": "inspectInterruptByToken",
      "requestHeaders": [
        "OpenWOP-Client-Version",
        "OpenWOP-Version"
      ],
      "authenticated": false,
      "requestBody": false
    },
    {
      "method": "POST",
      "path": "/interrupts/{token}",
      "operationId": "resolveInterruptByToken",
      "requestHeaders": [
        "Idempotency-Key",
        "OpenWOP-Client-Version",
        "OpenWOP-Version"
      ],
      "authenticated": false,
      "requestBody": true
    },
    {
      "method": "GET",
      "path": "/openapi.json",
      "operationId": "getOpenApiSpec",
      "requestHeaders": [
        "OpenWOP-Client-Version",
        "OpenWOP-Version"
      ],
      "authenticated": false,
      "requestBody": false
    },
    {
      "method": "GET",
      "path": "/prompts",
      "operationId": "listPromptTemplates",
      "requestHeaders": [
        "OpenWOP-Client-Version",
        "OpenWOP-Version"
      ],
      "authenticated": true,
      "requestBody": false
    },
    {
      "method": "POST",
      "path": "/prompts",
      "operationId": "createPromptTemplate",
      "requestHeaders": [
        "Idempotency-Key",
        "OpenWOP-Client-Version",
        "OpenWOP-Version"
      ],
      "authenticated": true,
      "requestBody": true
    },
    {
      "method": "DELETE",
      "path": "/prompts/{templateId}",
      "operationId": "deletePromptTemplate",
      "requestHeaders": [
        "OpenWOP-Client-Version",
        "OpenWOP-Version"
      ],
      "authenticated": true,
      "requestBody": false
    },
    {
      "method": "GET",
      "path": "/prompts/{templateId}",
      "operationId": "getPromptTemplate",
      "requestHeaders": [
        "OpenWOP-Client-Version",
        "OpenWOP-Version"
      ],
      "authenticated": true,
      "requestBody": false
    },
    {
      "method": "PUT",
      "path": "/prompts/{templateId}",
      "operationId": "updatePromptTemplate",
      "requestHeaders": [
        "Idempotency-Key",
        "OpenWOP-Client-Version",
        "OpenWOP-Version"
      ],
      "authenticated": true,
      "requestBody": true
    },
    {
      "method": "POST",
      "path": "/prompts:render",
      "operationId": "renderPromptTemplate",
      "requestHeaders": [
        "OpenWOP-Client-Version",
        "OpenWOP-Version"
      ],
      "authenticated": true,
      "requestBody": true
    },
    {
      "method": "GET",
      "path": "/runs",
      "operationId": "listRuns",
      "requestHeaders": [
        "OpenWOP-Client-Version",
        "OpenWOP-Version"
      ],
      "authenticated": true,
      "requestBody": false
    },
    {
      "method": "POST",
      "path": "/runs",
      "operationId": "createRun",
      "requestHeaders": [
        "Idempotency-Key",
        "OpenWOP-Client-Version",
        "OpenWOP-Dedup",
        "OpenWOP-Force-Engine-Version",
        "OpenWOP-Version"
      ],
      "authenticated": true,
      "requestBody": true
    },
    {
      "method": "GET",
      "path": "/runs/{runId}",
      "operationId": "getRun",
      "requestHeaders": [
        "If-None-Match",
        "OpenWOP-Client-Version",
        "OpenWOP-Version"
      ],
      "authenticated": true,
      "requestBody": false
    },
    {
      "method": "GET",
      "path": "/runs/{runId}/ancestry",
      "operationId": "getRunAncestry",
      "requestHeaders": [
        "OpenWOP-Client-Version",
        "OpenWOP-Version"
      ],
      "authenticated": true,
      "requestBody": false
    },
    {
      "method": "GET",
      "path": "/runs/{runId}/annotations",
      "operationId": "listAnnotations",
      "requestHeaders": [
        "OpenWOP-Client-Version",
        "OpenWOP-Version"
      ],
      "authenticated": true,
      "requestBody": false
    },
    {
      "method": "POST",
      "path": "/runs/{runId}/annotations",
      "operationId": "createAnnotation",
      "requestHeaders": [
        "Idempotency-Key",
        "OpenWOP-Client-Version",
        "OpenWOP-Version"
      ],
      "authenticated": true,
      "requestBody": true
    },
    {
      "method": "GET",
      "path": "/runs/{runId}/artifacts/{artifactId}",
      "operationId": "getArtifact",
      "requestHeaders": [
        "OpenWOP-Client-Version",
        "OpenWOP-Version"
      ],
      "authenticated": true,
      "requestBody": false
    },
    {
      "method": "POST",
      "path": "/runs/{runId}/cancel",
      "operationId": "cancelRun",
      "requestHeaders": [
        "Idempotency-Key",
        "OpenWOP-Client-Version",
        "OpenWOP-Version"
      ],
      "authenticated": true,
      "requestBody": true
    },
    {
      "method": "GET",
      "path": "/runs/{runId}/compensation",
      "operationId": "getRunCompensation",
      "requestHeaders": [
        "OpenWOP-Client-Version",
        "OpenWOP-Version"
      ],
      "authenticated": true,
      "requestBody": false
    },
    {
      "method": "GET",
      "path": "/runs/{runId}/effects",
      "operationId": "getRunEffects",
      "requestHeaders": [
        "OpenWOP-Client-Version",
        "OpenWOP-Version"
      ],
      "authenticated": true,
      "requestBody": false
    },
    {
      "method": "GET",
      "path": "/runs/{runId}/eval-summary",
      "operationId": "getEvalSummary",
      "requestHeaders": [
        "OpenWOP-Client-Version",
        "OpenWOP-Version"
      ],
      "authenticated": true,
      "requestBody": false
    },
    {
      "method": "GET",
      "path": "/runs/{runId}/events",
      "operationId": "streamRunEvents",
      "requestHeaders": [
        "Last-Event-ID",
        "OpenWOP-Client-Version",
        "OpenWOP-Version"
      ],
      "authenticated": true,
      "requestBody": false
    },
    {
      "method": "GET",
      "path": "/runs/{runId}/events/poll",
      "operationId": "pollRunEvents",
      "requestHeaders": [
        "OpenWOP-Client-Version",
        "OpenWOP-Version"
      ],
      "authenticated": true,
      "requestBody": false
    },
    {
      "method": "POST",
      "path": "/runs/{runId}/interrupts/{nodeId}",
      "operationId": "resolveInterruptByRun",
      "requestHeaders": [
        "Idempotency-Key",
        "OpenWOP-Client-Version",
        "OpenWOP-Version"
      ],
      "authenticated": true,
      "requestBody": true
    },
    {
      "method": "GET",
      "path": "/runs/{runId}:diff",
      "operationId": "diffRun",
      "requestHeaders": [
        "OpenWOP-Client-Version",
        "OpenWOP-Version"
      ],
      "authenticated": true,
      "requestBody": false
    },
    {
      "method": "POST",
      "path": "/runs/{runId}:fork",
      "operationId": "forkRun",
      "requestHeaders": [
        "Idempotency-Key",
        "OpenWOP-Client-Version",
        "OpenWOP-Version"
      ],
      "authenticated": true,
      "requestBody": true
    },
    {
      "method": "POST",
      "path": "/runs/{runId}:pause",
      "operationId": "pauseRun",
      "requestHeaders": [
        "Idempotency-Key",
        "OpenWOP-Client-Version",
        "OpenWOP-Version"
      ],
      "authenticated": true,
      "requestBody": true
    },
    {
      "method": "POST",
      "path": "/runs/{runId}:resume",
      "operationId": "resumeRun",
      "requestHeaders": [
        "Idempotency-Key",
        "OpenWOP-Client-Version",
        "OpenWOP-Version"
      ],
      "authenticated": true,
      "requestBody": true
    },
    {
      "method": "POST",
      "path": "/runs:bulk-cancel",
      "operationId": "bulkCancelRuns",
      "requestHeaders": [
        "Idempotency-Key",
        "OpenWOP-Client-Version",
        "OpenWOP-Version"
      ],
      "authenticated": true,
      "requestBody": true
    },
    {
      "method": "GET",
      "path": "/tools",
      "operationId": "listTools",
      "requestHeaders": [
        "OpenWOP-Client-Version",
        "OpenWOP-Version"
      ],
      "authenticated": true,
      "requestBody": false
    },
    {
      "method": "GET",
      "path": "/tools/{toolId}",
      "operationId": "getTool",
      "requestHeaders": [
        "OpenWOP-Client-Version",
        "OpenWOP-Version"
      ],
      "authenticated": true,
      "requestBody": false
    },
    {
      "method": "POST",
      "path": "/trigger-subscriptions",
      "operationId": "createTriggerSubscription",
      "requestHeaders": [
        "Idempotency-Key",
        "OpenWOP-Client-Version",
        "OpenWOP-Version"
      ],
      "authenticated": true,
      "requestBody": true
    },
    {
      "method": "GET",
      "path": "/trigger-subscriptions/{subscriptionId}/dead-letters",
      "operationId": "listTriggerDeadLetters",
      "requestHeaders": [
        "OpenWOP-Client-Version",
        "OpenWOP-Version"
      ],
      "authenticated": true,
      "requestBody": false
    },
    {
      "method": "POST",
      "path": "/webhooks",
      "operationId": "registerWebhook",
      "requestHeaders": [
        "Idempotency-Key",
        "OpenWOP-Client-Version",
        "OpenWOP-Version"
      ],
      "authenticated": true,
      "requestBody": true
    },
    {
      "method": "DELETE",
      "path": "/webhooks/{webhookId}",
      "operationId": "unregisterWebhook",
      "requestHeaders": [
        "OpenWOP-Client-Version",
        "OpenWOP-Version"
      ],
      "authenticated": true,
      "requestBody": false
    },
    {
      "method": "GET",
      "path": "/webhooks/{webhookId}/dead-letters",
      "operationId": "listWebhookDeadLetters",
      "requestHeaders": [
        "OpenWOP-Client-Version",
        "OpenWOP-Version"
      ],
      "authenticated": true,
      "requestBody": false
    },
    {
      "method": "POST",
      "path": "/webhooks/{webhookId}/rotate-secret",
      "operationId": "rotateWebhookSecret",
      "requestHeaders": [
        "Idempotency-Key",
        "OpenWOP-Client-Version",
        "OpenWOP-Version"
      ],
      "authenticated": true,
      "requestBody": true
    },
    {
      "method": "GET",
      "path": "/workflows/{workflowId}",
      "operationId": "getWorkflow",
      "requestHeaders": [
        "OpenWOP-Client-Version",
        "OpenWOP-Version"
      ],
      "authenticated": true,
      "requestBody": false
    }
  ],
  "channels": [
    {
      "name": "runEvents",
      "address": "/runs/{runId}/events"
    },
    {
      "name": "hostEvents",
      "address": "/host/events"
    }
  ],
  "counts": {
    "operations": 61,
    "channels": 2
  }
}
