This topic describes the structure of error responses in Intelligent Media Management (IMM), common error codes, and error handling practices.
Error response format
The following sample error response shows the structure of an error response from IMM in case of a request error.
{
"RequestId": "D18E94DF-1D00-0B75-811E-****",
"HostId": "imm.cn-hangzhou.aliyuncs.com",
"Code": "InvalidArgument",
"Message": "The parameter ProjectName is required but not provided.",
"Recommend": "https://next.api.aliyun.com/troubleshoot?q=InvalidArgument&product=imm"
}The HTTP status codes vary based on different errors. The following table describes the response elements.
Element | Description |
RequestId | The request ID. If you need technical support, report the error in the DingTalk group 31690030817. |
HostId | The endpoint of the region to which the request is made. If you need technical support, report the error in the DingTalk group 31690030817. |
Code | The error code, which indicates the type of the error. |
Message | The error message, which describes the cause of the error and how to handle the error. |
Recommend | The link to the recommended resource. |
Common error codes
The following table lists common error codes.
The HTTP status code column lists HTTP response status codes.
The Error code column lists error codes, in which {ParameterName} is the parameter name and {ResourceType} is the resource type.
The Error message column lists error messages that provide error details. Actual returned error messages may be slightly different from those listed in the following table.
HTTP status code | Error code | Error message | Description |
400 | InvalidArgument | %s | The parameter value is invalid. Check the relevant document to fix the error. |
400 | Missing{ParameterName} | {ParameterName} is mandatory for this action. | The parameter is required but missing from the request. |
400 | LimitExceededError | Message: input quota exceed the max value | The parameter value exceeds the upper limit. |
400 | LimitExceededError | Message: resource count exceeds the limit | The number of resources exceeds the limit. |
400 | Invalid{ParameterName} | Specified parameter {ParameterName} is not valid. | The value of the parameter is invalid. |
400 | ResourceAlreadyExists | The specified resource {ResourceType} already exists. | The resource already exists. |
400 | ResourceNotFound | The specified resource {ResourceType} is not found. | The resource does not exist. |
400 | InvalidJSON Array parsing error, {ParameterName} | Specified parameter JSON Array parsing error, {ParameterName} is not valid. | JSON parsing failed. The value is incorrectly formatted. |
400 | MalformedPOSTRequest | Invalid json string. | The format of the request is invalid. |
403 | AccessDenied | %s | You do not have the required access permissions. |
400 | Throttling.Api | The request was denied due to flow control. | The QPS limit on API operation calls is reached. |
400 | Throttling.User | Request was denied due to user flow control. | Request throttling for the user is triggered. |
409 | StatusConflict | %s | A status conflict exists. |
400 | Invalid{ResourceType}.Unsupported | The resource {ResourceType} is not supported. Please check. | The resource type is not supported. |
400 | Invalid{ResourceType}.DownloadFailed | The resource {ResourceType} can not be downloaded. Please check. | The resource type does not support downloads. |
403 | Forbidden.AccountNotFound | The specified account does not exist. Please check your account. | The specified account does not exist. Check whether you specified the correct account. |
403 | Forbidden.AccountInDebt | The specified account is in debt. Please check your permission. | The specified account has overdue payments. Check your permissions. |
403 | Forbidden.ServiceRole | Cannot access specified service role. Please check your permission. | You cannot access the specified service. Check your permissions. |
403 | Forbidden.RiskControl | This operation is forbidden by Alibaba Cloud RiskControl system. Please check. | The Alibaba Cloud risk control system forbids the operation. |
403 | Forbidden | User not authorized to operate on the specified APIs. Please check your permission. | You are not authorized to call the API operation. Check your permissions. |
400 | StateConflict | User operation is not valid. Please try again later. | The operation is illegal. Try again later. |
408 | Timeout | Request timed out. Please try again later. | The request timed out. Try again later. |
500 | InternalError | The request has been failed due to some unknown error. Please try again later. | The request failed due to an unknown reason. Try again later. |
405 | HTTPMethodNotAllowed | The request http method is not supported for this resource. Please refer to document. | The HTTP method is not supported for the resource. Check the relevant document to fix the error. |
503 | ServiceUnavailable | The request has failed due to a temporary failure of the server. Please try again later. | The request failed due to a temporary server failure. Try again later. |
503 | ServiceUnavailable.RegionMaintaining | System maintenance is in progress on the selected region. Please wait a few minutes before trying again. | The system for the region is being maintained. Wait a few minutes and try again later. |
400 | STSAccessError | STS access error. Please check your permission. | Failed to access Security Token Service (STS). Check your permissions. |
400 | OSSAccessError | OSS access error. Please check your permission. | Failed to access Object Storage Service (OSS). Check your permissions. |
403 | Throttling | The request project is blocked due to throttling control. Please wait a few minutes before trying again. | Your request is throttled. Wait a few minutes and try again later. |
400 | ContentMD5NotMatched | Specified content md5 is not matched with your request body. | The MD5 verification fails. |
400 | EntityTooLarge | The payload size exceeds maximum allowed size (%s bytes). | The maximum payload size is exceeded. |
400 | IllegalTimestamp | The input parameter \"Timestamp\" that is mandatory for processing this request is not supplied. | The value of the Timestamp parameter is invalid. |
400 | IncompleteSignature | The request signature does not conform to Aliyun standards. | The signature does not match. |
400 | InvalidAction | Specified action is not valid. | The operation is illegal. |
400 | InvalidProtocolNeedSsl | Your request is denied as lack of ssl protect. | Only the HTTPS protocol is supported. |
400 | InvalidSecurityTokenExpired | Specified SecurityToken is expired. | The security token expires. |
400 | InvalidSecurityTokenMalformed | Specified SecurityToken is malformed. | The security token is malformed. |
400 | InvalidSecurityTokenMismatchWithAccessKey | Specified SecurityToken mismatch with the AccessKey. | The security token does not match with the AccessKey pair. |
400 | InvalidSignatureMethod | Specified parameter signature method is not valid. | The signature method is not supported. |
400 | InvalidTimeStampExpired | Specified time stamp or date value is expired. | The interval between sending the request and receiving the request is greater than 15 minutes. |
400 | InvalidTimeStampFormat | Specified time stamp or date value is not well formatted. | The timestamp format is invalid. |
400 | MissingRequiredHeader | The required HTTP header %s was not specified. | The required header is missing. |
400 | SignatureNonceUsed | Specified signature nonce was used already. | The specified signature has been used. |
400 | SignatureNotMatch | Specified signature is not matched with our calculation. | The specified signature does not match with the AccessKey ID or AccessKey secret. |
400 | UnsupportedAction | The requested action '%s' is not supported. Please check. | The operation is not supported. |
400 | UnsupportedAPIVersion | The requested API version '%s' is not supported yet. Please check. | The API version is not supported. |
403 | ForbiddenAccessDenied | Request was denied due to isolation policy. | The request is denied by the isolation policy. |
403 | ForbiddenAccessKeyDisabled | The Access Key is disabled. | The specified AccessKey ID is invalid. |
403 | ForbiddenProductDisabled | The target product is not enabled, try to enable it using web console or OpenAPI first. | The service is not activated. Activate the service by using the Alibaba Cloud Management Console or API that corresponds to the service. |
403 | InvalidAccessKeyID | Invalid access key ID '%s'. | The specified AccessKey ID is invalid. |
403 | InvalidAccessKeyIDInactive | Specified access key is disabled. | The AccessKey pair is disabled. |
403 | UnsupportedSignatureMethod | This signature method is not supported. | The signature method is not supported. |
403 | UnsupportedSignatureType | This signature type is not supported. | The signature type is not supported. |
404 | InvalidAccessKeyIDNotFound | Specified access key is not found. | The AccessKey pair does not exist. |
412 | PreconditionFailed | The resource to be modified has been changed. | Resource update failed. The resource may have been modified. |
415 | UnsupportedMediaType | The content type must be 'application/x-www-form-urlencoded'. | The content type is invalid. |
Common errors and solutions
Error | Cause | Solution |
QuotaExhausted.CU | The number of requests to the API exceeds the CU limit for the project. | The default CU limit is 10. To fix this error, control the frequency of client requests. |
SDK.InvalidRegionId | The region ID is invalid. | Make sure that a correct region is specified and the latest version of the SDK is used. For more information about the regions where IMM is available, see Limits. |
Throttling.Api | The frequency of requests to the API exceeds the limit and triggers request throttling. | Check whether a loop is included in your request. If yes, use the sleep function to control the frequency of requests to the API. After the period of throttling ends, requests can be made again. |
Throttling.User | The frequency of requests to the API exceeds the traffic throttling limit for the user. | Check whether a loop is included in your request. If yes, use the sleep function to control the frequency of requests to the API. After the period of throttling ends, requests can be made again. |