---
title: "items__updateItem"
method: POST
path: "/tools/items__updateItem"
tags: ["Items"]
---

# items__updateItem

`POST /tools/items__updateItem`

Actualiza los datos de un ítem existente. Solo enviar los campos que cambiarán.

> ⚠️ **Advertencia para `type=variantParent`:**
> - Enviar `variantAttributes` **reemplaza TODOS** los atributos existentes del ítem padre.
> - Enviar `itemVariants` **reemplaza TODAS** las variantes existentes (operación destructiva).
> - **Límite:** El producto cartesiano de opciones en `variantAttributes` no puede superar **100 combinaciones**. El servidor rechazará el request si se supera este límite.

## Request body

- object
  - `id` string, required — ID del ítem a actualizar.
  - `name` string
  - `price` object[]
    - `price` number
    - `idPriceList` integer
  - `description` string
  - `reference` string
  - `status` 'active' | 'inactive'
  - `unit` string
  - `itemCategory` object — Categoría del ítem (clasificación comercial).
    - `id` string
  - `category` object — Categoría contable del ítem.
    - `id` string
  - `tax` object[]
    - `id` string
  - `customFields` object[]
    - `id` string
    - `key` string
    - `value` string
  - `settingsOnShop` object — Configuración de visibilidad en tienda online.
    - `hide` boolean
  - `accounting` object — Cuentas contables del ítem.
    - `inventory` string
    - `inventariablePurchase` string
  - `inventory` object
    - `unit` string
    - `unitCost` number
    - `negativeSale` boolean
    - `warehouses` object[] — Solo aplica a type=product.
      - `id` string
      - `initialQuantity` number
      - `minQuantity` number
      - `maxQuantity` number
  - `subitems` object[] — Solo para type=kit. Reemplaza la lista de subitems del kit.
    - `item` object
      - `id` string
    - `quantity` number
    - `price` number
  - `kitWarehouse` object — Solo para type=kit. Bodega desde la cual se descuenta el kit.
    - `id` string
  - `variantAttributes` object[] — Solo para type=variantParent. **REEMPLAZA** todos los atributos existentes. El producto cartesiano de opciones no puede superar 100 combinaciones.
    - `id` string
    - `options` object[]
      - `id` string
  - `itemVariants` object[] — Solo para type=variantParent. **REEMPLAZA** todas las variantes existentes (operación destructiva). Obtener la lista actual con getItem antes de modificar.
    - `id` string
    - `status` 'active' | 'inactive'
    - `variantAttributes` object[]
      - `id` string
      - `options` object[]
        - `id` string
    - `inventory` object
      - `warehouses` object[]
        - `id` string
        - `initialQuantity` number

## Response `200`

Ítem actualizado exitosamente.

## Other responses

- `400` — Datos inválidos o límite de variantes superado.
- `401` — No autorizado

---

[API](https://skmtc.net/alegra/apis/ingresos.md) · [All operations](https://skmtc.net/alegra/apis/ingresos/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/alegra/ingresos/versions/cd52d3f68f1b/schema)
