{"openapi":"3.1.0","info":{"title":"Viraill Core GEO & Agentic Engine API","description":"Backend de calcul topologique GEO, de scoring d'Agentic Readiness et de remédiation M2M pour Viraill.","version":"1.0.0"},"paths":{"/":{"get":{"summary":"Root Health Check","operationId":"root__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/health":{"get":{"summary":"Health Check","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/llms.txt":{"get":{"summary":"LLMs Manifest","operationId":"llms_txt_llms_txt_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/.well-known/x402.json":{"get":{"summary":"Manifeste x402 (découverte bazaars)","operationId":"x402_manifest__well_known_x402_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/.well-known/agent.json":{"get":{"summary":"Google A2A Agent Card","operationId":"agent_card__well_known_agent_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/geo/audit":{"post":{"summary":"Audit Topologique GEO et Fan-out de Marché","operationId":"api_geo_audit_v1_geo_audit_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoAuditRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"5.000000"},"protocols":[{"x402":{}}]}}},"/v1/geo/social-generate":{"post":{"summary":"Génération Sociale sur Centroïdes d'Intentions","operationId":"api_geo_social_v1_geo_social_generate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SocialGenerateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"2.000000"},"protocols":[{"x402":{}}]}}},"/v1/agentic/scan":{"post":{"summary":"Audit d'Agentic Readiness /100 & Multi-Probes","operationId":"api_agentic_scan_v1_agentic_scan_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgenticScanRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"10.000000"},"protocols":[{"x402":{}}]}}}},"components":{"schemas":{"AgenticScanRequest":{"properties":{"url":{"type":"string","title":"Url","description":"URL du site ou SaaS à scanner"},"remediate":{"type":"boolean","title":"Remediate","description":"Générer le pack de code de remédiation","default":false},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"Nom de la marque ou du SaaS"}},"type":"object","required":["url"],"title":"AgenticScanRequest"},"GeoAuditRequest":{"properties":{"url":{"type":"string","title":"Url","description":"URL cible à auditer (ex: https://monsaas.com)"},"competitors":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Competitors","description":"URLs concurrentes optionnelles","default":[]},"market_territory":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Market Territory","description":"Territoire de marché ou secteur métier"},"rewrite":{"type":"boolean","title":"Rewrite","description":"Générer les blocs canoniques BLUF et FAQPage","default":true},"live_signals":{"type":"boolean","title":"Live Signals","description":"Activer le scan des signaux de marché récents","default":false}},"type":"object","required":["url"],"title":"GeoAuditRequest"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"SocialGenerateRequest":{"properties":{"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url","description":"URL source de la marque ou produit"},"seed_topic":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seed Topic","description":"Sujet ou thèse pour la génération"},"format":{"type":"string","enum":["all","linkedin","x","carousel","debate","video_script","medium_article","press_release","site_copy","tweet"],"title":"Format","default":"all"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"Nom de la marque (prioritaire sur l'extraction)"},"about":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"About","description":"Description de l'activité en 1-3 phrases"},"offer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Offer","description":"Offre produits/services, items séparés par des virgules"},"info":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Info","description":"Infos pratiques : adresse, horaires, contact"},"flavor":{"anyOf":[{"type":"string","enum":["neutre","provocateur","narquois","clivant","brutal"]},{"type":"null"}],"title":"Flavor","description":"Nuance rhétorique"},"level":{"type":"string","enum":["L1","L2","L3","L4"],"title":"Level","description":"Niveau de vulgarisation","default":"L2"},"tone":{"type":"string","enum":["tranchant","pedagogique","institutionnel","builder"],"title":"Tone","description":"Registre tonal","default":"tranchant"},"variation":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Variation","description":"Seed de variation éditoriale (reproductible)"}},"type":"object","title":"SocialGenerateRequest"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}