API 有效性报告¶
生成时间:2026-05-02T15:06:47+00:00
核验状态:通过
本报告从同一份 docs-owned inventory 生成,核对源码 route decorator/registration、Markdown anchor、OpenAPI operation 和端点提及规则。它不修改后端 API 行为,也不会对写入型 API 做盲目 live 调用。
摘要¶
| 指标 | 数值 |
|---|---|
| Coverage entries | 49 |
| OpenAPI operations | 46 |
| Docs endpoint mentions matched | 141 |
| Docs endpoint mentions unmatched | 0 |
状态分布¶
| 状态 | 数量 |
|---|---|
enterprise |
9 |
excluded |
3 |
public |
37 |
反向验证规则¶
- Exact METHOD /path mentions map directly to coverage.
- GET /report/* is treated as a group alias for concrete report routes, not a runtime route.
- Parameter aliases such as {id} are normalized by route-template shape when the method/path is unambiguous.
- GET /ui and GET /ui/{path:path} map to excluded dashboard static routes.
- Duplicate GET /health is service-disambiguated: API pages default to gateway; webhooks.md maps webhook health.
端点核验矩阵¶
| Service | Method | Path | Status | Source line | Markdown | OpenAPI | Runtime check |
|---|---|---|---|---|---|---|---|
| gateway | POST |
/ahp |
public |
src/clawsentry/gateway/server.py:3541 |
yes | yes | contract-verified |
| gateway | POST |
/ahp/a3s |
public |
src/clawsentry/gateway/server.py:3639 |
yes | yes | contract-verified |
| gateway | POST |
/ahp/codex |
public |
src/clawsentry/gateway/server.py:3673 |
yes | yes | contract-verified |
| gateway | POST |
/ahp/adapter-effect-result |
public |
src/clawsentry/gateway/server.py:3562 |
yes | yes | contract-verified |
| gateway | POST |
/ahp/scope/preview |
public |
src/clawsentry/gateway/server.py:3591 |
yes | yes | contract-verified |
| stack | POST |
/ahp/resolve |
public |
src/clawsentry/gateway/stack.py:207 |
yes | yes | contract-verified |
| gateway | GET |
/health |
public |
src/clawsentry/gateway/server.py:3712 |
yes | yes | contract-verified |
| gateway | GET |
/metrics |
public |
src/clawsentry/gateway/server.py:3726 |
yes | yes | contract-verified |
| gateway | GET |
/report/summary |
public |
src/clawsentry/gateway/server.py:3738 |
yes | yes | contract-verified |
| gateway | GET |
/report/stream |
public |
src/clawsentry/gateway/server.py:3780 |
yes | yes | contract-verified |
| gateway | GET |
/report/sessions |
public |
src/clawsentry/gateway/server.py:3894 |
yes | yes | contract-verified |
| gateway | GET |
/report/session/{session_id}/risk |
public |
src/clawsentry/gateway/server.py:3988 |
yes | yes | contract-verified |
| gateway | GET |
/report/session/{session_id}/post-action |
public |
src/clawsentry/gateway/server.py:4011 |
yes | yes | contract-verified |
| gateway | GET |
/report/session/{session_id} |
public |
src/clawsentry/gateway/server.py:4446 |
yes | yes | contract-verified |
| gateway | GET |
/report/session/{session_id}/page |
public |
src/clawsentry/gateway/server.py:4494 |
yes | yes | contract-verified |
| gateway | GET |
/report/alerts |
public |
src/clawsentry/gateway/server.py:4558 |
yes | yes | contract-verified |
| gateway | POST |
/report/alerts/{alert_id}/acknowledge |
public |
src/clawsentry/gateway/server.py:4641 |
yes | yes | contract-verified |
| gateway | GET |
/report/session/{session_id}/enforcement |
public |
src/clawsentry/gateway/server.py:4665 |
yes | yes | contract-verified |
| gateway | POST |
/report/session/{session_id}/enforcement |
public |
src/clawsentry/gateway/server.py:4672 |
yes | yes | contract-verified |
| gateway | GET |
/report/session/{session_id}/quarantine |
public |
src/clawsentry/gateway/server.py:4709 |
yes | yes | contract-verified |
| gateway | POST |
/report/session/{session_id}/quarantine |
public |
src/clawsentry/gateway/server.py:4719 |
yes | yes | contract-verified |
| gateway | GET |
/ahp/patterns |
public |
src/clawsentry/gateway/server.py:4764 |
yes | yes | contract-verified |
| gateway | POST |
/ahp/patterns/confirm |
public |
src/clawsentry/gateway/server.py:4778 |
yes | yes | contract-verified |
| openclaw-webhook | POST |
/webhook/openclaw |
public |
src/clawsentry/adapters/openclaw_webhook_receiver.py:45 |
yes | yes | contract-verified |
| gateway | POST |
/report/session/{session_id}/l3-advisory/snapshots |
public |
src/clawsentry/gateway/server.py:4034 |
yes | yes | contract-verified |
| gateway | GET |
/report/session/{session_id}/l3-advisory/snapshots |
public |
src/clawsentry/gateway/server.py:4074 |
yes | yes | contract-verified |
| gateway | GET |
/report/l3-advisory/snapshot/{snapshot_id} |
public |
src/clawsentry/gateway/server.py:4087 |
yes | yes | contract-verified |
| gateway | GET |
/report/l3-advisory/jobs |
public |
src/clawsentry/gateway/server.py:4107 |
yes | yes | contract-verified |
| gateway | POST |
/report/l3-advisory/jobs/run-next |
public |
src/clawsentry/gateway/server.py:4130 |
yes | yes | contract-verified |
| gateway | POST |
/report/l3-advisory/jobs/drain |
public |
src/clawsentry/gateway/server.py:4157 |
yes | yes | contract-verified |
| gateway | POST |
/report/l3-advisory/snapshot/{snapshot_id}/jobs |
public |
src/clawsentry/gateway/server.py:4185 |
yes | yes | contract-verified |
| gateway | POST |
/report/l3-advisory/reviews |
public |
src/clawsentry/gateway/server.py:4208 |
yes | yes | contract-verified |
| gateway | PATCH |
/report/l3-advisory/review/{review_id} |
public |
src/clawsentry/gateway/server.py:4257 |
yes | yes | contract-verified |
| gateway | POST |
/report/l3-advisory/snapshot/{snapshot_id}/run-local-review |
public |
src/clawsentry/gateway/server.py:4314 |
yes | yes | contract-verified |
| gateway | POST |
/report/l3-advisory/job/{job_id}/run-local |
public |
src/clawsentry/gateway/server.py:4333 |
yes | yes | contract-verified |
| gateway | POST |
/report/l3-advisory/job/{job_id}/run-worker |
public |
src/clawsentry/gateway/server.py:4352 |
yes | yes | contract-verified |
| gateway | POST |
/report/session/{session_id}/l3-advisory/full-review |
public |
src/clawsentry/gateway/server.py:4377 |
yes | yes | contract-verified |
| gateway-enterprise | GET |
/enterprise/health |
enterprise |
src/clawsentry/gateway/server.py:3716 |
yes | yes | contract-verified |
| gateway-enterprise | GET |
/enterprise/report/summary |
enterprise |
src/clawsentry/gateway/server.py:3751 |
yes | yes | contract-verified |
| gateway-enterprise | GET |
/enterprise/report/live |
enterprise |
src/clawsentry/gateway/server.py:3771 |
yes | yes | contract-verified |
| gateway-enterprise | GET |
/enterprise/report/stream |
enterprise |
src/clawsentry/gateway/server.py:3838 |
yes | yes | contract-verified |
| gateway-enterprise | GET |
/enterprise/report/sessions |
enterprise |
src/clawsentry/gateway/server.py:3939 |
yes | yes | contract-verified |
| gateway-enterprise | GET |
/enterprise/report/session/{session_id}/risk |
enterprise |
src/clawsentry/gateway/server.py:4420 |
yes | yes | contract-verified |
| gateway-enterprise | GET |
/enterprise/report/session/{session_id} |
enterprise |
src/clawsentry/gateway/server.py:4469 |
yes | yes | contract-verified |
| gateway-enterprise | GET |
/enterprise/report/session/{session_id}/page |
enterprise |
src/clawsentry/gateway/server.py:4525 |
yes | yes | contract-verified |
| gateway-enterprise | GET |
/enterprise/report/alerts |
enterprise |
src/clawsentry/gateway/server.py:4598 |
yes | yes | contract-verified |
| gateway-ui | GET |
/ui |
excluded |
src/clawsentry/gateway/server.py:4845 |
yes | yes | excluded-from-reference |
| gateway-ui | GET |
/ui/{path:path} |
excluded |
src/clawsentry/gateway/server.py:4834 |
yes | yes | excluded-from-reference |
| openclaw-webhook | GET |
/health |
excluded |
src/clawsentry/adapters/openclaw_webhook_receiver.py:41 |
yes | yes | excluded-from-reference |
复跑命令¶
python scripts/docs_api_inventory.py validate
python scripts/docs_api_inventory.py report --output-dir .omx/reports --docs-output site-docs/api
机器可读副本:api-validity.json。