Kits

Get a kit

Returns a kit by its identifier: name, description, image, collection and tags.

GET
/api/v1/kits/{kitId}

Request examples

curl https://app.filmo.io/api/v1/kits/kit_8f2a1c \
  --header "Authorization: Bearer $FILMO_API_KEY"
{
  "data": {
    "id": "kit_9f3a2b",
    "name": "Example kit",
    "description": "Example text.",
    "image": "Example image",
    "collectionId": "collection_9f3a2b",
    "collectionName": "Example collection name",
    "tags": [
      {
        "id": "tag_9f3a2b",
        "name": "Example tag"
      }
    ],
    "components": [
      {
        "itemId": "item_9f3a2b",
        "itemName": "Example item name",
        "variantId": "variant_9f3a2b",
        "variantName": "Example variant name",
        "quantity": 1,
        "position": 1
      }
    ],
    "createdAt": "2026-09-01T08:00:00.000Z",
    "updatedAt": "2026-09-01T08:00:00.000Z"
  }
}

Generated from the schema

It does NOT return the items that compose it — the internal read does not guarantee them, and publishing a field that is sometimes missing is worse than not publishing it.

Authorizations

Bearer API key with the scope below. kits:read

Headers

If-None-Matchstring

Conditional read: the ETag of the copy you already have. If the resource has not changed, the response is 304 with no body.

Example:"\"3sT3d9pBvZq4h2N0w8x1YkLmQ7c\""

Path parameters

kitIdstringRequired

Kit identifier.

Limits: min length 1

Response

application/json

Successful response.

Response schema: KitDto

Envelope: KitResponse. meta.warnings is present only when the operation is deprecated.

Headers: X-Request-Id · RateLimit-Limit · RateLimit-Remaining · RateLimit-Reset · ETag

dataobject

Named group of items that go out together.

Show child attributes
data.idstring

Unique identifier of the kit.

data.namestring

Kit name.

data.descriptionstring | null

Kit description; null if it has none.

data.imagestring | null

URL of the main image; null if it has none.

data.collectionIdstring | null

Collection it belongs to; null if it is in none.

data.collectionNamestring | null

Full path of the collection; null if it is in none.

data.tagsobject[]

Kit tags, with their identifier and name.

Show child attributes
data.tags.idstring

Unique identifier of the tag.

data.tags.namestring

Tag name.

data.componentsobject[]

Items that make up the kit, in display order.

Show child attributes
data.components.itemIdstring

Identifier of the item; read it in /api/v1/items/{itemId}.

data.components.itemNamestring

Item name, as recorded when it was added to the kit.

data.components.variantIdstring | null

Variant of the item, if one was chosen; null otherwise.

data.components.variantNamestring | null

Name of that variant; null if none.

data.components.quantitynumber

How many units of the item the kit includes.

data.components.positionnumber | null

Display order inside the kit (0-based); null if not set.

data.createdAtstring<date-time>

Creation date in ISO 8601 UTC.

data.updatedAtstring<date-time>

Last modification date in ISO 8601 UTC.

metaobject

Additional information about the response.

Show child attributes
meta.warningsobject[]

Lifecycle warnings; present only when the operation is deprecated.

Show child attributes
meta.warnings.codestring

Stable warning code.

Available options: deprecated

meta.warnings.messagestring

For people: what is deprecated, until when, and what to use.

meta.warnings.sunsetstring

Day (YYYY-MM-DD) the operation stops being served.

meta.warnings.replacementstring | null

operationId of the operation to use instead, or null if there is none.

Errors

StatusCodesMeaning
404not_foundIt does not exist or is outside the scope of the API key.

401, 403, 429, 500 can be returned by any operation. Errors

Deprecation

This operation is not deprecated. Deprecations are announced with a Deprecation header and a sunset date. Versioning policy

  • Catalog & inventory

    Kit

    Named group of items that go out together.

Was this page helpful?