天枢星通Docs
模型接口

错误码与重试

统一结构化错误体、HTTP 状态码语义、平台特有错误码(额度暂停、密钥状态、安全防护处置等),以及按错误类型的退避与重试建议

平台对所有接口采用统一的结构化错误体:无论数据平面还是控制平面,出错时都返回相同形态的错误对象,便于您在应用侧统一识别、本地化与重试。本页说明错误体结构、HTTP 状态码语义、平台特有错误码,以及按错误类型的退避重试建议。

错误体结构

出错时,响应体为如下结构(数据平面按所兼容协议的 error 对象形态返回,以兼容既有 SDK):

{
  "error": {
    "code": "<字符串错误码>",
    "message": "<面向用户的可读说明>",
    "request_id": "<请求追踪标识>"
  }
}
字段用途
code字符串错误码,用于程序判定(如 quota_exceeded / key_suspended / not_found
message可读的中文说明,便于排查与展示
request_id请求追踪标识;反馈或申诉时请提供此标识,便于平台定位该次请求

优先按 code 判定。 请在应用侧以 code 字段做程序分支,message 仅用于展示——message 文案可能随版本优化,code 保持稳定。HTTP 状态码用于粗分类,code 用于细分原因。

HTTP 状态码语义

状态码含义典型原因
400参数错误请求体缺字段、字段格式或取值非法
401未认证密钥缺失、格式不正确(非 Authorization: Bearer <密钥>
403无权限密钥未被授权调用所请求的模型
404资源不存在路径或资源不存在;越权访问不属于本账户的资源亦归为 404(按归属隔离)
409状态冲突对已注销 / 已暂停的密钥或不可变更状态执行操作
429额度暂停或限速触发账户信用额度暂停,或触发限速
5xx服务端异常平台侧临时故障,通常可重试

平台特有错误码

在 HTTP 语义之上,平台以 code 字段细分常见原因。下表为常见错误码(具体取值以实际响应为准):

code典型 HTTP含义处理建议
invalid_request400请求参数缺失或非法message 修正请求体,修正后重试
unauthorized401密钥缺失或格式错误检查请求头是否为 Authorization: Bearer <密钥>、密钥是否以 tsxt- 前缀开头
key_suspended401 / 409该密钥已被暂停(主动暂停或安全排查)在控制台恢复该密钥,或改用其他可用密钥;详见 API 密钥管理
key_revoked409该密钥已注销,不再鉴权申请新密钥并切换;注销不可逆
model_forbidden403该密钥未被授权调用所请求的模型确认 model 取自 模型列表接口、且在该密钥授权范围内
not_found404路径或资源不存在,或越权访问核对路径与资源标识;确认资源属于本账户
quota_exceeded429账户当月用量触及汇总信用额度上限,账户达额暂停暂缓重试、触发内部告警;待进入新结算月或完成提额后恢复,详见 额度管理
rate_limited429触发限速Retry-After(若有)退避后重试
guardrail_blocked400 / 200请求或响应被安全防护处置(注入防护 / 应拒答 / 脱敏等)调整查询表述;若为误拒,凭 request_id 申诉,详见 安全防护处置
upstream_unavailable5xx后端模型暂不可用(平台已自动重试与切换仍未成功)短暂退避后重试;平台会在异常时自动重试与切换,偶发性失败通常可恢复
internal_error5xx平台侧临时异常退避后重试;持续出现请凭 request_id 反馈

达额暂停(quota_exceeded / 429)。 平台采用单层汇总信用额度约束全部密钥,账户当月用量达上限时全部密钥一并暂停。此时数据平面查询返回 429,控制平面的查询、账单、额度等管理功能照常可用。额度核减、预警、达额恢复与提额详见 额度管理

安全防护处置(guardrail_blocked)。 当请求或响应触发注入防护、敏感信息脱敏或应拒答处置时,平台返回结构化护栏处置结果。若正常请求被误判,请留存 request_id 并按 安全防护处置 · 误拒说明与申诉路径 提交申诉。

退避与重试建议

不同错误的可重试性不同,请按下表区别处理,避免无效重试造成请求堆积:

错误类型是否可重试建议策略
400 参数错误否(需修正)message 修正请求体后再发起,不要原样重试
401 / 403 认证与权限否(需处置)检查密钥与模型授权;修正后再调用,不要密集重试
404 资源不存在核对路径与资源标识,不重试
409 状态冲突改用可用密钥或目标状态后再操作
429 额度暂停(quota_exceeded否(需恢复)不要立即重试;暂缓并告警,待新结算月或提额恢复
429 限速(rate_limited是(需退避)Retry-After 或指数退避后重试
5xx 服务端异常是(需退避)指数退避 + 抖动重试,设上限次数;超过上限转告警

推荐的重试要点:

  • 指数退避 + 抖动。5xxrate_limited,每次重试间隔按指数增长并加入随机抖动,避免重试风暴。
  • 设重试上限。 为可重试错误设定最大重试次数(如 2~3 次),超过即转入告警与降级,不无限重试。
  • 区分对待 429 先看 coderate_limited 退避后可重试,quota_exceeded(额度暂停)则应暂缓并告警、等待恢复,而非重试。
  • 流式断流。 流式中途断开按 流式响应 · 断流与重试建议 处理;只有产出 usage 末帧的那次生成才计入用量。
  • 留存 request_id 任何需要反馈或申诉的错误,请连同 request_id 一并提供,便于平台定位。

示例:对 429 的区分处理。 收到 429 时,先读 error.code:若为 rate_limited,按退避重试;若为 quota_exceeded,识别为达额暂停后停止重试、触发内部告警,并在控制台查看额度状态、按需提交提额申请。

错误码与各能力页的对应

您遇到的前往
quota_exceeded / 达额 429额度管理
guardrail_blocked / 误拒申诉安全防护处置
key_suspended / key_revoked / model_forbiddenAPI 密钥管理
接入排错(401/403/404 自检清单)快速接入指南 · 常见接入问题
流式断流重试流式响应

On this page