Evose

错误码

HTTP 状态 · 错误结构 · 重试策略

所有错误响应结构一致

错误响应结构

{
  "request_id": "req-xxxxxxxx",
  "error": {
    "code": "RESOURCE_NOT_FOUND",
    "message": "Agent 'agent-001' not found in workspace 'ws-001'.",
    "details": {
      "agent_id": "agent-001",
      "workspace_id": "ws-001"
    }
  }
}

HTTP 状态码

状态含义客户端应该
200成功用响应数据
201已创建用响应中的资源 ID
204成功无内容不要解析 body
400参数错改请求,不要重试
401未认证检查 Token,不要重试
403无权限检查 ACL,不要重试
404资源不存在改请求,不要重试
409冲突(如重复创建)视情况(冲突可重试)
422业务校验失败改请求
429速率超限退避重试(详见 速率限制)
500服务器内部错退避重试
502 / 503 / 504网关 / 服务不可用退避重试

业务错误码

code含义
INVALID_REQUEST参数格式错
RESOURCE_NOT_FOUND资源不存在
FORBIDDENACL 拒绝
UNAUTHORIZEDToken 无效
RATE_LIMITED速率超限
QUOTA_EXCEEDED积分 / 容量超限
MODEL_UNAVAILABLE模型暂时不可用(已 Failover 仍失败)
TOOL_INVOCATION_FAILED工具调用失败
KB_INDEX_NOT_READY知识库索引尚未就绪
INTERNAL_ERROR服务器内部错

重试策略

错误重试退避
400 / 401 / 403 / 404 / 422 不要
409 视情况立即一次,不行就放弃
429Retry-After
500 / 502 / 503 / 504指数退避(1s → 2s → 4s → 8s,最多 5 次)

故障定位:request_id

每个响应都带 request_id。报告问题时带上 request_id,运维可以在毫秒级找到完整链路。

接下来

页面导航