Assignment Reminder Cron Trigger
API Contract
REST
/api/v1/cron
6 endpoints
GET
/api/v1/cron/api/v1/cron/jobs
List all registered cron jobs
Public
Response Example
{
"data": [
{
"job_id": "job_reminder_daily",
"name": "Daily Reminder Check",
"schedule": "0 8 * * *",
"status": "active",
"last_triggered_at": "2026-03-26T08:00:00Z",
"next_trigger_at": "2026-03-27T08:00:00Z"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 1
}
}
GET
/api/v1/cron/api/v1/cron/jobs/:id
Get details for a specific cron job
Public
Response Example
{
"job_id": "job_reminder_daily",
"name": "Daily Reminder Check",
"schedule": "0 8 * * *",
"status": "active",
"lock_acquired": false,
"last_triggered_at": "2026-03-26T08:00:00Z",
"last_run_duration_ms": 3820,
"next_trigger_at": "2026-03-27T08:00:00Z"
}
POST
/api/v1/cron/api/v1/cron/jobs
Register a new cron job
Public
Request Example
{
"name": "Daily Reminder Check",
"schedule": "0 8 * * *",
"handler": "reminder_scheduler",
"enabled": true
}
Response Example
{
"job_id": "job_reminder_daily",
"name": "Daily Reminder Check",
"schedule": "0 8 * * *",
"status": "active",
"created_at": "2026-03-26T10:00:00Z"
}
PUT
/api/v1/cron/api/v1/cron/jobs/:id
Update cron schedule or enable/disable a job
Public
Request Example
{
"schedule": "0 7 * * *",
"enabled": true
}
Response Example
{
"job_id": "job_reminder_daily",
"schedule": "0 7 * * *",
"status": "active",
"updated_at": "2026-03-26T10:24:00Z"
}
DELETE
/api/v1/cron/api/v1/cron/jobs/:id
Unregister a cron job
Public
Response Example
{
"deleted": true,
"job_id": "job_reminder_daily"
}
POST
/api/v1/cron/api/v1/cron/jobs/:id/trigger
Manually trigger a cron job immediately
Public
Response Example
{
"job_id": "job_reminder_daily",
"triggered_at": "2026-03-26T10:25:00Z",
"lock_acquired": true,
"run_id": "run_20260326_102500"
}