{
  "ok": true,
  "service": "stock-index-server",
  "runtime": "node",
  "apiVersion": "v1",
  "basePath": "/api/v1",
  "publicHost": "https://stock-index.cuishushu.com",
  "markets": [
    "CN",
    "HK",
    "US"
  ],
  "assetTypes": [
    "equity",
    "etf"
  ],
  "boards": {
    "CN": [
      "etf",
      "hsj",
      "cyb",
      "kcb"
    ],
    "HK": [
      "MB",
      "GEM",
      "AH",
      "MBHSCEI",
      "MBHSCCI"
    ],
    "US": [
      "tec",
      "cdr"
    ]
  },
  "conventions": {
    "pagination": {
      "page": "从 1 开始",
      "pageSize": "默认 50，最大 100",
      "aliases": [
        "limit"
      ]
    },
    "instrumentId": "{MARKET}:{VENUE}.{CODE}，如 CN:SH.600519",
    "auth": "公开接口无需鉴权；/admin/sync 需 Bearer SYNC_ADMIN_TOKEN",
    "publicHost": "环境变量 PUBLIC_HOST，公网访问根 URL（不含端口路径）",
    "openapi": "/openapi/",
    "openapiSpec": "/openapi/openapi.yaml",
    "agentSkill": "/skills/stock-index-query/SKILL.md"
  },
  "docs": {
    "stock": {
      "detail": {
        "method": "GET",
        "path": "/api/v1/stock",
        "params": [
          "code",
          "instrumentId",
          "symbol",
          "market"
        ]
      },
      "list": {
        "method": "GET",
        "path": "/api/v1/stocks",
        "params": [
          "page",
          "pageSize",
          "market",
          "board",
          "industry",
          "assetType",
          "q"
        ]
      }
    },
    "etf": {
      "list": {
        "method": "GET",
        "path": "/api/v1/etfs",
        "params": [
          "page",
          "pageSize",
          "q"
        ],
        "note": "A股 ETF/LOF，assetType=etf"
      }
    },
    "board": {
      "list": {
        "method": "GET",
        "path": "/api/v1/boards",
        "params": [
          "market",
          "withCount"
        ]
      },
      "detail": {
        "method": "GET",
        "path": "/api/v1/boards/detail",
        "params": [
          "board",
          "market"
        ]
      },
      "stocks": {
        "method": "GET",
        "path": "/api/v1/boards/stocks",
        "params": [
          "board",
          "market",
          "page",
          "pageSize",
          "q",
          "assetType"
        ]
      }
    },
    "industry": {
      "list": {
        "method": "GET",
        "path": "/api/v1/industries",
        "params": [
          "market",
          "level",
          "q",
          "parent",
          "withCount"
        ]
      },
      "detail": {
        "method": "GET",
        "path": "/api/v1/industries/detail",
        "params": [
          "code"
        ]
      },
      "stocks": {
        "method": "GET",
        "path": "/api/v1/industries/stocks",
        "params": [
          "code",
          "page",
          "pageSize",
          "q"
        ]
      }
    },
    "search": {
      "method": "GET",
      "path": "/api/v1/search",
      "params": [
        "q",
        "limit",
        "market",
        "board",
        "industry",
        "assetType"
      ]
    },
    "stats": {
      "method": "GET",
      "path": "/api/v1/stats"
    },
    "sync": {
      "method": "POST",
      "path": "/api/v1/admin/sync",
      "auth": true,
      "params": [
        "mode",
        "market",
        "force",
        "cancel",
        "continue",
        "jobId",
        "enrichIndustry"
      ]
    }
  },
  "endpoints": {
    "health": "GET /api/v1/health",
    "stats": "GET /api/v1/stats",
    "stock": "GET /api/v1/stock?code=600519&market=CN",
    "stocks": "GET /api/v1/stocks?market=CN&board=cyb&page=1&pageSize=50",
    "etfs": "GET /api/v1/etfs?q=红利&page=1&pageSize=50",
    "search": "GET /api/v1/search?q=510300&assetType=etf",
    "boards": "GET /api/v1/boards?market=CN&withCount=1",
    "boardDetail": "GET /api/v1/boards/detail?board=cyb&market=CN",
    "boardStocks": "GET /api/v1/boards/stocks?board=cyb&market=CN&page=1&pageSize=50",
    "industries": "GET /api/v1/industries?market=CN&level=1&withCount=1",
    "industryDetail": "GET /api/v1/industries/detail?code=pt01801120",
    "industryStocks": "GET /api/v1/industries/stocks?code=pt01801120&page=1&pageSize=50",
    "sync": "POST /api/v1/admin/sync?mode=full"
  }
}