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

Обновить цену

PATCH /v1/catalog-prices/:id

Изменяет существующую цену. Поля передаются плоско в корне JSON. Передавайте только изменяемые поля — остальные сохраняют текущие значения.

Параметры

Параметр Тип Обяз. Описание
id (path) number да Идентификатор цены

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

Поле Тип Обяз. Описание
price number нет Значение цены
currency string нет Валюта цены, например RUB. Список: GET /v1/currencies
quantityFrom number нет Нижняя граница количественного диапазона
quantityTo number нет Верхняя граница количественного диапазона

id передаётся в пути (/v1/catalog-prices/:id), в теле его передавать нельзя — он только для чтения.

Запрос с productId или catalogGroupId в теле отвечает 200, но товар и тип цены остаются прежними. Чтобы перенести цену на другой товар или тип, удалите её через DELETE /v1/catalog-prices/:id и создайте новую через POST /v1/catalog-prices.

Примеры

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

Terminal
curl -X PATCH "https://vibecode.bitrix24.tech/v1/catalog-prices/861" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "price": 1750
  }'

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

Terminal
curl -X PATCH "https://vibecode.bitrix24.tech/v1/catalog-prices/861" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "price": 1750
  }'

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

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/catalog-prices/861', {
  method: 'PATCH',
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    price: 1750,
  }),
})

const { success, data } = await res.json()
console.log('Новая цена:', data.price)

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

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/catalog-prices/861', {
  method: 'PATCH',
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    price: 1750,
  }),
})

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

Поля ответа

Поле Тип Описание
success boolean Всегда true при успехе
data object Обновлённая цена со всеми полями — Поля цены
data.id number Идентификатор цены
data.productId number ID товара
data.catalogGroupId number Тип цены
data.price number Значение цены
data.currency string Валюта цены
data.quantityFrom number | null Нижняя граница количественного диапазона
data.quantityTo number | null Верхняя граница количественного диапазона
data.priceScale number Цена в базовой валюте портала
data.extraId number | null Идентификатор наценки (catalog_extra). Устаревшее поле Битрикс24
data.timestampX string Дата изменения (ISO 8601 с указанием часового пояса)

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

JSON
{
  "success": true,
  "data": {
    "catalogGroupId": 1,
    "currency": "RUB",
    "extraId": null,
    "id": 861,
    "price": 1750,
    "priceScale": 1500,
    "productId": 7081,
    "quantityFrom": null,
    "quantityTo": null,
    "timestampX": "2026-09-16T10:03:02.000Z"
  }
}

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

422 — цена с указанным id не существует:

JSON
{
  "success": false,
  "error": {
    "code": "BITRIX_ERROR",
    "message": "Price is not exists",
    "b24Code": "0"
  }
}

Ошибки

HTTP Код Описание
422 BITRIX_ERROR Цена с указанным id не существует (Price is not exists)
422 BITRIX_ERROR Для количества больше quantityTo у товара нет цены этого типа: Invalid quantity range entry: no price is specified for quantity over <quantityTo>
400 READONLY_FIELD В теле передан id — это поле заполняется системой и не принимается при обновлении
403 SCOPE_DENIED Ключу не хватает скоупа catalog
401 TOKEN_MISSING API-ключ не имеет настроенных токенов

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

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

priceScale не пересчитывается при изменении price. При создании priceScale совпадает с price. Если обновить только price, в ответе priceScale сохранит прежнее значение.

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