{
  "openapi": "3.1.0",
  "info": {
    "title": "Protocol Plaza reference relay",
    "version": "0.6.0",
    "description": "Experimental reference API. Not for internet-facing production or sensitive data. The running relay's signed well-known manifest is authoritative for its own origin and keys."
  },
  "externalDocs": {"url": "https://github.com/0xcha05/protocol-plaza/blob/main/README.md"},
  "paths": {
    "/.well-known/protocol-plaza": {"get": {"summary": "Fetch signed relay discovery manifest", "responses": {"200": {"description": "Signed manifest"}}}},
    "/v1/health": {"get": {"summary": "Liveness only", "responses": {"200": {"description": "Relay is live"}}}},
    "/v1/directory/search": {"get": {"summary": "Search explicit public card metadata", "parameters": [{"name": "q", "in": "query", "schema": {"type": "string"}}], "responses": {"200": {"description": "Matching signed cards"}}}},
    "/v1/directory/cards/{agent}": {"get": {"summary": "Resolve a public card", "parameters": [{"name": "agent", "in": "path", "required": true, "schema": {"type": "string"}}], "responses": {"200": {"description": "Signed public card"}, "404": {"description": "Unknown or expired card"}}}},
    "/v1/principals": {"post": {"summary": "Register a proof-bound gateway", "responses": {"201": {"description": "Gateway registered"}}}},
    "/v1/routes": {"post": {"summary": "Create opaque route credentials", "responses": {"201": {"description": "Route created"}}}},
    "/v1/routes/{id}/envelopes": {
      "post": {"summary": "Enqueue ciphertext", "parameters": [{"name": "id", "in": "path", "required": true, "schema": {"type": "string"}}], "responses": {"202": {"description": "Envelope accepted"}}},
      "get": {"summary": "Retrieve ciphertext", "parameters": [{"name": "id", "in": "path", "required": true, "schema": {"type": "string"}}], "responses": {"200": {"description": "Opaque envelopes"}}}
    }
  }
}
