Fileverity API 文档
错误
Fileverity API 的错误格式、HTTP 状态码和完整的错误码表,并说明哪些错误应当重试。
查看 Markdown更新于 2026-11-04
错误使用标准的 HTTP 状态码,响应体为带有稳定 code 的 JSON。请以 code 而不是 message 作为判断依据:消息内容可能会变化。
{ "error": { "type": "invalid_request_error", "code": "invalid_parameter", "message": "Unrecognized parameter: files.", "param": "files", "request_id": "req_4mQ9cX2vB7nP1sK8tL3wR6yZ" }}| 字段 | 说明 |
|---|---|
error.type | 错误类别。每种类型对应一类 HTTP 状态码,见下文列表。 |
error.code | 稳定且机器可读的标识符。 |
error.message | 供人阅读的说明,可能会指明相关的字段或限制。 |
error.param | 引发错误的请求字段,或为 null。 |
error.request_id | 本次请求的 ID,同时也在 x-request-id 响应头中。联系 hello@fileverity.com 获取支持时,请提供该 ID。 |
错误类型
| 类型 | 状态 | 含义 |
|---|---|---|
invalid_request_error | 400, 413, 415, 422 | 请求格式有误或超出限制。请修正请求;原样重试仍会失败。 |
authentication_error | 401 | 缺少 API 密钥或 API 密钥无效。 |
billing_error | 402 | 余额或支出上限导致请求被拒绝。请充值或提高上限。 |
not_found_error | 404 | 资源不存在、已过期,或属于其他工作区。 |
conflict_error | 409 | 请求与当前状态冲突。 |
rate_limit_error | 429 | 请求过多,或待处理的上传过多。对于 rate_limited,请等待 retry-after 秒。pending_files_limit 不带 retry-after:请使用或删除这些文件,或等待文件过期。 |
api_error | 500, 502, 503 | 我们这边出现问题,或资源繁忙。这些请求未扣费。请采用退避策略重试。service_unavailable 会带有 retry-after 响应头。 |
哪些情况应重试
- 重试
rate_limited(等待retry-after秒后)以及internal_error、analysis_failed和service_unavailable(采用指数退避;对service_unavailable,先等待retry-after秒)。请发送相同的Idempotency-Key,确保重试不会导致重复执行。参见幂等性。 - 等待后重试
idempotency_in_progress。 - 不要重试其他
4xx错误,除非您已修改请求或账号状态。 - 以错误结束的检测不会扣费。
仍然无法解决?请发邮件至 hello@fileverity.com,或使用联系页面,并附上请求 ID。
错误码
此表由 API 自身的错误定义生成。
| 错误码 | 状态 | 类型 | 消息 |
|---|---|---|---|
invalid_json | 400 | invalid_request_error | 请求体必须是 JSON 对象。 |
missing_parameter | 400 | invalid_request_error | 缺少必填参数。 |
invalid_parameter | 400 | invalid_request_error | 参数值无效。 |
text_too_short | 400 | invalid_request_error | 文本过短,无法评估。请至少发送 100 个词。 |
text_too_long | 413 | invalid_request_error | 文本超过 100,000 个字符。请拆分为多个请求。 |
unsupported_media_type | 415 | invalid_request_error | 请以 JSON 格式发送请求体,并带上请求头“Content-Type: application/json”。 |
unsupported_language | 400 | invalid_request_error | 文本不属于支持的语言。支持的语言为 en、fr、de、es 和 zh。 |
file_not_found | 400 | invalid_request_error | 未找到已上传的文件,或文件已过期。请重新上传。 |
unsupported_file | 415 | invalid_request_error | 此模型不支持该文件格式。 |
file_too_large | 413 | invalid_request_error | 文件超过此模型的大小限制。 |
too_many_pixels | 413 | invalid_request_error | 图片超过 4000 万像素。 |
too_many_pages | 413 | invalid_request_error | 文档超过 100 页。 |
document_too_long | 413 | invalid_request_error | 文档包含的文字过多,无法在一次请求中分析。 |
invalid_file | 422 | invalid_request_error | 文件已损坏或无法读取。 |
password_required | 422 | invalid_request_error | 文档已加密。请发送其密码以进行分析。 |
wrong_password | 422 | invalid_request_error | 文档密码不正确。 |
not_examinable | 422 | invalid_request_error | 文档中没有可检查的文字、照片或结构。未扣费。 |
missing_api_key | 401 | authentication_error | 未提供 API 密钥。请在请求头“Authorization: Bearer fv_live_...”中发送。 |
invalid_api_key | 401 | authentication_error | API 密钥无效或已被撤销。 |
insufficient_balance | 402 | billing_error | 您的余额不足以完成此请求。请在控制台中充值。 |
spend_limit_reached | 402 | billing_error | 此 API 密钥已达到每月支出上限。请在控制台中提高上限,或等到下个月(UTC)。 |
not_found | 404 | not_found_error | 请求的资源不存在。 |
model_not_found | 404 | not_found_error | 模型不存在或不可用。 |
not_cancelable | 409 | conflict_error | 该分析已无法取消。 |
canceled | 409 | conflict_error | 分析已取消,未扣费。 |
idempotency_mismatch | 409 | conflict_error | 此 Idempotency-Key 已被用于另一个不同的请求体。 |
idempotency_in_progress | 409 | conflict_error | 使用此 Idempotency-Key 的请求仍在处理中。请稍后重试。 |
pending_files_limit | 429 | rate_limit_error | 此工作区待处理的上传过多。请分析或删除已上传的文件,或等待文件在最长 24 小时内过期。 |
rate_limited | 429 | rate_limit_error | 请求过多。请在 Retry-After 响应头指定的秒数后重试。 |
internal_error | 500 | api_error | 请求未能完成。请重试;如果问题持续,请联系技术支持并提供请求 ID。 |
analysis_failed | 502 | api_error | 分析未能完成,未扣费。请重试;如果再次失败,请联系技术支持并提供请求 ID。 |
service_unavailable | 503 | api_error | 服务暂时不可用或繁忙,未扣费。请在 Retry-After 响应头指定的秒数后重试。 |
仅限控制台的错误码
这些错误码由控制台自身的接口返回,这些接口依赖您的登录会话。使用 API 密钥发出的请求不会返回它们。
| 错误码 | 状态 | 类型 | 消息 |
|---|---|---|---|
session_required | 401 | authentication_error | 请登录后继续。 |
forbidden | 403 | permission_error | 您没有执行此操作的权限。 |
invite_invalid | 404 | not_found_error | 此邀请无效、已过期或已被使用。 |
invite_mismatch | 403 | permission_error | 此邀请发送给了另一个邮箱地址。 |
invite_limit | 409 | conflict_error | 此工作区待处理的邀请数量已达上限。请先撤销一个。 |
last_owner | 409 | conflict_error | 工作区至少要保留一位所有者。请先指定另一位成员为所有者。 |
webhook_limit | 409 | conflict_error | 此工作区的 Webhook 端点数量已达上限。请先删除一个。 |
key_limit | 409 | conflict_error | 此工作区的有效 API 密钥数量已达上限。请先撤销一个。 |