Fire an ad-hoc run now
POST/v1/schedules/:id/trigger
Materialises one ad-hoc JobRun with scheduled_for set to the server receipt
instant and enqueues it through the same executor, retry, overlap, and
concurrency machinery as planned occurrences. Allowed while the schedule is
active, paused, or disabled_failing (useful to verify an endpoint fix
before resuming); rejected otherwise with 409 invalid_state.
Idempotency semantics. Each trigger call creates a distinct run (its
scheduled_for differs), so retrying a timed-out API call would double-fire.
To make the API call itself safe to retry, send an Idempotency-Key request
header: within a 24 h window, a repeated key returns the originally created run
with 200 instead of creating a new one. Independently of this header, the
run's delivery idempotency key (X-Idempotency-Key on the outbound webhook,
sha256(schedule_id || scheduled_for)) is stable across all delivery attempts
of the run — receivers dedupe on it exactly as for planned runs.
Request
Responses
- 200
- 202
- 403
- 404
- 409
- 429
Duplicate Idempotency-Key — returning the previously created run
Run materialised and enqueued
Caller is not a tenant_admin (forbidden)
Schedule not found (not_found)
Schedule state does not allow triggering (invalid_state)
Tenant concurrent-run or rate limit reached (rate_limited)