The complete workflow
1. Search and filter
Query a bounded UTC interval for Moon phases, ingresses, stations, aspects, or exact-hit-anchored aspect windows. Narrow Moon results to selected phase sectors.
2. Save and schedule
Save strict event-calendar criteria in the dashboard, then run them daily or weekly at a selected quarter-hour UTC over a 24, 72, or 168-hour window.
3. Export
Request deterministic iCalendar or CSV text inside the response, including stable event identifiers and explicit interval conventions.
4. Deliver
Each due schedule enqueues the existing durable event-calendar job. Completion flows through the existing signed webhook delivery path.
Operational guarantees and limits
- Scheduled runs reuse the selected API key's scope, environment policy, monthly quota, per-key budget, and account entitlement.
- Every scheduled result is a normal durable job result; the scheduler never calculates inside the scheduler process.
- Jobs remain globally serial. A schedule does not create customer-selectable parallelism or bypass the queue.
- One saved event search can have one schedule; each account can hold at most ten schedules.
- Ambiguous interpretation, ranking, notification prose, and astrological advice remain application responsibilities.
APIs in the workflow
POST /api/astro/event-calendar performs synchronous search. POST /api/jobs submits a durable event-calendar calculation. Dashboard-session routes under /api/saved-event-searches and /api/event-search-schedules manage reusable criteria and schedules. Signed webhook delivery remains tied to job completion.
Schedule timestamps and windows are UTC. Search boundaries are start-inclusive and end-exclusive. Consult the endpoint schema for the exact supported bodies, aspects, limits, and exports.