{"name": "agentwire", "api_version": "2.0", "description": "bias-mapped, source-rated, corroboration-scored, clustered news", "positioning": "pre-reasoned event infrastructure for agents", "auth": {"scheme": "bearer", "header": "Authorization: Bearer <key>", "also_accepted": ["X-API-Key: <key>", "?key=<key>"], "notes": "keys are SHA256-hashed at rest and never logged in full; keyless access is allowed only while no keys exist; mint with keygen.py --label"}, "capabilities": ["clustered-news", "coverage-bias-distribution", "source-ratings", "corroboration-signals", "state-change-events", "cursor-heartbeat", "category-filter"], "cursor_contract": {"cursor": "integer sequence position; ?cursor=N returns events N+1..M in seq order plus next_cursor=M", "delivery": "at-least-once with idempotent replay; the client advances only after processing a batch", "retention": "last 50000 events; older cursors get resync:true"}, "endpoints": [{"path": "/v2/wire", "method": "GET", "params": ["cursor", "since", "min_legs", "category", "limit"], "desc": "clusters + state-change events since cursor"}, {"path": "/v2/health", "method": "GET", "desc": "liveness probe, minimal output"}, {"path": "/.well-known/agentwire.json", "method": "GET", "desc": "this machine manual"}, {"path": "/wire", "method": "GET", "desc": "v1 compatibility endpoint"}]}