*MCP › Reference › Operations › Incidents*

# Comment on an incident

> Records progress on the incident: the workshop confirming receipt, the quote arriving.

It does not accept attachments because v1 has no file upload. Returns the full incident, with its `commentCount` updated, the same projection as its GET.

TOOL `filmo_incidents_comment_add` · `incidents:write` · 120/min · May need an add-on

## Arguments

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `incidentId` | string | Yes | Incident identifier. |
| `text` | string | Yes | Comment text. Line breaks are allowed. |
| `idempotencyKey` | string | No | Idempotency key chosen by the client (a UUID is recommended). Repeating the same key with the same arguments within 24 h returns the stored response without executing again; with different arguments it responds 422. It is the safe way to retry after a network failure. |
| `ifMatch` | string | No | Optimistic locking: the meta.etag you got from the detail read of this resource (or "*"). If the resource changed since, the call fails with 412 precondition_failed before writing anything; read it again and retry. Omit it to write unconditionally. |

## Result

On success the result carries `structuredContent` with `data` and `meta`. These are the attributes of `data`.

| Name | Type | Description |
| --- | --- | --- |
| `id` | string | Unique incident identifier. |
| `identifier` | string | Human-readable incident number. |
| `title` | string | Short title of the incident. |
| `description` | string | Description; null if it has none. |
| `type` | string | Nature: damage, loss, malfunction, cosmetic, theft or custom. |
| `scope` | string | What it affects: item, serializedItem, space, kit, vehicle or custom. `item`, `serializedItem`, `space`, `kit`, `vehicle`, `custom` |
| `status` | string | Lifecycle status: draft, open, waiting, repairing, complete or lost. |
| `priority` | string | Priority: urgent, high, medium, low or none. |
| `severity` | string | Declared severity. |
| `blocksAvailability` | boolean | true when the incident removes the material from the available pool. |
| `affectedQuantity` | integer | Affected units in bulk stock; null when not applicable. |
| `itemId` | string | Affected item; null if not applicable. |
| `serializedItemId` | string | Affected physical unit; null if not applicable. |
| `spaceId` | string | Affected space; null if not applicable. |
| `vehicleId` | string | Affected vehicle; null if not applicable. |
| `orderId` | string | Order in which it was detected; null if not applicable. |
| `projectId` | string | Associated project; null if not applicable. |
| `dueDate` | string<date-time> | Target resolution date in ISO 8601 UTC; null if it has none. |
| `commentCount` | integer | Comments the incident has. |
| `createdAt` | string<date-time> | Creation date in ISO 8601 UTC. |
| `updatedAt` | string<date-time> | Last modification date in ISO 8601 UTC. |

*Call · filmo_incidents_comment_add*

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "filmo_incidents_comment_add",
    "arguments": {
      "incidentId": "inci_8f2a1c",
      "text": "<text>"
    }
  }
}
```

*Result (generated from the schema)*

```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
      }
    }
  }
}
```

## The same operation by REST

This tool runs [`POST /api/v1/incidents/{incidentId}/comments`](https://docs.filmo.io/rest-api/endpoint-reference/incidents/comment-on-an-incident).

---

Canonical URL: https://docs.filmo.io/mcp/tools/incidents/filmo-incidents-comment-add  
Last updated: 2026-10-25