Haces POST de date_from, date_to, y una lista event_types obligatoria y no vacía a /api/v3/mundane/events/search.
Tres filtros opcionales acotan familias específicas: bodies restringe sign_ingress, station y retrograde_period (por defecto son los siete planetas clásicos), to_signs filtra sign_ingress por el signo de entrada, y cardinal_points acota cardinal_ingress a estaciones específicas.
lunation_phases controla qué fases lunares vuelven, por defecto solo Nueva y Llena.
Antes de que corra cualquier cálculo, la solicitud se costea: si tu ventana, tipos de evento y cuerpos serían demasiado costosos de escanear, la API la rechaza en milisegundos y reporta el número de muestras que disparó el rechazo, en lugar de ocupar un worker para un escaneo de varios segundos que de todos modos iba a fallar.
Todo lo que tiene éxito vuelve en un solo array events[], ordenado ascendentemente por datetime_utc.
Un POST, ocho familias, costeado antes de correr