openapi: 3.0.3 info: title: Brightcove Analytics API Reference Access Tokens Folders API description: "Reference for the Brightcove Analytics API, used to retrieve analytics data for your accounts. To test API requests, you can use our API Testing Tools.\n\nFor additional in-depth guides to features of the API, see the **[general documentation](/analytics/index.html)**.\n\n **Base URL**: https://analytics.api.brightcove.com" x-bc-access: public version: 1.0.0 servers: - url: https://analytics.api.brightcove.com variables: {} tags: - name: Folders description: Operations for managing folders to organize your videos. paths: /v1/accounts/{{account_id}}/folders: get: tags: - Folders summary: Get Folders description: 'Gets list of folders for the account ' operationId: GetFolders parameters: - $ref: '#/components/parameters/AccountId' - $ref: '#/components/parameters/ContentType' - $ref: '#/components/parameters/Authorization' responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/Folder' '401': description: 'UNAUTHORIZED: Authentication failed; check to make sure your client credentials were correct for the access token' '403': description: 'NOT_AVAILABLE: The resource you are requesting is temporarily unavailable' '404': description: 'RESOURCE_NOT_FOUND: The api could not find the resource you requested' '405': description: 'METHOD_NOT_ALLOWED: The HTTP method specified is not allowed for this endpoint' '429': description: 'TOO_MANY_REQUESTS: You are submitting too many simultaneous requests or too many requests per second' '500': description: 'UNKNOWN: Issue in Brightcove system; try again later. TIMEOUT: Server likely too busy; try again later.' deprecated: false security: - BC_OAuth2: - video-cloud/video/read x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false post: tags: - Folders summary: Create Folder description: Create a new folder for the account - **note** that there is a limit of 1000 folders per account operationId: CreateFolder parameters: - $ref: '#/components/parameters/AccountId' - $ref: '#/components/parameters/ContentType' - $ref: '#/components/parameters/Authorization' requestBody: description: Create a new folder for the account content: application/json: schema: $ref: '#/components/schemas/Folder' required: true responses: '201': description: Folder created content: application/json: schema: $ref: '#/components/schemas/Folder' '401': description: 'UNAUTHORIZED: Authentication failed; check to make sure your client credentials were correct for the access token' '403': description: 'NOT_AVAILABLE: The resource you are requesting is temporarily unavailable' '404': description: 'RESOURCE_NOT_FOUND: The api could not find the resource you requested' '409': description: 'MAXIMUM_FOLDER_COUNT_REACHED: You have exceeded the maximum number of folders' '405': description: 'METHOD_NOT_ALLOWED: The HTTP method specified is not allowed for this endpoint' '429': description: 'TOO_MANY_REQUESTS: You are submitting too many simultaneous requests or too many requests per second' '500': description: 'UNKNOWN: Issue in Brightcove system; try again later. TIMEOUT: Server likely too busy; try again later.' deprecated: false security: - BC_OAuth2: - video-cloud/video/create x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false /v1/accounts/{{account_id}}/folders/{{folder_id}}: get: tags: - Folders summary: Get Folder Information description: 'Gets information about a folder ' operationId: GetFolderInformation parameters: - $ref: '#/components/parameters/AccountId' - $ref: '#/components/parameters/FolderId' - $ref: '#/components/parameters/ContentType' - $ref: '#/components/parameters/Authorization' responses: '200': description: '200' content: application/json: schema: type: array items: $ref: '#/components/schemas/Folder' '401': description: 'UNAUTHORIZED: Authentication failed; check to make sure your client credentials were correct for the access token' '403': description: 'NOT_AVAILABLE: The resource you are requesting is temporarily unavailable' '404': description: 'RESOURCE_NOT_FOUND: The api could not find the resource you requested' '405': description: 'METHOD_NOT_ALLOWED: The HTTP method specified is not allowed for this endpoint' '429': description: 'TOO_MANY_REQUESTS: You are submitting too many simultaneous requests or too many requests per second' '500': description: 'UNKNOWN: Issue in Brightcove system; try again later. TIMEOUT: Server likely too busy; try again later.' deprecated: false security: - BC_OAuth2: - video-cloud/video/read x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false patch: tags: - Folders summary: Update Folder Name description: 'Update the folder name ' operationId: UpdateFolderName parameters: - $ref: '#/components/parameters/AccountId' - name: folder_id in: path description: the folder ID required: true style: simple explode: false schema: type: string - $ref: '#/components/parameters/ContentType' - $ref: '#/components/parameters/Authorization' requestBody: description: Update the folder name content: application/json: schema: $ref: '#/components/schemas/Folder' required: true responses: '200': description: '200' content: application/json: schema: $ref: '#/components/schemas/Folder' '401': description: 'UNAUTHORIZED: Authentication failed; check to make sure your client credentials were correct for the access token' '403': description: 'NOT_AVAILABLE: The resource you are requesting is temporarily unavailable' '404': description: 'RESOURCE_NOT_FOUND: The api could not find the resource you requested' '405': description: 'METHOD_NOT_ALLOWED: The HTTP method specified is not allowed for this endpoint' '429': description: 'TOO_MANY_REQUESTS: You are submitting too many simultaneous requests or too many requests per second' '500': description: 'UNKNOWN: Issue in Brightcove system; try again later. TIMEOUT: Server likely too busy; try again later.' deprecated: false security: - BC_OAuth2: - video-cloud/video/update x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false delete: tags: - Folders summary: Delete Folder description: 'Delete a folder ' operationId: DeleteFolder parameters: - $ref: '#/components/parameters/AccountId' - name: folder_id in: path description: the folder ID required: true style: simple explode: false schema: type: string - name: name in: query description: name of the folder (must be unique in the account) required: true style: form explode: true schema: type: string - $ref: '#/components/parameters/ContentType' - $ref: '#/components/parameters/Authorization' responses: '201': description: '201' '401': description: 'UNAUTHORIZED: Authentication failed; check to make sure your client credentials were correct for the access token' '403': description: 'NOT_AVAILABLE: The resource you are requesting is temporarily unavailable' '404': description: 'RESOURCE_NOT_FOUND: The api could not find the resource you requested' '405': description: 'METHOD_NOT_ALLOWED: The HTTP method specified is not allowed for this endpoint' '429': description: 'TOO_MANY_REQUESTS: You are submitting too many simultaneous requests or too many requests per second' '500': description: 'UNKNOWN: Issue in Brightcove system; try again later. TIMEOUT: Server likely too busy; try again later.' deprecated: false security: - BC_OAuth2: - video-cloud/video/delete x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false /v1/accounts/{{account_id}}/folders/{{folder_id}}/videos: get: tags: - Folders summary: Get Videos in Folder description: 'Gets list of video objects in a folder ' operationId: GetVideosInFolder parameters: - $ref: '#/components/parameters/AccountId' - name: folder_id in: path description: the folder ID. required: true style: simple explode: false schema: type: string - $ref: '#/components/parameters/ContentType' - $ref: '#/components/parameters/Authorization' - $ref: '#/components/parameters/Limit' - $ref: '#/components/parameters/Offset' - $ref: '#/components/parameters/VideoSort' responses: '200': description: Videos in the folder content: application/json: schema: type: array items: $ref: '#/components/schemas/Video' description: Videos in the folder '401': description: 'UNAUTHORIZED: Authentication failed; check to make sure your client credentials were correct for the access token' '403': description: 'NOT_AVAILABLE: The resource you are requesting is temporarily unavailable' '404': description: 'RESOURCE_NOT_FOUND: The api could not find the resource you requested' '405': description: 'METHOD_NOT_ALLOWED: The HTTP method specified is not allowed for this endpoint' '429': description: 'TOO_MANY_REQUESTS: You are submitting too many simultaneous requests or too many requests per second' '500': description: 'UNKNOWN: Issue in Brightcove system; try again later. TIMEOUT: Server likely too busy; try again later.' deprecated: false security: - BC_OAuth2: - video-cloud/video/read x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false /v1/accounts/{{account_id}}/folders/{{folder_id}}/videos/{{video_id}}: put: tags: - Folders summary: Add Video to Folder description: 'Add a video to a folder ' operationId: AddVideoToFolder parameters: - $ref: '#/components/parameters/AccountId' - $ref: '#/components/parameters/FolderId' - $ref: '#/components/parameters/VideoId' - $ref: '#/components/parameters/ContentType' - $ref: '#/components/parameters/Authorization' responses: '204': description: NO_CONTENT '401': description: 'UNAUTHORIZED: Authentication failed; check to make sure your client credentials were correct for the access token' '403': description: 'NOT_AVAILABLE: The resource you are requesting is temporarily unavailable' '404': description: 'RESOURCE_NOT_FOUND: The api could not find the resource you requested' '405': description: 'METHOD_NOT_ALLOWED: The HTTP method specified is not allowed for this endpoint' '429': description: 'TOO_MANY_REQUESTS: You are submitting too many simultaneous requests or too many requests per second' '500': description: 'UNKNOWN: Issue in Brightcove system; try again later. TIMEOUT: Server likely too busy; try again later.' deprecated: false security: - BC_OAuth2: - video-cloud/video/update x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false delete: tags: - Folders summary: Remove Video from Folder description: 'Remove a video from a folder ' operationId: RemoveVideoFromFolder parameters: - $ref: '#/components/parameters/AccountId' - name: folder_id in: path description: the folder ID required: true style: simple explode: false schema: type: string - name: video_id in: path description: the video ID required: true style: simple explode: false schema: type: string - $ref: '#/components/parameters/ContentType' - $ref: '#/components/parameters/Authorization' responses: '201': description: Video successfully removed from the folder '401': description: 'UNAUTHORIZED: Authentication failed; check to make sure your client credentials were correct for the access token' '403': description: 'NOT_AVAILABLE: The resource you are requesting is temporarily unavailable' '404': description: 'RESOURCE_NOT_FOUND: The api could not find the resource you requested' '405': description: 'METHOD_NOT_ALLOWED: The HTTP method specified is not allowed for this endpoint' '429': description: 'TOO_MANY_REQUESTS: You are submitting too many simultaneous requests or too many requests per second' '500': description: 'UNKNOWN: Issue in Brightcove system; try again later. TIMEOUT: Server likely too busy; try again later.' deprecated: false security: - BC_OAuth2: - video-cloud/video/update x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false components: schemas: Folder: properties: account_id: description: Video Cloud account id example: 57838016001 readOnly: true type: string created_at: description: date/time folder created example: 2017-11-23 19:53:59.687000+00:00 readOnly: true type: string id: description: system id for the folder example: 5a17275782aca45b631295f9 readOnly: true type: string name: description: folder name example: birds type: string updated_at: description: date/time folder last modified example: 2017-11-23 20:06:24.537000+00:00 readOnly: true type: string video_count: description: number of videos in the folder example: 5 readOnly: true type: string title: Folder type: object VideoImages: description: map of image maps - the map name is in the form `label.language` where the label is one of `poster`, `thumbnail`, `portrait`, `square`, `wide` or `ultra-wide`, and the `language` is a language identifier such as 'en', 'de', or `ko` example: thumbnail: src: https://cf-images.us-east-1.prod.boltdns.net/v1/jit/57838016001/ee705e97-3fb5-409c-99d8-703e9f57bd0a/main/160x90/20s629ms/match/image.jpg sources: - src: https://cf-images.us-east-1.prod.boltdns.net/v1/jit/57838016001/ee705e97-3fb5-409c-99d8-703e9f57bd0a/main/160x90/20s629ms/match/image.jpg height: 90 width: 160 poster: src: https://cf-images.us-east-1.prod.boltdns.net/v1/jit/57838016001/ee705e97-3fb5-409c-99d8-703e9f57bd0a/main/1280x720/20s629ms/match/image.jpg sources: - src: https://cf-images.us-east-1.prod.boltdns.net/v1/jit/57838016001/ee705e97-3fb5-409c-99d8-703e9f57bd0a/main/1280x720/20s629ms/match/image.jpg height: 720 width: 1280 portrait.es: src: https://cf-images.us-east-1.prod.boltdns.net/v1/static/57838016001/ee705e97-3fb5-409c-99d8-703e9f57bd0a/bac8717a-43db-4fa8-a6f0-189c80ee4c4e/800x1200/match/image.jpg sources: - src: https://cf-images.us-east-1.prod.boltdns.net/v1/static/57838016001/ee705e97-3fb5-409c-99d8-703e9f57bd0a/bac8717a-43db-4fa8-a6f0-189c80ee4c4e/800x1200/match/image.jpg height: 1200 width: 800 thumbnail.en: src: https://cf-images.us-east-1.prod.boltdns.net/v1/static/57838016001/ee705e97-3fb5-409c-99d8-703e9f57bd0a/0ce2da4d-ca36-469b-9024-0273d79feeeb/292x108/match/image.jpg sources: - src: https://cf-images.us-east-1.prod.boltdns.net/v1/static/57838016001/ee705e97-3fb5-409c-99d8-703e9f57bd0a/0ce2da4d-ca36-469b-9024-0273d79feeeb/292x108/match/image.jpg height: 108 width: 292 poster.en: src: https://cf-images.us-east-1.prod.boltdns.net/v1/static/57838016001/ee705e97-3fb5-409c-99d8-703e9f57bd0a/a7cb150d-c84a-48e0-9469-5b4ce80fba53/1920x1080/match/image.jpg sources: - src: https://cf-images.us-east-1.prod.boltdns.net/v1/static/57838016001/ee705e97-3fb5-409c-99d8-703e9f57bd0a/a7cb150d-c84a-48e0-9469-5b4ce80fba53/1920x1080/match/image.jpg height: 1080 width: 1920 square.de: src: https://cf-images.us-east-1.prod.boltdns.net/v1/static/57838016001/ee705e97-3fb5-409c-99d8-703e9f57bd0a/22209955-e136-4f17-914c-e19ec4c58886/570x570/match/image.jpg sources: - src: https://cf-images.us-east-1.prod.boltdns.net/v1/static/57838016001/ee705e97-3fb5-409c-99d8-703e9f57bd0a/22209955-e136-4f17-914c-e19ec4c58886/570x570/match/image.jpg height: 570 width: 570 ultra-wide.hi: src: https://cf-images.us-east-1.prod.boltdns.net/v1/static/57838016001/ee705e97-3fb5-409c-99d8-703e9f57bd0a/72fd489f-d978-44ba-8d04-1e33c7c36cef/3840x1646/match/image.jpg sources: - src: https://cf-images.us-east-1.prod.boltdns.net/v1/static/57838016001/ee705e97-3fb5-409c-99d8-703e9f57bd0a/72fd489f-d978-44ba-8d04-1e33c7c36cef/3840x1646/match/image.jpg height: 1646 width: 3840 wide.fr: src: https://cf-images.us-east-1.prod.boltdns.net/v1/static/57838016001/ee705e97-3fb5-409c-99d8-703e9f57bd0a/4405a5d5-8b9e-4c2b-be71-cf4e2c153e87/2560x1440/match/image.jpg sources: - src: https://cf-images.us-east-1.prod.boltdns.net/v1/static/57838016001/ee705e97-3fb5-409c-99d8-703e9f57bd0a/4405a5d5-8b9e-4c2b-be71-cf4e2c153e87/2560x1440/match/image.jpg height: 1440 width: 2560 readOnly: true title: VideoImages type: object VideoVariants: description: Array of video variants type: array items: - $ref: '#/components/schemas/VideoVariant' - $ref: '#/components/schemas/VideoVariant2' - $ref: '#/components/schemas/VideoVariant3' CuePoint: properties: force_stop: description: Whether playback should be stopped when the cuepoint is reached type: boolean metadata: description: optional metadata string (512 single-byte characters maximum) maxLength: 512 type: string name: description: cue point name type: string time: description: time of the cue point in seconds example: 10.527 type: number type: description: cue point type enum: - AD - DATA type: string required: - time - type title: cue_point type: object Link: description: map of related link properties - can only be added on update, not creation properties: text: description: text for the link maxLength: 255 type: string url: description: URL for the link maxLength: 255 type: string title: link type: object Geo: description: map of geo-filtering properties properties: countries: description: array of ISO 3166 list of 2-letter codes(https://www.iso.org/obp/ui/#home) (search for "country codes") example: - us - ca - fr items: type: string type: array exclude_countries: description: if true, country array is treated as a list of countries excluded from viewing type: boolean restricted: description: whether geo-restriction is enabled for this video type: boolean required: - countries - exclude_countries - restricted title: geo type: object VideoVariant3: description: Object containing language-specific metadata for a video properties: language: type: string description: 'The language for this variant in the language-country code format (examples: en-US, es-ES) **Note that `language` is only included when you create a variant - you must NOT include it when updating the variant**' example: ja-JA name: type: string description: The title of the video in this language description: type: string description: The video short description in this language long_description: type: string description: The video long description in this language custom_fields: type: object description: 'map of `fieldname: value` pairs, where values are for this language; values have a maximum length of 1024 single-byte characters. Note: be sure to use the **internal** name for the field, not the display name' VideoVariant: description: Object containing language-specific metadata for a video properties: language: type: string description: 'The language for this variant in the language-country code format (examples: en-US, es-ES) **Note that `language` is only included when you create a variant - you must NOT include it when updating the variant**' example: es-ES name: type: string description: The title of the video in this language description: type: string description: The video short description in this language long_description: type: string description: The video long description in this language custom_fields: type: object description: 'map of `fieldname: value` pairs, where values are for this language; values have a maximum length of 1024 single-byte characters. Note: be sure to use the **internal** name for the field, not the display name' User: description: information about who created or modified a video, if available properties: email: description: the user's email address in Video Cloud type: string id: description: Video Cloud system id of the user type: string type: description: "The type of the updater, either:\n - `user` a user in Studio\n - `api-key` a user via the APIs\n - `internal` a Brightcove system or user" enum: - user - api_key - internal type: string readOnly: true title: User type: object Schedule: description: map of scheduling properties properties: ends_at: description: '''End date-time of availability in ISO-8601(https://www.ecma-international.org/ecma-262/5.1/#sec-15.9.1.15) format. Note that you can input a date-time stamp with a time zone, such as `2021-05-01T18:00:00.000+08`, but it will be converted to and stored as a UTC data-time stamp: `2021-05-01T10:00:00.000Z`''' example: 2020-05-20 20:41:07.689000+00:00 nullable: true type: string starts_at: description: '''Start date-time of availability in ISO-8601(https://www.ecma-international.org/ecma-262/5.1/#sec-15.9.1.15) format. Note that you can input a date-time stamp with a time zone, such as `2021-05-01T18:00:00.000+08`, but it will be converted to and stored as a UTC data-time stamp: `2021-05-01T10:00:00.000Z`''' example: 2019-05-20 20:41:07.689000+00:00 nullable: true type: string title: schedule type: object VideoVariant2: description: Object containing language-specific metadata for a video properties: language: type: string description: 'The language for this variant in the language-country code format (examples: en-US, es-ES) **Note that `language` is only included when you create a variant - you must NOT include it when updating the variant**' example: de-DE name: type: string description: The title of the video in this language description: type: string description: The video short description in this language long_description: type: string description: The video long description in this language custom_fields: type: object description: 'map of `fieldname: value` pairs, where values are for this language; values have a maximum length of 1024 single-byte characters. Note: be sure to use the **internal** name for the field, not the display name' Sharing: description: map of the sharing properties for the video properties: by_external_acct: description: whether the video was shared from another account example: true readOnly: true type: boolean by_id: description: id of the account that shared the video; note that this field is populated only for the shared copy, not for the original video example: 57838016001 readOnly: true type: string by_reference: description: whether the video is shared by reference example: true readOnly: true type: boolean source_id: description: id of the video in its original account; note that this field is populated only for the shared copy, not for the original video example: 239487239487 readOnly: true type: string to_external_acct: description: whether the video is shared to another account example: true readOnly: true type: boolean readOnly: true title: sharing type: object Transcript: properties: id: description: System id for the text track readOnly: true type: string account_id: description: The account id readOnly: true type: string default: description: Whether the transcript is the default - note that if there are multi-language transcripts, there can be a default per language readOnly: true type: boolean label: description: label for the track type: string sources: description: sources for a client to retrieve the transcription type: array items: type: string description: URLs where the transcript can be retrieved - there will an http and https URL for each transcript src: description: URL for the transcription file type: string srclang: description: 2-letter or 4-letter language code, such as `es` or `es-MX` type: string status: description: Either `draft` (unavailable to viewers) or `published` type: string enum: - draft - published required: - src - srclang title: transcription type: object Video: description: Object containing metadata for a video properties: video_preview: $ref: '#/components/schemas/VideoPreview' ad_keys: description: string representing the ad key/value pairs assigned to the video. Key/value pairs are formatted as key=value and are separated by ampersands - can only be added on update, not creation example: ' "adKeys": "category=sports&live=true"' nullable: true type: string clip_source_video_id: description: The ID of the source video that was clipped to produce this video or null if this video is not a clip of another video example: 4723947979 readOnly: true type: string complete: description: 'whether the video has at least one rendition -Note: when you create a new video, the complete property is automatically set to false. As soon as one rendition exists for the video, the complete property will be automatically set to true. This does **not mean that all renditions are created and images and captions processed**. For the full status of ingestion, see [Dynamic Ingest API Notifications](/dynamic-ingest/general/notifications-dynamic-delivery-video-cloud.html)' example: true readOnly: true type: boolean created_at: description: when the video was created example: '2015-09-17T16:08:37.108Z' readOnly: true type: string created_by: $ref: '#/components/schemas/User' cue_points: description: array of cue points - can be added on creation or update items: $ref: '#/components/schemas/CuePoint' type: array custom_fields: additionalProperties: description: 'map of fieldname-value pairs; values have a maximum length of 1024 single-byte characters Note: be sure to use the internal name for the field, not the display name' type: string type: object delivery_type: description: "video delivery type:\n - `remote`: a remote asset\n - `dynamic_origin`: processed using the Dynamic Delivery ingest system\n - `live_origin`: a live stream from Brightcove Live\n - `unknown`: the delivery type could not be determined (may mean there are no playable renditions)" enum: - remote - dynamic_origin - live_origin - unknown example: dynamic_origin readOnly: true type: string description: description: video short description example: Herring gull on a wharf in Boston maxLength: 248 type: string digital_master_id: description: asset id of the digital master example: 734462494001 readOnly: true type: string drm_disabled: description: if true, the video is not DRM-packaged - applies to accounts that are enabled for DRM only example: true type: boolean duration: description: video duration in milliseconds example: 18160 readOnly: true type: integer economics: default: AD_SUPPORTED description: whether video is `AD_SUPPORTED` enum: - AD_SUPPORTED - FREE example: AD_SUPPORTED type: string folder_id: description: id of the folder that contains the video example: 560039e5e4b0e69e4b01cacd readOnly: true type: string forensic_watermarking: description: 'Indicates whether the video has forensic watermarking possible values: - `ACTIVE` - the video was transcoded with forensic watermarking and should be used during delivery - `UNAVAILABLE` - the video was not transcoded with forensic watermarking support and can’t be delivered using it - `null` - the value is for forensic watermarking is not available for the account; in this case the field is not returned in API responses if the video was not ingested with forensic watermarking, this field will be set to `UNAVAILABLE` automatically; if the video was ingested or retranscoded with forensic watermarking, this field will be set to `ACTIVE` automatically' example: ACTIVE readOnly: true type: string enum: - ACTIVE - UNAVAILABLE geo: $ref: '#/components/schemas/Geo' has_digital_master: description: whether video has an archived master than can be used for retranscoding example: true readOnly: true type: boolean id: description: video id example: 734462567001 readOnly: true type: string images: $ref: '#/components/schemas/VideoImages' labels: type: array description: Array of labels assigned to the video. See [Working with Labels](/cms/managing-videos/working-with-labels.html) for more information. items: type: string description: full hierarchical path for a label. link: $ref: '#/components/schemas/Link' long_description: description: video long description - can only be added on update, not creation example: Herring Gull near Fort Point Channel in Boston, MA, USA. 2019-04-25. maxLength: 5000 type: string name: description: video title example: Laughing Gull maxLength: 255 minLength: 1 type: string offline_enabled: default: false description: whether video is enabled for offline viewing example: true type: boolean original_filename: description: the original file name for the uploaded video example: gull-boston.mov readOnly: true type: string playback_rights_id: type: string description: Associates specified EPA playback rights with video. projection: description: used for 360 videos enum: - equirectangular example: equirectangular nullable: true type: string published_at: description: start date-time of first activation in ISO-8601(https://www.ecma-international.org/ecma-262/5.1/#sec-15.9.1.15) format example: 2019-04-30 23:27:22.507000+00:00 type: string reference_id: description: video reference-id (must be unique within the account) example: laughing_gull_2019_04_25 maxLength: 150 nullable: true type: string schedule: $ref: '#/components/schemas/Schedule' sharing: $ref: '#/components/schemas/Sharing' state: description: "The state of the video:\n - ACTIVE: the video is playable\n - INACTIVE: the video is not playable\n - PENDING: \n - DELETED: the video has been deleted (within the past 10 days; after that, the API won't return the video)" enum: - ACTIVE - INACTIVE - PENDING - DELETED example: ACTIVE type: string tags: description: array of tags - maximum characters per tag is 1000 example: - birds - sea items: type: string maxLength: 128 type: array text_tracks: description: array of text tracks - can only be added on update, not creation items: $ref: '#/components/schemas/TextTrack' type: array transcripts: description: array of transcription objects - can only be added on update, not creation items: $ref: '#/components/schemas/Transcript' type: array updated_at: description: when the video was last modified example: 2018-02-27 19:09:20.401000+00:00 readOnly: true type: string updated_by: $ref: '#/components/schemas/User' variants: $ref: '#/components/schemas/VideoVariants' title: Video type: object VideoPreview: description: Animated thumbnail preview metadata for the video properties: start: description: Start time in milliseconds for the preview segment example: 10000 type: integer sources: description: Array of HLS manifests for the animated preview items: $ref: '#/components/schemas/VideoPreviewSource' type: array title: VideoPreview type: object VideoPreviewSource: description: HLS manifest entry for animated preview properties: ext_x_version: description: HLS EXT-X-VERSION value example: '7' type: string src: description: URL to the preview HLS manifest example: https://manifest.prod.boltdns.net/.../preview.m3u8?... type: string type: description: MIME type example: application/x-mpegURL type: string title: VideoPreviewSource type: object TextTrack: properties: default: default: false description: whether this is the default track - should only be true for one text track type: boolean id: description: System id for the text track readOnly: true type: string kind: default: captions description: 'How the track is meant to be used: `subtitles`, `captions`, `descriptions`, `chapters`, `metadata`.' enum: - subtitles - captions - descriptions - chapters - metadata - transcripts type: string label: description: label for the track type: string mime_type: description: mime-type for the track type: string src: description: URL for the .vtt file type: string srclang: description: 2-letter language code, such as "en" or "ko" type: string status: description: Indicates the actual situation of the track, if it is `published`, `draft`, or `null` for pre-existing text tracks. Draft tracks will not be displayed in the player. parameters: AccountId: description: Video Cloud account ID. explode: false in: path name: account_id required: true schema: type: string style: simple Offset: description: Number of items to skip - see [Paging Search Results](/cms/searching/using-cms-api-page-search-results.html) for more information explode: true in: query name: offset schema: default: 0 example: 20 format: int32 type: integer style: form VideoId: description: Video ID (specified as `{video_id}}`). explode: false in: path name: video_id required: true schema: type: string style: simple Limit: description: Number of items to return - see [Paging Search Results](/cms/searching/using-cms-api-page-search-results.html) for more information explode: true in: query name: limit schema: default: 20 example: 20 format: int32 maximum: 100 minimum: 1 type: integer style: form FolderId: description: Folder ID. explode: false in: path name: folder_id required: true schema: type: string style: simple ContentType: description: 'Content-Type: application/json' example: application/json explode: false in: header name: Content-Type required: true schema: default: application/json type: string style: simple VideoSort: description: "Field to sort results by - if absent and there is a search string, results are sorted by relevance or if there is no search string, results are sorted by `-updated_at`. \nNotes: \n - to sort in descending order, preface the field name with a minus (`-`) sign\n - this parameter can be used to sort results both for a get videos request and for a get videos in folder request" explode: true in: query name: sort schema: default: -updated_at enum: - name - -name - reference_id - -reference_id - created_at - -created_at - published_at - -published_at - updated_at - -updated_at - schedule.starts_at - -schedule.ends_at - state - -state - plays_total - -plays_total - plays_trailing_week - -plays_trailing_week example: created_at type: string x-enum-elements: - description: The video name name: name - description: The video reference id name: reference_id - description: Date video was created in the Video Cloud name: created_at - description: Date video was activated name: published_at - description: Date video was last updated (by a user or the system) name: updated_at - description: Date video scheduled to become available name: schedule.starts_at - description: Date video scheduled to become unavailable name: schedule.ends_at - description: Whether the video is playable (`ACTIVE` or `INACTIVE`) name: state - description: All time video views (this field can only be sorted on - it is not returned) name: plays_total - description: Trailing week video views (this field can only be sorted on - it is not returned) name: plays_trailing_week style: form Authorization: description: 'Authorization: Bearer {access_token} - see [Getting Access Tokens](/oauth/code-samples/oauth-api-sample-get-access-token.html)' explode: false in: header name: Authorization required: true schema: type: string style: simple securitySchemes: BC_OAuth2: type: oauth2 description: Brightcove OAuth API. See the [support documentation](/oauth/index.html) or [Getting Access Tokens](/oauth/code-samples/oauth-api-sample-get-access-token.html) to learn more flows: clientCredentials: tokenUrl: https://oauth.brightcove.com/v4/access_token scopes: video-cloud/analytics/read: Read analytics data video-cloud/video/read: Read video data x-bc-implicit-head: true x-bc-implicit-options: true x-bc-upstream: https://backend_server