{"name":"Agent Web Index API","version":"1.0.0","authentication":"none","openapi":"https://shop.lumnika.com/ai-readiness/openapi.json","mcp":"https://shop.lumnika.com/ai-readiness/mcp","docs":"https://shop.lumnika.com/ai-readiness/","endpoints":[{"url":"https://shop.lumnika.com/ai-readiness/api/v1/domain_readiness","description":"Can AI assistants actually read this domain? Returns the measured readiness score, the per-crawler verdict (served / blocked in robots.txt / refused by the edge despite robots.txt allowing it), and which edge vendor answers for the host. Measured with real HTTP requests, not guessed from robots.txt alone. Google-Extended and Applebot-Extended are robots.txt tokens, not crawlers: they are flagged robotsOnly, carry no server verdict, and are excluded from every count about what the server did. Also returns `fixes`: the ordered, domain-specific list of what to change to let the blocked crawlers in, separating what is written in the site own robots.txt from what the CDN/WAF applies on top of it.","parameters":["host"]},{"url":"https://shop.lumnika.com/ai-readiness/api/v1/web_openness","description":"How much of the most-visited web is readable by AI assistants right now: the share of measured domains that block at least one AI crawler, and the served / robots-blocked / edge-blocked breakdown per crawler.","parameters":[]},{"url":"https://shop.lumnika.com/ai-readiness/api/v1/edge_blocking","description":"Who is actually doing the blocking: for each CDN/WAF vendor, the share of (domain x crawler) pairs that robots.txt ALLOWS and the server refuses anyway — i.e. how much of the blocking is an infrastructure default rather than a decision the site owner made. Each vendor also comes broken down per crawler, which separates a blanket wall (same rate for every crawler) from a managed block list that names some AI user-agents and not others.","parameters":["limit"]},{"url":"https://shop.lumnika.com/ai-readiness/api/v1/recent_changes","description":"What CHANGED: the domains that recently started or stopped blocking a specific AI crawler, with the day the flip was observed and whether it happened in robots.txt or at the edge. This cannot be reconstructed after the fact from any public source — it exists only because the index made the same requests the day before and the day after. Use it to answer 'who just blocked/unblocked ChatGPT, Claude, Perplexity...' or to watch one domain over time.","parameters":["days","host","limit"]},{"url":"https://shop.lumnika.com/ai-readiness/api/v1/measure_domain","description":"Measure a domain RIGHT NOW instead of reading the archive: 9 real HTTP requests, one from a browser user-agent and one per AI crawler user-agent, plus robots.txt / llms.txt / sitemap. Use it for any site the index has not reached yet, or when the caller wants a fresh verdict after changing robots.txt or a WAF rule. Returns the same `fixes` list as domain_readiness, derived from the fresh measurement.","parameters":["host","force"]}]}