openapi: 3.2.0
info:
title: Cvent REST APIs — Event Cloud Video API
description: "Event Cloud scope of the Cvent REST APIs. This document is a TAG-SCOPED SUBSET of the OpenAPI specification Cvent publishes at https://github.com/cvent/rest-sdks/blob/main/cvent-public-spec/openapi.yaml (the source of truth for Cvent's official TypeScript/.NET/Java SDKs). Venue-sourcing, RFP, housing-supplier and travel-supplier tags were removed because they belong to Cvent Hospitality Cloud; every path, operation, parameter, schema and security requirement below is verbatim from Cvent's published spec.\n\n# Introduction\nThe Cvent API Platform is built around REST. We aim to provide intuitive endpoints that can be easily\ndiscovered to help leverage the Cvent platform for your event needs. The RESTful APIs outlined here\nuse JSON-encoded request and response format, along with HTTP codes, to convey processing status of\nrequests received. The Cvent resources are protected using OAuth2.\n\n# Getting Started\n\nIf you're new to the Cvent API Platform, start by reading our\n[Developer Quickstart](https://developers.cvent.com/docs/rest-api/tutorials/developer-quickstart) guide. This will\ngive you an overview of how to authenticate and make requests using our APIs.\n\n## Authentication\n\nThe Cvent REST API uses [OAuth2](https://oauth.net/2/) to authorize requests to the platform. The client\ncredentials authorization flow is supported.\n\n<a name=\"oauth2-auth-code-planner-admin\"></a>\n\nAuthorization code flow is only supported for planner users with the administrator role in Cvent. Developer users\ncannot use authorization code flow.\n\n<!-- ReDoc-Inject: <security-definitions> -->\n\nHere's an example of using client credential flow to authorize. You'll supply your application's id and secret to\nmake a [Token](#operation/oauth2Token) request.\n\n```bash\ncurl --location --request POST '{hostName}/{version}/oauth2/token' \\\n--header 'Content-Type: application/x-www-form-urlencoded' \\\n--header 'Authorization: Basic {api_credentials}' \\\n--data-urlencode 'grant_type=client_credentials' \\\n--data-urlencode 'client_id={client_id}'\n```\n\n| Key | Description | Value |\n| :---------------- | :--------------------------------------------------- | :----------------------------------------------------------------------------------------------------------- |\n| {hostName} | https://api-platform.cvent.com | Location if your account is in the North American datacenter. |\n| | https://api-platform-eur.cvent.com | Location if your account is in the European data center. |\n| {version} | ea | The version of the API you're using. Only `ea` is currently supported. |\n| {api_credentials} | {client_id}:{client_secret} in base64 encoded format | Supply your client id & client credentials in a base 64 encoded format. |\n| {client_id} | Retrieved from your application | Your application's client id. |\n| {client_secret} | Retrieved from your application | Your application's client secret. |\n\nOn a successful call, you'll receive the following response:\n\n```json\n{\n \"access_token\": \"{accessToken}\",\n \"expires_in\": 3600,\n \"token_type\": \"Bearer\"\n}\n```\n\nThis bearer token is valid for 3600 seconds (60 minutes) and must be used in subsequent calls.\n\n## Endpoints\n\nEndpoints start with `hostName` and `version`.\n\nThe `hostname` will depend on the region that your Cvent account is hosted in. Please see the table\nbelow to identify which hostname you should be using.\n\n| Region |\tHostname |\n|:--------------|:-----------------------------------|\n| North America\t| https://api-platform.cvent.com |\n| Europe | https://api-platform-eur.cvent.com |\n\nThe current `version` of the Cvent API is `ea`.\n\n## Rate Limits\n\nCvent APIs enforce rate limits to ensure platform stability. Your limits depend on your tier: Free,\nStandard, or Premium.\n\n<br />\n\n### Usage Tiers\n\n| Tier | Daily Calls | Calls per Second | Max Burst |\n| -------- | ----------- | ---------------- | --------- |\n| Free | 1,000 | 2 | 1 |\n| Standard | 15,000 | 10 | 10 |\n| Premium | 500,000 | 25 | 25 |\n\n- **Daily calls** define how many requests you can make in a 24-hour period. Quota\n resets at 12 midnight (+0 GMT).\n- **Calls per second** define how many requests you can make in a 1-second window.\n- **Max Burst** defines how many requests you can make at once.\n\nIf you are unsure what usage tier applies to your account, you can check via\n[Get Current Usage Tier](#operation/getUsageTier).\n\nPlease note that these limits may change as the Cvent API Platform evolves.\n\n<br />\n\n### Handling Rate Limits\n\nSometimes, you may exceed your rate limits. When this happens, the API will return a `429 Too Many Requests`. See\n[handling rate limits](https://developers.cvent.com/docs/rest-api/guides/handling-rate-limits) for best practices on how to handle this.\n\n## Pagination\n\nSome APIs use pagination to manage records. Each page of records has a token associated to identify it.\n\nIf an API uses pagination, you’ll find up to three tokens in the response:\n- **currentToken**: Describes the token of the current page.\n- **nextToken**: Provides a token for the next page of records, if one exists.\n- **previousToken**: Provides a token for the previous page of records, if one exists. Not all APIs will return\n this token.\n\nYou specify which page of records to view via the `token` parameter in your API call. To navigate through pages,\ntake the `nextToken` or `previousToken` value and pass it to your next call’s `token` parameter to get the\nrespective page of records. For example, if you made this request:\n\n```bash\ncurl -X GET {hostname}/{version}/contacts?limit=100 \\\n-H 'Accept: application/json' \\\n-H 'Authorization: Bearer {accessToken}'\n```\n\nThe response contains a paging array where you'll find the token information.\n\n```json\n{\n \"paging\": {\n \"currentToken\": \"90c5f062-76ad-4ea4-aa53-00eb698d9262\",\n \"nextToken\": \"3b2359a7-4583-40ed-8afd-67e5f15373d3\",\n \"limit\": 100,\n \"totalCount\": 102,\n \"_links\": {...}\n },\n \"data\": [...]\n}\n```\n\nTake the `nextToken` and use it in the `token` parameter on your subsequent call.\n\n```bash\ncurl -X GET {hostname}/{version}/contacts?limit=100&token=3b2359a7-4583-40ed-8afd-67e5f15373d3 \\\n-H 'Accept: application/json' \\\n-H 'Authorization: Bearer {accessToken}'\n```\n\nWhen the response doesn’t contain a `nextToken` field, you’ve reached the last page. Occasionally, you might\nencounter an empty page at the end of results. This typically happens when the results were evenly divisible.\nEnsure your client code handles the possibility of receiving an empty data array when using the `nextToken`.\n\n## Filtering\n\nUse filters to narrow down results. The filter follows the pattern\n`filter='field' comparisonType 'value'`. The value can be enclosed with single\nquotes (') or double quotes (\").\n\n```bash\nGET {hostName}/{version}/contacts?filter=lastName eq 'Smith'\n````\n\nTo correctly pass a single quote in the filter's value, use double quotes around\nthe string.\n\n```bash\nGET {hostName}/{version}/contacts?filter=lastName eq \"O'Keenan\"\n```\n\nTo correctly pass a double quote in the filter's value, use double quotes around\nthe string and add an escape character `\\` to each quote that is part of the\nstring.\n\n```bash\nGET {hostName}/{version}/events?filter=eventName eq \"\\\"Yearly\\\" Conference\"\n```\n\n## Versioning\n\nChange is inevitable in API development. Planning for it is crucial. We track\nboth backward-compatible and backward-incompatible changes.\n\n<br />\n\n### Backward Compatible Changes\n\nBackward compatible changes will be made often and are intended to avoid\nany adverse impact on our customers. It is highly advisable that when reading\nJSON payloads from Cvent, you are able to handle \"unknown\" attributes that\ncan be added over time. We consider the following changes backward-compatible:\n\n- Adding new resources\n- Adding new optional request parameters to existing operations\n- Adding new attributes to requests or responses\n- Changing the length or format (not type) of resource identifiers. For example, an ID can change from\n \"1234/1234\" to \"1234::1234\".\n- Increasing the length of string fields\n\n<br />\n\n### Backward Incompatible Changes\n\nBackward-incompatible changes are made infrequently, however, they can be\ndisruptive to consumers. Due to this, our APIs are versioned to avoid\ndisruptions to customers. We leverage a URI-based versioning scheme,\nwhich means that a version value is included in the Cvent API URL.\nWhen breaking changes occur, a new version of the API is made available\nwhile the existing version is deprecated but remains available for a\nlimited period of time. We consider the following backward-incompatible changes:\n\n- Adding a new required parameter (query string param or payload attribute)\n- Deleting API resources\n- Deleting any attribute from API responses\n- Changing the data type on any parameter or attribute\n\n## Standards\nAs you begin working with our APIs, it's essential to be aware of standards around\ncountry codes, time formats, and other important details that ensure smooth integration.\nLearn more about our [API Standards](https://developers.cvent.com/docs/rest-api/reference/api-standards)\n"
contact:
name: Cvent Development Platform
url: https://developers.cvent.com/
version: ea
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
/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'
/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
/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
/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
/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
components:
schemas:
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
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
UUIDProperty:
title: UUID Property
description: A string that has to be a format matching the industry standard uuid
type: string
format: uuid
example: 04ca6ae2-0dc3-487b-953e-86d6abbdf7d3
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
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
VideoType:
title: VideoType
enum:
- mpg2
- mov
- mp2
- mp4
- mpe
- mpeg
- mpg
- mpv
- qt
- webm
- hls
type: string
description: This is used to denote type of a video
example: mp4
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
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.
Audit:
title: Audit
description: Audit information
type: object
properties:
created:
type: string
format: date-time
description: The ISO 8601 zoned date time when this record was created.
readOnly: true
example: '2017-01-02T02:00:00Z'
createdBy:
type: string
description: The identifier of the user that created this record.
readOnly: true
example: hporter
lastModified:
type: string
format: date-time
description: The ISO 8601 zoned date time when this record was updated.
readOnly: true
example: '2019-02-12T03:00:00Z'
lastModifiedBy:
type: string
description: The identifier of the user that last updated this record.
readOnly: true
example: hporter
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
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
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
VideoRenditionType:
title: VideoRenditionType
enum:
- Hls
- HlsMaster
- Mp4
- Poster
- Mp4Preview
- Mp3
- Audio
type: string
description: Denotes the type of rendition.
example: Hls
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
PaginationLinks:
title: PaginationLinks
type: object
description: Represents pagination links for navigating between pages of data.
properties:
next:
$ref: '#/components/schemas/Link'
self:
$ref: '#/components/schemas/Link'
prev:
$ref: '#/components/schemas/Link'
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'
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
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
VideoBase:
title: VideoBase
description: Base model for a Video.
type: object
required:
- title
allOf:
- $ref: '#/components/schemas/Audit'
properties:
title:
type: string
description: The title of the video
maxLength: 500
example: Cvent 2020 Keynote
description:
type: string
description: Description of the video
example: The video recording of the Cvent 2020 keynote by James Gordon
filename:
type: string
# --- truncated at 32 KB (90 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cvent-event-cloud/refs/heads/main/openapi/cvent-event-cloud-video-api-openapi.yml