{"openapi":"3.1.0","info":{"title":"Mon Thème Astral – API publique","version":"1.0.0","description":"Calcul de thème astral (positions tropicales géocentriques, maisons Placidus) et ciel du jour. Aucune authentification. Usage raisonnable."},"servers":[{"url":"https://monthemesastral.fr"}],"paths":{"/api/theme":{"get":{"summary":"Calculer un thème natal","parameters":[{"name":"date","in":"query","required":true,"schema":{"type":"string","example":"1990-05-12"},"description":"Date de naissance AAAA-MM-JJ (1900–2100)."},{"name":"heure","in":"query","required":false,"schema":{"type":"string","example":"14:30"},"description":"Heure locale HH:MM, ou « inconnue »."},{"name":"ville","in":"query","required":false,"schema":{"type":"string","example":"Paris"},"description":"Ville de naissance (recherche hors-ligne, 86 000 villes)."},{"name":"pays","in":"query","required":false,"schema":{"type":"string","example":"FR"},"description":"Code pays ISO 3166-1 alpha-2 pour lever les ambiguïtés."},{"name":"lat","in":"query","required":false,"schema":{"type":"number"}},{"name":"lon","in":"query","required":false,"schema":{"type":"number"},"description":"Longitude est positive."},{"name":"tz","in":"query","required":false,"schema":{"type":"string","example":"Europe/Paris"},"description":"Fuseau IANA ; déduit des coordonnées si absent."},{"name":"maisons","in":"query","required":false,"schema":{"type":"string","enum":["placidus","egales","signes-entiers"]}},{"name":"prenom","in":"query","required":false,"schema":{"type":"string"}},{"name":"format","in":"query","required":false,"schema":{"type":"string","enum":["json","text"]}}],"responses":{"200":{"description":"Thème calculé (JSON ou texte brut)."},"400":{"description":"Paramètres invalides ; le champ `error` explique le problème."}}}},"/api/ciel":{"get":{"summary":"Positions planétaires du moment","parameters":[{"name":"date","in":"query","required":false,"schema":{"type":"string","example":"2026-10-02"}},{"name":"format","in":"query","required":false,"schema":{"type":"string","enum":["json","text"]}}],"responses":{"200":{"description":"Ciel du jour."}}}},"/api/villes":{"get":{"summary":"Rechercher une ville","parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":15}}],"responses":{"200":{"description":"Liste de villes avec lat, lon, fuseau."}}}}}}