Skip to main content
View as Markdown

Reference - Content Moderation

Reference​

Permissions​

PermissionRequired For
CONTENT_MODERATE_BASEList moderation flags (baseEntry.listFlags)
CONTENT_MODERATE_APPROVE_REJECTApprove or reject entries; receives flag email notifications
CONTENT_MANAGE_CATEGORY_USERSManage category-level moderation settings
REACH_VENDOR_CONFIGConfigure REACH moderation catalog items and policies
CONTENT_MANAGE_ENTRY_USERSRequired for user.notifyBan

Notifications​

Email templates: The platform sends email notifications when entries are flagged, approved, or rejected. These use the account's configured email templates and are sent to users with the CONTENT_MODERATE_APPROVE_REJECT permission.

Webhook integration: Use event notifications to trigger external systems on moderation events:

EventTrigger
ENTRY_MODERATION_CHANGEDEntry moderationStatus changes (flag, approve, reject)
ENTRY_VENDOR_TASK_STATUS_CHANGEDREACH moderation task status changes (processing → ready)

REACH Automation Rules​

Automate moderation by triggering REACH tasks on upload events:

Trigger events:

  • ENTRY_CREATED — run moderation on newly uploaded entries
  • ENTRY_CHANGED — re-run moderation when content is replaced
  • ENTRY_CATEGORY_ADDED — run moderation when an entry is added to a moderated category

Rule structure:

{
"triggerEvent": "ENTRY_CREATED",
"catalogItemId": 12345,
"conditions": {
"mediaTypeIn": "1,5",
"tagsLike": "ugc"
}
}

Setup flow:

  1. Create a moderation catalog item (serviceFeature=15) with the desired policy
  2. Create an automation rule linking an event trigger to the catalog item
  3. Optionally add conditions to limit which entries are auto-moderated (by media type, tags, category, etc.)

Error Handling​

ErrorCodeCause
ENTRY_CANNOT_BE_FLAGGEDMODERATE_NOT_ALLOWEDEntry is in REJECTED or PENDING_MODERATION status — cannot flag
ENTRY_NOT_FOUNDENTRY_ID_NOT_FOUNDInvalid entry ID passed to approve/reject/flag
MODERATION_NOT_ENABLEDSERVICE_FORBIDDENAccount does not have moderation enabled
INSUFFICIENT_PERMISSIONSINVALID_KSKS lacks the required moderation permission
REACH_CATALOG_ITEM_NOT_FOUNDCATALOG_ITEM_NOT_FOUNDInvalid catalog item ID for AI moderation task
REACH_QUOTA_EXCEEDEDVENDOR_QUOTA_EXCEEDEDAccount REACH quota exhausted — contact support
GuideDescription
AuthenticationHow to generate admin and user KS tokens
Content ManagementEntry CRUD and metadata management
Categories & ChannelsCategory management and entitlements
REACH CaptionsCaptioning — shares the REACH infrastructure with moderation
WebhooksEvent notification setup for moderation triggers
Player EmbedEmbedding Kaltura Player with the moderation plugin
AnalyticsTrack moderation-related events and queue metrics