{"info":{"description":"给 Agent 和接入方调用。POST /api/v1/audits 每个客户端 IP 每 60 秒 1 次。轮询不计数。结果只留在内存 24 小时，不写入全站检测历史。省略 sections 或传 all 时跑全部板块，包含缓存。非 claude- 模型会跳过 thinking。只传 thinking 且模型不是 claude- 前缀时返回 400。总分只按本次选中的板块重算到 100。知识截止日期不进总分。","title":"掺水？公共检测 API","version":"v1"},"openapi":"3.1.0","paths":{"/api/v1":{"get":{"operationId":"getPublicMeta","responses":{"200":{"description":"Service metadata"}},"summary":"Rate limit, sections, and donated audit count"}},"/api/v1/audits":{"post":{"operationId":"createAudit","requestBody":{"content":{"application/json":{"schema":{"properties":{"api_key":{"type":"string"},"base_url":{"type":"string"},"model":{"type":"string"},"protocol":{"default":"auto","enum":["auto","chat","anthropic","openai"],"type":"string"},"sections":{"description":"Omit, all, or a list of section ids. all includes cache.","oneOf":[{"enum":["all"],"type":"string"},{"items":{"enum":["fingerprint","injection","cache","tools","web","knowledge","thinking","iq"],"type":"string"},"type":"array"}]},"timeout":{"default":360,"maximum":600,"minimum":10,"type":"integer"}},"required":["base_url","api_key","model"],"type":"object"}}},"required":true},"responses":{"202":{"description":"Accepted. Poll poll_url. No control token and no site history row."},"400":{"description":"Invalid body, model, or sections"},"429":{"description":"Rate limit or full queue. Retry-After is seconds."},"503":{"description":"Draining or counter unavailable"}},"summary":"Start one audit"}},"/api/v1/audits/{id}":{"get":{"operationId":"getAudit","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Current probes and verdict"},"404":{"description":"Unknown id, website job, or already dropped"},"410":{"description":"Older than 24 hours"}},"summary":"Poll one API audit"}},"/api/v1/openapi.json":{"get":{"operationId":"getOpenAPI","responses":{"200":{"description":"OpenAPI 3.1"}},"summary":"This document"}}},"servers":[{"url":"/"}]}
