Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.selftune.dev/llms.txt

Use this file to discover all available pages before exploring further.

Job schedule state

GET /api/v1/jobs
Returns the current state of all scheduled background jobs, including their last and next run times.

Response

{
  "jobs": [
    {
      "name": "aggregation",
      "schedule": "Every hour at :05",
      "cronExpression": "5 * * * *",
      "lastRunAt": "2026-04-06T12:05:02Z",
      "lastRunStatus": "success",
      "lastRunDurationMs": 1420,
      "nextRunAt": "2026-04-06T13:05:00Z"
    },
    {
      "name": "alert-checker",
      "schedule": "Every 15 minutes",
      "cronExpression": "*/15 * * * *",
      "lastRunAt": "2026-04-06T12:15:01Z",
      "lastRunStatus": "success",
      "lastRunDurationMs": 830,
      "nextRunAt": "2026-04-06T12:30:00Z"
    },
    {
      "name": "badge-cache",
      "schedule": "Every hour at :10",
      "cronExpression": "10 * * * *",
      "lastRunAt": "2026-04-06T12:10:01Z",
      "lastRunStatus": "success",
      "lastRunDurationMs": 210,
      "nextRunAt": "2026-04-06T13:10:00Z"
    },
    {
      "name": "retention-cleanup",
      "schedule": "Daily at 3:00 AM UTC",
      "cronExpression": "0 3 * * *",
      "lastRunAt": "2026-04-06T03:00:04Z",
      "lastRunStatus": "success",
      "lastRunDurationMs": 5200,
      "nextRunAt": "2026-04-07T03:00:00Z"
    }
  ]
}

Job execution history

GET /api/v1/jobs/history
Returns a paginated list of job executions. Metrics and error details are redacted from the response.

Query parameters

ParameterTypeDefaultDescription
limitinteger50Maximum number of records (max 200)
offsetinteger0Number of records to skip
jobstringFilter by job name (aggregation, alert-checker, badge-cache, retention-cleanup)
statusstringFilter by execution status (success, error)

Response

{
  "executions": [
    {
      "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "jobName": "aggregation",
      "status": "success",
      "startedAt": "2026-04-06T12:05:02Z",
      "durationMs": 1420,
      "metrics": {}
    },
    {
      "id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
      "jobName": "retention-cleanup",
      "status": "success",
      "startedAt": "2026-04-06T03:00:04Z",
      "durationMs": 5200,
      "metrics": {}
    }
  ],
  "total": 142
}