openapi: '3.0.0' x-bc-implicit-head: true x-bc-implicit-options: true x-bc-upstream: 'https://mrss_config_server' info: description: Syndication Configuration API version: 1.0.0 title: Brightcove Syndication Configuration API x-bc-access: public servers: - url: 'https://social.api.brightcove.com/v1' variables: {} paths: '/accounts/{{account_id}}/mrss/syndications': post: tags: - Syndications summary: Create a new syndication description: >- Creates a new syndication. operationId: postSyndication security: - BC_OAuth2: - video-cloud/social/mrss/write parameters: - $ref: '#/components/parameters/AccountId' requestBody: content: application/json: schema: $ref: '#/components/schemas/Syndication' responses: '201': description: The newly created syndication. content: application/json: schema: $ref: '#/components/schemas/Syndication' '400': description: Request body syntax error content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' '401': description: Insufficient permissions to access this API method content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' '422': description: Invalid request body fields or values content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' get: tags: - Syndications summary: Get all syndications description: >- Gets a list of all syndications currently configured for the account. operationId: getSyndications security: - BC_OAuth2: - video-cloud/social/mrss/read parameters: - $ref: '#/components/parameters/AccountId' responses: '200': description: A list of syndications. content: application/json: schema: $ref: '#/components/schemas/SyndicationList' '401': description: Insufficient permissions to access this API method content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' '/accounts/{{account_id}}/mrss/syndications/{syndication_id}': put: tags: - Syndications summary: Update a syndication. description: >- Updates the confguration data for a syndication. A fully populated Syndication object should be passed as the request body. Read-only fields can be omitted, and will be ignored if they are included. Note that the *type* property cannot be changed from the value specified when the syndication was created. operationId: putSyndication security: - BC_OAuth2: - video-cloud/social/mrss/write parameters: - $ref: '#/components/parameters/AccountId' - $ref: '#/components/parameters/SyndicationId' requestBody: content: application/json: schema: $ref: '#/components/schemas/Syndication' responses: '200': description: The updated syndication. content: application/json: schema: $ref: '#/components/schemas/Syndication' '401': description: Insufficient permissions to access this API method content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' '404': description: Syndication not found content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' patch: tags: - Syndications summary: Update a syndication. description: >- Updates the configuration data for a syndication. A Syndication object specifying non-null values for writable fields to be updated should be passed as the request body. Note that the *type* property cannot be changed from the value specified when the syndication was created. operationId: patchSyndication security: - BC_OAuth2: - video-cloud/social/mrss/write parameters: - $ref: '#/components/parameters/AccountId' - $ref: '#/components/parameters/SyndicationId' requestBody: content: application/json: schema: $ref: '#/components/schemas/Syndication' responses: '200': description: The updated syndication. content: application/json: schema: $ref: '#/components/schemas/Syndication' '401': description: Insufficient permissions to access this API method content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' '404': description: Syndication not found content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' delete: tags: - Syndications summary: Delete a syndication description: >- Deletes a syndication. operationId: deleteSyndication security: - BC_OAuth2: - video-cloud/social/mrss/write parameters: - $ref: '#/components/parameters/AccountId' - $ref: '#/components/parameters/SyndicationId' responses: '200': description: Syndication successfully deleted '401': description: Insufficient permissions to access this API method content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' '404': description: Syndication not found content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' get: tags: - Syndications summary: Get a syndication description: >- Gets the configuration data for a syndication. operationId: getSyndication security: - BC_OAuth2: - video-cloud/social/mrss/read parameters: - $ref: '#/components/parameters/AccountId' - $ref: '#/components/parameters/SyndicationId' responses: '200': description: The specified syndication. content: application/json: schema: $ref: '#/components/schemas/Syndication' '401': description: Insufficient permissions to access this API method content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' '404': description: Syndication not found content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' '/accounts/{{account_id}}/mrss/syndications/{syndication_id}/template': put: tags: - Templates summary: Upload a custom feed template description: >- Uploads a custom feed template to a universal syndication. operationId: putTemplate security: - BC_OAuth2: - video-cloud/social/mrss/write parameters: - $ref: '#/components/parameters/AccountId' - $ref: '#/components/parameters/SyndicationId' requestBody: description: A feed template document required: true content: text/plain: schema: type: string responses: '200': description: The newly uploaded template. '400': description: Request body syntax error content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' '401': description: Insufficient permissions to access this API method content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' get: tags: - Templates summary: Get a custom feed template description: >- Gets a universal syndication's custom feed template. operationId: getTemplate security: - BC_OAuth2: - video-cloud/social/mrss/read parameters: - $ref: '#/components/parameters/AccountId' - $ref: '#/components/parameters/SyndicationId' responses: '200': description: The universal syndication's feed template. '401': description: Insufficient permissions to access this API method content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' '403': description: Forbidden, syndication was not of type universal content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' '404': description: Template not found content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' '/accounts/{{account_id}}/mrss/ott-syndications': post: tags: - OTT Syndications summary: Create a new OTT syndication description: >- Creates a new OTT syndication. operationId: postOTTSyndication security: - BC_OAuth2: - video-cloud/social/mrss/write parameters: - $ref: '#/components/parameters/AccountId' requestBody: content: application/json: schema: $ref: '#/components/schemas/OTTSyndication' responses: '201': description: The newly created syndication. content: application/json: schema: $ref: '#/components/schemas/OTTSyndication' '400': description: Request body syntax error content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' '401': description: Insufficient permissions to access this API method content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' '422': description: Invalid request body fields or values content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' get: tags: - OTT Syndications summary: Get all OTT syndications description: >- Gets a list of all OTT syndications currently configured for the account. operationId: getOTTSyndications security: - BC_OAuth2: - video-cloud/social/mrss/read parameters: - $ref: '#/components/parameters/AccountId' responses: '200': description: A list of OTT syndications. content: application/json: schema: $ref: '#/components/schemas/OTTSyndicationList' '401': description: Insufficient permissions to access this API method content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' '/accounts/{{account_id}}/mrss/ott-syndications/{syndication_id}': put: tags: - OTT Syndications summary: Update an OTT syndication. description: >- Updates the confguration data for a syndication. A fully populated OTTSyndication object should be passed as the request body. Read-only fields can be omitted, and will be ignored if they are included. Note that the *type* property cannot be changed from the value specified when the syndication was created. operationId: putOTTSyndication security: - BC_OAuth2: - video-cloud/social/mrss/write parameters: - $ref: '#/components/parameters/AccountId' - $ref: '#/components/parameters/SyndicationId' requestBody: content: application/json: schema: $ref: '#/components/schemas/OTTSyndication' responses: '200': description: The updated syndication. content: application/json: schema: $ref: '#/components/schemas/OTTSyndication' '401': description: Insufficient permissions to access this API method content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' '404': description: Syndication not found content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' patch: tags: - OTT Syndications summary: Update an OTT syndication. description: >- Updates the configuration data for a syndication. An OTTSyndication object specifying non-null values for writable fields to be updated should be passed as the request body. Note that the *type* property cannot be changed from the value specified when the syndication was created. operationId: patchOTTSyndication security: - BC_OAuth2: - video-cloud/social/mrss/write parameters: - $ref: '#/components/parameters/AccountId' - $ref: '#/components/parameters/SyndicationId' requestBody: content: application/json: schema: $ref: '#/components/schemas/OTTSyndication' responses: '200': description: The updated syndication. content: application/json: schema: $ref: '#/components/schemas/OTTSyndication' '401': description: Insufficient permissions to access this API method content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' '404': description: Syndication not found content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' delete: tags: - OTT Syndications summary: Delete an OTT syndication description: >- Deletes an OTT syndication. operationId: deleteOTTSyndication security: - BC_OAuth2: - video-cloud/social/mrss/write parameters: - $ref: '#/components/parameters/AccountId' - $ref: '#/components/parameters/SyndicationId' responses: '200': description: Syndication successfully deleted '401': description: Insufficient permissions to access this API method content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' '404': description: Syndication not found content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' get: tags: - OTT Syndications summary: Get an OTT syndication description: >- Gets the configuration data for an OTT syndication. operationId: getOTTSyndication security: - BC_OAuth2: - video-cloud/social/mrss/read parameters: - $ref: '#/components/parameters/AccountId' - $ref: '#/components/parameters/SyndicationId' responses: '200': description: The specified syndication. content: application/json: schema: $ref: '#/components/schemas/OTTSyndication' '401': description: Insufficient permissions to access this API method. content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' '404': description: Syndication not found content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' '/accounts/{{account_id}}/mrss/ott-syndications/{syndication_id}/template': put: tags: - OTT Templates summary: Upload a custom OTT feed template description: >- Uploads a custom OTT feed template to a universal syndication. operationId: putOTTTemplate security: - BC_OAuth2: - video-cloud/social/mrss/write parameters: - $ref: '#/components/parameters/AccountId' - $ref: '#/components/parameters/SyndicationId' requestBody: description: A feed template document required: true content: text/plain: schema: type: string responses: '200': description: The newly uploaded template. '400': description: Request body syntax error content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' '401': description: Insufficient permissions to access this API method content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' get: tags: - OTT Templates summary: Get a custom OTT feed template description: >- Gets a universal syndication's custom OTT feed template. operationId: getOTTTemplate security: - BC_OAuth2: - video-cloud/social/mrss/read parameters: - $ref: '#/components/parameters/AccountId' - $ref: '#/components/parameters/SyndicationId' responses: '200': description: The universal syndication's feed template. '401': description: Insufficient permissions to access this API method content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' '403': description: Forbidden, syndication was not of type universal content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' '404': description: Template not found content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' '/accounts/{{account_id}}/mrss/ott-async-jobs': post: deprecated: true tags: - OTT Async Jobs summary: Create a new OTT async job request. description: >- Create a new job request for the asynchronous generation of feeds for one or more OTT Syndications. operationId: postOTTAsyncJob security: - BC_OAuth2: - video-cloud/social/mrss/write parameters: - $ref: '#/components/parameters/AccountId' requestBody: content: application/json: schema: $ref: '#/components/schemas/OTTAsyncJob' responses: '201': description: The newly created job. content: application/json: schema: $ref: '#/components/schemas/OTTAsyncJob' '400': description: Request body syntax error content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' '401': description: Insufficient permissions to access this API method content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' '422': description: Invalid request body fields or values content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' get: deprecated: true tags: - OTT Async Jobs summary: Get all OTT async jobs. description: >- Gets a list of all recent OTT async jobs for the account. Note that jobs expire after 24 hours and will no longer be returned by this method after that. operationId: getOTTAsyncJobs security: - BC_OAuth2: - video-cloud/social/mrss/read parameters: - $ref: '#/components/parameters/AccountId' responses: '200': description: A list of recent jobs. content: application/json: schema: $ref: '#/components/schemas/OTTAsyncJobList' '401': description: Insufficient permissions to access this API method content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' '/accounts/{{account_id}}/mrss/ott-async-jobs/{job_id}': get: deprecated: true tags: - OTT Async Jobs summary: Get an OTT async job description: >- Gets the configuration data for an OTT async job. Note that jobs expire after 24 hours and will no longer be returned by this method after that. operationId: getOTTAsyncJob security: - BC_OAuth2: - video-cloud/social/mrss/read parameters: - $ref: '#/components/parameters/AccountId' - $ref: '#/components/parameters/JobId' responses: '200': description: The specified job. content: application/json: schema: $ref: '#/components/schemas/OTTAsyncJob' '401': description: Insufficient permissions to access this API method content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' '404': description: Job not found content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' '/accounts/{{account_id}}/mrss/ott-stored-jobs': post: tags: - OTT Stored Jobs summary: Create a new OTT stored job. description: >- Creates a new stored job that can be used for the asynchronous generation of feeds for one or more OTT Syndications. The stored job can be run manually as needed via the run API method defined below, and can also be configured to automatically run periodically. operationId: postOTTStoredJob security: - BC_OAuth2: - video-cloud/social/mrss/write parameters: - $ref: '#/components/parameters/AccountId' requestBody: content: application/json: schema: $ref: '#/components/schemas/OTTStoredJob' responses: '201': description: The newly created job. content: application/json: schema: $ref: '#/components/schemas/OTTStoredJob' '400': description: Request body syntax error content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' '401': description: Insufficient permissions to access this API method content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' '422': description: Invalid request body fields or values content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' get: tags: - OTT Stored Jobs summary: Get all OTT stored jobs. description: >- Gets a list of all OTT stored jobs for the account. operationId: getOTTStoredJobs security: - BC_OAuth2: - video-cloud/social/mrss/read parameters: - $ref: '#/components/parameters/AccountId' responses: '200': description: A list of recent jobs. content: application/json: schema: $ref: '#/components/schemas/OTTStoredJobList' '401': description: Insufficient permissions to access this API method content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' '/accounts/{{account_id}}/mrss/ott-stored-jobs/{job_id}': get: tags: - OTT Stored Jobs summary: Get an OTT stored job description: >- Gets the configuration data for a specific OTT stored job. operationId: getOTTStoredJob security: - BC_OAuth2: - video-cloud/social/mrss/read parameters: - $ref: '#/components/parameters/AccountId' - $ref: '#/components/parameters/JobId' responses: '200': description: The specified job. content: application/json: schema: $ref: '#/components/schemas/OTTStoredJob' '401': description: Insufficient permissions to access this API method content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' '404': description: Job not found content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' put: tags: - OTT Stored Jobs summary: Update an OTT stored job. description: >- Updates the confguration data for a stored job. A fully populated OTTStoredJob object should be passed as the request body. operationId: putOTTStoredJob security: - BC_OAuth2: - video-cloud/social/mrss/write parameters: - $ref: '#/components/parameters/AccountId' - $ref: '#/components/parameters/JobId' requestBody: content: application/json: schema: $ref: '#/components/schemas/OTTStoredJob' responses: '200': description: The updated stored job. content: application/json: schema: $ref: '#/components/schemas/OTTStoredJob' '401': description: Insufficient permissions to access this API method content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' '404': description: Job not found content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' patch: tags: - OTT Stored Jobs summary: Update an OTT stored job. description: >- Updates the configuration data for a stored job. An OTTStoredJob object specifying non-null values for writable fields to be updated should be passed as the request body. operationId: patchOTTStoredJob security: - BC_OAuth2: - video-cloud/social/mrss/write parameters: - $ref: '#/components/parameters/AccountId' - $ref: '#/components/parameters/JobId' requestBody: content: application/json: schema: $ref: '#/components/schemas/OTTStoredJob' responses: '200': description: The updated stored job. content: application/json: schema: $ref: '#/components/schemas/OTTStoredJob' '401': description: Insufficient permissions to access this API method content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' '404': description: Job not found content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' delete: tags: - OTT Stored Jobs summary: Delete an OTT stored job description: >- Deletes an OTT stored job. operationId: deleteOTTStoredJob security: - BC_OAuth2: - video-cloud/social/mrss/write parameters: - $ref: '#/components/parameters/AccountId' - $ref: '#/components/parameters/JobId' responses: '200': description: Job successfully deleted '401': description: Insufficient permissions to access this API method content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' '404': description: Job not found content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' '/accounts/{{account_id}}/mrss/ott-stored-jobs/{job_id}/run': post: tags: - OTT Stored Jobs summary: Run an OTT stored job. description: >- Request an asynchronous execution of a stored job. No POST body is required. If the job is already in a PENDING or PROCESSING state the request is ignored. Call the API GET method for the job id to check the execution status and obtain the result URLs after execution is complete. Newly generated results will overwrite previously generated results for the job. operationId: runOTTStoredJob security: - BC_OAuth2: - video-cloud/social/mrss/write parameters: - $ref: '#/components/parameters/AccountId' - $ref: '#/components/parameters/JobId' responses: '200': description: Job submitted successfully. content: application/json: schema: $ref: '#/components/schemas/OTTStoredJob' '401': description: Insufficient permissions to access this API method content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' '404': description: Job not found content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/ResponseErrorList' components: schemas: Syndication: type: object required: - name - type properties: id: type: string description: Id of this syndication readOnly: true name: type: string description: Name of this syndication type: type: string enum: [ "advanced", "google", "iphone", "ipad", "mp4", "itunes", "roku", "source", "universal" ] description: The syndication type. Valid values are [advanced, google, iphone, ipad, mp4, itunes, roku, source, universal]. Cannot be changed after syndication creation time. include_all_content: type: boolean description: If true, all content is included in this syndication. If false, a valid include_filter property must be specified for the syndication. include_filter: type: string description: A CMS video search filter string used to select the subset of content included in this syndication. The include_all_content field must be set to false if a value is specified for this property. sort: type: string description: A CMS video sorting specifier indicating the desired feed results return order. CMS-supported values like "name", "reference_id", "created_at", "published_at", "updated_at", "schedule.starts_at", "schedule.ends_at", "state", "plays_total", and "plays_trailing_week" can be specified. To sort in descending order, preface the value with a minus (-) sign, i.e. "-created_at". If no value is specified, the feed will be sorted by most recent updated_at date by default. title: type: string description: The title of this feed. Will be included inside of the tag for some syndication types. description: type: string description: The description of this feed. Will be included inside of the tag for some syndication types. syndication_url: type: string readOnly: true description: The URL of this syndication's feed. Read-only. destination_url: type: string description: The URL to be included inside of the tag in the feed. keywords: type: string description: A comma-separated list of keywords for iTunes author: type: string description: iTunes author specification category: type: string description: iTunes category specification album_art_url: type: string description: iTunes album art url. explicit: type: string enum: ["yes", "no"] description: iTunes explicit content indicator, accepts "yes" or "no" values. owner_name: type: string description: iTunes owner name. owner_email: type: string description: iTunes owner email. language: type: string description: iTunes or Roku feed language field. fetch_sources: type: boolean description: For universal feeds, specifies whether the feed service should fetch video source metadata and make it available to the template. The default value is true. If source metadata is not needed by the template, setting this to false can improve feed generation performance. fetch_digital_master: type: boolean description: For universal feeds, specifies whether the feed service should fetch digital master metadata and make it available to the template. The default value is false. If digital master metadata is not needed by the template, keeping this setting as false can improve feed generation performance. fetch_dynamic_renditions: type: boolean description: For universal feeds, specifies whether the feed service should fetch dynamic rendition metadata and make it available to the template. The default value is false. If dynamic rendition metadata is not needed by the template, keeping this setting as false can improve feed generation performance. content_type_header: type: string description: Content type header that the syndication's feed will be served with. If not specified, a default that is specific to the syndication type will be used. SyndicationList: type: array items: $ref: '#/components/schemas/Syndication' OTTSyndication: type: object required: - name - type properties: id: type: string description: Id of this syndication readOnly: true name: type: string description: Name of this syndication type: type: string enum: [ "umcCatalogCsv", "umcAvailabilityCsv", "googleVideoSitemapXml", "universal" ] description: The syndication type. Cannot be changed after syndication creation time. asset_type_filter: type: array items: { type: string, enum: [ "movie", "series", "season", "episode" ] } description: Specifies which OTT asset types to include in the generated feed. If unspecified, all types will be included. Valid values are [movie, series, season, episode]. filename: type: string description: The filename that should be used for the generated feed results for this syndication, including file extension (i.e. "result.csv", etc...) Should be a flat filename (no paths) using valid zip filename characters. Should not be the same as the filenames used for any other syndications that might have results included in the same job results. If not specified, a unique filename will be generated. locator_prefix: type: string description: An URL that can be used as the prefix for generated universal link or catalog website locators. Currently only used by syndications of type umcAvailabilityCsv and googleVideoSitemapXml. Typically points to the root of the catalog website. publish_results: type: boolean default: false description: Whether to write generated feed results to a publicly accessible web location. Generated feed results are always written to a privately stored zip file, but if this property is true the feed results will also be written in unzipped form to a cloud storage location that can be accessed via a public CDN-backed URL. The public URL can be found in the stored job's public_results field. content_type_header: type: string description: For public feeds, content type header that the syndication's feed will be served with. If not specified, a default that is specific to the syndication type will be used. rights_location_filter: type: array items: { type: string } description: Specifies whether assets should be filtered out of the generated feed based upon the set of permitted and denied locations in the asset's rights object(s). If set, rights objects are considered valid if at least one of the locations in the filter set is allowed by the rights object's permitted_locations set and is not excluded by the rights object's denied_locations set. Assets with no valid rights objects are excluded from the generated feed. For assets included in the feed, valid rights objects can be accessed by the feed template via a filtered_rights array field on the asset. Location filter values should be upper-cased ISO-3166 two-letter country codes (for example, "US"). fetch_unpublished: type: boolean default: false description: Valid only for universal syndications. Specifies whether unpublished OTT assets should be included in set of assets used to generate the feed. fetch_episodeless: type: boolean default: true description: Valid only for universal syndications. Specifies whether OTT series and season assets that have no descendant episodes should be included in set of assets used to generate the feed. fetch_videos: type: boolean default: false description: Valid only for universal syndications. Specifies whether the CMS videos associated with OTT movie and episode assets should be fetched. If true, the CMS video objects will be available to the feed template in a "video" field for each applicable asset. Setting to true will result in slower feed generation times, only set if CMS video metadata is actually needed. fetch_dynamic_renditions: type: boolean default: false description: Valid only for universal syndications that have fetch_videos set to true. Specifies whether the dynamic rendition metadata for fetched CMS videos should also be fetched. If true, the dynamic rendition metadata be available to the feed template in a "video.dynamic_renditions" field for each applicable asset. Setting to true will result in slower feed generation times, only set if CMS dynamic rendition metadata is actually needed. fetch_audio_tracks: type: boolean default: false description: Valid only for universal syndications that have fetch_videos set to true. Specifies whether the audio track metadata for fetched CMS videos should also be fetched. If true, the audio track metadata be available to the feed template in a "video.audio_tracks" field for each applicable asset. Setting to true will result in slower feed generation times, only set if CMS audio track metadata is actually needed. filter_on_start_date: type: boolean default: false description: Valid only for universal syndications. Specifies whether assets should be filtered out of the generated feed based upon the start_date of the asset's rights object(s). If true, rights objects with start_date values after the current datetime are considered invalid and assets with no valid rights objects are excluded from the generated feed. For assets included in the feed, valid rights objects can be accessed by the feed template via a filtered_rights array field on the asset. start_date_modifier_hours: type: integer default: 0 description: Valid only for universal syndications with the filter_on_start_date attribute set to true. Specifies a positive or negative number of hours to adjust a rights object's start_date by when evaluating the rights object's start date validity. Can be used for example to include assets in the feed that are not yet within their rights validity window but will be transitioning into that window within a specified future timespan. filter_on_end_date: type: boolean default: false description: Valid only for universal syndications. Specifies whether assets should be filtered out of the generated feed based upon the end_date of the asset's rights object(s). If true, rights objects with end_date values before the current datetime are considered invalid and assets with no valid rights objects are excluded from the generated feed. For assets included in the feed, valid rights objects can be accessed by the feed template via a filtered_rights array field on the asset. end_date_modifier_hours: type: integer default: 0 description: Valid only for universal syndications with the filter_on_end_date attribute set to true. Specifies a positive or negative number of hours to adjust a rights object's end_date by when evaluating the rights object's end date validity. Can be used for example to include assets in the feed that have reached the end of their rights validity window within a specified timespan in the past. rights_type_filter: type: array items: { type: string, enum: [ "FREE", "SVOD", "AVOD", "BUY", "RENT" ] } description: Valid only for universal syndications. Specifies whether assets should be filtered out of the generated feed based upon the type of the asset's rights object(s). If set, rights objects with type values not in the specified filter set are considered invalid and assets with no valid rights objects are excluded from the generated feed. For assets included in the feed, valid rights objects can be accessed by the feed template via a filtered_rights array field on the asset. rights_device_filter: type: array items: { type: string } description: Valid only for universal syndications. Specifies whether assets should be filtered out of the generated feed based upon the device set in the asset's rights object(s). If set, rights objects with no devices in the specified filter set are considered invalid and assets with no valid rights objects are excluded from the generated feed. For assets included in the feed, valid rights objects can be accessed by the feed template via a filtered_rights array field on the asset. asset_container_type: type: string enum: [ "list", "typemap" ] default: "list" description: Valid only for universal syndications. Specifies whether the "assets" object that is accessible from the feed template should be a flat list of all fetched assets or a map of asset submaps keyed by OTT asset type. Each asset submap will contain assets of the specified type keyed by the asset id. OTTSyndicationList: type: array items: $ref: '#/components/schemas/OTTSyndication' OTTAsyncJob: type: object required: - syndications properties: id: type: string description: Id of this job readOnly: true name: type: string description: Name of this job state: type: string enum: [ "PENDING", "PROCESSING", "COMPLETED", "ERROR" ] description: State of this job. Job state starts out as PENDING when the job is submitted, moves to PROCESSING when the processing of the job begins, and move to either COMPLETED or ERROR state when job processing finishes. readOnly: true syndications: type: array items: { type: string } description: A list of OTT syndications to be processed. The resulting feeds will be generated and packaged into a single zipped results file. results: type: array items: { type: string } description: A list of URLs pointing to results files. Currently this will always contain just a single URL pointing to a zipped results file if the job was processed successfully. The URLs expire after 3 hours. errors: type: array items: { type: string } description: A list of errors that occurred if a job failed to complete successfully. created_at: type: string description: Job creation timestamp, in UTC format. updated_at: type: string description: Last job update timestamp, in UTC format. OTTAsyncJobList: type: array items: $ref: '#/components/schemas/OTTAsyncJob' OTTStoredJob: type: object required: - name - syndications properties: id: type: string description: Id of this job readOnly: true name: type: string description: Name of this job syndications: type: array items: { type: string } description: A list of OTT syndication ids to be processed. auto_run_interval_hours: type: integer description: Frequency in hours at which to automatically regenerate the job results. If not set or if set to zero, no auto-regeneration will occur but the job can still be run on demand via the /run REST API method. If a non-zero value is specified, the minimum interval is 6 hours. Newly generated results will overwrite results generated by any earlier job runs. state: type: string enum: [ "READY", "PENDING", "PROCESSING" ] description: State of this job. READY indicates the job is not currently in the process of being run. PENDING indicates the an API request to run the job on demand has been made but processing of the job has not yet begun. PROCESSING indicates the job is currently being run. readOnly: true last_run_status: type: string enum: [ "SUCCESS", "ERROR" ] readOnly: true description: Status of the last run attempt for this stored job. results: type: array items: { type: string } readOnly: true description: A list of URLs pointing to the latest set of results files. Currently this will contain just a single URL pointing to a zipped results file if the job was processed successfully. The signed URLs will expire after 3 hours, refetching the job will generate fresh URLs. public_results: type: array items: { type: string } readOnly: true description: If this job contained syndications that were configured with publish_results set to true, a list of URLs pointing to the latest set of public results files. errors: type: array items: { type: string } readOnly: true description: A list of errors that occurred if a job failed to complete successfully during its latest run. created_at: type: string readOnly: true description: Job creation timestamp, in UTC format. updated_at: type: string readOnly: true description: Last job update timestamp, in UTC format. last_run_at: type: string readOnly: true description: Last job run timestamp, in UTC format. last_successful_run_at: type: string readOnly: true description: Last successful job run timestamp, in UTC format. OTTStoredJobList: type: array items: $ref: '#/components/schemas/OTTStoredJob' ResponseError: type: object properties: error_code: type: string description: Application error code readOnly: true message: type: string description: Application error message readOnly: true ResponseErrorList: type: array items: $ref: '#/components/schemas/ResponseError' parameters: AccountId: name: account_id in: path description: ID of the account required: true schema: type: string SyndicationId: name: syndication_id in: path description: ID of the syndication required: true schema: type: string JobId: name: job_id in: path description: ID of the job required: true schema: type: string securitySchemes: BC_OAuth2: type: oauth2 description: >- Brightcove OAuth API. See the [support documentation](https://support.brightcove.com/oauth-api) or [Getting Access Tokens](https://support.brightcove.com/oauth-api-sample-get-access-token) to learn more flows: clientCredentials: tokenUrl: 'https://oauth.brightcove.com/v4/access_token' scopes: video-cloud/social/mrss/read: Read MRSS feed configuration data video-cloud/social/mrss/write: Write MRSS feed configuration data