{"info":{"description":"Public AI agent readiness scores with history.","title":"AI Site Scorer API","version":"0.1.0"},"openapi":"3.1.0","paths":{"/api/v1/analyze":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"csrf":{"type":"string"},"pow_challenge":{"type":"string"},"pow_nonce":{"type":"string"},"url":{"type":"string"}},"required":["url","csrf","pow_challenge","pow_nonce"],"type":"object"}}},"required":true},"summary":"Full fresh scan"}},"/api/v1/challenge":{"get":{"summary":"Issue CSRF + light PoW challenge for public analyze"}},"/api/v1/compare":{"get":{"parameters":[{"in":"query","name":"a","required":true,"schema":{"type":"string"}},{"in":"query","name":"b","required":true,"schema":{"type":"string"}}],"summary":"Compare two domains"}},"/api/v1/config":{"get":{"summary":"Public pricing CTA (static Stripe Payment Links)"}},"/api/v1/health":{"get":{"responses":{"200":{"description":"OK"}},"summary":"Liveness"}},"/api/v1/history/{domain}":{"get":{"summary":"Score history"}},"/api/v1/metrics":{"get":{"summary":"Prometheus metrics"}},"/api/v1/payment/claim":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"domain":{"type":"string"},"email":{"type":"string"},"session_id":{"type":"string"}},"required":["session_id","domain"],"type":"object"}}},"required":true},"summary":"Attach the audit domain to a paid session (write-once)"}},"/api/v1/payment/status":{"get":{"parameters":[{"in":"query","name":"session_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Payment and fulfillment state"},"503":{"description":"Verification not configured (no STRIPE_SECRET_KEY)"}},"summary":"Verify a Stripe Checkout Session and report fulfillment progress"}},"/api/v1/payment/stripe/webhook":{"post":{"summary":"Stripe webhook → private scan + emailed report (backup path)"}},"/api/v1/ready":{"get":{"responses":{"200":{"description":"Ready"},"503":{"description":"Not ready"}},"summary":"Readiness (DB)"}},"/api/v1/score/{domain}":{"get":{"summary":"Public score"}},"/mcp":{"post":{"summary":"MCP JSON-RPC (get_score)"}}}}