curl -X POST https://api.occultapi.com/api/astro/dosha/ \
-H "X-API-Key: $OCCULT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"keys":["get_dosha_resources"],"date_time":"2025-07-11T04:37:08.718Z","latitude":26.9124,"longitude":75.7873,"timezone":0,"manglik_reference_planet":0,"include_lagna_house":true,"include_2nd_house":true,"apply_exceptions":true,"moon_star":"leo"}'Un dosha est une affliction précise d’un thème natal — une configuration planétaire bien identifiée que les textes classiques considèrent comme un handicap, le plus souvent pour le mariage, la santé ou la lignée. Cet endpoint en teste huit à partir du moment et du lieu de naissance, et renvoie au choix les résultats bruts ou des explications rédigées prêtes à afficher. Il s’utilise de deux façons. Les clés individuelles (`kala_sarpa`, `manglik`, `pitru_dosha`, etc.) renvoient des résultats structurés, exploitables dans votre code. `get_dosha_details` renvoie l’ensemble sous forme de paragraphes HTML mis en forme, indexés par le nom anglais du dosha : c’est ce qu’il vous faut pour produire un rapport. Cette clé couvre Kala Sarpa, Manglik, Pitru, Guru Chandala, Kalathra, Ghata et Shrapit, mais pas Ganda Moola. `get_dosha_resources` fournit le corpus de textes sous-jacent, si vous préférez rédiger vos propres textes. Le sérialiseur exige tous les champs booléens et structurés de la requête, même pour les clés qui les ignorent. `manglik_reference_planet` est un indice de planète (0 Soleil, 1 Lune, 2 Mars, 3 Mercure, 4 Jupiter, 5 Vénus, 6 Saturne, 7 Rahu, 8 Ketu) ; le comportement par défaut du moteur, qui compte à partir de l’ascendant, n’est pas accessible via l’API, car le champ est typé comme entier. Sur cet endpoint, le champ du décalage UTC s’appelle `timezone`, et non `timezone_as_float`.
| Champ | Type | Obligatoire | Remarques |
|---|---|---|---|
| apply_exceptions | boolean | obligatoire | |
| date_time | string (date-time) | obligatoire | Le moment du calcul, en ISO 8601. Incluez TOUJOURS un décalage ou un Z final - une valeur sans fuseau est lue comme Asia/Kolkata (UTC+05:30), et non comme UTC, et peut renvoyer le résultat de la veille avec un statut 200. '2026-09-01T06:00:00Z' et '2026-09-01 06:00:00' sont des instants différents et donnent des réponses différentes. Contrainte de FORMAT. DateTimeField DRF : ISO-8601 uniquement (formats d’entrée par défaut de DRF), p. ex. "2026-09-01T06:00:00+05:30", "2026-09-01T06:00:00Z" ou "2026-09-01 06:00:00" (sans fuseau = UTC supposé). |
| include_2nd_house | boolean | obligatoire | |
| include_lagna_house | boolean | obligatoire | |
| keys | array | obligatoire | Les calculs à renvoyer, sous forme de liste de noms. Consultez le tableau des clés de cet endpoint ; un nom non reconnu fait rejeter toute la requête. Un appel coûte un crédit quel que soit le nombre de clés demandées : demandez donc tout ce dont vous avez besoin en une seule fois plutôt que de faire plusieurs appels. get_dosha_resourceskala_sarpamanglikpitru_doshaguru_chandala_doshakalathraganda_moolaghatashrapitget_dosha_detailsTableau de chaînes. 'manglik' nécessite manglik_reference_planet, include_lagna_house, include_2nd_house et apply_exceptions ; 'ganda_moola' nécessite moon_star ; 'get_dosha_details' nécessite date_time et geopos. |
| latitude | number (double) | obligatoire | Latitude du lieu, en degrés décimaux. Positive au nord, négative au sud. Exemple : 26.9124 pour Jaipur, 40.7128 pour New York. Les minutes et les secondes ne sont pas acceptées - convertissez d’abord. min -90 · max 90 |
| longitude | number (double) | obligatoire | Longitude du lieu, en degrés décimaux. Positive à l’est, négative à l’ouest. Exemple : 75.7873 pour Jaipur, -74.0060 pour New York. Attention au signe : sans le moins, New York se retrouve en Chine. min -180 · max 180 |
| manglik_reference_planet | integer | obligatoire | |
| moon_star | string | obligatoire | Sur le fond, un NUMÉRO de nakshatra, 1-27 (les nakshatras Ganda Moola étant 1 Ashwini, 9 Ashlesha, 10 Magha, 18 Jyeshtha, 19 Moola, 27 Revati). Impossible de publier une liste de valeurs acceptées qui fonctionne tant que cette incohérence de type n’est pas corrigée. |
| timezone | number (double) | obligatoire | Décalage UTC du lieu, en heures, sous forme décimale. Exemple : 5.5 pour l’Inde (UTC+05:30). Même signification que timezone_as_float, que d’autres endpoints désignent sous un autre nom. |
Listez dans keys exactement les calculs voulus. Une clé inconnue fait rejeter toute la requête. Vous payez 1 crédit, quel que soit le nombre de clés demandées : regroupez-les donc.
| Clé | Champs supplémentaires requis | Description | |
|---|---|---|---|
| ganda_moola | moon_star | Ganda Moola : indique si le nakshatra de naissance est l’un des six nakshatras de jonction (Ashwini, Ashlesha, Magha, Jyeshtha, Moola, Revati). La clé est censée prendre le numéro de nakshatra 1–27 dans `moon_star` et renvoyer un booléen, mais le champ est typé comme chaîne alors que la liste de comparaison contient des entiers : en l’état, elle renvoie donc false quelle que soit l’entrée. | |
| get_dosha_details | date_time, geopos | Les sept doshas à texte rédigé, évalués et décrits en une seule fois : un objet indexé par le nom anglais du dosha — Kala Sarpa Dosha, Manglik Dosha, Pitru Dosha, Guru Chandala Dosha, Kalathra Dosha, Ghata Dosha et Shrapit Dosha — dont les valeurs sont des fragments HTML indiquant si le dosha est présent et ce qu’il signifie. Ganda Moola n’en fait pas partie. Nécessite `date_time` et le lieu. | |
| get_dosha_resources | — | Le corpus complet des textes d’explication des doshas, sous forme d’objet indexé par nom de dosha ('kala_sarpa', 'manglik', 'pitru', 'ghata', etc.), avec une liste de paragraphes en anglais pour chacun. La première entrée de chaque liste est le texte « dosha absent », les suivantes correspondent à la maison ou à la variante concernée. Servez-vous-en pour composer votre propre texte au lieu du HTML déjà assemblé. | |
| ghata | — | Ghata Dosha : Mars et Saturne réunis dans le même signe. Renvoie un seul booléen. | |
| guru_chandala_dosha | — | Guru Chandala : Jupiter en conjonction avec Rahu ou Ketu dans le même signe. Renvoie une liste de deux éléments : [présence de la combinaison, Jupiter est-il le plus fort des deux]. Les deux valent false en l’absence de conjonction. | |
| kala_sarpa | — | Kala Sarpa Dosha : vaut true lorsque les sept planètes classiques sont toutes enserrées entre Rahu et Ketu, d’un même côté de l’axe des nœuds. Renvoie un seul booléen ; la variante (Ananta, Kulika, Vasuki, etc.) dépend de la maison qu’occupe Rahu. | |
| kalathra | — | Kalathra Dosha, l’affliction de la maison du mariage. Vaut true lorsque tous les maléfiques naturels — Soleil, Mars, Saturne, Rahu et Ketu — se trouvent dans les maisons 1, 2, 4, 7, 8 ou 12 comptées à partir de la septième maison. Renvoie un seul booléen ; comme les cinq maléfiques doivent tous remplir la condition, il vaut rarement true. | |
| manglik | manglik_reference_planet, include_lagna_house, include_2nd_house, apply_exceptions | Manglik, ou Mangal Dosha : indique si Mars se trouve dans l’une des maisons qui affligent le mariage, comptées à partir de `manglik_reference_planet`. Renvoie une liste de trois éléments : [manglik ou non, une annulation s’applique-t-elle, numéros des règles d’annulation retenues]. Les maisons testées sont les maisons 4, 7, 8 et 12, plus la maison 2 si `include_2nd_house` vaut true et la maison 1 si `include_lagna_house` vaut true ; les annulations ne sont évaluées que si `apply_exceptions` vaut true. | |
| pitru_dosha | — | Pitru Dosha, l’affliction de la lignée. Renvoie une liste de deux éléments : [true ou false, numéros des règles déclenchées]. Cinq règles sont testées dans l’ordre : un luminaire ou Rahu en maison 9, Ketu en maison 4, Soleil/Lune/Rahu/Ketu affligés par Mars ou Saturne, une concentration de Mercure, Vénus et Rahu dans les maisons 2, 5, 9 ou 12, et le Soleil ou la Lune en conjonction avec un nœud. | |
| shrapit | — | Shrapit Dosha : Saturne et Rahu réunis dans le même signe. Renvoie un seul booléen. |