{"openapi":"3.1.0","info":{"title":"Who's on First API Service","description":"A standalone service to resolve geographic coordinates to a WOF hierarchy.","version":"1.0.0"},"paths":{"/":{"get":{"summary":"Landing Page","description":"Landing page explaining Who's On First and providing API links.","operationId":"landing_page__get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/api/v1/hierarchy":{"get":{"summary":"Get Hierarchy By Coords","description":"Resolves geographic coordinates to their corresponding Who's on First (WOF) hierarchy.\n\nThis endpoint performs a point-in-polygon query to find all administrative regions\ncontaining the given coordinates, then builds a complete hierarchy.","operationId":"get_hierarchy_by_coords_api_v1_hierarchy_get","parameters":[{"name":"lat","in":"query","required":true,"schema":{"type":"number","title":"Lat"}},{"name":"lon","in":"query","required":true,"schema":{"type":"number","title":"Lon"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HierarchyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/health":{"get":{"summary":"Health Check","description":"Health check endpoint with database connectivity test.","operationId":"health_check_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/place/{wof_id}":{"get":{"summary":"Get Place By Id","description":"Retrieve a WOF place by its ID.","operationId":"get_place_by_id_api_v1_place__wof_id__get","parameters":[{"name":"wof_id","in":"path","required":true,"schema":{"type":"integer","title":"Wof Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HierarchyResponse":{"properties":{"continent":{"anyOf":[{"$ref":"#/components/schemas/WOFRecord"},{"type":"null"}]},"country":{"anyOf":[{"$ref":"#/components/schemas/WOFRecord"},{"type":"null"}]},"region":{"anyOf":[{"$ref":"#/components/schemas/WOFRecord"},{"type":"null"}]},"county":{"anyOf":[{"$ref":"#/components/schemas/WOFRecord"},{"type":"null"}]},"locality":{"anyOf":[{"$ref":"#/components/schemas/WOFRecord"},{"type":"null"}]},"neighbourhood":{"anyOf":[{"$ref":"#/components/schemas/WOFRecord"},{"type":"null"}]}},"type":"object","title":"HierarchyResponse"},"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"},"WOFRecord":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"placetype":{"type":"string","title":"Placetype"}},"type":"object","required":["id","name","placetype"],"title":"WOFRecord"}}}}