错误代码表

API网关错误码表。

1. API网关错误码表(VPC实例)

本章节的错误代码表适用于VPC共享实例/Serverless实例VPC专享实例

  • 当客户端收到的应答中X-Ca-Error-Code头不为空,表示应答码由API网关产生,错误码由一个6位长度的字符描述,请参考下表,而X-Ca-Error-Message表示错误的应答信息,用于描述该场景下更详细的一些错误信息。

  • 如果X-Ca-Error-Code头为空,则表示这个HTTP应答码由后端服务产生,API网关透传了来自后端的错误信息。

错误代码

HTTP状态码

Message

描述

I400HD

400

Invalid Header `${HeaderName}` ${Reason}

HTTP请求头非法

I400MH

400

Header `${HeaderName}` is Required

缺少HTTP请求头

I400BD

400

Invalid Body: ${Reason}

HTTP请求包体非法

I400PA

400

Invalid Request Path `${Reason}`

HTTP请求路径非法

I405UM

405

Unsupported Method `${Reason}`

不支持的HTTP请求方法

I400RU

400

Invalid Request Uri `${Reason}`

HTTP请求URL非法

I403PT

403

Invalid protocol ${Protocol} unsupported

使用了API配置中不支持的协议,请检查API配置的协议

I413RL

413

Request body too Large

请求包体过长,相关限制参考使用限制

I413UL

413

Request URL too Large

请求URL过长,相关限制参考使用限制

I400CT

400

Invalid Content-Type: `${Reason}`

非法的`Content-Type`

I404DO

404

Invalid Domain `${DomainName}`

未知的请求域名,请使用绑定的域名进行调用

I410GG

410

Group's instance invalid

请求了非法的实例,分组可能已经不属于当前实例

I400SG

400

Invalid Stage

请求了未知的环境

I404NF

404

API not found ${Reason}

根据请求的`Path`,`Method`在当前的环境中未找到API,请参考I404NF错误码排查

X400PM

400

Invalid plugin meta ${PluginName} ${Reason}

插件元数据非法

X500ED

500

Expired api definition

过期的老版本元数据已经不被新版本API网关支持,需要提交工单修改老版本元数据

X500AM

500

Invalid Api Meta, try deploy again or contact us via ticket

保存的元数据定义格式错误,需要提交工单修复

X403DG

403

Bad Domain or Group: ${Reason}

分组数据非法

B451DO

451

Unavailable Domain for Legal Reasons

域名因法律法规问题被禁

B451GO

451

Unavailable Group for Legal Reasons

分组因法律法规问题被禁

B403OD

403

Provider Account Overdue

API提供方欠费,若是云市场购买的API,请联系服务商处理

A401AC

401

Invalid AppCode ${Reason}

当使用AppCode模式授权时,未找到AppCode,请核实App是否授权,AppCode是否有误

A400IK

400

Invalid AppKey

当使用`Key/Secret`签名授权时,未找到AppKey

A403IS

403

Invalid Signature, Server StringToSign:`${StringToSign}`

签名不匹配,排查请参考Invalid Signature

A403EP

403

App authorization expired

授权已过期,请重新授权

A403PR

403

Plugin Authorization Needed

需要插件授权

A400MA

400

Need authorization, `X-Ca-Key` or `Authorization: APPCODE ...` is required

需要使用`Key/Secret`签名授权或`AppCode`授权

I400I5

400

Invalid Content-MD5 ${Reason}

不匹配的`Content-MD5`

I400NC

400

X-Ca-Nonce is required

当设置了`使用X-Ca-Nonce防重放`选项时,必须提供`X-Ca-Nonce`头

S403NU

403

Nonce Used

检测到请求重放,请求的`X-Ca-Nonce`头重复

S403TE

403

X-Ca-Timestamp is expired

`X-Ca-Timestamp`头中提供的时间戳已过期,时间戳有效期15分钟

I400MP

400

Parameter `${ParameterName}` is required

API中配置的必填参数未传值

I400IP

400

Invalid parameter `${ParameterName}` ${Reason}

API中配置的参数值非法

I400JR

400

JWT required

未找到JWT参数

S403JI

403

Claim `jti` is required when `preventJtiReplay:true`

当在`JWT授权插件`中配置了防重放功能时,请求未提供有效的`jti`

A403SV

403

Claim `jti` in JWT is used

当在`JWT授权插件`中配置了防重放功能时,请求提供的`jti`已被使用

I400JD

400

JWT Deserialize Failed: `${Token}`

请求中提供的`JWT`解析失败

A403JT

403

Invalid JWT: ${Reason}

请求中提供的`JWT`非法

A403JK

403

No matching JWK, `${kid}` not found

请求`JWT`中的`kid`没有匹配的`JWK`

A403JE

403

JWT is expired at `${Date}`

请求中提供的`JWT`已过期

I400JP

400

Invalid JWT plugin config: ${JWT}

`JWT授权`插件配置错误

A403OL

403

OAuth2 Login failed: ${Reason}

A403OU

403

OAuth2 Get User Info failed: ${Reason}

A401OT

401

Invalid OAuth2 Access Token

A401OM

401

OAuth2 Access Token is required

T429ID

429

Throttled by INNER DOMAIN Flow Control, ${Domain} is a test domain, only 1000 requests per day

当使用默认二级域名访问时,限制1000次/天,(海外Region及中国香港限制100次/天),请绑定正式域名以解除这个限制

T429IN

429

Throttled by INSTANCE Flow Control

触发当前实例的流控限制,请升级实例规格

T429GR

429

Throttled by GROUP Flow Control

触发当前分组的流控限制,请升级实例规格

T429PA

429

Throttled by API Flow Control

触发插件上的默认API流控

T429PR

429

Throttled by PLUGIN Flow Control

触发插件的特殊流控

T429SR

429

Throttled by SERVER Flow Control

T429MR

429

Too Many Requests, throttle by `${Description}`

A403IP

403

Access denied by IP Control Policy

被`IP访问控制插件`阻止访问

A403IN

403

Access from internet is disabled ${Reason}

`API`或`API分组`禁止从公网访问,请从内网调用,文档参考私网调用API

A403VN

403

Access from invalid VPC is disabled

来源VPC被阻止

A403AC

403

Access Control Forbidden by ${RuleName}

被`授权控制`插件阻止

A403CO

403

Cross origin resource forbidden ${Domain}

被CORS策略阻止访问

I404CO

404

Cross origin resource not found ${Method} - ${Path}

根据CORS预检请求中的Path与Method,无法找到API定义

I404CH

404

Content not cached, with `Cache-Control:only-if-cached`

I404NR

404

${Resource} not found

I404SR

404

Stage route missing: ${Reason}

B403MO

403

Api Market Subscription overdue

API提供商欠费,请联系服务商处理

B403MQ

403

Api Market Subscription quota exhausted

购买的云市场API配额已耗尽,请续费次数

B403ME

403

Api Market Subscription expired

API订购关系已过期,请重新订购

B403MI

403

Api Market Subscription invalid

API市场订购关系非法

D504RE

504

Backend domain `${Domain}` resolve failed

后端域名解析失败,请核实后端域名解析

D504IL

504

Backend domain `${Domain}` resolve to illegal address `${Address}`

后端域名解析结果非法

D504CO

504

Backend service connect failed `${Reason}`

后端连接失败,请检查安全组、后端服务器启动状态、或防火墙配置,排查可参考D504CO错误码排查

504

Backend service connect failed `Connection lease request time out`

API网关实例后端连接池不够用导致的后端连接失败,请升级实例规格

D504CS

504

Backend http ssl connect failed `${Reason}`

后端HTTPS连接失败,请检查后端配置的协议与端口是否匹配

D504TO

504

Backend service request timeout

API网关请求后端超时,请调整后端超时时间或提高后端服务响应速度

X504VE

504

Backend service vpc mapped failed

后端VPC映射错误

D503BB

503

Backend circuit breaker busy

API被断路器阻止

D503CB

503

Backend circuit breaker open, ${Reason}

API处于熔断/断路器开状态,请检查后端性能

I508LD

508

Loop Detected

检测到环回调用

I404DD

404

Device id ${DeviceId} not found

当使用WebSocket双向通信调用时,DeviceId未找到

A403FC

403

Function Compute AssumeRole failed ${RequestId}:${Reason}

后端是函数计算时授权错误

D502FC

502

Function Compute response invalid: ${Reason}

后端是函数计算时,来自后端的应答非法

N502RE

502

Send Response IO Exception: ${Reason}

发送应答给客户端时报错,常见于客户端提前关闭连接或网络错误

X500ER

500

Service Internal Error

服务器内部错误,请提交工单联系工作人员

X503BZ

503

Service Busy

API网关服务忙,请稍后再试

X504TO

504

Service timeout

API网关处理超时,请提交工单联系工作人员

部分错误代码可能随着升级或新功能的加入而改变。

2. 管控OpenAPI错误代码表

当您调用API网关开放的管控OpenAPI时,如CreateAPI、ModifyAPI、DeleteAPI等,您可能遇到以下错误码。

2.1. 服务端错误码

HttpCode为5xx,表示服务不可用。此时建议重试。

错误代码

描述

HTTP 状态码

语义

解决方案

ServiceUnavailable

The request has failed due to a temporary failure of the server.

503

服务不可用

建议重试。

InternalError

The request processing has failed due to some unknown error, exception or failure.

500

内部错误

建议重试。

2.2. 客户端错误码

HttpCode为4xx,表示业务错误。一般为参数错误、权限限制、业务逻辑错误等问题,此时需要仔细查看错误码,并针对性解决问题。

错误代码

描述

HTTP 状态码

语义

解决

Repeated%s

The specified %s is repeated.

400

某参数重复(%s 是占位符,实际调用会给出明确的参数名或提示。)

建议按照提示修改重复的参数后重试。

RepeatedCommit

Resubmit request.

400

请求重复

请不要频繁提交请求。

Missing%s

The %s is mandatory for this action.

400

缺少参数 %s

根据具体返回补充缺少的参数,重试请求。

MissingAppIdOrAppOwner

AppId or AppOwner must have a valid value.

400

缺少参数 AppId 或者 AppOwner

参数 AppId 和 AppOwner 不能同时为空。

Invalid%s

The specified parameter %s value is not valid.

400

参数无效

根据返回提示的具体参数,查看相关参数约束,修改后重试。

NotFound%s

Cannot find resource according to your specified %s.

400

找不到资源

根据指定的参数%s找不到资源,建议检查%s是否正确。

InvalidFormat%s

The specified parameter %s value is not well formatted.

400

参数格式错误

建议根据实际返回提示,查看%s的格式要求,修改后重试。

Duplicate%s

The specified parameter %s value is duplicate.

400

参数重复

某请求参数不允许重复,建议检查修正后重试。

DependencyViolation%s

The specified %s has %s definitions.

400

参数依赖错误

指定参数被依赖,不能随意删除,请先解除依赖。

Forbidden%s

Not allowed to operate on the specified %s.

403

无权操作/操作禁止

您无权执行该操作。

NoPermission

User is not authorized to operate on the specified resource.

403

无权操作

RAM 鉴权不通过。

ExceedLimit%s

The specified %s count exceeds the limit.

400

超出个数限制

一般指用户账户下创建的 API、API 分组或者APP超出个数限制。

UserNotFound

The specified user can not be found.

404

指定用户找不到

根据输入的用户信息找不到该用户。

DomainCertificateNotFound

Cannot find the domain certificate.

400

指定域名证书不存在

建议检查传入的证书 ID 及名称。

DomainNotResolved

The specified domain has not been resolved.

400

指定域名未解析

需要将指定域名 CNAME 解析到分组的二级域名上,才能完成绑定。域名解析是在用户域名购买的网站上操作。

InvalidICPLicense

The specified domain have not got ICP license, or the ICP license does not belong to Aliyun.

400

域名备案不合格

要绑定的域名需要在阿里云做首次备案,已经在其他系统做备案的,需要在阿里云备案接入。备案接入需要获取备案号,在阿里云有 ECS 且具有公网 IP 的,每个 ECS 有5个备案号。

Invalid%s.LengthLimit

The parameter %s length exceeds the limit.

400

长度超限

参数%s超出长度限制,建议修正后重试。

InvalidApiDefault

The ApiDefault value exceeds limit.

400

流控插件 API 默认值超过限制值

该值数值不能超过1亿,与单位无关。

InvalidAppDefault

The AppDefault value must smaller than the UserDefault and ApiDefault.

400

AppDefault 的值不符合规则

该值需要小于 API 流控值和用户流控值。

InvalidUserDefault

The UserDefault value must bigger than the AppDefault and smaller than the ApiDefault.

400

UserDefault 的值不符合规则

该值需要小于 API 流控值并大于 APP 流控值。

InvalidParamMapping

Parameters must be fully mapped.

400

参数映射无效

创建 API 时,前后端参数映射需要是全映射。即每个入参都需要配置后端参数名称。

InvalidOwnerAccount

OwnerAccount is invalid.

400

APP所有者账号无效

一般为操作授权时,输入目标用户的阿里云邮箱账号,该账号无效。建议检查修正后重试。

ServiceForbidden

Your Gateway service is forbidden by risk control.

400

API 网关服务被风控(应该使用户被风控吧)

请注意不要频繁请求,建议稍后重试。

ServiceUnOpen

Your Gateway service has not been opened.

400

服务未开通

建议到阿里云官网开通一下 API 网关服务。

ServiceInDept

Your API Gateway service is in dept.

400

(您的 API 网关)服务欠费

充值或者结算后重新开始使用。

EqualSignature

The new signature is the same as the old.

400

新密钥与旧的相等

修改后端签名密钥时,新设置的 Key 和 Secret 不能跟原来的一样。

CertificateNotMatch

The domain does not match the one in the certificate.

400

证书不匹配

指定域名与证书内域名不匹配。

CertificateKeyNotMatch

The certificate private key does not match the public key.

400

证书密钥不匹配

证书的公钥和私钥不匹配。

PrivateKeyEncrypted

The certificate private key is encrypted, please upload the unencrypted version.

400

密钥不能加密

证书私钥加密了,要求上传不加密的版本。

CertificateSecretKeyError

The certificate private key is invalid.

400

证书私钥错误

建议检查后重新传入。

InvalidApiServiceAddress

The specified service address is not valid.

400

API 后端服务地址无效

配置的 API 后端服务地址无效。

2.3. 客户端公用错误码

HttpCode为4xx,调用全阿里云产品的OpenAPI均可能遇到,表示业务错误。一般为请求格式错误、请求方式错误、必填参数丢失、参数格式错误、签名错误、流控限制等问题。此时需查看具体错误码,针对性解决问题。

报错场景

错误码

错误提示

状态码

建议

API 找不到。

InvalidApi.NotFound

Specified api is not found, please check your url and method.

404

请检查指定的 action 接口名称是否正确,注意大小写区分。

缺少必填参数。

Missing{ParameterName}

{ParameterName} is mandatory for this action.

400

指定参数为必填参数,请传入。

AccessKeyId 找不到

InvalidAccessKeyId.NotFound

Specified access key is not found.

404

请检查调用时是否传入正确的 AccessKeyId。

AccessKeyId 被禁用。

InvalidAccessKeyId.Inactive

Specified access key is disabled.

400

检查 AK 是否可用。

时间戳格式不对(Date 和 Timestamp)。

InvalidTimeStamp.Format

Specified time stamp or date value is not well formatted.

400

检查时间戳。

用户时间和服务器时间超过15分钟。

InvalidTimeStamp.Expired

Specified time stamp or date value is expired.

400

检查时间戳。

SignatureNonce 重复

SignatureNonceUsed

Specified signature nonce was used already.

400

返回值格式不正确。

InvalidParameter.Format

Specified parameter format is not valid.

400

仅支持 XML/JSON。

参数值校验不通过。

Invalid{ParameterName}

Specified parameter {ParameterName} is not valid.

400

请检查指定参数的值。

Http 请求方法不支持。

UnsupportedHTTPMethod

Specified signature is not matched with our calculation.

400

请检查请求Method。

签名方法不支持。

InvalidSignatureMethod

Specified signature method is not valid.

400

默认可以不填写该值。

签名不通过。

SignatureDoesNotMatch

Specified signature is not matched with our calculation.

400

签名不通过。

用户调用频率超限。

Throttling.User

Request was denied due to user flow control.

400

请稍后访问,降低访问频率。

API 访问频率超限。

Throttling.API

Request was denied due to api flow control.

400

请稍后访问,降低访问频率。

缺少AccessKeyId。

MissingSecurityToken

SecurityToken is mandatory for this action.

400

请检查是否传入有效AccessKeyId。