Cvent Event Cloud Video API

Videos can be added to Cvent events with renditions at various resolutions, audio files, reactions tracks, and text tracks. Attendee viewership is tracked to get insight into durations, devices used and venue where the video is watched. Use these APIs to view and manage videos, related text tracks, and audio files. Use these APIs also to get insight into video viewership.

Operations 7

GET /videos List Videos #
GET /videos/views List Video Views #
GET /videos/{videoId}/audio-tracks List Audio Tracks #
GET /videos/{videoId}/renditions List Video Renditions #
POST /videos/{videoId}/text-tracks Create Text Track #
GET /videos/{videoId}/text-tracks List Text Tracks #
PUT /videos/{videoId}/text-tracks/{textTrackId} Update Text Track #

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/cvent-event-cloud-video-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

cvent-event-cloud-video-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Cvent Event Cloud Video API
  version: ea
  contact:
    name: Cvent Development Platform
    url: https://developers.cvent.com/
  description: 'Operations tagged Video across 2 of this provider''s published API definitions: cvent-event-cloud-rest-openapi.yml, cvent-rest-apis-openapi.yaml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api-platform.cvent.com/ea
- url: https://api-platform-eur.cvent.com/ea
tags:
- name: Video
  description: Videos can be added to Cvent events with renditions at various resolutions, audio files, reactions tracks, and text tracks. Attendee viewership is tracked to get insight into durations, devices used and venue where the video is watched. Use these APIs to view and manage videos, related text tracks, and audio files. Use these APIs also to get insight into video viewership.
paths:
  /videos:
    get:
      tags:
      - Video
      security:
      - OAuth2.authorizationCode:
        - event/videos:read
      - OAuth2.clientCredentials:
        - event/videos:read
      summary: List Videos
      description: Gets a paginated list of videos associated with your account or event.
      operationId: listVideos
      parameters:
      - $ref: '#/components/parameters/after'
      - $ref: '#/components/parameters/before'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/token'
      - name: filter
        in: query
        required: false
        description: 'Use filter query parameters to limit results

          to data that matches your criteria. See

          [Filters](https://developers.cvent.com/docs/rest-api/reference/filters) for details.


          Supported fields and operators are listed below:


          | Field        | Operators  | Notes                            |

          |--------------|------------|----------------------------------|

          | id           | `eq`, `ne` |                                  |

          | events       | `eq`, `ne` |                                  |

          | sessions     | `eq`, `ne` |                                  |

          | exhibitors   | `eq`, `ne` |                                  |

          | speakers     | `eq`, `ne` |                                  |

          | source.id    | `eq`, `ne` |                                  |

          | status       | `eq`, `ne` |                                  |

          | tags         | `eq`, `ne` |                                  |

          | recording.id | `eq`, `ne` |                                  |

          | event.id     | `eq`, `ne` | deprecated, use `events` instead |


          The following logical operators are supported for combining filters:

          * and

          * or

          '
        schema:
          type: string
          example: events eq '04ca6ae2-0dc3-487b-953e-86d6abbdf7d3' and source.id ne 'sampleWebcastSystemId'
      - name: deleted
        in: query
        required: false
        description: True means only videos marked as deleted will be queried. False means only non-deleted videos will be queried.
        schema:
          type: boolean
          default: false
          example: true
      responses:
        '200':
          description: Successfully retrieved a paginated list of videos.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/videos-paginated-response'
        '400':
          $ref: '#/components/responses/BadRequest1'
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
      deprecated: false
    servers:
    - url: https://api-platform.cvent.com/ea
    - url: https://api-platform-eur.cvent.com/ea
  /videos/views:
    get:
      tags:
      - Video
      security:
      - OAuth2.authorizationCode:
        - event/video-views:read
      - OAuth2.clientCredentials:
        - event/video-views:read
      summary: List Video Views
      description: Gets a paginated list of video views
      operationId: getVideoViews
      parameters:
      - $ref: '#/components/parameters/after'
      - $ref: '#/components/parameters/before'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/token'
      - name: filter
        in: query
        required: false
        description: 'Use filter query parameters to limit results

          to data that matches your criteria. See

          [Filters](https://developers.cvent.com/docs/rest-api/reference/filters) for details.


          Supported fields and operators are listed below:


          | Field                  | Operators | Notes      |

          |------------------------|-----------|------------|

          | contact.id             | `eq`      |            |

          | solution               | `eq`      |            |

          | device.type            | `eq`      | deprecated |

          | device.operatingSystem | `eq`      | deprecated |

          | video.id               | `eq`      |            |

          | type                   | `eq`      |            |


          The filter query supports maximum three fields in a filter expression.


          The following logical operators are supported for combining filters:

          * and

          '
        schema:
          type: string
          example: contact.id eq '123e4567-e89b-12d3-a456-426614174000' and solution eq 'EVENTS_PLUS'
      responses:
        '200':
          description: Successfully retrieved paginated list of videos watched.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/video-views-paginated-response'
        '400':
          $ref: '#/components/responses/BadRequest1'
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
      deprecated: false
      externalDocs:
        description: More about OAuth2 authorization code support for administrators
        url: '#oauth2-auth-code-planner-admin'
    servers:
    - url: https://api-platform.cvent.com/ea
    - url: https://api-platform-eur.cvent.com/ea
  /videos/{videoId}/audio-tracks:
    parameters:
    - $ref: '#/components/parameters/videoId1'
    get:
      tags:
      - Video
      security:
      - OAuth2.authorizationCode:
        - event/videos:read
      - OAuth2.clientCredentials:
        - event/videos:read
      summary: List Audio Tracks
      description: Gets a list of audio tracks for a specific video ID.
      operationId: listAudioTracks
      responses:
        '200':
          description: Successfully retrieved a list of audio tracks.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/audio-tracks-response'
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '404':
          $ref: '#/components/responses/NotFound1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
      deprecated: false
    servers:
    - url: https://api-platform.cvent.com/ea
    - url: https://api-platform-eur.cvent.com/ea
  /videos/{videoId}/renditions:
    parameters:
    - $ref: '#/components/parameters/videoId1'
    get:
      tags:
      - Video
      security:
      - OAuth2.authorizationCode:
        - event/videos:read
      - OAuth2.clientCredentials:
        - event/videos:read
      summary: List Video Renditions
      description: Gets a list of video renditions for a specific video ID.
      operationId: listVideoRenditions
      responses:
        '200':
          description: Successfully retrieved a list of renditions.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/video-renditions-response'
        '400':
          $ref: '#/components/responses/BadRequest1'
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '404':
          $ref: '#/components/responses/NotFound1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
      deprecated: false
    servers:
    - url: https://api-platform.cvent.com/ea
    - url: https://api-platform-eur.cvent.com/ea
  /videos/{videoId}/text-tracks:
    parameters:
    - $ref: '#/components/parameters/videoId1'
    post:
      tags:
      - Video
      security:
      - OAuth2.authorizationCode:
        - event/videos:write
      - OAuth2.clientCredentials:
        - event/videos:write
      operationId: createTextTrack
      summary: Create Text Track
      description: Creates a new text track (VTT) object for a specific video. This endpoint does not directly handle the upload of VTT files but instead returns a location URL that you use to perform the upload.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/video-text-track'
        required: true
      responses:
        '201':
          description: Text track was successfully created for the video.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/existing-video-text-track'
        '400':
          $ref: '#/components/responses/BadRequest1'
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '404':
          $ref: '#/components/responses/NotFound1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
      deprecated: false
    get:
      tags:
      - Video
      security:
      - OAuth2.authorizationCode:
        - event/videos:read
      - OAuth2.clientCredentials:
        - event/videos:read
      summary: List Text Tracks
      description: Gets a list of video text tracks for a specific video ID.
      operationId: listVideoTextTracks
      responses:
        '200':
          description: Successfully retrieved a list of text tracks.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/video-text-tracks-response'
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '404':
          $ref: '#/components/responses/NotFound1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
      deprecated: false
    servers:
    - url: https://api-platform.cvent.com/ea
    - url: https://api-platform-eur.cvent.com/ea
  /videos/{videoId}/text-tracks/{textTrackId}:
    parameters:
    - $ref: '#/components/parameters/videoId1'
    - $ref: '#/components/parameters/textTrackId'
    put:
      tags:
      - Video
      security:
      - OAuth2.authorizationCode:
        - event/videos:write
      - OAuth2.clientCredentials:
        - event/videos:write
      summary: Update Text Track
      description: 'Updates a specific video text track by ID. This is done by setting the status to Updating within the body of this call,

        which will prompt the service to return a signed upload link in the returned entity.

        '
      operationId: updateTextTrack
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/existing-video-text-track'
        required: true
      responses:
        '200':
          description: Successfully updated a video text track.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/existing-video-text-track'
        '400':
          $ref: '#/components/responses/BadRequest1'
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '404':
          $ref: '#/components/responses/NotFound1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
      deprecated: false
    servers:
    - url: https://api-platform.cvent.com/ea
    - url: https://api-platform-eur.cvent.com/ea
components:
  schemas:
    VideoAssetID:
      title: Video Asset ID
      required:
      - id
      type: object
      properties:
        id:
          description: The identifier of a video.
          type: string
          format: uuid
          example: 04ca6ae2-0dc3-487b-953e-86d6abbdf7d3
      description: Video that this asset was created with.
    VideoView:
      title: VideoView
      description: Details of a single video view
      type: object
      properties:
        contact:
          $ref: '#/components/schemas/Contact2'
        solution:
          $ref: '#/components/schemas/Solution'
        device:
          $ref: '#/components/schemas/Device1'
        video:
          $ref: '#/components/schemas/Video1'
        type:
          $ref: '#/components/schemas/ViewType1'
        totalDuration:
          type: integer
          format: int64
          description: The total duration of the video (in milliseconds).
          example: 233000
        watchDuration:
          type: integer
          format: int64
          description: The total duration of the video watched by the viewer (in milliseconds).
          example: 153600
        watchPercentage:
          type: number
          description: The percentage of the video watched by the viewer.
          example: 52
    existing-video-text-track:
      title: ExistingVideoTextTrack
      description: An existing video text track.
      type: object
      required:
      - id
      - status
      allOf:
      - $ref: '#/components/schemas/video-text-track'
      properties:
        id:
          title: Video text track ID
          type: string
          format: uuid
          example: 04ca6ae2-0dc3-487b-953e-86d6abbdf7d3
          description: The identifier of a video text track.
          readOnly: true
        url:
          $ref: '#/components/schemas/AssetLocation'
        errorMessage:
          description: A message indicating the error processing the text track, if any.
          type: string
          example: Input file was empty
    VideoWarningCode:
      title: VideoWarningCode
      description: This is used to denote the warning codes for a video entity.
      enum:
      - 700
      type: integer
      example: 700
    video-text-tracks-response:
      title: VideoTextTracksResponse
      description: The response from a request to get the list of video text tracks.
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/existing-video-text-track'
          description: Collection of video text tracks.
    EncodingProfile:
      title: EncodingProfile
      enum:
      - Planner
      - Attendee
      type: string
      description: Denotes the profile to use when encoding the video. Planner profile is for encoding high-quality event content, like session videos. Attendee profile is for encoding lower-quality content intended to go on attendee profiles and social feeds in the event.
      example: Planner
      default: Planner
    Video1:
      title: Video
      type: object
      description: The details of a video
      properties:
        id:
          type: string
          format: uuid
          description: The unique ID of the video.
          example: 456e4567-e89b-12d3-a456-426614174000
    AudioTrackStatus:
      title: AudioTrackStatus
      enum:
      - Started
      - Uploaded
      - Scanning
      - Scanned
      - Syncing
      - Rejected
      - Error
      - Available
      type: string
      description: Denotes the status of an audio track. Started indicates the request to upload in the API was submitted, and the URL you'll upload an audio track to was returned. Uploaded indicates that the upload was completed. Scanning indicates a virus scan is happening in a quarantine location; Scanned indicates a successful virus scan. Syncing indicates a complete virus scan, and now transcoding has begun. Rejected indicates a failed virus scan. Error indicates there was a problem processing the audio track. Available indicates the audio track is available for use.
      example: Started
    VideoClip:
      title: VideoClip
      description: Video clip details.
      type: object
      properties:
        start:
          type: string
          description: The timecode to start the clip in HH:MM:SS:FF format
          example: 00:01:01:00
          pattern: ^([01][0-9]|2[0-4]):[0-5][0-9]:[0-5][0-9][:;][0-9]{2}$
        end:
          type: string
          description: The timecode to end the clip in HH:MM:SS:FF format.
          example: 00:05:00:00
          pattern: ^([01][0-9]|2[0-4]):[0-5][0-9]:[0-5][0-9][:;][0-9]{2}$
    ThumbnailStatus:
      title: ThumbnailStatus
      enum:
      - Started
      - Uploaded
      - Processing
      - Available
      - Rejected
      type: string
      description: Denotes the status of a thumbnail. Started indicates the request to upload in the API was submitted, and the URL you'll upload a thumbnail to was returned. Uploaded indicates that the upload was completed. Processing indicates that a virus scan is in progress. Available indicates the thumbnail passed the scan and is ready for use. Rejected indicates there was a problem processing the thumbnail.
      example: Started
    VideoRenditionType:
      title: VideoRenditionType
      enum:
      - Hls
      - HlsMaster
      - Mp4
      - Poster
      - Mp4Preview
      - Mp3
      - Audio
      type: string
      description: Denotes the type of rendition.
      example: Hls
    videos-paginated-response:
      title: VideoPaginatedResponse
      description: The response from a request to get the list of videos.  This includes the paging object as well as the collection of videos.
      required:
      - paging
      - data
      type: object
      properties:
        paging:
          $ref: '#/components/schemas/Paging'
        data:
          type: array
          items:
            $ref: '#/components/schemas/existing-video-response'
          description: Collection of videos.
    VideoWarnings:
      title: VideoWarnings
      description: This is used to denote the warnings for a video entity.
      type: array
      readOnly: true
      minItems: 0
      maxItems: 100
      items:
        $ref: '#/components/schemas/VideoWarning'
    VideoWarning:
      title: VideoWarning
      description: This is used to denote the warnings for a video entity.
      properties:
        code:
          $ref: '#/components/schemas/VideoWarningCode'
        message:
          type: string
          description: Warning message for the video. Message is a developer convenience never to be used in any context that needs localisation, subject to change at any time.
          example: 'Video with ID: 5779387f-3f50-4685-8641-b25a2909845f has a bitrate of 586 kbps, which is lower than the minimum allowed bitrate of 3500 kbps.'
      required:
      - code
      - message
    VideoErrors:
      title: VideoErrors
      description: This is used to denote the errors for a video entity.
      type: array
      readOnly: true
      minItems: 0
      maxItems: 100
      items:
        $ref: '#/components/schemas/VideoError'
    video:
      title: Video
      description: Event video.
      type: object
      allOf:
      - $ref: '#/components/schemas/VideoBase'
      properties:
        type:
          $ref: '#/components/schemas/VideoType'
        event:
          title: UUID
          required:
          - id
          type: object
          properties:
            id:
              title: UUID Property
              description: The ID of an event.
              type: string
              format: uuid
              example: 04ca6ae2-0dc3-487b-953e-86d6abbdf7d3
          description: Event video asset was created with. This field has been deprecated. Use events instead.
          deprecated: true
        hlsInputs:
          type: array
          description: List of locations for HLS recordings that will be combined to form a new video. This field has been deprecated. Use hlsInputsWithClips instead.
          items:
            type: string
          default: []
          deprecated: true
        hlsInputsWithClips:
          type: array
          items:
            $ref: '#/components/schemas/HlsInputWithClips'
          description: A list of input object locations & clip information for HTTP Live Streaming (HLS) recordings. Used to trim & stitch all inputs together to form a new video.
        recording:
          title: Recording details
          description: Recording details of video to be transcoded
          required:
          - id
          type: object
          properties:
            id:
              description: Entity ID of recording.
              type: string
              format: uuid
              example: 04ca6ae2-0dc3-487b-953e-86d6abbdf7d3
        encodingProfile:
          $ref: '#/components/schemas/EncodingProfile'
    video-renditions-response:
      title: VideoRenditionsResponse
      description: The response from a request to get the list of video renditions.
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/VideoRendition'
          maxItems: 11
          description: Collection of video renditions.
    VideoErrorCode:
      title: VideoErrorCode
      description: This is used to denote the error codes for a video entity.
      enum:
      - 600
      - 601
      - 602
      - 603
      - 604
      - 605
      - 606
      - 607
      - 608
      type: integer
      example: 601
    VideoError:
      title: VideoError
      description: This is used to denote the errors for a video entity.
      properties:
        code:
          $ref: '#/components/schemas/VideoErrorCode'
        message:
          type: string
          description: Error message for the video. Message is a developer convenience never to be used in any context that needs localisation, subject to change at any time.
          example: Transcoding failed due to an unsupported video codec.
      required:
      - code
      - message
    AudioTrackType:
      title: AudioTrackType
      enum:
      - asf
      - wma
      - wmv
      - mp3
      - ts
      - mp4
      - mka
      - oga
      - mov
      - wav
      type: string
      description: Denotes the file format of the audio track.
      example: mp3
    ErrorResponse:
      title: ErrorResponse
      description: Represents an error response with additional details of cascading error messages.
      allOf:
      - $ref: '#/components/schemas/ErrorResponseBase'
      type: object
      required:
      - code
      - message
      properties:
        details:
          type: array
          items:
            $ref: '#/components/schemas/ErrorResponseBase'
          description: Additional details of cascading error messages.
    AudioTrackVariant:
      title: AudioTrackVariant
      enum:
      - Main
      - Alternate
      - Commentary
      - Dub
      - Descriptive
      type: string
      default: Alternate
      description: Denotes the variant of an audio track. Main is the primary audio track for this video. Alternate is a possible alternative to the main track. Commentary is a commentary on the primary audio or video track, e.g. a director's commentary. Dub is a translated version of the main audio track. Descriptive is an audio description of a video track.
      example: Alternate
    AssetLocation:
      title: Asset Location
      description: A URL associated with the asset.
      required:
      - href
      type: object
      properties:
        href:
          type: string
          description: A pre-signed URL with an expiration of 2 hours to the asset's location.
          example: https://ap-southeast-2.example.com/sign2-bucket-hchq3nwuo8ns/sign-demo.json?X-Exa-Date=20170125T044127Z&X-Exa-Expires=60&X-Exa-Signature=24db05
          readOnly: true
    VideoTextTrackStatus:
      title: VideoTextTrackStatus
      enum:
      - Started
      - Uploaded
      - Processing
      - Available
      - Rejected
      - Updating
      - Translating
      - Transcribing
      - Error
      type: string
      description: Denotes the status of a video text track (VTT). Started indicates a request to upload in the API, and the URL to upload to was returned. Uploaded indicates that the upload was completed. Available indicates the VTT is available for use. Rejected indicates a failed virus scan. Error indicates there was a problem processing the VTT.
      example: Started
    VideoRendition:
      title: VideoRendition
      description: Video rendition
      type: object
      allOf:
      - $ref: '#/components/schemas/Audit'
      properties:
        video:
          $ref: '#/components/schemas/VideoAssetID'
        type:
          $ref: '#/components/schemas/VideoRenditionType'
        location:
          title: Link
          required:
          - href
          type: object
          properties:
            href:
              type: string
              description: A pre-signed URL with an expiration of 2 hours that provides the location.
              example: https://example.com/M8/7f378243-2c62-49fa-82e9-90e5498d30c3?Policy=eyJTdGF0ZW1lbnUysx5cE4-KWfUQ__&Key-Pair-Id=K6XDZ8UJY4Q0X
          description: Location where the rendition is stored.
        width:
          type: integer
          description: The video's frame width in pixels.
          example: 300
        height:
          type: integer
          description: The video's frame height in pixels.
          example: 400
    video-text-track:
      title: VideoTextTrack
      description: Video text track
      type: object
      required:
      - language
      - kind
      allOf:
      - $ref: '#/components/schemas/Audit'
      properties:
        video:
          $ref: '#/components/schemas/VideoAssetID'
        label:
          type: string
          description: Name of the text track.
          maxLength: 300
          example: English
        language:
          type: string
          description: IETF language tag for the text track.
          maxLength: 35
          example: en-US
        kind:
          $ref: '#/components/schemas/VideoTextTrackKind'
        published:
          description: True means that this text track has been published for your client.
          type: boolean
          default: true
        default:
          description: True indicates this is the default text track. Each kind of text track can have a separate default assigned.
          type: boolean
          default: false
        status:
          $ref: '#/components/schemas/VideoTextTrackStatus'
        autoGenerated:
          description: True indicates this text track was generated via machine transcription of the audio.
          type: boolean
          default: false
    existing-video-response:
      title: ExistingVideoResponse
      description: Response schema for GET/List endpoints, extending ExistingVideo and adding errors/warnings.
      type: object
      allOf:
      - $ref: '#/components/schemas/existing-video'
      properties:
        errors:
          $ref: '#/components/schemas/VideoErrors'
        warnings:
          $ref: '#/components/schemas/VideoWarnings'
    existing-video:
      title: ExistingVideo
      description: Existing event video.
      type: object
      required:
      - id
      allOf:
      - $ref: '#/components/schemas/video'
      properties:
        id:
          title: Video ID
          description: The identifier of a video.
          type: string
          format: uuid
          example: 04ca6ae2-0dc3-487b-953e-86d6abbdf7d3
        url:
          $ref: '#/components/schemas/AssetLocation'
        size:
          type: integer
          format: int64
          maximum: 10737418240
          description: File size in bytes for the video asset.
          example: 32768
          readOnly: true
        sessions:
          description: Sessions associated with the video asset.
          type: array
          items:
            $ref: '#/components/schemas/UUIDProperty'
          maxItems: 50
          readOnly: true
        exhibitors:
          description: Exhibitors associated with the video asset.
          type: array
          items:
            $ref: '#/components/schemas/UUIDProperty'
          maxItems: 50
          readOnly: true
        speakers:
          description: Speakers associated with the video asset.
          type: array
          items:
            $ref: '#/components/schemas/UUIDProperty'
          maxItems: 50
          readOnly: true
        uploadStarted:
          type: string
          format: date-time
          description: The ISO 8601 zoned date time when the upload started.
          example: '2024-01-05T15:30:00Z'
          readOnly: true
        uploadCompleted:
          type: string
          format: date-time
          description: The ISO 8601 zoned date time when the uploaded ended.
          example: '2024-01-05T15:35:00Z'
          readOnly: true
        parent:
          type: string
          format: uuid
          description: The ID of the video this was created from.
          readOnly: true
    ThumbnailType:
      title: ThumbnailType
      enum:
      - bmp
      - gif
      - jpe
      - jpeg
      - jpg
      - png
      - svg
      type: string
      description: This is used to denote the file type of a thumbnail
      example: png
    Contact2:
      title: Contact
      type: object
      description: The contact details who watched a video
      properties:
        id:
          type: string
          format: uuid
          description: The unique ID of the contact who watched a video.
          example: 123e4567-e89b-12d3-a456-426614174000
    video-thumbnail:
      title: VideoThumbnail
      description: Video thumbnail
      type: object
      properties:
        url:
          $ref: '#/components/schemas/Link'
        size:
          type: integer
          description: File size in bytes for the thumbnail
          example: 4098675830
        height:
          type: integer
          description: frame height in pixels
          example: 400
        width:
          type: integer
          description: frame width in pixels
          example: 300
        type:
          $ref: '#/components/schemas/ThumbnailType'
        status:
          $ref: '#/components/schemas/ThumbnailStatus'
    VideoStatus:
      title: VideoStatus
      enum:
      - Started
      - Uploaded
      - Scanning
      - Scanned
      - Syncing
      - Rejected
      - Error
      - Available
      - Upcoming
      - ReSyncing
      type: string
      description: Denotes the status of a video. Started indicates the request to upload in the API was submitted, and the URL to upload to was returned. Uploaded indicates that the upload was completed. Scanning indicates a virus scan is happening in a quarantine location; Scanned indicates a successful virus scan. Syncing indicates a complete virus scan, and now transcoding has begun. Rejected indicates a failed virus scan. Error indicates there was a problem processing the video. Available indicates the video is available for use.
      example: Started
    Solution:
      title: Solution
      description: The solution where the video exists. Attendee Hub and Events+ represent two different solutions where the video can be found.
      type: string
      enum:
      - ATTENDEE_HUB
      - EVENTS_PLUS
      example: EVENTS_PLUS
    video-views-paginated-response:
      title: VideoViewsPaginatedResponse
      description: Paginated list of video views.
      type: object
      properties:
        paging:
          $ref: '#/components/schemas/Paging'
        data:
          type: array
          items:
            $ref: '#/components/schemas/VideoView'
          description: List of unique video views.
    audio-tracks-response:
      title: AudioTracksResponse
      description: The response from a request to get the list of audio tracks.
      type: object
      properties:


# --- truncated at 32 KB (81 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cvent-event-cloud/refs/heads/main/openapi/cvent-event-cloud-video-api-openapi.yml