> For the complete documentation index, see [llms.txt](https://teamleader-sdk.mcore-services.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://teamleader-sdk.mcore-services.dev/api-reference/products/product-categories.md).

# Product Categories

Manage product categories in Teamleader Focus.

```php
Teamleader::productCategories()
```

|                          |                                                             |
| ------------------------ | ----------------------------------------------------------- |
| Class                    | `McoreServices\TeamleaderSDK\Resources\Products\Categories` |
| Create / update / delete | — / — / —                                                   |
| Pagination               | No                                                          |

## Endpoints

* `productCategories.list`

## Filters

Passed as the first argument to `list()`. Any other key throws.

| Filter          | Description                                         |
| --------------- | --------------------------------------------------- |
| `department_id` | The ID of the department to filter on (UUID format) |

## Methods

### `list()`

```php
list(array $filters = [], array $options = []): array
```

List product categories with filtering

* `$filters` — Filters to apply
* `$options` — Additional options (not used for this endpoint)

### `forDepartment()`

```php
forDepartment(string $departmentId): array
```

Get product categories for a specific department

* `$departmentId` — Department UUID

### `getResponseStructure()`

```php
getResponseStructure(): array
```

Get response structure documentation

### `getAvailableFilters()`

```php
getAvailableFilters(): array
```

Get available filters for product categories

## Examples

Get all product categories:

```php
$categories = Teamleader::productCategories()->list();
```

Get product categories for specific department:

```php
$categories = Teamleader::productCategories()->forDepartment("080aac72-ff1a-4627-bfe3-146b6eee979c");
```

Get categories with custom filtering:

```php
$categories = Teamleader::productCategories()->list([
                "department_id" => "department-uuid-here"
            ]);
```
