/api/vrat-upavas/1 кредитВраты и упавасы
Враты и упавасы — повторяющиеся в каждом индуистском месяце дни постов и обрядов; каждый из них привязан к определённой титхи. Эндпоинт возвращает все наступления запрошенных типов за год. Данные читаются из заранее рассчитанной таблицы, а не рассчитываются при запросе, поэтому год по восемнадцати типам обрядовых дней — это один запрос по индексу. Каждый тип определяется только набором номеров титхи по схеме 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 включительно; для года вне этого диапазона возвращаются пустые списки, а не ошибка.
https://api.occultapi.com/api/vrat-upavas/Аутентификация
Передавайте ключ в заголовке X-API-Key. Ключ — это серверные учётные данные: никогда не вставляйте его в JavaScript на стороне браузера или в мобильное приложение.
X-API-Key: yt_live_a1b2c3d4_…
Content-Type: application/jsonПоля запроса
| Поле | Тип | Обязательно | Примечания |
|---|---|---|---|
| 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: если значения расходятся, вы получите успешный ответ для неверного момента, поэтому берите оба из одного источника. Используйте смещение, действовавшее на эту дату, а не сегодняшнее: для рождения летом в стране с летним временем нужно летнее смещение. |
Пример запроса
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"]}'Ответ
{
"_truncated": true,
"_note": "Response shortened for the catalogue.",
"preview": "{\"data\": {\"ekadashi\": [{\"date\": \"2026-01-14\", \"month\": \"Magha\", \"tithi\": \"Ekadashi\", \"paksha\": \"Krishna\", \"start_time\": \"2026-01-13T15:19:08+05:30\", \"end_time\": \"2026-01-14T17:53:57+05:30\"}, {\"date\": \"2026-01-29\", \"month\": \"Phalguna\", \"tithi\": \"Ekadashi\", \"paksha\": \"Sukla\", \"start_time\": \"2026-01-28T16:37:06+05:30\", \"end_time\": \"2026-01-29T13:56:12+05:30\"}, {\"date\": \"2026-02-13\", \"month\": \"Phalguna\", \"tithi\": \"Ekadashi\", \"paksha\": \"Krishna\", \"start_time\": \"2026-02-12T12:23:19+05:30\", \"end_time\": \"2026-02-13T14:27:04+05:30\"}, {\"date\": \"2026-02-27\", \"month\": \"Chaitra\", \"tithi\": \"Ekadashi\", \"paksha\": \"Sukla\", \"start_time\": \"2026-02-27T00:34:31+05:30\", \"end_time\": \"2026-02-27T22:33:54+05:30\"}, {\"date\": \"2026-03-15\", \"month\": \"Chaitra\", \"tithi\": \"Ekadashi\", \"paksha\": \"Krishna\", \"start_time\": \"2026-03-14T08:12:06+05:30\", \"end_time\": \"2026-03-15T09:17:39+05:30\"}, {\"date\": \"2026-03-29\", \"month\": \"Vaisakha\", \"tithi\": \"Ekadashi\", \"paksha\": \"Sukla\", \"start_time\": \"2026-03-28T08:46:49+05:30\", \"end_time\": \"2026-03-29T07:47:32+05:30\"}, {\"date\": \"2026-04-13\", \"month\": \"Vaisakha\", \"tithi\": \"Ekadashi\", \"paksha\": \"Krishna\", \"start_time\": \"2026-04-13T01:18:00+05:30\", \"end_time\": \"2026-04-14T01:09:45+05:30\"}, {\"date\": \"2026-04-27\", \"month\": \"Jyeshtha\", \"tithi\": \"Ekadashi\", \"paksha\": \"Sukla\", \"start_time\": \"2026-04-26T18:08:02+05:30\", \"end_time\": \"2026-04-27T18:17:03+05:30\"}, {\"date\": \"2026-05-13\", \"month\": \"Jyeshtha\", \"tithi\": \"Ekadashi\", \"paksha\": \"Krishna\", \"start_time\": \"2026-05-12T14:53:26+05:30\", \"end_time\": \"2026-05-13T13:30:53+05:30\"}, {\"date\": \"2026-05-26\", \"month\": \"Ashadha\", \"tithi\": \"Ekadashi\", \"paksha\": \"Sukla\", \"start_time\": \"2026-05-26T05:11:58+05:30\", \"end_time\": \"2026-05-27T06:22:50+05:30\"}, {\"date\": \"2026-05-27\", \"month\": \"Ashadha\", \"tithi\": \"Ekadashi\", \"paksha\": \"Sukla\", \"start_time\": \"2026-05-26T05:11:58+05:30\", \"end_time\": \"2026-05-27T06:22:50+05:30\"}, {\"date\": \"2026-06-11\", \"month\": \"Ashadha\", \"tithi\": \"Ekadashi\", \"paksha\": \"Krishna\", \"start_time\": \"2026-06-11T00:58:46+05:30\", \"end_time\": \"2026-06-11T22:37:13+05:30\"}, {\"date\": \"2026-06-25\", \"month\": \"Ashadha\", \"tithi\": \"Ekadashi\", \"paksha\": \"Sukla\", \"start_time\": \"2026-06-24T18:13:24+05:30\", \"end_time\": \"2026-06-25T20:10:27+05:30\"}, {\"date\": \"2026-07-25\", \"month\": \"Shravana\", \"tithi\": \"Ekadashi\", \"paksha\": \"Sukla\", \"start_time\": \"2026-07-24T09:13:54+05:30\", \"end_time\": \"2026-07-25T11:35:24+05:30\"}, {\"date\": \"2026-08-09\", \"month\": \"Shravana\", \"tithi\": \"Ekadashi\", \"paksha\": \"Krishna\", \"start_time\": \"2026-08-08T14:00:14+05:30\", \"end_time\": \"2026-08-09T11:05:59+05:30\"}, {\"date\": \"2026-08-23\", \"month\": \"Bhadrapada\", \"tithi\": \"Ekadashi\", \"paksha\": \"Sukla\", \"start_time\": \"2026-08-23T02:01:28+05:30\", \"end_time\": \"2026-08-24T04:19:48+05:30\"}, {\"date\": \"2026-09-07\", \"month\": \"Bhadrapada\", \"tithi\": \"Ekadashi\", \"paksha\": \"Krishna\", \"start_time\": \"2026-09-06T19:30:12+05:30\", \"end_time\": \"2026-09-07T17:05:07+05:30\"}, {\"date\": \"2026-09-22\", \"month\": \"Ashwin\", \"tithi\": \"Ekadashi\", \"paksha\": \"Sukla\", \"start_time\": \"2026-09-21T20:01:57+05:30\", \"end_time\": \"2026-09-22T21:44:20+05:30\"}, {\"date\": \"2026-10-06\", \"month\": \"Ashwin\", \"tithi\": \"Ekadashi\", \"paksha\": \"Krishna\", \"start_time\": \"2026-10-06T02:08:30+05:30\", \"end_time\": \"2026-10-07T00:35:31+05:30\"}, {\"date\": \"2026-10-22\", \"month\": \"Kartika\", \"tithi\": \"Ekadashi\", \"paksha\": \"Sukla\", \"start_time\": \"2026-10-21T14:12:55+05:30\", \"end_time\": \"2026-10-22T14:49:06+05:30\"}, {\"date\": \"2026-11-05\", \"month\": \"Kartika\", \"tithi\": \"Ekadashi\", \"paksha\": \"Krishna\", \"start_time\": \"2026-11-04T11:04:18+05:30\", \"end_time\": \"2026-11-05T10:36:40+05:30\"}, {\"date\": \"2026-11-21\", \"month\": \"Margashirsha\", \"tithi\": \"Ekadashi\", \"paksha\": \"Sukla\", \"start_time\": \"2026-11-20T07:16:41+05:30\", \"end_time\": \"2026-11-21T06:32:32+05:30\"}, {\"date\": \"2026-12-04\", \"month\": \"Margashirsha\", \"tithi\": \"Ekadashi\", \"paksha\": \"Krishna\", \"start_time\": \"2026-12-03T23:04:36+05:30\", \"end_time\": \"2026-12-04T23:45:50+05:30\"}, {\"date\": \"2026-12-20\", \"month\": \"Pausha\", \"tithi\": \"Ekadashi\", \"paksha\""
}Записано с реального вызова ровно с этим запросом. Результаты лежат в data.
Ошибки
Ошибки списания кредитов приходят в виде { "error": "…", "message": "<code>", "is_error": true }. Людям показывайте error, а логику стройте на message. Подробнее — в справочнике ошибок.