All Products
Search
Document Center

Qoder CN Series:Get schedule run

Last Updated:Jul 15, 2026

Retrieves a single Schedule Run by ID.

GET /api/v1/forward/schedule_runs/{run_id}

Returns a single Schedule Run record. You can pass identity_id as an additional ownership constraint.

Request headers

Header

Required

Description

Authorization

Yes

Bearer <PAT>

Path parameters

Parameter

Type

Required

Description

run_id

string

Yes

Schedule Run ID.

Query parameters

Parameter

Type

Required

Default

Description

identity_id

string

No

-

Additional ownership constraint.

Example request

curl -s -X GET 'https://api.qoder.com.cn/api/v1/forward/schedule_runs/srun_019f00112233445566778899aabbccdd' \
  -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"
  },
  "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

Field

Type

Description

id

string

Schedule Run ID.

schedule_id

string

Parent Schedule ID.

identity_id

string

Forward Identity ID.

template_id

string

Forward Template ID.

session_id

string | null

Session created or used by this run.

status

string

pending, running, completed, failed, or skipped.

trigger_context

object

Trigger source.

error

object | null

Structured error for failed or skipped runs.

result_payload

string | null

Text result from the main execution flow.

error_message

string | null

Human-readable error message; structured details are in error.

push_sink

string | null

Sink type used for IM delivery; null if delivery is not configured.

push_status

string

IM delivery status: pending, succeeded, failed, or skipped. Main-flow status and delivery status are independent.

push_finished_at

string | null

IM delivery completion time.

attempt

integer

Attempt sequence number; currently 1.

triggered_at

string

Trigger time.

started_at

string | null

Execution start time.

completed_at

string | null

Completion time.

duration_ms

integer | null

Execution duration in milliseconds.

created_at

string

Record creation time.

Trigger Context object

type

Description

schedule

Triggered automatically by the Schedule trigger_policy, such as cron, once, or interval. Returns scheduled_at for automatic triggers.

manual

Triggered manually via POST /api/v1/forward/schedules/{schedule_id}/run.

Run Error object

The error object represents a structured failure or skip reason. It may be returned when status=failed or status=skipped; it is null when status=completed.

error.type

Description

concurrency_limit_reached

The same Schedule has reached execution.max_concurrent_runs. The trigger was recorded but will not be executed.

session_creation_failed

Failed to create or bind a Forward Session.

execution_failed

Template execution failed.

Errors

HTTP

Type

Code

Trigger condition

404

not_found_error

schedule_run_not_found

Run does not exist, is cross-tenant, or does not meet the identity_id constraint.

401

authentication_error

authentication_required

PAT is invalid or expired.

Notes

  • error.type=concurrency_limit_reached indicates the trigger was recorded but skipped due to concurrency limits.

  • You can poll this endpoint until status reaches a terminal state.