curl -X POST https://api.occultapi.com/api/vrat-upavas/ \
-H "X-API-Key: $OCCULT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"year":2026,"month":9,"keys":["ekadashi","amavasya","pradosham"]}'Враты и упавасы — повторяющиеся в каждом индуистском месяце дни постов и обрядов; каждый из них привязан к определённой титхи. Эндпоинт возвращает все наступления запрошенных типов за год. Данные читаются из заранее рассчитанной таблицы, а не рассчитываются при запросе, поэтому год по восемнадцати типам обрядовых дней — это один запрос по индексу. Каждый тип определяется только набором номеров титхи по схеме 1-30, где 1-15 — от Shukla Pratipada до Purnima, 16-29 — от Krishna Pratipada до Chaturdashi, а 30 — Amavasya. Так, `ekadashi` возвращает обе экадаши каждого месяца, `pradosham` — обе Trayodashi, `shivarathri` — Krishna Chaturdashi каждого месяца (ежемесячную Masik Shivaratri, а не только Maha Shivaratri), `sashti`, `durgashtami` и `vinayaka_chathurthi` — шестую, восьмую и четвёртую титхи шукла-пакши, `kaalashtami` и `sankatahara_chathurthi` — их аналоги в кришна-пакше, `amavasya` и `pournami` — новолуния и полнолуния, `sathyanarayana_puja` — полнолуние, `chandra_dharshan` и `moondraam_pirai` — первый и третий дни растущей Луны, а `srartha_yoga`, `ashtaka`, `manvaadhi` и `yugadhi` — свои небольшие наборы титхи. Учтите: `mahalaya_paksha` соответствует всем титхи с 15 по 30, т. е. всей тёмной половине каждого лунного месяца, а не только Bhadrapada Pitru Paksha. `year` и `keys` обязательны. Если дополнительно передать `latitude`, `longitude` и `timezone_as_float`, к каждому событию добавляются два поля, рассчитываемых на лету: `moonrise` — вечерний восход Луны в вашем месте, приходящийся на окно титхи этого события, и — только для строк `vinayaka_chathurthi` — `puja_muhurat` с `start`, `end` и `duration_minutes` для окна Madhyahna Ganesha Puja. Если рассчитать их не удаётся, оба равны null, а без координат их в ответе нет вовсе. Ответ — `{data}` с ключами по каждому запрошенному типу, в каждом — список `{date, month, tithi, paksha, start_time, end_time}` в хронологическом порядке, где время — точные моменты начала и конца титхи. Даты рассчитаны заранее на годы с 2006 по 2046 включительно; для года вне этого диапазона возвращаются пустые списки, а не ошибка.
| Поле | Тип | Обязательно | Примечания |
|---|---|---|---|
| keys | array | обязательный | Какие расчёты вернуть — списком названий. См. таблицу ключей этого эндпоинта; нераспознанное название отклоняет весь запрос. Один вызов стоит один кредит, сколько бы ключей вы ни запросили, поэтому запрашивайте всё нужное сразу, а не несколькими вызовами. amavasyaashtakachandra_dharshandurgashtamiekadashikaalashtamimahalaya_pakshamanvaadhimoondraam_piraipournamipradoshamsankatahara_chathurthiКакие обрядовые дни вернуть. Можно запросить несколько за один вызов — ответ будет с ключами по типам, а стоимость та же. |
| year | integer | обязательный | Год рождения числом, например 1990. Четыре цифры. Год из четырёх цифр. Даты рассчитаны заранее на 2006–2046; вне этого диапазона ответ пустой. |
| latitude | number (double) | необязательный | Широта места в десятичных градусах. Положительные значения — север, отрицательные — юг. Пример: 26.9124 для Джайпура, 40.7128 для Нью-Йорка. Минуты и секунды не принимаются — сначала переведите значение в десятичные градусы. |
| longitude | number (double) | необязательный | Долгота места в десятичных градусах. Положительные значения — восток, отрицательные — запад. Пример: 75.7873 для Джайпура, -74.0060 для Нью-Йорка. Следите за знаком: без минуса Нью-Йорк окажется в Китае. |
| timezone_as_float | number (double) | необязательный | Смещение UTC для места, в часах, десятичным числом. Пример: 5.5 для Индии (UTC+05:30), -5 для Нью-Йорка зимой, 5.75 для Непала. Оно НЕ сверяется с date_time: если значения расходятся, вы получите успешный ответ для неверного момента, поэтому берите оба из одного источника. Используйте смещение, действовавшее на эту дату, а не сегодняшнее: для рождения летом в стране с летним временем нужно летнее смещение. |