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
| 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 | - | Optional additional ownership constraint. |
Example request
Example response
HTTP 200 OKResponse 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 reused for this run. |
status | string | pending, running, completed, failed, or skipped. |
trigger_context | object | Trigger source. type is schedule or manual. |
error | object|null | Structured error for failed or skipped runs. |
result_payload | string|null | Main text result. |
error_message | string|null | Human-readable error message. Structured details stay in error. |
push_sink | string|null | Sink type used for IM delivery, or null when no delivery is configured. |
push_status | string | pending, succeeded, failed, or skipped. |
push_finished_at | string|null | IM delivery finish time. |
attempt | integer | Attempt number. Currently 1. |
triggered_at | string | Trigger time. |
started_at | string|null | Execution start time. |
completed_at | string|null | Execution end time. |
duration_ms | integer|null | Execution duration in milliseconds. |
created_at | string | Record creation time. |
Trigger context
type | Description |
|---|---|
schedule | Automatically triggered from the Schedule trigger_policy, such as cron, once, or interval. Automatic triggers include scheduled_at. |
manual | Manually triggered by POST /api/v1/forward/schedules/{schedule_id}/run. |
Run error
Theerror 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.type | Description |
|---|---|
concurrency_limit_reached | The Schedule reached execution.max_concurrent_runs; this trigger was recorded but not executed. |
session_creation_failed | Forward failed to create or bind the execution Session. |
execution_failed | Template execution failed. |
Errors
| HTTP | Type | Code | Trigger |
|---|---|---|---|
| 401 | authentication_error | authentication_required | PAT invalid or expired. |
| 404 | not_found_error | schedule_run_not_found | Run does not exist, is cross-tenant, or fails the identity_id constraint. |
Notes
error.type=concurrency_limit_reachedmeans a run was recorded but skipped due tomax_concurrent_runs.- Poll this endpoint until
statusenters a terminal state.