openapi: 3.1.0
info:
  title: DuaCrypto Site API
  version: 1.0.0
  description: Public discovery API for DuaCrypto site pages and health. Page index requires x402 payment.
servers:
  - url: https://duacrypto.com/api/v1/site
paths:
  /health:
    get:
      summary: Service health
      operationId: getHealth
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  service:
                    type: string
                  version:
                    type: string
                  x402:
                    type: object
                    properties:
                      facilitator:
                        type: string
                        format: uri
                      protectedRoutes:
                        type: array
                        items:
                          type: string
  /pages:
    get:
      summary: List public site pages (x402 protected)
      operationId: listPages
      x-payment-info:
        scheme: exact
        price: "$0.001"
        network: eip155:84532
        payTo: "0x26507ccEEaB8C073620205Bf4aE1cd50E9f612af"
        facilitator: https://x402.org/facilitator
      responses:
        "402":
          description: Payment Required — x402 payment instructions in response body/headers
        "200":
          description: Page index
          content:
            application/json:
              schema:
                type: object
                properties:
                  pages:
                    type: array
                    items:
                      type: object
                      properties:
                        path:
                          type: string
                        title:
                          type: string
                        url:
                          type: string
                          format: uri
