# entity.item.update

URL: https://chugunov.pro/api-bitrix24/entity/items/entity-item-update/
Проверено на Битрикс24 REST API, обновлено 11.09.2026 (ревизия источника fb39d6c).
Источник: официальная документация Битрикс24 (bitrix-tools/b24-rest-docs, лицензия MIT, © Bitrix). Справочник независимый, официальной документацией не является.

Обновить элемент хранилища
Scope: `entity`
Кто может выполнять метод: пользователь с уровнем права W (запись) или X (управление) на хранилище данных

## Описание

Метод работает только в контексте [приложения](https://apidocs.bitrix24.ru/settings/app-installation/index.html).

## Параметры

- `ENTITY` `string` — необязательный. Идентификатор хранилища данных приложения. Используйте значение, которое указали при создании хранилища.
  Получить идентификатор можно методом [entity.get](https://chugunov.pro/api-bitrix24/entity/entities/entity-get/)
- `ID` `integer` — необязательный. Идентификатор элемента хранилища 
  Получить идентификатор элемента хранилища можно методом [entity.item.get](https://chugunov.pro/api-bitrix24/entity/items/entity-item-get/)
- `NAME` `string` — необязательный. Новое название элемента хранилища
- `PROPERTY_VALUES` `object` — необязательный. Значения свойств элемента в формате `{"КОД_СВОЙСТВА": значение}`.
  Список доступных кодов свойств можно получить методом [entity.item.property.get](https://chugunov.pro/api-bitrix24/entity/items/properties/entity-item-property-get/).
  Для свойств типа файл используется формат из статьи [Как загрузить файлы](https://apidocs.bitrix24.ru/api-reference/files/how-to-upload-files.html)
- `SECTION` `integer` — необязательный. Идентификатор раздела хранилища
- `DATE_ACTIVE_FROM` `datetime` — необязательный. Дата начала активности элемента
- `DATE_ACTIVE_TO` `datetime` — необязательный. Дата окончания активности элемента
- `PREVIEW_PICTURE` `file` — необязательный. Картинка анонса элемента. Формат файла — в статье [Как загрузить файлы](https://apidocs.bitrix24.ru/api-reference/files/how-to-upload-files.html).
  Если передать `false`, картинка будет удалена
- `DETAIL_PICTURE` `file` — необязательный. Детальная картинка элемента. Формат файла — в статье [Как загрузить файлы](https://apidocs.bitrix24.ru/api-reference/files/how-to-upload-files.html).
  Если передать `false`, картинка будет удалена
- `UF_` `any` — необязательный. Пользовательские поля элемента `UF_*`.
  Передаются отдельными параметрами в формате `"UF_КОД": значение`, например: `"UF_CRM_1_COLOR": "red"`, `"UF_CRM_1_SIZE": 42`

## Ответ

HTTP-статус: 200

```json
{
    "result": true,
    "time": {
        "start": 1774437094,
        "finish": 1774437094.470878,
        "duration": 0.47087788581848145,
        "processing": 0,
        "date_start": "2026-03-25T14:11:34+03:00",
        "date_finish": "2026-03-25T14:11:34+03:00",
        "operating_reset_at": 1774437694,
        "operating": 0
    }
}
```

### Возвращаемые данные

- `result` `boolean`. Результат обновления элемента (`true` — успешно)
- `time` `time`. Информация о времени выполнения запроса

## Ошибки

HTTP-статус: 400

```json
{
    "error": "ERROR_ITEM_NOT_FOUND",
    "error_description": "Item not found"
}
```

- `ERROR_ARGUMENT` — Argument 'ENTITY' is null or empty. Параметр `ENTITY` не передан или пустой после очистки
- `ERROR_ARGUMENT` — Entity code is too long. Max length is N characters.. Слишком длинное значение `ENTITY`
- `ERROR_ARGUMENT` — Argument 'ID' is null or empty. Параметр `ID` не передан или `<= 0`
- `ERROR_ARGUMENT` — Ошибки валидатора полей элемента. Переданы невалидные входные поля
- `ERROR_ENTITY_NOT_FOUND` — Entity not found. Хранилище с переданным `ENTITY` не найдено
- `ERROR_ITEM_NOT_FOUND` — Item not found. Элемент с переданным `ID` не найден в хранилище
- `ACCESS_DENIED` — Access denied!. Недостаточно прав для обновления элемента
- `ACCESS_DENIED` — Access denied! Application context required. Нет контекста приложения (`clientId`)
- `ERROR_CORE` — Internal error updating entity item. Try updating again.. Внутренняя ошибка при обновлении элемента

## Примеры запроса

### cURL (OAuth)

```bash
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"ENTITY":"dish","ID":2333,"NAME":"Hello, updated world!","PROPERTY_VALUES":{"test":33,"test1":44},"SECTION":219,"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/entity.item.update
```

### JS (TS)

```ts
// This snippet is an ES module: top-level await requires type="module" or a bundler.
// $b24 is an already-initialized SDK instance (see the SDK "Get started" guide).
import { Text } from '@bitrix24/b24jssdk'
import type { B24Frame } from '@bitrix24/b24jssdk'

declare const $b24: B24Frame

try {
  const response = await $b24.actions.v2.call.make<boolean>({
    method: 'entity.item.update',
    params: {
      ENTITY: 'dish',
      ID: 2333,
      NAME: 'Hello, updated world!',
      PROPERTY_VALUES: {
        test: 33,
        test1: 44,
      },
      SECTION: 219,
    },
    requestId: Text.getUuidRfc4122()
  })

  // The payload is available only on a successful response
  if (!response.isSuccess) {
    console.error(response.getErrorMessages().join('; '))
  } else {
    const result = response.getData()!.result
    console.info('Item updated:', result)
  }
} catch (error) {
  // Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
  console.error(error)
}
```

### JS (UMD)

```html
<!-- Load the SDK (UMD build); it is exposed as the global B24Js -->
<script src="https://unpkg.com/@bitrix24/b24jssdk@1/dist/umd/index.min.js"></script>
<script>
  async function updateEntityItem() {
    try {
      // Initialize the SDK inside a Bitrix24 frame
      const $b24 = await B24Js.initializeB24Frame()

      const response = await $b24.actions.v2.call.make({
        method: 'entity.item.update',
        params: {
          ENTITY: 'dish',
          ID: 2333,
          NAME: 'Hello, updated world!',
          PROPERTY_VALUES: {
            test: 33,
            test1: 44,
          },
          SECTION: 219,
        },
        requestId: B24Js.Text.getUuidRfc4122()
      })

      // The payload is available only on a successful response
      if (!response.isSuccess) {
        console.error(response.getErrorMessages().join('; '))
        return
      }

      const result = response.getData().result
      console.info('Item updated:', result)
    } catch (error) {
      // Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
      console.error(error)
    }
  }

  document.addEventListener('DOMContentLoaded', updateEntityItem)
</script>
```

### Python

```python
from b24pysdk.errors import BitrixAPIError, BitrixSDKException

try:
    bitrix_response = client.entity.item.update(
        entity="dish",
        bitrix_id=2333,
        name="Hello, updated world!",
        property_values={
            "test": 33,
            "test1": 44,
        },
        section=219,
    ).response
    result = bitrix_response.result
    print(result)
except BitrixAPIError as error:
    print(
        "Ошибка Bitrix API",
        f"error: {error.error}",
        f"error_description: {error.error_description}",
        sep="\n",
    )
except BitrixSDKException as error:
    print(f"Ошибка Bitrix SDK: {error.message}")
except Exception as error:
    print(f"Непредвиденная ошибка: {error}")
```

### PHP

```php
try {
    $response = $b24Service
        ->core
        ->call(
            'entity.item.update',
            [
                'ENTITY' => 'dish',
                'ID' => 2333,
                'NAME' => 'Hello, updated world!',
                'PROPERTY_VALUES' => [
                    'test' => 33,
                    'test1' => 44,
                ],
                'SECTION' => 219,
            ]
        );

    $result = $response
        ->getResponseData()
        ->getResult();

    echo '<pre>';
    print_r($result);
    echo '</pre>';

} catch (Throwable $e) {
    error_log($e->getMessage());
    echo 'Error updating entity item: ' . $e->getMessage();
}
```

### BX24.js

```js
BX24.callMethod(
    'entity.item.update',
    {
        ENTITY: 'dish',
        ID: 2333,
        NAME: 'Hello, updated world!',
        PROPERTY_VALUES: {
            test: 33,
            test1: 44,
        },
        SECTION: 219,
    },
    (result) => {
        result.error()
            ? console.error(result.error())
            : console.info(result.data())
        ;
    },
);
```

### PHP CRest

```php
require_once('crest.php');

$result = CRest::call(
    'entity.item.update',
    [
        'ENTITY' => 'dish',
        'ID' => 2333,
        'NAME' => 'Hello, updated world!',
        'PROPERTY_VALUES' => [
            'test' => 33,
            'test1' => 44,
        ],
        'SECTION' => 219,
    ]
);

echo '<PRE>';
print_r($result);
echo '</PRE>';
```

### Go

```go
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "entity.item.update", b24.Params{
	"ENTITY": "dish",
	"ID":     2333,
	"NAME":   "Hello, updated world!",
	"PROPERTY_VALUES": b24.Params{
		"test":  33,
		"test1": 44,
	},
	"SECTION": 219,
})
if err != nil {
	return fmt.Errorf("entity.item.update: %w", err)
}

var ok bool
if err := json.Unmarshal(res.Result, &ok); err != nil {
	return fmt.Errorf("разбор ответа: %w", err)
}
fmt.Println("выполнено:", ok)
```

Оригинал в официальной документации: https://apidocs.bitrix24.ru/api-reference/entity/items/entity-item-update.html
