Error Handling & Best Practices - Content Management
Error Handling & Best Practices
Error Handling
| Error | Meaning | Resolution |
|---|---|---|
| HTTP 403 | Access denied by access control rules | Check KS, referrer, IP, geo restrictions |
| HTTP 404 | Entry not found or not READY | Verify entry exists and status=2 |
| Empty manifest | No matching flavors for the requested format | Check flavor tags, format compatibility |
ENTRY_DELETED_MODERATED | Entry was deleted or rejected by moderator | Entry is no longer available |
| Redirect loop | playManifest can't resolve a delivery profile | Check delivery profile configuration |
Best Practices
- Use HLS (
applehttp) as default format. It has the broadest device support and efficient adaptive bitrate switching. - Always use HTTPS protocol. Partners with
enforce_encryptionwill block non-HTTPS requests. - Append KS for protected content. Access-controlled entries require a valid KS in the URL. Use short-lived user KS (type=0) for player embed, not admin KS.
- Use
playSessionIdfor analytics. Include a unique session ID to track playback analytics accurately. - Use
referrerfor domain restrictions. Base64-encode the page URL and pass it as thereferrerparameter. - Cache playManifest URLs. Manifest URLs are CDN-cached. For time-sensitive access control, use
expiryandktparameters. - Use
flavorAsset.getUrlfor download links. It handles storage selection, CDN routing, and tokenization automatically. - Use Access Control profiles for restrictions. The platform handles geo, IP, domain, and scheduling checks during playback — configure them in Kaltura and they're enforced on every request.
- Short-form parameter names (
e,f,pt, etc.) are supported for all playManifest parameters for shorter URLs. - Videos under 10 seconds: Akamai HDS format automatically falls back to progressive HTTP for very short videos.