> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.twelvelabs.io/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.twelvelabs.io/_mcp/server.

# Knowledge store items

> Add items to a knowledge store and organize them into collections with the Python SDK.

Use these methods to add assets to a knowledge store as items, and to organize those items into named collections.

# Knowledge store items

The `KnowledgeStoreItemsClient` class provides methods to add and manage the items in a knowledge store.

## Create a knowledge store item

**Description**: This method adds an asset to a knowledge store for processing. The operation is asynchronous. The item is created immediately with the `queued` status and processed in the background.

**Asset size limits**:

* **Video**: Up to 10 GB
* **Images**: Up to 32 MB

**Function signature and example**:

**`Function signature`**

```python Function signature
def create(
    self,
    knowledge_store_id: str,
    *,
    asset_id: str,
    asset_type: typing.Optional[KnowledgeStoreItemAssetType] = OMIT,
    metadata: typing.Optional[typing.Dict[str, KnowledgeStoreMetadataValue]] = OMIT,
    request_options: typing.Optional[RequestOptions] = None,
) -> KnowledgeStoreItem:
```

**`Python example`**

```python Python example
from twelvelabs import TwelveLabs

client = TwelveLabs(api_key="<YOUR_API_KEY>")

item = client.knowledge_store_items.create(
    knowledge_store_id="<YOUR_KNOWLEDGE_STORE_ID>",
    asset_id="<YOUR_ASSET_ID>",
    # asset_type="video",
    # metadata={"team": "qa"},
)
print(f"ID: {item.id} Status: {item.status}")
```

### Parameters

| Name                 | Type                                                               | Required | Description                                                                                                                                                           |
| :------------------- | :----------------------------------------------------------------- | :------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `knowledge_store_id` | `str`                                                              | Yes      | The unique identifier of the knowledge store.                                                                                                                         |
| `asset_id`           | `str`                                                              | Yes      | The unique identifier of the asset to add to the knowledge store.                                                                                                     |
| `asset_type`         | `typing.` `Optional` `[KnowledgeStore` `ItemAssetType]`            | No       | The type of item to create. Values: `video`, `image`.                                                                                                                 |
| `metadata`           | `typing.` `Optional[Dict` `[str, KnowledgeStore` `MetadataValue]]` | No       | Custom metadata for the item. Keys are strings; values can be a string, a number, a boolean, or an array of strings. You can provide up to 50 key-value pairs.        |
| `request_options`    | `typing.` `Optional` `[RequestOptions]`                            | No       | Per-call SDK settings such as timeout, retries, and headers. For all fields, see [Request options](/v1.3/sdk-reference/python/the-twelve-labs-class#request-options). |

### Return value

Returns a `KnowledgeStoreItem` object. The `KnowledgeStoreItem` class contains the following properties:

| Name              | Type                                                     | Description                                                                                                                                                                                                                                                                                           |
| :---------------- | :------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `id`              | `Optional[str]`                                          | The unique identifier of the knowledge store item.                                                                                                                                                                                                                                                    |
| `asset_type`      | `KnowledgeStore` `ItemAssetType`                         | The type of item. Values: `video`, `image`.                                                                                                                                                                                                                                                           |
| `asset_id`        | `Optional[str]`                                          | The unique identifier of the source asset.                                                                                                                                                                                                                                                            |
| `status`          | `Optional` `[KnowledgeStore` `ItemStatus]`               | The processing status of the item. Values: `queued`, `pending`, `processing`, `ready`, `failed`. For the meaning of each value, see the [Item statuses](/v1.3/api-reference/knowledge-store-items/the-knowledge-store-item-object#item-statuses) section on **The knowledge store item object** page. |
| `system_metadata` | `Optional` `[KnowledgeStore` `ItemSystemMetadata]`       | System-generated media metadata for the source asset. Its `asset_type` field always matches the item's top-level `asset_type` field.                                                                                                                                                                  |
| `metadata`        | `Optional[Dict` `[str, KnowledgeStore` `MetadataValue]]` | Custom metadata for the item. Keys are strings; each value is a string, a number, a boolean, or an array of strings.                                                                                                                                                                                  |
| `created_at`      | `Optional` `[datetime]`                                  | The date and time when the item was created, in the RFC 3339 format.                                                                                                                                                                                                                                  |
| `updated_at`      | `Optional` `[datetime]`                                  | The date and time when the item was last updated, in the RFC 3339 format.                                                                                                                                                                                                                             |

### API Reference

[Create a knowledge store item](/v1.3/api-reference/knowledge-store-items/create).

### Related guide

[Add assets to a knowledge store](/v1.3/agents/guides/add-assets).

## List knowledge store items

**Description**: This method returns a list of items in the specified knowledge store.

**Function signature and example**:

**`Function signature`**

```python Function signature
def list(
    self,
    knowledge_store_id: str,
    *,
    page: typing.Optional[int] = None,
    page_limit: typing.Optional[int] = None,
    sort_by: typing.Optional[KnowledgeStoreItemsListRequestSortBy] = None,
    sort_option: typing.Optional[str] = None,
    status: typing.Optional[
        typing.Union[
            KnowledgeStoreItemsListRequestStatusItem,
            typing.Sequence[KnowledgeStoreItemsListRequestStatusItem],
        ]
    ] = None,
    request_options: typing.Optional[RequestOptions] = None,
) -> SyncPager[KnowledgeStoreItem]:
```

**`Python example`**

```python Python example
from twelvelabs import TwelveLabs

client = TwelveLabs(api_key="<YOUR_API_KEY>")

items = client.knowledge_store_items.list(
    knowledge_store_id="<YOUR_KNOWLEDGE_STORE_ID>",
    # page=1,
    # page_limit=10,
    # sort_by="created_at",
    # sort_option="desc",
    # status=["ready"],
)
for item in items:
    print(f"ID: {item.id} Type: {item.asset_type} Status: {item.status}")
```

### Parameters

| Name                 | Type                                                             | Required | Description                                                                                                                                                                                                                                                                                                                                                     |
| :------------------- | :--------------------------------------------------------------- | :------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `knowledge_store_id` | `str`                                                            | Yes      | The unique identifier of the knowledge store.                                                                                                                                                                                                                                                                                                                   |
| `page`               | `typing.` `Optional[int]`                                        | No       | A number that identifies the page to retrieve. **Default**: `1`.                                                                                                                                                                                                                                                                                                |
| `page_limit`         | `typing.` `Optional[int]`                                        | No       | The number of items to return on each page. **Default**: `10`. **Max**: `50`.                                                                                                                                                                                                                                                                                   |
| `sort_by`            | `typing.` `Optional` `[KnowledgeStore` `ItemsListRequestSortBy]` | No       | The field to sort on. The following options are available: - `created_at`: Sorts by the time, in the RFC 3339 format ("YYYY-MM-DDTHH:mm:ssZ"), when the item was created. - `updated_at`: Sorts by the time, in the RFC 3339 format ("YYYY-MM-DDTHH:mm:ssZ"), when the item was last updated. **Default**: `created_at`.                                        |
| `sort_option`        | `typing.` `Optional[str]`                                        | No       | The sorting direction. The following options are available: - `asc` - `desc` **Default**: `desc`.                                                                                                                                                                                                                                                               |
| `status`             | `typing.` `Optional` `[typing.Union` `[..., Sequence]]`          | No       | Filter by one or more item processing statuses. Values: `queued`, `pending`, `processing`, `ready`, `failed`. For the meaning of each value, see the [Item statuses](/v1.3/api-reference/knowledge-store-items/the-knowledge-store-item-object#item-statuses) section on **The knowledge store item object** page. To filter by multiple statuses, pass a list. |
| `request_options`    | `typing.` `Optional` `[RequestOptions]`                          | No       | Per-call SDK settings such as timeout, retries, and headers. For all fields, see [Request options](/v1.3/sdk-reference/python/the-twelve-labs-class#request-options).                                                                                                                                                                                           |

### Return value

Returns a `SyncPager[KnowledgeStoreItem]` object that allows you to iterate through the paginated list of items. For the properties of each `KnowledgeStoreItem` object, see [Create a knowledge store item](#create-a-knowledge-store-item).

### API Reference

[List knowledge store items](/v1.3/api-reference/knowledge-store-items/list).

## Retrieve a knowledge store item

**Description**: This method retrieves the details of a specific knowledge store item.

**Function signature and example**:

**`Function signature`**

```python Function signature
def retrieve(
    self,
    knowledge_store_id: str,
    item_id: str,
    *,
    request_options: typing.Optional[RequestOptions] = None,
) -> KnowledgeStoreItem:
```

**`Python example`**

```python Python example
from twelvelabs import TwelveLabs

client = TwelveLabs(api_key="<YOUR_API_KEY>")

item = client.knowledge_store_items.retrieve(
    knowledge_store_id="<YOUR_KNOWLEDGE_STORE_ID>",
    item_id="<YOUR_ITEM_ID>",
)
print(f"Type: {item.asset_type} Status: {item.status}")
```

### Parameters

| Name                 | Type                                    | Required | Description                                                                                                                                                           |
| :------------------- | :-------------------------------------- | :------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `knowledge_store_id` | `str`                                   | Yes      | The unique identifier of the knowledge store.                                                                                                                         |
| `item_id`            | `str`                                   | Yes      | The unique identifier of the knowledge store item.                                                                                                                    |
| `request_options`    | `typing.` `Optional` `[RequestOptions]` | No       | Per-call SDK settings such as timeout, retries, and headers. For all fields, see [Request options](/v1.3/sdk-reference/python/the-twelve-labs-class#request-options). |

### Return value

Returns a `KnowledgeStoreItem` object. For its properties, see [Create a knowledge store item](#create-a-knowledge-store-item).

### API Reference

[Retrieve a knowledge store item](/v1.3/api-reference/knowledge-store-items/retrieve).

## Delete a knowledge store item

**Description**: This method deletes the specified knowledge store item.

**Function signature and example**:

**`Function signature`**

```python Function signature
def delete(
    self,
    knowledge_store_id: str,
    item_id: str,
    *,
    request_options: typing.Optional[RequestOptions] = None,
) -> None:
```

**`Python example`**

```python Python example
from twelvelabs import TwelveLabs

client = TwelveLabs(api_key="<YOUR_API_KEY>")

client.knowledge_store_items.delete(
    knowledge_store_id="<YOUR_KNOWLEDGE_STORE_ID>",
    item_id="<YOUR_ITEM_ID>",
)
```

### Parameters

| Name                 | Type                                    | Required | Description                                                                                                                                                           |
| :------------------- | :-------------------------------------- | :------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `knowledge_store_id` | `str`                                   | Yes      | The unique identifier of the knowledge store.                                                                                                                         |
| `item_id`            | `str`                                   | Yes      | The unique identifier of the knowledge store item.                                                                                                                    |
| `request_options`    | `typing.` `Optional` `[RequestOptions]` | No       | Per-call SDK settings such as timeout, retries, and headers. For all fields, see [Request options](/v1.3/sdk-reference/python/the-twelve-labs-class#request-options). |

### Return value

This method does not return a value.

### API Reference

[Delete a knowledge store item](/v1.3/api-reference/knowledge-store-items/delete).

# Item collections

The `KnowledgeStoreItemCollectionsClient` class provides methods to organize items into named collections that you can reference together.

## Create an item collection

**Description**: This method creates an item collection in the specified knowledge store. An item collection is a named collection of items. Use item collections to organize and reference subsets of items together.

**Function signature and example**:

**`Function signature`**

```python Function signature
def create(
    self,
    knowledge_store_id: str,
    *,
    name: str,
    description: typing.Optional[str] = OMIT,
    metadata: typing.Optional[typing.Dict[str, KnowledgeStoreMetadataValue]] = OMIT,
    request_options: typing.Optional[RequestOptions] = None,
) -> KnowledgeStoreItemCollection:
```

**`Python example`**

```python Python example
from twelvelabs import TwelveLabs

client = TwelveLabs(api_key="<YOUR_API_KEY>")

collection = client.knowledge_store_item_collections.create(
    knowledge_store_id="<YOUR_KNOWLEDGE_STORE_ID>",
    name="Q1 highlights",
    # description="A subset of items",
    # metadata={"group": "highlights"},
)
print(f"ID: {collection.id} Name: {collection.name}")
```

### Parameters

| Name                 | Type                                                               | Required | Description                                                                                                                                                               |
| :------------------- | :----------------------------------------------------------------- | :------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `knowledge_store_id` | `str`                                                              | Yes      | The unique identifier of the knowledge store.                                                                                                                             |
| `name`               | `str`                                                              | Yes      | The name of the item collection. Must be unique within the knowledge store.                                                                                               |
| `description`        | `typing.` `Optional[str]`                                          | No       | An optional description of the item collection.                                                                                                                           |
| `metadata`           | `typing.` `Optional[Dict` `[str, KnowledgeStore` `MetadataValue]]` | No       | Custom metadata for the item collection. Keys are strings; values can be a string, a number, a boolean, or an array of strings. You can provide up to 10 key-value pairs. |
| `request_options`    | `typing.` `Optional` `[RequestOptions]`                            | No       | Per-call SDK settings such as timeout, retries, and headers. For all fields, see [Request options](/v1.3/sdk-reference/python/the-twelve-labs-class#request-options).     |

### Return value

Returns a `KnowledgeStoreItemCollection` object. The `KnowledgeStoreItemCollection` class contains the following properties:

| Name                 | Type                                                     | Description                                                                                                                     |
| :------------------- | :------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------ |
| `id`                 | `Optional[str]`                                          | The unique identifier of the item collection.                                                                                   |
| `knowledge_store_id` | `Optional[str]`                                          | The unique identifier of the knowledge store this collection belongs to.                                                        |
| `name`               | `Optional[str]`                                          | The name of the item collection.                                                                                                |
| `description`        | `Optional[str]`                                          | The description of the item collection.                                                                                         |
| `metadata`           | `Optional[Dict` `[str, KnowledgeStore` `MetadataValue]]` | Custom metadata for the item collection. Keys are strings; each value is a string, a number, a boolean, or an array of strings. |
| `member_count`       | `Optional[int]`                                          | The number of items in the collection.                                                                                          |
| `created_at`         | `Optional` `[datetime]`                                  | The date and time when the item collection was created, in the RFC 3339 format.                                                 |
| `updated_at`         | `Optional` `[datetime]`                                  | The date and time when the item collection was last updated, in the RFC 3339 format.                                            |

### API Reference

[Create an item collection](/v1.3/api-reference/knowledge-store-items/item-collections/create).

## List item collections

**Description**: This method returns a list of the item collections in the specified knowledge store.

**Function signature and example**:

**`Function signature`**

```python Function signature
def list(
    self,
    knowledge_store_id: str,
    *,
    page: typing.Optional[int] = None,
    page_limit: typing.Optional[int] = None,
    sort_by: typing.Optional[KnowledgeStoreItemCollectionsListRequestSortBy] = None,
    sort_option: typing.Optional[str] = None,
    request_options: typing.Optional[RequestOptions] = None,
) -> SyncPager[KnowledgeStoreItemCollection]:
```

**`Python example`**

```python Python example
from twelvelabs import TwelveLabs

client = TwelveLabs(api_key="<YOUR_API_KEY>")

collections = client.knowledge_store_item_collections.list(
    knowledge_store_id="<YOUR_KNOWLEDGE_STORE_ID>",
    # page=1,
    # page_limit=10,
    # sort_by="created_at",
    # sort_option="desc",
)
for collection in collections:
    print(f"ID: {collection.id} Name: {collection.name}")
```

### Parameters

| Name                 | Type                                                                          | Required | Description                                                                                                                                                                                                                                                                                                                                                                                                       |
| :------------------- | :---------------------------------------------------------------------------- | :------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `knowledge_store_id` | `str`                                                                         | Yes      | The unique identifier of the knowledge store.                                                                                                                                                                                                                                                                                                                                                                     |
| `page`               | `typing.` `Optional[int]`                                                     | No       | A number that identifies the page to retrieve. **Default**: `1`.                                                                                                                                                                                                                                                                                                                                                  |
| `page_limit`         | `typing.` `Optional[int]`                                                     | No       | The number of items to return on each page. **Default**: `10`. **Max**: `50`.                                                                                                                                                                                                                                                                                                                                     |
| `sort_by`            | `typing.` `Optional` `[KnowledgeStore` `ItemCollections` `ListRequestSortBy]` | No       | The field to sort on. The following options are available: - `created_at`: Sorts by the time, in the RFC 3339 format ("YYYY-MM-DDTHH:mm:ssZ"), when the item collection was created. - `updated_at`: Sorts by the time, in the RFC 3339 format ("YYYY-MM-DDTHH:mm:ssZ"), when the item collection was last updated. - `name`: Sorts alphabetically by the name of the item collection. **Default**: `created_at`. |
| `sort_option`        | `typing.` `Optional[str]`                                                     | No       | The sorting direction. The following options are available: - `asc` - `desc` **Default**: `desc`.                                                                                                                                                                                                                                                                                                                 |
| `request_options`    | `typing.` `Optional` `[RequestOptions]`                                       | No       | Per-call SDK settings such as timeout, retries, and headers. For all fields, see [Request options](/v1.3/sdk-reference/python/the-twelve-labs-class#request-options).                                                                                                                                                                                                                                             |

### Return value

Returns a `SyncPager[KnowledgeStoreItemCollection]` object that allows you to iterate through the paginated list of item collections. For the properties of each `KnowledgeStoreItemCollection` object, see [Create an item collection](#create-an-item-collection).

### API Reference

[List item collections](/v1.3/api-reference/knowledge-store-items/item-collections/list).

## Retrieve an item collection

**Description**: This method retrieves the details of a specific item collection.

**Function signature and example**:

**`Function signature`**

```python Function signature
def retrieve(
    self,
    knowledge_store_id: str,
    collection_id: str,
    *,
    request_options: typing.Optional[RequestOptions] = None,
) -> KnowledgeStoreItemCollection:
```

**`Python example`**

```python Python example
from twelvelabs import TwelveLabs

client = TwelveLabs(api_key="<YOUR_API_KEY>")

collection = client.knowledge_store_item_collections.retrieve(
    knowledge_store_id="<YOUR_KNOWLEDGE_STORE_ID>",
    collection_id="<YOUR_COLLECTION_ID>",
)
print(f"Name: {collection.name} Members: {collection.member_count}")
```

### Parameters

| Name                 | Type                                    | Required | Description                                                                                                                                                           |
| :------------------- | :-------------------------------------- | :------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `knowledge_store_id` | `str`                                   | Yes      | The unique identifier of the knowledge store.                                                                                                                         |
| `collection_id`      | `str`                                   | Yes      | The unique identifier of the knowledge store item collection.                                                                                                         |
| `request_options`    | `typing.` `Optional` `[RequestOptions]` | No       | Per-call SDK settings such as timeout, retries, and headers. For all fields, see [Request options](/v1.3/sdk-reference/python/the-twelve-labs-class#request-options). |

### Return value

Returns a `KnowledgeStoreItemCollection` object. For its properties, see [Create an item collection](#create-an-item-collection).

### API Reference

[Retrieve an item collection](/v1.3/api-reference/knowledge-store-items/item-collections/retrieve).

## Update an item collection

**Description**: This method updates the `name`, `description`, and `metadata` fields of the specified item collection.

**Function signature and example**:

**`Function signature`**

```python Function signature
def update(
    self,
    knowledge_store_id: str,
    collection_id: str,
    *,
    name: typing.Optional[str] = OMIT,
    description: typing.Optional[str] = OMIT,
    metadata: typing.Optional[typing.Dict[str, KnowledgeStoreMetadataValue]] = OMIT,
    request_options: typing.Optional[RequestOptions] = None,
) -> KnowledgeStoreItemCollection:
```

**`Python example`**

```python Python example
from twelvelabs import TwelveLabs

client = TwelveLabs(api_key="<YOUR_API_KEY>")

collection = client.knowledge_store_item_collections.update(
    knowledge_store_id="<YOUR_KNOWLEDGE_STORE_ID>",
    collection_id="<YOUR_COLLECTION_ID>",
    # name="Updated name",
    # description="Updated collection description",
    # metadata={"group": "highlights"},
)
print(f"Description: {collection.description}")
```

### Parameters

| Name                 | Type                                                               | Required | Description                                                                                                                                                                                                                                                                                                                                                                        |
| :------------------- | :----------------------------------------------------------------- | :------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `knowledge_store_id` | `str`                                                              | Yes      | The unique identifier of the knowledge store.                                                                                                                                                                                                                                                                                                                                      |
| `collection_id`      | `str`                                                              | Yes      | The unique identifier of the knowledge store item collection.                                                                                                                                                                                                                                                                                                                      |
| `name`               | `typing.` `Optional[str]`                                          | No       | The name of the item collection. Must be unique within the knowledge store.                                                                                                                                                                                                                                                                                                        |
| `description`        | `typing.` `Optional[str]`                                          | No       | An optional description of the item collection.                                                                                                                                                                                                                                                                                                                                    |
| `metadata`           | `typing.` `Optional[Dict` `[str, KnowledgeStore` `MetadataValue]]` | No       | Custom metadata for the item collection. Keys are strings; values can be a string, a number, a boolean, or an array of strings. You can provide up to 10 key-value pairs. The provided object replaces the existing metadata in full, so include every key you want to keep and omit the ones you want to remove. To clear all metadata, set this field to an empty object (`{}`). |
| `request_options`    | `typing.` `Optional` `[RequestOptions]`                            | No       | Per-call SDK settings such as timeout, retries, and headers. For all fields, see [Request options](/v1.3/sdk-reference/python/the-twelve-labs-class#request-options).                                                                                                                                                                                                              |

### Return value

Returns a `KnowledgeStoreItemCollection` object. For its properties, see [Create an item collection](#create-an-item-collection).

### API Reference

[Update an item collection](/v1.3/api-reference/knowledge-store-items/item-collections/update).

## Delete an item collection

**Description**: This method deletes the specified item collection. The items themselves remain in the knowledge store.

**Function signature and example**:

**`Function signature`**

```python Function signature
def delete(
    self,
    knowledge_store_id: str,
    collection_id: str,
    *,
    request_options: typing.Optional[RequestOptions] = None,
) -> None:
```

**`Python example`**

```python Python example
from twelvelabs import TwelveLabs

client = TwelveLabs(api_key="<YOUR_API_KEY>")

client.knowledge_store_item_collections.delete(
    knowledge_store_id="<YOUR_KNOWLEDGE_STORE_ID>",
    collection_id="<YOUR_COLLECTION_ID>",
)
```

### Parameters

| Name                 | Type                                    | Required | Description                                                                                                                                                           |
| :------------------- | :-------------------------------------- | :------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `knowledge_store_id` | `str`                                   | Yes      | The unique identifier of the knowledge store.                                                                                                                         |
| `collection_id`      | `str`                                   | Yes      | The unique identifier of the knowledge store item collection.                                                                                                         |
| `request_options`    | `typing.` `Optional` `[RequestOptions]` | No       | Per-call SDK settings such as timeout, retries, and headers. For all fields, see [Request options](/v1.3/sdk-reference/python/the-twelve-labs-class#request-options). |

### Return value

This method does not return a value.

### API Reference

[Delete an item collection](/v1.3/api-reference/knowledge-store-items/item-collections/delete).

## List items in an item collection

**Description**: This method returns a list of the items in the specified item collection.

**Function signature and example**:

**`Function signature`**

```python Function signature
def list_items(
    self,
    knowledge_store_id: str,
    collection_id: str,
    *,
    page: typing.Optional[int] = None,
    page_limit: typing.Optional[int] = None,
    request_options: typing.Optional[RequestOptions] = None,
) -> SyncPager[KnowledgeStoreItem]:
```

**`Python example`**

```python Python example
from twelvelabs import TwelveLabs

client = TwelveLabs(api_key="<YOUR_API_KEY>")

items = client.knowledge_store_item_collections.list_items(
    knowledge_store_id="<YOUR_KNOWLEDGE_STORE_ID>",
    collection_id="<YOUR_COLLECTION_ID>",
    # page=1,
    # page_limit=10,
)
for item in items:
    print(f"ID: {item.id} Type: {item.asset_type}")
```

### Parameters

| Name                 | Type                                    | Required | Description                                                                                                                                                           |
| :------------------- | :-------------------------------------- | :------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `knowledge_store_id` | `str`                                   | Yes      | The unique identifier of the knowledge store.                                                                                                                         |
| `collection_id`      | `str`                                   | Yes      | The unique identifier of the knowledge store item collection.                                                                                                         |
| `page`               | `typing.` `Optional[int]`               | No       | A number that identifies the page to retrieve. **Default**: `1`.                                                                                                      |
| `page_limit`         | `typing.` `Optional[int]`               | No       | The number of items to return on each page. **Default**: `10`. **Max**: `50`.                                                                                         |
| `request_options`    | `typing.` `Optional` `[RequestOptions]` | No       | Per-call SDK settings such as timeout, retries, and headers. For all fields, see [Request options](/v1.3/sdk-reference/python/the-twelve-labs-class#request-options). |

### Return value

Returns a `SyncPager[KnowledgeStoreItem]` object that allows you to iterate through the paginated list of items in the collection. For the properties of each `KnowledgeStoreItem` object, see [Create a knowledge store item](#create-a-knowledge-store-item).

### API Reference

[List items in an item collection](/v1.3/api-reference/knowledge-store-items/item-collections/list-items).

## Add items to an item collection

**Description**: This method adds one or more items to the specified item collection. This operation is idempotent — items already in the collection are skipped. Every identifier must reference an existing item in the knowledge store.

**Function signature and example**:

**`Function signature`**

```python Function signature
def add_items(
    self,
    knowledge_store_id: str,
    collection_id: str,
    *,
    item_ids: typing.Sequence[str],
    request_options: typing.Optional[RequestOptions] = None,
) -> KnowledgeStoreItemCollection:
```

**`Python example`**

```python Python example
from twelvelabs import TwelveLabs

client = TwelveLabs(api_key="<YOUR_API_KEY>")

collection = client.knowledge_store_item_collections.add_items(
    knowledge_store_id="<YOUR_KNOWLEDGE_STORE_ID>",
    collection_id="<YOUR_COLLECTION_ID>",
    item_ids=["<YOUR_ITEM_ID>"],
)
print(f"Members: {collection.member_count}")
```

### Parameters

| Name                 | Type                                    | Required | Description                                                                                                                                                           |
| :------------------- | :-------------------------------------- | :------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `knowledge_store_id` | `str`                                   | Yes      | The unique identifier of the knowledge store.                                                                                                                         |
| `collection_id`      | `str`                                   | Yes      | The unique identifier of the knowledge store item collection.                                                                                                         |
| `item_ids`           | `typing.` `Sequence[str]`               | Yes      | The unique identifiers of the items to add to the collection. Include up to 500 identifiers per request.                                                              |
| `request_options`    | `typing.` `Optional` `[RequestOptions]` | No       | Per-call SDK settings such as timeout, retries, and headers. For all fields, see [Request options](/v1.3/sdk-reference/python/the-twelve-labs-class#request-options). |

### Return value

Returns a `KnowledgeStoreItemCollection` object. For its properties, see [Create an item collection](#create-an-item-collection).

### API Reference

[Add items to an item collection](/v1.3/api-reference/knowledge-store-items/item-collections/add-items).

## Remove items from an item collection

**Description**: This method removes one or more items from the specified item collection. This operation is idempotent — identifiers that do not match a member of the collection are ignored. The items themselves remain in the knowledge store.

**Function signature and example**:

**`Function signature`**

```python Function signature
def remove_items(
    self,
    knowledge_store_id: str,
    collection_id: str,
    *,
    item_ids: typing.Sequence[str],
    request_options: typing.Optional[RequestOptions] = None,
) -> None:
```

**`Python example`**

```python Python example
from twelvelabs import TwelveLabs

client = TwelveLabs(api_key="<YOUR_API_KEY>")

client.knowledge_store_item_collections.remove_items(
    knowledge_store_id="<YOUR_KNOWLEDGE_STORE_ID>",
    collection_id="<YOUR_COLLECTION_ID>",
    item_ids=["<YOUR_ITEM_ID>"],
)
```

### Parameters

| Name                 | Type                                    | Required | Description                                                                                                                                                           |
| :------------------- | :-------------------------------------- | :------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `knowledge_store_id` | `str`                                   | Yes      | The unique identifier of the knowledge store.                                                                                                                         |
| `collection_id`      | `str`                                   | Yes      | The unique identifier of the knowledge store item collection.                                                                                                         |
| `item_ids`           | `typing.` `Sequence[str]`               | Yes      | The unique identifiers of the items to remove from the collection. Include up to 500 identifiers per request.                                                         |
| `request_options`    | `typing.` `Optional` `[RequestOptions]` | No       | Per-call SDK settings such as timeout, retries, and headers. For all fields, see [Request options](/v1.3/sdk-reference/python/the-twelve-labs-class#request-options). |

### Return value

This method does not return a value.

### API Reference

[Remove items from an item collection](/v1.3/api-reference/knowledge-store-items/item-collections/remove-items).