API 文档 V2

API v2 错误和重试

处理 GenderAPI v2 Problem Details、验证错误、速率限制和计费不确定性。了解重试费用以及何时联系支持人员。

错误和 HTTP 状态代码

应用程序错误使用 application/problem+json (RFC 9457)。使用稳定字段 code 和 action 处理错误,而不是使用 detail 中的说明文本。对于验证错误,errors 包含受影响字段的 JSON 指针位置。联系支持人员时请注明 request_id。代理或连接失败可能会返回不同的响应正文;在解析 JSON 之前检查 Content-Type。

以下合成 422 示例显示了计费前的无效电子邮件语法。公共错误目录列出了每个代码、状态、解释和建议的操作。

HTTP 状态典型含义下一步
400 / 413 / 415JSON 格式错误、主体过大或不受支持的介质类型。更正请求。
401 / 403访问被拒绝、账户限制或积分不足。检查code;正确访问或补充积分/等待试用重置。
422输入无效或选项不兼容。更正 errors 中标识的字段。
404 / 405未知路由或不支持的 HTTP 方法。检查端点路径和 Allow 响应标头。
429速率或并发限制。在发送另一个请求之前等待 Retry-After。
500服务器意外故障。联系支持人员 request_id;重试之前请检查帐单。
502 / 503 / 504提供商、依赖性、计费或超时失败。重试前检查 code、action 和 billing_status。
说明性 JSON 响应
{
  "type": "urn:genderapi:problem:validation_error",
  "title": "validation error",
  "status": 422,
  "detail": "A valid email address is required.",
  "instance": "urn:uuid:11111111-1111-4111-8111-111111111111",
  "code": "validation_error",
  "request_id": "11111111-1111-4111-8111-111111111111",
  "documentation": "https://api.genderapi.io/api/v2/errors",
  "action": "correct_request",
  "errors": [
    {
      "pointer": "/value",
      "message": "Invalid email address."
    }
  ],
  "meta": {
    "request_id": "11111111-1111-4111-8111-111111111111",
    "duration_ms": 12,
    "access": {
      "mode": "ip_trial",
      "reason": "api_key_missing"
    },
    "usage": {
      "charged_credits": 0,
      "remaining_credits": null,
      "billing_status": "not_charged",
      "resets_at": "2026-09-26T12:00:00.000Z",
      "limit": 10,
      "period_seconds": 86400
    }
  }
}

重试和计费

每个预测请求都是一个新的操作,包括再次发送的相同请求。正常信用规则适用于每个请求。没有重复请求保护,因此请避免在连接丢失或未知结果后自动重试。

对于 429 响应,请等待 Retry-After,然后再发送另一个请求。对于预测失败,请首先检查 code、action 和 meta.usage.billing_status。对于 billing_reconciliation_required 或未确认的计费,请在重试之前联系 request_id 支持人员。

部分成功的批次可能会返回 HTTP 200。检查每个项目,并在确认计费后仅重新提交失败的项目;如果重新提交,成功的项目将再次计费。

X-Request-ID 和 meta.request_id 标识当前 HTTP 尝试。读取 /usage 以获取当前余额。 HEAD 不启动计费预测。预测和帐户响应不可缓存。

客户端应容忍附加响应字段并在信息不可用时保留 null 值。

请求限制

处理 HTTP 429 和 Retry-After,而不是假设在这些上限下请求总是被接受。服务能力共享。显示的值是当前服务默认值。速率限制响应包括 X-RateLimit-Limit、X-RateLimit-Remaining 和 X-RateLimit-Reset(Unix 秒)。 Retry-After 是以秒为单位的延迟。这些标头描述请求限制,而不是剩余积分。即使免费的 /usage 读取也会计入速率限制。

限制值
JSON 请求正文64 KiB 最大值
预测值1–254 个字符
批次50 个带有 API 密钥的物品; 10.用IP试用
账户费率每分钟 120 个请求
IP 率每分钟 600 个请求
并发操作每个帐户 2 个; 16个全服务