{
  "openapi": "3.1.0",
  "info": {
    "title": "PostSteward operation API",
    "version": "showcase-1",
    "description": "Agent operation contract. The public showcase does not expose an effectful server; replace the server origin with an authorised PostSteward service origin."
  },
  "servers": [
    {
      "url": "https://service-origin.invalid",
      "description": "Placeholder only. Do not call this host."
    }
  ],
  "paths": {
    "/api/operations/{operation}": {
      "post": {
        "summary": "Invoke one named PostSteward operation",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "operation",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "autonomy_request",
                "autonomy_list",
                "autonomy_configure",
                "autonomy_pause",
                "model_status",
                "model_connect",
                "model_disconnect",
                "preparations_list",
                "preparation_export",
                "preparation_archive",
                "preparation_project_put",
                "preparation_create",
                "preparation_edit",
                "preparation_regenerate",
                "preparation_reject",
                "preparation_approve",
                "workspace_status",
                "publishing_capabilities",
                "accounts_list",
                "account_disconnect",
                "project_put",
                "projects_list",
                "campaign_create",
                "campaign_get",
                "campaign_validate",
                "publish_now",
                "schedule_create",
                "schedule_cancel",
                "delivery_approve",
                "delivery_reject",
                "schedule_replace",
                "receipt_get",
                "receipt_recheck",
                "receipts_list",
                "workspace_export",
                "metrics_capture",
                "publishing_pause",
                "automation_configure",
                "automation_inspect",
                "automation_preview",
                "automation_enable",
                "automation_pause",
                "billing_status",
                "billing_quote",
                "billing_checkout",
                "billing_portal",
                "runtime_inspect",
                "runtime_schedule_create",
                "runtime_schedule_cancel",
                "runtime_command_get"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operation-specific response. Effectful operations return durable state/receipt information rather than assuming external success."
          },
          "400": {
            "description": "Invalid input"
          },
          "401": {
            "description": "Missing or invalid agent token"
          },
          "403": {
            "description": "Scope or authority denied"
          },
          "409": {
            "description": "Conflict, drift or idempotency mismatch"
          },
          "429": {
            "description": "Admission limit; honour Retry-After"
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer"
      }
    }
  },
  "x-poststeward-showcase": {
    "effectfulPublicServer": false,
    "mcpEndpointTemplate": "<POSTSTEWARD_SERVICE_ORIGIN>/mcp",
    "webMcp": "document.modelContext on a connected workspace"
  }
}
