Skip to main content
View as Markdown

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.

ActionDescription
documents.addContentAttach content to a NO_CONTENT document entry
documents.updateContentReplace document content
documents.convertTrigger document conversion
documents.getGet document entry
documents.updateUpdate document metadata
documents.deleteDelete document entry
documents.listList document entries
documents.serveServe document file directly
documents.serveByFlavorParamsIdServe a specific converted rendition

Document types (documentType):

ValueNameDescription
11DOCUMENTGeneral document (Word, PowerPoint, etc.)
12SWFFlash document
13PDFPDF 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.

ActionDescription
data.addCreate a data entry (status is immediately READY)
data.addContentSet text/XML content on an existing entry
data.getGet data entry
data.updateUpdate data entry metadata
data.deleteDelete data entry
data.listList data entries
data.serveServe 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 TypeServiceEntry ObjectTranscoded?Delivered Via
Video, audio, imagemediaKalturaMediaEntryYesplayManifest (HLS/DASH)
PDF, Word, PowerPointdocumentsKalturaDocumentEntryConverted for webdocuments.serve
Any other filebaseEntryKalturaDataEntry (type=6)NoRaw serve URL
Supplementary file on a media entryattachmentAssetKalturaAttachmentAssetNoattachmentAsset.serve