openapi: 3.2.0 info: title: AlgoVoi Gateway X402 Protected API description: Public-facing x402 payment gateway. version: 1.0.0-phase1c x-guidance: To access payment-gated resources, send the required payment proof header. Use GET /mpp/{resource_id} for MPP or GET /protected/{resource_id} for x402. tags: - name: x402-protected paths: /protected/{resource_id}: get: tags: - x402-protected summary: Get Protected Resource description: 'x402-compliant protected resource endpoint. Accepts payment proof via either header (compatible with both specs): - X-PAYMENT (gateway spec) - PAYMENT-SIGNATURE (coinbase/x402 spec, used by AlgoVoi extension) - No payment header → HTTP 402 + PAYMENT-REQUIRED header - Payment header → verify on-chain → HTTP 200 + body' operationId: get_protected_resource_protected__resource_id__get parameters: - name: resource_id in: path required: true schema: type: string title: Resource Id - name: tenant_id in: query required: false schema: anyOf: - type: string format: uuid - type: 'null' title: Tenant Id - name: x-payment in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Payment - name: PAYMENT-SIGNATURE in: header required: false schema: anyOf: - type: string - type: 'null' title: Payment-Signature - name: X-ATB-Credential in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Atb-Credential - name: X-ATB-ZK-Credential in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Atb-Zk-Credential - name: x-tenant-id in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Tenant-Id - name: authorization in: header required: false schema: anyOf: - type: string - type: 'null' title: Authorization responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' '402': description: Payment Required minPrice: 10000 maxPrice: 10000 x-payment-info: authMode: payment protocols: - mpp - x402 price: mode: fixed amount: '10000' currency: '31566704' components: schemas: HTTPValidationError: properties: detail: items: $ref: '#/components/schemas/ValidationError' type: array title: Detail type: object title: HTTPValidationError ValidationError: properties: loc: items: anyOf: - type: string - type: integer type: array title: Location msg: type: string title: Message type: type: string title: Error Type input: title: Input ctx: type: object title: Context type: object required: - loc - msg - type title: ValidationError x-discovery: ownershipProofs: - eb10b2d7fb1e2fcbea7a4c5b031e339daacc7cf37d1fb569c58849287c121633 resources: - https://api.algovoi.co.uk/mpp/probe resourcesCatalog: https://api.algovoi.co.uk/discovery/resources