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"]}'Vrat e upavas são os dias recorrentes de jejum e de observância do mês hindu, cada um ligado a um tithi específico. Este endpoint retorna todas as ocorrências dos tipos que você pedir ao longo de um ano inteiro, lidas de uma tabela pré-calculada em vez de calculadas na requisição; assim, um ano inteiro de dezoito tipos de observância sai de uma única consulta indexada. Cada tipo é definido apenas pelos números de tithi aos quais corresponde, no esquema de 1-30 em que 1-15 são de Shukla Pratipada a Purnima, 16-29 são de Krishna Pratipada a Chaturdashi e 30 é Amavasya. Assim, `ekadashi` retorna os dois Ekadashis de cada mês, `pradosham` os dois Trayodashis, `shivarathri` o Krishna Chaturdashi de cada mês (o Masik Shivaratri mensal, não apenas o Maha Shivaratri), `sashti`, `durgashtami` e `vinayaka_chathurthi` o sexto, o oitavo e o quarto dias de Shukla, `kaalashtami` e `sankatahara_chathurthi` os seus equivalentes de Krishna, `amavasya` e `pournami` as luas novas e cheias, `sathyanarayana_puja` a lua cheia, `chandra_dharshan` e `moondraam_pirai` o primeiro e o terceiro dias da lua crescente, e `srartha_yoga`, `ashtaka`, `manvaadhi` e `yugadhi` os seus próprios pequenos conjuntos de tithis. Atenção: `mahalaya_paksha` corresponde a todos os tithis de 15 a 30, o que significa a quinzena escura inteira de cada mês lunar, e não apenas o Pitru Paksha de Bhadrapada. `year` e `keys` são obrigatórios. Passar também `latitude`, `longitude` e `timezone_as_float` acrescenta dois campos calculados em tempo real a cada evento: `moonrise`, o nascer da lua vespertino que cai dentro da janela do tithi desse evento, na sua localização, e, apenas nas linhas de `vinayaka_chathurthi`, `puja_muhurat` com `start`, `end` e `duration_minutes` para a janela de Madhyahna Ganesha Puja. Ambos são retornados como null se não puderem ser calculados, e nenhum dos dois aparece se você omitir as coordenadas. A resposta é `{data}`, indexada por cada tipo solicitado, cada um contendo uma lista cronológica de `{date, month, tithi, paksha, start_time, end_time}`, em que os horários são os instantes exatos em que o tithi começa e termina. As datas são pré-calculadas de 2006 a 2046, inclusive; um ano fora desse intervalo retorna listas vazias em vez de um erro.
| Campo | Tipo | Obrigatório | Observações |
|---|---|---|---|
| keys | array | obrigatório | Quais cálculos retornar, como uma lista de nomes. Veja a tabela de chaves deste endpoint; um nome não reconhecido rejeita a requisição inteira. Uma chamada custa um crédito, não importa quantas chaves você peça, então solicite tudo o que precisa de uma vez em vez de fazer várias chamadas. amavasyaashtakachandra_dharshandurgashtamiekadashikaalashtamimahalaya_pakshamanvaadhimoondraam_piraipournamipradoshamsankatahara_chathurthiQuais observâncias retornar. Peça várias em uma única chamada - a resposta é indexada por tipo e o custo é o mesmo. |
| year | integer | obrigatório | Ano de nascimento como número, por exemplo 1990. Quatro dígitos. Ano com quatro dígitos. As datas são pré-calculadas de 2006 a 2046; fora desse intervalo, a resposta é vazia. |
| latitude | number (double) | opcional | Latitude do local, em graus decimais. Positivo é norte, negativo é sul. Exemplo: 26.9124 para Jaipur, 40.7128 para Nova York. Minutos e segundos não são aceitos - converta antes. |
| longitude | number (double) | opcional | Longitude do local, em graus decimais. Positivo é leste, negativo é oeste. Exemplo: 75.7873 para Jaipur, -74.0060 para Nova York. Atenção ao sinal: sem o sinal de menos, Nova York vai parar na China. |
| timezone_as_float | number (double) | opcional | Deslocamento UTC do local, em horas, como número decimal. Exemplo: 5.5 para a Índia (UTC+05:30), -5 para Nova York no inverno, 5.75 para o Nepal. Este valor NÃO é conferido com date_time: se os dois divergirem, você recebe uma resposta bem-sucedida para o momento errado. Por isso, tire os dois da mesma fonte. Use o deslocamento em vigor naquela data, não o de hoje: quem nasceu no verão, em um país com horário de verão, precisa do deslocamento de verão. |