Skip to main content
View as Markdown

Scheduling vs Access Control - Content Management

Scheduling vs Access Control​

Kaltura has two mechanisms for enforcing time-based access:

Entry-level scheduling (simpler):

  • Set startDate and endDate on the entry
  • Single start/end window
  • Enforced server-side across all devices
  • Configurable via Rich Media CMS (KMC) without API calls

Access control scheduling (advanced):

  • Multiple scheduling windows per entry
  • Combined with other conditions (device + time, country + time)
  • Metadata-driven scheduling (per-device availability windows)
  • Requires access control profile configuration

Use entry-level scheduling when a single time window is sufficient. Use access control scheduling for per-device windows, multiple windows, or combined restrictions.

Checking Scheduling Status​

Use baseEntry.getContextData to check whether content is currently available:

curl -X POST "$KALTURA_SERVICE_URL/service/baseEntry/action/getContextData" \
-d "ks=$KALTURA_KS" \
-d "format=1" \
-d "entryId=$KALTURA_ENTRY_ID" \
-d "contextDataParams[objectType]=KalturaEntryContextDataParams"

The response (KalturaEntryContextDataResult) includes:

  • isScheduledNow -- boolean, whether the entry is within its scheduling window
  • actions -- array of access control actions that would be enforced
  • messages -- array of rule messages

Use isScheduledNow to display user-friendly messages (e.g., "This video is available from X to Y") instead of a blank player.