{
  "openapi": "3.0.3",
  "info": {
    "title": "DutySlip DualPool static discovery API",
    "version": "1.1.0",
    "description": "Documents static GET resources only. Minting is on-chain DualPoolMint — there is no POST mint/voucher endpoint."
  },
  "servers": [
    {
      "url": "https://nft-dutyslip.pages.dev"
    }
  ],
  "paths": {
    "/agent.md": {
      "get": {
        "summary": "Agent guide (markdown)",
        "responses": {
          "200": {
            "description": "Markdown agent guide"
          }
        }
      }
    },
    "/llms.txt": {
      "get": {
        "summary": "LLM / agent discovery text",
        "responses": {
          "200": {
            "description": "Plaintext discovery doc"
          }
        }
      }
    },
    "/mint.json": {
      "get": {
        "summary": "On-chain mint manifest",
        "responses": {
          "200": {
            "description": "JSON mint facts + ABI fragments"
          }
        }
      }
    },
    "/.well-known/agent.json": {
      "get": {
        "summary": "Agent card",
        "responses": {
          "200": {
            "description": "JSON agent card"
          }
        }
      }
    },
    "/{tokenId}": {
      "get": {
        "summary": "ERC-721 metadata JSON",
        "parameters": [
          {
            "name": "tokenId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 10000
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Token metadata"
          },
          "404": {
            "description": "Out of range"
          }
        }
      }
    }
  }
}
