Last update:2025-08-18 15:46:38
When you send a request to the WOS service and encounter an error, the response will include detailed error codes and descriptive messages to help you locate and troubleshoot issues efficiently.
| Situation | HTTP Status Code | Error Code | Message |
|---|---|---|---|
| Invalid value in the Host header | 403 Forbidden | InvalidURI | Couldn’t parse the specified URI. |
| Missing authorization header | 403 Forbidden | AccessDenied | Access Denied |
| Signature includes a valid date but header lacks a Date or Date is invalid | 403 Forbidden | AccessDenied | Authentication requires a valid Date or x-wos-date header |
| Signature mismatch Examples: 1. Date is missing or invalid in signature, but present in the header 2. Both signature and header lack Date or use an invalid value 3. Date included in signature, but header uses x-amz-date 4. content-type in header and signature differ |
403 Forbidden | SignatureDoesNotMatch | The request signature we calculated does not match the signature you provided. Check your key and signing method. |
| Credential date error | 400 Bad Request | InvalidArgument | Invalid credential date. Date is not the same as x-wos-date. |
| Incorrect regionName | 400 Bad Request | AuthorizationHeaderMalformed | The authorization header is malformed; the region ‘ap-northeast-1’ is wrong; expecting ‘ap-south-1’ |
| Access Key (AK) missing in authorization | 400 Bad Request | AuthorizationHeaderMalformed | The authorization header is malformed; a non-empty Access Key (AKID) must be provided in the credential. |
| Access Key (AK) is invalid or does not exist in CDNetworks Object Storage | 403 Forbidden | InvalidAccessKeyId | The Access Key Id you provided does not exist in our records. |
| Signature missing from authorization | 400 Bad Request | InvalidArgument | Authorization header is invalid. Expected AccessKeyId:signature |
| Invalid signature algorithm; only WOS-HMAC-SHA256 (case-sensitive and uppercase) supported | 400 Bad Request | InvalidArgument | Only AWS4-HMAC-SHA256 is supported |
| Authorization header missing or incorrect | 403 Forbidden | AccessDenied | Access Denied |
| AK/SK mismatch or unauthorized sub-account operation | 403 Forbidden | AccessDenied | Access Denied |
| Expired credentials | 400 Bad Request | ExpiredToken | The provided token has expired. |
| No service order enabled | 403 Forbidden | AccessDenied | Standard storage service in CHINA not enabled |
| Bucket is suspended, invalid, or deleted | 409 Conflict | InvalidBucketState | The request is not valid with the current state of the bucket. |
| Account disabled | 403 Forbidden | AccountProblem | There is a problem with your account that prevents the operation from completing successfully. |
| Date or x-wos-date header invalid format | 400 Bad Request | InvalidArgument | XXX must be formatted via ISO8601 Long format |
| Invalid URI | 400 Bad Request | InvalidURI | Couldn’t parse the specified URI. |
| Malformed XML | 400 Bad Request | MalformedXML | The XML you provided was not well-formed or did not validate against our published schema. |
| Missing request body | 400 Bad Request | MissingRequestBodyError | Request body is empty. |
| Content-MD5 mismatch | 400 Bad Request | BadDigest | The Content-MD5 you specified did not match what we received. |
| Invalid Content-MD5 | 400 Bad Request | InvalidDigest | The Content-MD5 you specified is not valid. |
| Bucket does not exist | 404 Not Found | NoSuchBucket | The specified bucket does not exist. |
| Object does not exist | 404 Not Found | NoSuchKey | The specified key does not exist. |
| Internal server error | 500 Internal Error | InternalError | We encountered an internal error. Please try again. |
| Request timeout | 400 Bad Request | RequestTimeout | Your socket connection to the server was not read from or written to within the timeout period. |
| Client’s local time and OSS server time differ by over 15 minutes | 403 Forbidden | RequestTimeTooSkewed | The difference between the request time and the server’s time is too large. |
| max-uploads parameter is negative | 400 Bad Request | InvalidArgument | Argument maxUploads must be an integer between 0 and 1000 |
| max-uploads is not an integer | 400 Bad Request | InvalidArgument | Provided max-uploads not an integer or within integer range |
| max-uploads greater than 1000 | 400 Bad Request | InvalidArgument | Argument maxUploads must be an integer between 0 and 1000 |
| max-parts value not between 1 and 1000 or not an integer | 400 Bad Request | InvalidArgument | Argument maxParts must be an integer between 0 and 1000 / Provided maxParts not an integer or within integer range |
| Invalid Content-MD5 | 400 Bad Request | InvalidDigest | The Content-MD5 you specified is not valid. |
| Content-MD5 and actual file MD5 mismatch | 400 Bad Request | BadDigest | The Content-MD5 you specified did not match what we received. |
| POST request missing file content | 400 Bad Request | InvalidArgument | POST requires exactly one file upload per request. |
| Key (object name) not specified | 400 Bad Request | InvalidArgument | Bucket POST must contain a field named ‘key’. If it is specified, please check the order of the fields. |
| POST upload Content-Type must be multipart/form-data | 400 Bad Request | InvalidArgument | Content-Type of Bucket Post must be multipart/form-data |
| File size exceeds 5 GB | 400 Bad Request | MaxPostPreDataLengthExceededError | Your POST request fields preceding the upload file were too large. |
| uploadId does not exist for multipart upload | 404 Not Found | NoSuchUpload | The specified upload does not exist. The upload ID may be invalid, or the upload may have been aborted or completed. |
| Invalid ETag in CompleteMultipartUpload | 400 Bad Request | InvalidPart | One or more of the specified parts could not be found. The part may not have been uploaded, or the specified entity tag may not match the part’s entity tag. |
| Missing part information for multipart combine | 400 Bad Request | InvalidRequest | You must specify at least one part. |
| max-keys for GetBucket must be integer between 0 and 2,147,483,647 | 400 Bad Request | InvalidArgument | Argument maxKeys must be an integer between 0 and 2147483647. |
| max-keys for GetBucket must be a positive integer | 400 Bad Request | InvalidArgument | Provided max-keys not an integer or within integer range. |
| format parameter is incorrect or missing | 400 | InvalidArgument | The format param submitted is incorrect. |
| Invalid parameter name (other than format) | 400 | InvalidArgument | The xxx param submitted is incorrect. |
| Invalid parameter value (other than format) | 400 | InvalidArgument | Property xxx invalid, the value is abc not match abcde. |
| Target file already exists during non-overwrite tasks (such as unzipping) | 409 Conflict | InvalidArgument | Target file already exists. |
When an error occurs, the response header will include:
Content-Type: application/xml
A corresponding 3xx, 4xx, or 5xx HTTP status code
Error response body
The response body will provide details about the error. The following example demonstrates the common structure of a REST error response:
<?xml version="1.0" encoding="UTF-8"?>
<Error>
<Code>NoSuchKey</Code>
<Message>The resource you requested does not exist</Message>
<Resource>/example-bucket/object</Resource>
<RequestId>001B21A61C6C0000013402C4616D5285</RequestId>
</Error>