curl -X POST https://api.occultapi.com/api/astro/house/ \
-H "X-API-Key: $OCCULT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"keys":["set_house_method"],"latitude":26.9124,"longitude":26.1046,"timezone_as_float":5.5,"method_name":"equal","notation":"astrological","date_time":"2024-11-18"}'Las doce divisiones de las casas para un momento y un lugar, en el sistema de casas que indiques. La práctica védica suele tomar los signos enteros como casas, pero este endpoint ofrece todos los sistemas del motor de efemérides (Placidus, Koch, Campanus, Regiomontanus, Sripati, Porphyry, casas iguales y de signo entero, entre un par de docenas), así que puedes levantar la misma carta en el sistema que espera cada tradición. Las posiciones son siderales. La distinción que hay que tener clara es la de cúspide frente a intervalo. Una cúspide es el grado único que el sistema asigna a una casa; un intervalo es el tramo que la casa ocupa realmente, que aquí se calcula con los puntos medios entre cúspides vecinas: una casa va desde la mitad del camino hacia la cúspide anterior hasta la mitad del camino hacia la siguiente. `house_cusps` da las doce cúspides; `house_starts` y `house_ends`, los dos bordes; `house_ranges`, ambos bordes juntos, y `houses`, los tres a la vez. `notation` fija las unidades de toda la respuesta: 'degree' para grados decimales en bruto a lo largo de la eclíptica, 'astrological' para signo más grados, minutos y segundos. `method_name` distingue mayúsculas y minúsculas y varios valores llevan espacios o signos de puntuación, así que cópialos tal cual. El sistema ya se aplica a partir de `method_name` al construir la solicitud, así que `set_house_method` y `change_house_system` solo sirven para cambiar de sistema a mitad de una llamada con varias claves.
| Campo | Tipo | Obligatorio | Notas |
|---|---|---|---|
| date_time | string (date-time) | obligatorio | El momento del cálculo, en ISO 8601. Incluye SIEMPRE la diferencia con UTC o una Z final: un valor sin zona horaria se interpreta como Asia/Kolkata (UTC+05:30), no como UTC, y puede devolver con un 200 el resultado del día anterior. '2026-09-01T06:00:00Z' y '2026-09-01 06:00:00' son instantes distintos y dan respuestas distintas. Restricción de FORMATO. DRF DateTimeField: solo ISO-8601 (formatos de entrada por defecto de DRF), p. ej., "2026-09-01T06:00:00+05:30", "2026-09-01T06:00:00Z" o "2026-09-01 06:00:00" (sin zona horaria = se toma como UTC). |
| keys | array | obligatorio | Los cálculos que quieres recibir, como lista de nombres. Consulta la tabla de claves de este endpoint; un nombre que no se reconoce invalida toda la solicitud. Cada llamada cuesta un crédito, pidas las claves que pidas, así que pide todo lo que necesites de una vez en lugar de hacer varias llamadas. set_house_methodhouseshouse_rangeshouse_startshouse_cuspshouse_endschange_house_systemArray de cadenas. 'set_house_method' y 'change_house_system' usan `method_name`; las otras cinco usan `notation`. |
| method_name | string | obligatorio | equalalcabitiuscampanusequal (mc)carter poli-equ.gauquelin sectorshorizon/azimutsunshinesavard-akochpullen sdmorinusEn minúsculas; distingue mayúsculas y minúsculas. Varios valores llevan espacios, barras o signos de puntuación: cópialos tal cual, p. ej., 'equal (mc)', 'carter poli-equ.', 'horizon/azimut'. |
| notation | string | obligatorio | astrologicaldegreeEn minúsculas; distingue mayúsculas y minúsculas. 'degree' devuelve grados decimales en bruto; 'astrological' devuelve signo + d/m/s. Cualquier otro valor devuelve 400. |
| timezone_as_float | number (double) | obligatorio | Diferencia horaria del lugar con UTC, en horas y con decimales. Ejemplo: 5.5 para la India (UTC+05:30), -5 para Nueva York en invierno, 5.75 para Nepal. NO se contrasta con date_time: si los dos no coinciden, recibes una respuesta correcta para un momento equivocado, así que toma ambos valores de la misma fuente. Usa la diferencia vigente en esa fecha, no la de hoy: para un nacimiento en verano en un país con horario de verano, hace falta la diferencia de verano. min -12 · max 14 |
| latitude | number (double) | opcional | Latitud del lugar, en grados decimales. Los valores positivos indican el norte y los negativos, el sur. Ejemplo: 26.9124 para Jaipur, 40.7128 para Nueva York. No se aceptan minutos ni segundos: conviértelos antes. min -89.9 · max 89.9 |
| longitude | number (double) | opcional | Longitud del lugar, en grados decimales. Los valores positivos indican el este y los negativos, el oeste. Ejemplo: 75.7873 para Jaipur, -74.0060 para Nueva York. Cuidado con el signo: si falta el menos, Nueva York acaba en China. min -180 · max 180 |
Indica en keys exactamente los cálculos que quieres. Si una clave no existe, se rechaza toda la solicitud. Pidas las que pidas, se cobra 1 crédito, así que agrúpalas en una sola llamada.
| Clave | Campos adicionales | Descripción | |
|---|---|---|---|
| change_house_system | method_name | Hace lo mismo que `set_house_method`: cambia al sistema indicado en `method_name` y devuelve null. Las dos claves ejecutan el mismo código; no hay ninguna diferencia entre ellas. | |
| house_cusps | notation | Las doce cúspides de las casas tal como las define el sistema de casas elegido, como lista plana en orden de casas. Son los grados de las cúspides en sí, no los límites de las casas: los límites están en `house_starts` y `house_ends`, a mitad de camino entre cúspides consecutivas. | |
| house_ends | notation | Solo el borde final de cada casa, como lista plana de doce valores en orden de casas. Cada uno es el punto medio entre la cúspide de esa casa y la siguiente, así que el final de la casa n es igual al inicio de la casa n+1. | |
| house_ranges | notation | El tramo que ocupa cada casa, como un objeto con las claves de '1' a '12' y con `start` y `end` para cada una. Los bordes son los puntos medios entre cúspides vecinas, así que una casa empieza a mitad de camino hacia la cúspide anterior y termina a mitad de camino hacia la siguiente. En la notación 'degree' los valores son grados decimales; en 'astrological' son objetos de signo, grados, minutos y segundos. | |
| house_starts | notation | Solo el borde inicial de cada casa, como lista plana de doce valores en orden de casas, no como un objeto indexado por número de casa como el que devuelve `house_ranges`. Grados decimales con la notación 'degree'; objetos de signo y d/m/s con 'astrological'. | |
| houses | notation | Doce casas con las claves de `1` a `12`, cada una con `{start, cusp, end}`: los dos límites más la cúspide entre ellos. Ten en cuenta que la estructura no es la misma que la de la clave `houses` de /api/astro/krishnamurti/, que devuelve `{start, mid, end}` y no tiene cúspide. `notation` fija las unidades: `degree` da números de coma flotante y `astrological`, cadenas como `"Aries 12 30 15"`. | |
| set_house_method | method_name | Vuelve a calcular las cúspides con el sistema de casas indicado en `method_name`. Es un modificador, no un valor: devuelve null y solo afecta a las claves que aparecen después de él en el array. El sistema ya se aplica a partir de `method_name` al construir la solicitud, así que esta clave sobra salvo que cambies de sistema a mitad de la llamada. |