{"openapi":"3.1.0","info":{"title":"Praytime API","description":"Islamic prayer time calculation API supporting 24 methods, multiple schools, and high-latitude adjustments.","version":"1.0.0","license":{"name":"GPL-3.0-or-later","url":"https://www.gnu.org/licenses/gpl-3.0.html"}},"servers":[{"url":"https://api.praytime.io","description":"Production"}],"components":{"schemas":{},"parameters":{}},"paths":{"/health":{"get":{"operationId":"healthCheck","summary":"Health check","responses":{"200":{"description":"Service is healthy","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","example":"ok"}},"required":["status"]}}}}}}},"/v1/times":{"get":{"operationId":"getPrayerTimes","summary":"Get prayer times for a location and date","parameters":[{"schema":{"type":"string","example":"31.95"},"required":true,"name":"latitude","in":"query"},{"schema":{"type":"string","example":"35.93"},"required":true,"name":"longitude","in":"query"},{"schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","example":"2026-02-15"},"required":true,"name":"date","in":"query"},{"schema":{"type":"string","enum":["MWL","ISNA","EGYPT","MAKKAH","KARACHI","TEHRAN","JAFARI","GULF","KUWAIT","QATAR","SINGAPORE","FRANCE","TURKEY","RUSSIA","MOONSIGHTING","DUBAI","JAKIM","TUNISIA","ALGERIA","KEMENAG","MOROCCO","PORTUGAL","JORDAN","CUSTOM"],"default":"MWL","description":"Calculation method"},"required":false,"description":"Calculation method","name":"method","in":"query"},{"schema":{"type":"string","enum":["STANDARD","HANAFI"],"default":"STANDARD","description":"Juristic school for Asr"},"required":false,"description":"Juristic school for Asr","name":"school","in":"query"},{"schema":{"type":"string","example":"Asia/Amman","description":"IANA timezone, e.g. Asia/Dubai. Times are returned in UTC when omitted."},"required":false,"description":"IANA timezone, e.g. Asia/Dubai. Times are returned in UTC when omitted.","name":"timezone","in":"query"},{"schema":{"type":"string","enum":["MIDDLE_OF_THE_NIGHT","ANGLE_BASED","ONE_SEVENTH","NONE"],"default":"ANGLE_BASED","description":"High-latitude adjustment method"},"required":false,"description":"High-latitude adjustment method","name":"latitudeAdjustment","in":"query"},{"schema":{"type":"string","enum":["STANDARD","JAFARI"],"description":"How midnight is computed"},"required":false,"description":"How midnight is computed","name":"midnightMode","in":"query"},{"schema":{"type":"string","enum":["24h","12h","12hNS","Float","iso8601"],"default":"24h","description":"Time output format"},"required":false,"description":"Time output format","name":"format","in":"query"},{"schema":{"type":"string","enum":["general","ahmer","abyad"],"description":"Shafaq type for Moonsighting method"},"required":false,"description":"Shafaq type for Moonsighting method","name":"shafaq","in":"query"}],"responses":{"200":{"description":"Prayer times with calculation metadata","content":{"application/json":{"schema":{"type":"object","properties":{"times":{"type":"object","properties":{"Imsak":{"anyOf":[{"type":"string"},{"type":"number"}],"example":"05:22"},"Fajr":{"anyOf":[{"type":"string"},{"type":"number"}],"example":"05:22"},"Sunrise":{"anyOf":[{"type":"string"},{"type":"number"}],"example":"05:22"},"Dhuhr":{"anyOf":[{"type":"string"},{"type":"number"}],"example":"05:22"},"Asr":{"anyOf":[{"type":"string"},{"type":"number"}],"example":"05:22"},"Sunset":{"anyOf":[{"type":"string"},{"type":"number"}],"example":"05:22"},"Maghrib":{"anyOf":[{"type":"string"},{"type":"number"}],"example":"05:22"},"Isha":{"anyOf":[{"type":"string"},{"type":"number"}],"example":"05:22"},"Midnight":{"anyOf":[{"type":"string"},{"type":"number"}],"example":"05:22"},"Firstthird":{"anyOf":[{"type":"string"},{"type":"number"}],"example":"05:22"},"Lastthird":{"anyOf":[{"type":"string"},{"type":"number"}],"example":"05:22"}},"required":["Imsak","Fajr","Sunrise","Dhuhr","Asr","Sunset","Maghrib","Isha","Midnight","Firstthird","Lastthird"]},"meta":{"type":"object","properties":{"latitude":{"type":"number"},"longitude":{"type":"number"},"timezone":{"type":"string"},"method":{"type":"object","properties":{"id":{"type":"number"},"name":{"type":"string"},"params":{"type":"object","additionalProperties":{"anyOf":[{"type":"number"},{"type":"string"}]}},"location":{"type":"object","properties":{"latitude":{"type":"number"},"longitude":{"type":"number"}},"required":["latitude","longitude"]}},"required":["id","name","params"]},"latitudeAdjustmentMethod":{"type":"string"},"midnightMode":{"type":"string"},"school":{"type":"string"},"offset":{"type":"object","additionalProperties":{"type":"number"}}},"required":["latitude","longitude","timezone","method","latitudeAdjustmentMethod","midnightMode","school","offset"]}},"required":["times","meta"]}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}}},"required":["error"]}}}}}}}}}