/api/astro/shani_analysis/1 créditoFases del tránsito de Saturno
El lento recorrido de Saturno por el zodíaco da lugar a cuatro fases con nombre propio que la astrología india sigue muy de cerca, todas medidas desde la Luna natal o el ascendente natal: Sade Sati, los siete años y medio en torno al paso de Saturno sobre ese punto; Ashtama Shani, Saturno en la octava casa desde él; Kantaka Shani, Saturno en la cuarta, la séptima o la décima; y Dhaiya, también llamado Ardhashtama, Saturno en la cuarta o la octava. Este endpoint indica si cada una está en curso en un momento dado, cuándo termina y cuándo empieza la siguiente. Envía dos cartas: los datos de nacimiento en `date_time_natal`, `latitude_natal`, `longitude_natal` y `chart_name_natal`, y el momento que te interesa en los campos `_transit` equivalentes. `ref_celestial` elige si las fases se miden desde la Luna natal o desde el ascendente natal. `mode` fija lo estricta que es la comprobación: 0 mira la posición por casas de signo entero, y los valores más altos comprueban en cambio una franja de grados en torno al punto de referencia, lo que da fechas de inicio y fin bastante más ajustadas. La respuesta contiene ocho objetos. `ashtama_shani`, `kantaka_shani`, `dhaiya_shani` y `sade_sati_shani` tienen la forma `{status, end_date}`: un booleano que indica si la fase está en curso en el momento del tránsito y, si lo está, una fecha de fin en ISO 8601 y UTC, o null si no lo está. `next_ashtama_shani`, `next_kantaka_shani` y `next_dhaiya_shani` tienen la forma `{date, ref_house_from_natal}`: cuándo empieza la siguiente vez y qué casa desde el punto de referencia la activa; `next_sade_sati_shani` da solo `{date}`. La búsqueda hacia delante abarca cien años desde el momento del tránsito. Como Kantaka y Dhaiya incluyen ambas la cuarta casa, a menudo devuelven las mismas fechas. Es lo esperado, no un duplicado.
https://api.occultapi.com/api/astro/shani_analysis/Autenticación
Envía tu clave en la cabecera X-API-Key. La clave es una credencial de servidor: nunca la pongas en el JavaScript del navegador ni en una app móvil.
X-API-Key: yt_live_a1b2c3d4_…
Content-Type: application/jsonCampos de la solicitud
| Campo | Tipo | Obligatorio | Notas |
|---|---|---|---|
| chart_name_natal | string | obligatorio | |
| chart_name_transit | string | obligatorio | |
| date_time_natal | string (date-time) | obligatorio | |
| date_time_transit | string (date-time) | obligatorio | |
| latitude_natal | number (double) | obligatorio | min -180 · max 180 |
| latitude_transit | number (double) | obligatorio | min -180 · max 180 |
| longitude_natal | number (double) | obligatorio | min -180 · max 180 |
| longitude_transit | number (double) | obligatorio | min -180 · max 180 |
| mode | integer | obligatorio | |
| ref_celestial | string | obligatorio | ascendantmoon |
Ejemplo de solicitud
curl -X POST https://api.occultapi.com/api/astro/shani_analysis/ \
-H "X-API-Key: $OCCULT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"date_time_natal":"2025-11-21T05:41:58.124Z","date_time_transit":"2024-11-21T05:41:58.124Z","longitude_natal":77.5946,"latitude_natal":12.9716,"longitude_transit":26.1046,"latitude_transit":26.9124,"chart_name_natal":"RashiChart","chart_name_transit":"RashiChart","ref_celestial":"ascendant","mode":0}'Respuesta
{
"data": {
"ashtama_shani": {
"status": false,
"end_date": null
},
"kantaka_shani": {
"status": false,
"end_date": null
},
"dhaiya_shani": {
"status": false,
"end_date": null
},
"sade_sati_shani": {
"status": true,
"end_date": "2025-03-09T10:21:25Z"
},
"next_ashtama_shani": {
"date": "2036-08-08T03:38:39Z",
"ref_house_from_natal": 8
},
"next_kantaka_shani": {
"date": "2027-05-11T00:01:56Z",
"ref_house_from_natal": 4
},
"next_dhaiya_shani": {
"date": "2027-05-11T00:01:56Z",
"ref_house_from_natal": 4
},
"next_sade_sati_shani": {
"date": "2046-02-22T02:59:10Z"
}
},
"message": "successful",
"is_error": false
}Obtenida de una llamada real con la solicitud de arriba, tal cual. Los resultados van dentro de data.
Errores
Los errores de control de uso devuelven { "error": "…", "message": "<code>", "is_error": true }. Muestra error al usuario y usa message para decidir qué hace tu código. Consulta la referencia de errores.