Для AI-агентов: markdown этой страницы — /docs-content/storage/upload/multipart-abort.md индекс документации — /llms.txt

Отменить составную загрузку

POST /v1/storage/objects/multipart/abort

Отменяет незавершённую сессию составной загрузки и освобождает загруженные части. Для первой загрузки запись PENDING удаляется. При замене существующий объект и его прежнее содержимое сохраняются, очищаются только поля сессии. Состояние сессии очищается только после успешной отмены или ответа хранилища, что указанный uploadId уже отсутствует. При таймауте, 5xx, throttling или неизвестной ошибке abort сервер сохраняет сессию для повтора и возвращает 502 STORAGE_BUCKET_ERROR. Если сессией уже владеет финализация, abort возвращает 409 STORAGE_KEY_CONFLICT: повторите complete с теми же parts; зажурналированный ответ завершится локально, а неподтверждённый исход требует операторской сверки. Отменённые части восстановить невозможно.

Поля запроса (body)

Тело запроса — JSON.

Параметр Тип Обяз. По умолч. Описание
objectId string да — Идентификатор объекта, полученный из ответа /multipart/create

Примеры

curl — личный ключ

Terminal
curl -X POST https://vibecode.bitrix24.tech/v1/storage/objects/multipart/abort \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"objectId": "cmpfg012a01aco510mrr6u632"}'

curl — OAuth-приложение

Terminal
curl -X POST https://vibecode.bitrix24.tech/v1/storage/objects/multipart/abort \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"objectId": "cmpfg012a01aco510mrr6u632"}'

JavaScript — личный ключ

javascript
const res = await fetch(
  'https://vibecode.bitrix24.tech/v1/storage/objects/multipart/abort',
  {
    method: 'POST',
    headers: {
      'X-Api-Key': 'YOUR_API_KEY',
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({ objectId: 'cmpfg012a01aco510mrr6u632' }),
  }
)
const { aborted } = await res.json()
console.log('Aborted:', aborted) // true

JavaScript — OAuth-приложение

javascript
const res = await fetch(
  'https://vibecode.bitrix24.tech/v1/storage/objects/multipart/abort',
  {
    method: 'POST',
    headers: {
      'X-Api-Key': 'YOUR_APP_KEY',
      'Authorization': 'Bearer USER_SESSION_TOKEN',
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({ objectId: 'cmpfg012a01aco510mrr6u632' }),
  }
)
const { aborted } = await res.json()

Поля ответа

Поле Тип Описание
aborted boolean true при успешной отмене

Пример ответа

JSON
{
  "aborted": true
}

Пример ответа при ошибке

404 — объект не найден или сессия уже завершена:

JSON
{
  "success": false,
  "error": {
    "code": "STORAGE_OBJECT_NOT_FOUND",
    "message": "StorageObject cmpfg012a01aco510mrr6u632 not found"
  }
}

Ошибки

HTTP Код Описание
403 STORAGE_SCOPE_REQUIRED API-ключу не хватает скоупа vibe:storage
401 STORAGE_NO_AUTH_CONTEXT Запрос выполнен без авторизации
400 STORAGE_INVALID_PATH Идентификатор вызывающего содержит недопустимые символы пути
400 STORAGE_OBJECT_ID_REQUIRED Не передано поле objectId
404 STORAGE_OBJECT_NOT_FOUND Объект с указанным objectId не найден, не принадлежит текущему вызывающему или сессия уже завершена
409 STORAGE_KEY_CONFLICT Если адрес временно занят до финализации, повторите abort после освобождения. Если сессией владеет финализация, повторите complete с теми же parts: зажурналированный ответ завершится локально, а неподтверждённый исход провайдера требует операторской сверки
502 STORAGE_BUCKET_ERROR Отмена у провайдера не подтверждена, поэтому сессия сохранена. Повторите ту же операцию abort
503 STORAGE_FEATURE_DISABLED Хранилище отключено для портала
503 STORAGE_STS_UNAVAILABLE Служба выдачи временных учётных данных недоступна

Полный список общих ошибок API — Ошибки.

Известные особенности

Незавершённые сессии обрабатываются автоматически через 24 часа. Для первой загрузки строка PENDING удаляется, а для замены сохраняются существующий объект и его прежнее содержимое, но только после подтверждённой отмены у провайдера. Если /abort вернул 502 STORAGE_BUCKET_ERROR, повторяйте его: обязанность очистки и uploadId сохранены.

Смотрите также