メインコンテンツへスキップ
POST /api/v1/forward/schedules/{schedule_id} merge-patch セマンティクスを使用します。リクエストに含まれるフィールドは更新され、省略されたフィールドは変更されません。

Headers

HeaderRequiredDescription
AuthorizationYesBearer <PAT>
Content-TypeYesapplication/json
Idempotency-KeyNo安全でないリクエスト向けの任意のべき等キー。

Path parameters

ParameterTypeRequiredDescription
schedule_idstringYesForward Schedule ID。

Body parameters

ParameterTypeRequiredDescription
namestringNo新しい Schedule 名。
descriptionstringNo新しい Schedule の説明。
template_idstringNo新しい Forward Template ID。
initial_eventsarrayNo初期イベントリストを置き換えます。
executionobjectNo実行ポリシーをマージ更新します。
trigger_policyobject|nullNoトリガーポリシーを更新します。null は manual に変更します。
environment_idstringNo新しい実行環境。
metadataobjectNoメタデータをマージ更新します。null 値はメタデータキーを削除します。

Trigger policy

trigger_policy は型付きオブジェクトです。作成および更新リクエストでは、設定フィールドである typeexpressiontimezone のみを受け付けます。null を渡すと Schedule は {"type":"manual"} に変更されます。upcoming_runs_atlast_run_at は Forward が算出するレスポンス専用フィールドです。
FieldTypeRequiredDescription
typestringYescrononceinterval、または manual
expressionstringConditionalトリガー式。crononceinterval では必須。manual では不要です。
timezonestringConditionalAsia/Shanghai などの IANA タイムゾーン。cron では必須。once では expression にオフセットがない場合のみ必須。intervalmanual では任意です。
upcoming_runs_atarrayResponse onlyUTC ISO 8601 形式の今後のトリガー時刻。現在の実装では [] または次回の予定時刻のみを返します。
last_run_atstring|nullResponse only直近のトリガー時刻。
typeRequired inputDescription
crontype, expression, timezone指定した IANA タイムゾーンで 5 フィールドの cron 式に従って繰り返します。
oncetype, expression, optional timezoneISO 8601 時刻に 1 回実行します。式にオフセットがない場合は timezone が必須です。
intervaltype, expressionPT15M などの ISO 8601 期間に従って繰り返します。
manualtype自動的には実行されません。Run Schedule エンドポイントでトリガーします。
typeexpression formatExampleNotes
cron標準の 5 フィールド cron0 9 * * *分単位のカレンダースケジュール。秒および 6 フィールドの cron はサポートされません。
onceISO 8601 絶対時刻2026-06-23T09:00:00 または 2026-06-23T01:00:00Z1 回実行します。対象時刻は少なくとも 1 分先である必要があります。
intervalISO 8601 期間PT15MPT1HP1D固定間隔スケジュール。最小間隔は 1 分です。
manual省略または空-スケジュール実行を作成しません。

Execution policy

execution はマージ更新されます。省略されたフィールドは現在の値を保持します。
FieldTypeDefaultDescription
session_modestringnew_sessionnew_session または reuse_session
max_concurrent_runsinteger1この Schedule の最大同時実行数。
max_attemptsinteger1予約済み。現在の実装では記録および検証されますが、実行は 1 回のみです。
timeout_msinteger3000001 回の試行のタイムアウト。
session_modeDescription
new_sessionトリガーごとに新しい実行 Session を作成します。以前のコンテキストは再利用されません。
reuse_sessionForward がこの Schedule 用に固定された 1 つの実行 Session を管理し、トリガー間で再利用します。呼び出し側が任意の既存 session_id を指定することはできません。

Example request

curl -s -X POST 'https://api.qoder.com/api/v1/forward/schedules/sched_019f00112233445566778899aabbccdd' \
  -H "Authorization: Bearer $QODER_PAT" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Weekday tech brief",
    "trigger_policy": {
      "type": "cron",
      "expression": "0 9 * * 1-5",
      "timezone": "Asia/Shanghai"
    }
  }'

Example response

HTTP 200 OK
{
  "id": "sched_019f00112233445566778899aabbccdd",
  "identity_id": "idn_019eabc123",
  "template_id": "tmpl_support",
  "name": "Weekday tech brief",
  "description": "Generate a daily technology news summary",
  "status": "active",
  "paused_reason": null,
  "initial_events": [
    {
      "type": "user.message",
      "content": "Summarize current technology news in five bullet points."
    }
  ],
  "execution": {
    "session_mode": "new_session",
    "max_concurrent_runs": 1,
    "max_attempts": 1,
    "timeout_ms": 300000
  },
  "trigger_policy": {
    "type": "cron",
    "expression": "0 9 * * 1-5",
    "timezone": "Asia/Shanghai",
    "upcoming_runs_at": ["2026-06-23T01:00:00Z"]
  },
  "environment_id": "env_019e64e01a137caf953ac2ac7b42ec5c",
  "sinks": [],
  "metadata": {},
  "archived_at": null,
  "created_at": "2026-06-22T10:00:00Z",
  "updated_at": "2026-06-22T10:30:00Z"
}

Response fields

更新された Schedule オブジェクトを返します。

Errors

HTTPTypeCodeTrigger
400invalid_request_errorinvalid_trigger_policyトリガーポリシーが無効です。
400invalid_request_errorunsupported_sinks_inputリクエストボディに sinks が含まれています。
404not_found_errorschedule_not_foundSchedule が存在しません。
409invalid_request_errorschedule_archivedSchedule はアーカイブ済みです。

Notes

  • HTTP 更新リクエストは sinks の更新をサポートしません。
  • reuse_session は Forward がこの Schedule 用に固定された実行 Session を管理することを意味します。呼び出し側が任意の既存 session_id を指定することはできません。

スケジュールを取得する

スケジュールを一時停止する