FishMem

错误与幂等

稳定错误外层、权限、请求标识与重试行为。

所有非 2xx API 响应使用同一外层:

{ "code": "INVALID_REQUEST", "message": "One scope is required", "request_id": "req_...", "details": {} }
状态示例错误码含义
400INVALID_REQUESTINVALID_CURSORIDEMPOTENCY_KEY_REQUIRED请求无法执行
401INVALID_API_KEYAPI_KEY_EXPIRED认证失败
402INSUFFICIENT_CREDITS托管项目额度不足
403INSUFFICIENT_PERMISSIONKey 缺少读、写或操作权限
404MEMORY_NOT_FOUNDDOCUMENT_NOT_FOUNDOPERATION_NOT_FOUND已认证项目中资源不存在
409IDEMPOTENCY_CONFLICTVERSION_CONFLICT、上传/用量冲突重试身份、不可变资源或版本冲突
413上传、提取文本或页数超限生产边界超限
415UNSUPPORTED_DOCUMENT_MEDIA_TYPE不支持的文件类型
429RATE_LIMITED按 Key 的请求窗口耗尽
500MEMORY_ENGINE_ERROR引擎或供应商操作失败

变更请求使用稳定 Idempotency-Key。同一键配同一规范化命令返回原结果;配不同命令返回 409。客户端超时不代表持久任务失败,应保留事件/操作 ID。读取可以有限重试,写入只能在复用原键时重试。request_id 可用于支持排障,但不得连同 API Key 或敏感负载一起记录。