*MCP › Reference › Catalog & inventory › Kits*

# Create a kit

> Registers a named grouping of items that go out together.

Tags go by NAME and one that does not exist is created, unlike [`POST /api/v1/tags/{tagId}/assignments`](https://docs.filmo.io/rest-api/endpoint-reference/tags/assign-a-tag-to-an-entity), which asks for an identifier. Returns the created kit.

TOOL `filmo_kits_create` · `kits:write` · 120/min

## Arguments

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `name` | string | Yes | Kit name. |
| `description` | string | No | Kit description. |
| `image` | string | No | URL of the main image. |
| `collectionId` | string | No | Collection it belongs to. |
| `tags` | string[] | No | Tags by NAME; a name that does not exist is created. |
| `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 identifier of the kit. |
| `name` | string | Kit name. |
| `description` | string | Kit description; null if it has none. |
| `image` | string | URL of the main image; null if it has none. |
| `collectionId` | string | Collection it belongs to; null if it is in none. |
| `collectionName` | string | Full path of the collection; null if it is in none. |
| `tags` | object[] | Kit tags, with their identifier and name. |
| `tags.id` | string | Unique identifier of the tag. |
| `tags.name` | string | Tag name. |
| `components` | object[] | Items that make up the kit, in display order. |
| `components.itemId` | string | Identifier of the item; read it in `/api/v1/items/{itemId}`. |
| `components.itemName` | string | Item name, as recorded when it was added to the kit. |
| `components.variantId` | string | Variant of the item, if one was chosen; null otherwise. |
| `components.variantName` | string | Name of that variant; null if none. |
| `components.quantity` | number | How many units of the item the kit includes. |
| `components.position` | number | Display order inside the kit (0-based); null if not set. |
| `createdAt` | string<date-time> | Creation date in ISO 8601 UTC. |
| `updatedAt` | string<date-time> | Last modification date in ISO 8601 UTC. |

*Call · filmo_kits_create*

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "filmo_kits_create",
    "arguments": {
      "name": "Example"
    }
  }
}
```

*Result (generated from the schema)*

```json
{
  "structuredContent": {
    "data": {
      "id": "id_8f2a1c",
      "name": "Example",
      "description": "<description>",
      "image": "<image>",
      "collectionId": "coll_8f2a1c",
      "collectionName": "Example",
      "tags": [
        {
          "id": "id_8f2a1c",
          "name": "Example"
        }
      ],
      "components": [
        {
          "itemId": "item_8f2a1c",
          "itemName": "Example",
          "variantId": "vari_8f2a1c",
          "variantName": "Example",
          "quantity": 1,
          "position": 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/kits`](https://docs.filmo.io/rest-api/endpoint-reference/kits/create-a-kit).

---

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