OBS Server-Side Error Codes (SDK for C)
If the OBS server encounters an error when processing a request, a response containing the error code and error description is returned. The following table lists details about each error code and HTTP status code:
HTTP Status Code | Error Code | Error Message | Solution |
|---|---|---|---|
301 Moved Permanently | PermanentRedirect | The requested bucket has been permanently redirected to a new address. All future requests must be sent to the new address. | Send the request to the returned redirection address. |
301 Moved Permanently | WebsiteRedirect | The website request lacks bucketName. | Put the bucket name in the request and try again. |
307 Moved Temporarily | TemporaryRedirect | Temporary redirection. If the DNS is updated, the request is redirected to the bucket. | The system automatically redirects the request, or the client needs to send the request to the redirection address. |
400 Bad Request | BadDigest | The client-specified value of Content-MD5 does not match the value received by OBS. | Check whether the MD5 value carried in the header is the same as that calculated based on the message body. |
400 Bad Request | BadDomainName | The domain name is invalid. | Use a valid domain name. |
400 Bad Request | BadRequest | Invalid request parameters. | Modify the parameter based on the error details returned in the message body. |
400 Bad Request | CustomDomainAreadyExist | The configured domain already exists. | The domain has been configured and does not need to be configured again. |
400 Bad Request | CustomDomainNotExist | The domain to be deleted does not exist. | The domain is not configured or has been deleted. You do not need to delete it. |
400 Bad Request | EntityTooLarge | The size of the object uploaded using the POST method exceeds the upper limit. | Modify the conditions specified in the upload policy or reduce the object size. |
400 Bad Request | EntityTooSmall | The size of the object uploaded using the POST method does not reach the lower limit. | Modify the conditions specified in the upload policy or increase the object size. |
400 Bad Request | IllegalLocationConstraintException | A request without Location is sent for creating a bucket in a non-default region. | Send the bucket creation request to the default region, or send the request with the Location of the non-default region. |
400 Bad Request | IncompleteBody | The request body received is incomplete due to network or other problems. | Upload the object again. |
400 Bad Request | IncorrectNumberOfFilesInPost Request | Each POST request must contain a file to be uploaded. | Carry a file to be uploaded. |
400 Bad Request | InvalidArgument | Invalid parameter. | Modify the parameter based on the error details returned in the message body. |
400 Bad Request | InvalidBucket | The bucket to be accessed does not exist. | Try another bucket name. |
400 Bad Request | InvalidBucketName | The bucket name specified in the request is invalid because it has exceeded the maximum allowed length or contains special characters that are not allowed. | Try another bucket name. |
400 Bad Request | InvalidEncryptionAlgorithmError | Incorrect encryption algorithm. The object cannot be decrypted due to incorrect encryption header carried when downloading the SSE-C encrypted object. | Carry the correct encryption header when downloading the object. |
400 Bad Request | InvalidLocationConstraint | The specified Location in the bucket creation request is invalid or does not exist. | Specify the correct Location in the bucket creation request. |
400 Bad Request | InvalidPart | One or more specified parts are not found. The parts may not be uploaded or the specified entity tags do not match those of the parts. | Specify the correct parts and entity tags. |
400 Bad Request | InvalidPartOrder | Parts are not listed in ascending order by part number. | Sort the parts in ascending order and assemble them again. |
400 Bad Request | InvalidPolicyDocument | The content of the form does not meet the conditions specified in the policy document. | Modify the policy in the form based on the error details in the message body and try again. |
400 Bad Request | InvalidRedirectLocation | Invalid redirection address. | Specify the correct address. |
400 Bad Request | InvalidRequest | Invalid request. | Modify the parameter based on the error details returned in the message body. |
400 Bad Request | InvalidRequestBody | The request body is invalid. The request requires a message body but no message body is included. | Upload the message body in the correct format. |
400 Bad Request | InvalidTargetBucketForLogging | The delivery group has no ACL permission for the target bucket. | Configure the target bucket ACL and try again. |
400 Bad Request | KeyTooLongError | The provided key is too long. | Use a shorter key. |
400 Bad Request | KMS.DisabledException | The master key is disabled in SSE-KMS. | Replace the key and try again, or contact the technical support. |
400 Bad Request | KMS.NotFoundException | The master key does not exist in SSE-KMS. | Retry with the correct master key. |
400 Bad Request | MalformedACLError | The provided XML file has syntax errors or does not meet the format requirements. | Use the correct XML format and retry. |
400 Bad Request | MalformedError | The XML format in the request is incorrect. | Use the correct XML format and retry. |
400 Bad Request | MalformedLoggingStatus | The XML format of Logging is incorrect. | Use the correct XML format and retry. |
400 Bad Request | MalformedPolicy | The bucket policy fails the check. | Modify the bucket policy based on the error details returned in the message body. |
400 Bad Request | MalformedQuotaError | The Quota XML format is incorrect. | Use the correct XML format and retry. |
400 Bad Request | MalformedXML | A configuration item is in the wrong XML format. | Use the correct XML format and retry. |
400 Bad Request | MaxMessageLengthExceeded | A message body is carried in the request for copying an object. | Remove the message body and retry. |
400 Bad Request | MetadataTooLarge | The size of the metadata header exceeds the upper limit. | Reduce the size of the metadata header. |
400 Bad Request | MissingRegion | The region information is missing in the request, and no default region is defined in the system. | Carry the region information in the request. |
400 Bad Request | MissingRequestBodyError | An empty XML file is sent in a request. | Provide the correct XML file. |
400 Bad Request | MissingRequiredHeader | A required header is missing in the request. | Provide required headers. |
400 Bad Request | MissingSecurityHeader | A required header is missing in the request. | Provide required headers. |
400 Bad Request | TooManyBuckets | You have attempted to create more buckets than allowed. | Delete some buckets and try again. |
400 Bad Request | TooManyCustomDomains | The number of user domains exceeds the upper limit. | Delete some user domains and try again. |
400 Bad Request | TooManyWrongSignature | The request is rejected due to too many signature errors. | Use the correct AK and try again. |
400 Bad Request | UnexpectedContent | The request requires a message body, which is not carried by the client. Or the request does not require a message body but the client carried one. | Try again according to the instruction. |
400 Bad Request | UserKeyMustBeSpecified | This operation is only available to some users. | Contact the technical support. |
403 Forbidden | AccessDenied | Access is denied because the request does not carry a date header or the header format is incorrect. | Provide a correct date header in the request. |
403 Forbidden | AccessForbidden | Insufficient permissions. No CORS rule is configured for the bucket, or the CORS rule is not matched. | Modify the CORS configuration of the bucket or send the OPTIONS request that matches the CORS configuration of the bucket. |
403 Forbidden | AllAccessDisabled | You have no permission to perform the operation. The bucket name is forbidden. | Try another bucket name. |
403 Forbidden | DeregisterUserId | The user has been deregistered. | Top up the account or register a new account. |
403 Forbidden | InArrearOrInsufficientBalance | The user account is in arrears, or the account balance insufficient. | Top up the account. |
403 Forbidden | InsufficientStorageSpace | Insufficient storage space. | If the quota is exceeded, increase the quota or delete some objects. |
403 Forbidden | InvalidAccessKeyId | The access key ID provided by the customer does not exist in the system. | Provide the correct access key ID. |
403 Forbidden | NotSignedUp | You have not registered with the system. | Register with OBS. |
403 Forbidden | RequestTimeTooSkewed | The request time and the server time differ a lot. | Check whether there is a large difference between the client time and the current time. |
403 Forbidden | SignatureDoesNotMatch | The provided signature does not match the signature calculated by OBS. | Check your secret access key and signature calculation method. |
403 Forbidden | Unauthorized | You have not been authenticated in real name. | Complete real-name authentication and try again. |
404 Not Found | NoSuchBucket | The specified bucket does not exist. | Create a bucket and perform the operation again. |
404 Not Found | NoSuchBucketPolicy | No bucket policy exists. | Configure a bucket policy. |
404 Not Found | NoSuchCORSConfiguration | No CORS configuration exists. | Configure CORS first. |
404 Not Found | NoSuchCustomDomain | The requested custom domain does not exist. | Set a custom domain first. |
404 Not Found | NoSuchKey | The specified key does not exist. | Upload an object first. |
404 Not Found | NoSuchLifecycleConfiguration | The requested lifecycle rule does not exist. | Configure a lifecycle rule first. |
404 Not Found | NoSuchUpload | The specified multipart upload does not exist. The upload ID does not exist or the multipart upload has been aborted or completed. | Use the existing part or reinitialize the part. |
404 Not Found | NoSuchVersion | The specified version ID does not match any existing version. | Use a correct version ID. |
404 Not Found | NoSuchWebsiteConfiguration | The requested website does not exist. | Configure the website first. |
405 Method Not Allowed | MethodNotAllowed | The specified method is not allowed against the requested resource. The message "Specified method is not supported." is returned. | The method is not allowed. |
408 Request Timeout | RequestTimeout | No read or write operation is performed within the timeout period of the socket connection between the user and the server. | Check the network and try again, or contact technical support. |
409 Conflict | BucketAlreadyExists | The requested bucket name already exists. The bucket namespace is shared by all users of OBS. Select another name and retry. | Try another bucket name. |
409 Conflict | BucketAlreadyOwnedByYou | You already have a bucket with the same name. | You do not need to create this bucket again. |
409 Conflict | BucketNotEmpty | The bucket that you tried to delete is not empty. | Delete the objects in the bucket and then delete the bucket. |
409 Conflict | InvalidBucketState | Invalid bucket status. After cross-region replication is configured, bucket versioning cannot be disabled. | Keep bucket versioning enabled or disable cross-region replication. |
409 Conflict | OperationAborted | A conflicting operation is being performed on this resource. Try again later. | Try again later. |
409 Conflict | ServiceNotSupported | The request method is not supported by the server. | Not supported by the server. Contact the technical support. |
411 Length Required | MissingContentLength | The HTTP header Content-Length is not provided. | Provide the Content-Length header. |
412 Precondition Failed | PreconditionFailed | At least one of the specified preconditions is not met. | Modify the request based on Condition in the returned message body. |
416 Client Requested Range Not Satisfiable | InvalidRange | The requested range cannot be obtained. | Replace the range value and try again. |
500 Internal Server Error | InternalError | An internal error occurs. Retry later. | Contact the technical support. |
501 Not Implemented | ServiceNotImplemented | The request method is not implemented by the server. | Not supported currently. Contact the technical support. |
503 Service Unavailable | ServiceUnavailable | The server is overloaded or has internal errors. | Try again later or contact the technical support. |
503 Service Unavailable | SlowDown | Too frequent requests. Reduce your request frequency. | Too frequent requests. Reduce your request frequency. |
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.

