API Reference
Everything you can do in the dashboard, you can do through the API. Authenticate with a Bearer token from your API keys page.
Base URL
https://cron.desertforgeit.com/api/v1
Authentication
All requests require a Bearer token in the Authorization header.
Authorization: Bearer cf_your_key_here
Endpoints
| Method | Path | Description |
|---|
| POST | /api/v1/jobs | Create a job |
| GET | /api/v1/jobs | List all jobs |
| GET | /api/v1/jobs/:id | Get job details |
| PUT | /api/v1/jobs/:id | Update a job |
| DELETE | /api/v1/jobs/:id | Delete a job |
| POST | /api/v1/jobs/:id/trigger | Run a job now |
| POST | /api/v1/jobs/:id/pause | Pause a job |
| POST | /api/v1/jobs/:id/resume | Resume a job |
| GET | /api/v1/jobs/:id/executions | Execution history |
| GET | /api/v1/jobs/:id/stats | Success rate + latency (24h) |
Example: create a job
POST /api/v1/jobs {
"name": "nightly-report",
"url": "https://api.myapp.com/reports/generate",
"http_method": "POST",
"cron_expression": "0 3 * * *",
"timezone": "America/Phoenix",
"headers": {
"X-Api-Key": "sk_live_..."
},
"body": "{\"format\":\"pdf\"}",
"timeout_seconds": 60,
"retry_count": 3,
"retry_interval_seconds": 120,
"notify_on_failure": true
}
Example: list recent executions
GET /api/v1/jobs/:id/executions?limit=50 {
"executions": [
{
"id": "...",
"started_at": "2026-04-21T03:00:00Z",
"completed_at": "2026-04-21T03:00:04Z",
"duration_ms": 4021,
"status": "success",
"status_code": 200,
"attempt_number": 1
}
]
}
Rate limits
100 requests per minute per API key. Contact us if you need more.