Skip to main content
GET /api/v1/forward/schedule_runs/{run_id} Returns a single Schedule Run execution record. identity_id may be provided as an additional ownership constraint.

Headers

HeaderRequiredDescription
AuthorizationYesBearer <PAT>

Path parameters

ParameterTypeRequiredDescription
run_idstringYesSchedule Run ID.

Query parameters

ParameterTypeRequiredDefaultDescription
identity_idstringNo-Optional additional ownership constraint.

Example request

curl -s -X GET 'https://api.qoder.com/api/v1/forward/schedule_runs/srun_019f00112233445566778899aabbccdd?identity_id=idn_019eabc123' \
  -H "Authorization: Bearer $QODER_PAT"

Example response

HTTP 200 OK
{
  "id": "srun_019f00112233445566778899aabbccdd",
  "schedule_id": "sched_019f00112233445566778899aabbccdd",
  "identity_id": "idn_019eabc123",
  "template_id": "tmpl_support",
  "session_id": "sess_019ec55a68b37e1e8d660691af161ab4",
  "status": "completed",
  "trigger_context": {
    "type": "schedule",
    "scheduled_at": "2026-06-22T01:00:00Z"
  },
  "error": null,
  "error_message": null,
  "result_payload": "Today's technology highlights: ...",
  "push_sink": "im_channel",
  "push_status": "succeeded",
  "push_finished_at": "2026-06-22T01:00:21Z",
  "attempt": 1,
  "triggered_at": "2026-06-22T01:00:00Z",
  "started_at": "2026-06-22T01:00:03Z",
  "completed_at": "2026-06-22T01:00:20Z",
  "duration_ms": 17000,
  "created_at": "2026-06-22T01:00:00Z"
}

Response fields

FieldTypeDescription
idstringSchedule Run ID.
schedule_idstringParent Schedule ID.
identity_idstringForward Identity ID.
template_idstringForward Template ID.
session_idstring|nullSession created or reused for this run.
statusstringpending, running, completed, failed, or skipped.
trigger_contextobjectTrigger source. type is schedule or manual.
errorobject|nullStructured error for failed or skipped runs.
result_payloadstring|nullMain text result.
error_messagestring|nullHuman-readable error message. Structured details stay in error.
push_sinkstring|nullSink type used for IM delivery, or null when no delivery is configured.
push_statusstringpending, succeeded, failed, or skipped.
push_finished_atstring|nullIM delivery finish time.
attemptintegerAttempt number. Currently 1.
triggered_atstringTrigger time.
started_atstring|nullExecution start time.
completed_atstring|nullExecution end time.
duration_msinteger|nullExecution duration in milliseconds.
created_atstringRecord creation time.

Trigger context

typeDescription
scheduleAutomatically triggered from the Schedule trigger_policy, such as cron, once, or interval. Automatic triggers include scheduled_at.
manualManually triggered by POST /api/v1/forward/schedules/{schedule_id}/run.

Run error

The error object describes structured failure or skip reasons. It may be returned when status is failed or skipped; it is null when status is completed.
error.typeDescription
concurrency_limit_reachedThe Schedule reached execution.max_concurrent_runs; this trigger was recorded but not executed.
session_creation_failedForward failed to create or bind the execution Session.
execution_failedTemplate execution failed.

Errors

HTTPTypeCodeTrigger
401authentication_errorauthentication_requiredPAT invalid or expired.
404not_found_errorschedule_run_not_foundRun does not exist, is cross-tenant, or fails the identity_id constraint.

Notes

  • error.type=concurrency_limit_reached means a run was recorded but skipped due to max_concurrent_runs.
  • Poll this endpoint until status enters a terminal state.

List schedule runs

Get a schedule