> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cashea.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Actualizar productos (masivo)

> Actualiza uno o varios productos de forma asíncrona, identificados por SKU

Actualiza uno o varios productos de forma **asíncrona**, identificándolos por `sku`. Encola un job y responde `202` con un `jobId`; el resultado se consulta con [`GET /v2/inventory/jobs/{jobId}`](https://docs.cashea.app/apis/inventory/get-job).

Es una **actualización parcial**: solo se aplican los campos presentes en cada ítem, el resto queda intacto. El único campo obligatorio es `sku`.

> [!WARNING]
>
> **Campos que no se pueden actualizar por esta vía:** `categoryUuid`, `brand`, `model` y `commercialBrands`. Se definen al crear el producto; enviarlos devuelve `400`.

> [!NOTE]
>
> **Límites:** entre 1 y 1.000 productos por request, sin `sku` repetidos dentro del mismo body.

## Authorization

**Authorization** `string` *required*

Formato: `ApiKey TU_API_KEY`

## Body Parameters

**products** `object[]` *required*

Lista de productos a actualizar.

**producto**

**sku** `string` *required*

Identifica el producto a actualizar (1–64 caracteres).

**title** `string`

Título (máx. 256 caracteres).

**description** `string`

Descripción (máx. 5000 caracteres).

**price** `number`

Precio.

**condition** `string`

Valores permitidos: `NEW` (nuevo), `USED` (usado), `REFURBISHED` (reacondicionado).

**digital** `boolean`

Si es digital, `shippable` debe ser `false`.

**shippable** `boolean`

Si es enviable.

**weight** `number`

Peso en kilogramos (kg).

**height** `number`

Altura en metros.

**width** `number`

Ancho en metros.

**length** `number`

Largo en metros.

**warranty** `integer`

Garantía en días.

**stock** `integer`

Unidades disponibles.

**bestInstallmentPlan** `integer`

**Máximo** de cuotas: `3`, `6`, `9` o `12`.

**status** `boolean`

`true`: el producto aparece en el buscador del marketplace. `false`: queda cargado, pero no aparece en el buscador.

**priceAfterDiscount** `number`

Precio con descuento (menor a `price`).

**discountStartDate** `string`

Formato ISO 8601. Vigencia del descuento.

**discountExpirationDate** `string`

Formato ISO 8601. Debe ser posterior a `discountStartDate`.

**clearDiscount** `boolean`

`true` elimina el descuento vigente. **No combinable** con `priceAfterDiscount` ni con las fechas de descuento.

**images** `string[]`

1 a 5 URLs válidas y únicas. Una lista no vacía **reemplaza** las imágenes actuales; una lista vacía u omitida no cambia nada.

**attributes** `object[]`

Pares `attributeId` / `valueId` de la categoría del producto. Una lista no vacía **reemplaza** los atributos; una lista vacía u omitida no cambia nada.

## Response

**data** `object`

**job**

**jobId** `string`

ID del job. Se usa para consultar el resultado con [`GET /v2/inventory/jobs/{jobId}`](https://docs.cashea.app/apis/inventory/get-job).

**status** `string`

Estado inicial del job: `PENDING`.

## Errors

La respuesta `202` solo confirma que el job se encoló. **Los fallos por producto no llegan como error HTTP:** se consultan con [`GET /v2/inventory/jobs/{jobId}`](https://docs.cashea.app/apis/inventory/get-job).

| Código | Descripción |
| - | - |
| `400` | Body inválido. Por ejemplo, enviar `categoryUuid`, `brand`, `model` o `commercialBrands`, que no se pueden actualizar. |

```bash cURL theme={null}
curl --request POST \
  --url https://sandbox.external.cashea.app/v2/inventory/products/bulk-update/async \
  --header 'Authorization: ApiKey TU_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
    "products": [
      { "sku": "TEST-SKU-00112", "price": 459.90, "stock": 30 },
      { "sku": "TEST-SKU-00113", "bestInstallmentPlan": 12, "clearDiscount": true }
    ]
  }'
```

```json Ejemplo 202 theme={null}
{
  "data": {
    "jobId": "b2f6e8a0-c5d3-4f0a-9c8d-1e2f3a4b5c6d",
    "status": "PENDING"
  }
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.