{"openapi":"3.0.3","info":{"title":"CHA.LA IP 情报 API","description":"## 快速接入\n\n同一套接口，查询 IP、网络归属、路由与威胁证据。先完成账户开通，再从一条请求开始。\n\n1. 创建账户: 注册并登录 API 控制台，申请开通。当前邮箱账户需人工审核；审核不等于邮箱验证。\n2. 获取 API Key: 审核后可自助创建，或由管理员签发账户专属 Key。完整 Key 仅展示一次，请安全保存。\n3. 从服务端调用: 使用 X-API-Key 或 Authorization: Bearer。请勿放入 URL、公开仓库或前端代码。\n\n[API 控制台](https://www.cha.la/console)\n\n## 免费额度与付费账期\n\nFree 每账户每天 1,000 次，UTC 零点重置。所有 Key 与网页批量共享余额；撤销或重建 Key 不重置额度。\n\n|套餐|每日安全上限|请求/分钟/Key|有效 Key|目标/批次|\n|---|---:|---:|---:|---:|\n|Free|1,000|30|2|100|\n|Developer|10,000|120|5|500|\n|Pro|100,000|600|20|2,000|\n|Enterprise|1,000,000|3,000|100|5,000|\n\n付费账期由后台人工开通，指定套餐、总额度和到期时间；账期总额度不是每日上限乘天数。在线支付与自动续费尚未启用。到期回到 Free，已有 Key 的权限不会自动扩大。旧组织合同及更低的 Key 上限仍单独适用。\n\n## 如何计算用量\n\n同步查询成功扣 1 次；批量进度和结果下载不扣查询额度；失败、无权限或被限流不扣。\n\n批量：按受理的去重目标数一次扣除，后续单目标失败不退回。Idempotency-Key 必填，同标识同请求重试不重复扣费。\n\n网页批量任务的进度查看和下载不另扣额度。429 / 503 请遵循 Retry-After（如有）并使用指数退避。\n\n## 能力边界\n\n客户接入使用 /api/public/v1。/api/v1 为网站内部接口，不属于商业接入协议。第三方浏览器 CORS 未开放，请在你的后端调用。\n\n反向 IP 数据源：未配置，暂不可用。\n\nC2 情报分发：未启用。\n\nRPKI 使用快照；请检查 observedAt、expiresAt、stale 及 riskStatus。unknown 或未观测到证据不等于安全。实时能力状态以 /api/capabilities 为准。","version":"0.6.0"},"components":{"securitySchemes":{"apiKey":{"type":"apiKey","in":"header","name":"X-API-Key"},"bearerAuth":{"type":"http","scheme":"bearer"}},"schemas":{}},"paths":{"/api/public/v1/batch/ip":{"post":{"operationId":"_batch_ip","summary":"批量 IP 查询","tags":["Public API","Batch Intelligence"],"description":"必须提供 Idempotency-Key。同标识、同规范化目标列表重试会返回原任务，不重复扣费；输入变化或任务已过期返回 409。按受理的去重目标数扣费，后续单目标失败不退回。任务保留 7 天。\n\n最低套餐：free。所需权限：batch:write, ip:read。使用 X-API-Key 或 Authorization: Bearer 认证。","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"targets":{"type":"array","items":{"type":"string"},"description":"待查询的 IP 或域名数组；批次数量上限由套餐决定。"}},"required":["targets"]}}}},"parameters":[{"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[A-Za-z0-9._:-]+$"},"in":"header","name":"Idempotency-Key","required":true,"description":"批次唯一标识，随任务保留；同一请求重试必须复用。"}],"security":[{"apiKey":[]},{"bearerAuth":[]}],"x-required-scopes":["batch:write","ip:read"],"responses":{"200":{"description":"请求成功。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"status":{"type":"string","enum":["queued","running","completed","completed_with_errors","failed"]},"inputCount":{"type":"integer"},"completedCount":{"type":"integer"},"successCount":{"type":"integer"},"errorCount":{"type":"integer"},"createdAt":{"type":"string","format":"date-time"},"expiresAt":{"type":"string","format":"date-time"},"items":{"type":"array","items":{"type":"object","properties":{"position":{"type":"integer"},"target":{"type":"string"},"status":{"type":"string"},"result":{"type":"object","properties":{"ip":{"type":"string"},"input":{"type":"string"},"countryCode":{"type":"string"},"location":{"type":"string"},"asn":{"type":"integer","nullable":true},"asnName":{"type":"string"},"organization":{"type":"string"},"network":{"type":"string"},"ipType":{"type":"string","description":"展示标签；ISP 托管 IP 为 ISP 所属网络的托管子类，不保证属于住宅或静态 IP。"},"ipUsage":{"type":"object","properties":{"code":{"type":"string","description":"稳定的用途代码，例如 isp_hosted、hosting、residential_access、mobile、business、cdn、proxy、unknown。"},"label":{"type":"string"},"baseType":{"type":"string"},"asnOwnerCategory":{"type":"string"}},"additionalProperties":true},"ipTypeAssessments":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"confidence":{"type":"number"},"scope":{"type":"string","enum":["ip","prefix","asn"]},"evidence":{"type":"array","items":{"type":"string"}},"sourceKeys":{"type":"array","items":{"type":"string"}}},"additionalProperties":true}},"native":{"type":"string"},"risk":{"type":"number"},"riskStatus":{"type":"string","description":"解读风险分数前先检查此字段；not_observed / unknown 不代表安全。"},"riskConfidence":{"type":"number"},"riskComponents":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"label":{"type":"string"},"contribution":{"type":"number"},"detail":{"type":"string"},"source":{"type":"string"}},"additionalProperties":true}},"observedAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"additionalProperties":true,"description":"IP 情报；可能以兼容方式增加证据字段。","nullable":true},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"additionalProperties":true,"nullable":true}},"additionalProperties":true}}},"additionalProperties":true},"meta":{"type":"object","properties":{"provider":{"type":"string"},"plan":{"type":"string"},"chargedUnits":{"type":"integer"},"replayed":{"type":"boolean"}},"additionalProperties":true}},"additionalProperties":true,"description":"Successful response."}}}},"202":{"description":"批量任务已受理，目标额度已一次性扣除。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"status":{"type":"string","enum":["queued","running","completed","completed_with_errors","failed"]},"inputCount":{"type":"integer"},"completedCount":{"type":"integer"},"successCount":{"type":"integer"},"errorCount":{"type":"integer"},"createdAt":{"type":"string","format":"date-time"},"expiresAt":{"type":"string","format":"date-time"},"items":{"type":"array","items":{"type":"object","properties":{"position":{"type":"integer"},"target":{"type":"string"},"status":{"type":"string"},"result":{"type":"object","properties":{"ip":{"type":"string"},"input":{"type":"string"},"countryCode":{"type":"string"},"location":{"type":"string"},"asn":{"type":"integer","nullable":true},"asnName":{"type":"string"},"organization":{"type":"string"},"network":{"type":"string"},"ipType":{"type":"string","description":"展示标签；ISP 托管 IP 为 ISP 所属网络的托管子类，不保证属于住宅或静态 IP。"},"ipUsage":{"type":"object","properties":{"code":{"type":"string","description":"稳定的用途代码，例如 isp_hosted、hosting、residential_access、mobile、business、cdn、proxy、unknown。"},"label":{"type":"string"},"baseType":{"type":"string"},"asnOwnerCategory":{"type":"string"}},"additionalProperties":true},"ipTypeAssessments":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"confidence":{"type":"number"},"scope":{"type":"string","enum":["ip","prefix","asn"]},"evidence":{"type":"array","items":{"type":"string"}},"sourceKeys":{"type":"array","items":{"type":"string"}}},"additionalProperties":true}},"native":{"type":"string"},"risk":{"type":"number"},"riskStatus":{"type":"string","description":"解读风险分数前先检查此字段；not_observed / unknown 不代表安全。"},"riskConfidence":{"type":"number"},"riskComponents":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"label":{"type":"string"},"contribution":{"type":"number"},"detail":{"type":"string"},"source":{"type":"string"}},"additionalProperties":true}},"observedAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"additionalProperties":true,"description":"IP 情报；可能以兼容方式增加证据字段。","nullable":true},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"additionalProperties":true,"nullable":true}},"additionalProperties":true}}},"additionalProperties":true},"meta":{"type":"object","properties":{"provider":{"type":"string"},"plan":{"type":"string"},"chargedUnits":{"type":"integer"},"replayed":{"type":"boolean"}},"additionalProperties":true}},"additionalProperties":true,"description":"Batch accepted; targets charged atomically."}}}},"400":{"description":"请求参数无效。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Invalid parameters."}}}},"401":{"description":"API Key 缺失、无效、过期、已撤销或被暂停。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Missing, expired, revoked or invalid API key."}}}},"403":{"description":"权限或套餐不满足要求。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Insufficient scope or plan."}}}},"404":{"description":"资源不存在或不属于当前 API 客户端。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Not found or not owned by this client."}}}},"409":{"description":"幂等标识冲突、任务过期或活跃任务数已达上限。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Idempotency conflict or active job limit."}}}},"422":{"description":"目标无法解析或无法测量。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Target cannot be resolved or measured."}}}},"429":{"description":"请求频率或额度已达上限；被拒绝的请求不扣额度。根据 Retry-After 等待后重试。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Rate or quota limit; rejected requests consume no usage units."}}}},"500":{"description":"内部处理失败。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}},"502":{"description":"上游响应异常。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}},"503":{"description":"服务或数据源暂不可用，不扣额度。请根据 Retry-After（如有）退避重试。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Service/data source unavailable; no usage units charged."}}}},"504":{"description":"上游响应超时。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}}},"x-minimum-plan":"free","x-docs-group":"batch"}},"/api/public/v1/batch/jobs/{id}":{"get":{"operationId":"_batch_jobs__id","summary":"批量任务状态","tags":["Public API","Batch Intelligence"],"description":"仅创建任务的同一 API 客户端可读取。进度查看不扣查询额度，请勿高频轮询。\n\n最低套餐：free。所需权限：batch:read。使用 X-API-Key 或 Authorization: Bearer 认证。成功请求扣 1 次，失败或拒绝的请求不扣额度。日额度在 UTC 零点重置。","security":[{"apiKey":[]},{"bearerAuth":[]}],"x-required-scopes":["batch:read"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true,"description":"批量任务 ID，仅同一 API 客户端可访问。"}],"responses":{"200":{"description":"请求成功。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"status":{"type":"string","enum":["queued","running","completed","completed_with_errors","failed"]},"inputCount":{"type":"integer"},"completedCount":{"type":"integer"},"successCount":{"type":"integer"},"errorCount":{"type":"integer"},"createdAt":{"type":"string","format":"date-time"},"expiresAt":{"type":"string","format":"date-time"},"items":{"type":"array","items":{"type":"object","properties":{"position":{"type":"integer"},"target":{"type":"string"},"status":{"type":"string"},"result":{"type":"object","properties":{"ip":{"type":"string"},"input":{"type":"string"},"countryCode":{"type":"string"},"location":{"type":"string"},"asn":{"type":"integer","nullable":true},"asnName":{"type":"string"},"organization":{"type":"string"},"network":{"type":"string"},"ipType":{"type":"string","description":"展示标签；ISP 托管 IP 为 ISP 所属网络的托管子类，不保证属于住宅或静态 IP。"},"ipUsage":{"type":"object","properties":{"code":{"type":"string","description":"稳定的用途代码，例如 isp_hosted、hosting、residential_access、mobile、business、cdn、proxy、unknown。"},"label":{"type":"string"},"baseType":{"type":"string"},"asnOwnerCategory":{"type":"string"}},"additionalProperties":true},"ipTypeAssessments":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"confidence":{"type":"number"},"scope":{"type":"string","enum":["ip","prefix","asn"]},"evidence":{"type":"array","items":{"type":"string"}},"sourceKeys":{"type":"array","items":{"type":"string"}}},"additionalProperties":true}},"native":{"type":"string"},"risk":{"type":"number"},"riskStatus":{"type":"string","description":"解读风险分数前先检查此字段；not_observed / unknown 不代表安全。"},"riskConfidence":{"type":"number"},"riskComponents":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"label":{"type":"string"},"contribution":{"type":"number"},"detail":{"type":"string"},"source":{"type":"string"}},"additionalProperties":true}},"observedAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"additionalProperties":true,"description":"IP 情报；可能以兼容方式增加证据字段。","nullable":true},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"additionalProperties":true,"nullable":true}},"additionalProperties":true}}},"additionalProperties":true},"meta":{"type":"object","properties":{"provider":{"type":"string"},"plan":{"type":"string"},"chargedUnits":{"type":"integer"},"replayed":{"type":"boolean"}},"additionalProperties":true}},"additionalProperties":true,"description":"Successful response."}}}},"400":{"description":"请求参数无效。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Invalid parameters."}}}},"401":{"description":"API Key 缺失、无效、过期、已撤销或被暂停。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Missing, expired, revoked or invalid API key."}}}},"403":{"description":"权限或套餐不满足要求。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Insufficient scope or plan."}}}},"404":{"description":"资源不存在或不属于当前 API 客户端。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Not found or not owned by this client."}}}},"409":{"description":"幂等标识冲突、任务过期或活跃任务数已达上限。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Idempotency conflict or active job limit."}}}},"422":{"description":"目标无法解析或无法测量。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Target cannot be resolved or measured."}}}},"429":{"description":"请求频率或额度已达上限；被拒绝的请求不扣额度。根据 Retry-After 等待后重试。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Rate or quota limit; rejected requests consume no usage units."}}}},"500":{"description":"内部处理失败。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}},"502":{"description":"上游响应异常。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}},"503":{"description":"服务或数据源暂不可用，不扣额度。请根据 Retry-After（如有）退避重试。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Service/data source unavailable; no usage units charged."}}}},"504":{"description":"上游响应超时。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}}},"x-minimum-plan":"free","x-docs-group":"batch"}},"/api/public/v1/batch/jobs/{id}/results":{"get":{"operationId":"_batch_jobs__id_results","summary":"导出批量结果","tags":["Public API","Batch Intelligence"],"description":"仅创建任务的同一 API 客户端可导出。结果下载不扣查询额度，支持 JSON 或 CSV。\n\n最低套餐：free。所需权限：batch:read。使用 X-API-Key 或 Authorization: Bearer 认证。成功请求扣 1 次，失败或拒绝的请求不扣额度。日额度在 UTC 零点重置。","parameters":[{"schema":{"type":"string","enum":["json","csv"],"default":"json"},"in":"query","name":"format","required":false,"description":"导出格式。"},{"schema":{"type":"string"},"in":"path","name":"id","required":true,"description":"批量任务 ID，仅同一 API 客户端可访问。"}],"security":[{"apiKey":[]},{"bearerAuth":[]}],"x-required-scopes":["batch:read"],"responses":{"200":{"description":"JSON 报告或 CSV 导出。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"status":{"type":"string","enum":["queued","running","completed","completed_with_errors","failed"]},"inputCount":{"type":"integer"},"completedCount":{"type":"integer"},"successCount":{"type":"integer"},"errorCount":{"type":"integer"},"createdAt":{"type":"string","format":"date-time"},"expiresAt":{"type":"string","format":"date-time"},"items":{"type":"array","items":{"type":"object","properties":{"position":{"type":"integer"},"target":{"type":"string"},"status":{"type":"string"},"result":{"type":"object","properties":{"ip":{"type":"string"},"input":{"type":"string"},"countryCode":{"type":"string"},"location":{"type":"string"},"asn":{"type":"integer","nullable":true},"asnName":{"type":"string"},"organization":{"type":"string"},"network":{"type":"string"},"ipType":{"type":"string","description":"展示标签；ISP 托管 IP 为 ISP 所属网络的托管子类，不保证属于住宅或静态 IP。"},"ipUsage":{"type":"object","properties":{"code":{"type":"string","description":"稳定的用途代码，例如 isp_hosted、hosting、residential_access、mobile、business、cdn、proxy、unknown。"},"label":{"type":"string"},"baseType":{"type":"string"},"asnOwnerCategory":{"type":"string"}},"additionalProperties":true},"ipTypeAssessments":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"confidence":{"type":"number"},"scope":{"type":"string","enum":["ip","prefix","asn"]},"evidence":{"type":"array","items":{"type":"string"}},"sourceKeys":{"type":"array","items":{"type":"string"}}},"additionalProperties":true}},"native":{"type":"string"},"risk":{"type":"number"},"riskStatus":{"type":"string","description":"解读风险分数前先检查此字段；not_observed / unknown 不代表安全。"},"riskConfidence":{"type":"number"},"riskComponents":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"label":{"type":"string"},"contribution":{"type":"number"},"detail":{"type":"string"},"source":{"type":"string"}},"additionalProperties":true}},"observedAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"additionalProperties":true,"description":"IP 情报；可能以兼容方式增加证据字段。","nullable":true},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"additionalProperties":true,"nullable":true}},"additionalProperties":true}}},"additionalProperties":true},"meta":{"type":"object","properties":{"provider":{"type":"string"},"plan":{"type":"string"},"chargedUnits":{"type":"integer"},"replayed":{"type":"boolean"}},"additionalProperties":true}},"additionalProperties":true}},"text/csv":{"schema":{"type":"string"}}}},"400":{"description":"请求参数无效。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Invalid parameters."}}}},"401":{"description":"API Key 缺失、无效、过期、已撤销或被暂停。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Missing, expired, revoked or invalid API key."}}}},"403":{"description":"权限或套餐不满足要求。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Insufficient scope or plan."}}}},"404":{"description":"资源不存在或不属于当前 API 客户端。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Not found or not owned by this client."}}}},"409":{"description":"幂等标识冲突、任务过期或活跃任务数已达上限。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Idempotency conflict or active job limit."}}}},"422":{"description":"目标无法解析或无法测量。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Target cannot be resolved or measured."}}}},"429":{"description":"请求频率或额度已达上限；被拒绝的请求不扣额度。根据 Retry-After 等待后重试。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Rate or quota limit; rejected requests consume no usage units."}}}},"500":{"description":"内部处理失败。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}},"502":{"description":"上游响应异常。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}},"503":{"description":"服务或数据源暂不可用，不扣额度。请根据 Retry-After（如有）退避重试。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Service/data source unavailable; no usage units charged."}}}},"504":{"description":"上游响应超时。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}}},"x-minimum-plan":"free","x-docs-group":"batch"}},"/api/public/v1/asn/{asn}":{"get":{"operationId":"_asn__asn","summary":"ASN 情报","tags":["Public API"],"description":"大型网络可能返回较大的快照；建议缓存，并检查 stale 和过期时间。\n\n最低套餐：free。所需权限：asn:read。使用 X-API-Key 或 Authorization: Bearer 认证。成功请求扣 1 次，失败或拒绝的请求不扣额度。日额度在 UTC 零点重置。","security":[{"apiKey":[]},{"bearerAuth":[]}],"x-required-scopes":["asn:read"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"asn","required":true,"description":"自治系统编号，例如 AS13335。"}],"responses":{"200":{"description":"请求成功。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"asn":{"type":"integer"},"name":{"type":"string"},"organization":{"type":"string"},"prefixes":{"type":"array","items":{"type":"object","properties":{"prefix":{"type":"string"},"ipVersion":{"type":"integer"}},"additionalProperties":true}},"observedAt":{"type":"string","format":"date-time"},"expiresAt":{"type":"string","format":"date-time"},"stale":{"type":"boolean"},"cacheHit":{"type":"boolean"}},"additionalProperties":true},"meta":{"type":"object","properties":{"provider":{"type":"string"},"plan":{"type":"string"},"chargedUnits":{"type":"integer"},"replayed":{"type":"boolean"}},"additionalProperties":true}},"additionalProperties":true,"description":"Successful response."}}}},"400":{"description":"请求参数无效。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Invalid parameters."}}}},"401":{"description":"API Key 缺失、无效、过期、已撤销或被暂停。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Missing, expired, revoked or invalid API key."}}}},"403":{"description":"权限或套餐不满足要求。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Insufficient scope or plan."}}}},"404":{"description":"资源不存在或不属于当前 API 客户端。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Not found or not owned by this client."}}}},"409":{"description":"幂等标识冲突、任务过期或活跃任务数已达上限。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Idempotency conflict or active job limit."}}}},"422":{"description":"目标无法解析或无法测量。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Target cannot be resolved or measured."}}}},"429":{"description":"请求频率或额度已达上限；被拒绝的请求不扣额度。根据 Retry-After 等待后重试。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Rate or quota limit; rejected requests consume no usage units."}}}},"500":{"description":"内部处理失败。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}},"502":{"description":"上游响应异常。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}},"503":{"description":"服务或数据源暂不可用，不扣额度。请根据 Retry-After（如有）退避重试。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Service/data source unavailable; no usage units charged."}}}},"504":{"description":"上游响应超时。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}}},"x-minimum-plan":"free","x-docs-group":"bgp"}},"/api/public/v1/bgp/prefix":{"get":{"operationId":"_bgp_prefix","summary":"前缀情报","tags":["Public API"],"description":"按时间窗口查询 BGP 前缀统计及可见性。\n\n最低套餐：developer。所需权限：bgp:read。使用 X-API-Key 或 Authorization: Bearer 认证。成功请求扣 1 次，失败或拒绝的请求不扣额度。日额度在 UTC 零点重置。","parameters":[{"schema":{"type":"string"},"in":"query","name":"prefix","required":true,"description":"IPv4 / IPv6 CIDR，例如 1.1.1.0/24。"},{"schema":{"type":"integer","minimum":1,"maximum":744,"default":168},"in":"query","name":"hours","required":false,"description":"查询时间窗口，单位：小时。"}],"security":[{"apiKey":[]},{"bearerAuth":[]}],"x-required-scopes":["bgp:read"],"responses":{"200":{"description":"请求成功。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"prefix":{"type":"string"},"points":{"type":"array","items":{"type":"object","properties":{"windowStart":{"type":"string","format":"date-time","nullable":true},"prefix":{"type":"string"},"announcementCount":{"type":"integer"},"withdrawalCount":{"type":"integer"},"visibleCollectors":{"type":"integer"},"visiblePeers":{"type":"integer"},"originAsns":{"type":"array","items":{"type":"integer"}},"lastObserved":{"type":"string","format":"date-time","nullable":true}},"additionalProperties":true}}},"additionalProperties":true},"meta":{"type":"object","properties":{"provider":{"type":"string"},"plan":{"type":"string"},"chargedUnits":{"type":"integer"},"replayed":{"type":"boolean"}},"additionalProperties":true}},"additionalProperties":true,"description":"Successful response."}}}},"400":{"description":"请求参数无效。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Invalid parameters."}}}},"401":{"description":"API Key 缺失、无效、过期、已撤销或被暂停。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Missing, expired, revoked or invalid API key."}}}},"403":{"description":"权限或套餐不满足要求。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Insufficient scope or plan."}}}},"404":{"description":"资源不存在或不属于当前 API 客户端。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Not found or not owned by this client."}}}},"409":{"description":"幂等标识冲突、任务过期或活跃任务数已达上限。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Idempotency conflict or active job limit."}}}},"422":{"description":"目标无法解析或无法测量。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Target cannot be resolved or measured."}}}},"429":{"description":"请求频率或额度已达上限；被拒绝的请求不扣额度。根据 Retry-After 等待后重试。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Rate or quota limit; rejected requests consume no usage units."}}}},"500":{"description":"内部处理失败。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}},"502":{"description":"上游响应异常。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}},"503":{"description":"服务或数据源暂不可用，不扣额度。请根据 Retry-After（如有）退避重试。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Service/data source unavailable; no usage units charged."}}}},"504":{"description":"上游响应超时。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}}},"x-minimum-plan":"developer","x-docs-group":"bgp"}},"/api/public/v1/bgp/history":{"get":{"operationId":"_bgp_history","summary":"路由历史","tags":["Public API","BGP Intelligence"],"description":"查询已观测的路由事件；没有观测记录不代表没有发生变化。\n\n最低套餐：developer。所需权限：bgp:read。使用 X-API-Key 或 Authorization: Bearer 认证。成功请求扣 1 次，失败或拒绝的请求不扣额度。日额度在 UTC 零点重置。","parameters":[{"schema":{"type":"string"},"in":"query","name":"prefix","required":true,"description":"IPv4 / IPv6 CIDR，例如 1.1.1.0/24。"},{"schema":{"type":"integer","minimum":1,"maximum":744,"default":744},"in":"query","name":"hours","required":false,"description":"查询时间窗口，单位：小时。"},{"schema":{"type":"integer","minimum":1,"maximum":500,"default":200},"in":"query","name":"limit","required":false,"description":"每页结果数或最大返回条数。"}],"security":[{"apiKey":[]},{"bearerAuth":[]}],"x-required-scopes":["bgp:read"],"responses":{"200":{"description":"请求成功。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"prefix":{"type":"string"},"observed":{"type":"boolean"},"windowHours":{"type":"integer"},"events":{"type":"array","items":{"type":"object","properties":{"eventType":{"type":"string"},"prefix":{"type":"string"},"originAsn":{"type":"integer"},"observedAt":{"type":"string","format":"date-time"}},"additionalProperties":true}}},"additionalProperties":true},"meta":{"type":"object","properties":{"provider":{"type":"string"},"plan":{"type":"string"},"chargedUnits":{"type":"integer"},"replayed":{"type":"boolean"}},"additionalProperties":true}},"additionalProperties":true,"description":"Successful response."}}}},"400":{"description":"请求参数无效。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Invalid parameters."}}}},"401":{"description":"API Key 缺失、无效、过期、已撤销或被暂停。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Missing, expired, revoked or invalid API key."}}}},"403":{"description":"权限或套餐不满足要求。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Insufficient scope or plan."}}}},"404":{"description":"资源不存在或不属于当前 API 客户端。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Not found or not owned by this client."}}}},"409":{"description":"幂等标识冲突、任务过期或活跃任务数已达上限。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Idempotency conflict or active job limit."}}}},"422":{"description":"目标无法解析或无法测量。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Target cannot be resolved or measured."}}}},"429":{"description":"请求频率或额度已达上限；被拒绝的请求不扣额度。根据 Retry-After 等待后重试。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Rate or quota limit; rejected requests consume no usage units."}}}},"500":{"description":"内部处理失败。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}},"502":{"description":"上游响应异常。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}},"503":{"description":"服务或数据源暂不可用，不扣额度。请根据 Retry-After（如有）退避重试。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Service/data source unavailable; no usage units charged."}}}},"504":{"description":"上游响应超时。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}}},"x-minimum-plan":"developer","x-docs-group":"bgp"}},"/api/public/v1/bgp/asn/{asn}/edges":{"get":{"operationId":"_bgp_asn__asn_edges","summary":"ASN 邻接","tags":["Public API"],"description":"查询指定 ASN 的已观测邻接关系。\n\n最低套餐：developer。所需权限：bgp:read。使用 X-API-Key 或 Authorization: Bearer 认证。成功请求扣 1 次，失败或拒绝的请求不扣额度。日额度在 UTC 零点重置。","parameters":[{"schema":{"type":"integer","minimum":1,"maximum":365,"default":31},"in":"query","name":"days","required":false,"description":"查询时间窗口，单位：天。"},{"schema":{"type":"string"},"in":"path","name":"asn","required":true,"description":"自治系统编号，例如 AS13335。"}],"security":[{"apiKey":[]},{"bearerAuth":[]}],"x-required-scopes":["bgp:read"],"responses":{"200":{"description":"请求成功。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"asn":{"type":"integer"},"edges":{"type":"array","items":{"type":"object","properties":{"neighbourAsn":{"type":"integer"},"relationship":{"type":"string"}},"additionalProperties":true}}},"additionalProperties":true},"meta":{"type":"object","properties":{"provider":{"type":"string"},"plan":{"type":"string"},"chargedUnits":{"type":"integer"},"replayed":{"type":"boolean"}},"additionalProperties":true}},"additionalProperties":true,"description":"Successful response."}}}},"400":{"description":"请求参数无效。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Invalid parameters."}}}},"401":{"description":"API Key 缺失、无效、过期、已撤销或被暂停。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Missing, expired, revoked or invalid API key."}}}},"403":{"description":"权限或套餐不满足要求。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Insufficient scope or plan."}}}},"404":{"description":"资源不存在或不属于当前 API 客户端。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Not found or not owned by this client."}}}},"409":{"description":"幂等标识冲突、任务过期或活跃任务数已达上限。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Idempotency conflict or active job limit."}}}},"422":{"description":"目标无法解析或无法测量。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Target cannot be resolved or measured."}}}},"429":{"description":"请求频率或额度已达上限；被拒绝的请求不扣额度。根据 Retry-After 等待后重试。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Rate or quota limit; rejected requests consume no usage units."}}}},"500":{"description":"内部处理失败。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}},"502":{"description":"上游响应异常。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}},"503":{"description":"服务或数据源暂不可用，不扣额度。请根据 Retry-After（如有）退避重试。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Service/data source unavailable; no usage units charged."}}}},"504":{"description":"上游响应超时。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}}},"x-minimum-plan":"developer","x-docs-group":"bgp"}},"/api/public/v1/ip/{target}":{"get":{"operationId":"_ip__target","summary":"IP 情报","tags":["Public API"],"description":"返回 IP 归属、用途分类及风险证据。优先检查 riskStatus 和证据时间，未知不等于安全。\n\n最低套餐：free。所需权限：ip:read。使用 X-API-Key 或 Authorization: Bearer 认证。成功请求扣 1 次，失败或拒绝的请求不扣额度。日额度在 UTC 零点重置。","parameters":[{"schema":{"type":"string"},"in":"path","name":"target","required":true,"description":"IPv4、IPv6 或域名。"}],"security":[{"apiKey":[]},{"bearerAuth":[]}],"x-required-scopes":["ip:read"],"responses":{"200":{"description":"请求成功。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"ip":{"type":"string"},"input":{"type":"string"},"countryCode":{"type":"string"},"location":{"type":"string"},"asn":{"type":"integer","nullable":true},"asnName":{"type":"string"},"organization":{"type":"string"},"network":{"type":"string"},"ipType":{"type":"string","description":"展示标签；ISP 托管 IP 为 ISP 所属网络的托管子类，不保证属于住宅或静态 IP。"},"ipUsage":{"type":"object","properties":{"code":{"type":"string","description":"稳定的用途代码，例如 isp_hosted、hosting、residential_access、mobile、business、cdn、proxy、unknown。"},"label":{"type":"string"},"baseType":{"type":"string"},"asnOwnerCategory":{"type":"string"}},"additionalProperties":true},"ipTypeAssessments":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"confidence":{"type":"number"},"scope":{"type":"string","enum":["ip","prefix","asn"]},"evidence":{"type":"array","items":{"type":"string"}},"sourceKeys":{"type":"array","items":{"type":"string"}}},"additionalProperties":true}},"native":{"type":"string"},"risk":{"type":"number"},"riskStatus":{"type":"string","description":"解读风险分数前先检查此字段；not_observed / unknown 不代表安全。"},"riskConfidence":{"type":"number"},"riskComponents":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"label":{"type":"string"},"contribution":{"type":"number"},"detail":{"type":"string"},"source":{"type":"string"}},"additionalProperties":true}},"observedAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"additionalProperties":true,"description":"IP 情报；可能以兼容方式增加证据字段。"},"meta":{"type":"object","properties":{"provider":{"type":"string"},"plan":{"type":"string"},"chargedUnits":{"type":"integer"},"replayed":{"type":"boolean"}},"additionalProperties":true}},"additionalProperties":true,"description":"Successful response."}}}},"400":{"description":"请求参数无效。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Invalid parameters."}}}},"401":{"description":"API Key 缺失、无效、过期、已撤销或被暂停。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Missing, expired, revoked or invalid API key."}}}},"403":{"description":"权限或套餐不满足要求。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Insufficient scope or plan."}}}},"404":{"description":"资源不存在或不属于当前 API 客户端。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Not found or not owned by this client."}}}},"409":{"description":"幂等标识冲突、任务过期或活跃任务数已达上限。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Idempotency conflict or active job limit."}}}},"422":{"description":"目标无法解析或无法测量。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Target cannot be resolved or measured."}}}},"429":{"description":"请求频率或额度已达上限；被拒绝的请求不扣额度。根据 Retry-After 等待后重试。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Rate or quota limit; rejected requests consume no usage units."}}}},"500":{"description":"内部处理失败。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}},"502":{"description":"上游响应异常。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}},"503":{"description":"服务或数据源暂不可用，不扣额度。请根据 Retry-After（如有）退避重试。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Service/data source unavailable; no usage units charged."}}}},"504":{"description":"上游响应超时。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}}},"x-minimum-plan":"free","x-docs-group":"ip"}},"/api/public/v1/ip/{target}/segment":{"get":{"operationId":"_ip__target_segment","summary":"网段画像","tags":["Public API"],"description":"查询 IP 所属网段的画像；网段证据不等于该 IP 的直接观测。\n\n最低套餐：developer。所需权限：history:read。使用 X-API-Key 或 Authorization: Bearer 认证。成功请求扣 1 次，失败或拒绝的请求不扣额度。日额度在 UTC 零点重置。","parameters":[{"schema":{"type":"string"},"in":"path","name":"target","required":true,"description":"IPv4、IPv6 或域名。"}],"security":[{"apiKey":[]},{"bearerAuth":[]}],"x-required-scopes":["history:read"],"responses":{"200":{"description":"请求成功。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"target":{"type":"string"},"profile":{"type":"object","properties":{"prefix":{"type":"string"}},"additionalProperties":true}},"additionalProperties":true},"meta":{"type":"object","properties":{"provider":{"type":"string"},"plan":{"type":"string"},"chargedUnits":{"type":"integer"},"replayed":{"type":"boolean"}},"additionalProperties":true}},"additionalProperties":true,"description":"Successful response."}}}},"400":{"description":"请求参数无效。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Invalid parameters."}}}},"401":{"description":"API Key 缺失、无效、过期、已撤销或被暂停。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Missing, expired, revoked or invalid API key."}}}},"403":{"description":"权限或套餐不满足要求。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Insufficient scope or plan."}}}},"404":{"description":"资源不存在或不属于当前 API 客户端。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Not found or not owned by this client."}}}},"409":{"description":"幂等标识冲突、任务过期或活跃任务数已达上限。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Idempotency conflict or active job limit."}}}},"422":{"description":"目标无法解析或无法测量。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Target cannot be resolved or measured."}}}},"429":{"description":"请求频率或额度已达上限；被拒绝的请求不扣额度。根据 Retry-After 等待后重试。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Rate or quota limit; rejected requests consume no usage units."}}}},"500":{"description":"内部处理失败。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}},"502":{"description":"上游响应异常。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}},"503":{"description":"服务或数据源暂不可用，不扣额度。请根据 Retry-After（如有）退避重试。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Service/data source unavailable; no usage units charged."}}}},"504":{"description":"上游响应超时。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}}},"x-minimum-plan":"developer","x-docs-group":"ip"}},"/api/public/v1/ip/{target}/history":{"get":{"operationId":"_ip__target_history","summary":"IP 历史","tags":["Public API"],"description":"查询已收录的 ASN、组织、位置和注册变更记录，不代表完整历史。\n\n最低套餐：developer。所需权限：history:read。使用 X-API-Key 或 Authorization: Bearer 认证。成功请求扣 1 次，失败或拒绝的请求不扣额度。日额度在 UTC 零点重置。","parameters":[{"schema":{"type":"string"},"in":"path","name":"target","required":true,"description":"IPv4、IPv6 或域名。"}],"security":[{"apiKey":[]},{"bearerAuth":[]}],"x-required-scopes":["history:read"],"responses":{"200":{"description":"请求成功。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"target":{"type":"string"},"asn":{"type":"array","items":{"type":"object","properties":{"asn":{"type":"integer"}},"additionalProperties":true}},"organization":{"type":"array","items":{"type":"object","properties":{"organization":{"type":"string"}},"additionalProperties":true}},"location":{"type":"array","items":{"type":"object","properties":{"location":{"type":"string"}},"additionalProperties":true}},"registration":{"type":"array","items":{"type":"object","properties":{"cidr":{"type":"string"}},"additionalProperties":true}}},"additionalProperties":true},"meta":{"type":"object","properties":{"provider":{"type":"string"},"plan":{"type":"string"},"chargedUnits":{"type":"integer"},"replayed":{"type":"boolean"}},"additionalProperties":true}},"additionalProperties":true,"description":"Successful response."}}}},"400":{"description":"请求参数无效。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Invalid parameters."}}}},"401":{"description":"API Key 缺失、无效、过期、已撤销或被暂停。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Missing, expired, revoked or invalid API key."}}}},"403":{"description":"权限或套餐不满足要求。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Insufficient scope or plan."}}}},"404":{"description":"资源不存在或不属于当前 API 客户端。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Not found or not owned by this client."}}}},"409":{"description":"幂等标识冲突、任务过期或活跃任务数已达上限。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Idempotency conflict or active job limit."}}}},"422":{"description":"目标无法解析或无法测量。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Target cannot be resolved or measured."}}}},"429":{"description":"请求频率或额度已达上限；被拒绝的请求不扣额度。根据 Retry-After 等待后重试。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Rate or quota limit; rejected requests consume no usage units."}}}},"500":{"description":"内部处理失败。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}},"502":{"description":"上游响应异常。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}},"503":{"description":"服务或数据源暂不可用，不扣额度。请根据 Retry-After（如有）退避重试。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Service/data source unavailable; no usage units charged."}}}},"504":{"description":"上游响应超时。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}}},"x-minimum-plan":"developer","x-docs-group":"ip"}},"/api/public/v1/privacy-network":{"get":{"operationId":"_privacy_network","summary":"隐私网络","tags":["Public API","IP Intelligence"],"description":"返回代理、VPN、Tor 等隐私网络和网络属性证据；请同时检查状态、置信度及新鲜度。\n\n最低套餐：developer。所需权限：privacy:read。使用 X-API-Key 或 Authorization: Bearer 认证。成功请求扣 1 次，失败或拒绝的请求不扣额度。日额度在 UTC 零点重置。","parameters":[{"schema":{"type":"string"},"in":"query","name":"target","required":true,"description":"IPv4、IPv6 或域名。"}],"security":[{"apiKey":[]},{"bearerAuth":[]}],"x-required-scopes":["privacy:read"],"responses":{"200":{"description":"请求成功。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"target":{"type":"string"},"normalizedTarget":{"type":"string"},"ipType":{"type":"string"},"privacy":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"status":{"type":"string"},"confidence":{"type":"number","nullable":true},"evidence":{"type":"array","items":{"type":"string"}},"sourceKeys":{"type":"array","items":{"type":"string"}}},"additionalProperties":true}},"network":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"status":{"type":"string"},"confidence":{"type":"number","nullable":true}},"additionalProperties":true}},"observedAt":{"type":"string","format":"date-time"},"expiresAt":{"type":"string","format":"date-time"},"stale":{"type":"boolean"}},"additionalProperties":true},"meta":{"type":"object","properties":{"provider":{"type":"string"},"plan":{"type":"string"},"chargedUnits":{"type":"integer"},"replayed":{"type":"boolean"}},"additionalProperties":true}},"additionalProperties":true,"description":"Successful response."}}}},"400":{"description":"请求参数无效。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Invalid parameters."}}}},"401":{"description":"API Key 缺失、无效、过期、已撤销或被暂停。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Missing, expired, revoked or invalid API key."}}}},"403":{"description":"权限或套餐不满足要求。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Insufficient scope or plan."}}}},"404":{"description":"资源不存在或不属于当前 API 客户端。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Not found or not owned by this client."}}}},"409":{"description":"幂等标识冲突、任务过期或活跃任务数已达上限。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Idempotency conflict or active job limit."}}}},"422":{"description":"目标无法解析或无法测量。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Target cannot be resolved or measured."}}}},"429":{"description":"请求频率或额度已达上限；被拒绝的请求不扣额度。根据 Retry-After 等待后重试。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Rate or quota limit; rejected requests consume no usage units."}}}},"500":{"description":"内部处理失败。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}},"502":{"description":"上游响应异常。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}},"503":{"description":"服务或数据源暂不可用，不扣额度。请根据 Retry-After（如有）退避重试。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Service/data source unavailable; no usage units charged."}}}},"504":{"description":"上游响应超时。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}}},"x-minimum-plan":"developer","x-docs-group":"ip"}},"/api/public/v1/threat/ip":{"get":{"operationId":"_threat_ip","summary":"IP 威胁证据","tags":["Public API","Threat Intelligence"],"description":"not_observed 表示覆盖的数据源中未发现匹配证据，不保证 IP 安全。\n\n最低套餐：developer。所需权限：threat:read。使用 X-API-Key 或 Authorization: Bearer 认证。成功请求扣 1 次，失败或拒绝的请求不扣额度。日额度在 UTC 零点重置。","parameters":[{"schema":{"type":"string"},"in":"query","name":"target","required":true,"description":"IPv4 或 IPv6 地址。"}],"security":[{"apiKey":[]},{"bearerAuth":[]}],"x-required-scopes":["threat:read"],"responses":{"200":{"description":"请求成功。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"target":{"type":"string"},"status":{"type":"string"},"riskScore":{"type":"number","nullable":true},"confidence":{"type":"number","nullable":true},"publicMatches":{"type":"array","items":{"type":"object","properties":{"sourceKey":{"type":"string"}},"additionalProperties":true}},"sources":{"type":"array","items":{"type":"object","properties":{"sourceKey":{"type":"string"},"fresh":{"type":"boolean"},"matched":{"type":"boolean"},"observedAt":{"type":"string","format":"date-time"},"expiresAt":{"type":"string","format":"date-time"}},"additionalProperties":true}}},"additionalProperties":true},"meta":{"type":"object","properties":{"provider":{"type":"string"},"plan":{"type":"string"},"chargedUnits":{"type":"integer"},"replayed":{"type":"boolean"}},"additionalProperties":true}},"additionalProperties":true,"description":"Successful response."}}}},"400":{"description":"请求参数无效。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Invalid parameters."}}}},"401":{"description":"API Key 缺失、无效、过期、已撤销或被暂停。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Missing, expired, revoked or invalid API key."}}}},"403":{"description":"权限或套餐不满足要求。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Insufficient scope or plan."}}}},"404":{"description":"资源不存在或不属于当前 API 客户端。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Not found or not owned by this client."}}}},"409":{"description":"幂等标识冲突、任务过期或活跃任务数已达上限。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Idempotency conflict or active job limit."}}}},"422":{"description":"目标无法解析或无法测量。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Target cannot be resolved or measured."}}}},"429":{"description":"请求频率或额度已达上限；被拒绝的请求不扣额度。根据 Retry-After 等待后重试。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Rate or quota limit; rejected requests consume no usage units."}}}},"500":{"description":"内部处理失败。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}},"502":{"description":"上游响应异常。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}},"503":{"description":"服务或数据源暂不可用，不扣额度。请根据 Retry-After（如有）退避重试。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Service/data source unavailable; no usage units charged."}}}},"504":{"description":"上游响应超时。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}}},"x-minimum-plan":"developer","x-docs-group":"threat"}},"/api/public/v1/threat/c2":{"get":{"operationId":"_threat_c2","summary":"C2 情报","tags":["Public API","Threat Intelligence"],"description":"需要 Pro 及以上套餐并启用生产分发授权。未启用时返回 503，不扣额度。\n\n最低套餐：pro。所需权限：c2:read。使用 X-API-Key 或 Authorization: Bearer 认证。成功请求扣 1 次，失败或拒绝的请求不扣额度。日额度在 UTC 零点重置。","parameters":[{"schema":{"type":"string","enum":["all","online","offline","unknown"],"default":"all"},"in":"query","name":"status","required":false,"description":"C2 在线状态筛选。"},{"schema":{"type":"string","maxLength":80},"in":"query","name":"malware","required":false,"description":"恶意软件家族筛选。"},{"schema":{"type":"string","pattern":"^[A-Za-z]{2}$"},"in":"query","name":"country","required":false,"description":"两位国家代码，例如 US。"},{"schema":{"type":"string","maxLength":120},"in":"query","name":"q","required":false,"description":"按 IP、ASN、网络名称或恶意软件家族搜索。"},{"schema":{"type":"integer","minimum":1,"maximum":10000,"default":1},"in":"query","name":"page","required":false,"description":"页码，从 1 开始。"},{"schema":{"type":"integer","minimum":10,"maximum":100,"default":50},"in":"query","name":"limit","required":false,"description":"每页结果数或最大返回条数。"}],"security":[{"apiKey":[]},{"bearerAuth":[]}],"x-required-scopes":["c2:read"],"responses":{"200":{"description":"请求成功。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"ip":{"type":"string"},"port":{"type":"integer"},"malware":{"type":"string"}},"additionalProperties":true}},"page":{"type":"integer"},"limit":{"type":"integer"}},"additionalProperties":true},"meta":{"type":"object","properties":{"provider":{"type":"string"},"plan":{"type":"string"},"chargedUnits":{"type":"integer"},"replayed":{"type":"boolean"}},"additionalProperties":true}},"additionalProperties":true,"description":"Successful response."}}}},"400":{"description":"请求参数无效。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Invalid parameters."}}}},"401":{"description":"API Key 缺失、无效、过期、已撤销或被暂停。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Missing, expired, revoked or invalid API key."}}}},"403":{"description":"权限或套餐不满足要求。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Insufficient scope or plan."}}}},"404":{"description":"资源不存在或不属于当前 API 客户端。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Not found or not owned by this client."}}}},"409":{"description":"幂等标识冲突、任务过期或活跃任务数已达上限。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Idempotency conflict or active job limit."}}}},"422":{"description":"目标无法解析或无法测量。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Target cannot be resolved or measured."}}}},"429":{"description":"请求频率或额度已达上限；被拒绝的请求不扣额度。根据 Retry-After 等待后重试。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Rate or quota limit; rejected requests consume no usage units."}}}},"500":{"description":"内部处理失败。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}},"502":{"description":"上游响应异常。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}},"503":{"description":"服务或数据源暂不可用，不扣额度。请根据 Retry-After（如有）退避重试。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Service/data source unavailable; no usage units charged."}}}},"504":{"description":"上游响应超时。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}}},"x-minimum-plan":"pro","x-docs-group":"threat"}},"/api/public/v1/threat/activity":{"get":{"operationId":"_threat_activity","summary":"威胁活动","tags":["Public API","Threat Intelligence"],"description":"按活动类型和时间窗口返回已观测的威胁统计。\n\n最低套餐：pro。所需权限：threat:analytics。使用 X-API-Key 或 Authorization: Bearer 认证。成功请求扣 1 次，失败或拒绝的请求不扣额度。日额度在 UTC 零点重置。","parameters":[{"schema":{"type":"string","enum":["scanner","brute_force","web_attack"]},"in":"query","name":"category","required":true,"description":"威胁活动类型：扫描、暴力破解或 Web 攻击。"},{"schema":{"type":"string","enum":["1d","7d","30d","90d"],"default":"90d"},"in":"query","name":"window","required":false,"description":"查询时间窗口。"}],"security":[{"apiKey":[]},{"bearerAuth":[]}],"x-required-scopes":["threat:analytics"],"responses":{"200":{"description":"请求成功。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"category":{"type":"string"},"windowDays":{"type":"integer"},"status":{"type":"string"},"eventCount":{"type":"integer"},"topSources":{"type":"array","items":{"type":"object","properties":{"ip":{"type":"string"},"eventCount":{"type":"integer"}},"additionalProperties":true}},"timeline":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string"},"eventCount":{"type":"integer"},"sourceCount":{"type":"integer"}},"additionalProperties":true}},"generatedAt":{"type":"string","format":"date-time"}},"additionalProperties":true},"meta":{"type":"object","properties":{"provider":{"type":"string"},"plan":{"type":"string"},"chargedUnits":{"type":"integer"},"replayed":{"type":"boolean"}},"additionalProperties":true}},"additionalProperties":true,"description":"Successful response."}}}},"400":{"description":"请求参数无效。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Invalid parameters."}}}},"401":{"description":"API Key 缺失、无效、过期、已撤销或被暂停。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Missing, expired, revoked or invalid API key."}}}},"403":{"description":"权限或套餐不满足要求。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Insufficient scope or plan."}}}},"404":{"description":"资源不存在或不属于当前 API 客户端。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Not found or not owned by this client."}}}},"409":{"description":"幂等标识冲突、任务过期或活跃任务数已达上限。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Idempotency conflict or active job limit."}}}},"422":{"description":"目标无法解析或无法测量。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Target cannot be resolved or measured."}}}},"429":{"description":"请求频率或额度已达上限；被拒绝的请求不扣额度。根据 Retry-After 等待后重试。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Rate or quota limit; rejected requests consume no usage units."}}}},"500":{"description":"内部处理失败。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}},"502":{"description":"上游响应异常。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}},"503":{"description":"服务或数据源暂不可用，不扣额度。请根据 Retry-After（如有）退避重试。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Service/data source unavailable; no usage units charged."}}}},"504":{"description":"上游响应超时。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}}},"x-minimum-plan":"pro","x-docs-group":"threat"}},"/api/public/v1/threat/trends":{"get":{"operationId":"_threat_trends","summary":"威胁趋势","tags":["Public API","Threat Intelligence"],"description":"返回指定时间窗口内已观测的威胁趋势。\n\n最低套餐：pro。所需权限：threat:analytics。使用 X-API-Key 或 Authorization: Bearer 认证。成功请求扣 1 次，失败或拒绝的请求不扣额度。日额度在 UTC 零点重置。","parameters":[{"schema":{"type":"string","enum":["1d","7d","30d","90d"],"default":"90d"},"in":"query","name":"window","required":false,"description":"查询时间窗口。"}],"security":[{"apiKey":[]},{"bearerAuth":[]}],"x-required-scopes":["threat:analytics"],"responses":{"200":{"description":"请求成功。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"windowDays":{"type":"integer"},"status":{"type":"string"},"eventCount":{"type":"integer"},"timeline":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string","format":"date"},"eventCount":{"type":"integer"},"sourceCount":{"type":"integer"}},"additionalProperties":true}},"categories":{"type":"array","items":{"type":"object","properties":{"category":{"type":"string"},"eventCount":{"type":"integer"}},"additionalProperties":true}}},"additionalProperties":true},"meta":{"type":"object","properties":{"provider":{"type":"string"},"plan":{"type":"string"},"chargedUnits":{"type":"integer"},"replayed":{"type":"boolean"}},"additionalProperties":true}},"additionalProperties":true,"description":"Successful response."}}}},"400":{"description":"请求参数无效。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Invalid parameters."}}}},"401":{"description":"API Key 缺失、无效、过期、已撤销或被暂停。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Missing, expired, revoked or invalid API key."}}}},"403":{"description":"权限或套餐不满足要求。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Insufficient scope or plan."}}}},"404":{"description":"资源不存在或不属于当前 API 客户端。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Not found or not owned by this client."}}}},"409":{"description":"幂等标识冲突、任务过期或活跃任务数已达上限。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Idempotency conflict or active job limit."}}}},"422":{"description":"目标无法解析或无法测量。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Target cannot be resolved or measured."}}}},"429":{"description":"请求频率或额度已达上限；被拒绝的请求不扣额度。根据 Retry-After 等待后重试。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Rate or quota limit; rejected requests consume no usage units."}}}},"500":{"description":"内部处理失败。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}},"502":{"description":"上游响应异常。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}},"503":{"description":"服务或数据源暂不可用，不扣额度。请根据 Retry-After（如有）退避重试。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Service/data source unavailable; no usage units charged."}}}},"504":{"description":"上游响应超时。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}}},"x-minimum-plan":"pro","x-docs-group":"threat"}},"/api/public/v1/tools/dns":{"get":{"operationId":"_tools_dns","summary":"DNS 查询","tags":["Public API","Network Tools"],"description":"查询指定类型的 DNS 记录；结果反映服务端查询时的响应。\n\n最低套餐：free。所需权限：dns:read。使用 X-API-Key 或 Authorization: Bearer 认证。成功请求扣 1 次，失败或拒绝的请求不扣额度。日额度在 UTC 零点重置。","parameters":[{"schema":{"type":"string"},"in":"query","name":"target","required":true,"description":"DNS 查询名称；PTR 查询使用反向解析名称。"},{"schema":{"type":"string","enum":["A","AAAA","CNAME","MX","NS","TXT","CAA","SOA","SRV","PTR"],"default":"A"},"in":"query","name":"type","required":false,"description":"DNS 记录类型。"}],"security":[{"apiKey":[]},{"bearerAuth":[]}],"x-required-scopes":["dns:read"],"responses":{"200":{"description":"请求成功。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"target":{"type":"string"},"queryType":{"type":"string"},"status":{"type":"string"},"records":{"type":"array","items":{}},"queriedAt":{"type":"string","format":"date-time"}},"additionalProperties":true},"meta":{"type":"object","properties":{"provider":{"type":"string"},"plan":{"type":"string"},"chargedUnits":{"type":"integer"},"replayed":{"type":"boolean"}},"additionalProperties":true}},"additionalProperties":true,"description":"Successful response."}}}},"400":{"description":"请求参数无效。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Invalid parameters."}}}},"401":{"description":"API Key 缺失、无效、过期、已撤销或被暂停。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Missing, expired, revoked or invalid API key."}}}},"403":{"description":"权限或套餐不满足要求。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Insufficient scope or plan."}}}},"404":{"description":"资源不存在或不属于当前 API 客户端。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Not found or not owned by this client."}}}},"409":{"description":"幂等标识冲突、任务过期或活跃任务数已达上限。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Idempotency conflict or active job limit."}}}},"422":{"description":"目标无法解析或无法测量。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Target cannot be resolved or measured."}}}},"429":{"description":"请求频率或额度已达上限；被拒绝的请求不扣额度。根据 Retry-After 等待后重试。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Rate or quota limit; rejected requests consume no usage units."}}}},"500":{"description":"内部处理失败。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}},"502":{"description":"上游响应异常。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}},"503":{"description":"服务或数据源暂不可用，不扣额度。请根据 Retry-After（如有）退避重试。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Service/data source unavailable; no usage units charged."}}}},"504":{"description":"上游响应超时。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}}},"x-minimum-plan":"free","x-docs-group":"tools"}},"/api/public/v1/tools/reverse-ip":{"get":{"operationId":"_tools_reverse_ip","summary":"反向 IP","tags":["Public API","Network Tools"],"description":"依赖运营方配置的被动 DNS 数据源。未配置或不可用时返回 503，不会伪造空的成功结果。\n\n最低套餐：free。所需权限：dns:read。使用 X-API-Key 或 Authorization: Bearer 认证。成功请求扣 1 次，失败或拒绝的请求不扣额度。日额度在 UTC 零点重置。","parameters":[{"schema":{"type":"string"},"in":"query","name":"target","required":true,"description":"IPv4 或 IPv6 地址。"}],"security":[{"apiKey":[]},{"bearerAuth":[]}],"x-required-scopes":["dns:read"],"responses":{"200":{"description":"请求成功。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"target":{"type":"string"},"status":{"type":"string","enum":["resolved","no_records"]},"domains":{"type":"array","items":{"type":"string"}},"queriedAt":{"type":"string","format":"date-time"}},"additionalProperties":true},"meta":{"type":"object","properties":{"provider":{"type":"string"},"plan":{"type":"string"},"chargedUnits":{"type":"integer"},"replayed":{"type":"boolean"}},"additionalProperties":true}},"additionalProperties":true,"description":"Successful response."}}}},"400":{"description":"请求参数无效。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Invalid parameters."}}}},"401":{"description":"API Key 缺失、无效、过期、已撤销或被暂停。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Missing, expired, revoked or invalid API key."}}}},"403":{"description":"权限或套餐不满足要求。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Insufficient scope or plan."}}}},"404":{"description":"资源不存在或不属于当前 API 客户端。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Not found or not owned by this client."}}}},"409":{"description":"幂等标识冲突、任务过期或活跃任务数已达上限。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Idempotency conflict or active job limit."}}}},"422":{"description":"目标无法解析或无法测量。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Target cannot be resolved or measured."}}}},"429":{"description":"请求频率或额度已达上限；被拒绝的请求不扣额度。根据 Retry-After 等待后重试。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Rate or quota limit; rejected requests consume no usage units."}}}},"500":{"description":"内部处理失败。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}},"502":{"description":"上游响应异常。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}},"503":{"description":"服务或数据源暂不可用，不扣额度。请根据 Retry-After（如有）退避重试。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Service/data source unavailable; no usage units charged."}}}},"504":{"description":"上游响应超时。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}}},"x-minimum-plan":"free","x-docs-group":"tools"}},"/api/public/v1/tools/cname-chain":{"get":{"operationId":"_tools_cname_chain","summary":"CNAME 链","tags":["Public API","Network Tools"],"description":"查询域名的 CNAME 解析链。\n\n最低套餐：free。所需权限：dns:read。使用 X-API-Key 或 Authorization: Bearer 认证。成功请求扣 1 次，失败或拒绝的请求不扣额度。日额度在 UTC 零点重置。","parameters":[{"schema":{"type":"string"},"in":"query","name":"target","required":true,"description":"域名，例如 example.com。"}],"security":[{"apiKey":[]},{"bearerAuth":[]}],"x-required-scopes":["dns:read"],"responses":{"200":{"description":"请求成功。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"target":{"type":"string"},"queryType":{"type":"string"},"status":{"type":"string"},"records":{"type":"array","items":{}},"queriedAt":{"type":"string","format":"date-time"}},"additionalProperties":true},"meta":{"type":"object","properties":{"provider":{"type":"string"},"plan":{"type":"string"},"chargedUnits":{"type":"integer"},"replayed":{"type":"boolean"}},"additionalProperties":true}},"additionalProperties":true,"description":"Successful response."}}}},"400":{"description":"请求参数无效。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Invalid parameters."}}}},"401":{"description":"API Key 缺失、无效、过期、已撤销或被暂停。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Missing, expired, revoked or invalid API key."}}}},"403":{"description":"权限或套餐不满足要求。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Insufficient scope or plan."}}}},"404":{"description":"资源不存在或不属于当前 API 客户端。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Not found or not owned by this client."}}}},"409":{"description":"幂等标识冲突、任务过期或活跃任务数已达上限。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Idempotency conflict or active job limit."}}}},"422":{"description":"目标无法解析或无法测量。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Target cannot be resolved or measured."}}}},"429":{"description":"请求频率或额度已达上限；被拒绝的请求不扣额度。根据 Retry-After 等待后重试。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Rate or quota limit; rejected requests consume no usage units."}}}},"500":{"description":"内部处理失败。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}},"502":{"description":"上游响应异常。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}},"503":{"description":"服务或数据源暂不可用，不扣额度。请根据 Retry-After（如有）退避重试。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Service/data source unavailable; no usage units charged."}}}},"504":{"description":"上游响应超时。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}}},"x-minimum-plan":"free","x-docs-group":"tools"}},"/api/public/v1/tools/network-probe":{"post":{"operationId":"_tools_network_probe","summary":"分布式 Ping / MTR","tags":["Public API","Network Tools"],"description":"从分布式探测节点发起测量，不是从调用者 IP 发起。上游探测容量可能共享。\n\n最低套餐：pro。所需权限：probes:run。使用 X-API-Key 或 Authorization: Bearer 认证。成功请求扣 1 次，失败或拒绝的请求不扣额度。日额度在 UTC 零点重置。","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"target":{"type":"string","description":"公网 IP 或域名。"},"mode":{"type":"string","enum":["ping","mtr"],"description":"探测模式：ping 或 mtr。"}},"required":["target","mode"]}}}},"security":[{"apiKey":[]},{"bearerAuth":[]}],"x-required-scopes":["probes:run"],"responses":{"200":{"description":"请求成功。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"target":{"type":"string"},"mode":{"type":"string"},"status":{"type":"string"},"results":{"type":"array","items":{"type":"object","properties":{"node":{"type":"object","properties":{"country":{"type":"string"},"city":{"type":"string"}},"additionalProperties":true},"status":{"type":"string"},"stats":{"type":"object","properties":{"avgMs":{"type":"number","nullable":true},"lossPercent":{"type":"number"}},"additionalProperties":true,"nullable":true}},"additionalProperties":true}},"cached":{"type":"boolean"}},"additionalProperties":true},"meta":{"type":"object","properties":{"provider":{"type":"string"},"plan":{"type":"string"},"chargedUnits":{"type":"integer"},"replayed":{"type":"boolean"}},"additionalProperties":true}},"additionalProperties":true,"description":"Successful response."}}}},"400":{"description":"请求参数无效。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Invalid parameters."}}}},"401":{"description":"API Key 缺失、无效、过期、已撤销或被暂停。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Missing, expired, revoked or invalid API key."}}}},"403":{"description":"权限或套餐不满足要求。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Insufficient scope or plan."}}}},"404":{"description":"资源不存在或不属于当前 API 客户端。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Not found or not owned by this client."}}}},"409":{"description":"幂等标识冲突、任务过期或活跃任务数已达上限。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Idempotency conflict or active job limit."}}}},"422":{"description":"目标无法解析或无法测量。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Target cannot be resolved or measured."}}}},"429":{"description":"请求频率或额度已达上限；被拒绝的请求不扣额度。根据 Retry-After 等待后重试。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Rate or quota limit; rejected requests consume no usage units."}}}},"500":{"description":"内部处理失败。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}},"502":{"description":"上游响应异常。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}},"503":{"description":"服务或数据源暂不可用，不扣额度。请根据 Retry-After（如有）退避重试。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Service/data source unavailable; no usage units charged."}}}},"504":{"description":"上游响应超时。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}}},"x-minimum-plan":"pro","x-docs-group":"tools"}},"/api/public/v1/tools/tcp":{"post":{"operationId":"_tools_tcp","summary":"TCP 连通性","tags":["Public API","Network Tools"],"description":"仅支持公网目标，从 CHA.LA 服务端测量，不代表调用者网络的连通性。\n\n最低套餐：pro。所需权限：probes:run。使用 X-API-Key 或 Authorization: Bearer 认证。成功请求扣 1 次，失败或拒绝的请求不扣额度。日额度在 UTC 零点重置。","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"target":{"type":"string","description":"公网 IP 或域名。"},"port":{"type":"integer","minimum":1,"maximum":65535,"description":"目标 TCP 端口。"}},"required":["target","port"]}}}},"security":[{"apiKey":[]},{"bearerAuth":[]}],"x-required-scopes":["probes:run"],"responses":{"200":{"description":"请求成功。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"target":{"type":"string"},"port":{"type":"integer"},"results":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"status":{"type":"string"},"latencyMs":{"type":"number"}},"additionalProperties":true}},"cached":{"type":"boolean"}},"additionalProperties":true},"meta":{"type":"object","properties":{"provider":{"type":"string"},"plan":{"type":"string"},"chargedUnits":{"type":"integer"},"replayed":{"type":"boolean"}},"additionalProperties":true}},"additionalProperties":true,"description":"Successful response."}}}},"400":{"description":"请求参数无效。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Invalid parameters."}}}},"401":{"description":"API Key 缺失、无效、过期、已撤销或被暂停。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Missing, expired, revoked or invalid API key."}}}},"403":{"description":"权限或套餐不满足要求。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Insufficient scope or plan."}}}},"404":{"description":"资源不存在或不属于当前 API 客户端。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Not found or not owned by this client."}}}},"409":{"description":"幂等标识冲突、任务过期或活跃任务数已达上限。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Idempotency conflict or active job limit."}}}},"422":{"description":"目标无法解析或无法测量。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Target cannot be resolved or measured."}}}},"429":{"description":"请求频率或额度已达上限；被拒绝的请求不扣额度。根据 Retry-After 等待后重试。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Rate or quota limit; rejected requests consume no usage units."}}}},"500":{"description":"内部处理失败。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}},"502":{"description":"上游响应异常。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}},"503":{"description":"服务或数据源暂不可用，不扣额度。请根据 Retry-After（如有）退避重试。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Service/data source unavailable; no usage units charged."}}}},"504":{"description":"上游响应超时。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}}},"x-minimum-plan":"pro","x-docs-group":"tools"}},"/api/public/v1/tools/http-tls":{"post":{"operationId":"_tools_http_tls","summary":"HTTP 与证书","tags":["Public API","Network Tools"],"description":"仅支持公网 HTTP(S) 目标；拒绝私网地址和不安全的重定向。\n\n最低套餐：pro。所需权限：probes:run。使用 X-API-Key 或 Authorization: Bearer 认证。成功请求扣 1 次，失败或拒绝的请求不扣额度。日额度在 UTC 零点重置。","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"target":{"type":"string","format":"uri","description":"公网 HTTP(S) URL。"}},"required":["target"]}}}},"security":[{"apiKey":[]},{"bearerAuth":[]}],"x-required-scopes":["probes:run"],"responses":{"200":{"description":"请求成功。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"target":{"type":"string"},"redirectCount":{"type":"integer"},"steps":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string"},"statusCode":{"type":"integer","nullable":true},"errorCode":{"type":"string","nullable":true}},"additionalProperties":true}},"tls":{"type":"object","properties":{"authorized":{"type":"boolean"}},"additionalProperties":true,"nullable":true},"cached":{"type":"boolean"}},"additionalProperties":true},"meta":{"type":"object","properties":{"provider":{"type":"string"},"plan":{"type":"string"},"chargedUnits":{"type":"integer"},"replayed":{"type":"boolean"}},"additionalProperties":true}},"additionalProperties":true,"description":"Successful response."}}}},"400":{"description":"请求参数无效。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Invalid parameters."}}}},"401":{"description":"API Key 缺失、无效、过期、已撤销或被暂停。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Missing, expired, revoked or invalid API key."}}}},"403":{"description":"权限或套餐不满足要求。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Insufficient scope or plan."}}}},"404":{"description":"资源不存在或不属于当前 API 客户端。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Not found or not owned by this client."}}}},"409":{"description":"幂等标识冲突、任务过期或活跃任务数已达上限。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Idempotency conflict or active job limit."}}}},"422":{"description":"目标无法解析或无法测量。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Target cannot be resolved or measured."}}}},"429":{"description":"请求频率或额度已达上限；被拒绝的请求不扣额度。根据 Retry-After 等待后重试。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Rate or quota limit; rejected requests consume no usage units."}}}},"500":{"description":"内部处理失败。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}},"502":{"description":"上游响应异常。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}},"503":{"description":"服务或数据源暂不可用，不扣额度。请根据 Retry-After（如有）退避重试。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Service/data source unavailable; no usage units charged."}}}},"504":{"description":"上游响应超时。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}}},"x-minimum-plan":"pro","x-docs-group":"tools"}},"/api/public/v1/bgp/routes":{"get":{"operationId":"_bgp_routes","summary":"路由查询","tags":["Public API","BGP Intelligence"],"description":"查询已收录的路由及 AS 路径；支持分页。\n\n最低套餐：developer。所需权限：bgp:read。使用 X-API-Key 或 Authorization: Bearer 认证。成功请求扣 1 次，失败或拒绝的请求不扣额度。日额度在 UTC 零点重置。","parameters":[{"schema":{"type":"string"},"in":"query","name":"target","required":true,"description":"IP 地址、CIDR 前缀或 ASN。"},{"schema":{"type":"integer","minimum":1,"default":1},"in":"query","name":"page","required":false,"description":"页码，从 1 开始。"},{"schema":{"type":"integer","minimum":10,"maximum":100,"default":50},"in":"query","name":"limit","required":false,"description":"每页结果数或最大返回条数。"}],"security":[{"apiKey":[]},{"bearerAuth":[]}],"x-required-scopes":["bgp:read"],"responses":{"200":{"description":"请求成功。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"target":{"type":"string"},"normalizedTarget":{"type":"string"},"observed":{"type":"boolean"},"match":{"type":"object","properties":{"prefix":{"type":"string"},"originAsns":{"type":"array","items":{"type":"integer"}},"lastObserved":{"type":"string","format":"date-time"}},"additionalProperties":true,"nullable":true},"routes":{"type":"array","items":{"type":"object","properties":{"prefix":{"type":"string"},"originAsn":{"type":"integer"},"asPath":{"type":"string"},"observedAt":{"type":"string","format":"date-time"}},"additionalProperties":true}},"page":{"type":"integer"},"limit":{"type":"integer"}},"additionalProperties":true},"meta":{"type":"object","properties":{"provider":{"type":"string"},"plan":{"type":"string"},"chargedUnits":{"type":"integer"},"replayed":{"type":"boolean"}},"additionalProperties":true}},"additionalProperties":true,"description":"Successful response."}}}},"400":{"description":"请求参数无效。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Invalid parameters."}}}},"401":{"description":"API Key 缺失、无效、过期、已撤销或被暂停。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Missing, expired, revoked or invalid API key."}}}},"403":{"description":"权限或套餐不满足要求。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Insufficient scope or plan."}}}},"404":{"description":"资源不存在或不属于当前 API 客户端。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Not found or not owned by this client."}}}},"409":{"description":"幂等标识冲突、任务过期或活跃任务数已达上限。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Idempotency conflict or active job limit."}}}},"422":{"description":"目标无法解析或无法测量。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Target cannot be resolved or measured."}}}},"429":{"description":"请求频率或额度已达上限；被拒绝的请求不扣额度。根据 Retry-After 等待后重试。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Rate or quota limit; rejected requests consume no usage units."}}}},"500":{"description":"内部处理失败。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}},"502":{"description":"上游响应异常。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}},"503":{"description":"服务或数据源暂不可用，不扣额度。请根据 Retry-After（如有）退避重试。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Service/data source unavailable; no usage units charged."}}}},"504":{"description":"上游响应超时。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}}},"x-minimum-plan":"developer","x-docs-group":"bgp"}},"/api/public/v1/rpki/validate":{"get":{"operationId":"_rpki_validate","summary":"RPKI 验证","tags":["Public API","BGP Intelligence"],"description":"使用快照验证。请检查每条验证的过期时间及 stale 标记；缺失证据不能解释为有效。\n\n最低套餐：free。所需权限：registration:read。使用 X-API-Key 或 Authorization: Bearer 认证。成功请求扣 1 次，失败或拒绝的请求不扣额度。日额度在 UTC 零点重置。","parameters":[{"schema":{"type":"string"},"in":"query","name":"target","required":true,"description":"IP 地址或 CIDR 前缀。"},{"schema":{"type":"string"},"in":"query","name":"asn","required":false,"description":"自治系统编号，例如 AS13335。"}],"security":[{"apiKey":[]},{"bearerAuth":[]}],"x-required-scopes":["registration:read"],"responses":{"200":{"description":"请求成功。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"target":{"type":"string"},"prefix":{"type":"string","nullable":true},"requestedOrigin":{"type":"integer","nullable":true},"overallStatus":{"type":"string","enum":["valid","invalid","mixed","unknown","no_origin"]},"routeLookupAvailable":{"type":"boolean"},"validations":{"type":"array","items":{"type":"object","properties":{"prefix":{"type":"string"},"originAsn":{"type":"integer"},"status":{"type":"string"},"observedAt":{"type":"string","format":"date-time"},"expiresAt":{"type":"string","format":"date-time"},"stale":{"type":"boolean"},"cacheHit":{"type":"boolean"}},"additionalProperties":true}}},"additionalProperties":true},"meta":{"type":"object","properties":{"provider":{"type":"string"},"plan":{"type":"string"},"chargedUnits":{"type":"integer"},"replayed":{"type":"boolean"}},"additionalProperties":true}},"additionalProperties":true,"description":"Successful response."}}}},"400":{"description":"请求参数无效。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Invalid parameters."}}}},"401":{"description":"API Key 缺失、无效、过期、已撤销或被暂停。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Missing, expired, revoked or invalid API key."}}}},"403":{"description":"权限或套餐不满足要求。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Insufficient scope or plan."}}}},"404":{"description":"资源不存在或不属于当前 API 客户端。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Not found or not owned by this client."}}}},"409":{"description":"幂等标识冲突、任务过期或活跃任务数已达上限。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Idempotency conflict or active job limit."}}}},"422":{"description":"目标无法解析或无法测量。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Target cannot be resolved or measured."}}}},"429":{"description":"请求频率或额度已达上限；被拒绝的请求不扣额度。根据 Retry-After 等待后重试。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Rate or quota limit; rejected requests consume no usage units."}}}},"500":{"description":"内部处理失败。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}},"502":{"description":"上游响应异常。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}},"503":{"description":"服务或数据源暂不可用，不扣额度。请根据 Retry-After（如有）退避重试。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Service/data source unavailable; no usage units charged."}}}},"504":{"description":"上游响应超时。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}}},"x-minimum-plan":"free","x-docs-group":"bgp"}},"/api/public/v1/rdap/lookup":{"get":{"operationId":"_rdap_lookup","summary":"注册信息","tags":["Public API","Network Intelligence"],"description":"查询 IP、CIDR 或 ASN 的注册信息；检查缓存及快照时间。\n\n最低套餐：free。所需权限：registration:read。使用 X-API-Key 或 Authorization: Bearer 认证。成功请求扣 1 次，失败或拒绝的请求不扣额度。日额度在 UTC 零点重置。","parameters":[{"schema":{"type":"string"},"in":"query","name":"target","required":true,"description":"IP 地址、CIDR 前缀或 ASN。"}],"security":[{"apiKey":[]},{"bearerAuth":[]}],"x-required-scopes":["registration:read"],"responses":{"200":{"description":"请求成功。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"target":{"type":"string"},"normalizedTarget":{"type":"string"},"targetKind":{"type":"string"},"found":{"type":"boolean"},"rir":{"type":"string"},"name":{"type":"string","nullable":true},"cidrs":{"type":"array","items":{"type":"string"}},"nameservers":{"type":"array","items":{"type":"string"}},"entities":{"type":"array","items":{"type":"object","properties":{"handle":{"type":"string","nullable":true},"roles":{"type":"array","items":{"type":"string"}}},"additionalProperties":true}},"observedAt":{"type":"string","format":"date-time"},"expiresAt":{"type":"string","format":"date-time"},"stale":{"type":"boolean"},"cacheHit":{"type":"boolean"}},"additionalProperties":true},"meta":{"type":"object","properties":{"provider":{"type":"string"},"plan":{"type":"string"},"chargedUnits":{"type":"integer"},"replayed":{"type":"boolean"}},"additionalProperties":true}},"additionalProperties":true,"description":"Successful response."}}}},"400":{"description":"请求参数无效。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Invalid parameters."}}}},"401":{"description":"API Key 缺失、无效、过期、已撤销或被暂停。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Missing, expired, revoked or invalid API key."}}}},"403":{"description":"权限或套餐不满足要求。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Insufficient scope or plan."}}}},"404":{"description":"资源不存在或不属于当前 API 客户端。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Not found or not owned by this client."}}}},"409":{"description":"幂等标识冲突、任务过期或活跃任务数已达上限。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Idempotency conflict or active job limit."}}}},"422":{"description":"目标无法解析或无法测量。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Target cannot be resolved or measured."}}}},"429":{"description":"请求频率或额度已达上限；被拒绝的请求不扣额度。根据 Retry-After 等待后重试。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Rate or quota limit; rejected requests consume no usage units."}}}},"500":{"description":"内部处理失败。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}},"502":{"description":"上游响应异常。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}},"503":{"description":"服务或数据源暂不可用，不扣额度。请根据 Retry-After（如有）退避重试。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Service/data source unavailable; no usage units charged."}}}},"504":{"description":"上游响应超时。","headers":{"X-Account-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的账户共享日余额；并发调用可能改变此快照。"},"X-Period-Quota-Remaining":{"schema":{"type":"integer"},"description":"适用时，当前付费账期的剩余额度。"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"每个 Key 在 UTC 分钟窗口内的请求上限。"},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-Daily-Quota":{"schema":{"type":"integer"}},"X-Daily-Quota-Remaining":{"schema":{"type":"integer"},"description":"请求受理后的剩余额度；失败请求会释放预留额度。"},"Retry-After":{"schema":{"type":"integer"},"description":"受限请求重试前需等待的秒数。"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"稳定的机器可读错误码。"},"message":{"type":"string"}},"additionalProperties":true,"description":"Request could not complete."}}}}},"x-minimum-plan":"free","x-docs-group":"tools"}}},"servers":[{"url":"https://www.cha.la"}],"x-documentation":{"locale":"zh-CN","ui":{"explore":"查看 IP 情报接口","noScript":"JavaScript 未启用，请使用 OpenAPI 文档。","pageTitle":"IP 情报 API 文档 · CHA.LA","metaDescription":"CHA.LA API 开发文档：IP 情报、ASN、BGP、威胁证据和网络工具。查看接入方式、免费额度、参数说明并在线测试。","docs":"开发文档","home":"返回网站","console":"API 控制台","skip":"跳到正文","menu":"接口目录","close":"关闭目录","language":"选择语言","search":"搜索接口或路径…","navigation":"文档导航","overview":"快速接入","reference":"接口参考","noResults":"没有匹配的接口","loading":"正在加载文档…","loadError":"文档暂时无法加载，请刷新重试。","retry":"重新加载","notFound":"未找到此接口，请从目录选择。","plan":"最低套餐","scopes":"所需权限","parameters":"请求参数","noParameters":"此接口不需要请求参数。","field":"字段","type":"类型","description":"说明","required":"必填","optional":"可选","path":"路径","query":"查询","header":"请求头","default":"默认值","minimum":"最小值","maximum":"最大值","minLength":"最短长度","maxLength":"最大长度","pattern":"格式规则","requestBody":"请求体","responses":"响应结构","headers":"响应头","errors":"错误与重试","test":"在线测试","testNote":"仅在点击发送后调用真实接口，并按账户规则计费。Key 只保留在当前页面内存中，刷新即清除，不写入浏览器存储。","key":"API Key","keyPlaceholder":"粘贴你的 API Key","clearKey":"清除","auth":"认证方式","send":"发送请求","sending":"请求中…","cancel":"取消等待","response":"实际响应","keyRequired":"请先输入 API Key。","invalidJson":"请求体必须是有效的 JSON 对象。","invalidBody":"请求体缺少必填字段，或字段类型/取值不符合说明。","invalidPath":"路径参数不能包含 /、反斜杠，也不能为 . 或 ..。","failed":"无法读取响应。请检查网络后重试；结果未知的批量请求须沿用原 Idempotency-Key。","cancelled":"已停止等待，服务器可能仍在处理，已受理的请求可能产生用量。批量重试请沿用原 Idempotency-Key。","timeout":"等待已超时，服务器处理结果未知；批量重试请沿用原 Idempotency-Key。","tooLarge":"响应超过 2 MB，已停止显示。请缩小查询范围或在服务端调用。","example":"请求示例","exampleNote":"示例中的 YOUR_API_KEY 为占位符，不包含你输入的 Key。","copy":"复制","copied":"已复制","copyError":"复制失败，请手动选择复制。","download":"OpenAPI 下载","json":"JSON 定义","yaml":"YAML 定义","raw":"完整结构","empty":"空响应","newId":"新建批次标识","idemNote":"重试同一批次请保留此值；新任务才更换。更换标识会作为新的计费请求。","localError":"本地校验未通过，尚未发送请求。","unavailable":"能力边界","responseNote":"此处是字段定义，不是实时检测结果。服务端可能添加兼容的新字段。","responseHint":"尚未发送请求。","apiVersion":"API 版本"},"groups":{"ip":"IP 与隐私网络","bgp":"ASN 与路由","threat":"威胁情报","tools":"网络工具","batch":"批量查询"},"guide":{"title":"让 IP 情报接入你的应用","intro":"同一套接口，查询 IP、网络归属、路由与威胁证据。先完成账户开通，再从一条请求开始。","steps":[{"title":"创建账户","text":"注册并登录 API 控制台，申请开通。当前邮箱账户需人工审核；审核不等于邮箱验证。"},{"title":"获取 API Key","text":"审核后可自助创建，或由管理员签发账户专属 Key。完整 Key 仅展示一次，请安全保存。"},{"title":"从服务端调用","text":"使用 X-API-Key 或 Authorization: Bearer。请勿放入 URL、公开仓库或前端代码。"}],"allowanceTitle":"免费额度与付费账期","allowance":"Free 每账户每天 1,000 次，UTC 零点重置。所有 Key 与网页批量共享余额；撤销或重建 Key 不重置额度。","planColumns":["套餐","每日安全上限","请求/分钟/Key","有效 Key","目标/批次"],"plans":[["Free","1,000","30","2","100"],["Developer","10,000","120","5","500"],["Pro","100,000","600","20","2,000"],["Enterprise","1,000,000","3,000","100","5,000"]],"billing":"付费账期由后台人工开通，指定套餐、总额度和到期时间；账期总额度不是每日上限乘天数。在线支付与自动续费尚未启用。到期回到 Free，已有 Key 的权限不会自动扩大。旧组织合同及更低的 Key 上限仍单独适用。","usageTitle":"如何计算用量","usage":["同步查询成功扣 1 次；批量进度和结果下载不扣查询额度；失败、无权限或被限流不扣。","批量：按受理的去重目标数一次扣除，后续单目标失败不退回。Idempotency-Key 必填，同标识同请求重试不重复扣费。","网页批量任务的进度查看和下载不另扣额度。429 / 503 请遵循 Retry-After（如有）并使用指数退避。"],"boundaries":["客户接入使用 /api/public/v1。/api/v1 为网站内部接口，不属于商业接入协议。第三方浏览器 CORS 未开放，请在你的后端调用。","反向 IP 数据源：未配置，暂不可用。","C2 情报分发：未启用。","RPKI 使用快照；请检查 observedAt、expiresAt、stale 及 riskStatus。unknown 或未观测到证据不等于安全。实时能力状态以 /api/capabilities 为准。"]}}}