*MCP › Referencia › Catálogo e inventario › Artículos*

# Actualizar una unidad serializada

> Cambia la ficha de UN artículo serializado: su estado, dónde está, su número de serie o su garantía.

Es lo que necesita un sistema de almacén para decir "este ha vuelto y está operativo". El coste de la unidad, la nota interna y las condiciones del subalquiler ni entran ni salen por esta API. El artículo al que pertenece lo resuelve el servidor. Devuelve el artículo serializado completo, con la misma proyección que su GET.

HERRAMIENTA `filmo_serialized_items_update` · `items:write` · 120/min · Anotación del servidor: Idempotente

## Argumentos

| Nombre | Tipo | Obligatorio | Descripción |
| --- | --- | --- | --- |
| `serializedItemId` | string | Sí | Identificador del artículo serializado. |
| `code` | string | No | Código interno de la unidad. Identifica la unidad, por lo que no puede estar vacío. |
| `serialNumber` | string | No | Número de serie del fabricante; null lo borra. |
| `status` | string | No | Estado de la unidad. `available`, `prepared`, `picked_up`, `returned`, `broken`, `archived`, `sold` |
| `active` | boolean | No | false saca la unidad del conjunto sin eliminarla. |
| `orderInfo` | string | No | Información visible en el pedido y en el albarán. |
| `providerReference` | string | No | Referencia con la que el proveedor identifica la unidad. |
| `poNumber` | string | No | Número del pedido de compra con el que entró. |
| `purchaseDate` | string<date-time> | No | Fecha de compra, en ISO 8601 con desplazamiento. |
| `warrantyExpiration` | string<date-time> | No | Fin de la garantía, en ISO 8601 con desplazamiento. |
| `spaceId` | string | No | Almacén donde se encuentra la unidad. |
| `locationId` | string | No | Ubicación dentro del almacén; null la borra. |
| `idempotencyKey` | string | No | Clave de idempotencia elegida por el cliente (se recomienda un UUID). Repetir la misma clave con los mismos argumentos en 24 h devuelve la respuesta almacenada sin volver a ejecutar; con argumentos distintos responde 422. Es la forma segura de reintentar tras un fallo de red. |
| `ifMatch` | string | No | Bloqueo optimista: el meta.etag que obtuviste de la lectura de detalle de este recurso (o "*"). Si el recurso ha cambiado desde entonces, la llamada falla con 412 precondition_failed antes de escribir nada; léelo de nuevo y reintenta. Omítelo para escribir sin condiciones. |

## Resultado

En un éxito el resultado lleva `structuredContent` con `data` y `meta`. Estos son los atributos de `data`.

| Nombre | Tipo | Descripción |
| --- | --- | --- |
| `id` | string | Identificador único de la unidad física. |
| `code` | string | Código interno de la unidad. |
| `serialNumber` | string | Número de serie del fabricante; null si no está inscrito. |
| `status` | string | Estado actual de la unidad dentro del ciclo del inventario. |
| `itemId` | string | Identificador del artículo del catálogo al que pertenece esta unidad. |
| `itemName` | string | Nombre del artículo del catálogo. |
| `itemSku` | string | SKU del artículo; null si no tiene. |
| `itemCollectionName` | string | Nombre de la colección del artículo; null si no está en ninguna. |
| `createdAt` | string<date-time> | Fecha de creación en ISO 8601 UTC; null si no consta. |
| `updatedAt` | string<date-time> | Fecha de la última modificación en ISO 8601 UTC; null si no está registrada. |

*Llamada · filmo_serialized_items_update*

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "filmo_serialized_items_update",
    "arguments": {
      "serializedItemId": "seri_8f2a1c"
    }
  }
}
```

*Resultado (generado desde el esquema)*

```json
{
  "structuredContent": {
    "data": {
      "id": "id_8f2a1c",
      "code": "<code>",
      "serialNumber": "<serialNumber>",
      "status": "<status>",
      "itemId": "item_8f2a1c",
      "itemName": "Example",
      "itemSku": "<itemSku>",
      "itemCollectionName": "Example",
      "createdAt": "2026-09-01T08:00:00Z",
      "updatedAt": "2026-09-01T08:00:00Z"
    },
    "meta": {
      "idempotencyKey": "<the key you sent, or the one the server generated>",
      "rateLimit": {
        "limit": 120,
        "remaining": 119,
        "reset": 42
      }
    }
  }
}
```

## La misma operación por REST

Esta herramienta ejecuta [`PATCH /api/v1/serialized-items/{serializedItemId}`](https://docs.filmo.io/es/rest-api/endpoint-reference/items/update-a-serialized-item).

---

URL canónica: https://docs.filmo.io/es/mcp/tools/items/filmo-serialized-items-update  
Última actualización: 2026-10-25