This topic describes the error codes that may be encountered in the use of API Gateway instances of the Virtual Private Cloud (VPC) type.
The error codes described in this section apply to serverless instances and dedicated instances of the VPC type.
If the
X-Ca-Error-Codeheader is not empty in a response received by a client, the error code is generated by API Gateway. Such an error code is a six-character string. The following table lists all possible error codes that may be generated by API Gateway. For the detailed error message, refer to theX-Ca-Error-Messageheader.If the
X-Ca-Error-Codeheader is empty, the HTTP status code is generated by a backend service. API Gateway passes through the error information from the backend service.
Error codes
Error code | HTTP Status Code | Message | Description |
I400HD | 400 | Invalid Header `${HeaderName}` ${Reason} | The error message returned because the HTTP request header is invalid. |
I400MH | 400 | Header `${HeaderName}` is Required | The error message returned because the HTTP request header is missing. |
I400BD | 400 | Invalid Body: ${Reason} | The error message returned because the HTTP request body is invalid. |
I400PA | 400 | Invalid Request Path `${Reason}` | The error message returned because the HTTP request path is invalid. |
I405UM | 405 | Unsupported Method `${Reason}` | The error message returned because the HTTP request method is not supported. |
I400RU | 400 | Invalid Request Uri `${Reason}` | The error message returned because the HTTP request URL is invalid. |
I403PT | 403 | Invalid protocol ${Protocol} unsupported | The error message returned because the protocol is not supported based on the API configuration. Check the API configuration. |
I413RL | 413 | Request body too Large | The error message returned because the request body is too large. For more information, see Limits. |
I413UL | 413 | Request URL too Large | The error message returned because the request URL is too long. For more information, see Limits. |
I400CT | 400 | Invalid Content-Type: `${Reason}` | The error message returned because the Content-Type value is invalid. |
I404DO | 404 | Invalid Domain `${DomainName}` | The error message returned because an unknown domain name is requested. Use a bound domain name for the call. |
I410GG | 410 | Group's instance invalid | The error message returned because an invalid instance is requested. The API group may not belong to the current instance. |
I400SG | 400 | Invalid Stage | The error message returned because an unknown environment is requested. |
I404NF | 404 | API not found ${Reason} | The error message returned because the API could not be found in the current environment based on the path and method parameters in the request. For more information, see What do I do if the I404NF error is reported? |
X400PM | 400 | Invalid plugin meta ${PluginName} ${Reason} | The error message returned because the metadata of the plug-in is invalid. |
X500ED | 500 | Expired api definition | The error message returned because expired metadata of earlier versions is no longer supported by the new version of API Gateway. To modify the metadata of an earlier version, submit a ticket. |
X500AM | 500 | Invalid Api Meta, try deploy again or contact us via ticket | The error message returned because the format of the saved metadata is invalid. To fix this issue, submit a ticket. |
X403DG | 403 | Bad Domain or Group: ${Reason} | The error message returned because the data of the API group is invalid. |
B451DO | 451 | Unavailable Domain for Legal Reasons | The error message returned because the domain name does not comply with the requirements of relevant laws or regulations. |
B451GO | 451 | Unavailable Group for Legal Reasons | The error message returned because the API group does not comply with the requirements of relevant laws or regulations. |
B403OD | 403 | Provider Account Overdue | The error message returned because the API provider has an overdue payment. If the API is purchased in Alibaba Cloud Marketplace, contact the service provider. |
A401AC | 401 | Invalid AppCode ${Reason} | The error message returned because AppCode authentication is used but the AppCode is not found. Check whether the application is authorized and whether the AppCode is correct. |
A400IK | 400 | Invalid AppKey | The error message returned because the AppKey is not found when you perform an authorization by using a key-secret pair. |
A403IS | 403 | Invalid Signature, Server StringToSign:`${StringToSign}` | The error message returned because the client-end signature does not match the server-end signature. For more information, see A403IS. |
A403EP | 403 | App authorization expired | The error message returned because the authorization expired. Grant permissions again. |
A403PR | 403 | Plugin Authorization Needed | The error message returned because plug-in authorization is required. |
A400MA | 400 | Need authorization, `X-Ca-Key` or `Authorization: APPCODE ...` is required | The error message returned because authorization in AppCode mode or by using a key-secret pair is required. |
I400I5 | 400 | Invalid Content-MD5 ${Reason} | The error message returned because the Content-MD5 value is invalid. |
I400NC | 400 | X-Ca-Nonce is required | The error message returned because the X-Ca-Nonce header is not provided after you select Force Nonce Check (Anti Replay by X-Ca-Nonce). |
S403NU | 403 | Nonce Used | The error message returned because a replay attack is detected. The X-Ca-Nonce header in the request has been used. |
S403TE | 403 | X-Ca-Timestamp is expired | The error message returned because the timestamp provided in the X-Ca-Timestamp header has expired. The timestamp is valid for 15 minutes |
I400MP | 400 | Parameter `${ParameterName}` is required | The error message returned because one or more required parameter in the API configuration are left empty. |
I400IP | 400 | Invalid parameter `${ParameterName}` ${Reason} | The error message returned because the value of a parameter in the API configuration is invalid. |
I400JR | 400 | JWT required | The error message returned because JSON Web Token (JWT)-related parameters are not found. |
S403JI | 403 | Claim `jti` is required when `preventJtiReplay:true` | The error message returned because no valid jti claim is included in the request when the preventJtiReplay parameter is set to true in a JWT authentication plug-in. |
A403SV | 403 | Claim `jti` in JWT is used | The error message returned because the jti claim that is included in the request has been used when the preventJtiReplay parameter is set to true in a JWT authentication plug-in. |
I400JD | 400 | JWT Deserialize Failed: `${Token}` | The error message returned because the JWT in the request cannot be resolved. |
A403JT | 403 | Invalid JWT: ${Reason} | The error message returned because the JWT in the request is invalid. |
A403JK | 403 | No matching JWK, `${kid}` not found | The error message returned because no JWK matches the kid configured in the JWT in the request. |
A403JE | 403 | JWT is expired at `${Date}` | The error message returned because the JWT in the request expired. |
I400JP | 400 | Invalid JWT plugin config: ${JWT} | The error message returned because the JWT authentication plug-in is incorrectly configured. |
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 | The error message returned because the limit of API calls is exceeded. If you use the default second-level domain name, the limit is 1,000 calls per day for regions in the Chinese mainland and 100 calls per day for regions outside the Chinese mainland. |
T429IN | 429 | Throttled by INSTANCE Flow Control | The error message returned because throttling is triggered for the current instance. Upgrade the instance specification. |
T429GR | 429 | Throttled by GROUP Flow Control | The error message returned because throttling is triggered for the current API group. Upgrade the instance specification. |
T429PA | 429 | Throttled by API Flow Control | The error message returned because the default API-level throttling policy defined in the throttling plug-in is triggered. |
T429PR | 429 | Throttled by PLUGIN Flow Control | The error message returned because the special throttling policy defined in the throttling plug-in is triggered. |
T429SR | 429 | Throttled by SERVER Flow Control | |
T429MR | 429 | Too Many Requests, throttle by `${Description}` | |
A403IP | 403 | Access denied by IP Control Policy | The error message returned because access is denied by the IP address-based access control plug-in. |
A403IN | 403 | Access from internet is disabled ${Reason} | APIs and API groups cannot be called over the Internet. You can call them over a private network. For more information, see VPC-based API Calls. |
A403VN | 403 | Access from invalid VPC is disabled | The error message returned because access over the specified VPC is denied. |
A403AC | 403 | Access Control Forbidden by ${RuleName} | The error message returned because access is denied by the access control plug-in. |
A403CO | 403 | Cross origin resource forbidden ${Domain} | The error message returned because access is denied by the cross-origin resource sharing (CORS) plug-in. |
I404CO | 404 | Cross origin resource not found ${Method} - ${Path} | The error message returned because the API definition is not found based on the request path and the request method that are pre-checked by the CORS plug-in. |
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 | The error message returned because the API provider has an overdue payment. Contact the service provider. |
B403MQ | 403 | Api Market Subscription quota exhausted | The error message returned because the quota of Alibaba Cloud Marketplace-purchased APIs has been exhausted. Renew the quota. |
B403ME | 403 | Api Market Subscription expired | The error message returned because the API subscription has expired. Create another subscription. |
B403MI | 403 | Api Market Subscription invalid | The error message returned because the subscribed API service is invalid. |
D504RE | 504 | Backend domain `${Domain}` resolve failed | The error message returned because the backend domain name fails to be resolved. Verify the backend domain name. |
D504IL | 504 | Backend domain `${Domain}` resolve to illegal address `${Address}` | The error message returned because the resolution result for the domain name of the backend service is invalid. |
D504CO | 504 | Backend service connect failed `${Reason}` | The error message returned because API Gateway failed to access the backend service. In this case, you must check the security group and firewall settings or the status of the backend server. For more information, see Troubleshoot D504CO errors. |
504 | Backend service connect failed `Connection lease request time out` | The error message returned because the backend service fails to be connected due to dry connection pool. Upgrade the instance specification. | |
D504CS | 504 | Backend http ssl connect failed `${Reason}` | The error message returned because the backend service fails to be connected over HTTPS. Check whether the protocol that is configured for the backend service matches the port. |
D504TO | 504 | Backend service request timeout | The error message returned because the request to the backend service times out. Increase the backend timeout period or improve the handling capability of the backend service. |
X504VE | 504 | Backend service vpc mapped failed | The error message returned because the VPC mapping of the backend service fails. |
D503BB | 503 | Backend circuit breaker busy | The error message returned because the API is protected by its circuit breaker. |
D503CB | 503 | Backend circuit breaker open, ${Reason} | The error message returned because the circuit breaker is open for the API. Check the performance of the backend service. |
I508LD | 508 | Loop Detected | The error message returned because a loopback call is detected. |
I404DD | 404 | Device id ${DeviceId} not found | The error message returned because the device ID is not found when you call APIs over WebSocket. |
A403FC | 403 | Function Compute AssumeRole failed ${RequestId}:${Reason} | The error message returned because an authorization error occurred when Function Compute is used as the backend service. |
D502FC | 502 | Function Compute response invalid: ${Reason} | The error message returned because the response from the backend service is invalid when Function Compute is used as the backend service. |
N502RE | 502 | Send Response IO Exception: ${Reason} | The error message returned because an exception occurred when the server sends a response to the client. Check whether the client closes the connection in advance or a network error occurred. |
X500ER | 500 | Service Internal Error | The error message returned because an error occurred on the internal server. To fix this issue, submit a ticket to contact API Gateway technical support. |
X503BZ | 503 | Service Busy | The error message returned because the API Gateway service is busy. Try again later. |
X504TO | 504 | Service timeout | The error message returned because a timeout error occurs in API Gateway. To contact technical support, submit a ticket. |
Specific error codes may change when the service is updated or new features are added.