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

Обновить складской документ

PATCH /v1/catalog-documents/:id

Изменяет поля шапки складского документа, который ещё не проведён.

Передавайте только изменяемые поля плоско в корне JSON, без обёртки fields.

Параметры

Параметр Тип Обяз. Описание
id (path) number да Идентификатор документа. Список: GET /v1/catalog-documents

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

Поле Тип Обяз. Описание
responsibleId number нет Ответственный сотрудник. Список: GET /v1/users
title string нет Название документа
docNumber string нет Номер документа
commentary string нет Комментарий
dateDocument datetime нет Дата документа
total number нет Сумма документа. Из позиций не рассчитывается: поле хранит переданное значение
siteId string нет Идентификатор сайта портала
modifiedBy number нет Сотрудник, последним изменивший документ. Список: GET /v1/users
statusBy number нет Сотрудник, последним изменивший статус проведения. Список: GET /v1/users
dateModify datetime нет Дата последнего изменения

Примеры

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

Terminal
curl -X PATCH "https://vibecode.bitrix24.tech/v1/catalog-documents/299" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Корректировка остатков — склад 11",
    "commentary": "Пересчёт после инвентаризации"
  }'

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

Terminal
curl -X PATCH "https://vibecode.bitrix24.tech/v1/catalog-documents/299" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Корректировка остатков — склад 11",
    "commentary": "Пересчёт после инвентаризации"
  }'

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

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/catalog-documents/299', {
  method: 'PATCH',
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    title: 'Корректировка остатков — склад 11',
    commentary: 'Пересчёт после инвентаризации',
  }),
})

const { success, data } = await res.json()

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

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/catalog-documents/299', {
  method: 'PATCH',
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    title: 'Корректировка остатков — склад 11',
    commentary: 'Пересчёт после инвентаризации',
  }),
})

const { success, data } = await res.json()

Поля ответа

Поле Тип Описание
success boolean true при успешном обновлении
data object Документ целиком после обновления. Все поля — Поля складского документа
data.dateModify datetime Дата изменения, ISO 8601 по UTC
meta.warnings array Приходит, только если в теле есть поле, которого нет среди полей документа. Элемент — code: "UNRECOGNIZED_WRITE_FIELD", field с именем поля и message. Объект fields на маршруте, который сам оборачивает карту полей и где схема не объявляет fields, отклоняется с 400 NESTED_FIELDS_ENVELOPE; передавайте поля плоско в корне JSON.

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

JSON
{
  "success": true,
  "data": {
    "commentary": "Пересчёт после инвентаризации",
    "createdBy": 1,
    "currency": "RUB",
    "dateCreate": "2026-10-12T13:20:16.000Z",
    "dateDocument": null,
    "dateModify": "2026-10-12T13:20:23.000Z",
    "dateStatus": "2026-10-12T13:20:16.000Z",
    "docNumber": null,
    "docType": "S",
    "id": 299,
    "modifiedBy": 1,
    "responsibleId": 1,
    "siteId": "s1",
    "status": "N",
    "statusBy": null,
    "title": "Корректировка остатков — склад 11",
    "total": null
  }
}

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

422 — документ проведён:

JSON
{
  "success": false,
  "error": {
    "code": "BITRIX_ERROR",
    "message": "Невозможно изменить проведённый документ",
    "b24Code": "0"
  }
}

Ошибки

HTTP Код Описание
404 ENTITY_NOT_FOUND Документа с таким id нет
422 BITRIX_ERROR Документ проведён — сообщение Невозможно изменить проведённый документ. Сначала отмените проведение
400 READONLY_FIELD Передано поле, которое не меняется: docType, currency, createdBy, status, id, dateCreate, dateStatus. Имя поля — в error.message
400 EMPTY_UPDATE_BODY Тело запроса пустое
400 NO_RECOGNIZED_UPDATE_FIELDS В теле нет ни одного изменяемого поля, в том числе когда поля обёрнуты в fields
400 INVALID_PARAMS id в пути — не целое неотрицательное число
400 INVALID_PARAMS Значение поля не подходит по типу: нечисловая строка в числовом поле, например "total": "abc", либо объект или массив вместо числа или строки. Имя поля — в error.message
403 WRITE_BLOCKED_READONLY_KEY Ключ работает в режиме только для чтения
403 SCOPE_DENIED API-ключ не имеет скоупа catalog
401 TOKEN_MISSING API-ключ не имеет настроенных токенов
401 MISSING_API_KEY Не передан заголовок X-Api-Key
401 INVALID_API_KEY Переданный API-ключ не найден

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

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