HTTP 状态码
错误响应格式
所有错误响应遵循统一格式:详细错误说明
400 Bad Request
缺少必需参数
model 字段
解决方案: 确保请求包含所有必需参数
无效的模型 ID
anthropic/claude-3-7-sonnet-20250219
缺少工具上下文
- 在
context或toolContext中提供缺失字段 - 使用
contextStrategy: "skip"跳过该工具 - 使用
GET /api/v1/tools查看工具的requiredContext
消息格式错误
messages 字段不是数组格式
解决方案: 确保 messages 是一个数组,包含 role 和 content 字段
401 Unauthorized
API Key 无效或缺失
- 检查 API Key 是否正确
- 确认 Authorization 头格式:
Bearer YOUR_API_KEY - 验证 API Key 是否已过期
- 联系管理员重新生成 API Key
认证头格式错误
Authorization: Bearer YOUR_API_KEY
403 Forbidden
模型不可用
- 使用
GET /api/v1/models查看可用模型 - 联系管理员升级权限
- 使用许可列表中的其他模型
工具不可用
- 使用
GET /api/v1/tools查看可用工具 - 联系管理员启用该工具
- 从
allowedTools中移除不可用的工具
404 Not Found
- 检查 URL 拼写是否正确
- 确认使用正确的 HTTP 方法
- 参考 API 概览 查看所有可用端点
409 Conflict
429 TooManyRequests(当前未实现)
理论响应格式(如果实现):设计说明:如果未来实现限流功能,建议通过 HTTP 响应头
Retry-After(单位:秒)传递重试等待时间。- 实现指数退避重试策略
- 读取响应头
Retry-After获取建议的重试时间 - 减少并发请求数
- 联系销售团队提升限额
500 Internal Server Error
- 使用
correlationId联系技术支持 - 稍后重试请求
- 检查服务状态页面
503 Service Unavailable
- 等待几分钟后重试
- 实现重试机制
- 查看服务状态页面
特殊错误场景
上下文策略错误
使用contextStrategy: "error" 时,缺少上下文会返回:
验证模式报告
使用validateOnly: true 或 contextStrategy: "report" 时返回验证报告(不包装在 success/data 中):
验证报告说明:
- 直接返回 ValidationReport 对象,不包装在
{success, data}中 valid: 总体验证是否通过model: 模型验证结果tools: 每个工具的验证结果数组
流式输出中的错误
流式响应遇到错误时会中断连接。如果错误发生在流开始后,客户端可能会收到部分数据后断开连接。流式错误处理:
- 流式输出不会返回特殊的错误事件类型
- 如果验证失败,不会开始流式响应,直接返回 HTTP 错误(400, 401等)
- 如果流式过程中发生错误,连接会中断,客户端需要实现错误恢复机制
- 建议在流式请求中实现超时和重试逻辑
错误处理最佳实践
记录 correlationId
记录 correlationId
每个错误响应都包含
correlationId,便于问题排查:实现重试机制
实现重试机制
对于 5xx 错误实现重试(429 当前未实现,代码为未来兼容性保留):
注意:当前 API 不会返回 429 错误(未实现限流),429 处理逻辑为未来兼容性保留。
区分错误类型
区分错误类型
根据状态码采取不同的处理策略:
注意:当前 API 不会返回 429 错误(未实现限流),case 429 为未来兼容性保留。
使用 validateOnly 预检
使用 validateOnly 预检
在正式调用前验证参数:
下一步
错误处理指南
查看完整的错误处理示例代码
调试技巧
学习高效的调试方法

