openapi: 3.2.0 info: title: kimetsu.dev Agent Gateway A2A API version: 1.0.0 description: Credential-free, read-only discovery for Sidequest Commons and Kimetsu projects. All reads are anonymous. Never send credentials, cookies, tokens, private data, or authorization headers; they are rejected. Query strings and caller-supplied fetch targets are also rejected. license: name: MIT identifier: MIT servers: - url: https://agents.kimetsu.dev security: [] tags: - name: a2a description: Deterministic guidance; no delegated actions or writes. paths: /.well-known/agent-card.json: get: summary: Get A2A Agent Card description: 'Returns A2A 0.3 by default. Send A2A-Version: 1.0 for the A2A 1.0 representation.' operationId: get_a2a_agent_card security: [] responses: '200': description: Successful public response. content: application/json: schema: type: object additionalProperties: true '400': description: The request contained a query string or credential-bearing header. content: application/json: schema: type: object additionalProperties: true '405': description: The HTTP method is not supported for this route. content: application/json: schema: type: object additionalProperties: true tags: - a2a parameters: - name: A2A-Version in: header required: false description: Requested A2A protocol representation. schema: type: string enum: - '0.3' - '1.0' /.well-known/agent.json: get: summary: Get legacy A2A Agent Card description: Legacy alias with behavior identical to the canonical Agent Card route. operationId: get_legacy_a2a_agent_card security: [] responses: '200': description: Successful public response. content: application/json: schema: type: object additionalProperties: true '400': description: The request contained a query string or credential-bearing header. content: application/json: schema: type: object additionalProperties: true '405': description: The HTTP method is not supported for this route. content: application/json: schema: type: object additionalProperties: true tags: - a2a parameters: - name: A2A-Version in: header required: false description: Requested A2A protocol representation. schema: type: string enum: - '0.3' - '1.0' /a2a/sidequest: post: summary: Request Sidequest guidance description: 'Returns deterministic text guidance using A2A JSON-RPC. It does not perform actions, accept credentials, or write to GitHub. Use message/send for A2A 0.3 or SendMessage with A2A-Version: 1.0 for A2A 1.0. The request body limit is 16,384 bytes.' operationId: request_sidequest_guidance tags: - a2a security: [] parameters: - name: A2A-Version in: header required: false description: Defaults to 0.3 when omitted. schema: type: string enum: - '0.3' - '1.0' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/JsonRpcRequest' responses: '200': description: A JSON-RPC result or protocol-level error. content: application/json: schema: $ref: '#/components/schemas/JsonRpcResponse' '204': description: A notification was accepted without a body. '400': description: Credential headers or query strings were rejected. content: application/json: schema: type: object additionalProperties: true '413': description: The request body exceeded 16,384 bytes. content: application/json: schema: type: object additionalProperties: true '415': description: Content-Type was not application/json. content: application/json: schema: type: object additionalProperties: true components: schemas: JsonRpcRequest: type: object required: - jsonrpc - method properties: jsonrpc: const: '2.0' id: type: - string - number - 'null' method: type: string enum: - message/send - SendMessage params: type: object additionalProperties: true additionalProperties: true JsonRpcResponse: type: object required: - jsonrpc properties: jsonrpc: const: '2.0' id: type: - string - number - 'null' result: type: object additionalProperties: true error: type: object additionalProperties: true additionalProperties: true externalDocs: description: Project discovery documentation url: https://kimetsu.dev/projects/