Job object
| Field | Type | Description |
|---|---|---|
id | string | Unique identifier (UUID) |
name | string | null | Optional display name |
at | string | ISO 8601 timestamp for when to fire |
url | string | Webhook URL to call |
method | string | HTTP method: GET, POST, or DELETE |
headers | object | Custom HTTP headers sent with the request |
body | object | JSON body sent with POST requests |
status | string | Current status: pending, completed, or failed |
created_at | string | ISO 8601 timestamp of creation |
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
Theat field must be a valid ISO 8601 datetime string set in the future:
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
completedorfailedbased on the response