Forward Schedule API で共有する Schedule と Schedule Run のレスポンス構造。
Schedule オブジェクト
作成、取得、一覧、更新、アーカイブ、一時停止、再開の各 API はこの構造を返します。
| フィールド | 型 | 説明 |
|---|---|---|
id | string | sched_ で始まる Schedule ID。 |
source | string | サーバーが記録する正式な作成方法。現在は api または tool。作成元を参照してください。 |
source_session_id | string | null | 作成元の Session。api では null、tool では空でない sess_*。 |
identity_id | string | Schedule を所有する Forward Identity ID。 |
template_id | string | 実行に使用する Forward Template ID。 |
name | string | Schedule 名。 |
description | string | Schedule の説明。未設定の場合は空文字列。 |
status | string | active または paused。アーカイブ状態は archived_at で表します。 |
paused_reason | object | null | 一時停止の理由。一時停止していない場合は null。 |
initial_events | array | 各実行に注入される初期イベント。 |
execution | object | 実行ポリシー。実行ポリシーを参照してください。 |
trigger_policy | object | トリガーポリシー。トリガーポリシーを参照してください。 |
environment_id | string | 実行環境 ID。 |
sinks | array | 結果の配信先。未設定の場合は []。 |
metadata | object | 呼び出し元の業務メタデータ。 |
archived_at | string | null | RFC 3339 形式のアーカイブ日時。未アーカイブの場合は null。 |
created_at | string | RFC 3339 形式の作成日時。 |
updated_at | string | RFC 3339 形式の最終更新日時。 |
実行ポリシー
| フィールド | 型 | 説明 |
|---|---|---|
session_mode | string | new_session または reuse_session。 |
max_concurrent_runs | integer | 同一 Schedule の最大同時 Run 数。 |
max_attempts | integer | 単一 Run の最大試行回数。現在は 1 または 2。 |
timeout_ms | integer | 1 回の試行のタイムアウト(ミリ秒)。 |
トリガーポリシー
| フィールド | 型 | 説明 |
|---|---|---|
type | string | cron、once、interval、または manual。 |
expression | string | トリガー式。manual では空文字列または省略。 |
timezone | string | IANA タイムゾーン。該当しない場合は空文字列または省略。 |
start_at | string | 任意の実行期間の開始日時(RFC 3339)。 |
stop_at | string | 任意の実行期間の終了日時(RFC 3339)。 |
upcoming_runs_at | array | UTC ISO 8601 形式の今後のトリガー日時。現在は [] または最大 1 件。 |
last_run_at | string | null | 直近のトリガー日時。 |
sinks の公開形式と制約はスケジュールを作成するを参照してください。
Schedule Run オブジェクト
手動実行、Run の取得、Run の一覧 API はこの構造を返します。
| フィールド | 型 | 説明 |
|---|---|---|
id | string | srun_ で始まる Schedule Run ID。 |
source | string | 親 Schedule の正式な作成方法。現在は api または tool。作成元を参照してください。 |
source_session_id | string | null | 親 Schedule の作成元 Session。 |
schedule_id | string | 親 Schedule ID。 |
identity_id | string | Forward Identity ID。 |
template_id | string | Forward Template ID。 |
session_id | string | null | 今回の実行で作成または使用された Session。 |
status | string | pending、running、completed、failed、または skipped。 |
trigger_context | object | 今回の Run のトリガー方法。Trigger Contextを参照してください。 |
error | object | null | 失敗またはスキップ時の構造化エラー。 |
result_payload | string | null | メイン実行のテキスト結果。 |
error_message | string | null | 表示用エラーメッセージ。構造化情報は error に保持されます。 |
push_sink | string | null | 今回の IM 配信に使用する Sink タイプ。未設定の場合は null。 |
push_status | string | IM 配信状態:pending、succeeded、failed、または skipped。 |
push_finished_at | string | null | IM 配信の終了日時。 |
attempt | integer | 現在または最終的な試行回数。1 から開始します。 |
triggered_at | string | RFC 3339 形式のトリガー日時。 |
started_at | string | null | RFC 3339 形式の実行開始日時。 |
completed_at | string | null | RFC 3339 形式の実行終了日時。 |
duration_ms | integer | null | 実行時間(ミリ秒)。 |
created_at | string | RFC 3339 形式のレコード作成日時。 |
status と IM 配信の push_status は独立しています。Schedule に execution.max_attempts=2 が設定されている場合、同一 Run が最終的に attempt=2 を返す可能性があります。
作成元
source と source_session_id は読み取り専用フィールドで、v1/v2 の完全な Schedule および Schedule Run レスポンスに常に含まれます。
source | source_session_id | 意味 |
|---|---|---|
api | null | 公開 Schedule API で作成。 |
tool | 空でない sess_* | Forward の管理対象ツールで作成。作成ツール呼び出しを開始した対話 Session を示します。 |
metadata.source は変更可能な業務メタデータであり、正式な作成元を表しません。
Schedule Run は親 Schedule の作成元を継承します。今回のトリガーが手動か自動か、sinks が設定されているかには依存しません。過去の Run やアーカイブ済み Schedule の Run にも適用されます。Run の session_id は今回の実行 Session、trigger_context.type は今回のトリガー方法を示します。作成元 Session は reuse_session の実行先の紐付けを表すものではなく、内部的な作成元への結果配信先も公開の作成元としては扱いません。
作成元フィールドは後方互換性のある JSON フィールドの追加です。クライアントは未知のフィールドを許容してください。サービスのデプロイ後は、過去の Schedule と Run の取得レスポンスにも作成元フィールドが含まれ、データのバックフィルは不要です。
Trigger Context
type | 説明 |
|---|---|
schedule | Schedule のトリガーポリシーによる自動実行。scheduled_at を含みます。 |
manual | Run Schedule API による手動実行。 |
Run Error
status=failed または status=skipped の場合に error が返ることがあります。status=completed では null です。
error.type | 説明 |
|---|---|
concurrency_limit_reached | 同一 Schedule の最大同時 Run 数に達しています。今回のトリガーは記録されますが実行されません。 |
session_creation_failed | Forward Session の作成または紐付けに失敗。 |
execution_failed | Template の実行に失敗。 |

