One occurrence of a job’s schedule, or one run started by hand, with how it went.

One occurrence of a job’s schedule, or one run started with run(), with how it went. Runs are kept for 30 days.

{
  "id": "01m3c081dbf3j55x7hsa7wc1yj",
  "jobId": "01m3c081d2wj4g63qcr53pa1yh",
  "scheduledFor": "2026-09-29T05:00:00Z",
  "trigger": "schedule",
  "status": "succeeded",
  "attempts": 1,
  "skippedBefore": 0,
  "nextAttemptAt": null,
  "firstAttemptAt": "2026-09-29T05:00:00.812Z",
  "finishedAt": "2026-09-29T05:00:01.034Z",
  "lastStatusCode": 200,
  "lastError": "",
  "lastErrorClass": "",
  "createdAt": "2026-09-29T05:00:00.401Z"
}

Fields

idstring

The run’s ID, 26 lowercase letters and digits.

jobIdstring

The job the run belongs to.

scheduledForstring

When the run was due, as an ISO 8601 string. For a run started with run(), when it was started.

triggerstring

schedule, or manual for a run started with run().

statusstring

pending, running, retry_wait, succeeded, failed, or cancelled. See Run statuses.

attemptsnumber

How many attempts have been made.

skippedBeforenumber

How many earlier occurrences were missed and folded into this run. See Missed runs.

nextAttemptAtstring or null

When the next attempt is due, while the run is waiting to retry.

firstAttemptAtstring or null

When the first attempt was made. null before it is made.

finishedAtstring or null

When the run finished. null while it is still going.

lastStatusCodenumber or null

The status your target answered the last attempt with. null when it did not answer.

lastErrorstring

What went wrong in the last attempt. Empty when it did not fail.

lastErrorClassstring

Why the last attempt failed, such as timeout or dns. Empty when it did not fail. See Why attempts fail.

createdAtstring

When the run was created, as an ISO 8601 string.

With its attempts

getRun() returns the run with one more field, attemptList, one entry for each attempt:

{
  "number": 1,
  "startedAt": "2026-09-29T05:00:00.812Z",
  "durationMs": 222,
  "statusCode": 200,
  "errorClass": "",
  "error": "",
  "responseExcerpt": "ok"
}
numbernumber

The attempt number, from 1.

startedAtstring

When the call was made, as an ISO 8601 string.

durationMsnumber

How long the call took, in milliseconds.

statusCodenumber or null

The status your target answered with. null when it did not answer.

errorClassstring

Why the attempt failed. Empty when it succeeded.

errorstring

What went wrong. Empty when it succeeded.

responseExcerptstring

The first 4 KB of your target’s answer.

Returned by

Last updated