{"openapi":"3.1.0","info":{"title":"AnswerReady API","version":"0.2.0","description":"Scan any public website against an evidence-backed AEO, GEO, and SEO rubric, then inspect every score contribution and validated PlatPhorm enrichment result. Scores use rubric 2026-07-11.1."},"servers":[{"url":"https://answerready.platphormnews.com"}],"tags":[{"name":"Scoring","description":"Evidence-backed public site scoring."},{"name":"Platform","description":"Health, documentation, rubric, and MCP discovery."}],"paths":{"/api/scan":{"post":{"tags":["Scoring"],"summary":"Scan a public website","description":"Fetch a bounded public page and discovery resources, score every criterion from evidence, and validate external PlatPhorm enrichment inputs and outputs.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["url"],"additionalProperties":false,"properties":{"url":{"type":"string","minLength":1,"maxLength":2048}}}}}},"responses":{"200":{"description":"Evidence-backed score","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"data":{"type":"object","required":["url","finalUrl","score","grade","rubricVersion","evidenceCount","scoreVerified","categories"],"properties":{"url":{"type":"string","format":"uri"},"finalUrl":{"type":"string","format":"uri"},"score":{"type":"integer","minimum":0,"maximum":100},"grade":{"type":"string","enum":["A","B","C","D","F"]},"rubricVersion":{"type":"string"},"evidenceCount":{"type":"integer","minimum":1},"scoreVerified":{"type":"boolean"},"categories":{"type":"array","items":{"type":"object","additionalProperties":true}}},"additionalProperties":true}}}}}},"400":{"description":"Invalid input"},"422":{"description":"Target could not be safely evaluated"},"429":{"description":"Rate limit exceeded"}}}},"/api/recent":{"get":{"tags":["Scoring"],"summary":"List recent persisted scans","responses":{"200":{"description":"Recent public scan summaries"}}}},"/api/rubric":{"get":{"tags":["Platform"],"summary":"Get the scoring rubric and evidence rules","responses":{"200":{"description":"Versioned 100-point rubric"}}}},"/api/health":{"get":{"tags":["Platform"],"summary":"Get public-safe health","responses":{"200":{"description":"Health summary"}}}},"/api/v1/health":{"get":{"tags":["Platform"],"summary":"Get versioned public-safe health","responses":{"200":{"description":"Health summary"}}}},"/api/docs":{"get":{"tags":["Platform"],"summary":"Get this OpenAPI document","responses":{"200":{"description":"OpenAPI JSON"}}}},"/api/mcp":{"get":{"tags":["Platform"],"summary":"Get MCP transport metadata","responses":{"200":{"description":"MCP metadata"}}},"post":{"tags":["Platform"],"summary":"Call the AnswerReady JSON-RPC MCP server","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":["object","array"]}}}},"responses":{"200":{"description":"JSON-RPC response or batch"}}}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Use PLATPHORM_API_KEY for future protected operations."},"platphormApiKey":{"type":"apiKey","in":"header","name":"X-PlatPhorm-API-Key","description":"Use PLATPHORM_API_KEY for future protected operations."}}}}