Non-Media Entry Types - Content Management
Non-Media Entry Types
Document Entries (documents service)
Upload documents (PDF, DOCX, PPTX) using the documents service. Documents go through Kaltura's document conversion pipeline for web viewing.
| Action | Description |
|---|---|
documents.addContent | Attach content to a NO_CONTENT document entry |
documents.updateContent | Replace document content |
documents.convert | Trigger document conversion |
documents.get | Get document entry |
documents.update | Update document metadata |
documents.delete | Delete document entry |
documents.list | List document entries |
documents.serve | Serve document file directly |
documents.serveByFlavorParamsId | Serve a specific converted rendition |
Document types (documentType):
| Value | Name | Description |
|---|---|---|
| 11 | DOCUMENT | General document (Word, PowerPoint, etc.) |
| 12 | SWF | Flash document |
| 13 | PDF document |
# Create a document entry and attach content
curl -X POST "$KALTURA_SERVICE_URL/service/baseEntry/action/add" \
-d "ks=$KALTURA_KS" \
-d "format=1" \
-d "entry[objectType]=KalturaDocumentEntry" \
-d "entry[name]=Presentation Slides" \
-d "entry[documentType]=11" \
-d "entry[tags]=slides,training"
curl -X POST "$KALTURA_SERVICE_URL/service/documents_documents/action/addContent" \
-d "ks=$KALTURA_KS" \
-d "format=1" \
-d "entryId=$DOC_ENTRY_ID" \
-d "resource[objectType]=KalturaUploadedFileTokenResource" \
-d "resource[token]=$UPLOAD_TOKEN_ID"
Business scenario -- slide sync: A university uploads PPTX presentations that are automatically converted for web viewing and can be synchronized with recorded lectures using the Chapters & Slides API.
Data Entries (data service)
Upload any file type as a data entry. Data entries are stored and served as-is without transcoding.
| Action | Description |
|---|---|
data.add | Create a data entry (status is immediately READY) |
data.addContent | Set text/XML content on an existing entry |
data.get | Get data entry |
data.update | Update data entry metadata |
data.delete | Delete data entry |
data.list | List data entries |
data.serve | Serve data content as file download |
curl -X POST "$KALTURA_SERVICE_URL/service/baseEntry/action/add" \
-d "ks=$KALTURA_KS" \
-d "format=1" \
-d "entry[objectType]=KalturaDataEntry" \
-d "entry[type]=6" \
-d "entry[name]=Configuration File" \
-d "entry[tags]=config,json"
curl -X POST "$KALTURA_SERVICE_URL/service/baseEntry/action/addContent" \
-d "ks=$KALTURA_KS" \
-d "format=1" \
-d "entryId=$DATA_ENTRY_ID" \
-d "resource[objectType]=KalturaUploadedFileTokenResource" \
-d "resource[token]=$UPLOAD_TOKEN_ID"
Set conversionProfileId=-1 to skip transcoding for data entries.
Business scenario -- configuration storage: A video platform stores per-player configuration JSON as data entries, versioned alongside the media they configure.
Choosing the Right Entry Type
| File Type | Service | Entry Object | Transcoded? | Delivered Via |
|---|---|---|---|---|
| Video, audio, image | media | KalturaMediaEntry | Yes | playManifest (HLS/DASH) |
| PDF, Word, PowerPoint | documents | KalturaDocumentEntry | Converted for web | documents.serve |
| Any other file | baseEntry | KalturaDataEntry (type=6) | No | Raw serve URL |
| Supplementary file on a media entry | attachmentAsset | KalturaAttachmentAsset | No | attachmentAsset.serve |