Reference - Content Moderation
Reference
Permissions
| Permission | Required For |
|---|---|
CONTENT_MODERATE_BASE | List moderation flags (baseEntry.listFlags) |
CONTENT_MODERATE_APPROVE_REJECT | Approve or reject entries; receives flag email notifications |
CONTENT_MANAGE_CATEGORY_USERS | Manage category-level moderation settings |
REACH_VENDOR_CONFIG | Configure REACH moderation catalog items and policies |
CONTENT_MANAGE_ENTRY_USERS | Required 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:
| Event | Trigger |
|---|---|
ENTRY_MODERATION_CHANGED | Entry moderationStatus changes (flag, approve, reject) |
ENTRY_VENDOR_TASK_STATUS_CHANGED | REACH 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 entriesENTRY_CHANGED— re-run moderation when content is replacedENTRY_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:
- Create a moderation catalog item (
serviceFeature=15) with the desired policy - Create an automation rule linking an event trigger to the catalog item
- Optionally add conditions to limit which entries are auto-moderated (by media type, tags, category, etc.)
Error Handling
| Error | Code | Cause |
|---|---|---|
ENTRY_CANNOT_BE_FLAGGED | MODERATE_NOT_ALLOWED | Entry is in REJECTED or PENDING_MODERATION status — cannot flag |
ENTRY_NOT_FOUND | ENTRY_ID_NOT_FOUND | Invalid entry ID passed to approve/reject/flag |
MODERATION_NOT_ENABLED | SERVICE_FORBIDDEN | Account does not have moderation enabled |
INSUFFICIENT_PERMISSIONS | INVALID_KS | KS lacks the required moderation permission |
REACH_CATALOG_ITEM_NOT_FOUND | CATALOG_ITEM_NOT_FOUND | Invalid catalog item ID for AI moderation task |
REACH_QUOTA_EXCEEDED | VENDOR_QUOTA_EXCEEDED | Account REACH quota exhausted — contact support |
Related Guides
| Guide | Description |
|---|---|
| Authentication | How to generate admin and user KS tokens |
| Content Management | Entry CRUD and metadata management |
| Categories & Channels | Category management and entitlements |
| REACH Captions | Captioning — shares the REACH infrastructure with moderation |
| Webhooks | Event notification setup for moderation triggers |
| Player Embed | Embedding Kaltura Player with the moderation plugin |
| Analytics | Track moderation-related events and queue metrics |