Перейти к основному содержимому
POST/api/astro/yoga_scan/1 кредит

Поиск нитья-йоги за год

Нитья-йога определяется суммой сидерических долгот Солнца и Луны: круг делится на двадцать семь частей, и каждая часть — одна йога. Каждая из двадцати семи — от Vishkambha до Vaidhriti — длится чуть меньше суток, и они важны для элективной астрологии: Vyatipata, Vaidhriti, Parigha, Vyaghata, Shoola, Ganda и Atiganda традиционно избегают, а йоги Siddhi, Siddha, Shubha, йоги класса Amrita и Sukarma, наоборот, ищут. Эндпоинт принимает одну йогу по названию и возвращает все её наступления за календарный год. `yoga_name` чувствителен к регистру и должен в точности совпадать со значением перечисления. `year` и `timezone_as_float` задают местный год, а координаты не нужны: йога сменяется везде в один и тот же момент. Сумма двух долгот растёт примерно на 13 градусов 20 минут за 22.6 часа, поэтому каждая йога повторяется примерно четырнадцать-пятнадцать раз в год. Ответ — `{year, yoga_name, rows}`, где `rows` — список меток времени `{start, end}` в формате ISO в UTC в хронологическом порядке. Каждая пара — истинные моменты начала и конца йоги, найденные бисекцией по сумме долгот Солнца и Луны, а не проверкой на восходе, поэтому границы точны до долей секунды.

https://api.occultapi.com/api/astro/yoga_scan/
Попробовать запрос

Аутентификация

Передавайте ключ в заголовке X-API-Key. Ключ — это серверные учётные данные: никогда не вставляйте его в JavaScript на стороне браузера или в мобильное приложение.

X-API-Key: yt_live_a1b2c3d4_…
Content-Type: application/json

Поля запроса

ПолеТипОбязательноПримечания
timezone_as_floatnumber (double)обязательный

Смещение UTC для места, в часах, десятичным числом. Пример: 5.5 для Индии (UTC+05:30), -5 для Нью-Йорка зимой, 5.75 для Непала. Оно НЕ сверяется с date_time: если значения расходятся, вы получите успешный ответ для неверного момента, поэтому берите оба из одного источника. Используйте смещение, действовавшее на эту дату, а не сегодняшнее: для рождения летом в стране с летним временем нужно летнее смещение.

yearintegerобязательный

Год рождения числом, например 1990. Четыре цифры.

min 1800 · max 2400

yoga_namestringобязательный
VishkambhaPreetiAyushmanSaubhagyaShobhanaAtigandaSukarmaDhritiShoolaGandaVriddhiDhruva

Пример запроса

curl -X POST https://api.occultapi.com/api/astro/yoga_scan/ \
  -H "X-API-Key: $OCCULT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"timezone_as_float":5.5,"year":2026,"yoga_name":"Vishkambha"}'

Ответ

{
  "data": {
    "year": 2026,
    "yoga_name": "Vishkambha",
    "rows": [
      {
        "start": "2026-01-04T20:17:27.999999+00:00",
        "end": "2026-01-05T17:17:16.999999+00:00"
      },
      {
        "start": "2026-01-30T11:28:35.999999+00:00",
        "end": "2026-01-31T08:03:35.999999+00:00"
      },
      {
        "start": "2026-02-24T22:56:20.999999+00:00",
        "end": "2026-02-25T19:58:43.999999+00:00"
      },
      {
        "start": "2026-03-22T10:11:35.999999+00:00",
        "end": "2026-03-23T06:52:06.999999+00:00"
      },
      {
        "start": "2026-04-17T01:51:55.999999+00:00",
        "end": "2026-04-17T22:15:28.999999+00:00"
      },
      {
        "start": "2026-05-12T17:49:31.999999+00:00",
        "end": "2026-05-13T15:24:49.999999+00:00"
      },
      {
        "start": "2026-06-07T04:31:57.999999+00:00",
        "end": "2026-06-08T03:58:13.999999+00:00"
      },
      {
        "start": "2026-07-02T11:09:21.999999+00:00",
        "end": "2026-07-03T11:30:01.999999+00:00"
      },
      {
        "start": "2026-07-27T17:24:55.999999+00:00",
        "end": "2026-07-28T18:03:37.999999+00:00"
      },
      {
        "start": "2026-08-21T23:48:40.999999+00:00",
        "end": "2026-08-23T00:44:33.999999+00:00"
      },
      {
        "start": "2026-09-16T06:52:40.999999+00:00",
        "end": "2026-09-17T07:19:46.999999+00:00"
      },
      {
        "start": "2026-10-11T15:35:35.999999+00:00",
        "end": "2026-10-12T15:02:25.999999+00:00"
      },
      {
        "start": "2026-11-05T23:39:40.999999+00:00",
        "end": "2026-11-06T22:40:11.999999+00:00"
      },
      {
        "start": "2026-12-01T06:45:12.999999+00:00",
        "end": "2026-12-02T05:01:50.999999+00:00"
      },
      {
        "start": "2026-12-26T18:52:33.999999+00:00",
        "end": "2026-12-27T15:23:47.999999+00:00"
      }
    ]
  },
  "message": "successful",
  "is_error": false
}

Записано с реального вызова ровно с этим запросом. Результаты лежат в data.

Ошибки

Ошибки списания кредитов приходят в виде { "error": "…", "message": "<code>", "is_error": true }. Людям показывайте error, а логику стройте на message. Подробнее — в справочнике ошибок.