Skip to main content
A job is a one-time scheduled webhook. You specify a future timestamp and CronAPI fires the HTTP request at that time. Unlike crons, jobs execute once and are marked as completed or failed.

Job object

Job lifecycle

  • pending — Waiting for the scheduled time
  • completed — Webhook fired successfully (2xx status code)
  • failed — Webhook returned an error or timed out
You can only update or delete a job while its status is pending. Completed and failed jobs are immutable.

Scheduling

The at field must be a valid ISO 8601 datetime string set in the future:
If you provide a past timestamp, the API returns a 400 error.

Webhook execution

When a job fires, the behavior is identical to crons:
  • Configured method, headers, and body are sent
  • 30-second timeout applies
  • Execution is logged as a run
  • Job status is updated to completed or failed based on the response

Manual trigger

You can fire a pending job immediately using the trigger endpoint. This executes the webhook right away and updates the job status accordingly.