{"openapi":"3.0.3","info":{"title":"AI Crawl Observatory API","version":"1.0.0","description":"Public observability demo for lane-based AI crawler access and x402 export gating. Summary, overview, and policy endpoints are free for everyone. The export endpoint applies x402 payment for charge bots only.","contact":{"name":"VNL Works","url":"https://vnlworks.com"}},"servers":[{"url":"https://vnlworks.com"}],"paths":{"/api/labs/ai-crawl-observatory/summary":{"get":{"summary":"Public aggregate summary (free)","operationId":"getSummary","parameters":[{"name":"days","in":"query","schema":{"type":"integer","minimum":1,"maximum":90,"default":30},"description":"Number of days to include in the summary."}],"responses":{"200":{"description":"Aggregate summary of AI crawler activity.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/labs/ai-crawl-observatory/overview":{"get":{"summary":"Observability overview (free)","operationId":"getOverview","parameters":[{"name":"days","in":"query","schema":{"type":"integer","minimum":1,"maximum":90,"default":30},"description":"Number of days to include."}],"responses":{"200":{"description":"Overview with metrics, discovery links, and privacy posture.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/labs/ai-crawl-observatory/policy":{"get":{"summary":"Machine-readable crawler policy (free)","operationId":"getPolicy","responses":{"200":{"description":"Crawler classification policy with lanes, routes, and payment info.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/labs/ai-crawl-observatory/export":{"get":{"summary":"Daily aggregate export (x402 for charge bots)","operationId":"getExport","description":"Returns a CSV export of daily crawler aggregates. Free for humans, search bots, and assistant bots. Training and collection bots receive a 402 Payment Required response with x402 payment metadata.","parameters":[{"name":"days","in":"query","schema":{"type":"integer","minimum":1,"maximum":90,"default":30},"description":"Number of days to export."}],"responses":{"200":{"description":"CSV export of daily crawler aggregates.","content":{"text/csv":{"schema":{"type":"string"}}}},"402":{"description":"Payment Required — returned to charge bots when x402 is enabled.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"paymentRequired":{"type":"object","properties":{"network":{"type":"string","example":"eip155:8453"},"currency":{"type":"string","example":"USDC"},"amount":{"type":"string","example":"$0.10"}}}}}}}}}}}}}