Wistia Media API

The Media API from Wistia — 11 operation(s) for media.

Operations 13

GET /medias List Media
GET /medias/{mediaHashedId} Show Media
PUT /medias/{mediaHashedId} Update Media
DELETE /medias/{mediaHashedId} Delete Media
POST /medias/{mediaHashedId}/copy Copy Media
PUT /medias/{mediaHashedId}/swap Swap Media
GET /medias/{mediaHashedId}/stats Show Media Aggregated Stats
POST /medias/{mediaHashedId}/translate Translate Media
PUT /medias/archive Archive Media
PUT /medias/move Move Media
PUT /medias/restore Restore Media
PUT /medias/copy Bulk Copy Media
POST /medias/import_url Import Media from URL

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/wistia-media-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

wistia-media-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Wistia Media API
  version: '1.0'
  description: 'Operations tagged Media across 3 of this provider''s published API definitions: wistia-data-api-2026-01-openapi.yml, wistia-data-api-modern-edge-openapi.yml, wistia-data-api-v1-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.wistia.com/modern
- url: https://api.wistia.com/v1
tags:
- name: Media
  x-displayName: Media
paths:
  /medias:
    get:
      summary: List Media
      description: 'Lists the media belonging to the account. This endpoint can also be used to

        do a batch fetch based off of the hashed id.


        <!--- HIDE-MCP -->

        ## Requires api token with one of the following permissions

        ```

        Read all folder and media data

        ```

        <!--- /HIDE-MCP -->

        '
      parameters:
      - name: page
        in: query
        description: 'The page number to retrieve. This cannot be combined with `cursor`,

          pagination.

          '
        required: false
        schema:
          type: integer
      - name: per_page
        in: query
        description: The number of medias per page. Use this for both offset pagination and cursor pagination.
        required: false
        schema:
          type: integer
      - name: cursor
        in: query
        description: 'If `cursor[enabled]` is set to 1 than cursor pagination is enabled and the

          first set of records are fetched up to the `per_page`. Cursor

          pagination will also be turned on if `cursor[before]` or `cursor[after]`

          are set. Records returned will have a `cursor` property set which can be used to fetch more records in the same `sort_by` ordering.

          The cursor value of the last record can be used to fetch records after the current result set and

          the cursor of the first record can be used to fetch records before the result set.


          NOTE: a cursor value is only valid if the `sort_by` value hasn''t changed from the

          last fetch. For example, you cannot fetch using `sort_by` id and than pass that

          cursor value to a `sort_by` name.

          '
        required: false
        schema:
          unevaluatedProperties: false
          type: object
          properties:
            enabled:
              description: 'If `cursor[enabled]` is set to 1, the first result set will be fetched with cursor pagination enabled. This

                values is ignored if `cursor[before]` or `cursor[after]` are set.

                '
              type: integer
              enum:
              - 0
              - 1
            before:
              description: 'If `cursor[before]` is set than cursor pagination is enabled and all records

                before the cursor up to the `per_page` are returned. This feature is useful for

                fetching "new records", for example, in a "pull to refersh" feature when showing records in a descending

                order.

                '
              type: string
            after:
              description: 'If `cursor[after]` is set than cursor pagination is enabled and all records

                after the cursor up to the `per_page` are returned.

                '
              type: string
        style: deepObject
      - name: sort_by
        in: query
        description: 'Ordering. When using cursor pagination (see cursor param),

          only `id` and `created` are supported. All other sort_by options (`name`, `updated`, `position`)

          require offset pagination.

          '
        required: false
        schema:
          type: string
          enum:
          - name
          - created
          - updated
          - position
      - name: sort_direction
        in: query
        description: Ordering Sort Direction (0 = desc, 1 = asc; default is 1)
        required: false
        schema:
          type: integer
          enum:
          - 0
          - 1
      - name: folder_id
        in: query
        description: A hashed ID specifying the folder from which you would like to get results.
        required: false
        schema:
          description: Hashed ID of the folder (e.g., "4d23503f70")
          type: string
      - name: name
        in: query
        description: Find a media or medias whose name exactly matches this parameter.
        required: false
        schema:
          type: string
      - name: description_format
        in: query
        description: Format for media descriptions
        required: false
        schema:
          type: string
          examples:
          - markdown
          const: markdown
      - name: type
        in: query
        description: A string specifying which type of media you would like to get.
        required: false
        schema:
          type: string
          enum:
          - Video
          - Audio
          - Image
          - PdfDocument
          - MicrosoftOfficeDocument
          - Swf
          - UnknownType
      - name: hashed_ids[]
        in: query
        description: Find all of the medias by these hashed_ids.
        required: false
        schema:
          type: array
          items:
            type: string
        explode: true
        style: form
      - name: tags[]
        in: query
        description: Find all of the medias that match all of these tag names.
        required: false
        schema:
          type: array
          items:
            type: string
      - name: archived
        in: query
        description: Filter by archived status. True will return only archived medias, while false will return only active medias.
        required: false
        schema:
          type: boolean
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  unevaluatedProperties: false
                  allOf:
                  - type: object
                    description: 'A media generally represents a video or an audio which can be embedded into your website.


                      CDN-backed medias are accessible using this url structure: https://fast.wistia.com/embed/medias/{hashed_id}.m3u8.

                      For more information, see https://docs.wistia.com/docs/asset-urls#getting-hls-assets.

                      '
                    properties:
                      protected:
                        description: Whether the media is protected (e.g. requires a password or other authentication to view). Null if the media is not protected.
                        type:
                        - boolean
                        - 'null'
                      id:
                        description: A unique numeric identifier for the media within the system.
                        type: integer
                      name:
                        description: The display name of the media.
                        type: string
                      type:
                        description: A string representing what type of media this is.
                        type: string
                        enum:
                        - Video
                        - Audio
                        - Image
                        - PdfDocument
                        - MicrosoftOfficeDocument
                        - Swf
                        - UnknownType
                      archived:
                        description: Whether or not the media is archived, either true or false.
                        type: boolean
                      created:
                        description: The date when the media was originally uploaded.
                        type: string
                        format: date-time
                      updated:
                        description: The date when the media was last changed.
                        type: string
                        format: date-time
                      duration:
                        unevaluatedProperties: false
                        description: Specifies the length (in seconds) for audio and video files. Specifies number of pages in the document. Omitted for other types of media.
                        oneOf:
                        - type: number
                        - type: 'null'
                      embedCode:
                        description: 'DEPRECATED: If you want to programmatically embed videos, follow the construct an embed code guide.

                          '
                        type: string
                        deprecated: true
                      hashed_id:
                        description: A unique alphanumeric identifier for this media.
                        type: string
                      description:
                        description: A description for the media which usually appears near the top of the sidebar on the media's page.
                        type: string
                      progress:
                        description: A floating point value between 0 and 1 that indicates the progress of the processing for this file.
                        type: number
                        maximum: 1
                        minimum: 0
                      status:
                        description: 'Post upload processing status. - `queued`: the file is waiting in the queue to be processed. - `processing`: the file is actively being processed. - `ready`: the file has been fully processed and is ready for embedding and viewing. - `failed`: the file was unable to be processed (usually a format or size error).

                          '
                        type: string
                        enum:
                        - queued
                        - processing
                        - ready
                        - failed
                      section:
                        unevaluatedProperties: false
                        description: The title of the section in which the media appears. This attribute is omitted if the media is not in a section (default).
                        oneOf:
                        - type: string
                        - type: 'null'
                      thumbnail:
                        unevaluatedProperties: false
                        type: object
                        properties:
                          url:
                            type: string
                          width:
                            type: integer
                          height:
                            type: integer
                  - type: object
                    properties:
                      folder:
                        unevaluatedProperties: false
                        oneOf:
                        - unevaluatedProperties: false
                          type: object
                          properties:
                            id:
                              description: A unique numeric identifier for the folder within the system.
                              type: integer
                              examples:
                              - 22570
                            name:
                              description: The folder’s display name.
                              type: string
                              examples:
                              - My Folder Title
                            hashed_id:
                              description: A private hashed id, uniquely identifying the folder within the system.
                              type: string
                              examples:
                              - 4d23503f70
                        - type: 'null'
                    required:
                    - folder
                  - type: object
                    properties:
                      assets:
                        description: An array of the assets available for this media.
                        type: array
                        items:
                          unevaluatedProperties: false
                          type: object
                          properties:
                            url:
                              description: A direct-access URL to the content of the asset.
                              type: string
                            width:
                              unevaluatedProperties: false
                              description: The width of this specific asset, if applicable.
                              oneOf:
                              - type: integer
                              - type: 'null'
                            height:
                              unevaluatedProperties: false
                              description: The height of this specific asset, if applicable.
                              oneOf:
                              - type: integer
                              - type: 'null'
                            file_size:
                              unevaluatedProperties: false
                              description: The size of the asset file that’s referenced by url, measured in bytes.
                              oneOf:
                              - type: integer
                              - type: 'null'
                            content_type:
                              unevaluatedProperties: false
                              description: The asset’s content type.
                              oneOf:
                              - type: string
                              - type: 'null'
                            type:
                              description: 'The internal type of the asset, describing how the asset should be used. Values can include OriginalFile, FlashVideoFile, MdFlashVideoFile, HdFlashVideoFile, Mp4VideoFile, MdMp4VideoFile, HdMp4VideoFile, IPhoneVideoFile, StillImageFile, SwfFile, Mp3AudioFile, and LargeImageFile.

                                '
                              type: string
                  - type: object
                    properties:
                      subfolder:
                        unevaluatedProperties: false
                        description: The subfolder (media group) in which the media appears. Null if the media is not in a subfolder.
                        allOf:
                        - type: object
                          description: A subfolder within a folder that contains media.
                          properties:
                            hashed_id:
                              description: A unique alphanumeric identifier for this subfolder.
                              type: string
                              examples:
                              - abc123def4
                            name:
                              description: The display name of the subfolder.
                              type:
                              - string
                              - 'null'
                              examples:
                              - Marketing Videos
                            description:
                              description: A description for the subfolder.
                              type:
                              - string
                              - 'null'
                              examples:
                              - Collection of all marketing and promotional videos
                            position:
                              description: The position of this subfolder within its folder, used for ordering.
                              type:
                              - integer
                              - 'null'
                              examples:
                              - 1
                            created:
                              description: The date when the subfolder was created.
                              type:
                              - string
                              - 'null'
                              format: date-time
                              examples:
                              - '2024-01-15T10:30:00+00:00'
                            updated:
                              description: The date when the subfolder was last modified.
                              type:
                              - string
                              - 'null'
                              format: date-time
                              examples:
                              - '2024-01-20T14:45:00+00:00'
                            cursor:
                              description: A cursor for stable pagination based on current `sort_by` order. You can pass this to `cursor[before]` or `cursor[after]` as a parameter to fetch the records before or after this record in the same sort order. This is only populated if records were fetched with `cursor[enabled]`, or `cursor[before]` or `cursor[after]`.
                              type:
                              - string
                              - 'null'
                          required:
                          - hashed_id
                          - position
                          - created
                          - updated
                  - type: object
                    properties:
                      tags:
                        description: Tags associated with this media.
                        type: array
                        items:
                          unevaluatedProperties: false
                          type: object
                          properties:
                            name:
                              description: The display name of the tag.
                              type: string
                  - type: object
                    properties:
                      cursor:
                        description: A cursor for stable pagination based on current `sort_by` order. You can pass this to `cursor[before]` or `cursor[after]` as a parameter to fetch the records before or after this record in the same sort order. This is only populated if records were fetched with `cursor[enabled]`, or `cursor[before]` or `cursor[after]`.
                        type:
                        - string
                        - 'null'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                unevaluatedProperties: false
                type: object
                properties:
                  error:
                    description: Error message detailing the reason for the bad request.
                    type: string
                    examples:
                    - Bad request
                  errors:
                    description: Array of error messages detailing the reasons for the bad request.
                    type: array
                    items:
                      type: string
        '401':
          description: Unauthorized, invalid or missing token
          content:
            application/json:
              schema:
                unevaluatedProperties: false
                type: object
                properties:
                  code:
                    description: A machine-readable identifier for the specific authorization failure.
                    type: string
                    enum:
                    - unauthorized_credentials
                    - account_inactive
                    - unauthorized_scope
                    - unauthorized_params
                  error:
                    type: string
                    examples:
                    - Invalid credentials.
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                unevaluatedProperties: false
                type: object
                properties:
                  error:
                    type: string
                    examples:
                    - Internal server error
      tags:
      - Media
      security:
      - BearerAuth: []
    servers:
    - url: https://api.wistia.com/modern
  /medias/{mediaHashedId}:
    get:
      summary: Show Media
      description: 'Fetches a single media by its hashed id.


        <!--- HIDE-MCP -->

        ## Requires api token with one of the following permissions

        ```

        Read all folder and media data

        ```

        <!--- /HIDE-MCP -->

        '
      parameters:
      - name: mediaHashedId
        in: path
        description: The hashed ID of the media.
        required: true
        schema:
          description: Hashed ID of the media (e.g., "4d23503f70")
          type: string
      - name: description_format
        in: query
        description: Format for media descriptions
        required: false
        schema:
          type: string
          examples:
          - markdown
          const: markdown
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                unevaluatedProperties: false
                allOf:
                - type: object
                  description: 'A media generally represents a video or an audio which can be embedded into your website.


                    CDN-backed medias are accessible using this url structure: https://fast.wistia.com/embed/medias/{hashed_id}.m3u8.

                    For more information, see https://docs.wistia.com/docs/asset-urls#getting-hls-assets.

                    '
                  properties:
                    protected:
                      description: Whether the media is protected (e.g. requires a password or other authentication to view). Null if the media is not protected.
                      type:
                      - boolean
                      - 'null'
                    id:
                      description: A unique numeric identifier for the media within the system.
                      type: integer
                    name:
                      description: The display name of the media.
                      type: string
                    type:
                      description: A string representing what type of media this is.
                      type: string
                      enum:
                      - Video
                      - Audio
                      - Image
                      - PdfDocument
                      - MicrosoftOfficeDocument
                      - Swf
                      - UnknownType
                    archived:
                      description: Whether or not the media is archived, either true or false.
                      type: boolean
                    created:
                      description: The date when the media was originally uploaded.
                      type: string
                      format: date-time
                    updated:
                      description: The date when the media was last changed.
                      type: string
                      format: date-time
                    duration:
                      unevaluatedProperties: false
                      description: Specifies the length (in seconds) for audio and video files. Specifies number of pages in the document. Omitted for other types of media.
                      oneOf:
                      - type: number
                      - type: 'null'
                    embedCode:
                      description: 'DEPRECATED: If you want to programmatically embed videos, follow the construct an embed code guide.

                        '
                      type: string
                      deprecated: true
                    hashed_id:
                      description: A unique alphanumeric identifier for this media.
                      type: string
                    description:
                      description: A description for the media which usually appears near the top of the sidebar on the media's page.
                      type: string
                    progress:
                      description: A floating point value between 0 and 1 that indicates the progress of the processing for this file.
                      type: number
                      maximum: 1
                      minimum: 0
                    status:
                      description: 'Post upload processing status. - `queued`: the file is waiting in the queue to be processed. - `processing`: the file is actively being processed. - `ready`: the file has been fully processed and is ready for embedding and viewing. - `failed`: the file was unable to be processed (usually a format or size error).

                        '
                      type: string
                      enum:
                      - queued
                      - processing
                      - ready
                      - failed
                    section:
                      unevaluatedProperties: false
                      description: The title of the section in which the media appears. This attribute is omitted if the media is not in a section (default).
                      oneOf:
                      - type: string
                      - type: 'null'
                    thumbnail:
                      unevaluatedProperties: false
                      type: object
                      properties:
                        url:
                          type: string
                        width:
                          type: integer
                        height:
                          type: integer
                - type: object
                  properties:
                    folder:
                      unevaluatedProperties: false
                      oneOf:
                      - unevaluatedProperties: false
                        type: object
                        properties:
                          id:
                            description: A unique numeric identifier for the folder within the system.
                            type: integer
                            examples:
                            - 22570
                          name:
                            description: The folder’s display name.
                            type: string
                            examples:
                            - My Folder Title
                          hashed_id:
                            description: A private hashed id, uniquely identifying the folder within the system.
                            type: string
                            examples:
                            - 4d23503f70
                      - type: 'null'
                  required:
                  - folder
                - type: object
                  properties:
                    assets:
                      description: An array of the assets available for this media.
                      type: array
                      items:
                        unevaluatedProperties: false
                        type: object
                        properties:
                          url:
                            description: A direct-access URL to the content of the asset.
                            type: string
                          width:
                            unevaluatedProperties: false
                            description: The width of this specific asset, if applicable.
                            oneOf:
                            - type: integer
                            - type: 'null'
                          height:
                            unevaluatedProperties: false
                            description: The height of this specific asset, if applicable.
                            oneOf:
                            - type: integer
                            - type: 'null'
                          file_size:
                            unevaluatedProperties: false
                            description: The size of the asset file that’s referenced by url, measured in bytes.
                            oneOf:
                            - type: integer
                            - type: 'null'
                          content_type:
                            unevaluatedProperties: false
                            description: The asset’s content type.
                            oneOf:
                            - type: string
                            - type: 'null'
                          type:
                            description: 'The internal type of the asset, describing how the asset should be used. Values can include OriginalFile, FlashVideoFile, MdFlashVideoFile, HdFlashVideoFile, Mp4VideoFile, MdMp4VideoFile, HdMp4VideoFile, IPhoneVideoFile, StillImageFile, SwfFile, Mp3AudioFile, and LargeImageFile.

                              '
                            type: string
                - type: object
                  properties:
                    subfolder:
                      unevaluatedProperties: false
                      description: The subfolder (media group) in which the media appears. Null if the media is not in a subfolder.
                      allOf:
                      - type: object
                        description: A subfolder within a folder that contains media.
                        properties:
                          hashed_id:
                            description: A unique alphanumeric identifier for this subfolder.
                            type: string
                            examples:
                            - abc123def4
                          name:
                            description: The display name of the subfolder.
                            type:
                            - string
                            - 'null'
                            examples:
                            - Marketing Videos
                          description:
                            description: A description for the subfolder.
                            type:
                            - string
                            - 'null'
                            examples:
                            - Collection of all marketing and promotional videos
                          position:
                            description: The position of this subfolder within its folder, used for ordering.
                            type:
                            - integer
                            - 'null'
                            examples:
                            - 1
                          created:
                            description: The date when the subfolder was created.
                            type:
                            - string
                            - 'null'
                            format: date-time
                            examples:
                            - '2024-01-15T10:30:00+00:00'
                          updated:
                            description: The date when the subfolder was last modified.
                            type:
                            - string
                            - 'null'
                            format: date-time
                            examples:
                            - '2024-01-20T14:45:00+00:00'
                          cursor:
                            description: A cursor for stable pagination based on current `sort_by` order. You can pass this to `cursor[before]` or `cursor[after]` as a parameter to fetch the records before or after this record in the same sort order. This is only populated if records were fetched with `cursor[enabled]`, or `cursor[before]` or `cursor[after]`.
                            type:
                            - string
                            - 'null'
                        required:
                        - hashed_id
                        - position
                        - created
                        - updated
                - type: object
                  properties:
                    tags:
                      description: Tags associated with this media.
                      type: array
                      items:
                        unevaluatedProperties: false
                        type: object
                        properties:
                          name:
                            description: The display name of the tag.
                            type: string
        '401':
          description: Unau

# --- truncated at 32 KB (115 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/wistia/refs/heads/main/openapi/wistia-media-api-openapi.yml