*MCP › Reference › Operations › Staff*

# Check staff availability

> Returns, for each staff member (the whole team, or the ones selected by `staffIds`, `tags`, `collectionId` or `search`), whether they have commitments overlapping the queried window and which ones, typed: order lines, internal services, declared absences and blocking incidents.

Unlike `/api/v1/availability/check`, the response is NOT stock arithmetic: a person has no pool, they are either free or on a specific job. A requested identifier that does not exist comes back as a per-item `error`. Idempotent query (POST because of the structured body). Shares the availability quota of 30 req/min.

TOOL `filmo_staff_availability_check` · `staff:read` · 120/min · + 30/min availability · Server annotation: Read-only · Server annotation: Idempotent

## Arguments

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `startDate` | string<date-time> | Yes | Start of the window to check (ISO 8601 with offset). |
| `endDate` | string<date-time> | Yes | End of the window to check (ISO 8601 with offset); must be later than startDate. |
| `tags` | string[] | No | Only resources carrying ALL these tag identifiers. |
| `collectionId` | string | No | Only resources in this collection. |
| `search` | string | No | Free-text search on the name. |
| `staffIds` | string[] | No | Restrict the answer to these staff members (1-100). An identifier that does not exist comes back as a per-item error. |

## Result

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

*Call · filmo_staff_availability_check*

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "filmo_staff_availability_check",
    "arguments": {
      "startDate": "2026-09-01T08:00:00Z",
      "endDate": "2026-09-01T08:00:00Z"
    }
  }
}
```

*Result (generated from the schema)*

```json
{
  "structuredContent": {
    "data": [
      {
        "resourceId": "reso_8f2a1c",
        "name": "Example",
        "available": true,
        "commitments": [
          {
            "kind": "order",
            "orderId": "orde_8f2a1c",
            "orderNumber": "<orderNumber>",
            "label": "Example",
            "startDate": "2026-09-01T08:00:00Z",
            "endDate": "2026-09-01T08:00:00Z"
          }
        ]
      }
    ],
    "meta": {
      "rateLimit": {
        "limit": 120,
        "remaining": 119,
        "reset": 42
      }
    }
  }
}
```

## Sample prompts

*Prompt*

```text
Which crew members are free on 20 January?
```

## The same operation by REST

This tool runs [`POST /api/v1/staff/availability`](https://docs.filmo.io/rest-api/endpoint-reference/staff/check-staff-availability).

---

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