Fire a Definition on a recurring UTC cron schedule — create, list, pause, resume, and delete scheduled jobs
A scheduled job fires one of your Definitions on a recurring cron schedule. Each scheduled job is backed by a managed schedule; every fire creates a normal job (source: "schedule") that shows up under GET /definitions/{definition_id}/jobs — so everything you already know about jobs and executions applies.
When you POST /scheduled-jobs with a definition_id and a cron_expression:
GetDialed creates the record and its backing schedule in one call.
On every cron tick, a new job is created and the Definition runs with the schedule’s input_data.
next_fire_at is computed at read time from the cron expression — it is never stored.
last_fired_at / last_fire_status are updated by the worker as fired jobs start and finish.
Cron expressions are UTC-only, 5-field syntax only. Six-field expressions (with seconds), the @hourly/@daily/@weekly/@monthly/@yearly aliases, and any timezone/tz field are rejected with 422.
Fire policy is not configurable: overlapping fires are skipped (overlap=SKIP) — if a previous fire is still running when the next tick arrives, that tick is dropped. Missed fires during downtime are replayed only within a 60-second catch-up window; anything older is skipped.
There is no separate pause endpoint — flip enabled with a PATCH. enabled: false pauses the backing schedule; enabled: true unpauses it. Fire history is preserved either way. definition_id is immutable — to point a schedule at a different Definition, delete it and create a new one.
Removes the backing schedule, then the stored record. Jobs already fired by the schedule are unaffected. The delete is idempotent — a missing backing schedule still returns 204.