{"openapi":"3.1.0","info":{"title":"PrizeOps 黑客松情报开放 API","version":"1.0.0","description":"多源抓取的黑客松/赛事情报库（HackHQ + 观猹 watcha.cn 等）。原始情报非已核验赛历，报名前请核对官方页面；不承诺获奖概率。"},"servers":[{"url":"{baseUrl}","variables":{"baseUrl":{"default":"http://localhost:3000"}}}],"components":{"securitySchemes":{"BearerKey":{"type":"http","scheme":"bearer"},"ApiKeyHeader":{"type":"apiKey","in":"header","name":"X-API-Key"}},"schemas":{"Event":{"type":"object","properties":{"id":{"type":"string","description":"稳定 ID（name+deadline 哈希）"},"name":{"type":"string"},"host":{"type":"string"},"location":{"type":"string"},"format":{"type":"string","description":"online / offline / hybrid 等"},"prize":{"type":"string"},"deadline":{"type":"string","description":"YYYY-MM-DD，可能为空（未标明）"},"apply_url":{"type":"string"},"status":{"type":"string"},"source":{"type":"string","description":"HackHQ / Watcha / manual / seed"},"found_date":{"type":"string","format":"date"}}}}},"security":[{"BearerKey":[]},{"ApiKeyHeader":[]}],"paths":{"/api/open/v1/events":{"get":{"summary":"查询黑客松情报列表","parameters":[{"name":"q","in":"query","schema":{"type":"string"},"description":"关键词（名称/主办方/奖金/地点）"},{"name":"format","in":"query","schema":{"type":"string","enum":["online","offline","hybrid","all"]}},{"name":"source","in":"query","schema":{"type":"string"},"description":"HackHQ / Watcha / ..."},{"name":"deadline_after","in":"query","schema":{"type":"string","format":"date"}},{"name":"deadline_before","in":"query","schema":{"type":"string","format":"date"}},{"name":"limit","in":"query","schema":{"type":"integer","default":20},"description":"free 上限 10，pro 上限 100"},{"name":"offset","in":"query","schema":{"type":"integer","default":0}}],"responses":{"200":{"description":"情报列表","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"data":{"type":"array","items":{"$ref":"#/components/schemas/Event"}},"meta":{"type":"object"}}}}}},"401":{"description":"Key 无效"},"429":{"description":"超出当日配额"}}}},"/api/open/v1/events/{id}":{"get":{"summary":"单条赛事详情","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"详情（found=false 表示不存在）"}}}},"/api/open/v1/stats":{"get":{"summary":"赛事库概览统计","responses":{"200":{"description":"统计"}}}},"/api/open/v1/radar/refresh":{"post":{"summary":"触发一次多源在线抓取（仅 Pro，5 分钟节流）","responses":{"200":{"description":"抓取结果"},"403":{"description":"需要 Pro"},"429":{"description":"节流中"}}}}}}