---
title: Overview
url: https://docs.kaltura.com/docs/rich-media-cms-apis/content-management/categories-overview
---

## Categories & Entitlements Overview

The Categories & Entitlements API covers content organization and user-based content permissions: creating category hierarchies (`KalturaCategory`), managing category membership (`categoryUser`), assigning content to categories (`categoryEntry`), and enforcing content visibility through the entitlement system. Categories are the foundation for Kaltura's entitlement system, which restricts content visibility based on privacy settings, user membership, and KS privileges.

**Base URL:** `https://www.kaltura.com/api_v3` (may differ by region/deployment)  
**Auth:** KS passed as `ks` parameter in POST form data (see [Session Guide](/docs/getting-started/authentication/ks-overview))  
**Format:** Form-encoded POST, `format=1` for JSON responses  
**Services:** `category` (11 actions), `categoryUser` (10 actions), `categoryEntry` (9 actions)

### When to Use


- **Department-based content portals** organize media into hierarchical categories with membership-based visibility so each team sees only its own content.  
- **Multi-tenant applications** use category entitlements to isolate content between business units, clients, or partner organizations within a single Kaltura account.  
- **Premium content and subscriptions** gate access to content categories based on paid subscriptions or membership levels.  
- **Group collaboration** channels let team members share and discover content visible only to the group.  
- **Content operations teams** manage large-scale content assignment, category restructuring, and bulk permission updates across thousands of entries.  
- **Application-specific content scoping** uses privacy contexts to separate entitlement rules per application while sharing content across one Kaltura account.




### Prerequisites


- **Kaltura Session (KS):** ADMIN KS (type=2) with `CONTENT_MANAGE_CATEGORY` permission for category and membership operations, `CONTENT_MANAGE_ASSIGN_ENTRY_TO_CATEGORY` for content assignment. See [Session Guide](/docs/getting-started/authentication/ks-overview).  
- **Partner ID and API credentials:** Available from KMC > Settings > Integration Settings.  
- **Service URL:** Set `$KALTURA_SERVICE_URL` to your account's regional endpoint (default: `https://www.kaltura.com/api_v3`).  
- **Entitlement feature:** Category entitlements require activation on your account. Contact your Kaltura representative to enable entitlement if category privacy settings are needed.




### Authentication


All endpoints require an ADMIN KS (type=2) with appropriate permissions:

- **Category CRUD:** `CONTENT_MANAGE_CATEGORY` permission  
- **Category membership:** `CONTENT_MANAGE_CATEGORY` permission  
- **Content assignment:** `CONTENT_MANAGE_ASSIGN_ENTRY_TO_CATEGORY` permission  

Generate an ADMIN KS via `session.start` (see [Session Guide](/docs/getting-started/authentication/ks-overview)) or `appToken.startSession` (see [AppTokens Guide](/docs/getting-started/authentication/app-tokens-overview)).


```bash
export KALTURA_SERVICE_URL="https://www.kaltura.com/api_v3"
```
