{"ok":true,"project":"Astro Sindhi Observatory","platform":{"name":"Astro Sindhi Observatory API Platform","short_name":"Astro API","version":"2.0.0","release":"SEO & AEO Trust Layer 2026.07.12","status":"production","base_url":"https://astro.sindhilanguage.org/api/","default_timezone":"Asia/Karachi","format":"JSON","authentication":"No API key required for current public endpoints","data_license":"CC BY 4.0 unless an endpoint states otherwise","software_license":"All Rights Reserved unless separately released","citation":"Astro Sindhi Observatory. Public Astronomical API Platform. Indusian Technologies (Pvt) Ltd; SindhiLanguage.org.","openapi":"/api/openapi.json","directory":"/api/directory.json.php","last_updated":"2026-07-12"},"counts":{"public_apis":35,"categories":8},"categories":[{"key":"platform","name":"Platform & Integration","description":"Discovery, health, daily public feeds and integrated observatory payloads.","count":6},{"key":"solar","name":"Solar & Seasons","description":"Sun position, daylight, equinox and Sindhi season calculations.","count":4},{"key":"lunar","name":"Lunar","description":"Moon position, illumination, rise/set, validation and live geometry.","count":5},{"key":"calendar","name":"Calendars & Time","description":"Sindhu Sambat, Hijri, conversion, pahar, almanac and audit services.","count":8},{"key":"sky","name":"Sky & Observation","description":"Observer sky, planets, simulation, geodata and AR-ready catalogues.","count":6},{"key":"eclipse","name":"Eclipses","description":"Archive and location-aware eclipse visibility services.","count":2},{"key":"validation","name":"Validation & Reference","description":"Reference datasets, comparisons and multi-year validation reports.","count":3},{"key":"language","name":"Language & Terminology","description":"Sindhi astronomical glossary and machine-readable knowledge fields.","count":1}],"endpoints":[{"id":"directory","name":"API Directory","method":"GET","path":"/api/directory.json.php","example":"/api/directory.json.php","category":"platform","status":"stable","summary":"Machine-readable catalogue of every public API, category, parameter, example and documentation link.","tags":["directory","metadata","discovery"],"parameters":[],"documentation":"/api/docs/#directory","explorer":"/api/explorer/?endpoint=directory"},{"id":"system-health","name":"System Health","method":"GET","path":"/api/system-health.php","example":"/api/system-health.php","category":"platform","status":"stable","summary":"Public liveness and freshness signal for the API, Live Sky snapshot and reference snapshot.","tags":["health","freshness","status"],"parameters":[],"documentation":"/api/docs/#system-health","explorer":"/api/explorer/?endpoint=system-health"},{"id":"phase-015","name":"Research Integration Layer","method":"GET","path":"/api/phase-015.php","example":"/api/phase-015.php?datetime=2026-03-20T10:00:00&lat=25.396&lon=68.3578&timezone=Asia/Karachi","category":"platform","status":"research","summary":"Aggregated solar, lunar and observer calculations for a supplied instant and location.","tags":["integration","solar","lunar"],"parameters":[{"name":"datetime","type":"string","required":false,"description":"ISO-8601 datetime or now","example":"2026-03-20T10:00:00"},{"name":"lat","type":"number","required":false,"default":25.396,"description":"Observer latitude","example":25.396,"minimum":-90,"maximum":90},{"name":"lon","type":"number","required":false,"default":68.3578,"description":"Observer longitude","example":68.3578,"minimum":-180,"maximum":180},{"name":"timezone","type":"string","required":false,"default":"Asia/Karachi","description":"IANA timezone","example":"Asia/Karachi"}],"documentation":"/api/docs/#phase-015","explorer":"/api/explorer/?endpoint=phase-015"},{"id":"phase-016","name":"NASA/JPL Reference Layer","method":"GET","path":"/api/phase-016.php","example":"/api/phase-016.php?date=2026-07-11&lat=25.396&lon=68.3578&timezone=Asia/Karachi","category":"platform","status":"research","summary":"Daily astronomy integration layer with source metadata and NASA/JPL alignment targets.","tags":["JPL","reference","integration"],"parameters":[{"name":"date","type":"string","required":false,"default":"today","description":"Gregorian date YYYY-MM-DD or today","example":"2026-07-11"},{"name":"lat","type":"number","required":false,"default":25.396,"description":"Observer latitude","minimum":-90,"maximum":90},{"name":"lon","type":"number","required":false,"default":68.3578,"description":"Observer longitude","minimum":-180,"maximum":180},{"name":"timezone","type":"string","required":false,"default":"Asia/Karachi","description":"IANA timezone"}],"documentation":"/api/docs/#phase-016","explorer":"/api/explorer/?endpoint=phase-016"},{"id":"phase-017","name":"Observatory Aggregation API","method":"GET","path":"/api/phase-017.php","example":"/api/phase-017.php?date=2026-07-11&lat=25.396&lon=68.3578&timezone=Asia/Karachi","category":"platform","status":"stable","summary":"Production observatory payload combining calendar, solar, lunar, season and reference status.","tags":["observatory","aggregate","daily"],"parameters":[{"name":"date","type":"string","required":false,"default":"today","description":"Gregorian date YYYY-MM-DD or today"},{"name":"lat","type":"number","required":false,"default":25.396,"description":"Observer latitude","minimum":-90,"maximum":90},{"name":"lon","type":"number","required":false,"default":68.3578,"description":"Observer longitude","minimum":-180,"maximum":180},{"name":"timezone","type":"string","required":false,"default":"Asia/Karachi","description":"IANA timezone"}],"documentation":"/api/docs/#phase-017","explorer":"/api/explorer/?endpoint=phase-017"},{"id":"public-observatory","name":"Public Observatory","method":"GET","path":"/api/public-observatory.php","example":"/api/public-observatory.php?date=2026-07-11&lat=25.396&lon=68.3578&timezone=Asia/Karachi","category":"platform","status":"stable","summary":"Public-facing daily observatory feed designed for websites, apps and widgets.","tags":["public-feed","widget","daily"],"parameters":[{"name":"date","type":"string","required":false,"default":"today","description":"Gregorian date YYYY-MM-DD or today"},{"name":"lat","type":"number","required":false,"default":25.396,"description":"Observer latitude","minimum":-90,"maximum":90},{"name":"lon","type":"number","required":false,"default":68.3578,"description":"Observer longitude","minimum":-180,"maximum":180},{"name":"timezone","type":"string","required":false,"default":"Asia/Karachi","description":"IANA timezone"}],"documentation":"/api/docs/#public-observatory","explorer":"/api/explorer/?endpoint=public-observatory"},{"id":"solar-position","name":"Solar Position","method":"GET","path":"/api/solar-position.php","example":"/api/solar-position.php?datetime=2026-03-20T10:00:00&timezone=UTC","category":"solar","status":"research","summary":"Apparent solar longitude, right ascension, declination, equation of time and Earth–Sun distance.","tags":["sun","coordinates","Meeus"],"parameters":[{"name":"datetime","type":"string","required":false,"default":"now","description":"ISO-8601 datetime or now"},{"name":"timezone","type":"string","required":false,"default":"UTC","description":"IANA timezone"},{"name":"lat","type":"number","required":false,"description":"Optional observer latitude","minimum":-90,"maximum":90},{"name":"lon","type":"number","required":false,"description":"Optional observer longitude","minimum":-180,"maximum":180}],"documentation":"/api/docs/#solar-position","explorer":"/api/explorer/?endpoint=solar-position"},{"id":"sunrise-sunset","name":"Sunrise & Sunset","method":"GET","path":"/api/sunrise-sunset.php","example":"/api/sunrise-sunset.php?date=2026-03-22&lat=25.396&lon=68.3578&timezone=Asia/Karachi","category":"solar","status":"research","summary":"Sunrise, solar noon, sunset and day length for a Gregorian date and observer location.","tags":["sunrise","sunset","daylight"],"parameters":[{"name":"date","type":"string","required":false,"default":"today","description":"Gregorian date YYYY-MM-DD or today"},{"name":"lat","type":"number","required":false,"default":25.396,"description":"Observer latitude","minimum":-90,"maximum":90},{"name":"lon","type":"number","required":false,"default":68.3578,"description":"Observer longitude","minimum":-180,"maximum":180},{"name":"timezone","type":"string","required":false,"default":"Asia/Karachi","description":"IANA timezone"}],"documentation":"/api/docs/#sunrise-sunset","explorer":"/api/explorer/?endpoint=sunrise-sunset"},{"id":"equinox","name":"Vernal Equinox","method":"GET","path":"/api/equinox.php","example":"/api/equinox.php?year=2026","category":"solar","status":"research","summary":"Approximate vernal equinox instant for a Gregorian year.","tags":["equinox","year","reference"],"parameters":[{"name":"year","type":"integer","required":false,"default":2026,"description":"Gregorian year","minimum":1900,"maximum":2100}],"documentation":"/api/docs/#equinox","explorer":"/api/explorer/?endpoint=equinox"},{"id":"season","name":"Sindhi Season","method":"GET","path":"/api/season.php","example":"/api/season.php?date=2026-07-11&timezone=Asia/Karachi","category":"solar","status":"stable","summary":"Approved Sindhi season label derived from apparent solar longitude.","tags":["season","Sindhi","solar-longitude"],"parameters":[{"name":"date","type":"string","required":false,"default":"today","description":"Gregorian date YYYY-MM-DD or today"},{"name":"timezone","type":"string","required":false,"default":"Asia/Karachi","description":"IANA timezone"}],"documentation":"/api/docs/#season","explorer":"/api/explorer/?endpoint=season"},{"id":"lunar-position","name":"Lunar Position","method":"GET","path":"/api/lunar-position.php","example":"/api/lunar-position.php?datetime=2026-03-20T10:00:00&timezone=UTC","category":"lunar","status":"research","summary":"Geocentric lunar longitude, latitude, distance, right ascension and declination.","tags":["moon","coordinates","distance"],"parameters":[{"name":"datetime","type":"string","required":false,"default":"now","description":"ISO-8601 datetime or now"},{"name":"timezone","type":"string","required":false,"default":"UTC","description":"IANA timezone"}],"documentation":"/api/docs/#lunar-position","explorer":"/api/explorer/?endpoint=lunar-position"},{"id":"moon-illumination","name":"Moon Illumination","method":"GET","path":"/api/moon-illumination.php","example":"/api/moon-illumination.php?date=2026-07-11&timezone=Asia/Karachi","category":"lunar","status":"research","summary":"Moon age, elongation, illuminated fraction, percentage and phase label.","tags":["moon-phase","illumination","age"],"parameters":[{"name":"date","type":"string","required":false,"default":"today","description":"Gregorian date YYYY-MM-DD or today"},{"name":"datetime","type":"string","required":false,"description":"Optional ISO-8601 datetime"},{"name":"timezone","type":"string","required":false,"default":"Asia/Karachi","description":"IANA timezone"}],"documentation":"/api/docs/#moon-illumination","explorer":"/api/explorer/?endpoint=moon-illumination"},{"id":"moonrise-moonset","name":"Moonrise & Moonset","method":"GET","path":"/api/moonrise-moonset.php","example":"/api/moonrise-moonset.php?date=2026-07-11&lat=25.396&lon=68.3578&timezone=Asia/Karachi","category":"lunar","status":"research","summary":"Moonrise and moonset times for a date, observer coordinates and timezone.","tags":["moonrise","moonset","observer"],"parameters":[{"name":"date","type":"string","required":false,"default":"today","description":"Gregorian date YYYY-MM-DD or today"},{"name":"lat","type":"number","required":false,"default":25.396,"description":"Observer latitude","minimum":-90,"maximum":90},{"name":"lon","type":"number","required":false,"default":68.3578,"description":"Observer longitude","minimum":-180,"maximum":180},{"name":"timezone","type":"string","required":false,"default":"Asia/Karachi","description":"IANA timezone"}],"documentation":"/api/docs/#moonrise-moonset","explorer":"/api/explorer/?endpoint=moonrise-moonset"},{"id":"moon-validation","name":"Moon Validation","method":"GET","path":"/api/moon-validation.php","example":"/api/moon-validation.php?date=2026-07-11&timezone=Asia/Karachi","category":"lunar","status":"validation","summary":"Validation report for calculated moon values and available reference data.","tags":["moon","validation","reference"],"parameters":[{"name":"date","type":"string","required":false,"default":"today","description":"Gregorian date YYYY-MM-DD or today"},{"name":"timezone","type":"string","required":false,"default":"Asia/Karachi","description":"IANA timezone"}],"documentation":"/api/docs/#moon-validation","explorer":"/api/explorer/?endpoint=moon-validation"},{"id":"earth-moon-live","name":"Live Earth–Moon Geometry","method":"GET","path":"/api/earth-moon-live.php","example":"/api/earth-moon-live.php?datetime=now&timezone=Asia/Karachi","category":"lunar","status":"stable","summary":"Live Earth–Moon observatory geometry using apparent coordinates and GMST subpoint calculations.","tags":["live","earth","moon"],"parameters":[{"name":"datetime","type":"string","required":false,"default":"now","description":"ISO-8601 datetime or now"},{"name":"timezone","type":"string","required":false,"default":"Asia/Karachi","description":"IANA timezone"}],"documentation":"/api/docs/#earth-moon-live","explorer":"/api/explorer/?endpoint=earth-moon-live"},{"id":"almanac","name":"Daily Almanac","method":"GET","path":"/api/almanac.php","example":"/api/almanac.php?date=2026-07-11&lat=25.396&lon=68.3578&timezone=Asia/Karachi","category":"calendar","status":"stable","summary":"Daily aggregate containing Sindhu date, solar, sunrise/sunset and lunar data.","tags":["almanac","daily","aggregate"],"parameters":[{"name":"date","type":"string","required":false,"default":"today","description":"Gregorian date YYYY-MM-DD or today"},{"name":"lat","type":"number","required":false,"default":25.396,"description":"Observer latitude","minimum":-90,"maximum":90},{"name":"lon","type":"number","required":false,"default":68.3578,"description":"Observer longitude","minimum":-180,"maximum":180},{"name":"timezone","type":"string","required":false,"default":"Asia/Karachi","description":"IANA timezone"}],"documentation":"/api/docs/#almanac","explorer":"/api/explorer/?endpoint=almanac"},{"id":"sindhu-date","name":"Sindhu Date","method":"GET","path":"/api/sindhu-date.php","example":"/api/sindhu-date.php?date=2026-07-11","category":"calendar","status":"research","summary":"Sindhu Sambat year, month and day for a Gregorian date.","tags":["Sindhu-Sambat","date","calendar"],"parameters":[{"name":"date","type":"string","required":false,"default":"today","description":"Gregorian date YYYY-MM-DD or today"}],"documentation":"/api/docs/#sindhu-date","explorer":"/api/explorer/?endpoint=sindhu-date"},{"id":"sindhu-year","name":"Sindhu Year","method":"GET","path":"/api/sindhu-year.php","example":"/api/sindhu-year.php?date=2026-07-11","category":"calendar","status":"research","summary":"Sindhu Sambat year using the working epoch and local vernal-equinox new-year rule.","tags":["Sindhu-Sambat","year","equinox"],"parameters":[{"name":"date","type":"string","required":false,"default":"today","description":"Gregorian date YYYY-MM-DD or today"}],"documentation":"/api/docs/#sindhu-year","explorer":"/api/explorer/?endpoint=sindhu-year"},{"id":"sindhu-month-grid","name":"Sindhu Month Grid","method":"GET","path":"/api/sindhu-month-grid.php","example":"/api/sindhu-month-grid.php?date=2026-07-11","category":"calendar","status":"stable","summary":"Month-grid data around a selected Gregorian date for calendar interfaces.","tags":["Sindhu-Sambat","month-grid","UI"],"parameters":[{"name":"date","type":"string","required":false,"default":"today","description":"Gregorian date YYYY-MM-DD or today"}],"documentation":"/api/docs/#sindhu-month-grid","explorer":"/api/explorer/?endpoint=sindhu-month-grid"},{"id":"converter","name":"Calendar Converter","method":"GET","path":"/api/converter.php","example":"/api/converter.php?mode=gregorian&date=2026-07-11","category":"calendar","status":"research","summary":"Gregorian ↔ Sindhu conversion and Sindhu month-length queries.","tags":["conversion","Gregorian","Sindhu-Sambat"],"parameters":[{"name":"mode","type":"string","required":false,"default":"gregorian","enum":["gregorian","sindhu","month_days"],"description":"Conversion mode"},{"name":"date","type":"string","required":false,"description":"Gregorian date for gregorian mode"},{"name":"year","type":"integer","required":false,"description":"Sindhu year for sindhu/month_days modes"},{"name":"month","type":"string","required":false,"description":"Sindhu month name or index"},{"name":"day","type":"integer","required":false,"description":"Sindhu day for sindhu mode","minimum":1,"maximum":31}],"documentation":"/api/docs/#converter","explorer":"/api/explorer/?endpoint=converter"},{"id":"hijri-date","name":"Hijri Date","method":"GET","path":"/api/hijri-date.php","example":"/api/hijri-date.php?date=2026-07-11&lat=25.396&lon=68.3578&timezone=Asia/Karachi","category":"calendar","status":"research","summary":"Pakistan Hijri date from the month-start registry with observer timezone and sunset-boundary support.","tags":["Hijri","date","calendar"],"parameters":[{"name":"date","type":"string","required":false,"default":"today","description":"Gregorian date YYYY-MM-DD or today"},{"name":"datetime","type":"string","required":false,"description":"Optional ISO-8601 datetime"},{"name":"lat","type":"number","required":false,"default":25.396,"description":"Observer latitude","minimum":-90,"maximum":90},{"name":"lon","type":"number","required":false,"default":68.3578,"description":"Observer longitude","minimum":-180,"maximum":180},{"name":"timezone","type":"string","required":false,"default":"Asia/Karachi","description":"IANA timezone"},{"name":"buffer","type":"integer","required":false,"description":"Configured day adjustment buffer"}],"documentation":"/api/docs/#hijri-date","explorer":"/api/explorer/?endpoint=hijri-date"},{"id":"pahar","name":"Pahar","method":"GET","path":"/api/pahar.php","example":"/api/pahar.php?date=2026-07-11&lat=25.396&lon=68.3578&timezone=Asia/Karachi","category":"calendar","status":"stable","summary":"Traditional Sindhi pahar segment for a date, time and observer location.","tags":["pahar","time","Sindhi"],"parameters":[{"name":"date","type":"string","required":false,"default":"today","description":"Gregorian date YYYY-MM-DD or today"},{"name":"lat","type":"number","required":false,"default":25.396,"description":"Observer latitude","minimum":-90,"maximum":90},{"name":"lon","type":"number","required":false,"default":68.3578,"description":"Observer longitude","minimum":-180,"maximum":180},{"name":"timezone","type":"string","required":false,"default":"Asia/Karachi","description":"IANA timezone"}],"documentation":"/api/docs/#pahar","explorer":"/api/explorer/?endpoint=pahar"},{"id":"audit","name":"Calendar Audit","method":"GET","path":"/api/audit.php","example":"/api/audit.php?year=2026","category":"calendar","status":"validation","summary":"Equinox mapping, month-boundary continuity, reference-date and annual calendar audit.","tags":["audit","calendar","continuity"],"parameters":[{"name":"year","type":"integer","required":false,"default":2026,"description":"Gregorian year","minimum":1900,"maximum":2100}],"documentation":"/api/docs/#audit","explorer":"/api/explorer/?endpoint=audit"},{"id":"observer-sky","name":"Observer Sky","method":"GET","path":"/api/observer-sky.php","example":"/api/observer-sky.php?datetime=now&lat=25.396&lon=68.3578&timezone=Asia/Karachi","category":"sky","status":"research","summary":"Observer-based altitude and azimuth from right ascension, declination and local sidereal time.","tags":["alt-az","observer","sky"],"parameters":[{"name":"datetime","type":"string","required":false,"default":"now","description":"ISO-8601 datetime or now"},{"name":"lat","type":"number","required":false,"default":25.396,"description":"Observer latitude","minimum":-90,"maximum":90},{"name":"lon","type":"number","required":false,"default":68.3578,"description":"Observer longitude","minimum":-180,"maximum":180},{"name":"timezone","type":"string","required":false,"default":"Asia/Karachi","description":"IANA timezone"}],"documentation":"/api/docs/#observer-sky","explorer":"/api/explorer/?endpoint=observer-sky"},{"id":"solar-system","name":"Solar System","method":"GET","path":"/api/solar-system.php","example":"/api/solar-system.php?date=2026-07-11&timezone=Asia/Karachi","category":"sky","status":"research","summary":"Solar-system positions and visibility-oriented data for a selected date.","tags":["planets","solar-system","visibility"],"parameters":[{"name":"date","type":"string","required":false,"default":"today","description":"Gregorian date YYYY-MM-DD or today"},{"name":"timezone","type":"string","required":false,"default":"Asia/Karachi","description":"IANA timezone"}],"documentation":"/api/docs/#solar-system","explorer":"/api/explorer/?endpoint=solar-system"},{"id":"simulation","name":"Astronomical Simulation","method":"GET","path":"/api/simulation.php","example":"/api/simulation.php?date=2026-07-11&timezone=Asia/Karachi","category":"sky","status":"stable","summary":"Sun, moon, illumination and eclipse archive data for date-wise visual simulations.","tags":["simulation","visualisation","daily"],"parameters":[{"name":"date","type":"string","required":false,"default":"today","description":"Gregorian date YYYY-MM-DD or today"},{"name":"timezone","type":"string","required":false,"default":"Asia/Karachi","description":"IANA timezone"}],"documentation":"/api/docs/#simulation","explorer":"/api/explorer/?endpoint=simulation"},{"id":"locations","name":"Sindh Locations","method":"GET","path":"/api/locations.php","example":"/api/locations.php?mode=unique","category":"sky","status":"stable","summary":"Deduplicated Sindh location directory and duplicate-name report.","tags":["locations","Sindh","geo"],"parameters":[{"name":"mode","type":"string","required":false,"default":"unique","enum":["unique","duplicates"],"description":"Directory mode"}],"documentation":"/api/docs/#locations","explorer":"/api/explorer/?endpoint=locations"},{"id":"sky-objects","name":"Sky Object Catalogue","method":"GET","path":"/api/sky/objects.php","example":"/api/sky/objects.php","category":"sky","status":"stable","summary":"Searchable Sindhi/English object and constellation catalogue for sky and AR clients.","tags":["catalogue","Sindhi","AR"],"parameters":[],"documentation":"/api/docs/#sky-objects","explorer":"/api/explorer/?endpoint=sky-objects"},{"id":"sky-ar","name":"AR Sky","method":"GET","path":"/api/sky/ar.php","example":"/api/sky/ar.php?lat=25.396&lon=68.3578&q=Moon&heading=120&pitch=25","category":"sky","status":"research","summary":"Live sky payload and camera guidance for Android augmented-reality clients.","tags":["AR","Android","camera"],"parameters":[{"name":"datetime","type":"string","required":false,"default":"now","description":"ISO-8601 datetime or now"},{"name":"timezone","type":"string","required":false,"default":"Asia/Karachi","description":"IANA timezone"},{"name":"lat","type":"number","required":false,"default":25.396,"description":"Observer latitude","minimum":-90,"maximum":90},{"name":"lon","type":"number","required":false,"default":68.3578,"description":"Observer longitude","minimum":-180,"maximum":180},{"name":"elev","type":"number","required":false,"default":0,"description":"Elevation above sea level in metres"},{"name":"q","type":"string","required":false,"description":"Sindhi or English object name"},{"name":"heading","type":"number","required":false,"description":"Camera compass azimuth","minimum":0,"maximum":360},{"name":"pitch","type":"number","required":false,"description":"Camera altitude angle","minimum":-90,"maximum":90},{"name":"hfov","type":"number","required":false,"default":60,"description":"Horizontal field of view"},{"name":"vfov","type":"number","required":false,"default":45,"description":"Vertical field of view"},{"name":"include_below_horizon","type":"boolean","required":false,"default":true,"description":"Include objects below the horizon"},{"name":"include_outer_planets","type":"boolean","required":false,"default":true,"description":"Include outer planets"}],"documentation":"/api/docs/#sky-ar","explorer":"/api/explorer/?endpoint=sky-ar"},{"id":"eclipses","name":"Eclipse Archive","method":"GET","path":"/api/eclipses.php","example":"/api/eclipses.php?year=2026&type=all&lat=25.396&lon=68.3578&place=Hyderabad","category":"eclipse","status":"research","summary":"Solar and lunar eclipse archive with first-pass location-aware visibility summaries.","tags":["eclipse","archive","visibility"],"parameters":[{"name":"year","type":"integer","required":false,"default":2026,"description":"Archive year","minimum":1900,"maximum":2100},{"name":"date","type":"string","required":false,"description":"Optional exact date YYYY-MM-DD or today"},{"name":"type","type":"string","required":false,"default":"all","enum":["all","solar","lunar"],"description":"Eclipse type"},{"name":"lat","type":"number","required":false,"default":25.396,"description":"Observer latitude","minimum":-90,"maximum":90},{"name":"lon","type":"number","required":false,"default":68.3578,"description":"Observer longitude","minimum":-180,"maximum":180},{"name":"place","type":"string","required":false,"default":"Hyderabad","description":"Place label"}],"documentation":"/api/docs/#eclipses","explorer":"/api/explorer/?endpoint=eclipses"},{"id":"eclipse-visibility","name":"Single Eclipse Visibility","method":"GET","path":"/api/eclipse-visibility.php","example":"/api/eclipse-visibility.php?id=l-2026-03-03&lat=25.396&lon=68.3578&place=Hyderabad","category":"eclipse","status":"research","summary":"One eclipse event with a coarse local visibility summary for supplied coordinates.","tags":["eclipse","event","local"],"parameters":[{"name":"id","type":"string","required":true,"description":"Eclipse event identifier","example":"l-2026-03-03"},{"name":"lat","type":"number","required":false,"default":25.396,"description":"Observer latitude","minimum":-90,"maximum":90},{"name":"lon","type":"number","required":false,"default":68.3578,"description":"Observer longitude","minimum":-180,"maximum":180},{"name":"place","type":"string","required":false,"default":"Hyderabad","description":"Place label"}],"documentation":"/api/docs/#eclipse-visibility","explorer":"/api/explorer/?endpoint=eclipse-visibility"},{"id":"validation","name":"Validation Report","method":"GET","path":"/api/validation.php","example":"/api/validation.php?year=2026&years=5","category":"validation","status":"validation","summary":"Multi-year validation framework report for astronomical and calendar engines.","tags":["validation","report","multi-year"],"parameters":[{"name":"year","type":"integer","required":false,"default":2026,"description":"Starting Gregorian year"},{"name":"years","type":"integer","required":false,"default":5,"description":"Number of years","minimum":1,"maximum":50}],"documentation":"/api/docs/#validation","explorer":"/api/explorer/?endpoint=validation"},{"id":"reference-data","name":"Reference Dataset Status","method":"GET","path":"/api/reference-data.php","example":"/api/reference-data.php","category":"validation","status":"stable","summary":"Availability and state of offline JSON reference datasets used for scientific comparison.","tags":["reference","dataset","status"],"parameters":[],"documentation":"/api/docs/#reference-data","explorer":"/api/explorer/?endpoint=reference-data"},{"id":"reference-comparison","name":"Reference Comparison","method":"GET","path":"/api/reference-comparison.php","example":"/api/reference-comparison.php","category":"validation","status":"validation","summary":"Compares populated reference values with current solar, lunar and equinox calculations.","tags":["comparison","reference","accuracy"],"parameters":[],"documentation":"/api/docs/#reference-comparison","explorer":"/api/explorer/?endpoint=reference-comparison"},{"id":"glossary","name":"Astronomical Glossary","method":"GET","path":"/api/glossary.php","example":"/api/glossary.php?q=moon&limit=10","category":"language","status":"stable","summary":"Versioned Sindhi astronomical terminology API with search, taxonomy, semantic relations and AI/AEO fields.","tags":["glossary","Sindhi","terminology"],"parameters":[{"name":"action","type":"string","required":false,"default":"list","enum":["list","term","search","categories","taxonomy","network","version"],"description":"Operation"},{"name":"q","type":"string","required":false,"description":"Search query"},{"name":"slug","type":"string","required":false,"description":"Exact term slug"},{"name":"category","type":"string","required":false,"description":"Category filter"},{"name":"status","type":"string","required":false,"description":"Review status filter"},{"name":"approved_only","type":"boolean","required":false,"default":false,"description":"Return approved terms only"},{"name":"limit","type":"integer","required":false,"default":25,"description":"Maximum records","minimum":1,"maximum":200},{"name":"offset","type":"integer","required":false,"default":0,"description":"Pagination offset","minimum":0},{"name":"full","type":"boolean","required":false,"default":false,"description":"Include full term and schema fields"}],"documentation":"/api/docs/#glossary","explorer":"/api/explorer/?endpoint=glossary"}],"links":{"portal":"/api/","documentation":"/api/docs/","explorer":"/api/explorer/","openapi":"/api/openapi.json","open_data":"/api/open-data/"},"freshness":{"requested_date":"2026-10-15","calculated_for":"2026-10-15","valid_date":"2026-10-15","generated_at":"2026-10-15T16:45:00+05:00","valid_from":"2026-10-15T16:45:00+05:00","valid_until":"2026-10-15T17:00:00+05:00","expires_at":"2026-10-15T17:00:00+05:00","timezone":"Asia/Karachi","is_live":true,"is_stale":false,"cache_bucket":"20261015-164500"}}