openapi: 3.2.0 info: title: AlgoVoi Gateway Customers 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: Customers paths: /v1/customers: post: tags: - Customers summary: Create Customer Endpoint operationId: create_customer_endpoint_v1_customers_post parameters: - name: tenant_id in: query required: false schema: anyOf: - type: string format: uuid - type: 'null' title: Tenant Id - 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 requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CustomerCreate' responses: '201': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/CustomerResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' x-payment-info: authMode: api_key get: tags: - Customers summary: List Customers Endpoint operationId: list_customers_endpoint_v1_customers_get parameters: - name: limit in: query required: false schema: type: integer maximum: 200 minimum: 1 default: 50 title: Limit - name: offset in: query required: false schema: type: integer minimum: 0 default: 0 title: Offset - name: tenant_id in: query required: false schema: anyOf: - type: string format: uuid - type: 'null' title: Tenant Id - 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: type: array items: $ref: '#/components/schemas/CustomerResponse' title: Response List Customers Endpoint V1 Customers Get '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' x-payment-info: authMode: api_key components: schemas: HTTPValidationError: properties: detail: items: $ref: '#/components/schemas/ValidationError' type: array title: Detail type: object title: HTTPValidationError CustomerResponse: properties: id: type: string format: uuid title: Id tenant_id: type: string format: uuid title: Tenant Id email: anyOf: - type: string - type: 'null' title: Email wallet_address: anyOf: - type: string - type: 'null' title: Wallet Address metadata: additionalProperties: true type: object title: Metadata created_at: type: string format: date-time title: Created At deleted_at: anyOf: - type: string format: date-time - type: 'null' title: Deleted At type: object required: - id - tenant_id - email - wallet_address - metadata - created_at - deleted_at title: CustomerResponse CustomerCreate: properties: email: anyOf: - type: string format: email - type: 'null' title: Email wallet_address: anyOf: - type: string maxLength: 255 - type: 'null' title: Wallet Address metadata: additionalProperties: true type: object title: Metadata additionalProperties: false type: object title: CustomerCreate 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