curl -X POST https://api.occultapi.com/api/astro/dasha/drill/ \
-H "X-API-Key: $OCCULT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"latitude":26.9124,"longitude":75.7873,"dasha_direction":"forward","dasha_start":"current","date_time":"2026-09-01 06:00:00","node":"true","timezone_as_float":5.5}'Одна ветвь дерева даш вместо всего дерева. levels на других эндпоинтах даш ограничивает ГЛУБИНУ, но всё равно возвращает все периоды на этой глубине: levels=3 для Вимшоттари — это каждая пратьянтардаша в каждой антардаше каждой махадаши, около 95 KB. Экрану, где пользователь нажимает на одну махадашу, чтобы раскрыть её, нужна лишь одна ветвь. Передайте этому эндпоинту цепочку управителей, и он вернёт только то, что вложено в указанный период. {"lords": ["moon", "mars"], "levels": 1} возвращает пратьянтардаши внутри антардаши Марса в махадаше Луны — примерно 1.8 KB против 95 KB всего дерева. Имена управителей сравниваются без учёта регистра, а path в ответе повторяет цепочку, которая фактически совпала. Для накшатра-даш указывайте название планеты, для раши-даш Джаймини — название знака; для нераспознанного управителя возвращается 400 со списком того, что доступно на этом уровне. Это экономит ПЕРЕДАЧУ ДАННЫХ, а не ВЫЧИСЛЕНИЯ. Движок всё равно строит дерево до запрошенной глубины, а этот эндпоинт отбрасывает лишнее, поэтому детализация вычисляется не быстрее равнозначного вызова с levels=. Экономятся трафик, разбор JSON и память, которую браузер или телефон тратит на всё дерево, когда показывает из него одну ветвь.
| Поле | Тип | Обязательно | Примечания |
|---|---|---|---|
| latitude | number (double) | обязательный | Широта места в десятичных градусах. Положительные значения — север, отрицательные — юг. Пример: 26.9124 для Джайпура, 40.7128 для Нью-Йорка. Минуты и секунды не принимаются — сначала переведите значение в десятичные градусы. min -90 · max 90 |
| longitude | number (double) | обязательный | Долгота места в десятичных градусах. Положительные значения — восток, отрицательные — запад. Пример: 75.7873 для Джайпура, -74.0060 для Нью-Йорка. Следите за знаком: без минуса Нью-Йорк окажется в Китае. min -180 · max 180 |
| dasha_direction | string | необязательный | forwardbackward |
| dasha_start | string | необязательный | С какого цикла начинается временная шкала. currentnextprevious |
| 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' — разные моменты, и ответы для них будут разными. |
| datetime | string (date-time) | необязательный | Момент расчёта в формате ISO 8601. ВСЕГДА указывайте смещение или суффикс Z: значение без часового пояса интерпретируется как Asia/Kolkata (UTC+05:30), а не UTC. То же, что date_time: другие эндпоинты называют это поле иначе. |
| days_in_year | number (double) | необязательный | Какой длины год используется для измерения периодов: 360 — классический год савана, 365.25 — юлианский год. min 360 · max 365.256364 |
| levels | integer | необязательный | Сколько уровней НИЖЕ найденного периода вернуть. 1 — только непосредственно вложенные периоды. min 1 · max 4 |
| lords | array | необязательный | Цепочка управителей периодов, по которой нужно пройти сверху, начиная с внешнего, — например, ["moon", "mars"] означает «внутри махадаши Луны, внутри её антардаши Марса». Название планеты для накшатра-даш, название знака для раши-даш. Пустая цепочка возвращает верхний уровень. |
| node | string | необязательный | Модель лунных узлов. Обязательна для родительского эндпоинта раши, где у неё нет значения по умолчанию; здесь оно задано. truemean |
| system | string | необязательный | Система даш. См. /api/astro/dasha/systems/. По умолчанию — Вимшоттари. |
| timezone_as_float | number (double) | необязательный | Смещение UTC для места, в часах, десятичным числом. Пример: 5.5 для Индии (UTC+05:30), -5 для Нью-Йорка зимой, 5.75 для Непала. Оно НЕ сверяется с date_time: если значения расходятся, вы получите успешный ответ для неверного момента, поэтому берите оба из одного источника. Используйте смещение, действовавшее на эту дату, а не сегодняшнее: для рождения летом в стране с летним временем нужно летнее смещение. min -12 · max 14 |