Docs错误码

错误码 (Errors)

FindIP API 使用标准 HTTP 状态码,并返回包含错误详情的 JSON 响应。

错误响应结构

所有错误响应均遵循以下结构:

JSON
{
"detail": "可读的错误信息"
}

HTTP 状态码

成功

代码状态说明
200OK请求成功。

客户端错误

代码状态说明
400Bad Request请求格式错误(如日期格式错误、IPC 代码错误或未知的 applicant_match)。
401Unauthorized缺少或无效的 API 密钥。请检查 X-API-Key 请求头。
403ForbiddenAPI 密钥已被停用。
422Unprocessable Entity请求校验失败(缺少必填字段,或类型/取值错误)。
429Too Many Requests已超过月度检索额度,或触发每分钟 60 次的速率限制。请升级套餐或等待下个结算周期重置。

服务器错误

代码状态说明
500Internal Server Error服务器发生未预期错误(含嵌入失败)。请稍后重试。
503Service Unavailable服务器暂时不可用(维护、负载过高或认证服务故障)。

常见错误场景

API 密钥缺失或错误

401 Unauthorized
{
"detail": "Missing X-API-Key header"
}
401 Unauthorized
{
"detail": "Invalid API key"
}

请确认请求中包含 X-API-Key: psk_live_... 请求头。

已停用的 API 密钥

403 Forbidden
{
"detail": "API key is deactivated"
}

密钥存在但已被停用。如需重新发行密钥,请联系我们

超过月度检索额度

429 Too Many Requests
{
"detail": "Daily limit exceeded (30/30). Upgrade your plan at https://findip.ai/pricing"
}

已达到检索额度。额度按结算日每月自动重置。详情查询、附图、编号查询不计入额度。请在使用量仪表盘查看当前状态。

请求校验错误

422 Unprocessable Entity
{
"detail": "query field required"
}

缺少必填字段,或字段类型/取值不正确。请查看 Search API 的请求结构。

无效参数

400 Bad Request
{
"detail": "invalid date: '2024/01/01' (expected YYYY-MM-DD)"
}

专利详情中的逐项 not_found

POST /api/v1/patents/details 即使某些 ID 无法解析也会返回 200 OK。无法解析的 ID 不会作为顶层错误出现,而是在 patents 数组中以 {"patent_id": "...", "error": "not_found"} 形式呈现。请逐项检查。

200 OK (partial)
{
"patents": [
  { "patent_id": "KR1020230012345A", "metadata": { ... }, "content": "..." },
  { "patent_id": "US99999999B2", "error": "not_found" }
]
}

错误处理最佳实践

  1. 解析响应 body 之前,务必先检查 HTTP 状态码。
  2. 遇到 429500 时,使用指数退避 (Exponential Backoff) 重试。
  3. 出于排错目的,记录完整错误响应日志。detail 字段包含定位原因的关键信息。
  4. 对于 POST /api/v1/patents/details,即使返回 200 也请逐项检查 error: "not_found"
  5. 设置合理的请求超时(检索 30 秒,其他端点建议 10 秒)。
API错误代码 — 专利检索API | FindIP