Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
WISTIA_ACCOUNTSNoPrivate named Bearer credentials; replaces single-account settings
WISTIA_API_TOKENNoPrivate scoped Bearer token
WISTIA_AUDIT_LOGNoPrivate guard-decision log path
WISTIA_READ_ONLYNoHide/refuse all 83 writes, leaving 86 reads0
WISTIA_TOKEN_FILENoRegular owner-only token-only file, max 64 KB; precedence over env token
WISTIA_API_VERSIONNoReviewed YYYY-MM Data API release header2026-09
WISTIA_MAX_RETRIESNoGET 429 retries, 0 to 52
WISTIA_DEFAULT_ACCOUNTNoDefault local credential label
WISTIA_ALLOW_DESTRUCTIVENo0 blocks writes even when confirmed1
WISTIA_REQUEST_TIMEOUT_MSNoInteger request deadline, 100 to 300000 ms30000
WISTIA_MIN_REQUEST_INTERVAL_MSNoAccount/process pacing, 0 to 10000 ms150

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
upload_mediaA

Endpoint to upload media files from a local system or import from a web URL.

  • Use multipart/form-data with a file parameter to upload from local system

  • Use application/x-www-form-urlencoded with a url parameter to import from web URL Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

upload_media_fileA

Endpoint to upload media files from a local system or import from a web URL.

  • Use multipart/form-data with a file parameter to upload from local system

  • Use application/x-www-form-urlencoded with a url parameter to import from web URL Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

list_review_bundlesA

Lists review bundles belonging to an account. This endpoint can also be used to do a batch fetch based off of the hashed id, or to find the bundles that include a given media or any media from a folder.

Requires api token with one of the following permissions

Read all folder and media data

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

create_review_bundleA

Creates a review bundle from a set of existing media, producing a single link that can be shared for review. The media to include are specified by their hashed IDs and must already belong to the account. The media can come from any folder. Review Bundles are limited to 25 media.

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

delete_review_bundleA

Permanently deletes a review bundle, identified by its hashed id. This removes the bundle and its shared review link; the media it contained are not deleted. This action cannot be undone.

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

list_deleted_mediaA

Lists media that has been soft-deleted and is still inside the account's restore window. Media is listed only while it can still be restored : 30 days on most plans, 14 on free plans. After which it is permanently purged.

Requires api token with one of the following permissions

Read all folder and media data

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

restore_deleted_mediaA

Restores one or more soft-deleted media. By default each media returns to the folder it was deleted from; pass folder_id to restore them into a specific folder instead. Only media still inside the restore window can be recovered. The restore runs asynchronously and the response includes a background job status.

Requires api token with one of the following permissions

Upload and view media

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

list_mediaA

Lists the media belonging to the account. This endpoint can also be used to do a batch fetch based off of the hashed id.

Requires api token with one of the following permissions

Read all folder and media data

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

get_mediaA

Fetches a single media by its hashed id.

Requires api token with one of the following permissions

Read all folder and media data

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token.

An expiring access token created with the all:delegate_to_contact_permissions scope and an authorization for this media can also be used; any permission granted on a media allows showing it. Read-only account operation.

update_mediaA

Updates the attributes on a media.

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token.

An expiring access token created with the all:delegate_to_contact_permissions scope and an authorization granting the update permission on this media can also be used. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

delete_mediaA

Deletes a media. Deleted media moves to the account's Recently Deleted area, where it can be restored until the account's restore window ends, after which it is permanently purged.

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token.

An expiring access token created with the all:delegate_to_contact_permissions scope and an authorization granting the destroy permission on this media can also be used. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

copy_mediaA

This endpoint copies a media and its assets to a destination folder (defaults to source media).

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

swap_mediaA

Swap one media with another media. This operation queues a background job to replace the original media with the replacement media while preserving the original media's hashed ID and URLs.

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token.

An expiring access token created with the all:delegate_to_contact_permissions scope can also be used when its authorizations grant the update permission on both the media being replaced and the replacement media. A replacement media the token does not name is treated as not found. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

get_media_statsB

Aggregated tracking statistics for a video embedded on your site.

Requires api token with one of the following permissions

Read all folder and media data

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

translate_mediaA

Translates the transcript for a media.

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

import_media_from_urlA

This endpoint imports a media file from a given URL. The import is processed asynchronously and will return a background_job_status object rather than the typical Media response object. You can poll the background job status endpoint to check on the progress of the import.

If no folder_id is provided, a new folder called "Untitled Folder" will be created and the imported media will be placed there.

The URL must be publicly accessible : Wistia's servers need to be able to fetch the file directly.

Note: imports from certain domains (e.g. vimeo.com, wistia.com) are not permitted.

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

archive_mediaA

This method accepts a list of up to 100 medias to archive per request. It processes requests asynchronously and will return a background_job_status object rather than the typical Media response object. Note that webinar medias and Soapbox videos imported to Wistia before September 1, 2023 cannot be archived.

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

move_mediaA

Moves up to 100 media to a folder and optional subfolder. The subfolder must belong to the specified folder.

This endpoint allows 10 requests per 5 minutes, separate from the general API rate limit. Returns a Background Job because the move is asynchronous.

For more than 100 media, multiple destinations, or mixed actions, use the Create Bulk Actions endpoint with move actions.

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token.

An expiring access token created with the all:delegate_to_contact_permissions scope and authorizations granting the update permission on every media being moved and on the destination folder can also be used. subfolder_id is not available to expiring access tokens. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

restore_mediaA

Restores archived medias to your account. This method accepts a list of up to 100 medias to restore per request. It processes requests asynchronously and will return a background_job_status object rather than the typical Media response object. Your account must have access to the Archiving feature to use this method.

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

bulk_copy_mediaA

This method accepts a list of medias to copy to a destination folder. It processes requests asynchronously and will return a background_job_status object rather than the typical Media response object.

Each media will be duplicated and the copy will be placed in the specified destination folder. The original media files will not be affected.

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token.

An expiring access token created with the all:delegate_to_contact_permissions scope and an authorization granting the update permission on the destination folder can also be used; only the media the token's authorizations name are copied. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

get_customizationsB

Fetches explicitly defined customizations for the video.

Requires api token with one of the following permissions

Read all folder and media data

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

create_customizationsA

Set customizations for a video. Replaces the customizations explicitly set for this video.

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

update_customizationsA

Allows for partial updates on a video’s customizations. If a value is null, then that key will be deleted from the saved customizations. If it is not null, that value will be set.

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

delete_customizationsA

Deletes all explicit customizations for a video, making it act as if it has never been customized.

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

get_appearance_customizationsA

Fetches the explicitly-set appearance customizations (player color, gradient, rounded corners, control contrast, and customer logo) for the video.

Requires api token with one of the following permissions

Read all folder and media data

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

update_appearance_customizationsA

Applies a partial update to a video's appearance customizations. Only the fields supplied are changed; sending a field as null deletes it (reverting to the default).

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

get_playback_customizationsA

Fetches the explicitly-set playback customizations (autoplay, mute, controls visibility, player control buttons, end behavior, looping, quality bounds, and embed/runtime flags) for the video.

Requires api token with one of the following permissions

Read all folder and media data

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

update_playback_customizationsA

Applies a partial update to a video's playback customizations. Only the fields supplied are changed; sending a field as null deletes it (reverting to the default).

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

get_thumbnail_customizationsA

Fetches the explicitly-set thumbnail customizations (still image URL, alt text, fit strategy, and the looping video thumbnail / text-overlay plugins) for the video.

Requires api token with one of the following permissions

Read all folder and media data

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

update_thumbnail_customizationsA

Applies a partial update to a video's thumbnail customizations. Only the fields supplied are changed; sending a field as null deletes it (reverting to the default).

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

get_accessibility_customizationsB

Fetches the explicitly-set accessibility customizations (caption display and styling, transcript display, and audio description) for the video.

Requires api token with one of the following permissions

Read all folder and media data

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

update_accessibility_customizationsA

Applies a partial update to a video's accessibility customizations. Only the fields supplied are changed; sending a field as null deletes it (reverting to the default).

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

get_chapters_customizationsA

Fetches the explicitly-set chapter customizations (the chapter list and its visibility) for the media.

Requires api token with one of the following permissions

Read all folder and media data

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

update_chapters_customizationsA

Applies a partial update to a media's chapter customizations. Only the fields supplied are changed; sending a field as null deletes it.

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

get_engagement_customizationsA

Fetches the explicitly-set engagement customizations (the end/pause Call To Action and timed annotation links) for the video.

Requires api token with one of the following permissions

Read all folder and media data

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

update_engagement_customizationsA

Applies a partial update to a video's engagement customizations. Only the fields supplied are changed; sending a field as null deletes it (reverting to the default).

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

get_related_media_customizationsA

Fetches the explicitly-set related-media ("discover more") customizations (which videos to recommend, when to show them, label and button text) for the video.

Requires api token with one of the following permissions

Read all folder and media data

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

update_related_media_customizationsA

Applies a partial update to a video's related-media customizations. Only the fields supplied are changed; sending a field as null deletes it (reverting to the default).

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

get_sharing_customizationsA

Fetches the explicitly-set sharing customizations (the social/embed/download share bar: enabled channels, tweet text, download type, and page URL/title) for the video.

Requires api token with one of the following permissions

Read all folder and media data

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

update_sharing_customizationsA

Applies a partial update to a video's sharing customizations. Only the fields supplied are changed; sending a field as null deletes it (reverting to the default).

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

get_lead_capture_customizationsB

Fetches the explicitly-set lead-capture plugins (Turnstile, Wistia Form, and HubSpot/Marketo/Pardot form embeds) for the video.

Requires api token with one of the following permissions

Read all folder and media data

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

update_lead_capture_customizationsA

Configures a single lead-capture provider for the video, mapping it to the appropriate underlying plugin. Only the selected provider is changed.

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

get_access_customizationsA

Fetches the explicitly-set password-protection settings for the video, including the stored password.

Requires api token with one of the following permissions

Read all folder and media data

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

update_access_customizationsA

Applies a partial update to a video's password-protection settings. Only the fields supplied are changed; sending a field as null deletes it.

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

resolve_share_linkA

Resolves a share link URL segment : the part after /s/ in a share link like https://example.wistia.com/s/summer-sale : to the share link and the media it points to, including the media's hashed ID.

The identifier may be the share link's hashed ID or its custom slug. Historical slugs that were later changed still resolve to the link.

Requires api token with one of the following permissions

Read all folder and media data

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

get_share_linkA

Fetches the share link for a single media. If the media does not have a share link yet, one is created on first request with a default visibility derived from the parent folder.

Requires api token with one of the following permissions

Read all folder and media data

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

update_share_linkA

Updates the share link for a single media. If the media does not have a share link yet, one is created with the supplied visibility.

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

delete_share_linkA

Deletes the share link for a media, revoking the URL. A new share link can be created later with a fresh URL by calling the show or update endpoint again.

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

list_captionsB

Lists captions belonging to a specific media.

Requires api token with one of the following permissions

Read all folder and media data

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

create_captionsA

Adds captions to a specified media by providing an SRT file or its contents directly.

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

list_all_captionsA

Lists captions belonging to the account. Results can be narrowed to a specific media with media_id, or to several media and languages at once with media_ids[] and languages[]. Each caption includes its text, so combining these filters with pagination fetches transcripts for many media in a few requests. Pass include=metadata to omit transcript text when only track and language information is needed.

Requires api token with one of the following permissions

Read all folder and media data

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

find_caption_matchesA

Finds exact text in caption tracks without modifying them. Matching uses the same normalization, composite-media boundaries, and time coordinates as the targeted caption edit endpoint. Fuzzy alternatives are returned separately as suggestions and are never reported as exact matches. A resolved match means the wording was located; a later write can still fail authorization, version, or edit-boundary checks.

When more than 10 exact matches exist, use the one-based occurrence parameter to retrieve a specific later match.

Authentication and request validation failures apply to the whole request. Missing, inaccessible, or otherwise unreadable media are reported as per-media statuses without exposing whether an inaccessible ID exists.

Requires api token with one of the following permissions

Read all folder and media data

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Read-only account operation.

purchase_captionsA

This method is for purchasing English captions for a media. The request will charge the credit card on the account if successful. A saved credit card is required to use this endpoint.

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

get_captionsA

Returns a media's captions in the specified language. Supports multiple formats: JSON (default), SRT, VTT, and TXT. Use file extensions (.srt, .vtt, .txt) or Accept headers to specify format.

Requires api token with one of the following permissions

Read all folder and media data

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

update_captionsA

This method is for replacing the captions on a video or audio media for the specified language.

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

delete_captionsA

Removes the captions file from a media for the specified language.

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

edit_captions_textA

Applies targeted find-and-replace corrections to a media's transcript for the specified language, preserving the timings of unchanged words. The whole batch is applied atomically against a specific caption version, or nothing is.

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

list_localizationsA

Lists all the localizations for a media.

Requires api token with one of the following permissions

Read all data

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

create_localizationA

Creates a new localization.

Creating a localization can incur a charge on your account. Accounts get a free-dub allowance; once it is used up, dubs bill per minute at the account's configured rate.

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

get_localizationB

Obtain detailed information about a localization.

Requires api token with one of the following permissions

Read all data

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

delete_localizationB

Deletes a localization.

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

create_media_from_trimsA

Creates a new media that trims off parts of an existing media.

By default, the trims parameter specifies time ranges to remove from the media. When keep_trims is set to true, the trims parameter instead specifies time ranges to keep in the media.

NOTE: currently this endpoint only supports trimming video files.

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

list_media_extended_audio_descriptionsC

Lists all extended audio descriptions belonging to the account. Supports pagination and sorting. Read-only account operation.

get_media_extended_audio_descriptionA

Retrieves a single extended audio description by its hashed id, including download links. Read-only account operation.

delete_media_extended_audio_descriptionA

Deletes an extended audio description by its hashed id. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

order_extended_audio_descriptionA

Orders an extended audio description for a media. The request will charge the credit card on the account when the order is ready. Only accounts on paid plans with the order_audio_descriptions feature can use this endpoint. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

get_order_statusA

Returns the current status of an extended audio description order. Use the order id returned from the order endpoint to poll for status updates. Read-only account operation.

list_brandsA

Lists the brands belonging to the account. A brand is a saved set of branding options (colors, fonts, logos, and layout) that can be applied to media, folders, and channels. The account-level default brand is flagged with is_default, and styles everything that has no brand of its own.

Requires api token with one of the following permissions

Read all data

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

create_brandA

Creates a brand. A brand is a saved set of branding options (colors, fonts, logos, and layout) that can then be applied to media, folders, and channels. name is required; every other field is optional and left unset when omitted.

A new brand isn't applied to anything : it has no effect until you apply it to a resource with POST /brands/{brandId}/apply.

Accounts whose plan doesn't include multiple brands can only hold one brand.

Requires api token with one of the following permissions

All data

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

get_brandB

Returns the brand with the given id.

Requires api token with one of the following permissions

Read all data

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

update_brandA

Updates a brand. Only the fields you send are changed; send an explicit null to unset one. Renaming the account-level default brand is ignored : its name is managed by Wistia.

Changes propagate to everything the brand is applied to.

Requires api token with one of the following permissions

All data

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

delete_brandA

Deletes a brand. Anything the brand was applied to falls back to the account-level default brand, unless sync_to_customizations is set, in which case the brand's values are written into each item's own customizations first so they keep their current look.

The account-level default brand (is_default: true) can't be deleted.

Requires api token with one of the following permissions

All data

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

apply_brandA

Applies a brand to a media, folder, or channel, so that resource is styled by the brand's colors, fonts, logos, and layout.

A brand has no effect until it is applied to something. Media inherit from their folder, and folders from the account's default brand, so applying a brand to a folder styles everything inside it that has no brand of its own.

Applying the account-level default brand (is_default: true) is how a resource is un-branded: it detaches the resource so it inherits again.

By default this also clears any brand-mapped appearance settings the resource had set directly, so the brand is what shows. Pass clear_overrides: false to leave those in place.

Responds with the brand now in effect on the resource, which is not always the one you applied : detaching a media returns the brand it falls back to.

Webinars can't be branded through this endpoint yet.

Requires api token with one of the following permissions

All data

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

list_speakersA

Lists reusable speaker profiles belonging to the account.

Requires api token with one of the following permissions

Read all data

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. View-only contacts cannot list speaker profiles. Read-only account operation.

list_tagsB

Lists tags belonging to the account.

Requires api token with one of the following permissions

Read all data

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

create_tagsA

Creates a new tag.

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

delete_tagB

Deletes a tag

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

create_bulk_actionsA

Submits a batch of up to 1000 create, update, delete, and move actions to be processed asynchronously. Returns a background job status whose Show endpoint reports aggregate progress and per-action results, including the hashed IDs of created records.

Supported resource types are media, folder, subfolder, channel, channel_episode, captions, and the ten customization_* concerns. A folder is a top-level folder (previously called a project); a subfolder is nested inside one and requires folder_id and name when created. A captions action operates on one caption track -- one media in one language.

Because caption actions carry SRT contents inline, they are the resource type most likely to reach the request body limit before the action cap. Purchasing captions is not available here -- it has its own endpoint.

A move action targets one media and accepts a destination folder_id and optional subfolder_id. Bulk moves can use different destinations and are not subject to the Move Media endpoint's 100-item limit or separate throttle.

Player customizations are addressed one concern at a time (customization_appearance, customization_playback, and so on), matching the Update Customizations endpoints; each accepts update only, takes the media's hashed ID as its id, and takes the same payload as its corresponding endpoint. There is no batch equivalent of the broad customize endpoint, so a batch always states which slice of the player it is changing.

A media update payload can also carry a custom_metadata object mapping field keys to the values to set (null clears a field; omitted fields are left untouched). Values are validated against each field's type exactly as the Set Custom Metadata Field Value endpoint validates them, and each write is recorded with its actor and source. Requires the custom metadata feature on the account; without it actions carrying custom_metadata fail individually.

Deleting a folder or subfolder also soft-deletes its media. An account owner or manager can restore that media from the trash until it purges. To keep the media when deleting a subfolder, use the Delete Subfolder endpoint; it moves the media to the folder's root level instead.

Each action in the batch is authorized and processed independently: failures (including authorization failures) are reported per action and do not prevent other actions from completing. Media creation is not supported -- uploads and URL imports have their own endpoints.

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

create_bulk_purchaseA

Submits either an actions array of up to 1000 orders or one job that can resolve to up to 5000 media. Orders are placed asynchronously. Returns a background job status whose Show endpoint reports aggregate progress and per-order results.

Orders in the batch can incur charges, so a saved credit card is required. Supported resource types are captions (Wistia-generated English captions), localization (a dubbed, language-specific version of a media), extended_audio_description, and text_translation (the media's transcript translated into another language, audio untouched). Each order's id is the hashed ID of the media to order for.

What an order costs depends on the account, not on this endpoint. Automated captions are included at no cost on plans that provide them and billed at the account's configured per-minute rate otherwise; human-reviewed captions bill per minute at the account's standard or rush rate; localizations bill per minute once the account's free-dub allowance is used up; text translations bill as an overage once the account's included translation minutes are used up. Check the account's plan and billing settings for its actual rates.

Orders are priced and placed individually: failures -- an ineligible media, a language that already has a localization, an account not entitled to buy -- are reported per order and do not stop the rest of the batch. Pricing and eligibility match the equivalent single-media endpoints exactly.

Use the Create Bulk Actions endpoint for create, update, and delete work; it does not accept purchase, and this endpoint accepts nothing else.

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

bulk_tagA

This method accepts a list of medias to tag. It processes requests asynchronously and will return a background_job_status object rather than the typical Media response object.

The tags will be added to the existing tags on each media file, not replaced.

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

list_foldersA

Lists folders (previously called projects) belonging to the account. My Library folders are not included.

For tokens scoped to a specific user (all:delegate_to_contact_permissions), results are limited to folders that user can see in their content library: folders shared with them directly, through a contact group, or with the whole account (owners and managers see every folder). Public (unlocked) folders the user has no sharing on remain viewable by link but are not listed.

Requires api token with one of the following permissions

Read all folder and media data

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token.

An expiring access token created with the all:delegate_to_contact_permissions scope can also be used. Results are limited to the folders its authorizations name (any permission granted on a folder qualifies it), filtered as they would be for the contact the token was created for. Read-only account operation.

create_folderA

Creates a new folder (previously called project). If the folder is created successfully the Location HTTP header will point to the new folder.

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token.

An expiring access token created with the all:delegate_to_contact_permissions scope and an account authorization granting the create-folders permission can also be used. The folder's creator is the contact behind the token (the account owner for a token minted from an account-level token); adminEmail selects the folder's administrator (defaults to the account owner). personalLibrary creates the folder inside the My Library of the contact behind the token. The new folder is not covered by the token that created it, so follow-up requests need a token whose authorizations name the returned hashed id. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

get_folderB

Retrieves a single folder (previously called project).

Requires api token with one of the following permissions

Read all folder and media data

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token.

An expiring access token created with the all:delegate_to_contact_permissions scope and an authorization for this folder can also be used; any permission granted on a folder allows showing it. Read-only account operation.

update_folderB

Updates a folder (previously called project)

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token.

An expiring access token created with the all:delegate_to_contact_permissions scope and an authorization granting the update permission on this folder can also be used. The update permission also allows creating, renaming and deleting the folder's subfolders and using the folder as the destination when moving or bulk-copying media the token may update. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

delete_folderA

Deletes a folder (previously called project) and the media inside it.

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token.

An expiring access token created with the all:delegate_to_contact_permissions scope and an authorization granting the destroy permission on this folder can also be used. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

copy_folderA

This copies a folder (previously called project) and all its media and subfolders asynchronously in a background job.

This method does not copy the folder’s sharing information (i.e. users that could see the old folder will not automatically be able to see the new one).

For the request you can specify the owner of a new folder by passing an optional parameter. The person you specify must be a Manager in the account.

The body of the response will contain an object representing the background job that was created.

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

list_folder_sharingsB

Lists the sharings of contacts and contact groups on a folder.

Requires api token with one of the following permissions

Read all data

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

create_folder_sharingA

Creates a new sharing object for a folder by specifying the email of the person to share with and other optional parameters.

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

get_folder_sharingA

Retrieves the details of a specific sharing object for a given folder.

Requires api token with one of the following permissions

Read all data

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

update_folder_sharingC

Updates a sharing on a folder.

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

delete_folder_sharingB

Deletes a sharing on a folder.

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

list_subfoldersB

Lists subfolders in a specific folder.

Requires api token with one of the following permissions

Read all folder and media data

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token.

An expiring access token created with the all:delegate_to_contact_permissions scope and an authorization naming this folder (any permission) can also be used; it lists the folder's subfolders. Read-only account operation.

create_subfolderA

Creates a new subfolder within a folder. The subfolder will be created with the next available position.

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token.

An expiring access token created with the all:delegate_to_contact_permissions scope and an authorization granting the update permission on this folder can also be used. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

get_subfolderA

Retrieves detailed information about a specific subfolder, including all media contained within it.

Requires api token with one of the following permissions

Read all folder and media data

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token.

An expiring access token created with the all:delegate_to_contact_permissions scope and an authorization naming this folder (any permission) can also be used. The embedded media are limited to those the token's authorizations name. Read-only account operation.

update_subfolderA

Updates a subfolder's name and/or description.

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token.

An expiring access token created with the all:delegate_to_contact_permissions scope and an authorization granting the update permission on this folder can also be used. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

delete_subfolderA

Deletes one subfolder and moves its media to the folder's root level. The subfolder is soft-deleted and is no longer accessible via the API. To delete multiple subfolders and their media, use the Bulk Delete Subfolders endpoint.

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token.

An expiring access token created with the all:delegate_to_contact_permissions scope and an authorization granting the update permission on this folder can also be used. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

bulk_delete_subfoldersA

Deletes multiple subfolders asynchronously. Their media is also soft-deleted and can be restored from the trash by an account owner or manager until it is purged. To keep the media, use the Delete Subfolder endpoint, which moves it to the folder's root level.

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token.

An expiring access token created with the all:delegate_to_contact_permissions scope and an authorization granting the update permission on this folder can also be used.

An expiring access token created with the all:delegate_to_contact_permissions scope and an authorization granting the update permission on the folder can also be used. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

list_channelsA

Lists all Channels belonging to an account. This endpoint can also be used to do a batch fetch based off of the hashed id.

Requires api token with one of the following permissions

Read all folder and media data

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

create_channelB

Creates a channel. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

get_channelA

Returns the Channel associated with the hashedId.

Requires api token with one of the following permissions

Read all folder and media data

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

update_channelB

Updates a channel. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

delete_channelA

Deletes a channel. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

get_channel_episodeA

Returns the Channel Episode associated with a channel hashed id and channel episode hashed id.

Requires api token with one of the following permissions

Read all folder and media data

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

list_channel_episodes_by_channelB

Lists Channel Episodes belonging to the channel passed in the path.

Requires api token with one of the following permissions

Read all folder and media data

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

create_channel_episodeA

Creates a new channel episode in a channel.

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

list_channel_episodesA

Lists Channel Episodes belonging to an account. This endpoint can also be used to do a batch fetch based off of the hashed id.

Requires api token with one of the following permissions

Read all folder and media data

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

update_channel_episodeA

Updates an existing channel episode in a channel.

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

delete_channel_episodeA

Deletes an existing channel episode in a channel.

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

publish_channel_episodeA

Publishes an existing channel episode in a channel.

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

un_publish_channel_episodeA

Un-publishes an existing channel episode in a channel.

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

list_channel_collaboratorsA

Lists the collaborators (contacts and contact groups) that have been granted access to a channel.

Results are scoped to what the authenticated user is allowed to see: account owners and managers see all collaborators, channel admins see all collaborators on their channels, and everyone else sees only the roles that grant them access.

Requires api token with one of the following permissions

Read all data

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

create_channel_collaboratorA

Invites a collaborator to a channel by specifying their email address and role. Creates a new contact if one doesn't exist with that email.

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

delete_channel_collaboratorA

Removes a collaborator's access to a channel.

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

list_webinarsA

Lists webinars belonging to the account. This endpoint can also be used to do a batch fetch based off of the hashed id.

Requires api token with one of the following permissions

Read all data

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

create_webinarA

Creates a new webinar.

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

get_webinarB

Returns the webinar associated with the hashed id.

Requires api token with one of the following permissions

Read all data

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

update_webinarA

Updates an existing webinar.

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

delete_webinarA

Deletes an existing webinar.

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

list_webinar_registrationsA

Retrieve a paginated list of registrations for a webinar. Returns contact information, attendance status, engagement metrics, and attribution data for each registrant.

Pagination uses cursor-based pagination with a page_info object in the response rather than per-record cursors. Use page_info.end_cursor as the cursor parameter to fetch the next page.

Requires api token with one of the following permissions

Read all data

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

create_webinar_registrationA

Register a person for a webinar by providing their email, first name, and last name.

This endpoint generates a unique visitor key and returns a personalized webinar URL for the registrant.

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

list_webinar_collaboratorsA

Lists the collaborators (contacts and contact groups) that have been granted producer access to a webinar.

Results are scoped to what the authenticated user is allowed to see: account owners, managers, and the webinar's producers see all collaborators; everyone else sees an empty list.

Requires api token with one of the following permissions

Read all data

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

create_webinar_collaboratorA

Invites a collaborator (producer) to a webinar by specifying their email address. Creates a new contact if one doesn't exist with that email. Note that viewers cannot be webinar collaborators.

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

delete_webinar_collaboratorB

Removes a collaborator's producer access to a webinar.

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

get_accountA

Retrieves a summary of the Wistia account including account name, description, URL and counts of records.

Requires api token with one of the following permissions

(any scope allowed)

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

get_account_usageA

Retrieves plan, usage, and limit information for the current account.

The response includes plan tier, upload eligibility, and links to billing pages. Usage and limit details (media counts, storage, seats, bandwidth) are only visible to account owners and managers : other contacts receive null for the limits field.

Requires api token with one of the following permissions

(any scope allowed)

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

get_credit_balanceA

Retrieves the current account's available credit balance and expected next recurring credit grant time.

The balance is a near-real-time hint and can lag one in-flight metered operation. A 402 response from an operation is authoritative when deciding whether more credits are required. Negative ledger balances are returned as 0 available credits.

next_grant_at comes from the account's billing schedule, not an existing grant's expiration. It is null when no scheduled grant can be determined. Processing may occur later, and other grants may arrive sooner.

Requires api token with one of the following permissions

(any scope allowed)

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. The account is always derived from the authenticated token; this endpoint does not accept an account identifier. Read-only account operation.

get_brand_preloadA

Retrieves Brandfetch-derived brand info for the current account's contact domain, plus a boolean indicating whether the account already has any brand kits configured. Used by Glass onboarding to preload the brand kit for new signups on business-email domains.

Returns brandfetch_brand with nil primary_color/logo/domain for free-mail domains, Wistia's own domain, when the Brandfetch feature flag is off, or when Brandfetch has no data : the caller silently skips the preload in every such case. The object itself is always present; only its fields go nil.

Requires api token with one of the following permissions

(any scope allowed)

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

update_brand_preloadA

Persists the account's default page logo (by Bakery hashed_id) and default player color. Both fields are optional independently : omit a field to leave that account setting untouched. Passing an empty string for selected_logo_hashed_id clears the logo.

Requires the OAuth contact to be an owner or manager of the account (or a Wistia admin) : mirrors the auth check on the underlying updateWtwBrandKitAccountSettings GraphQL mutation.

Deliberately narrower than the mutation: this endpoint does not create/update BrandKits or set body font family. Glass's onboarding customize step writes only these two fields; broader brand-kit editing continues to happen through the WTW web UI + GraphQL.

Requires api token with one of the following permissions

(any scope allowed)

Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

get_brand_kit_colorsA

Retrieves the current account's brand colors for the Wistia desktop app's background picker.

colors lists solid colors: every brand kit's color tokens (the colors the web editor offers as "Brand colors"), then each brand's primary and page background color when it is solid, default brand first. Values are six-digit hex strings, and a repeated color is listed once. Tokens whose value isn't a hex color are left out. An account without a brand kit gets its player color in place of the kit, which is what its default brand kit would hold.

brand_gradients lists each brand's primary and page background color that is set to a gradient, as color stops sorted by position, default brand first. Stops whose color isn't a hex color are left out, and a gradient with fewer than two hex stops left isn't listed.

Requires api token with one of the following permissions

(any scope allowed)

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

invite_contactsA

Invites one or more people to the account by email. Accepts a comma/whitespace/newline-separated list; each entry becomes a new contact if one does not already exist for that email.

Requires api token with one of the following permissions

Read, update & delete anything

Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

dismiss_desktop_install_promptB

Marks the current contact's macOS install-prompt modal as dismissed. Called by the SPA when a teammate invited via the Wistia desktop app closes the "Wistia is even better on your Mac" modal : the modal never shows again for that contact.

Idempotent: a repeat call returns the timestamp of the first dismissal.

Requires api token with one of the following permissions

Read, update & delete anything

Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

start_account_trialA

Starts a business-tier trial on the current account. The plan tier is hardcoded : the only caller is the Wistia desktop app's "Invite and start trial" onboarding CTA.

Requires the current contact to be authorized to start the trial via the account's AccountPolicy : otherwise returns 403.

Requires api token with one of the following permissions

Read, update & delete anything

Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

get_current_tokenA

Retrieves a summary of the token used to make the API request. This endpoint can primarily be used to debug permission issues with the API. Read-only account operation.

searchA

Searches across folders, subfolders, medias, channels, channel episodes, and webinars. Also searches through video transcripts, so media results may include transcript matches with timestamps when the query matches spoken content.

Requires api token with one of the following permissions

Read all data

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

resolve_resource_urlsA

Resolves a resource's hashed ID and type to its canonical app URL(s) : deep links an authorized user can open in the Wistia UI. The URL is only returned when the authenticated user is allowed to view the resource.

Requires api token with one of the following permissions

Read all data

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

create_expiring_access_tokenA
🚫 Alert
This API is still under development and can change at any time.

This endpoint is for creating expiring access tokens which can be used for some iframe embeds and, when granted the all:delegate_to_contact_permissions scope, for REST API requests authorized by the token's authorizations.

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

get_job_statusA

Retrieves the status of a background job.

Requires api token with one of the following permissions

Read all data

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

list_allowed_domainsA

Lists allowed domains belonging to the account.

Requires api token with one of the following permissions

Read all data

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

create_allowed_domainA

Creates an allowed domain for the account.

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

get_allowed_domainB

Returns the details of an allowed domain.

Requires api token with one of the following permissions

Read all data

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

delete_allowed_domainA

Deletes an allowed domain from the account.

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

get_account_statsA

Retrieve account-wide video stats. Get statistics like the number of video loads, plays, and hours watched for the entire account.

Requires api token with one of the following permissions

Read detailed stats

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

get_account_stats_by_dateA

Retrieve account-wide stats organized by day, between a start and end date parameter (inclusive). If start and end date are not provided, defaults to yesterday and today.

Requires api token with one of the following permissions

Read detailed stats

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

get_project_statsB

Retrieve stats for a project. This endpoint provides statistics for a specific project identified by its project-id.

Requires api token with one of the following permissions

Read detailed stats

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

get_media_stats_stats_mediaB

Retrieve stats for a video. This endpoint provides statistics for a specific video identified by its media-id.

Requires api token with one of the following permissions

Read detailed stats

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

get_media_stats_by_dateA

Retrieve stats for a media organized by day, between a start and end date paramater (inclusive). If start and end date are not provided, defaults to yesterday and today.

Requires api token with one of the following permissions

Read detailed stats

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

get_media_engagementB

Retrieve engagement data for a video. This endpoint provides engagement data for a specific video identified by its media-id.

Requires api token with one of the following permissions

Read detailed stats

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

list_visitorsB

This endpoint provides a list of visitors that have watched videos in your account.

Requires api token with one of the following permissions

Read detailed stats

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

get_visitorA

This endpoint provides detailed information about a specific visitor.

Requires api token with one of the following permissions

Read detailed stats

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

list_eventsB

Retrieve a list of events. Please note that due to our data retention policy, only events from the last 2 years are available.

Requires api token with one of the following permissions

Read detailed stats

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

get_eventA

Retrieve information for a single event. Please note that due to our data retention policy, only events from the last 2 years are available.

Requires api token with one of the following permissions

Read detailed stats

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

get_account_analyticsA

Retrieve aggregate analytics for the entire account over a date range. This endpoint provides Bottler-powered analytics across all of the account's media including plays, loads, engagement rate, play rate, and conversion metrics.

The date range between start_date and end_date must not exceed 2 years.

Requires api token with one of the following permissions

Read detailed stats

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

get_account_analytics_timeseriesA

Retrieve analytics timeseries data for the entire account over a date range with configurable granularity. Returns an array of timestamped metric buckets aggregated across all of the account's media.

The date range between start_date and end_date must not exceed 2 years.

Requires api token with one of the following permissions

Read detailed stats

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

get_account_top_contentA

Rank the account's content by a chosen metric over a date range. Returns the top media, channels, or folders (controlled by group_by) with their analytics, answering questions like "what were my most-played videos last month?".

Optionally pass hashed_ids to scope the ranking to a specific set of media instead of the whole account : useful for fetching analytics for a known list of videos, still sorted by sort_by.

The date range between start_date and end_date must not exceed 2 years.

Requires api token with one of the following permissions

Read detailed stats

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

get_account_embed_locationsA

Retrieve embed location analytics for the entire account. Returns a list of domains where the account's media are embedded, ranked by the chosen metric.

The date range between start_date and end_date must not exceed 2 years.

Requires api token with one of the following permissions

Read detailed stats

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

find_media_by_embed_locationA

Find the media embedded at a given URL. Returns the hashed IDs of the account's media that recorded activity at that embed location during the date range, ranked by plays. The resulting hashed IDs can be passed to other endpoints, such as Show Account Top Content's hashed_ids[] filter, to fetch analytics for those media.

The domain of embed_url is always matched exactly. Its path is matched exactly by default, or as a prefix with path_match=prefix (e.g. /pricing also matching /pricing/plans). A path that is empty or / is ignored, returning media across all paths on the domain.

Embed location data is retained for 6 months; a start_date older than that returns a 422 error. When start_date and end_date are omitted, the full 6-month queryable window is used.

Requires api token with one of the following permissions

Read detailed stats

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

get_media_analyticsA

Retrieve aggregate analytics for a video over a date range. This endpoint provides Bottler-powered analytics including plays, loads, engagement rate, play rate, and conversion metrics.

The date range between start_date and end_date must not exceed 2 years.

Requires api token with one of the following permissions

Read detailed stats

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

get_media_analytics_timeseriesB

Retrieve analytics timeseries data for a video over a date range with configurable granularity. Returns an array of timestamped metric buckets.

The date range between start_date and end_date must not exceed 2 years.

Requires api token with one of the following permissions

Read detailed stats

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

get_media_embed_locationsA

Retrieve embed location analytics for a video. Returns a list of pages where the video is embedded, ranked by the chosen metric.

The date range between start_date and end_date must not exceed 2 years.

Requires api token with one of the following permissions

Read detailed stats

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

get_media_embed_locations_timeseriesA

Retrieve timeseries analytics for a video broken down by embed location. Returns an array of timestamped buckets, each containing metrics for the top embed locations (ranked by the chosen metric) plus an "All other" entry aggregating the remaining locations.

The date range between start_date and end_date must not exceed 2 years.

Requires api token with one of the following permissions

Read detailed stats

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

get_media_traffic_breakdownA

Retrieve traffic breakdown analytics for a video, grouped by a specified dimension such as UTM campaign, UTM source, UTM medium, referrer domain, or viewer screen size.

The date range between start_date and end_date must not exceed 2 years.

Requires api token with one of the following permissions

Read detailed stats

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

get_media_form_conversionsA

Retrieve form conversion data for a video. Returns a paginated list of form submissions with visitor details and timestamps.

The date range between start_date and end_date must not exceed 2 years.

Requires api token with one of the following permissions

Read detailed stats

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

get_media_languagesA

Retrieve language analytics for a video. Returns a breakdown of plays by viewer browser language, sorted by number of plays in descending order.

The date range between start_date and end_date must not exceed 2 years.

Requires api token with one of the following permissions

Read detailed stats

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

get_webinar_analyticsA

Retrieve aggregate analytics for a webinar. This endpoint provides Bottler-powered analytics including registrations, attendance, engagement, chat activity, and poll results.

Requires api token with one of the following permissions

Read detailed stats

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

get_webinar_registration_timeseriesA

Retrieve registration timeseries data for a webinar with configurable granularity. Returns an array of timestamped registration metric buckets including impressions, registrations, and completion rates.

Requires api token with one of the following permissions

Read detailed stats

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

get_webinar_traffic_breakdownA

Retrieve traffic breakdown analytics for a webinar, grouped by a specified dimension such as UTM campaign, UTM source, UTM medium, or referrer domain.

Requires api token with one of the following permissions

Read detailed stats

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

get_webinar_audienceA

Retrieve audience data for a webinar. Returns a paginated list of registrants with their attendance status, engagement metrics, attribution data, and per-attendee histograms.

Requires api token with one of the following permissions

Read detailed stats

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

get_webinar_histogramsA

Retrieve engagement histogram data for a webinar. Returns arrays of per-time-bucket counts for attendees, chat activity, and visual focus, useful for rendering engagement visualizations.

Requires api token with one of the following permissions

Read detailed stats

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Read-only account operation.

list_accountsA

List private account labels, default selection and configured token method. No credentials, token paths or account content; no network request.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.1/5.0

Scored across 169 tools

Disambiguation2/5

There are clear duplicates and near-duplicates: upload_media and upload_media_file have identical descriptions, get_media_stats and get_media_stats_stats_media appear to do the same thing, and get_media_analytics/get_media_stats/get_media_stats_by_date/get_media_engagement overlap heavily. With 169 tools across media stats, analytics, and customization concerns, an agent faces many ambiguous choices between similarly-purposed endpoints.

Naming Consistency3/5

Most tools follow a snake_case verb_noun pattern (list_media, create_folder, update_channel), but there are deviations like 'bulk_tag' (verb omitted), 'un_publish_channel_episode' (underscore variant), 'get_media_stats_stats_media' (garbled), and inconsistent list_captions vs list_all_captions vs list_all_captions/list_channel_episodes vs list_channel_episodes_by_channel. Readable but not fully predictable.

Tool Count1/5

169 tools is far beyond any reasonable scope for effective tool selection, and the surface is bloated with redundant variants (multiple stats endpoints, duplicated customizations get/update pairs, upload_media vs upload_media_file). The count creates selection burden that defeats the purpose of a coherent toolset.

Completeness4/5

Coverage is extensive: full CRUD across media, folders, subfolders, channels, episodes, webinars, captions, localizations, brands, shares, tags, and collaborators, plus rich analytics. Minor gaps exist (e.g., no media creation via bulk actions, some resources lack full lifecycle), but the domain surface is essentially complete.

Maintenance

ActivityMaintained
ResponsivenessNo issues