Retry, idempotency, and completion policy for the 24 Cloud Storage operations. 12 of them document endpoint-specific business error codes.
For state-changing operations, an HTTP timeout is an unknown outcome—not proof that the operation failed. Query current state before retrying.
See Endpoint Retry Matrix for the policy definitions and the other products, or the machine-readable Operation Behavior Manifest.
| Operation | Retry policy | Idempotency | Completion / recovery |
|---|---|---|---|
GET /api/cloudstorage/infoqueryCloudStorageInfoLocal | Safe with bounded exponential backoff and jitter. | Read-only; repeated requests should not change resource state. | The response is the only documented completion signal; no asynchronous contract is specified. Documented business errors: 39001. |
POST /api/cloudstorage/file/pagepageCloudStorageFilesLocal | Safe with bounded exponential backoff and jitter. | Read-only; repeated requests should not change resource state. | The response is the only documented completion signal; no asynchronous contract is specified. Endpoint-specific business errors are not documented; use the common error contract. |
POST /api/cloudstorage/upload/initbatchRequestCloudStoragePresignedUploadUrlsLocal | Do not retry automatically unless endpoint-specific documentation says it is safe. | No public idempotency guarantee is documented. | Upload each object to its presigned URL, then call POST /cloudstorage/upload/complete. Documented business errors: 39001, 39037, 39044, 39045, 39047, 39050, 39051. |
POST /api/cloudstorage/upload/completeconfirmCloudStorageUploadCompleteLocal | Do not retry automatically; first query whether the resource, upload, or task was created. | No public idempotency-key contract is documented. | The response is the only documented completion signal; no asynchronous contract is specified. Documented business errors: 39001, 39011, 39014, 39041, 39046, 39047. |
POST /api/cloudstorage/file/delete/batchbatchDeleteCloudStorageFilesLocal | Query current state before retrying after a timeout or transport failure. | Outcome may already have been applied; repeated execution is not contractually idempotent. | The response is the only documented completion signal; no asynchronous contract is specified. Documented business errors: 39011. |
POST /api/cloudstorage/file/tag/setsetCloudStorageFileTagsLocal | Query current state before retrying after a timeout or transport failure. | Outcome may already have been applied; repeated execution is not contractually idempotent. | The response is the only documented completion signal; no asynchronous contract is specified. Documented business errors: 39011, 39048, 39049. |
POST /api/cloudstorage/file/tag/addaddCloudStorageFileTagsLocal | Do not retry automatically; first query whether the resource, upload, or task was created. | No public idempotency-key contract is documented. | The response is the only documented completion signal; no asynchronous contract is specified. Documented business errors: 39011, 39048, 39049. |
POST /api/cloudstorage/file/tag/queryqueryCloudStorageFileTagsLocal | Safe with bounded exponential backoff and jitter. | Read-only; repeated requests should not change resource state. | The response is the only documented completion signal; no asynchronous contract is specified. Endpoint-specific business errors are not documented; use the common error contract. |
GET /api/cloudstorage/tag/allqueryAllCloudStorageFileTagsLocal | Safe with bounded exponential backoff and jitter. | Read-only; repeated requests should not change resource state. | The response is the only documented completion signal; no asynchronous contract is specified. Endpoint-specific business errors are not documented; use the common error contract. |
POST /api/cloudstorage/tag/createcreateCloudStorageFileTagLocal | Do not retry automatically; first query whether the resource, upload, or task was created. | No public idempotency-key contract is documented. | The response is the only documented completion signal; no asynchronous contract is specified. Endpoint-specific business errors are not documented; use the common error contract. |
POST /api/cloudstorage/tag/editeditCloudStorageFileTagLocal | Query current state before retrying after a timeout or transport failure. | Outcome may already have been applied; repeated execution is not contractually idempotent. | The response is the only documented completion signal; no asynchronous contract is specified. Endpoint-specific business errors are not documented; use the common error contract. |
POST /api/cloudstorage/tag/delete/batchdeleteCloudStorageFileTagsLocal | Query current state before retrying after a timeout or transport failure. | Outcome may already have been applied; repeated execution is not contractually idempotent. | The response is the only documented completion signal; no asynchronous contract is specified. Endpoint-specific business errors are not documented; use the common error contract. |
| Operation | Retry policy | Idempotency | Completion / recovery |
|---|---|---|---|
GET /cloudstorage/infoqueryCloudStorageInfo | Safe with bounded exponential backoff and jitter. | Read-only; repeated requests should not change resource state. | The response is the only documented completion signal; no asynchronous contract is specified. Documented business errors: 39001. |
POST /cloudstorage/file/pagepageCloudStorageFiles | Safe with bounded exponential backoff and jitter. | Read-only; repeated requests should not change resource state. | The response is the only documented completion signal; no asynchronous contract is specified. Endpoint-specific business errors are not documented; use the common error contract. |
POST /cloudstorage/upload/initbatchRequestCloudStoragePresignedUploadUrls | Do not retry automatically unless endpoint-specific documentation says it is safe. | No public idempotency guarantee is documented. | Upload each object to its presigned URL, then call POST /cloudstorage/upload/complete. Documented business errors: 39001, 39037, 39044, 39045, 39047, 39050, 39051. |
POST /cloudstorage/upload/completeconfirmCloudStorageUploadComplete | Do not retry automatically; first query whether the resource, upload, or task was created. | No public idempotency-key contract is documented. | The response is the only documented completion signal; no asynchronous contract is specified. Documented business errors: 39001, 39011, 39014, 39041, 39046, 39047. |
POST /cloudstorage/file/delete/batchbatchDeleteCloudStorageFiles | Query current state before retrying after a timeout or transport failure. | Outcome may already have been applied; repeated execution is not contractually idempotent. | The response is the only documented completion signal; no asynchronous contract is specified. Documented business errors: 39011. |
POST /cloudstorage/file/tag/setsetCloudStorageFileTags | Query current state before retrying after a timeout or transport failure. | Outcome may already have been applied; repeated execution is not contractually idempotent. | The response is the only documented completion signal; no asynchronous contract is specified. Documented business errors: 39011, 39048, 39049. |
POST /cloudstorage/file/tag/addaddCloudStorageFileTags | Do not retry automatically; first query whether the resource, upload, or task was created. | No public idempotency-key contract is documented. | The response is the only documented completion signal; no asynchronous contract is specified. Documented business errors: 39011, 39048, 39049. |
POST /cloudstorage/file/tag/queryqueryCloudStorageFileTags | Safe with bounded exponential backoff and jitter. | Read-only; repeated requests should not change resource state. | The response is the only documented completion signal; no asynchronous contract is specified. Endpoint-specific business errors are not documented; use the common error contract. |
GET /cloudstorage/tag/allqueryAllCloudStorageFileTags | Safe with bounded exponential backoff and jitter. | Read-only; repeated requests should not change resource state. | The response is the only documented completion signal; no asynchronous contract is specified. Endpoint-specific business errors are not documented; use the common error contract. |
POST /cloudstorage/tag/createcreateCloudStorageFileTag | Do not retry automatically; first query whether the resource, upload, or task was created. | No public idempotency-key contract is documented. | The response is the only documented completion signal; no asynchronous contract is specified. Endpoint-specific business errors are not documented; use the common error contract. |
POST /cloudstorage/tag/editeditCloudStorageFileTag | Query current state before retrying after a timeout or transport failure. | Outcome may already have been applied; repeated execution is not contractually idempotent. | The response is the only documented completion signal; no asynchronous contract is specified. Endpoint-specific business errors are not documented; use the common error contract. |
POST /cloudstorage/tag/delete/batchdeleteCloudStorageFileTags | Query current state before retrying after a timeout or transport failure. | Outcome may already have been applied; repeated execution is not contractually idempotent. | The response is the only documented completion signal; no asynchronous contract is specified. Endpoint-specific business errors are not documented; use the common error contract. |