Documentation menu

List cron runs

GEThttps://api.instacloud.com/projects/{projectId}/cron-jobs/{id}/runs

Token scope: account · org · project — read-only tokens allowed.

List a cron job’s runs, most recent first.

Parameters

NameInTypeRequiredDescription
limitqueryintegernodefault 20
projectIdpathstringyes
idpathstringyes

Responses

200

Default Response

FieldTypeRequiredDescription
runsobject[]yes
runs.idstringyes
runs.schedule_idstringyes
runs.scheduled_atstringyesthe tick this run belongs to (manual runs: when it was asked for)
runs.trigger_type"scheduled" | "manual"yes
runs.schedule_revisionintegeryesthe schedule as of dispatch; a later edit does not change a run in flight
runs.status"queued" | "preparing" | "sending" | "retry_wait" | "succeeded" | "failed" | "unknown" | "cancelled" | "skipped"yesthe terminal status IS the result — there is no separate outcome
runs.skip_reason"overlap" | "late" | nullyes
runs.skipped_countintegeryes
runs.dispatch_generationintegeryes
runs.dispatched_atstring | nullyes
runs.execution_epochintegeryesbumped per attempt; a superseded worker’s late result is dropped against it
runs.platform_retry_countintegeryes
runs.application_retry_countintegeryes
runs.next_attempt_atstring | nullyes
runs.started_atstring | nullyes
runs.finished_atstring | nullyes
runs.created_atstringyes
runs.configobjectyes
runs.config.targetobjectyesWhere the job sends its request. An internal target names the SERVICE, never a URL: the worker resolves the live route at send time, so a redeploy or a region move cannot leave a job firing at a dead host.
runs.config.method"GET" | "POST"yes
runs.config.headerNamesstring[]yesnames only, literal and secret-backed alike — never values
runs.config.secretRefsobjectyesheader name → secret NAME, as frozen for this run
runs.config.requestTimeoutMsintegeryes
runs.config.retryobjectyes
runs.config.retry.platformMaxRetriesintegernoretries for failures where nothing was sent (wake/transport). Default 2.
runs.config.retry.applicationMaxRetriesintegernoretries for a non-2xx answer. Default 0 — a broken endpoint should not be hammered.
runs.config.retry.retryableStatusesinteger[]noe.g. [429, 503]; empty means none
runs.config.retry.maxRunAgeMsintegernogive up on the run once it is this old, whatever the retry budget says

404

Default Response

FieldTypeRequiredDescription
errorstringyes

View as Markdown