Error handling

Updated at:

Error response format

If an error occurs while PDS is processing a request, the software development kit (SDK) returns a response in the following format:

{
  "Message": "The input parameter file_id is not valid.",
  "RequestId": "772328B2-E5F4-453C-9C23-CCCCCCCC",
  "Code": "InvalidParameter"
}

The HTTP status code also changes accordingly:

  • Code: The error code that indicates the type of error.

  • Message: The error message that provides details about the cause and solution.

  • RequestId: The unique ID of the request. Note: For API calls, this parameter is in the HTTP header: x-ca-request-id.

In some scenarios, the gateway layer reports an error. The error response has the following format:

x-ca-error-code: D504TO
x-ca-error-message: timeout
x-ca-request-id: 772328B1-E5F4-453C-9C23-CCCCCCCC

Where:

  • x-ca-error-code: The error code that indicates the type of error.

  • x-ca-error-message: The error message that provides details about the cause and solution.

  • x-ca-request-id: The unique ID of the request.

Common error codes

The following table describes the common error codes that may occur. Note:

  • In an actual response, {parameter_name} corresponds to the field name and {resource_name} corresponds to the resource type.

  • The HTTP Status Code column shows the HTTP status code of the response.

  • The information in the Message column may differ slightly from the actual response because the response provides more specific error information.

HTTP Status Code

Code

Message

400

InvalidParameter

The input parameter {parameter_name} is not valid.

400

InvalidParameterEmpty

The input parameter {parameter_name} is empty.

400

InvalidParameterWrongFormat

The input parameter {parameter_name} has invalid format.

400

InvalidRequestJSONFormat

The input parameter {parameter_name} is invalid Json format.

400

InvalidParameterNotSupported

The input parameter {parameter_name} is not supported.

400

InvalidParameterMissing

The input parameter {parameter_name} is missing.

400

InvalidParameterNotMatch

The input parameter {parameter_name} doesn’t match.

400

InvalidParameterOutOfRange

The input parameter {parameter_name} doesn’t match the limitation.

400

InvalidParameterExpired

The input parameter {parameter_name} is expired.

400

QuotaExhausted

The resource {resource_name} has exceeded the limit.

400

InvalidResource

The resource {resource_name} is not valid.

400

NotEmpty

The resource {resource_name} is not empty.

404

InvalidResourceIsEmpty

The resource {resource_name} is empty.

400

InvalidResourceUnsupported

The resource {resource_name} is not supported.

404

NotFound

The resource {resource_name} cannot be found.

400

AlreadyExist

The resource {resource_name} has already exists.

403

Forbidden

User not authorized to operate on the specified APIs.

403

ForbiddenNoPermission

No Permission to access resource {resource_name}.

403

ForbiddenAccountNotFound

The specified account does not exist.

403

ForbiddenAccountInDebt

The specified account is in debt.

403

ForbiddenServiceRole

Cannot access specified service role.

403

ForbiddenRiskControl

This operation is forbidden by Alibaba Cloud RiskControl system.

403

ForbiddenFileInTheRecycleBin

This operation is forbidden for file in the recycle bin.

400

StateConflict

User operation is not valid. Please try again later.

500

InternalError

The request has been failed due to some unknown error. Please try again later.

405

HTTPMethodNotAllowed

The request http method is not supported for this resource. Please refer to document.

503

ServiceUnavailable

The request has failed due to a temporary failure of the server. Please try again later.

400

Throttling

The operation is blocked due to throttling control.

400

IncorrectStatus

The current status does not support this operation.

400

InvalidHeader

Header {header_name} is not valid.

400

SignatureDoesNotMatch

SignatureDoesNotMatch.

400

DriveRelativePathNested

The input parameter relative_path nested inside of another relative_path: {path}.

400

Sha1Conflict

Find multiple objects of the same sha1.

400

ReadBodyError

Read body error.


If you have any questions, contact us.