Overview - Content Management
Access Control Overview
The Access Control API manages content access restrictions through profiles, rules, conditions, and actions. Access control profiles are assigned to entries and enforced server-side on every playManifest, raw serve, download, and thumbnail request. Rules evaluate conditions (IP address, country, domain, user agent, authentication, scheduling, metadata) and execute actions (block, preview, limit flavors, limit delivery profiles) when conditions are met.
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)
Format: Form-encoded POST, format=1 for JSON responses
Service: accessControlProfile (5 actions)
When to Use
- Geo-restricted content -- Block playback outside licensed countries/regions (sports broadcasting, media licensing)
- Domain-locked embedding -- Restrict video playback to specific domains (prevent unauthorized embedding)
- IP whitelisting -- Allow access only from corporate networks or specific IP ranges
- Time-windowed availability -- Content available only during specific scheduling windows (catch-up TV, live event replays)
- Device-specific restrictions -- Different rules for mobile vs desktop, or specific device families
- Preview/paywall -- Allow first N seconds of playback, then require authentication for full content
- Metadata-driven access -- Dynamic rules based on entry metadata (content rating, language, format type)
- Download vs playback split -- Allow streaming but block downloads, or vice versa
Prerequisites
- Kaltura Session (KS): ADMIN KS (type=2) with
ACCESS_CONTROL_BASEpermission for profile CRUD - Partner ID and API credentials: From KMC > Settings > Integration Settings
- Service URL: Set
$KALTURA_SERVICE_URLto your account's regional endpoint
Authentication
ADMIN KS (type=2) with ACCESS_CONTROL_BASE permission. Generate via session.start (see Session Guide) or appToken.startSession (see AppTokens Guide).
export KALTURA_SERVICE_URL="https://www.kaltura.com/api_v3"