{"openapi":"3.1.0","info":{"title":"HORIZON API","description":"HORIZON — hantavirus outbreak surveillance with audit-grade source qualification. Public read-only. UK GDPR Art 6 lawful basis: legitimate interests (public health information). Not medical advice.","version":"0.1.0"},"paths":{"/health":{"get":{"tags":["meta"],"summary":"Liveness probe","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthResponse"}}}}}}},"/api/v1/meta/stats":{"get":{"tags":["meta"],"summary":"Global counters: authoritative cases (from WHO/CDC) + ingestion telemetry","operationId":"stats_api_v1_meta_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatsResponse"}}}}}}},"/api/v1/meta/events":{"get":{"tags":["meta"],"summary":"Chronological feed of significant events in the last 30 days","operationId":"events_api_v1_meta_events_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"description":"Max events to return","default":50,"title":"Limit"},"description":"Max events to return"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventList"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/cases":{"get":{"tags":["cases"],"summary":"List case reports","operationId":"list_cases_api_v1_cases_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"description":"Maximum items to return","default":50,"title":"Limit"},"description":"Maximum items to return"},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Pagination offset","default":0,"title":"Offset"},"description":"Pagination offset"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaseList"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/sources":{"get":{"tags":["sources"],"summary":"List configured sources","operationId":"list_sources_api_v1_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SourceList"}}}}}}},"/api/v1/clusters":{"get":{"tags":["clusters"],"summary":"List outbreak clusters","operationId":"list_clusters_api_v1_clusters_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"description":"Max clusters to return","default":100,"title":"Limit"},"description":"Max clusters to return"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClusterList"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/clusters/{cluster_id}":{"get":{"tags":["clusters"],"summary":"Cluster detail with member cases","operationId":"get_cluster_api_v1_clusters__cluster_id__get","parameters":[{"name":"cluster_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Cluster Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClusterDetail"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/incidents":{"get":{"tags":["incidents"],"summary":"List active outbreak incidents with their authoritative case counts","operationId":"list_incidents_api_v1_incidents_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IncidentList"}}}}}}},"/api/v1/incidents/{incident_id_or_code}":{"get":{"tags":["incidents"],"summary":"Incident detail with authoritative-count history","operationId":"get_incident_api_v1_incidents__incident_id_or_code__get","parameters":[{"name":"incident_id_or_code","in":"path","required":true,"schema":{"type":"string","title":"Incident Id Or Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IncidentDetail"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/incidents/{incident_code}/ontology":{"get":{"tags":["incidents"],"summary":"Full ontology graph (entities + relationships) for one incident","operationId":"get_incident_ontology_api_v1_incidents__incident_code__ontology_get","parameters":[{"name":"incident_code","in":"path","required":true,"schema":{"type":"string","title":"Incident Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IncidentOntology"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/stream/events":{"get":{"tags":["stream"],"summary":"Server-Sent Events stream (heartbeat ticks every 10s)","operationId":"stream_events_api_v1_stream_events_get","responses":{"200":{"description":"text/event-stream of JSON-payload events","content":{"application/json":{"schema":{}},"text/event-stream":{}}}}}},"/sitemap.xml":{"get":{"tags":["seo"],"summary":"Sitemap Index","operationId":"sitemap_index_sitemap_xml_get","responses":{"200":{"description":"Successful Response"}}}},"/sitemap-main.xml":{"get":{"tags":["seo"],"summary":"Sitemap Main","operationId":"sitemap_main_sitemap_main_xml_get","responses":{"200":{"description":"Successful Response"}}}},"/sitemap-serotypes.xml":{"get":{"tags":["seo"],"summary":"Sitemap Serotypes","operationId":"sitemap_serotypes_sitemap_serotypes_xml_get","responses":{"200":{"description":"Successful Response"}}}},"/sitemap-countries.xml":{"get":{"tags":["seo"],"summary":"Sitemap Countries","operationId":"sitemap_countries_sitemap_countries_xml_get","responses":{"200":{"description":"Successful Response"}}}},"/sitemap-incidents.xml":{"get":{"tags":["seo"],"summary":"Sitemap Incidents","operationId":"sitemap_incidents_sitemap_incidents_xml_get","responses":{"200":{"description":"Successful Response"}}}},"/sitemap-articles.xml":{"get":{"tags":["seo"],"summary":"Sitemap Articles","operationId":"sitemap_articles_sitemap_articles_xml_get","responses":{"200":{"description":"Successful Response"}}}},"/news-sitemap.xml":{"get":{"tags":["seo"],"summary":"News Sitemap","operationId":"news_sitemap_news_sitemap_xml_get","responses":{"200":{"description":"Successful Response"}}}},"/rss.xml":{"get":{"tags":["seo"],"summary":"Rss Feed","operationId":"rss_feed_rss_xml_get","responses":{"200":{"description":"Successful Response"}}}},"/atom.xml":{"get":{"tags":["seo"],"summary":"Atom Feed","operationId":"atom_feed_atom_xml_get","responses":{"200":{"description":"Successful Response"}}}},"/feed.json":{"get":{"tags":["seo"],"summary":"Json Feed","operationId":"json_feed_feed_json_get","responses":{"200":{"description":"Successful Response"}}}},"/hantavirus":{"get":{"tags":["seo"],"summary":"Page Hantavirus","operationId":"page_hantavirus_hantavirus_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/hantavirus/symptoms":{"get":{"tags":["seo"],"summary":"Page Symptoms","operationId":"page_symptoms_hantavirus_symptoms_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/hantavirus/transmission":{"get":{"tags":["seo"],"summary":"Page Transmission","operationId":"page_transmission_hantavirus_transmission_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/hantavirus/prevention":{"get":{"tags":["seo"],"summary":"Page Prevention","operationId":"page_prevention_hantavirus_prevention_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/hantavirus/treatment":{"get":{"tags":["seo"],"summary":"Page Treatment","operationId":"page_treatment_hantavirus_treatment_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/hantavirus/{slug}":{"get":{"tags":["seo"],"summary":"Page Serotype","operationId":"page_serotype_hantavirus__slug__get","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/glossary":{"get":{"tags":["seo"],"summary":"Page Glossary","operationId":"page_glossary_glossary_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/methodology":{"get":{"tags":["seo"],"summary":"Page Methodology","operationId":"page_methodology_methodology_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/faq":{"get":{"tags":["seo"],"summary":"Page Faq","operationId":"page_faq_faq_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/sources":{"get":{"tags":["seo"],"summary":"Page Sources","operationId":"page_sources_sources_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/outbreaks":{"get":{"tags":["seo"],"summary":"Page Outbreaks Index","operationId":"page_outbreaks_index_outbreaks_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/outbreaks/{code}":{"get":{"tags":["seo"],"summary":"Page Incident","operationId":"page_incident_outbreaks__code__get","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}}],"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/countries":{"get":{"tags":["seo"],"summary":"Page Countries Index","operationId":"page_countries_index_countries_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/countries/{iso}":{"get":{"tags":["seo"],"summary":"Page Country","operationId":"page_country_countries__iso__get","parameters":[{"name":"iso","in":"path","required":true,"schema":{"type":"string","title":"Iso"}}],"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/articles":{"get":{"tags":["seo"],"summary":"Page Articles Index","operationId":"page_articles_index_articles_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/articles/{article_id}":{"get":{"tags":["seo"],"summary":"Page Article","operationId":"page_article_articles__article_id__get","parameters":[{"name":"article_id","in":"path","required":true,"schema":{"type":"string","title":"Article Id"}}],"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/indexnow-keyfile":{"get":{"tags":["seo"],"summary":"Indexnow Keyfile","description":"Return the IndexNow key so submission endpoints can verify ownership.","operationId":"indexnow_keyfile_indexnow_keyfile_get","responses":{"200":{"description":"Successful Response","content":{"text/plain":{"schema":{"type":"string"}}}}}}},"/es/":{"get":{"tags":["seo"],"summary":"Page Es Home","description":"Spanish landing page — points at the live map and lists Spanish topic clusters.","operationId":"page_es_home_es__get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/es":{"get":{"tags":["seo"],"summary":"Page Es Home","description":"Spanish landing page — points at the live map and lists Spanish topic clusters.","operationId":"page_es_home_es_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/es/hantavirus":{"get":{"tags":["seo"],"summary":"Page Es Hantavirus","operationId":"page_es_hantavirus_es_hantavirus_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/es/hantavirus/sintomas":{"get":{"tags":["seo"],"summary":"Page Es Symptoms","operationId":"page_es_symptoms_es_hantavirus_sintomas_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/es/hantavirus/transmision":{"get":{"tags":["seo"],"summary":"Page Es Transmission","operationId":"page_es_transmission_es_hantavirus_transmision_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/es/hantavirus/prevencion":{"get":{"tags":["seo"],"summary":"Page Es Prevention","operationId":"page_es_prevention_es_hantavirus_prevencion_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/es/hantavirus/tratamiento":{"get":{"tags":["seo"],"summary":"Page Es Treatment","operationId":"page_es_treatment_es_hantavirus_tratamiento_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/es/hantavirus/{es_slug}":{"get":{"tags":["seo"],"summary":"Page Es Serotype","operationId":"page_es_serotype_es_hantavirus__es_slug__get","parameters":[{"name":"es_slug","in":"path","required":true,"schema":{"type":"string","title":"Es Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/es/preguntas-frecuentes":{"get":{"tags":["seo"],"summary":"Page Es Faq","operationId":"page_es_faq_es_preguntas_frecuentes_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/es/brotes/{code}":{"get":{"tags":["seo"],"summary":"Page Es Incident","operationId":"page_es_incident_es_brotes__code__get","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}}],"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/about":{"get":{"tags":["seo"],"summary":"Page About","operationId":"page_about_about_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/editorial-standards":{"get":{"tags":["seo"],"summary":"Page Editorial Standards","operationId":"page_editorial_standards_editorial_standards_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/corrections":{"get":{"tags":["seo"],"summary":"Page Corrections","operationId":"page_corrections_corrections_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/terms":{"get":{"tags":["seo"],"summary":"Page Terms","operationId":"page_terms_terms_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/terms-of-service":{"get":{"tags":["seo"],"summary":"Page Terms","operationId":"page_terms_terms_of_service_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/privacy-policy":{"get":{"tags":["seo"],"summary":"Page Privacy","operationId":"page_privacy_privacy_policy_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/privacy":{"get":{"tags":["seo"],"summary":"Page Privacy","operationId":"page_privacy_privacy_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/contact":{"get":{"tags":["seo"],"summary":"Page Contact","operationId":"page_contact_contact_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/sources/{code}":{"get":{"tags":["seo"],"summary":"Page Source","operationId":"page_source_sources__code__get","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}}],"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/compare":{"get":{"tags":["seo"],"summary":"Page Compare Index","operationId":"page_compare_index_compare_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/compare/{slug}":{"get":{"tags":["seo"],"summary":"Page Compare","operationId":"page_compare_compare__slug__get","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/chronology":{"get":{"tags":["seo"],"summary":"Page Chronology","operationId":"page_chronology_chronology_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/api/v1/jsonld/incident/{code}":{"get":{"tags":["seo"],"summary":"Jsonld Incident","operationId":"jsonld_incident_api_v1_jsonld_incident__code__get","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}}],"responses":{"200":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/widgets":{"get":{"tags":["seo"],"summary":"Page Widgets","operationId":"page_widgets_widgets_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/widgets/counter":{"get":{"tags":["seo"],"summary":"Widget Counter","operationId":"widget_counter_widgets_counter_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/widgets/feed":{"get":{"tags":["seo"],"summary":"Widget Feed","operationId":"widget_feed_widgets_feed_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/widgets/incident/{code}":{"get":{"tags":["seo"],"summary":"Widget Incident","operationId":"widget_incident_widgets_incident__code__get","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}}],"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/websub":{"get":{"tags":["seo"],"summary":"Page Websub","operationId":"page_websub_websub_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/pt-br/":{"get":{"tags":["seo"],"summary":"Page Pt Home","operationId":"page_pt_home_pt_br__get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/pt-br":{"get":{"tags":["seo"],"summary":"Page Pt Home","operationId":"page_pt_home_pt_br_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/pt-br/hantavirus":{"get":{"tags":["seo"],"summary":"Page Pt Hantavirus","operationId":"page_pt_hantavirus_pt_br_hantavirus_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/pt-br/hantavirus/sintomas":{"get":{"tags":["seo"],"summary":"Page Pt Symptoms","operationId":"page_pt_symptoms_pt_br_hantavirus_sintomas_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/pt-br/hantavirus/transmissao":{"get":{"tags":["seo"],"summary":"Page Pt Transmission","operationId":"page_pt_transmission_pt_br_hantavirus_transmissao_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/pt-br/hantavirus/prevencao":{"get":{"tags":["seo"],"summary":"Page Pt Prevention","operationId":"page_pt_prevention_pt_br_hantavirus_prevencao_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/pt-br/hantavirus/{pt_slug}":{"get":{"tags":["seo"],"summary":"Page Pt Serotype","operationId":"page_pt_serotype_pt_br_hantavirus__pt_slug__get","parameters":[{"name":"pt_slug","in":"path","required":true,"schema":{"type":"string","title":"Pt Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/pt-br/perguntas-frequentes":{"get":{"tags":["seo"],"summary":"Page Pt Faq","operationId":"page_pt_faq_pt_br_perguntas_frequentes_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/pt-br/surtos/{code}":{"get":{"tags":["seo"],"summary":"Page Pt Incident","operationId":"page_pt_incident_pt_br_surtos__code__get","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}}],"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/seo-snapshot":{"get":{"tags":["seo"],"summary":"Page Seo Snapshot","operationId":"page_seo_snapshot_seo_snapshot_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/api/v1/og/{slug}.png":{"get":{"tags":["seo"],"summary":"Og Image Dynamic","description":"Generate a 1200x630 OG image per page slug. Pillow-rendered, cacheable.\n\nSlug examples: 'hantavirus', 'mv-hondius-2026', 'es-hantavirus',\n'andes-virus', 'symptoms'. The slug determines the title + subtitle.","operationId":"og_image_dynamic_api_v1_og__slug__png_get","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"responses":{"200":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/seo-validate":{"get":{"tags":["seo"],"summary":"Page Seo Validate","operationId":"page_seo_validate_seo_validate_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}}},"components":{"schemas":{"BreakdownEntry":{"properties":{"label":{"type":"string","title":"Label"},"count":{"type":"integer","title":"Count"}},"type":"object","required":["label","count"],"title":"BreakdownEntry","description":"One row of a top-N breakdown (e.g. cases by serotype)."},"CaseList":{"properties":{"items":{"items":{"$ref":"#/components/schemas/CaseRecord"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"limit":{"type":"integer","title":"Limit"},"offset":{"type":"integer","title":"Offset"}},"type":"object","required":["items","total","limit","offset"],"title":"CaseList"},"CaseRecord":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"source_code":{"type":"string","title":"Source Code"},"source_name":{"type":"string","title":"Source Name"},"src_citation":{"type":"string","title":"Src Citation"},"title":{"type":"string","title":"Title"},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Summary"},"country_iso2":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country Iso2"},"region":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Region"},"serotype_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Serotype Code"},"serotype_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Serotype Text"},"reported_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Reported Date"},"ingested_at":{"type":"string","format":"date-time","title":"Ingested At"},"raw_url":{"type":"string","title":"Raw Url"},"nato_reliability":{"type":"string","title":"Nato Reliability"},"nato_credibility":{"type":"integer","title":"Nato Credibility"},"pipeline_confidence":{"type":"number","title":"Pipeline Confidence"},"analyst_confidence":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Analyst Confidence"}},"type":"object","required":["id","source_code","source_name","src_citation","title","ingested_at","raw_url","nato_reliability","nato_credibility","pipeline_confidence"],"title":"CaseRecord"},"ClusterDetail":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"country_iso2":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country Iso2"},"region":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Region"},"serotype_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Serotype Code"},"started_at":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Started At"},"ended_at":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Ended At"},"status":{"type":"string","title":"Status"},"case_count":{"type":"integer","title":"Case Count"},"death_count":{"type":"integer","title":"Death Count"},"cases":{"items":{"$ref":"#/components/schemas/CaseRecord"},"type":"array","title":"Cases","default":[]}},"type":"object","required":["id","name","status","case_count","death_count"],"title":"ClusterDetail","description":"Full cluster view: cluster fields + linked case_reports."},"ClusterList":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ClusterRecord"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["items","total"],"title":"ClusterList"},"ClusterRecord":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"country_iso2":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country Iso2"},"region":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Region"},"serotype_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Serotype Code"},"started_at":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Started At"},"ended_at":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Ended At"},"status":{"type":"string","title":"Status"},"case_count":{"type":"integer","title":"Case Count"},"death_count":{"type":"integer","title":"Death Count"}},"type":"object","required":["id","name","status","case_count","death_count"],"title":"ClusterRecord"},"EntityRecord":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"entity_type":{"type":"string","title":"Entity Type"},"public_label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Public Label"},"properties":{"type":"object","title":"Properties"}},"type":"object","required":["id","entity_type","properties"],"title":"EntityRecord","description":"One node in the incident ontology graph."},"EventList":{"properties":{"items":{"items":{"$ref":"#/components/schemas/EventRecord"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["items","total"],"title":"EventList"},"EventRecord":{"properties":{"id":{"type":"string","title":"Id"},"occurred_at":{"anyOf":[{"type":"string","format":"date"},{"type":"string","format":"date-time"}],"title":"Occurred At"},"event_type":{"type":"string","title":"Event Type"},"severity":{"type":"string","title":"Severity"},"title":{"type":"string","title":"Title"},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Summary"},"country_iso2":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country Iso2"},"serotype_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Serotype Code"},"source_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Code"},"source_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Url"},"cluster_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cluster Id"}},"type":"object","required":["id","occurred_at","event_type","severity","title"],"title":"EventRecord","description":"One entry in the chronological events feed."},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HealthResponse":{"properties":{"status":{"type":"string","title":"Status"},"version":{"type":"string","title":"Version"}},"type":"object","required":["status","version"],"title":"HealthResponse"},"IncidentAuthoritativeCount":{"properties":{"confirmed_cases":{"type":"integer","title":"Confirmed Cases"},"suspected_cases":{"type":"integer","title":"Suspected Cases"},"deaths":{"type":"integer","title":"Deaths"},"recovered":{"type":"integer","title":"Recovered"},"source_code":{"type":"string","title":"Source Code"},"source_name":{"type":"string","title":"Source Name"},"reported_at":{"type":"string","format":"date-time","title":"Reported At"},"nato_reliability":{"type":"string","title":"Nato Reliability"},"nato_credibility":{"type":"integer","title":"Nato Credibility"},"src_citation":{"type":"string","title":"Src Citation"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"}},"type":"object","required":["confirmed_cases","suspected_cases","deaths","recovered","source_code","source_name","reported_at","nato_reliability","nato_credibility","src_citation"],"title":"IncidentAuthoritativeCount","description":"One snapshot of an authoritative case count from a named source."},"IncidentCountryRow":{"properties":{"country_iso2":{"type":"string","title":"Country Iso2"},"confirmed_count":{"type":"integer","title":"Confirmed Count"},"suspected_count":{"type":"integer","title":"Suspected Count"},"deaths":{"type":"integer","title":"Deaths"},"first_reported_at":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"First Reported At"}},"type":"object","required":["country_iso2","confirmed_count","suspected_count","deaths"],"title":"IncidentCountryRow"},"IncidentDetail":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"code":{"type":"string","title":"Code"},"name":{"type":"string","title":"Name"},"serotype_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Serotype Code"},"started_at":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Started At"},"ended_at":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Ended At"},"status":{"type":"string","title":"Status"},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Summary"},"primary_location_country_iso2":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Primary Location Country Iso2"},"primary_location_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Primary Location Name"},"primary_vessel_imo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Primary Vessel Imo"},"primary_vessel_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Primary Vessel Name"},"primary_vessel_mmsi":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Primary Vessel Mmsi"},"primary_vessel_flag":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Primary Vessel Flag"},"confirmed_cases":{"type":"integer","title":"Confirmed Cases","default":0},"suspected_cases":{"type":"integer","title":"Suspected Cases","default":0},"deaths":{"type":"integer","title":"Deaths","default":0},"recovered":{"type":"integer","title":"Recovered","default":0},"authority_source_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authority Source Code"},"authority_reported_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Authority Reported At"},"corroborating_sources":{"type":"integer","title":"Corroborating Sources","default":0},"countries":{"items":{"$ref":"#/components/schemas/IncidentCountryRow"},"type":"array","title":"Countries","default":[]},"counts_history":{"items":{"$ref":"#/components/schemas/IncidentAuthoritativeCount"},"type":"array","title":"Counts History","default":[]}},"type":"object","required":["id","code","name","status"],"title":"IncidentDetail"},"IncidentList":{"properties":{"items":{"items":{"$ref":"#/components/schemas/IncidentRecord"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["items","total"],"title":"IncidentList"},"IncidentOntology":{"properties":{"incident_code":{"type":"string","title":"Incident Code"},"entities":{"items":{"$ref":"#/components/schemas/EntityRecord"},"type":"array","title":"Entities"},"relationships":{"items":{"$ref":"#/components/schemas/RelationshipRecord"},"type":"array","title":"Relationships"},"vessel_track":{"items":{"$ref":"#/components/schemas/VesselTrackPoint"},"type":"array","title":"Vessel Track","default":[]}},"type":"object","required":["incident_code","entities","relationships"],"title":"IncidentOntology","description":"The full ontology graph for an incident: nodes + edges + vessel track."},"IncidentRecord":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"code":{"type":"string","title":"Code"},"name":{"type":"string","title":"Name"},"serotype_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Serotype Code"},"started_at":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Started At"},"ended_at":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Ended At"},"status":{"type":"string","title":"Status"},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Summary"},"primary_location_country_iso2":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Primary Location Country Iso2"},"primary_location_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Primary Location Name"},"primary_vessel_imo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Primary Vessel Imo"},"primary_vessel_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Primary Vessel Name"},"primary_vessel_mmsi":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Primary Vessel Mmsi"},"primary_vessel_flag":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Primary Vessel Flag"},"confirmed_cases":{"type":"integer","title":"Confirmed Cases","default":0},"suspected_cases":{"type":"integer","title":"Suspected Cases","default":0},"deaths":{"type":"integer","title":"Deaths","default":0},"recovered":{"type":"integer","title":"Recovered","default":0},"authority_source_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authority Source Code"},"authority_reported_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Authority Reported At"},"corroborating_sources":{"type":"integer","title":"Corroborating Sources","default":0},"countries":{"items":{"$ref":"#/components/schemas/IncidentCountryRow"},"type":"array","title":"Countries","default":[]}},"type":"object","required":["id","code","name","status"],"title":"IncidentRecord","description":"Top-level outbreak event entity."},"RelationshipRecord":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"src_id":{"type":"string","format":"uuid","title":"Src Id"},"dst_id":{"type":"string","format":"uuid","title":"Dst Id"},"rel_type":{"type":"string","title":"Rel Type"},"properties":{"type":"object","title":"Properties"},"confidence":{"type":"number","title":"Confidence"},"src_citation":{"type":"string","title":"Src Citation"}},"type":"object","required":["id","src_id","dst_id","rel_type","properties","confidence","src_citation"],"title":"RelationshipRecord"},"SourceList":{"properties":{"items":{"items":{"$ref":"#/components/schemas/SourceRecord"},"type":"array","title":"Items"}},"type":"object","required":["items"],"title":"SourceList"},"SourceRecord":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"code":{"type":"string","title":"Code"},"name":{"type":"string","title":"Name"},"tier":{"type":"integer","title":"Tier"},"provenance_type":{"type":"string","title":"Provenance Type"},"nato_reliability":{"type":"string","title":"Nato Reliability"},"nato_credibility":{"type":"integer","title":"Nato Credibility"},"enabled":{"type":"boolean","title":"Enabled"},"last_fetched_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Fetched At"},"last_http_status":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Last Http Status"},"last_latency_ms":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Last Latency Ms"},"total_items_ingested":{"type":"integer","title":"Total Items Ingested","default":0}},"type":"object","required":["id","code","name","tier","provenance_type","nato_reliability","nato_credibility","enabled"],"title":"SourceRecord"},"StatsResponse":{"properties":{"total_confirmed_cases_authoritative":{"type":"integer","title":"Total Confirmed Cases Authoritative"},"total_suspected_cases_authoritative":{"type":"integer","title":"Total Suspected Cases Authoritative"},"total_deaths_authoritative":{"type":"integer","title":"Total Deaths Authoritative"},"total_active_incidents":{"type":"integer","title":"Total Active Incidents"},"total_reports_ingested":{"type":"integer","title":"Total Reports Ingested"},"total_countries_in_reports":{"type":"integer","title":"Total Countries In Reports"},"total_clusters_active":{"type":"integer","title":"Total Clusters Active"},"total_serotypes_seen":{"type":"integer","title":"Total Serotypes Seen"},"total_sources_enabled":{"type":"integer","title":"Total Sources Enabled"},"reports_last_24h":{"type":"integer","title":"Reports Last 24H"},"reports_last_7d":{"type":"integer","title":"Reports Last 7D"},"reports_last_14d":{"type":"integer","title":"Reports Last 14D"},"by_serotype":{"items":{"$ref":"#/components/schemas/BreakdownEntry"},"type":"array","title":"By Serotype"},"by_country":{"items":{"$ref":"#/components/schemas/BreakdownEntry"},"type":"array","title":"By Country"}},"type":"object","required":["total_confirmed_cases_authoritative","total_suspected_cases_authoritative","total_deaths_authoritative","total_active_incidents","total_reports_ingested","total_countries_in_reports","total_clusters_active","total_serotypes_seen","total_sources_enabled","reports_last_24h","reports_last_7d","reports_last_14d","by_serotype","by_country"],"title":"StatsResponse","description":"Global counters for the home-screen hero strip.\n\nNOTE: `total_reports_ingested` is the count of source articles HORIZON has\nconsumed. It is NOT a count of real people. The authoritative case number\nfor the public is `total_confirmed_cases_authoritative`, summed from\n`incident_authoritative_counts` (most-recent highest-NATO entry per incident)."},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"VesselTrackPoint":{"properties":{"ts":{"type":"string","format":"date-time","title":"Ts"},"lat":{"type":"number","title":"Lat"},"lng":{"type":"number","title":"Lng"},"speed_knots":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Speed Knots"},"heading":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Heading"},"source":{"type":"string","title":"Source"}},"type":"object","required":["ts","lat","lng","source"],"title":"VesselTrackPoint"}}}}