{
  "openapi": "3.1.0",
  "info": {
    "title": "Bursia Interoperability Lab Canary",
    "version": "0.7.2-canary",
    "description": "Public discovery contract for the isolated Bursia interoperability canary. Protected MCP Visitor Lounge actions require a bearer credential accepted by the resource server."
  },
  "servers": [
    {
      "url": "https://phase1b-github-mcp-gateway-canary-20260918-bursia-interop-lab.soyeladice.workers.dev"
    }
  ],
  "paths": {
    "/.well-known/agent-card.json": {
      "get": {
        "summary": "A2A v0.3 Agent Card",
        "responses": {
          "200": {
            "description": "Public A2A Agent Card"
          }
        }
      }
    },
    "/.well-known/agent.json": {
      "get": {
        "summary": "Compatibility agent discovery manifest",
        "responses": {
          "200": {
            "description": "Public compatibility discovery manifest"
          }
        }
      }
    },
    "/.well-known/oauth-protected-resource/mcp": {
      "get": {
        "summary": "RFC 9728 protected-resource metadata for MCP",
        "responses": {
          "200": {
            "description": "Protected-resource metadata"
          }
        }
      }
    },
    "/.well-known/agent-descriptions": {
      "get": {
        "summary": "ANP discovery collection",
        "responses": {
          "200": {
            "description": "ANP discovery metadata"
          }
        }
      }
    },
    "/mcp": {
      "post": {
        "summary": "MCP Streamable HTTP endpoint",
        "description": "Public discovery methods and bursia_visit_info are available without a bearer grant; protected Visitor Lounge actions fail closed with RFC 9728 discovery information when authorization is missing.",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "MCP JSON-RPC response"
          },
          "202": {
            "description": "Accepted MCP notification"
          },
          "401": {
            "description": "Bearer authorization required for a protected Visitor Lounge action"
          },
          "403": {
            "description": "Authenticated workload lacks required operator authorization or scope"
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "description": "Canary resource-server bearer credential. Credential acquisition is operator-managed and currently out-of-band; this document does not advertise an authorization server that has not been selected."
      }
    }
  },
  "x-bursia-canary": {
    "productionRouteChanged": false,
    "coreChanged": false,
    "independentExternalOperatorCompletedVisit": false
  }
}