更新 Forward Schedule 配置。
POST /api/v1/forward/schedules/{schedule_id}
使用 merge-patch 語義:請求體中出現的欄位會被更新,未出現欄位保持不變。
要求標頭
Header | 是否必填 | 說明 |
Authorization | 是 |
|
Content-Type | 是 |
|
Idempotency-Key | 否 | 有副作用請求可選的等冪鍵。 |
路徑參數
參數 | 類型 | 是否必填 | 說明 |
| string | 是 | Forward Schedule ID。 |
請求體參數
參數 | 類型 | 是否必填 | 說明 |
| string | 否 | 新的 Schedule 名稱。 |
| string | 否 | 新的 Schedule 描述。 |
| string | 否 | 新的 Forward Template ID。 |
| array | 否 | 替換初始事件列表。 |
| object | 否 | 合并更新執行策略。 |
| object|null | 否 | 更新觸發策略; |
| string | 否 | 新的執行環境。 |
| object | 否 | 合并更新 metadata;value 為 |
觸發策略
trigger_policy 是按 type 分發的對象。建立和更新要求只接收配置欄位:type、expression、timezone。更新時傳 null 表示改為 {"type":"manual"}。upcoming_runs_at、last_run_at 是服務端計算出的響應欄位。
欄位 | 類型 | 是否必填 | 說明 |
| string | 是 |
|
| string | 條件必填 | 觸發運算式; |
| string | 條件必填 | IANA timezone,例如 |
| array | 響應返回 | 後續觸發時間,UTC ISO 8601。當前實現返回 |
| string|null | 響應返回 | 最近一次觸發時間。 |
type | 建立/更新入參 | 說明 |
|
| 使用 5 欄位 cron 運算式按指定 IANA timezone 重複觸發。 |
|
| 按 ISO 8601 時間觸發一次;運算式不帶 offset 時必須提供 |
|
| 按 ISO 8601 duration 重複觸發,例如 |
|
| 不自動觸發,只能通過 Run Schedule 介面手動執行。 |
type | expression 格式 | 樣本 | 說明 |
| 標準 5 欄位 cron |
| 分鐘級日曆規則;不支援秒欄位和 6 欄位 cron。 |
| ISO 8601 絕對時間 |
| 目標時間必須至少晚於服務端目前時間 1 分鐘。 |
| ISO 8601 duration |
| 固定間隔觸發,最小粒度 1 分鐘。 |
| 省略或Null 字元串 | - | 不產生計劃觸發時間。 |
執行策略
execution 使用合并更新語義,未出現的欄位保持原值。
欄位 | 類型 | 預設值 | 說明 |
| string |
| Session 使用方式,取值 |
| integer | 1 | 同一個 Schedule 最大並發 Run 數。 |
| integer | 1 | 預留欄位;當前實現只記錄、校正和回顯,單個 Run 仍只執行一次。 |
| integer | 300000 | 單次嘗試逾時時間。 |
session_mode | 說明 |
| 每次觸發都建立新的執行 Session,不延續歷史上下文。 |
| Forward 為該 Schedule 管理一個固定執行 Session,並在多次觸發間持續使用;調用方不能指定任意已有 |
樣本請求
curl -s -X POST 'https://api.qoder.com.cn/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"
}
}'
樣本響應
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",
"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": {},
"created_at": "2026-06-22T10:00:00Z",
"updated_at": "2026-06-22T10:30:00Z"
}
響應欄位
欄位 | 類型 | 說明 |
傳回值 | object | 更新後的 Schedule 對象。 |
錯誤
HTTP | Type | Code | 觸發條件 |
400 |
|
| 觸發策略不合法。 |
400 |
|
| 請求體包含不支援的 |
404 |
|
| Schedule 不存在。 |
409 |
|
| Schedule 已歸檔。 |
401 |
|
| PAT 無效或已到期。 |
備忘
HTTP 更新要求不支援更新
sinks。reuse_session表示 Forward 為該 Schedule 管理固定執行 Session,調用方不能指定任意已有 Session。