跳到主要内容
开发者文档API 参考任务

取消任务

停止排队中或运行中的任务。

DELETEhttps://runner.cargoduo.com/v1/jobs/{id}

已取消的任务需支付任务基础费、大批量装载附加费(如有)及截至取消时已用的计算费用,不收取车辆费用。再次取消已取消的任务会原样返回该任务。

认证

Bearer API 密钥 · 所需权限范围pack:write了解更多

路径参数

名称类型必填说明
idstring必填
string
是

任务 ID(job_…)。

请求示例

curl -X DELETE "https://runner.cargoduo.com/v1/jobs/job_2cR8vL4nXp6tQb1mZk9WsH5e" \
  -H "Authorization: Bearer $CARGODUO_API_KEY"

响应示例

200 OK · Job
{
  "id": "job_2cR8vL4nXp6tQb1mZk9WsH5e",
  "object": "job",
  "status": "canceled",
  "reference": "order-1043",
  "source": "api",
  "created_at": "2026-10-19T09:15:03Z",
  "started_at": "2026-10-19T09:15:03Z",
  "finished_at": "2026-10-19T09:15:05Z",
  "progress": {
    "stage": "done",
    "vehicles_done": 0,
    "placed_items": 0
  },
  "summary": {
    "items_requested": 58,
    "items_placed": 0,
    "items_unplaced": 0,
    "vehicles_used": 0,
    "total_weight": 0,
    "volume_utilization": 0,
    "queue_ms": 15,
    "compute_ms": 2300
  },
  "cost": {
    "credits": 0.0715,
    "reserved_credits": 1.11,
    "rate_card_version": 1,
    "breakdown": {
      "base": 0.06,
      "vehicles": 0,
      "compute": 0.0115,
      "large_load": 0
    }
  },
  "error": {
    "code": "canceled",
    "message": "Canceled by request."
  },
  "warnings": [],
  "result_url": "https://runner.cargoduo.com/v1/jobs/job_2cR8vL4nXp6tQb1mZk9WsH5e/result",
  "pdf_url": "",
  "expires_at": "2026-11-02T09:15:03Z"
}

响应

  • 200OK已取消的任务。
    名称类型必填说明
    idstring必填
    string
    是

    任务 ID(job_…)。

    objectstring必填
    string
    是

    始终为 job。

    job
    statusstring必填
    string
    是

    queued → running → succeeded | failed | canceled。

    queuedrunningsucceededfailedcanceled
    referencestring
    string
    否

    请求中提供的参考编号。

    sourcestring
    string
    否

    任务的创建来源。

    apiplayground
    project_idstring
    string
    否

    POST /v1/projects/{id}/pack 任务将方案保存到的项目(prj_…)。其他任务不含此字段。

    created_atstring必填
    string
    是

    RFC 3339 时间戳。

    started_atstring | null
    string | null
    否

    开始计算的时间(RFC 3339),或 null。

    finished_atstring | null
    string | null
    否

    任务结束时间(RFC 3339),或 null。

    progressJobProgress
    JobProgress
    否

    排队中/运行中的实时进度。

    summaryJobSummary
    JobSummary
    否

    计数和耗时。

    costJobCost
    JobCost
    否

    已扣积分(任务结束后为最终值)以及运行期间预留的积分。

    errorJobError | null
    JobError | null
    否

    任务失败或被取消的原因;否则为 null。

    warningsWarning[]
    Warning[]
    否

    关于请求的非阻断性提示(结果中也会重复列出)。

    result_urlstring
    string
    否

    status 为 succeeded 后,对此 URL 发起 GET 请求以获取完整结果。

    pdf_urlstring
    string
    否

    浏览器链接,打开后会将装载方案生成为 PDF(3D 视图 + 装载步骤)。在 expires_at 之前有效,过期后为空。

    expires_atstring
    string
    否

    请求体/结果体和 PDF 链接的删除时间(RFC 3339)。任务元数据和扣费记录会保留。

    resultResult
    Result
    否

    完整结果,仅在请求时(?include=result)或 POST /v1/pack?wait= 按时完成时内联返回。

  • 401Unauthorizedunauthorizedkey_revokedkey_expired
    • unauthorizedAPI 密钥缺失、格式错误或无法识别。
    • key_revoked密钥已被撤销。
    • key_expired密钥已过期。
    名称类型必填说明
    errorErrorBody必填
    ErrorBody
    是
    全部错误码
  • 403Forbiddenip_not_allowedsubscription_inactiveaccount_inactivescope_missing
    • ip_not_allowed调用方 IP 不在该密钥的 IP 白名单中。
    • subscription_inactive组织没有包含 API 的有效订阅。
    • account_inactive组织已被暂停使用,或其所有者的账户均未处于有效状态。
    • scope_missing密钥缺少此接口所需的权限范围。
    名称类型必填说明
    errorErrorBody必填
    ErrorBody
    是
    全部错误码
  • 404Not foundjob_not_found
    • job_not_found您的组织中没有此 ID 的任务。
    名称类型必填说明
    errorErrorBody必填
    ErrorBody
    是
    全部错误码
  • 409Conflictjob_already_finished
    • job_already_finished任务已结束,无法取消。
    名称类型必填说明
    errorErrorBody必填
    ErrorBody
    是
    全部错误码
  • 429Too many requestsrate_limited
    • rate_limited当前分钟、小时或天内的请求过多(按密钥或按组织计),或您的 IP 地址每分钟认证失败超过 60 次。
    名称类型必填说明
    errorErrorBody必填
    ErrorBody
    是
    全部错误码
  • 500Internal server errorinternal_error
    • internal_error服务端发生内部错误。
    名称类型必填说明
    errorErrorBody必填
    ErrorBody
    是
    全部错误码
  • 503Service unavailableapi_disabled
    • api_disabledAPI 暂时停用(维护中),或已对该组织关闭。
    名称类型必填说明
    errorErrorBody必填
    ErrorBody
    是
    全部错误码