You can find error codes on the OpenAPI platform. If an error occurs during an OpenAPI call, use OpenAPI diagnosis to find the cause.
Client-side errors
Error code | Description | HTTP status code | semantics |
InvalidProduct.NotFound | Cannot find product according to your specified domain. | 404 | Check that the domain name used for the call is correct: cloudpush.aliyuncs.com. |
InvalidApi.NotFound | Specified api is not found,please check your url and method. | 404 | Check that the API you are calling is correct. Note that the API name is case-sensitive. |
InvalidProtocol.NeedSsl | Your request is denied as lack of ssl protect. | 404 | The API configuration only supports the HTTPS protocol: request.setProtocol(ProtocolType.HTTPS); |
Missing{ParameterName} | {ParameterName} is mandatory for this action. | 400 | A required parameter is missing. |
InvalidAccessKeyId.NotFound | Specified access key is not found. | 400 | Check that you are using the correct AccessKeyId for the call. For more information, see Solutions. |
InvalidTimeStamp.Format | Specified time stamp or date value is not well formatted. | 400 | The timestamp format is incorrect. The Date and Timestamp parameters must be in the ISO 8601 format. |
InvalidTimeStamp.Expired | Specified time stamp or date value is expired. | 400 | The interval between the request time, indicated by the Timestamp parameter in the request, and the time the server receives the request is more than 15 minutes. Check the timestamp in your call code. For example, if the request time is 10:00 AM UTC+8, the timestamp parameter must be set to 02:00 UTC. |
SignatureNonceUsed | Specified signature nonce was used already. | 400 | The SignatureNonce is a duplicate. The SignatureNonce parameter must be unique for each request. This is a gateway layer error caused by calling the software development kit (SDK) too frequently. This error often occurs when an SDK call is placed inside a function loop. The default gateway frequency limit is 100 calls per second. For high-volume pushes with many deviceIDs, use aggregation pushes. For example, attach deviceIDs to an Alias or Tag, and then send pushes by Alias or Tag. |
SignatureDoesNotMatch | Specified signature is not matched with our calculation. | 400 | The signature verification failed. For more information, see Signature mechanism. |
Throttling.User | Request was denied due to user flow control. | 400 | The user's traffic for this period has exceeded the limit. |
Throttling.Api | Request was denied due to api flow control. | 400 | The API's traffic for this period has exceeded the limit. |
AccountNotSupport | Your account is not support. | 400 | The account is not supported (created through other channels). |
AccountProhibited | Your account is prohibited. | 400 | Your account is disabled. |
AccountInDebt | Your account is in debt. | 400 | Your account has an overdue payment. |
AccountDisabled | Your account is not enabled. | 400 | You have not activated this service. |
PermissionDenied | The specified AppKey is not authorized. | 400 | The specified app does not belong to the accessor. Check the AppKey configuration to ensure it belongs to the correct account. |
NoPermission | You are not authorized to do this operation. (Action: %s, Resource: %s.) | 400 | The sub-account or STS access is not authorized. |
Invalid{ParameterName}.NotFound | The specified {ParameterName} is not found. | 400 | The specified resource does not exist. |
Invalid{ParameterName}.Format | The specified {ParameterName} is not found. | 400 | The parameter format is incorrect. |
Invalid{ParameterName}.Empty | Specified {ParameterName} can’t be empty. | 400 | The parameter cannot be empty. |
Invalid{ParameterName}.Blank | Specified {ParameterName} can’t be blank. | 400 | The parameter cannot be a blank character. |
Invalid{ParameterName}.BytesExceed | Specified {ParameterName} exceeds the %s bytes limit. | 400 | The number of bytes in the parameter exceeds the limit. |
Invalid{ParameterName}.LengthExceed | Specified {ParameterName}.length can’t be greater than %s. | 400 | The number of characters in the parameter exceeds the limit. |
Invalid{ParameterName}.SizeExceed | Specified {ParameterName}.size can’t be greater than %s. | 400 | The number of items in the list parameter exceeds the limit. |
Specified Pushtime can not be after seven days | Per quick checking, it throwed PushTimeTlloLate error: Specified PushTime can not be after seven days, which means Ali not support future notification with push time > 7days. This is controlled by ali push. | N/A | The scheduled push time cannot be more than 7 days in the future. |
LimitExceed | The specified ExpireTime can not before Now(+3Seconds) | 400 | The expiration time must be at least 3 seconds after the current time. This 3-second buffer accounts for network and system latency. When you use the advanced push API of OpenAPI 2.0, the PushTime and ExpireTime parameters must be in the ISO 8601 format and use UTC: YYYY-MM-DDThh:mm:ssZ. The expiration time must be at least 3 seconds after the current time or the scheduled push time (ExpireTime > PushTime + 3 seconds). |
Server-side errors
Error code | Description | HTTP status code | Semantics |
ServiceUnavailable | The request has failed due to a temporary failure of the server. | 503 | The server cannot process the request. Retry the request. If the request fails again, submit a ticket. |
InternalError | The request processing has failed due to some unknown error. | 500 | A server-side error occurred. Retry the request. If the request fails again, submit a ticket. |
Timeout | The request processing is timeout. | 500 | The server timed out while processing the request. If it is a push request, the request has likely been submitted to the server. Do not retry. If it is a query request, you can retry it later. |