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"}'Доша — это определённое поражение в натальной карте: именованная планетарная конфигурация, которую классические тексты считают неблагоприятной, чаще всего для брака, здоровья или родовой линии. Этот эндпоинт проверяет восемь дош по моменту и месту рождения и может вернуть либо сами результаты, либо готовые к показу текстовые пояснения. Пользоваться им можно двумя способами. Отдельные ключи (`kala_sarpa`, `manglik`, `pitru_dosha` и остальные) возвращают структурированные результаты, с которыми удобно работать в коде. `get_dosha_details` возвращает весь набор в виде отформатированных HTML-абзацев с ключами по английским названиям дош — это удобно, если вы выводите отчёт; он охватывает кала-сарпу, мангалик-дошу, питру-дошу, гуру-чандалу, калатра-дошу, гхата-дошу и шрапит-дошу, но не ганда-мулу. `get_dosha_resources` отдаёт исходный корпус текстов, если вы хотите составлять текст сами. Сериализатор требует все булевы и структурированные поля запроса, даже для ключей, которые их игнорируют. `manglik_reference_planet` — индекс планеты (0 Солнце, 1 Луна, 2 Марс, 3 Меркурий, 4 Юпитер, 5 Венера, 6 Сатурн, 7 Раху, 8 Кету); значение по умолчанию в самом движке — отсчёт от асцендента — через API выбрать нельзя, потому что поле объявлено целочисленным. На этом эндпоинте поле смещения UTC называется `timezone`, а не `timezone_as_float`.
| Поле | Тип | Обязательно | Примечания |
|---|---|---|---|
| apply_exceptions | boolean | обязательный | |
| date_time | string (date-time) | обязательный | Момент расчёта в формате ISO 8601. ВСЕГДА указывайте смещение или суффикс Z: значение без часового пояса интерпретируется как Asia/Kolkata (UTC+05:30), а не UTC, и может вернуть результат за предыдущий день со статусом 200. '2026-09-01T06:00:00Z' и '2026-09-01 06:00:00' — разные моменты, и ответы для них будут разными. Ограничение ФОРМАТА. DRF DateTimeField: только ISO-8601 (входные форматы DRF по умолчанию), например "2026-09-01T06:00:00+05:30", "2026-09-01T06:00:00Z" или "2026-09-01 06:00:00" (без часового пояса подразумевается UTC). |
| include_2nd_house | boolean | обязательный | |
| include_lagna_house | boolean | обязательный | |
| keys | array | обязательный | Какие расчёты вернуть — списком названий. См. таблицу ключей этого эндпоинта; нераспознанное название отклоняет весь запрос. Один вызов стоит один кредит, сколько бы ключей вы ни запросили, поэтому запрашивайте всё нужное сразу, а не несколькими вызовами. get_dosha_resourceskala_sarpamanglikpitru_doshaguru_chandala_doshakalathraganda_moolaghatashrapitget_dosha_detailsМассив строк. 'manglik' требует manglik_reference_planet, include_lagna_house, include_2nd_house и apply_exceptions; 'ganda_moola' требует moon_star; 'get_dosha_details' требует date_time и geopos. |
| latitude | number (double) | обязательный | Широта места в десятичных градусах. Положительные значения — север, отрицательные — юг. Пример: 26.9124 для Джайпура, 40.7128 для Нью-Йорка. Минуты и секунды не принимаются — сначала переведите значение в десятичные градусы. min -90 · max 90 |
| longitude | number (double) | обязательный | Долгота места в десятичных градусах. Положительные значения — восток, отрицательные — запад. Пример: 75.7873 для Джайпура, -74.0060 для Нью-Йорка. Следите за знаком: без минуса Нью-Йорк окажется в Китае. min -180 · max 180 |
| manglik_reference_planet | integer | обязательный | |
| moon_star | string | обязательный | По смыслу — НОМЕР накшатры 1-27 (накшатры ганда-мулы: 1 Ashwini, 9 Ashlesha, 10 Magha, 18 Jyeshtha, 19 Moola, 27 Revati). Пока это несоответствие типов не исправлено, рабочий список допустимых значений опубликовать нельзя. |
| timezone | number (double) | обязательный | Смещение UTC для места, в часах, десятичным числом. Пример: 5.5 для Индии (UTC+05:30). По смыслу совпадает с timezone_as_float: другие эндпоинты называют это поле иначе. |
Перечислите в keys ровно те расчёты, которые вам нужны. Один неизвестный ключ — и отклоняется весь запрос. Сколько бы ключей вы ни запросили, спишется 1 кредит, так что собирайте их в один вызов.
| Ключ | Доп. поля | Описание | |
|---|---|---|---|
| ganda_moola | moon_star | Ганда-мула: является ли накшатра рождения одной из шести стыковых накшатр (Ashwini, Ashlesha, Magha, Jyeshtha, Moola, Revati). Ключ должен принимать номер накшатры 1–27 в `moon_star` и возвращать булево значение, но поле объявлено строковым, а в списке для сравнения — целые числа, поэтому сейчас ключ возвращает false при любых входных данных. | |
| get_dosha_details | date_time, geopos | Все семь дош с текстовыми описаниями — проверка и пояснения за один раз: объект с ключами по английским названиям дош — Kala Sarpa Dosha, Manglik Dosha, Pitru Dosha, Guru Chandala Dosha, Kalathra Dosha, Ghata Dosha и Shrapit Dosha; значения — HTML-фрагменты о том, есть ли доша и что она означает. Ганда-мула не входит. Нужны `date_time` и место. | |
| get_dosha_resources | — | Полный корпус пояснительных текстов о дошах — объект с ключами по названиям дош ('kala_sarpa', 'manglik', 'pitru', 'ghata' и т. д.), у каждой — список абзацев на английском языке. Первый элемент списка — формулировка «такой доши нет», следующие соответствуют затронутому дому или разновидности. Подходит, если вы хотите выводить собственный текст, а не готовый HTML. | |
| ghata | — | Гхата-доша: Марс и Сатурн вместе в одном знаке. Возвращает одно булево значение. | |
| guru_chandala_dosha | — | Гуру-чандала: Юпитер в соединении с Раху или Кету в одном знаке. Возвращает список из двух элементов: [присутствует ли сочетание, сильнее ли Юпитер из двух]. Оба равны false, если соединения нет. | |
| kala_sarpa | — | Кала-сарпа-доша: true, если все семь классических планет зажаты между Раху и Кету по одну сторону узловой оси. Возвращает одно булево значение; разновидность (Ananta, Kulika, Vasuki и т. д.) определяется домом, в котором находится Раху. | |
| kalathra | — | Калатра-доша — поражение дома брака. Равно true, если каждая естественно неблаготворная планета — Солнце, Марс, Сатурн, Раху и Кету — находится в 1-м, 2-м, 4-м, 7-м, 8-м или 12-м доме при отсчёте от седьмого дома. Возвращает одно булево значение; так как условие должно выполняться для всех пяти неблаготворных планет, true бывает редко. | |
| manglik | manglik_reference_planet, include_lagna_house, include_2nd_house, apply_exceptions | Мангалик-доша (мангал-доша): находится ли Марс в одном из домов, неблагоприятных для брака, при отсчёте от `manglik_reference_planet`. Возвращает список из трёх элементов: [мангалик ли, действует ли отмена, номера сработавших правил отмены]. Проверяются 4-й, 7-й, 8-й и 12-й дома, а также 2-й, если `include_2nd_house` равно true, и 1-й, если `include_lagna_house` равно true; отмены проверяются, только если `apply_exceptions` равно true. | |
| pitru_dosha | — | Питру-доша — поражение родовой линии. Возвращает список из двух элементов: [true или false, номера сработавших правил]. По порядку проверяются пять правил: светило или Раху в 9-м доме, Кету в 4-м, Солнце/Луна/Раху/Кету поражены Марсом или Сатурном, скопление Меркурия, Венеры и Раху во 2-м, 5-м, 9-м или 12-м и Солнце или Луна в соединении с узлом. | |
| shrapit | — | Шрапит-доша: Сатурн и Раху вместе в одном знаке. Возвращает одно булево значение. |