Skip to content
Pre-alpha / current reality

Pre-alpha. Detection is off until you configure it. SDKs are unpublished. The hosted service is not available yet. Nothing has run against production traffic.

GET /openapi.json

api-reference / v1

Operation projection

Fetch the signed API description

Full operation schema
{
  "operationId": "openapi",
  "summary": "Fetch the signed API description",
  "security": [],
  "responses": {
    "200": {
      "description": "OpenAPI document plus tools and x-agindow-signature; verify using an independently trusted key.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "description": "Signed OpenAPI 3.1 document with tool schemas"
          }
        }
      }
    },
    "403": {
      "description": "Host or browser origin refused"
    },
    "503": {
      "description": "Signing unavailable"
    }
  }
}

Responses

Status-specific responses from the published operation.

HTTPDefinition
200{"description":"OpenAPI document plus tools and x-agindow-signature; verify using an independently trusted key.","content":{"application/json":{"schema":{"type":"object","description":"Signed OpenAPI 3.1 document with tool schemas"}}}}
403{"description":"Host or browser origin refused"}
503{"description":"Signing unavailable"}

Verify Ed25519 before use

Fetch GET /openapi.json from your configured surface origin. Read x-agindow-signature, require algorithm Ed25519 and canonicalization agindow.canonical-json/1. Resolve key_id through an independently trusted public-key configuration. Remove x-agindow-signature from the document; recursively sort object keys, preserve array order and JSON primitives, and encode the canonical JSON as UTF-8. Decode the base64 signature and verify the exact bytes with the pinned Ed25519 key. Reject unknown key_id, algorithm or canonicalization and any verification failure. Never trust a key delivered beside the document. The signed tools inputSchema/outputSchema are included in those bytes.

Authentication and errors

Credentials and runtime policy have distinct owners. The surface uses MCP transport errors; the guard runtime taxonomy is separate.