错误与限制

Partner API 返回的每个错误代码,以及它执行的每项限制。

每种失败都有相同的形式。分支依据 error.error_code;记录 描述 供人阅读;切勿根据其文本进行匹配。 error.error_attributes 携带代码所定义的细节,并且是 null 其余部分则为。

{
  "description": "story_document:该链接提供的是 \"text/html\",而此输入不接受。请直接指向文件本身。",
  "code": "url_type_not_allowed",
  "error": {
    "id": null,
    "error_code": "url_type_not_allowed",
    "error_attributes": null,
    "user_readable_message": null,
    "locale": "en"
  }
}

代码 重复 error.error_code 适用于较旧客户端;请阅读 error.error_code.

错误代码

HTTP错误代码含义该怎么做
400invalid_request请求体或输入值有误;描述会指出具体的输入修正后重新发送。切勿在未更改的情况下重试。
400url_not_fetchable链接无法获取,违反了某条链接规则,或者提供了空文件将其对照检查 通过 URL 传递文件
400url_type_not_allowed该链接提供的内容类型不是此输入接受的类型,或者字节内容与其声明的类型不符直接提供文件本身,并使用其真实类型
400url_too_large文件超过了该输入的 max_bytes,或者超过了本次运行剩余的字节预算发送更小的文件
401unauthorized密钥缺失、格式错误、已撤销或已过期停止并通知相关人员。重试无济于事。
403api_key_credit_limit_reached该密钥已达到其某项额度上限; error_attributes.period 说明的是哪一项请让管理员在 Studio 中提高该密钥的限制,或等待日限额或月限额重置
403credits_exhausted该组织已没有剩余额度为组织充值
403access_deniedorg_id 不是该密钥所属的组织,或该密钥缺少相应范围,或者它可能无权运行此工作流请在 Studio 中检查该密钥的作用域和工作流允许列表
404entity_not_found您的组织中不存在这样的工作流、项目、运行或 webhook 端点——或者是某个工作流的运行超出了该密钥的允许列表检查该 ID
409idempotency_conflict相同的 idempotency_key 携带了不同的请求体到达为新任务使用新密钥
429too_many_requests已达到读取限制等待 Retry-After,然后重新发送
500internal_error我们的采用退避重试;如果问题仍然存在,请把 x-morphic-trace-id

限制

限制项默认值备注
额度该密钥自身的限制每个密钥共有的总额度,以及可选的日限额和月限额——参见 额度限制
单次运行的读取次数每个密钥每分钟 30 次每次运行每分钟一次读取就足够了; wait=45 成本更低
所有运行的读取次数每个密钥每分钟 1,200 次足以同时跟踪数百个运行
每次运行的链接数10汇总到所有文件输入中
每次运行的字节数500 MB汇总到所有链接中
每个文件的字节数该输入的 max_bytes文档最高 100 MB;媒体上限按每个输入计算
运行时长24 小时未在……之前完成的运行 expires_at 变为 已过期
Webhook 端点每个组织 10 个添加另一个之前先删除一个

启动运行从不受速率限制:密钥的额度限制会限制重试循环可消耗的量,而 idempotency_key 会把重试变成重放。对于我们已讨论过的流量规模,可按需提高读取限制。

计费

通过 API 启动的运行所消耗的额度会记到拥有该密钥的组织名下,并计入发起它的密钥。管理员可在以下位置查看支出: 计费与用量 → 额度活动 在 Studio 中;每个密钥的限制则在 API 密钥 页面中。

即使有人进入 Studio 聊天并接管它,运行仍会继续计入最初发起它的密钥,因此该密钥剩余的预算就是整次运行的预算。

在开始前被拒绝的运行——例如链接有误,或密钥/组织没有额度——不会产生费用。中途失败的运行则已消耗其已完成步骤所对应的费用; credits_used 运行上的该字段会说明具体消耗了多少。

本页内容