*MCP › Referencia › Operaciones › Incidencias*

# Abrir una incidencia

> Registra material roto, perdido o dañado.

Con `blocksAvailability: true` el material sale del conjunto disponible mientras la incidencia siga abierta; si el artículo se controla por cantidad y no indicas una unidad física concreta, `affectedQuantity` pasa a ser obligatorio. El coste de la reparación NO forma parte del contrato público. Devuelve la incidencia creada.

HERRAMIENTA `filmo_incidents_create` · `incidents:write` · 120/min · Puede requerir un add-on

## Argumentos

| Nombre | Tipo | Obligatorio | Descripción |
| --- | --- | --- | --- |
| `title` | string | Sí | Título corto, el que se muestra en listas y tarjetas. |
| `type` | string | Sí | Naturaleza de la incidencia. `damage`, `loss`, `malfunction`, `cosmetic`, `theft`, `custom` |
| `scope` | string | Sí | A qué afecta la incidencia. `item`, `serializedItem`, `space`, `kit`, `vehicle`, `custom` |
| `status` | string | No | Estado inicial. Por defecto "draft". `draft`, `open`, `waiting`, `repairing`, `complete`, `lost` |
| `priority` | string | No | Prioridad. Por defecto es "none". `urgent`, `high`, `medium`, `low`, `none` |
| `severity` | string | No | Gravedad. Por defecto, "low". `low`, `high` |
| `description` | string | No | Descripción de lo ocurrido. |
| `blocksAvailability` | boolean | No | true retira el material del conjunto disponible mientras la incidencia esté abierta. |
| `affectedQuantity` | integer | No | Unidades afectadas. Obligatorio al bloquear stock a granel. |
| `itemId` | string | No | Artículo afectado. |
| `serializedItemId` | string | No | Unidad física concreta afectada. |
| `variantId` | string | No | Variante de artículo afectada. |
| `spaceId` | string | No | Espacio afectado. |
| `vehicleId` | string | No | Vehículo afectado. |
| `orderId` | string | No | Pedido en el que se detectó. |
| `projectId` | string | No | Proyecto asociado. |
| `contactIds` | string[] | No | Contactos implicados (proveedor, aseguradora, cliente) para que puedan verla. |
| `assigneeStaffIds` | string[] | No | Personal asignado para resolverla. |
| `subscriberIds` | string[] | No | Obsoleto: se acepta por compatibilidad, pero se ignora. Las incidencias ya no mantienen una lista de suscriptores. |
| `labels` | string[] | No | Etiquetas de formato libre de la incidencia. |
| `images` | string[] | No | URLs de fotos del daño. |
| `dueDate` | string<date-time> | No | Fecha objetivo de resolución, en ISO 8601 con desplazamiento. |
| `reminderEnabled` | boolean | No | Activa el recordatorio interno. |
| `reminderDate` | string<date-time> | No | Fecha del recordatorio, en ISO 8601 con desplazamiento. |
| `parentIncidentId` | string | No | Incidencia de la que esta es hija. |
| `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 incidencia. |
| `identifier` | string | Número de incidencia legible. |
| `title` | string | Título corto de la incidencia. |
| `description` | string | Descripción; null si no tiene. |
| `type` | string | Naturaleza: damage, loss, malfunction, cosmetic, theft o custom. |
| `scope` | string | A qué afecta: item, serializedItem, space, kit, vehicle o custom. `item`, `serializedItem`, `space`, `kit`, `vehicle`, `custom` |
| `status` | string | Estado del ciclo de vida: draft, open, waiting, repairing, complete o lost. |
| `priority` | string | Prioridad: urgent, high, medium, low o none. |
| `severity` | string | Gravedad declarada. |
| `blocksAvailability` | boolean | true cuando la incidencia retira el material del conjunto disponible. |
| `affectedQuantity` | integer | Unidades afectadas en stock a granel; null cuando no aplica. |
| `itemId` | string | Artículo afectado; null si no aplica. |
| `serializedItemId` | string | Unidad física afectada; null si no aplica. |
| `spaceId` | string | Espacio afectado; null si no aplica. |
| `vehicleId` | string | Vehículo afectado; null si no aplica. |
| `orderId` | string | Pedido en el que se detectó; null si no procede. |
| `projectId` | string | Proyecto asociado; null si no aplica. |
| `dueDate` | string<date-time> | Fecha objetivo de resolución en ISO 8601 UTC; null si no tiene. |
| `commentCount` | integer | Comentarios que tiene la incidencia. |
| `createdAt` | string<date-time> | Fecha de creación en ISO 8601 UTC. |
| `updatedAt` | string<date-time> | Fecha de la última modificación en ISO 8601 UTC. |

*Llamada · filmo_incidents_create*

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "filmo_incidents_create",
    "arguments": {
      "title": "Example",
      "type": "damage",
      "scope": "item"
    }
  }
}
```

*Resultado (generado desde el esquema)*

```json
{
  "structuredContent": {
    "data": {
      "id": "id_8f2a1c",
      "identifier": "<identifier>",
      "title": "Example",
      "description": "<description>",
      "type": "<type>",
      "scope": "item",
      "status": "<status>",
      "priority": "<priority>",
      "severity": "<severity>",
      "blocksAvailability": true,
      "affectedQuantity": 1,
      "itemId": "item_8f2a1c",
      "serializedItemId": "seri_8f2a1c",
      "spaceId": "spac_8f2a1c",
      "vehicleId": "vehi_8f2a1c",
      "orderId": "orde_8f2a1c",
      "projectId": "proj_8f2a1c",
      "dueDate": "2026-09-01T08:00:00Z",
      "commentCount": 1,
      "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
      }
    }
  }
}
```

## Prompts de ejemplo

*Prompt*

```text
Abre una incidencia: el parasol de esta cámara ha vuelto con el portafiltros roto.
```

## La misma operación por REST

Esta herramienta ejecuta [`POST /api/v1/incidents`](https://docs.filmo.io/es/rest-api/endpoint-reference/incidents/open-an-incident).

---

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