*REST API › Objects › Catalog & inventory*

# Item

> The item, as returned by the API.

A piece of equipment in the catalog, with its SKU, pricing, buffers, variants, physical properties and the collection it belongs to. Each item can have physical serialized units. Items are bounded to the subscription that owns the key. The SKU is optional on create: the server assigns the next available one. The detail read, [`GET /api/v1/items/{itemId}`](https://docs.filmo.io/rest-api/endpoint-reference/items/get-an-item), adds the replacement value and the identifiers of the accessories and alternatives.

Schemas: `ItemDto`, `ItemDetailDto`

## Attributes

| Name | Type | Description |
| --- | --- | --- |
| `id` | string | Unique identifier of the item. |
| `name` | string | Item name. |
| `sku` | string | SKU reference of the item; null if not recorded. |
| `description` | string | Item description; null if not recorded. |
| `orderInfo` | string | Additional information for the order (preparation/delivery notes); null if not recorded. |
| `ean` | string | EAN/barcode; null if not recorded. |
| `itemType` | string | Item type: fixed (simple item) or variant (item with variants). `fixed`, `variant` |
| `stockCalculationMethod` | string | Stock calculation method: bulk (in bulk, by quantity) or serialized (by serialized items). `bulk`, `serialized` |
| `collectionId` | string | Identifier of the collection it belongs to; null if it is in none. |
| `collectionName` | string | Name of the collection it belongs to; null if it is in none. |
| `images` | string[] | URLs of the item images. |
| `salePrice` | string | Sale price as a decimal string "1234.50" (ROUND_HALF_UP); null if it has none. |
| `depositValue` | string | Deposit amount as a decimal string "1234.50" (ROUND_HALF_UP); null if it has none. |
| `minStock` | number | Minimum stock configured for alerts; null if not configured. |
| `serializedItemsCount` | number | Number of serialized items registered for the item. |
| `pricingSettings` | object | Rental pricing configuration; null if not configured. |
| `pricingSettings.type` | string | Pricing mode: periodPrice (price per period), fixedPrice (fixed price) or pricingStructure (pricing structure); null if the item has none configured. `periodPrice`, `fixedPrice`, `pricingStructure` |
| `pricingSettings.price` | string | Base rental price as a decimal string "1234.50" (ROUND_HALF_UP); null if not applicable. |
| `pricingSettings.period` | string | Period unit of the price: hour, day, week or month; null if the item has none configured. `hour`, `day`, `week`, `month` |
| `insuranceEnabled` | boolean | Whether the item allows insurance. |
| `discountEnabled` | boolean | Whether the item allows discounts. |
| `bufferBefore` | number | Buffer time reserved before the rental; null if not applicable. |
| `bufferBeforeUnit` | string | Unit of the buffer before: hour or day; null if not applicable. `hour`, `day` |
| `bufferAfter` | number | Buffer time reserved after the rental; null if not applicable. |
| `bufferAfterUnit` | string | Unit of the buffer after: hour or day; null if not applicable. `hour`, `day` |
| `physicalProperties` | object | Physical properties (weight and dimensions); null if not recorded. |
| `physicalProperties.weight` | number | Item weight in kilograms; null if not recorded. |
| `physicalProperties.width` | number | Item width in centimeters; null if not recorded. |
| `physicalProperties.height` | number | Item height in centimeters; null if not recorded. |
| `physicalProperties.length` | number | Item length in centimeters; null if not recorded. |
| `physicalProperties.volume` | number | Item volume in cubic meters (m³); null if not recorded. |
| `physicalProperties.current` | number | Current draw in amperes; null if not recorded. |
| `physicalProperties.power` | number | Power in watts; null if not recorded. |
| `variants` | object[] | Item variants (empty if the item is of type fixed). |
| `variants.variantId` | string | Unique identifier of the variant. |
| `variants.variantName` | string | Variant name. |
| `variants.variantPrice` | string | Rental price of the variant as a decimal string "1234.50" (ROUND_HALF_UP). |
| `variants.salePrice` | string | Sale price of the variant as a decimal string "1234.50" (ROUND_HALF_UP); null if it has none. |
| `variants.ean` | string | EAN/barcode of the variant; null if not recorded. |
| `tags` | object[] | Tags associated with the item. |
| `tags.id` | string | Unique identifier of the tag. |
| `tags.name` | string | Tag name. |
| `customFields` | object<string, any> | Custom field values by custom field identifier; the definitions are in `/api/v1/custom-fields`. |
| `createdAt` | string<date-time> | Creation date in ISO 8601 with offset. |
| `updatedAt` | string<date-time> | Last update date in ISO 8601 with offset. |
| `replacementValue` | string | Replacement value of the item as a decimal string "1234.50" (ROUND_HALF_UP); null if not recorded. |
| `accessoryIds` | string[] | Identifiers of the items configured as accessories of this one. |
| `alternativeIds` | string[] | Identifiers of the items configured as alternatives of this one. |

## Values

| Field | Values |
| --- | --- |
| `itemType` | `fixed`, `variant` |
| `stockCalculationMethod` | `bulk`, `serialized` |
| `bufferBeforeUnit` | `hour`, `day` |
| `bufferAfterUnit` | `hour`, `day` |

## Example

*Item · Generated from the schema*

```json
{
  "id": "id_8f2a1c",
  "name": "Example",
  "sku": "string",
  "description": "string",
  "orderInfo": "string",
  "ean": "string",
  "itemType": "fixed",
  "stockCalculationMethod": "bulk",
  "collectionId": "string",
  "collectionName": "Example",
  "images": [
    "string"
  ],
  "salePrice": "1234.50",
  "depositValue": "1234.50",
  "minStock": 1,
  "serializedItemsCount": 1,
  "pricingSettings": {
    "type": "periodPrice",
    "price": "1234.50",
    "period": "hour"
  },
  "insuranceEnabled": true,
  "discountEnabled": true,
  "bufferBefore": 1,
  "bufferBeforeUnit": "hour",
  "bufferAfter": 1,
  "bufferAfterUnit": "hour",
  "physicalProperties": {
    "weight": 1,
    "width": 1,
    "height": 1,
    "length": 1,
    "volume": 1,
    "current": 1,
    "power": 1
  },
  "variants": [
    {
      "variantId": "string",
      "variantName": "Example",
      "variantPrice": "1234.50",
      "salePrice": "1234.50",
      "ean": "string"
    }
  ],
  "tags": [
    {
      "id": "id_8f2a1c",
      "name": "Example"
    }
  ],
  "customFields": {
    "key": "string"
  },
  "createdAt": "2026-09-01T08:00:00Z",
  "updatedAt": "2026-09-01T08:00:00Z",
  "replacementValue": "1234.50",
  "accessoryIds": [
    "string"
  ],
  "alternativeIds": [
    "string"
  ]
}
```

## Returned by

- [`GET /api/v1/items`](https://docs.filmo.io/rest-api/endpoint-reference/items/list-items) — List items
- [`GET /api/v1/items/{itemId}`](https://docs.filmo.io/rest-api/endpoint-reference/items/get-an-item) — Get an item

## Modified by

- [`POST /api/v1/items`](https://docs.filmo.io/rest-api/endpoint-reference/items/create-an-item) — Create an item
- [`PATCH /api/v1/items/{itemId}`](https://docs.filmo.io/rest-api/endpoint-reference/items/update-an-item) — Update an item
- [`PATCH /api/v1/items/{itemId}/physical-properties`](https://docs.filmo.io/rest-api/endpoint-reference/items/update-weight-and-dimensions) — Update weight and dimensions
- [`PATCH /api/v1/items/{itemId}/pricing`](https://docs.filmo.io/rest-api/endpoint-reference/items/update-the-pricing-of-an-item) — Update the pricing of an item
- [`PUT /api/v1/items/{itemId}/accessories`](https://docs.filmo.io/rest-api/endpoint-reference/items/update-the-accessories-of-an-item) — Update the accessories of an item
- [`PUT /api/v1/items/{itemId}/alternatives`](https://docs.filmo.io/rest-api/endpoint-reference/items/update-the-alternatives-of-an-item) — Update the alternatives of an item
- [`PATCH /api/v1/items/{itemId}/variants/{variantId}`](https://docs.filmo.io/rest-api/endpoint-reference/items/update-a-variant-of-an-item) — Update a variant of an item

---

Canonical URL: https://docs.filmo.io/rest-api/objects/item  
Last updated: 2026-10-25