Skip to main content
View as Markdown

Category Moderation - Content Moderation

Category Moderation​

Categories (channels) can require moderation independently of entry-level moderation. When a category has moderation=1, entries added to that category start with categoryEntry.status = PENDING and must be explicitly activated.

categoryEntry.activate — Approve Entry in Category​

curl -X POST "$KALTURA_SERVICE_URL/service/categoryEntry/action/activate" \
-d "ks=$KALTURA_KS" \
-d "format=1" \
-d "entryId=$KALTURA_ENTRY_ID" \
-d "categoryId=$CATEGORY_ID"

categoryEntry.reject — Reject Entry in Category​

curl -X POST "$KALTURA_SERVICE_URL/service/categoryEntry/action/reject" \
-d "ks=$KALTURA_KS" \
-d "format=1" \
-d "entryId=$KALTURA_ENTRY_ID" \
-d "categoryId=$CATEGORY_ID"

Entry Moderation vs. Category Moderation​

FeatureEntry ModerationCategory Moderation
ScopeGlobal — affects playback everywherePer-category — affects visibility in that category only
Status fieldentry.moderationStatuscategoryEntry.status
Default for new contentAUTO_APPROVED (6) or PENDING_MODERATION (1)PENDING if category has moderation=1
User flaggingbaseEntry.flag creates flagsNot supported — admin-only
ActionsbaseEntry.approve / rejectcategoryEntry.activate / reject
Playback impactBlocks playback entirelyEntry still plays via direct link; hidden from category listing
AI integrationManual bridge via webhookDirect auto-action from REACH task results

An entry can be approved globally (moderationStatus=APPROVED) but still pending in a specific category. The two systems are independent — approving an entry does not activate it in moderated categories, and vice versa.