{"openapi":"3.1.0","info":{"title":"赛事数据 API","description":"历史赛果/盘口 + 实时亚盘欧赔变动 + 竞彩/北单","version":"1.0.0"},"paths":{"/":{"get":{"summary":"Root","description":"落地页：卖点 + 定价 + 试用表单（浏览器打开就是官网）。","operationId":"root__get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/v1/signup":{"post":{"summary":"Signup Submit","description":"邮箱领取试用 Key（同一邮箱一个，同 IP 每天 3 个）。","operationId":"signup_submit_v1_signup_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"ApiKeyAuth":[]}]}},"/v1/me":{"get":{"summary":"Me","description":"查自己的套餐、今日用量、剩余额度。","operationId":"me_v1_me_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"ApiKeyAuth":[]}]}},"/admin":{"get":{"summary":"Admin Home","description":"老板后台首页：数据概览 + 所有入口。","operationId":"admin_home_admin_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/v1/admin/listing-material":{"get":{"summary":"Listing Material","description":"给自家工具调用：自动生成上架素材（标题/详情）。","operationId":"listing_material_v1_admin_listing_material_get","parameters":[{"name":"name","in":"query","required":true,"schema":{"type":"string","title":"Name"}},{"name":"price","in":"query","required":false,"schema":{"type":"string","default":"88","title":"Price"}},{"name":"kind","in":"query","required":false,"schema":{"type":"string","default":"api","title":"Kind"}},{"name":"points","in":"query","required":false,"schema":{"type":"string","default":"","title":"Points"}},{"name":"ship","in":"query","required":false,"schema":{"type":"string","default":"","title":"Ship"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/listing":{"get":{"summary":"Admin Listing","description":"商品素材生成：标题/详情/4 张主图。","operationId":"admin_listing_admin_listing_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/admin/customers":{"get":{"summary":"Admin Customers","description":"客户管理：谁买了、用什么订单号、Key 是什么、到期没。","operationId":"admin_customers_admin_customers_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/admin/new":{"get":{"summary":"Admin Page","description":"老板用的开通页（需要 admin key 在 URL 上）。","operationId":"admin_page_admin_new_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/v1/admin/redeem":{"get":{"summary":"Admin Redeem","description":"后台开通/续期（admin）：按邮箱发付费 Key。","operationId":"admin_redeem_v1_admin_redeem_get","parameters":[{"name":"email","in":"query","required":true,"schema":{"type":"string","title":"Email"}},{"name":"plan","in":"query","required":false,"schema":{"type":"string","default":"pro","title":"Plan"}},{"name":"days","in":"query","required":false,"schema":{"type":"integer","default":30,"title":"Days"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/grant":{"get":{"summary":"Admin Grant","description":"给客户开通/续期（admin）：设置套餐、每日额度、到期时间。","operationId":"admin_grant_v1_admin_grant_get","parameters":[{"name":"key","in":"query","required":true,"schema":{"type":"string","title":"Key"}},{"name":"days","in":"query","required":false,"schema":{"type":"integer","default":30,"title":"Days"}},{"name":"quota","in":"query","required":false,"schema":{"type":"integer","default":5000,"title":"Quota"}},{"name":"tier","in":"query","required":false,"schema":{"type":"string","default":"basic","title":"Tier"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/health":{"get":{"summary":"Health","operationId":"health_v1_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"ApiKeyAuth":[]}]}},"/v1/matches":{"get":{"summary":"List Matches","operationId":"list_matches_v1_matches_get","parameters":[{"name":"date","in":"query","required":false,"schema":{"type":"string","default":"","title":"Date"}},{"name":"league","in":"query","required":false,"schema":{"type":"string","default":"","title":"League"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"default":100,"title":"Limit"}},{"name":"only_priced","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Only Priced"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/v1/matches/{match_id}":{"get":{"summary":"Match Detail","operationId":"match_detail_v1_matches__match_id__get","parameters":[{"name":"match_id","in":"path","required":true,"schema":{"type":"string","title":"Match Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/v1/matches/{match_id}/odds":{"get":{"summary":"Match Odds","operationId":"match_odds_v1_matches__match_id__odds_get","parameters":[{"name":"match_id","in":"path","required":true,"schema":{"type":"string","title":"Match Id"}},{"name":"market","in":"query","required":false,"schema":{"type":"string","default":"","title":"Market"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/v1/odds/changes":{"get":{"summary":"Odds Changes","operationId":"odds_changes_v1_odds_changes_get","parameters":[{"name":"since","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Since"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"default":200,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/v1/teams/{team}/form":{"get":{"summary":"Team Form","operationId":"team_form_v1_teams__team__form_get","parameters":[{"name":"team","in":"path","required":true,"schema":{"type":"string","title":"Team"}},{"name":"last","in":"query","required":false,"schema":{"type":"integer","maximum":50,"default":10,"title":"Last"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/v1/h2h":{"get":{"summary":"H2H","operationId":"h2h_v1_h2h_get","parameters":[{"name":"home","in":"query","required":true,"schema":{"type":"string","title":"Home"}},{"name":"away","in":"query","required":true,"schema":{"type":"string","title":"Away"}},{"name":"last","in":"query","required":false,"schema":{"type":"integer","maximum":50,"default":10,"title":"Last"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/v1/jc/matches":{"get":{"summary":"Jc Matches","operationId":"jc_matches_v1_jc_matches_get","parameters":[{"name":"date","in":"query","required":false,"schema":{"type":"string","default":"","title":"Date"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/v1/bjdc/matches":{"get":{"summary":"Bjdc Matches","operationId":"bjdc_matches_v1_bjdc_matches_get","parameters":[{"name":"date","in":"query","required":false,"schema":{"type":"string","default":"","title":"Date"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/v1/admin/stats":{"get":{"summary":"Admin Stats","operationId":"admin_stats_v1_admin_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/admin/test_push":{"get":{"summary":"Admin Test Push","description":"给已连接的 WebSocket 客户推一条测试事件（联调用，不入库）。","operationId":"admin_test_push_v1_admin_test_push_get","parameters":[{"name":"match_id","in":"query","required":false,"schema":{"type":"string","default":"demo:1","title":"Match Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/sync":{"get":{"summary":"Admin Sync","description":"立即同步竞彩/北单赛程（admin，联调/补数据用）。","operationId":"admin_sync_v1_admin_sync_get","parameters":[{"name":"date","in":"query","required":false,"schema":{"type":"string","default":"","title":"Date"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/bz/coverage":{"get":{"summary":"Bz Coverage","operationId":"bz_coverage_v1_bz_coverage_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"ApiKeyAuth":[]}]}},"/v1/bz/leagues":{"get":{"summary":"Bz Leagues","operationId":"bz_leagues_v1_bz_leagues_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"default":100,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/v1/bz/events":{"get":{"summary":"Bz Events","operationId":"bz_events_v1_bz_events_get","parameters":[{"name":"date_from","in":"query","required":false,"schema":{"type":"string","default":"","title":"Date From"}},{"name":"date_to","in":"query","required":false,"schema":{"type":"string","default":"","title":"Date To"}},{"name":"league_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"League Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"default":100,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/v1/bz/live":{"get":{"summary":"Bz Live","operationId":"bz_live_v1_bz_live_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"ApiKeyAuth":[]}]}},"/v1/bz/events/{event_id}":{"get":{"summary":"Bz Event","operationId":"bz_event_v1_bz_events__event_id__get","parameters":[{"name":"event_id","in":"path","required":true,"schema":{"type":"integer","title":"Event Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/v1/bz/events/{event_id}/lineups":{"get":{"summary":"Bz Lineups","operationId":"bz_lineups_v1_bz_events__event_id__lineups_get","parameters":[{"name":"event_id","in":"path","required":true,"schema":{"type":"integer","title":"Event Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/v1/bz/events/{event_id}/injuries":{"get":{"summary":"Bz Injuries","operationId":"bz_injuries_v1_bz_events__event_id__injuries_get","parameters":[{"name":"event_id","in":"path","required":true,"schema":{"type":"integer","title":"Event Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/v1/bz/events/{event_id}/odds":{"get":{"summary":"Bz Odds","operationId":"bz_odds_v1_bz_events__event_id__odds_get","parameters":[{"name":"event_id","in":"path","required":true,"schema":{"type":"integer","title":"Event Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/v1/bz/events/{event_id}/bookmaker-odds":{"get":{"summary":"Bz Bookmaker Odds","operationId":"bz_bookmaker_odds_v1_bz_events__event_id__bookmaker_odds_get","parameters":[{"name":"event_id","in":"path","required":true,"schema":{"type":"integer","title":"Event Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"default":200,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/v1/bz/events/{event_id}/analysis":{"get":{"summary":"Bz Analysis","description":"分析视图：主盘亚盘、主盘大小球、交锋明细、主客近期战绩。","operationId":"bz_analysis_v1_bz_events__event_id__analysis_get","parameters":[{"name":"event_id","in":"path","required":true,"schema":{"type":"integer","title":"Event Id"}},{"name":"h2h","in":"query","required":false,"schema":{"type":"integer","maximum":20,"default":6,"title":"H2H"}},{"name":"form","in":"query","required":false,"schema":{"type":"integer","maximum":20,"default":5,"title":"Form"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/v1/bz/events/{event_id}/odds-full":{"get":{"summary":"Bz Odds Full","description":"一次拿全：胜平负（主/平/客）+ 亚盘 + 大小球，按公司一行。","operationId":"bz_odds_full_v1_bz_events__event_id__odds_full_get","parameters":[{"name":"event_id","in":"path","required":true,"schema":{"type":"integer","title":"Event Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/v1/bz/events/{event_id}/odds-table":{"get":{"summary":"Bz Odds Table","description":"赔率透视表：一家公司一行，主/平/客（或大/小）齐全。","operationId":"bz_odds_table_v1_bz_events__event_id__odds_table_get","parameters":[{"name":"event_id","in":"path","required":true,"schema":{"type":"integer","title":"Event Id"}},{"name":"market","in":"query","required":false,"schema":{"type":"string","default":"1x2","title":"Market"}},{"name":"line","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Line"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/v1/bz/events/{event_id}/stats":{"get":{"summary":"Bz Stats","operationId":"bz_stats_v1_bz_events__event_id__stats_get","parameters":[{"name":"event_id","in":"path","required":true,"schema":{"type":"integer","title":"Event Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/v1/bz/events/{event_id}/h2h":{"get":{"summary":"Bz H2H","operationId":"bz_h2h_v1_bz_events__event_id__h2h_get","parameters":[{"name":"event_id","in":"path","required":true,"schema":{"type":"integer","title":"Event Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/v1/admin/bjdc-link":{"get":{"summary":"Admin Bjdc Link","description":"跑一次北单 → 球探 sid 对齐（admin）。","operationId":"admin_bjdc_link_v1_admin_bjdc_link_get","parameters":[{"name":"date","in":"query","required":false,"schema":{"type":"string","default":"","title":"Date"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/bjdc-learn":{"get":{"summary":"Admin Bjdc Learn","description":"给已对齐的北单场次学英文队名（admin，慢，每场约 3 秒）。","operationId":"admin_bjdc_learn_v1_admin_bjdc_learn_get","parameters":[{"name":"date","in":"query","required":false,"schema":{"type":"string","default":"","title":"Date"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":80,"default":20,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/bjdc-unlinked":{"get":{"summary":"Admin Bjdc Unlinked","description":"还没连上球探 sid 的北单场次（人工核对/补别名用）。","operationId":"admin_bjdc_unlinked_v1_admin_bjdc_unlinked_get","parameters":[{"name":"date","in":"query","required":false,"schema":{"type":"string","default":"","title":"Date"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/alias/stats":{"get":{"summary":"Alias Stats","operationId":"alias_stats_v1_alias_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"ApiKeyAuth":[]}]}},"/v1/alias/lookup":{"get":{"summary":"Alias Lookup","operationId":"alias_lookup_v1_alias_lookup_get","parameters":[{"name":"en","in":"query","required":true,"schema":{"type":"string","title":"En"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/v1/alias/learn":{"get":{"summary":"Alias Learn","operationId":"alias_learn_v1_alias_learn_get","parameters":[{"name":"cn","in":"query","required":true,"schema":{"type":"string","title":"Cn"}},{"name":"en","in":"query","required":true,"schema":{"type":"string","title":"En"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/v1/ingest":{"post":{"summary":"Ingest","description":"本机采集器上传真实亚盘/大小球（admin 权限）。","operationId":"ingest_v1_ingest_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"ApiKeyAuth":[]}]}},"/v1/cn/odds":{"get":{"summary":"Cn Odds","description":"中国盘口数据（本机采集上传的真实亚盘/大小球）。","operationId":"cn_odds_v1_cn_odds_get","parameters":[{"name":"date","in":"query","required":false,"schema":{"type":"string","default":"","title":"Date"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"default":200,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/v1/admin/cn-stats":{"get":{"summary":"Cn Stats","operationId":"cn_stats_v1_admin_cn_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/wom/events":{"get":{"summary":"Wom Events","operationId":"wom_events_v1_wom_events_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/v1/wom/events/{event_id}":{"get":{"summary":"Wom Event","operationId":"wom_event_v1_wom_events__event_id__get","parameters":[{"name":"event_id","in":"path","required":true,"schema":{"type":"integer","title":"Event Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/v1/wom/markets":{"get":{"summary":"Wom Markets","operationId":"wom_markets_v1_wom_markets_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"ApiKeyAuth":[]}]}},"/ai":{"get":{"summary":"Ai Page","description":"让 AI 直接调用：MCP 配置 + Function Calling 工具定义。","operationId":"ai_page_ai_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/v1/ai/tools":{"get":{"summary":"Ai Tools","description":"OpenAI / Dify / Coze 通用的 function-calling 工具定义（无需 Key）。","operationId":"ai_tools_v1_ai_tools_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/download/mcp_server.py":{"get":{"summary":"Download Mcp","description":"下载 MCP 服务器脚本。","operationId":"download_mcp_download_mcp_server_py_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"ApiKeyAuth":[]}]}},"/qr/{key}.png":{"get":{"summary":"Qr Png","description":"把「一个链接」生成二维码，买家扫码即可打开。","operationId":"qr_png_qr__key__png_get","parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string","title":"Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/k/{key}":{"get":{"summary":"One Link","description":"一个链接搞定：复制 AI 指令 / MCP 地址 / 全部接口链接。","operationId":"one_link_k__key__get","parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string","title":"Key"}}],"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/start":{"get":{"summary":"Start Page","description":"我的接口：一键复制全部链接 + AI 提示词（按套餐分档）。","operationId":"start_page_start_get","parameters":[{"name":"key","in":"query","required":false,"schema":{"type":"string","default":"","title":"Key"}}],"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/guide":{"get":{"summary":"Guide Page","description":"使用指南：拿到 Key 之后怎么用。","operationId":"guide_page_guide_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/console":{"get":{"summary":"Console Page","description":"在线调试台：不写代码也能取数据。","operationId":"console_page_console_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/redeem":{"get":{"summary":"Redeem Page","description":"买家自助提货页：输兑换码 + 邮箱 → 出 Key / 网盘链接。","operationId":"redeem_page_redeem_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/v1/redeem":{"post":{"summary":"Redeem Submit","operationId":"redeem_submit_v1_redeem_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"ApiKeyAuth":[]}]}},"/admin/shop":{"get":{"summary":"Admin Shop","description":"后台：商品 / 兑换码 / 订单。","operationId":"admin_shop_admin_shop_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/v1/admin/goods":{"post":{"summary":"Admin Goods","operationId":"admin_goods_v1_admin_goods_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/admin/codes":{"get":{"summary":"Admin Codes","operationId":"admin_codes_v1_admin_codes_get","parameters":[{"name":"sku","in":"query","required":true,"schema":{"type":"string","title":"Sku"}},{"name":"count","in":"query","required":false,"schema":{"type":"integer","default":10,"title":"Count"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/deliver":{"post":{"summary":"Deliver Order","description":"给外部工具用的自动发货接口（幂等）。","operationId":"deliver_order_v1_deliver_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/admin/orders":{"get":{"summary":"Admin Orders","operationId":"admin_orders_v1_admin_orders_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/verify-order":{"post":{"summary":"Admin Verify Order","description":"对账：ok=0 作废该订单发出的 Key。","operationId":"admin_verify_order_v1_admin_verify_order_post","parameters":[{"name":"order_id","in":"query","required":true,"schema":{"type":"string","title":"Order Id"}},{"name":"ok","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Ok"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/shop-stats":{"get":{"summary":"Admin Shop Stats","operationId":"admin_shop_stats_v1_admin_shop_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}}},"components":{"schemas":{"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"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"}},"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"X-API-Key"}}}}