{"openapi":"3.0.3","info":{"title":"GEO Article Audit API","version":"v1 (scoring 1.0.0)","description":"GEO Article Audit evaluates the visible structure and content of a finished article against a defined Generative Engine Optimization writing standard.\n\nDisclaimer: A strong audit score does not guarantee retrieval, ranking, citation, recommendation, traffic, or inclusion by any AI or search platform. The audit measures article-level citation readiness according to the GEO Article Audit framework.","contact":{"name":"The Black Friday Agency"}},"servers":[{"url":"https://geoarticleaudit.com","description":"Production"}],"tags":[{"name":"Audit","description":"Run and retrieve GEO article audits"},{"name":"Reference","description":"Rules, metadata, and insights"},{"name":"Contact","description":"Send a contact message"}],"paths":{"/api/v1/audit/meta":{"get":{"tags":["Reference"],"summary":"Audit metadata","description":"Product metadata, scoring scale, score bands, and the list of endpoints.","responses":{"200":{"description":"Metadata","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaResponse"}}}}}}},"/api/v1/audit/rules":{"get":{"tags":["Reference"],"summary":"List GEO rules","parameters":[{"name":"category","in":"query","required":false,"schema":{"type":"string"},"description":"Filter by rule category."},{"name":"rule_id","in":"query","required":false,"schema":{"type":"string"},"description":"Fetch a single rule by id, e.g. S1-1."}],"responses":{"200":{"description":"Rules list"}}}},"/api/v1/audit/run":{"post":{"tags":["Audit"],"summary":"Run an audit","description":"Audit an article by JSON (article_text) or multipart upload (file). Returns full scored results.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunRequest"}},"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary","description":"DOCX, PDF, Markdown, TXT, or HTML file."},"article_text":{"type":"string"},"money_dialog":{"type":"string"},"article_title":{"type":"string"}}}}}},"responses":{"200":{"description":"Audit results","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunResponse"}}}},"400":{"description":"Validation error"},"429":{"description":"Rate limited"},"503":{"description":"API disabled"}}}},"/api/v1/audit/results/{id}":{"get":{"tags":["Audit"],"summary":"Retrieve a saved audit","description":"Public audits are readable by anyone; private audits require the owning session.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Saved audit"},"401":{"description":"Private audit"},"404":{"description":"Not found"}}}},"/api/v1/audit/compare":{"post":{"tags":["Audit"],"summary":"Compare two versions","description":"Compare two audit result objects, or two article texts (both are audited then compared).","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompareRequest"}}}},"responses":{"200":{"description":"Comparison"},"400":{"description":"Validation error"}}}},"/api/v1/audit/revision-prompt":{"post":{"tags":["Audit"],"summary":"Generate a revision prompt","description":"Build a structured revision prompt from an audit result object or a saved audit_id.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RevisionPromptRequest"}}}},"responses":{"200":{"description":"Revision prompt"},"400":{"description":"Validation error"}}}},"/api/v1/insights":{"get":{"tags":["Reference"],"summary":"Framework insights","responses":{"200":{"description":"Insights"}}}},"/api/v1/contact":{"post":{"tags":["Contact"],"summary":"Send a contact message","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactRequest"}}}},"responses":{"200":{"description":"Received"},"400":{"description":"Validation error"},"429":{"description":"Rate limited"}}}}},"components":{"schemas":{"MetaResponse":{"type":"object","properties":{"api_version":{"type":"string"},"scoring_version":{"type":"string"},"generated_at":{"type":"string"},"product":{"type":"object"},"disclaimer":{"type":"string"},"scoring":{"type":"object"},"endpoints":{"type":"object"}}},"RunRequest":{"type":"object","required":["article_text"],"properties":{"article_text":{"type":"string","description":"The full article text."},"money_dialog":{"type":"string","nullable":true,"description":"Optional primary question the article answers."},"article_title":{"type":"string","nullable":true}}},"RunResponse":{"type":"object","properties":{"api_version":{"type":"string"},"scoring_version":{"type":"string"},"disclaimer":{"type":"string"},"results":{"type":"object"}}},"CompareRequest":{"type":"object","properties":{"original_text":{"type":"string"},"revised_text":{"type":"string"},"money_dialog":{"type":"string","nullable":true},"original_results":{"type":"object"},"revised_results":{"type":"object"}}},"RevisionPromptRequest":{"type":"object","properties":{"results":{"type":"object"},"audit_id":{"type":"string"}}},"ContactRequest":{"type":"object","required":["name","email","message"],"properties":{"name":{"type":"string"},"email":{"type":"string","format":"email"},"message":{"type":"string"},"phone":{"type":"string"},"company":{"type":"string"},"website":{"type":"string"},"reason":{"type":"string"},"consent":{"type":"boolean"}}}}}}