← 返回 API 目录
SSL 证书检查
解析与证书检查证书颁发机构、有效期、域名匹配与证书链。
GET https://api.wanmi.net/open/v1/ssl-check每天 100 次免费,超出 ¥0.01/次 · 同一账号多个 key 共用
用多少付多少。云工具 API 无免费次数,创建时预留余额,成功交付才结算(异步 PDF 在领取时结算);失败释放或补偿。主动开通按量付费后,免费次数用完按接口单价从钱包扣费;余额不足或每日扣费上限已到时拒绝,不欠费。仅成功交付收费,符合接口契约的降级成功照常收费;失败和未交付不收费。每次扣费及补偿可在控制台账单查看,单价以各接口当前配置及调用准入快照为准。
沿用站内公网 DNS、安全 TLS 握手与 CAA 检查,仅连接 443。过期、自签名等证书发现仍是成功诊断;上游失败、限流或不完整检查不计次。
返回示例
{
"state": "empty",
"data": {
"normalizedQueryAscii": "example.com",
"normalizedQueryUnicode": "example.com",
"risks": [],
"caa": {
"effectiveOwnerName": null,
"inherited": false,
"records": [],
"source": {
"cacheStatus": "miss",
"dataSource": "公开查询",
"observedAt": "2026-10-22T00:00:00.000Z"
},
"status": "no_record"
},
"tls": {
"certificate": null,
"cipherSuite": null,
"findings": [],
"port": 443,
"protocol": null,
"source": {
"cacheStatus": "miss",
"dataSource": "公开查询",
"observedAt": "2026-10-22T00:00:00.000Z"
},
"status": "no_address"
}
}
}在线试调
粘贴你自己的 key,浏览器会直接向 api.wanmi.net 发送请求。key 仅在当前页面内存中使用,不保存、不上传主站。成功调用会计入免费次数;已开通按量付费时,超出免费次数会按接口单价扣余额。
响应点击“发送请求”查看真实返回
等待请求
代码示例
curl --max-time 65 'https://api.wanmi.net/open/v1/ssl-check?host=example.com' \ -H "Authorization: Bearer $WANMI_API_KEY"
将 WANMI_API_KEY 设为环境变量。请在自己的服务器中运行,勿将 key 放进公开代码。
请求参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
host | string | 必填 | 最短 1 字符;最长 253 字符 例如: example.com |
返回字段与完整结构
| 字段 | 类型 | 必返 | 说明 |
|---|---|---|---|
state | ready | empty | degraded | 是 | — |
data | object | 是 | — |
data.caa | object | 是 | — |
data.caa.effectiveOwnerName | string | null | 是 | — |
data.caa.inherited | boolean | 是 | — |
data.caa.issue | object | 否 | — |
data.caa.issue.code | string | 是 | 格式 ^[A-Z][A-Z0-9_]*$ |
data.caa.issue.message | string | 是 | 最短 1 字符 |
data.caa.issue.retryable | boolean | 是 | — |
data.caa.records | object[] | 是 | — |
data.caa.records.[]critical | boolean | 是 | — |
data.caa.records.[]explanation | string | 是 | 最短 1 字符 |
data.caa.records.[]flags | integer | 是 | 最小 0;最大 255 |
data.caa.records.[]ownerName | string | 是 | 最短 1 字符;最长 253 字符 |
data.caa.records.[]tag | issue | issuewild | iodef | 是 | — |
data.caa.records.[]ttl | integer | 是 | 最小 0;最大 4294967295 |
data.caa.records.[]value | string | 是 | 最长 4096 字符 |
data.caa.source | object | 是 | — |
data.caa.source.cacheStatus | hit | miss | mixed | not_used | 是 | — |
data.caa.source.dataSource | string | 是 | 最短 1 字符 |
data.caa.source.observedAt | string | 是 | date-time;格式 ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$ |
data.caa.status | records | no_record | nxdomain | servfail | timeout | failed | rate_limited | limit_exceeded | 是 | — |
data.normalizedQueryAscii | string | 是 | 最短 1 字符;最长 253 字符 |
data.normalizedQueryUnicode | string | 是 | 最短 1 字符;最长 253 字符 |
data.risks | object[] | 是 | — |
data.risks.[]code | DOMAIN_MIXED_SCRIPT_RISK | 是 | — |
data.risks.[]labelAscii | string | 是 | 最短 1 字符 |
data.risks.[]message | string | 是 | 最短 1 字符 |
data.risks.[]scripts | string[] | 是 | — |
data.tls | object | 是 | — |
data.tls.certificate | object | null | 是 | — |
data.tls.certificate.chain | object | 是 | — |
data.tls.certificate.daysRemaining | integer | 是 | 最小 -9007199254740991;最大 9007199254740991 |
data.tls.certificate.hostnameMatch | boolean | 是 | — |
data.tls.certificate.issuer | object | 是 | — |
data.tls.certificate.sanCount | integer | 是 | 最小 0;最大 9007199254740991 |
data.tls.certificate.sanTruncated | boolean | 是 | — |
data.tls.certificate.subject | object | 是 | — |
data.tls.certificate.subjectAlternativeNames | string[] | 是 | — |
data.tls.certificate.validFrom | string | 是 | date-time;格式 ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$ |
data.tls.certificate.validityStatus | valid | expired | not_yet_valid | 是 | — |
data.tls.certificate.validTo | string | 是 | date-time;格式 ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$ |
data.tls.cipherSuite | string | null | 是 | — |
data.tls.findings | object[] | 是 | — |
data.tls.findings.[]code | TLS_CERT_EXPIRED | TLS_CERT_NOT_YET_VALID | TLS_HOSTNAME_MISMATCH | TLS_CERT_SELF_SIGNED | TLS_CERT_CHAIN_INVALID | 是 | — |
data.tls.findings.[]message | string | 是 | 最短 1 字符 |
data.tls.findings.[]severity | error | warning | 是 | — |
data.tls.issue | object | 否 | — |
data.tls.issue.code | string | 是 | 格式 ^[A-Z][A-Z0-9_]*$ |
data.tls.issue.message | string | 是 | 最短 1 字符 |
data.tls.issue.retryable | boolean | 是 | — |
data.tls.port | 443 | 是 | — |
data.tls.protocol | string | null | 是 | — |
data.tls.source | object | 是 | — |
data.tls.source.cacheStatus | hit | miss | mixed | not_used | 是 | — |
data.tls.source.dataSource | string | 是 | 最短 1 字符 |
data.tls.source.observedAt | string | 是 | date-time;格式 ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$ |
data.tls.status | connected | no_address | connection_failed | timeout | handshake_failed | handshake_too_large | rate_limited | 是 | — |
meta | object | 否 | — |
meta.cacheStatus | hit | miss | mixed | not_used | 否 | — |
meta.dataSource | string | 否 | 最短 1 字符 |
meta.lastSuccessfulAt | string | 否 | date-time;格式 ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$ |
meta.observedAt | string | 否 | date-time;格式 ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$ |
meta.stale | boolean | 否 | — |
meta.traceId | string | 否 | 格式 ^[a-zA-Z0-9._:-]{8,128}$ |
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"state": {
"type": "string",
"enum": [
"ready",
"empty",
"degraded"
]
},
"data": {
"type": "object",
"properties": {
"caa": {
"type": "object",
"properties": {
"effectiveOwnerName": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 253
},
{
"type": "null"
}
]
},
"inherited": {
"type": "boolean"
},
"issue": {
"type": "object",
"properties": {
"code": {
"type": "string",
"pattern": "^[A-Z][A-Z0-9_]*$"
},
"message": {
"type": "string",
"minLength": 1
},
"retryable": {
"type": "boolean"
}
},
"required": [
"code",
"message",
"retryable"
],
"additionalProperties": false
},
"records": {
"maxItems": 32,
"type": "array",
"items": {
"type": "object",
"properties": {
"critical": {
"type": "boolean"
},
"explanation": {
"type": "string",
"minLength": 1
},
"flags": {
"type": "integer",
"minimum": 0,
"maximum": 255
},
"ownerName": {
"type": "string",
"minLength": 1,
"maxLength": 253
},
"tag": {
"type": "string",
"enum": [
"issue",
"issuewild",
"iodef"
]
},
"ttl": {
"type": "integer",
"minimum": 0,
"maximum": 4294967295
},
"value": {
"type": "string",
"maxLength": 4096
}
},
"required": [
"critical",
"explanation",
"flags",
"ownerName",
"tag",
"ttl",
"value"
],
"additionalProperties": false
}
},
"source": {
"type": "object",
"properties": {
"cacheStatus": {
"type": "string",
"enum": [
"hit",
"miss",
"mixed",
"not_used"
]
},
"dataSource": {
"type": "string",
"minLength": 1
},
"observedAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
}
},
"required": [
"cacheStatus",
"dataSource",
"observedAt"
],
"additionalProperties": false
},
"status": {
"type": "string",
"enum": [
"records",
"no_record",
"nxdomain",
"servfail",
"timeout",
"failed",
"rate_limited",
"limit_exceeded"
]
}
},
"required": [
"effectiveOwnerName",
"inherited",
"records",
"source",
"status"
],
"additionalProperties": false
},
"normalizedQueryAscii": {
"type": "string",
"minLength": 1,
"maxLength": 253
},
"normalizedQueryUnicode": {
"type": "string",
"minLength": 1,
"maxLength": 253
},
"risks": {
"type": "array",
"items": {
"type": "object",
"properties": {
"code": {
"type": "string",
"const": "DOMAIN_MIXED_SCRIPT_RISK"
},
"labelAscii": {
"type": "string",
"minLength": 1
},
"message": {
"type": "string",
"minLength": 1
},
"scripts": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
}
}
},
"required": [
"code",
"labelAscii",
"message",
"scripts"
],
"additionalProperties": false
}
},
"tls": {
"type": "object",
"properties": {
"certificate": {
"anyOf": [
{
"type": "object",
"properties": {
"chain": {
"type": "object",
"properties": {
"certificates": {
"maxItems": 10,
"type": "array",
"items": {
"type": "object",
"properties": {
"fingerprint256": {
"anyOf": [
{
"type": "string",
"maxLength": 256
},
{
"type": "null"
}
]
},
"issuer": {
"type": "object",
"properties": {
"commonName": {
"anyOf": [
{
"type": "string",
"maxLength": 1024
},
{
"type": "null"
}
]
},
"organization": {
"anyOf": [
{
"type": "string",
"maxLength": 1024
},
{
"type": "null"
}
]
}
},
"required": [
"commonName",
"organization"
],
"additionalProperties": false
},
"subject": {
"type": "object",
"properties": {
"commonName": {
"anyOf": [
{
"type": "string",
"maxLength": 1024
},
{
"type": "null"
}
]
},
"organization": {
"anyOf": [
{
"type": "string",
"maxLength": 1024
},
{
"type": "null"
}
]
}
},
"required": [
"commonName",
"organization"
],
"additionalProperties": false
},
"validFrom": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
]
},
"validTo": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
]
}
},
"required": [
"fingerprint256",
"issuer",
"subject",
"validFrom",
"validTo"
],
"additionalProperties": false
}
},
"depth": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 64
},
"status": {
"type": "string",
"enum": [
"trusted",
"self_signed",
"invalid"
]
},
"truncated": {
"type": "boolean"
}
},
"required": [
"certificates",
"depth",
"status",
"truncated"
],
"additionalProperties": false
},
"daysRemaining": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"hostnameMatch": {
"type": "boolean"
},
"issuer": {
"type": "object",
"properties": {
"commonName": {
"anyOf": [
{
"type": "string",
"maxLength": 1024
},
{
"type": "null"
}
]
},
"organization": {
"anyOf": [
{
"type": "string",
"maxLength": 1024
},
{
"type": "null"
}
]
}
},
"required": [
"commonName",
"organization"
],
"additionalProperties": false
},
"sanCount": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"sanTruncated": {
"type": "boolean"
},
"subject": {
"type": "object",
"properties": {
"commonName": {
"anyOf": [
{
"type": "string",
"maxLength": 1024
},
{
"type": "null"
}
]
},
"organization": {
"anyOf": [
{
"type": "string",
"maxLength": 1024
},
{
"type": "null"
}
]
}
},
"required": [
"commonName",
"organization"
],
"additionalProperties": false
},
"subjectAlternativeNames": {
"maxItems": 128,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 1024
}
},
"validFrom": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"validityStatus": {
"type": "string",
"enum": [
"valid",
"expired",
"not_yet_valid"
]
},
"validTo": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
}
},
"required": [
"chain",
"daysRemaining",
"hostnameMatch",
"issuer",
"sanCount",
"sanTruncated",
"subject",
"subjectAlternativeNames",
"validFrom",
"validityStatus",
"validTo"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"cipherSuite": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 512
},
{
"type": "null"
}
]
},
"findings": {
"maxItems": 8,
"type": "array",
"items": {
"type": "object",
"properties": {
"code": {
"type": "string",
"enum": [
"TLS_CERT_EXPIRED",
"TLS_CERT_NOT_YET_VALID",
"TLS_HOSTNAME_MISMATCH",
"TLS_CERT_SELF_SIGNED",
"TLS_CERT_CHAIN_INVALID"
]
},
"message": {
"type": "string",
"minLength": 1
},
"severity": {
"type": "string",
"enum": [
"error",
"warning"
]
}
},
"required": [
"code",
"message",
"severity"
],
"additionalProperties": false
}
},
"issue": {
"type": "object",
"properties": {
"code": {
"type": "string",
"pattern": "^[A-Z][A-Z0-9_]*$"
},
"message": {
"type": "string",
"minLength": 1
},
"retryable": {
"type": "boolean"
}
},
"required": [
"code",
"message",
"retryable"
],
"additionalProperties": false
},
"port": {
"type": "number",
"const": 443
},
"protocol": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 64
},
{
"type": "null"
}
]
},
"source": {
"type": "object",
"properties": {
"cacheStatus": {
"type": "string",
"enum": [
"hit",
"miss",
"mixed",
"not_used"
]
},
"dataSource": {
"type": "string",
"minLength": 1
},
"observedAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
}
},
"required": [
"cacheStatus",
"dataSource",
"observedAt"
],
"additionalProperties": false
},
"status": {
"type": "string",
"enum": [
"connected",
"no_address",
"connection_failed",
"timeout",
"handshake_failed",
"handshake_too_large",
"rate_limited"
]
}
},
"required": [
"certificate",
"cipherSuite",
"findings",
"port",
"protocol",
"source",
"status"
],
"additionalProperties": false
}
},
"required": [
"caa",
"normalizedQueryAscii",
"normalizedQueryUnicode",
"risks",
"tls"
],
"additionalProperties": false
},
"meta": {
"type": "object",
"properties": {
"cacheStatus": {
"type": "string",
"enum": [
"hit",
"miss",
"mixed",
"not_used"
]
},
"dataSource": {
"type": "string",
"minLength": 1
},
"lastSuccessfulAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"observedAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"stale": {
"type": "boolean"
},
"traceId": {
"type": "string",
"pattern": "^[a-zA-Z0-9._:-]{8,128}$"
}
},
"additionalProperties": false
}
},
"required": [
"state",
"data"
],
"additionalProperties": false
}错误码
| HTTP | 错误码 | 含义与处理 |
|---|---|---|
| 400 | INVALID_REQUEST | 请检查请求;保留响应中的 traceId 以便排查。 |
| 400 | API_INPUT_INVALID | 请按参数表检查输入;参数错误不计入免费次数。 |
| 400 | API_TARGET_BLOCKED | 目标不符合公网查询规则,请检查域名或网址。 |
| 401 | API_KEY_REQUIRED | 在 Authorization 请求头中添加 Bearer key。 |
| 401 | API_KEY_INVALID | 检查 key 是否正确;轮换后请更新程序中的 key。 |
| 401 | API_KEY_REVOKED | key 已吊销,请在控制台创建新的 key。 |
| 402 | API_BALANCE_INSUFFICIENT | 请检查请求;保留响应中的 traceId 以便排查。 |
| 403 | API_SPEND_REACTIVATION_REQUIRED | 请检查账户状态和权限后再试。 |
| 403 | ACCOUNT_BALANCE_SPEND_DISABLED | 请检查账户状态和权限后再试。 |
| 403 | STEP_UP_IDENTITY_RISK_COOLDOWN_ACTIVE | 请检查账户状态和权限后再试。 |
| 403 | API_KEY_BANNED | key 已封禁,请联系支持。 |
| 403 | API_SCOPE_FORBIDDEN | 此 key 无权调用该接口,请在控制台检查权限。 |
| 403 | API_KEY_CHANGED | key 已发生变化,请使用最新的 key。 |
| 403 | REALNAME_VERIFICATION_REQUIRED | 请检查账户状态和权限后再试。 |
| 403 | ACCOUNT_API_ACCESS_DISABLED | 请检查账户状态和权限后再试。 |
| 403 | ACCOUNT_LOGIN_DISABLED | 请检查账户状态和权限后再试。 |
| 403 | ACCOUNT_CLOSED | 请检查账户状态和权限后再试。 |
| 403 | ACCOUNT_CLOSING | 请检查账户状态和权限后再试。 |
| 403 | ACCOUNT_PENDING_REGISTRATION | 请检查账户状态和权限后再试。 |
| 403 | ACCOUNT_SUSPENDED | 请检查账户状态和权限后再试。 |
| 403 | ACCOUNT_STATE_INVALID | 请检查账户状态和权限后再试。 |
| 404 | API_NOT_FOUND | 请检查请求;保留响应中的 traceId 以便排查。 |
| 405 | API_METHOD_NOT_ALLOWED | 请检查请求;保留响应中的 traceId 以便排查。 |
| 408 | API_REQUEST_ABORTED | 请检查请求;保留响应中的 traceId 以便排查。 |
| 409 | API_RESERVATION_EXPIRED | 请检查请求;保留响应中的 traceId 以便排查。 |
| 409 | API_SPEND_VERSION_CHANGED | 请检查请求;保留响应中的 traceId 以便排查。 |
| 409 | WALLET_SPEND_LIMIT_EXCEEDED | 请检查请求;保留响应中的 traceId 以便排查。 |
| 410 | API_UNAVAILABLE | 接口已下架,请查看目录中的已开放接口。 |
| 421 | API_HOST_INVALID | 请检查请求;保留响应中的 traceId 以便排查。 |
| 429 | API_RATE_LIMITED | 请求过于频繁,请按 Retry-After 等待后重试。 |
| 429 | API_FREE_QUOTA_EXHAUSTED | 今日免费次数已用完;可在控制台主动开通按量付费,或等待次日免费次数恢复。 |
| 429 | API_SITE_QUOTA_EXHAUSTED | 接口的全站日容量已满,请稍后再试。 |
| 429 | API_DAILY_SPEND_LIMIT_EXCEEDED | 请检查请求;保留响应中的 traceId 以便排查。 |
| 429 | API_UPSTREAM_RATE_LIMITED | 请检查请求;保留响应中的 traceId 以便排查。 |
| 500 | INTERNAL_ERROR | 服务暂时未能完成调用;失败不计次,请保留 X-Request-Id 联系支持。 |
| 500 | API_TELEMETRY_INVALID | 服务暂时未能完成调用;失败不计次,请保留 X-Request-Id 联系支持。 |
| 500 | ACCOUNT_RESTRICTIONS_INVALID | 服务暂时未能完成调用;失败不计次,请保留 X-Request-Id 联系支持。 |
| 502 | API_EXECUTION_FAILED | 服务暂时未能完成调用;失败不计次,请保留 X-Request-Id 联系支持。 |
| 502 | API_INVALID_RESPONSE | 服务暂时未能完成调用;失败不计次,请保留 X-Request-Id 联系支持。 |
| 502 | API_RESPONSE_TOO_LARGE | 服务暂时未能完成调用;失败不计次,请保留 X-Request-Id 联系支持。 |
| 502 | API_UPSTREAM_UNAVAILABLE | 服务暂时未能完成调用;失败不计次,请保留 X-Request-Id 联系支持。 |
| 503 | API_BILLING_NOT_CONFIGURED | 服务暂时未能完成调用;失败不计次,请保留 X-Request-Id 联系支持。 |
| 503 | API_BILLING_UNAVAILABLE | 服务暂时未能完成调用;失败不计次,请保留 X-Request-Id 联系支持。 |
| 503 | WALLET_POLICY_UNAVAILABLE | 服务暂时未能完成调用;失败不计次,请保留 X-Request-Id 联系支持。 |
| 503 | WALLET_LEDGER_UNAVAILABLE | 服务暂时未能完成调用;失败不计次,请保留 X-Request-Id 联系支持。 |
| 503 | OPEN_API_DISABLED | 服务尚未开放或暂时停用,请稍后再试。 |
| 503 | API_LIMIT_UNAVAILABLE | 服务暂时未能完成调用;失败不计次,请保留 X-Request-Id 联系支持。 |
| 503 | API_QUOTA_UNAVAILABLE | 服务暂时未能完成调用;失败不计次,请保留 X-Request-Id 联系支持。 |
| 503 | API_QUOTA_NOT_CONFIGURED | 服务暂时未能完成调用;失败不计次,请保留 X-Request-Id 联系支持。 |
| 504 | API_EXECUTION_TIMEOUT | 服务暂时未能完成调用;失败不计次,请保留 X-Request-Id 联系支持。 |