建立可重複觸發或手動觸發的 Template 執行配置。
POST /api/v1/forward/schedules
Schedule 綁定一個 Identity、一個 Template、初始事件、觸發策略和執行策略。每次觸發都會產生獨立 Schedule Run。
要求標頭
Header | 是否必填 | 說明 |
Authorization | 是 |
|
Content-Type | 是 |
|
Idempotency-Key | 否 | 有副作用請求可選的等冪鍵。 |
請求體參數
參數 | 類型 | 是否必填 | 說明 |
| string | 是 | Schedule 所屬 Forward Identity ID。 |
| string | 是 | 要執行的 Forward Template ID。 |
| string | 是 | Schedule 名稱。 |
| string | 否 | Schedule 描述。 |
| array | 是 | 每次執行注入的初始事件,當前支援 |
| object | 否 | 執行策略;省略時使用服務端預設值。 |
| object|null | 否 | 觸發策略;省略或 |
| string | 是 | 執行環境。 |
| object | 否 | 業務中繼資料,僅用於標籤或透傳。 |
觸發策略
trigger_policy 是按 type 分發的對象。建立和更新要求只接收配置欄位:type、expression、timezone。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 字元串 | - | 不產生計劃觸發時間。 |
執行策略
欄位 | 類型 | 預設值 | 說明 |
| 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' \
-H "Authorization: Bearer $QODER_PAT" \
-H "Content-Type: application/json" \
-d '{
"identity_id": "idn_019eabc123",
"template_id": "tmpl_support",
"name": "Daily tech brief",
"description": "Generate a daily technology news summary",
"initial_events": [
{
"type": "user.message",
"content": "Summarize current technology news in five bullet points."
}
],
"trigger_policy": {
"type": "cron",
"expression": "0 9 * * *",
"timezone": "Asia/Shanghai"
},
"execution": {
"session_mode": "new_session",
"max_concurrent_runs": 1,
"max_attempts": 1,
"timeout_ms": 300000
},
"environment_id": "env_019e64e01a137caf953ac2ac7b42ec5c"
}'
樣本響應
HTTP 200 OK
{
"id": "sched_019f00112233445566778899aabbccdd",
"identity_id": "idn_019eabc123",
"template_id": "tmpl_support",
"name": "Daily 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 * * *",
"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:00:00Z"
}
響應欄位
欄位 | 類型 | 說明 |
傳回值 | object | 建立後的完整 Schedule 對象。 |
錯誤
HTTP | Type | Code | 觸發條件 |
400 |
|
| 觸發策略類型或運算式不合法。 |
400 |
|
| 觸發粒度小於 1 分鐘。 |
400 |
|
|
|
400 |
|
| HTTP 建立請求不支援傳入 |
404 |
|
| Identity 不存在。 |
404 |
|
| Template 不存在。 |
401 |
|
| PAT 無效或已到期。 |
備忘
HTTP 建立請求不接受
sinks;直接 API 建立的 Schedule 返回sinks: []。manualSchedule 只能通過 Run Schedule 介面觸發。onceSchedule 的首次計劃 Run 進入終態後會自動歸檔。