全部产品
Search
文档中心

Qoder CN 系列:更新 Schedule

更新时间:Jul 14, 2026

更新 Forward Schedule 配置。

POST /api/v1/forward/schedules/{schedule_id}

使用 merge-patch 语义:请求体中出现的字段会被更新,未出现字段保持不变。

请求头

Header

是否必填

说明

Authorization

Bearer <PAT>

Content-Type

application/json

Idempotency-Key

有副作用请求可选的幂等键。

路径参数

参数

类型

是否必填

说明

schedule_id

string

Forward Schedule ID。

请求体参数

参数

类型

是否必填

说明

name

string

新的 Schedule 名称。

description

string

新的 Schedule 描述。

template_id

string

新的 Forward Template ID。

initial_events

array

替换初始事件列表。

execution

object

合并更新执行策略。

trigger_policy

object|null

更新触发策略;null 表示改为 manual。

environment_id

string

新的执行环境。

metadata

object

合并更新 metadata;value 为 null 删除 key。

触发策略

trigger_policy 是按 type 分发的对象。创建和更新请求只接收配置字段:typeexpressiontimezone。更新时传 null 表示改为 {"type":"manual"}upcoming_runs_atlast_run_at 是服务端计算出的响应字段。

字段

类型

是否必填

说明

type

string

crononceintervalmanual

expression

string

条件必填

触发表达式;crononceinterval 必填,manual 不需要。

timezone

string

条件必填

IANA timezone,例如 Asia/Shanghaicron 必填,once 在表达式不带时区时必填,intervalmanual 可省略。

upcoming_runs_at

array

响应返回

后续触发时间,UTC ISO 8601。当前实现返回 [] 或最多一个下一次计划触发时间。

last_run_at

string|null

响应返回

最近一次触发时间。

type

创建/更新入参

说明

cron

typeexpressiontimezone

使用 5 字段 cron 表达式按指定 IANA timezone 重复触发。

once

typeexpression、可选 timezone

按 ISO 8601 时间触发一次;表达式不带 offset 时必须提供 timezone

interval

typeexpression

按 ISO 8601 duration 重复触发,例如 PT15M

manual

type

不自动触发,只能通过 Run Schedule 接口手动执行。

type

expression 格式

示例

说明

cron

标准 5 字段 cron

0 9 * * *

分钟级日历规则;不支持秒字段和 6 字段 cron。

once

ISO 8601 绝对时间

2026-06-23T09:00:002026-06-23T01:00:00Z

目标时间必须至少晚于服务端当前时间 1 分钟。

interval

ISO 8601 duration

PT15MPT1HP1D

固定间隔触发,最小粒度 1 分钟。

manual

省略或空字符串

-

不产生计划触发时间。

执行策略

execution 使用合并更新语义,未出现的字段保持原值。

字段

类型

默认值

说明

session_mode

string

new_session

Session 使用方式,取值 new_sessionreuse_session

max_concurrent_runs

integer

1

同一个 Schedule 最大并发 Run 数。

max_attempts

integer

1

预留字段;当前实现只记录、校验和回显,单个 Run 仍只执行一次。

timeout_ms

integer

300000

单次尝试超时时间。

session_mode

说明

new_session

每次触发都创建新的执行 Session,不延续历史上下文。

reuse_session

Forward 为该 Schedule 管理一个固定执行 Session,并在多次触发间持续使用;调用方不能指定任意已有 session_id

示例请求

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

invalid_request_error

invalid_trigger_policy

触发策略不合法。

400

invalid_request_error

unsupported_sinks_input

请求体包含不支持的 sinks

404

not_found_error

schedule_not_found

Schedule 不存在。

409

invalid_request_error

schedule_archived

Schedule 已归档。

401

authentication_error

authentication_required

PAT 无效或已过期。

备注

  • HTTP 更新请求不支持更新 sinks

  • reuse_session 表示 Forward 为该 Schedule 管理固定执行 Session,调用方不能指定任意已有 Session。

相关