Skip to main content

Cronjobs API (/1/cronjobs)

Enables scheduled task executions. Schedules are evaluated strictly in UTC.

POST /1/cronjobs​

  • Description: Creates a scheduled cronjob. Returns 409 if a cronjob with the same name already exists — updates go through PATCH /1/cronjobs/{name}. job_definition must not contain a fixed name; each trigger spawns a job named <cronjob-name>-<UTC timestamp>.
  • Roles: admin, developer.

Request body:

{
"name": "daily-dataset-vacuum",
"cron_spec": "0 2 * * *",
"job_definition": {
"image": "postgres:18-alpine",
"command": ["psql"],
"args": ["-c", "VACUUM ANALYZE;"],
"resources": { "cpu": 1, "memory": "2Gi" },
"labels": { "service": "database-maintenance" },
"tags": ["maintenance", "vacuum"]
}
}

GET /1/cronjobs​

  • Description: Lists registered cronjobs for the project.
  • Roles: admin, developer, viewer.

GET /1/cronjobs/{name}​

  • Description: Retrieves a specific cronjob. Accepts either UUID id or unique name.
  • Roles: admin, developer, viewer.

PATCH /1/cronjobs/{name}​

  • Description: Updates cronjob parameters (e.g. toggling is_active or modifying schedule) without recreating the resource. Accepts UUID id or unique name.
  • Roles: admin, developer.

DELETE /1/cronjobs/{name}​

  • Description: Deletes a scheduled cronjob. Accepts UUID id or unique name.
  • Roles: admin, developer.