# Wistia Documentation > Connect your applications to Wistia's powerful video platform with our intuitive API. Our documentation provides clear guides, examples, and references to help developers quickly implement video uploads, customization, and analytics. Build engaging video experiences that drive results with Wistia's developer-friendly API. Append .md to any documentation page URL to get its markdown version. ## Guides - [Making API Requests](https://docs.wistia.com/docs/making-api-requests.md): Learn how to get started and use Wistia APIs. - [Uploader](https://docs.wistia.com/docs/uploader.md): The Wistia Uploader is the best way to enable video uploading directly from within your application to Wistia. - [Wistia Chooser](https://docs.wistia.com/docs/wistia-chooser.md): The Wistia Chooser enables people to access their Wistia videos from outside of the Wistia app, and easily embed and share them. - [Webhooks](https://docs.wistia.com/docs/webhooks.md): Webhooks let you hook into events that happen throughout the Wistia platform. - [Authenticating with OAuth2](https://docs.wistia.com/docs/authenticating-with-oauth2.md): Learn how to link an OAuth2 application with your account, then use it to act on behalf of your users. - [Folders vs. Projects in the API](https://docs.wistia.com/docs/folders-vs-projects-in-the-api.md) - [Migrate a Video Library to Wistia with the Upload API](https://docs.wistia.com/docs/migrate-a-video-library-to-wistia-with-the-upload-api.md) - [Manage Channel Episodes With The Data API](https://docs.wistia.com/docs/manage-channel-episodes-with-the-data-api.md) - [Configure SSO and SCIM](https://docs.wistia.com/docs/configure-sso-and-scim.md) - [Using Wistia's MCP server](https://docs.wistia.com/docs/mcp-server-guide.md): Learn how to use Wistia's MCP server. - [Using the Wistia CLI](https://docs.wistia.com/docs/wistia-cli-guide.md): Install, authenticate, and use the Wistia CLI to manage your Wistia account from the terminal. - [Wistia Deprecation Schedule](https://docs.wistia.com/docs/wistia-deprecation-schedule.md): Sometimes, we need to remove functionality from our website due to safety concerns or for code health purposes. See below for a list of notable feature deprecations and removals. - [Migration Guide: API v1 to API 2026-01](https://docs.wistia.com/docs/migration-from-v1-guide.md): Outlines breaking changes and new features when migrating from the Wistia API v1 to the 2026-01 stable release. - [Which player am I using?](https://docs.wistia.com/docs/which-player-should-i-use.md) - [Channel Embeds](https://docs.wistia.com/docs/channel-embeds.md): Learn how to set Channel embed options and use the Channel API. - [Transcript Embeds](https://docs.wistia.com/docs/transcript-embeds.md): Learn how to embed your transcripts from Wistia alongside the player. - [Embed Links](https://docs.wistia.com/docs/embed-links.md): Learn how to use Embed Links to setup playlists, chaptering, “watch another video,” and “choose your own adventure”-style navigation without any JavaScript. - [Wistia and oEmbed](https://docs.wistia.com/docs/wistia-and-oembed.md): oEmbed is a simple API to get information about embedded content on a URL. For Wistia, it's a great way to programmatically get embed codes for videos if you have their URLs. - [Creating a Wistia-friendly Content Security Policy (CSP)](https://docs.wistia.com/docs/how-to-create-a-wistia-friendly-content-security-policy-csp.md): How to configure your Content Security Policy to allow Wistia embeds with full functionality - [Referrer Policy and Wistia's Domain Restrictions](https://docs.wistia.com/docs/using-wistias-domain-restrictions-with-a-referrer-policy.md) - [Marketo Tracking for Dynamic & Popover Embeds](https://docs.wistia.com/docs/marketo-tracking-for-dynamic-popover-embeds.md): Wistia's Marketo integration sends two different kinds of data, and they have different requirements. Knowing which is which is the key to getting tracking working for dynamic, deferred, or popover-triggered embeds — the setups where things most often go quiet. - [How Wistia populates Marketo custom field](https://docs.wistia.com/docs/how-wistia-populates-marketo-custom-field.md) - [What Wistia sends to Pardot: engagement fields and viewer identification](https://docs.wistia.com/docs/what-wistia-sends-to-pardot-engagement-fields-and-viewer-identification.md) - [Embed Webinars With Tag Managers And Cookie Consent](https://docs.wistia.com/docs/embed-webinars-with-tag-managers-and-cookie-consent.md) - [Generate and troubleshoot Wistia email embeds](https://docs.wistia.com/docs/generate-and-troubleshoot-wistia-email-embeds.md) - [Understanding Analytics Tracking For Embedded Media And Webinar Forms](https://docs.wistia.com/docs/understand-analytics-tracking-for-embedded-media-and-webinar-forms.md) - [Use Wistia LLM Embeds for SEO & AI Visibility](https://docs.wistia.com/docs/use-wistia-llm-embeds-for-seo-ai-visibility.md) - [Embedding the Aurora Player: Quick Start Guide](https://docs.wistia.com/docs/player-quick-start.md): Get up and running with the Wistia web component in no time! - [Aurora Player API Overview](https://docs.wistia.com/docs/player-embed-api.md): Customize your embeds with options, events, methods, and some helpful tips. - [Aurora Player Events](https://docs.wistia.com/docs/player-events.md): Learn more about the events available for your embedded player. - [Aurora Player Methods](https://docs.wistia.com/docs/player-methods.md): Learn more about the methods available for your embedded player. - [Aurora Player Attributes and Properties](https://docs.wistia.com/docs/player-attributes-and-properties.md): Learn more about the attributes and properties available for your embedded player. - [Aurora Popover Player API](https://docs.wistia.com/docs/player-popover-embed-api.md): Customize your popover embeds with options, methods, and tips specific to popovers. - [Aurora React Component](https://docs.wistia.com/docs/player-react-component.md) - [Aurora Player Version Pinning](https://docs.wistia.com/docs/aurora-player-version-pinning.md) - [Interacting with Aurora on your page](https://docs.wistia.com/docs/interacting-with-aurora-on-your-page.md) - [Quick Guide: Working with multiple embeds](https://docs.wistia.com/docs/quick-guide-working-with-multiple-embeds.md) - [Migrating from the Legacy Player (Vulcan) to Aurora](https://docs.wistia.com/docs/migrating-from-the-legacy-player-vulcan-to-aurora.md) - [Style and Size Wistia Embed Components Safely](https://docs.wistia.com/docs/style-and-size-wistia-embed-components-safely.md) - [All About E-v1.js](https://docs.wistia.com/docs/all-about-e-v1.md): If you've used Wistia embeds, read our Help Center, or worked with our Champs, you might've heard the name "E-v1" or "E-v1.js". What is this mystery script, and why is it so important? Read on as we pull back the curtain on the Wistia JavaScript Library. - [JavaScript Player API](https://docs.wistia.com/docs/javascript-player-api.md): The Wistia player has a built-in JavaScript API, providing you with a variety of ways to interact with and control the player.. - [Construct a Wistia Embed Code](https://docs.wistia.com/docs/construct-a-wistia-embed-code.md): Learn to programmatically construct an embed code starting with just the video ID! - [Embed Options and Plugins](https://docs.wistia.com/docs/embed-options-and-plugins.md): Learn more about the embed options and plugins available for your embedded videos. - [iFrame Embed Options](https://docs.wistia.com/docs/iframe-embed-options.md): Learn how to use deeply nested options in your iframe embeds. - [Popover Options and API](https://docs.wistia.com/docs/popover-embed-customization.md): Customize your popover embeds with options, methods, and tips specific to popovers - [Player Privacy Mode](https://docs.wistia.com/docs/player-privacy-mode.md): Enable or disable Privacy Mode for individual visitors using the Player API - [Plugin API](https://docs.wistia.com/docs/plugin-api.md): Have some cool JavaScript that you want to use with a bunch of videos? The Plugin API lets you create a simple script package that works with any Wistia embed code. - [Player Controls Framework](https://docs.wistia.com/docs/player-controls-framework.md): You can add custom buttons, dialogs, and other behavior to the Wistia player. - [Embed Code ID Tagging](https://docs.wistia.com/docs/embed-code-id-tagging.md): Pass an ID for each viewer to your stats through the player API using these simple steps! - [Asset URLs](https://docs.wistia.com/docs/asset-urls.md): Working with direct file URLs for Wistia-hosted content - [Extracting Thumbnails from a Video](https://docs.wistia.com/docs/extracting-thumbnails-from-a-video.md): Generate thumbnails at different times in a video using the Wistia API. - [Working With Images](https://docs.wistia.com/docs/working-with-images.md): All the ways you can manipulate images returned by Wistia APIs. - [Use Webinar Embeds with API Registrations](https://docs.wistia.com/docs/use-webinar-embeds-with-api-registrations.md) - [HubSpot Webinar Events And Analytics Payloads](https://docs.wistia.com/docs/hubspot-webinar-events-and-analytics-payloads.md) ## API Reference - [My Requests](https://docs.wistia.com/reference/my-requests.md): Set up the welcome page for your API to help users make their first call. - [List Media](https://docs.wistia.com/reference/get_medias.md): 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 ``` - [Show Media](https://docs.wistia.com/reference/get_medias-mediahashedid.md): Fetches a single media by its hashed id. ## Requires api token with one of the following permissions ``` Read all folder and media data ``` - [Update Media](https://docs.wistia.com/reference/put_medias-mediahashedid.md): Updates the attributes on a media. ## Requires api token with one of the following permissions ``` Read, update & delete anything ``` - [Delete Media](https://docs.wistia.com/reference/delete_medias-mediahashedid.md): Deletes a media. ## Requires api token with one of the following permissions ``` Read, update & delete anything ``` - [Copy Media](https://docs.wistia.com/reference/post_medias-mediahashedid-copy.md): 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 ``` - [Swap Media](https://docs.wistia.com/reference/put_medias-mediahashedid-swap.md): 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 ``` - [Show Media Aggregated Stats](https://docs.wistia.com/reference/get_medias-mediahashedid-stats.md): 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 ``` - [Translate Media](https://docs.wistia.com/reference/post_medias-mediahashedid-translate.md): Translates the transcript for a media. ## Requires api token with one of the following permissions ``` Read, update & delete anything ``` - [Import Media from URL](https://docs.wistia.com/reference/post_medias-import-url.md): 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 ``` - [Archive Media](https://docs.wistia.com/reference/put_medias-archive.md): 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 ``` - [Move Media](https://docs.wistia.com/reference/put_medias-move.md): Move one or many media to a different folder and optionally to a specific subfolder. Max 100 media per request, and max 10 requests in 5 minutes. Note: this is a different rate limit than applies to the rest of the api! If a subfolder_id is provided, media will be moved to that subfolder. The subfolder must belong to the specified folder. Returns a Background Job as the move is async. ## Requires api token with one of the following permissions ``` Read, update & delete anything ``` - [Restore Media](https://docs.wistia.com/reference/put_medias-restore.md): 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 ``` - [Bulk Copy Media](https://docs.wistia.com/reference/put_medias-copy.md): 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 ``` - [Show Customizations](https://docs.wistia.com/reference/get_medias-mediaid-customizations.md): Fetches explicitly defined customizations for the video. ## Requires api token with one of the following permissions ``` Read all folder and media data ``` - [Create Customizations](https://docs.wistia.com/reference/post_medias-mediaid-customizations.md): 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 ``` - [Update Customizations](https://docs.wistia.com/reference/put_medias-mediaid-customizations.md): 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 ``` - [Delete Customizations](https://docs.wistia.com/reference/delete_medias-mediaid-customizations.md): 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 ``` - [Show Appearance Customizations](https://docs.wistia.com/reference/get_medias-mediaid-customizations-appearance.md): 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 ``` - [Update Appearance Customizations](https://docs.wistia.com/reference/put_medias-mediaid-customizations-appearance.md): 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 ``` - [Show Playback Customizations](https://docs.wistia.com/reference/get_medias-mediaid-customizations-playback.md): 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 ``` - [Update Playback Customizations](https://docs.wistia.com/reference/put_medias-mediaid-customizations-playback.md): 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 ``` - [Show Thumbnail Customizations](https://docs.wistia.com/reference/get_medias-mediaid-customizations-thumbnail.md): 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 ``` - [Update Thumbnail Customizations](https://docs.wistia.com/reference/put_medias-mediaid-customizations-thumbnail.md): 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 ``` - [Show Accessibility Customizations](https://docs.wistia.com/reference/get_medias-mediaid-customizations-accessibility.md): 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 ``` - [Update Accessibility Customizations](https://docs.wistia.com/reference/put_medias-mediaid-customizations-accessibility.md): 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 ``` - [Show Chapters Customizations](https://docs.wistia.com/reference/get_medias-mediaid-customizations-chapters.md): 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 ``` - [Update Chapters Customizations](https://docs.wistia.com/reference/put_medias-mediaid-customizations-chapters.md): 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 ``` - [Show Engagement Customizations](https://docs.wistia.com/reference/get_medias-mediaid-customizations-engagement.md): 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 ``` - [Update Engagement Customizations](https://docs.wistia.com/reference/put_medias-mediaid-customizations-engagement.md): 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 ``` - [Show Related Media Customizations](https://docs.wistia.com/reference/get_medias-mediaid-customizations-related-media.md): 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 ``` - [Update Related Media Customizations](https://docs.wistia.com/reference/put_medias-mediaid-customizations-related-media.md): 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 ``` - [Show Sharing Customizations](https://docs.wistia.com/reference/get_medias-mediaid-customizations-sharing.md): 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 ``` - [Update Sharing Customizations](https://docs.wistia.com/reference/put_medias-mediaid-customizations-sharing.md): 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 ``` - [Show Lead Capture Customizations](https://docs.wistia.com/reference/get_medias-mediaid-customizations-lead-capture.md): 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 ``` - [Update Lead Capture Customizations](https://docs.wistia.com/reference/put_medias-mediaid-customizations-lead-capture.md): 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 ``` - [Show Access Customizations](https://docs.wistia.com/reference/get_medias-mediaid-customizations-access.md): 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 ``` - [Update Access Customizations](https://docs.wistia.com/reference/put_medias-mediaid-customizations-access.md): 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 ``` - [List Captions by Media](https://docs.wistia.com/reference/get_medias-mediahashedid-captions.md): Lists captions belonging to a specific media. ## Requires api token with one of the following permissions ``` Read all folder and media data ``` - [Create Captions](https://docs.wistia.com/reference/post_medias-mediahashedid-captions.md): 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 ``` - [List Captions](https://docs.wistia.com/reference/get_captions.md): Lists captions belonging to the account. This endpoint can also narrow down results to those belonging to a specific media. ## Requires api token with one of the following permissions ``` Read all folder and media data ``` - [Purchase Captions](https://docs.wistia.com/reference/post_medias-mediahashedid-captions-purchase.md): 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 ``` - [Show Captions](https://docs.wistia.com/reference/get_medias-mediahashedid-captions-languagecode.md): Returns a video'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 ``` - [Update Captions](https://docs.wistia.com/reference/put_medias-mediahashedid-captions-languagecode.md): This method is for replacing the captions on a video for the specified language. ## Requires api token with one of the following permissions ``` Read, update & delete anything ``` - [Delete Captions](https://docs.wistia.com/reference/delete_medias-mediahashedid-captions-languagecode.md): Removes the captions file from a media for the specified language. ## Requires api token with one of the following permissions ``` Read, update & delete anything ``` - [List Localizations](https://docs.wistia.com/reference/get_medias-mediahashedid-localizations.md): Lists all the localizations for a media. ## Requires api token with one of the following permissions ``` Read all data ``` - [Create Localization](https://docs.wistia.com/reference/post_medias-mediahashedid-localizations.md): Creates a new localization. Creating a localization incurs a charge on your account. ## Requires api token with one of the following permissions ``` Read, update & delete anything ``` - [Show Localization](https://docs.wistia.com/reference/get_medias-mediahashedid-localizations-localizationhashedid.md): Obtain detailed information about a localization. ## Requires api token with one of the following permissions ``` Read all data ``` - [Delete Localization](https://docs.wistia.com/reference/delete_medias-mediahashedid-localizations-localizationhashedid.md): Deletes a localization. ## Requires api token with one of the following permissions ``` Read, update & delete anything ``` - [Create Media from Trims](https://docs.wistia.com/reference/post_medias-mediahashedid-trims.md): 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 ``` - [List Media Extended Audio Descriptions](https://docs.wistia.com/reference/get_media-extended-audio-descriptions.md): Lists all extended audio descriptions belonging to the account. Supports pagination and sorting. - [Show Media Extended Audio Description](https://docs.wistia.com/reference/get_media-extended-audio-descriptions-id.md): Retrieves a single extended audio description by its hashed id, including download links. - [Delete Media Extended Audio Description](https://docs.wistia.com/reference/delete_media-extended-audio-descriptions-id.md): Deletes an extended audio description by its hashed id. - [Order Extended Audio Description](https://docs.wistia.com/reference/post_media-extended-audio-descriptions-order.md): 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. - [Get Order Status](https://docs.wistia.com/reference/get_media-extended-audio-descriptions-order-status-id.md): Returns the current status of an extended audio description order. Use the order id returned from the order endpoint to poll for status updates. - [List Tags](https://docs.wistia.com/reference/get_tags.md): Lists tags belonging to the account. ## Requires api token with one of the following permissions ``` Read all data ``` - [Create Tags](https://docs.wistia.com/reference/post_tags.md): Creates a new tag. ## Requires api token with one of the following permissions ``` Read, update & delete anything ``` - [Delete Tag](https://docs.wistia.com/reference/delete_tags-name.md): Deletes a tag ## Requires api token with one of the following permissions ``` Read, update & delete anything ``` - [Bulk Tag Media](https://docs.wistia.com/reference/post_taggings-bulk-create.md): 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 ``` - [List Folders](https://docs.wistia.com/reference/get_folders.md): 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 ``` - [Create Folder](https://docs.wistia.com/reference/post_folders.md): 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 ``` - [Show Folder](https://docs.wistia.com/reference/get_folders-id.md): Retrieves a single folder (previously called project). ## Requires api token with one of the following permissions ``` Read all folder and media data ``` - [Update Folder](https://docs.wistia.com/reference/put_folders-id.md): Updates a folder (previously called project) ## Requires api token with one of the following permissions ``` Read, update & delete anything ``` - [Delete Folder](https://docs.wistia.com/reference/delete_folders-id.md): Deletes a folder (previously called project) ## Requires api token with one of the following permissions ``` Read, update & delete anything ``` - [Copy Folder](https://docs.wistia.com/reference/post_folders-id-copy.md): 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 ``` - [List Folder Sharings](https://docs.wistia.com/reference/get_folders-folderid-sharings.md): Lists the sharings of contacts and contact groups on a folder. ## Requires api token with one of the following permissions ``` Read all data ``` - [Create Folder Sharing](https://docs.wistia.com/reference/post_folders-folderid-sharings.md): 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 ``` - [Show Folder Sharing](https://docs.wistia.com/reference/get_folders-folderid-sharings-sharingid.md): Retrieves the details of a specific sharing object for a given folder. ## Requires api token with one of the following permissions ``` Read all data ``` - [Update Folder Sharing](https://docs.wistia.com/reference/put_folders-folderid-sharings-sharingid.md): Updates a sharing on a folder. ## Requires api token with one of the following permissions ``` Read, update & delete anything ``` - [Delete Folder Sharing](https://docs.wistia.com/reference/delete_folders-folderid-sharings-sharingid.md): Deletes a sharing on a folder. ## Requires api token with one of the following permissions ``` Read, update & delete anything ``` - [List Subfolders](https://docs.wistia.com/reference/get_folders-folderid-subfolders.md): Lists subfolders in a specific folder. ## Requires api token with one of the following permissions ``` Read all folder and media data ``` - [Create Subfolder](https://docs.wistia.com/reference/post_folders-folderid-subfolders.md): 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 ``` - [Show Subfolder](https://docs.wistia.com/reference/get_folders-folderid-subfolders-subfolderid.md): 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 ``` - [Update Subfolder](https://docs.wistia.com/reference/put_folders-folderid-subfolders-subfolderid.md): Updates a subfolder's name and/or description. ## Requires api token with one of the following permissions ``` Read, update & delete anything ``` - [Delete Subfolder](https://docs.wistia.com/reference/delete_folders-folderid-subfolders-subfolderid.md): 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 ``` - [Bulk Delete Subfolders](https://docs.wistia.com/reference/delete_folders-folderid-subfolders-bulk-delete.md): 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 ``` - [List Channels](https://docs.wistia.com/reference/get_channels.md): 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 ``` - [Create Channel](https://docs.wistia.com/reference/post_channels.md): Creates a channel. - [Show Channel](https://docs.wistia.com/reference/get_channels-channelhashedid.md): Returns the Channel associated with the hashedId. ## Requires api token with one of the following permissions ``` Read all folder and media data ``` - [Update Channel](https://docs.wistia.com/reference/put_channels-channelhashedid.md): Updates a channel. - [Delete Channel](https://docs.wistia.com/reference/delete_channels-channelhashedid.md): Deletes a channel. - [List Channel Collaborators](https://docs.wistia.com/reference/get_channels-channelhashedid-collaborators.md): 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 ``` - [Create Channel Collaborator](https://docs.wistia.com/reference/post_channels-channelhashedid-collaborators.md): 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 ``` - [Delete Channel Collaborator](https://docs.wistia.com/reference/delete_channels-channelhashedid-collaborators-id.md): Removes a collaborator's access to a channel. ## Requires api token with one of the following permissions ``` Read, update & delete anything ``` - [Show Channel Episode](https://docs.wistia.com/reference/get_channels-channelhashedid-channel-episodes-channelepisodeid.md): 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 ``` - [List Channel Episodes by Channel](https://docs.wistia.com/reference/get_channels-channelhashedid-channel-episodes.md): 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 ``` - [Create Channel Episode](https://docs.wistia.com/reference/post_channels-channelhashedid-channel-episodes.md): Creates a new channel episode in a channel. ## Requires api token with one of the following permissions ``` Read, update & delete anything ``` - [List Channel Episodes](https://docs.wistia.com/reference/get_channel-episodes.md): 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 ``` - [Update Channel Episode](https://docs.wistia.com/reference/put_channel-episodes-channelepisodehashedid.md): Updates an existing channel episode in a channel. ## Requires api token with one of the following permissions ``` Read, update & delete anything ``` - [Delete Channel Episode](https://docs.wistia.com/reference/delete_channel-episodes-channelepisodehashedid.md): Deletes an existing channel episode in a channel. ## Requires api token with one of the following permissions ``` Read, update & delete anything ``` - [Publish Channel Episode](https://docs.wistia.com/reference/put_channel-episodes-channelepisodehashedid-publish.md): Publishes an existing channel episode in a channel. ## Requires api token with one of the following permissions ``` Read, update & delete anything ``` - [Un-publish Channel Episode](https://docs.wistia.com/reference/put_channel-episodes-channelepisodehashedid-unpublish.md): Un-publishes an existing channel episode in a channel. ## Requires api token with one of the following permissions ``` Read, update & delete anything ``` - [List Webinars](https://docs.wistia.com/reference/get_webinars.md): 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 ``` - [Create Webinar](https://docs.wistia.com/reference/post_webinars.md): Creates a new webinar. ## Requires api token with one of the following permissions ``` Read, update & delete anything ``` - [Show Webinar](https://docs.wistia.com/reference/get_webinars-id.md): Returns the webinar associated with the hashed id. ## Requires api token with one of the following permissions ``` Read all data ``` - [Update Webinar](https://docs.wistia.com/reference/put_webinars-id.md): Updates an existing webinar. ## Requires api token with one of the following permissions ``` Read, update & delete anything ``` - [Delete Webinar](https://docs.wistia.com/reference/delete_webinars-id.md): Deletes an existing webinar. ## Requires api token with one of the following permissions ``` Read, update & delete anything ``` - [List Webinar Collaborators](https://docs.wistia.com/reference/get_webinars-webinarid-collaborators.md): 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 ``` - [Create Webinar Collaborator](https://docs.wistia.com/reference/post_webinars-webinarid-collaborators.md): 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 ``` - [Delete Webinar Collaborator](https://docs.wistia.com/reference/delete_webinars-webinarid-collaborators-id.md): Removes a collaborator's producer access to a webinar. ## Requires api token with one of the following permissions ``` Read, update & delete anything ``` - [List Webinar Registrations](https://docs.wistia.com/reference/get_webinars-webinarid-registrations.md): 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 ``` - [Create Webinar Registration](https://docs.wistia.com/reference/post_webinars-webinarid-registrations.md): 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 ``` - [Get Current Account](https://docs.wistia.com/reference/getaccountdetails.md): 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) ``` - [Get Account Usage](https://docs.wistia.com/reference/getaccountusage.md): 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) 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) ``` - [Get Current Token](https://docs.wistia.com/reference/gettokendetails.md): 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. - [Search](https://docs.wistia.com/reference/get_search.md): 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 ``` - [Create Expiring Access Token](https://docs.wistia.com/reference/post_expiring-token.md): ``` 🚫 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. ## Requires api token with one of the following permissions ``` Read, update & delete anything ``` - [Show Background Job Status](https://docs.wistia.com/reference/get_background-job-status-backgroundjobstatusid.md): Retrieves the status of a background job. ## Requires api token with one of the following permissions ``` Read all data ``` - [List Allowed Domains](https://docs.wistia.com/reference/get_allowed-domains.md): Lists allowed domains belonging to the account. ## Requires api token with one of the following permissions ``` Read all data ``` - [Create Allowed Domain](https://docs.wistia.com/reference/post_allowed-domains.md): Creates an allowed domain for the account. ## Requires api token with one of the following permissions ``` Read, update & delete anything ``` - [Show Allowed Domain](https://docs.wistia.com/reference/get_allowed-domains-domain.md): Returns the details of an allowed domain. ## Requires api token with one of the following permissions ``` Read all data ``` - [Delete Allowed Domain](https://docs.wistia.com/reference/delete_allowed-domains-domain.md): Deletes an allowed domain from the account. ## Requires api token with one of the following permissions ``` Read, update & delete anything ``` - [List Deleted Media](https://docs.wistia.com/reference/get_deleted-media.md): 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 ``` - [Restore Deleted Media](https://docs.wistia.com/reference/post_deleted-media-restore.md): 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 ``` - [Show share link](https://docs.wistia.com/reference/get_medias-mediaid-share-link.md): 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 ``` - [Update share link](https://docs.wistia.com/reference/put_medias-mediaid-share-link.md): 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 ``` - [Delete share link](https://docs.wistia.com/reference/delete_medias-mediaid-share-link.md): 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 ``` - [List Brands](https://docs.wistia.com/reference/get_brands.md): 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, projects, channels, and webinars. The account-level default brand is flagged with `is_default`. ## Requires api token with one of the following permissions ``` Read all data ``` - [Create Bulk Actions](https://docs.wistia.com/reference/post_bulk.md): Submits a batch of up to 1000 create, update, and delete 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`, and `channel_episode`. 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. 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 ``` - [Getting Started with the Data API](https://docs.wistia.com/reference/getting-started-with-the-data-api.md) - [Show Current Account Stats](https://docs.wistia.com/reference/get_stats-account.md): 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 ``` - [Show Account Stats by Date](https://docs.wistia.com/reference/get_stats-account-by-date.md): 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 ``` - [Show Project Stats](https://docs.wistia.com/reference/get_stats-projects-projectid.md): 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 ``` - [Show Media Stats](https://docs.wistia.com/reference/get_stats-medias-mediaid.md): 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 ``` - [Show Media Stats by Date](https://docs.wistia.com/reference/get_stats-medias-mediaid-by-date.md): 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 ``` - [Show Media Engagement](https://docs.wistia.com/reference/get_stats-medias-mediaid-engagement.md): 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 ``` - [List Visitors](https://docs.wistia.com/reference/get_stats-visitors.md): 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 ``` - [Show Visitor](https://docs.wistia.com/reference/get_stats-visitors-visitorkey.md): This endpoint provides detailed information about a specific visitor. ## Requires api token with one of the following permissions ``` Read detailed stats ``` - [List Events](https://docs.wistia.com/reference/get_stats-events.md): 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 ``` - [Show Event](https://docs.wistia.com/reference/get_stats-events-eventkey.md): 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 ``` - [Getting Started with the Stats API](https://docs.wistia.com/reference/getting-started-with-the-stats-api.md): Programmatically access your video metrics, viewer activity, and more. - [Show Account Analytics](https://docs.wistia.com/reference/get_analytics-account.md): 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 ``` - [Show Account Analytics Timeseries](https://docs.wistia.com/reference/get_analytics-account-timeseries.md): 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 ``` - [Show Account Top Content](https://docs.wistia.com/reference/get_analytics-account-top-content.md): 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 ``` - [Show Account Embed Locations](https://docs.wistia.com/reference/get_analytics-account-embed-locations.md): 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 ``` - [Show Media Analytics](https://docs.wistia.com/reference/get_analytics-medias-mediaid.md): 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 ``` - [Show Media Analytics Timeseries](https://docs.wistia.com/reference/get_analytics-medias-mediaid-timeseries.md): 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 ``` - [Show Media Embed Locations](https://docs.wistia.com/reference/get_analytics-medias-mediaid-embed-locations.md): 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 ``` - [Show Media Embed Locations Timeseries](https://docs.wistia.com/reference/get_analytics-medias-mediaid-embed-locations-timeseries.md): 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 ``` - [Show Media Traffic Breakdown](https://docs.wistia.com/reference/get_analytics-medias-mediaid-traffic.md): 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 ``` - [Show Media Form Conversions](https://docs.wistia.com/reference/get_analytics-medias-mediaid-conversions.md): 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 ``` - [Show Media Languages](https://docs.wistia.com/reference/get_analytics-medias-mediaid-languages.md): 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 ``` - [Show Webinar Analytics](https://docs.wistia.com/reference/get_analytics-webinars-webinarid.md): 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 ``` - [Show Webinar Registration Timeseries](https://docs.wistia.com/reference/get_analytics-webinars-webinarid-registration.md): 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 ``` - [Show Webinar Traffic Breakdown](https://docs.wistia.com/reference/get_analytics-webinars-webinarid-traffic.md): 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 ``` - [Show Webinar Audience](https://docs.wistia.com/reference/get_analytics-webinars-webinarid-audience.md): 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 ``` - [Show Webinar Histograms](https://docs.wistia.com/reference/get_analytics-webinars-webinarid-histograms.md): 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 ``` - [Upload or Import Media](https://docs.wistia.com/reference/post_.md): 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 - [Getting Started with the Upload API](https://docs.wistia.com/reference/getting-started-with-the-upload-api-1.md) - [Update thumbnails via Upload API](https://docs.wistia.com/reference/update-thumbnails-via-upload-api.md): Use the upload API's thumbnail route to programmatically update thumbnails with a single request. - [Upload via S3 Copy](https://docs.wistia.com/reference/upload-via-s3-copy.md) ## Recipes - [Bulk Customizations](https://docs.wistia.com/recipes/bulk-customizations.md) - [Bulk Order Captions](https://docs.wistia.com/recipes/bulk-order-captions.md) - [Bulk Upload](https://docs.wistia.com/recipes/bulk-upload.md) - [Calculate Bulk Duration](https://docs.wistia.com/recipes/calculate-bulk-duration.md) - [Create Tag and Apply to Multiple Medias](https://docs.wistia.com/recipes/create-tag-and-apply-to-multiple-medias.md) - [Embed a Wistia Video](https://docs.wistia.com/recipes/embed-a-wistia-video.md) - [Get All Medias Including Tags](https://docs.wistia.com/recipes/get-all-medias-including-tags.md) - [[Vulcan] Player Progress Tracker](https://docs.wistia.com/recipes/player-api-progress-tracker.md) - [Retrieve a list of hashed_ids [Windows]](https://docs.wistia.com/recipes/retrieve-a-list-of-hashed_ids-windows.md) - [Rewind Only Demo](https://docs.wistia.com/recipes/rewind-only-demo.md) - [Upload Form Demo](https://docs.wistia.com/recipes/upload-form-demo.md) ## Changelog - [Access Wistia via your terminal (Wistia CLI)](https://docs.wistia.com/changelog/access-wistia-via-your-terminal-wistia-cli.md) - [Improved webhooks page](https://docs.wistia.com/changelog/improved-webhooks-page.md) - [API versioning](https://docs.wistia.com/changelog/api-versioning.md) - [MCP server](https://docs.wistia.com/changelog/mcp-server.md) - [Live Stream Events (Webinars)](https://docs.wistia.com/changelog/live-stream-events.md) - [Swap](https://docs.wistia.com/changelog/swap.md) - [Subfolders](https://docs.wistia.com/changelog/organize-and-manage-content-at-scale.md) - [Transcript ID](https://docs.wistia.com/changelog/media-translate.md) - [Translation](https://docs.wistia.com/changelog/media-swap.md) - [Localization](https://docs.wistia.com/changelog/localizations-list.md)