*MCP › Reference › Operations › Staff*

# Delete a staff member

> Removes the person from the team, together with their declared unavailabilities.

> **Not reversible:** This tool cannot be undone.

> **Requires human confirmation:** Put this tool on your client's “ask before running” list. The annotations are hints that the server declares, not guarantees: do not decide the approval from `destructiveHint` alone. The server flags this tool with `_meta["anthropic/requiresUserInteraction"]`, which clients that honor it use to ask a person before every call.

It is NOT reversible. Responds 409 if they have active assignments in orders or future availability rules from a schedule: unassign them, or retire their schedule, first. Responds 204 with no body: the staff member no longer exists for the API (their GET responds 404).

TOOL `filmo_staff_delete` · `staff:write` · 120/min · Server annotation: Destructive · Server annotation: Idempotent · Requires human confirmation · Not reversible

## Arguments

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `staffId` | string | Yes | Staff member identifier. |
| `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`.

*Call · filmo_staff_delete*

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "filmo_staff_delete",
    "arguments": {
      "staffId": "staf_8f2a1c"
    }
  }
}
```

*Result (generated from the schema)*

```json
{
  "structuredContent": {
    "data": "<value>",
    "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 [`DELETE /api/v1/staff/{staffId}`](https://docs.filmo.io/rest-api/endpoint-reference/staff/delete-a-staff-member).

---

Canonical URL: https://docs.filmo.io/mcp/tools/staff/filmo-staff-delete  
Last updated: 2026-10-25