跳转到主要内容
POST /api/v1/cloud/environments/{environment_id}/work/{work_id}/ack 确认一个已投递的 work item,并将其从 queued 推进到 starting。worker 应在 poll 后、执行 Session work 前调用该接口。 对已经处于 startingactive 的 item,ack 可安全重试。对 stoppingstopped item,ack 会冲突。

路径参数

参数类型说明
environment_idstringEnvironment ID,前缀为 env_
work_idstringWork item ID,前缀为 work_

请求头

头部必选说明
AuthorizationBearer $QODER_PAT
Worker-ID稳定的 worker 标识。如果 poll 已记录了不同的 Worker-ID,ack 会返回 409

示例请求

curl -X POST "https://api.qoder.com/api/v1/cloud/environments/env_019e64e01a137caf953ac2ac7b42ec5c/work/work_019f3be4fd2475d9a784bf2c739e1194/ack" \
  -H "Authorization: Bearer $QODER_PAT" \
  -H "Worker-ID: byoc-worker-01"

示例响应

HTTP 200 OK
{
  "id": "work_019f3be4fd2475d9a784bf2c739e1194",
  "type": "work",
  "environment_id": "env_019e64e01a137caf953ac2ac7b42ec5c",
  "data": {
    "type": "session",
    "id": "sess_019f3be3fa66750bb9a1fbcde85b5fe1"
  },
  "state": "starting",
  "created_at": "2026-07-01T08:15:01Z",
  "acknowledged_at": "2026-07-01T08:15:04Z",
  "started_at": null,
  "latest_heartbeat_at": null,
  "stop_requested_at": null,
  "stopped_at": null,
  "metadata": {}
}

响应字段

返回已 ack 的 Work item 对象

错误码

HTTPtype触发条件
400invalid_request_errorEnvironment 不是 self_hosted
401authentication_errorPAT 无效或过期
403permission_error无权限执行此操作
404not_found_errorEnvironment 或 work item 不存在
409invalid_request_errorWork item 已被其他 worker claim、状态并发变化,或已处于 stopping/stopped
完整错误信封格式见 错误参考

注意事项

  • ack 后,第一次 heartbeat 通常使用 expected_last_heartbeat=NO_HEARTBEAT
  • ack 会触发一次即时 dispatch,让 work 无需等待下一次 dispatcher tick 即可继续。

相关

云端环境

选择 Agent 运行的容器、网络与依赖。