Skip to the content.

Media

Tools for managing media files in the Revel Digital library. Media includes images (JPG, PNG, GIF), videos (MP4, WebM), PDFs, web pages, and other content types uploaded for playback on devices.


list_media

List media files in the account. Returns media objects with id, name, file type, group assignment, tags, and availability dates.

Parameter Type Required Description
group_id string or string[] No Filter by media group ID(s)
group_name string or string[] No Filter by media group name(s)
take number No Results per page
page number No Page number (1-based)

get_media

Get detailed information about a specific media file by ID. Returns name, file type, size, URL, group assignment, tags, availability dates, and sharing status.

Parameter Type Required Description
id string Yes The media item ID

update_media

Update a media item’s metadata. This does not replace the media file itself — only its properties.

Parameter Type Required Description
id string Yes The media item ID
name string No Updated display name
group_id string No Move to this group
tags string No Comma-separated tags
is_shared boolean No Share across organizations
start_date string No ISO 8601 date when available for playback
end_date string No ISO 8601 date when media expires

delete_media

Permanently delete a media file. This action cannot be undone. If the media is referenced by playlists or templates, those references will become invalid.

Parameter Type Required Description
id string Yes The media item ID

import_media

Import a media file from an external URL. The server fetches the file and adds it to the media library.

Parameter Type Required Description
url string Yes Public URL of the media file to import
group_id string No Media group ID to place the file in

create_media_upload

Create a presigned upload slot for adding a local file (e.g. a .webapp zip, image, or video) to the media library without the bytes passing through the MCP server. Returns { id, upload_url, method, headers, key, expires_at }.

After this returns, the calling agent uploads the file itself: send an HTTP PUT (the returned method) to upload_url with exactly the returned headers and the raw file bytes as the body. The URL is presigned — it requires no Revel Digital authentication:

curl -X PUT -T myapp.webapp -H "Content-Type: application/zip" "<upload_url>"

Then poll get_media_upload until the status is uploaded, and call finalize_media_upload.

Parameter Type Required Description
name string Yes File name including extension — determines the media type (e.g. myapp.webapp becomes a webapp item)
group_id string No Media group ID to place the new item in
tags string[] No Tags for categorization and search
content_type string No MIME type (e.g. application/zip)
size integer No File size in bytes, if known
is_shared boolean No Share across organizations
advertiser_id string No Advertiser to associate with the item

get_media_upload

Check the status of a presigned upload slot. Returns { id, status, key, created_at, expires_at, media_id }. Poll after PUTting the bytes until status is uploaded/completed, then finalize.

Parameter Type Required Description
id string Yes The upload slot ID from create_media_upload

finalize_media_upload

Finalize a presigned upload after the bytes have been PUT to the upload_url. Ingests the object and registers it in the media library, returning the created Media object (a .webapp file becomes a webapp-typed media item). Returns 400 if the object is missing or oversized, 404 if the slot is invalid or expired.

Parameter Type Required Description
id string Yes The upload slot ID from create_media_upload

approve_media

Approve a media asset so it becomes eligible for playback. GraphQL-backed — there is no REST equivalent. Reversible via decline_media.

Parameter Type Required Description
id string Yes The media asset ID to approve

decline_media

Decline a media asset so it is excluded from playback. GraphQL-backed — there is no REST equivalent. Reversible via approve_media.

Parameter Type Required Description
id string Yes The media asset ID to decline
reason string No Optional reason recorded with the decline

Back to Home