# Матриця повторів і завершення для Cloud Storage

Політика повторів, ідемпотентності та завершення для 24 операцій Cloud Storage. З них 12 документують бізнес-коди помилок, специфічні для ендпоінта.

> Для операцій, що змінюють стан, тайм-аут HTTP означає невідомий результат, а не доказ невдачі. Перед повтором запитайте поточний стан.


Визначення політик та інші продукти див. у [Матриці повторів ендпоінтів](/uk/api-reference/getting-started/endpoint-behavior), машинно-читну версію — у [Маніфесті поведінки операцій](/assets/operation-behavior.c7be57979902d535863b8d6a0eef0e3fb4768f96d388fa815ab123af6ce6038f.ec0bf2e0.yaml).

## Cloud Storage Local API

| Операція | Політика повторів | Ідемпотентність | Завершення / відновлення |
|  --- | --- | --- | --- |
| `GET /api/cloudstorage/info``queryCloudStorageInfoLocal` | Безпечно з обмеженою експоненційною затримкою та дрижанням. | Лише читання; повторні запити не повинні змінювати стан ресурсу. | Відповідь — єдиний задокументований сигнал завершення; асинхронний контракт не визначено. Задокументовані бізнес-помилки: `39001`. |
| `POST /api/cloudstorage/file/page``pageCloudStorageFilesLocal` | Безпечно з обмеженою експоненційною затримкою та дрижанням. | Лише читання; повторні запити не повинні змінювати стан ресурсу. | Відповідь — єдиний задокументований сигнал завершення; асинхронний контракт не визначено. Бізнес-помилки, специфічні для ендпоінта, не задокументовані; використовуйте загальний контракт помилок. |
| `POST /api/cloudstorage/upload/init``batchRequestCloudStoragePresignedUploadUrlsLocal` | Не повторюйте автоматично, якщо документація ендпоінта не каже, що це безпечно. | Публічних гарантій ідемпотентності не задокументовано. | Завантажте кожен об'єкт за його попередньо підписаним URL, потім викличте POST /cloudstorage/upload/complete. Задокументовані бізнес-помилки: `39001`, `39037`, `39044`, `39045`, `39047`, `39050`, `39051`. |
| `POST /api/cloudstorage/upload/complete``confirmCloudStorageUploadCompleteLocal` | Не повторюйте автоматично; спершу з'ясуйте, чи був створений ресурс, завантаження або задача. | Публічний контракт ключа ідемпотентності не задокументований. | Відповідь — єдиний задокументований сигнал завершення; асинхронний контракт не визначено. Задокументовані бізнес-помилки: `39001`, `39011`, `39014`, `39041`, `39046`, `39047`. |
| `POST /api/cloudstorage/file/delete/batch``batchDeleteCloudStorageFilesLocal` | Після тайм-ауту або збою передавання запитайте поточний стан перед повтором. | Результат міг уже застосуватися; повторне виконання не ідемпотентне за контрактом. | Відповідь — єдиний задокументований сигнал завершення; асинхронний контракт не визначено. Задокументовані бізнес-помилки: `39011`. |
| `POST /api/cloudstorage/file/tag/set``setCloudStorageFileTagsLocal` | Після тайм-ауту або збою передавання запитайте поточний стан перед повтором. | Результат міг уже застосуватися; повторне виконання не ідемпотентне за контрактом. | Відповідь — єдиний задокументований сигнал завершення; асинхронний контракт не визначено. Задокументовані бізнес-помилки: `39011`, `39048`, `39049`. |
| `POST /api/cloudstorage/file/tag/add``addCloudStorageFileTagsLocal` | Не повторюйте автоматично; спершу з'ясуйте, чи був створений ресурс, завантаження або задача. | Публічний контракт ключа ідемпотентності не задокументований. | Відповідь — єдиний задокументований сигнал завершення; асинхронний контракт не визначено. Задокументовані бізнес-помилки: `39011`, `39048`, `39049`. |
| `POST /api/cloudstorage/file/tag/query``queryCloudStorageFileTagsLocal` | Безпечно з обмеженою експоненційною затримкою та дрижанням. | Лише читання; повторні запити не повинні змінювати стан ресурсу. | Відповідь — єдиний задокументований сигнал завершення; асинхронний контракт не визначено. Бізнес-помилки, специфічні для ендпоінта, не задокументовані; використовуйте загальний контракт помилок. |
| `GET /api/cloudstorage/tag/all``queryAllCloudStorageFileTagsLocal` | Безпечно з обмеженою експоненційною затримкою та дрижанням. | Лише читання; повторні запити не повинні змінювати стан ресурсу. | Відповідь — єдиний задокументований сигнал завершення; асинхронний контракт не визначено. Бізнес-помилки, специфічні для ендпоінта, не задокументовані; використовуйте загальний контракт помилок. |
| `POST /api/cloudstorage/tag/create``createCloudStorageFileTagLocal` | Не повторюйте автоматично; спершу з'ясуйте, чи був створений ресурс, завантаження або задача. | Публічний контракт ключа ідемпотентності не задокументований. | Відповідь — єдиний задокументований сигнал завершення; асинхронний контракт не визначено. Бізнес-помилки, специфічні для ендпоінта, не задокументовані; використовуйте загальний контракт помилок. |
| `POST /api/cloudstorage/tag/edit``editCloudStorageFileTagLocal` | Після тайм-ауту або збою передавання запитайте поточний стан перед повтором. | Результат міг уже застосуватися; повторне виконання не ідемпотентне за контрактом. | Відповідь — єдиний задокументований сигнал завершення; асинхронний контракт не визначено. Бізнес-помилки, специфічні для ендпоінта, не задокументовані; використовуйте загальний контракт помилок. |
| `POST /api/cloudstorage/tag/delete/batch``deleteCloudStorageFileTagsLocal` | Після тайм-ауту або збою передавання запитайте поточний стан перед повтором. | Результат міг уже застосуватися; повторне виконання не ідемпотентне за контрактом. | Відповідь — єдиний задокументований сигнал завершення; асинхронний контракт не визначено. Бізнес-помилки, специфічні для ендпоінта, не задокументовані; використовуйте загальний контракт помилок. |


## Cloud Storage Open API

| Операція | Політика повторів | Ідемпотентність | Завершення / відновлення |
|  --- | --- | --- | --- |
| `GET /cloudstorage/info``queryCloudStorageInfo` | Безпечно з обмеженою експоненційною затримкою та дрижанням. | Лише читання; повторні запити не повинні змінювати стан ресурсу. | Відповідь — єдиний задокументований сигнал завершення; асинхронний контракт не визначено. Задокументовані бізнес-помилки: `39001`. |
| `POST /cloudstorage/file/page``pageCloudStorageFiles` | Безпечно з обмеженою експоненційною затримкою та дрижанням. | Лише читання; повторні запити не повинні змінювати стан ресурсу. | Відповідь — єдиний задокументований сигнал завершення; асинхронний контракт не визначено. Бізнес-помилки, специфічні для ендпоінта, не задокументовані; використовуйте загальний контракт помилок. |
| `POST /cloudstorage/upload/init``batchRequestCloudStoragePresignedUploadUrls` | Не повторюйте автоматично, якщо документація ендпоінта не каже, що це безпечно. | Публічних гарантій ідемпотентності не задокументовано. | Завантажте кожен об'єкт за його попередньо підписаним URL, потім викличте POST /cloudstorage/upload/complete. Задокументовані бізнес-помилки: `39001`, `39037`, `39044`, `39045`, `39047`, `39050`, `39051`. |
| `POST /cloudstorage/upload/complete``confirmCloudStorageUploadComplete` | Не повторюйте автоматично; спершу з'ясуйте, чи був створений ресурс, завантаження або задача. | Публічний контракт ключа ідемпотентності не задокументований. | Відповідь — єдиний задокументований сигнал завершення; асинхронний контракт не визначено. Задокументовані бізнес-помилки: `39001`, `39011`, `39014`, `39041`, `39046`, `39047`. |
| `POST /cloudstorage/file/delete/batch``batchDeleteCloudStorageFiles` | Після тайм-ауту або збою передавання запитайте поточний стан перед повтором. | Результат міг уже застосуватися; повторне виконання не ідемпотентне за контрактом. | Відповідь — єдиний задокументований сигнал завершення; асинхронний контракт не визначено. Задокументовані бізнес-помилки: `39011`. |
| `POST /cloudstorage/file/tag/set``setCloudStorageFileTags` | Після тайм-ауту або збою передавання запитайте поточний стан перед повтором. | Результат міг уже застосуватися; повторне виконання не ідемпотентне за контрактом. | Відповідь — єдиний задокументований сигнал завершення; асинхронний контракт не визначено. Задокументовані бізнес-помилки: `39011`, `39048`, `39049`. |
| `POST /cloudstorage/file/tag/add``addCloudStorageFileTags` | Не повторюйте автоматично; спершу з'ясуйте, чи був створений ресурс, завантаження або задача. | Публічний контракт ключа ідемпотентності не задокументований. | Відповідь — єдиний задокументований сигнал завершення; асинхронний контракт не визначено. Задокументовані бізнес-помилки: `39011`, `39048`, `39049`. |
| `POST /cloudstorage/file/tag/query``queryCloudStorageFileTags` | Безпечно з обмеженою експоненційною затримкою та дрижанням. | Лише читання; повторні запити не повинні змінювати стан ресурсу. | Відповідь — єдиний задокументований сигнал завершення; асинхронний контракт не визначено. Бізнес-помилки, специфічні для ендпоінта, не задокументовані; використовуйте загальний контракт помилок. |
| `GET /cloudstorage/tag/all``queryAllCloudStorageFileTags` | Безпечно з обмеженою експоненційною затримкою та дрижанням. | Лише читання; повторні запити не повинні змінювати стан ресурсу. | Відповідь — єдиний задокументований сигнал завершення; асинхронний контракт не визначено. Бізнес-помилки, специфічні для ендпоінта, не задокументовані; використовуйте загальний контракт помилок. |
| `POST /cloudstorage/tag/create``createCloudStorageFileTag` | Не повторюйте автоматично; спершу з'ясуйте, чи був створений ресурс, завантаження або задача. | Публічний контракт ключа ідемпотентності не задокументований. | Відповідь — єдиний задокументований сигнал завершення; асинхронний контракт не визначено. Бізнес-помилки, специфічні для ендпоінта, не задокументовані; використовуйте загальний контракт помилок. |
| `POST /cloudstorage/tag/edit``editCloudStorageFileTag` | Після тайм-ауту або збою передавання запитайте поточний стан перед повтором. | Результат міг уже застосуватися; повторне виконання не ідемпотентне за контрактом. | Відповідь — єдиний задокументований сигнал завершення; асинхронний контракт не визначено. Бізнес-помилки, специфічні для ендпоінта, не задокументовані; використовуйте загальний контракт помилок. |
| `POST /cloudstorage/tag/delete/batch``deleteCloudStorageFileTags` | Після тайм-ауту або збою передавання запитайте поточний стан перед повтором. | Результат міг уже застосуватися; повторне виконання не ідемпотентне за контрактом. | Відповідь — єдиний задокументований сигнал завершення; асинхронний контракт не визначено. Бізнес-помилки, специфічні для ендпоінта, не задокументовані; використовуйте загальний контракт помилок. |