openapi: 3.2.0 info: title: OptiView Ads Templates API version: v1 security: - basicAuth: [] orgId: [] tags: - name: Templates paths: /api/v1/templates: get: description: List all templates with pagination, filtering, and sorting. parameters: - schema: default: 1 type: integer minimum: 1 maximum: 9007199254740991 in: query name: page required: false description: Page number to return. The first page is 1. - schema: default: 20 type: integer minimum: 1 maximum: 100 in: query name: pageSize required: false description: Number of items to return per page, between 1 and 100. - schema: type: string in: query name: filter required: false description: Optional RSQL filter expression (for example `status==READY;duration=gt=30`). Each resource exposes its own allow-list of filterable fields and operators. - schema: type: string in: query name: sort required: false description: Optional comma-separated list of fields to sort by; prefix a field with `-` for descending order. Defaults to newest first (createdAt descending). responses: '200': description: Default Response content: application/json: schema: type: object properties: data: type: array items: type: object properties: duration: description: Default break duration in seconds for breaks created from this template. Minimum 0. type: number minimum: 0 resumeOffset: description: Offset in seconds controlling where content playback resumes after the break. When not present, the break duration is used as the resume offset. When a viewer seeks over a break with controls.snapback enabled, the resume offset is ignored and the viewer seek point is used to resume. Minimum 0. type: number minimum: 0 controls: description: Optional playback controls for the break, such as skip and snapback behavior. type: object properties: skipOffset: description: Number of seconds the viewer must watch before the break becomes skippable. Minimum 0. type: number minimum: 0 snapback: description: Whether the viewer is allowed to seek over the break. When enabled, a viewer seeking over the break is returned to the start of the break and plays it in full; once the break is done, playback resumes at the original seek position. When a viewer seeks into the break, they are also returned to the start of the break and play it in full, after which playback resumes at the default resume point (resumeOffset, or the break duration when not set). When not present, the viewer is allowed to seek over the break. type: boolean additionalProperties: false variant: anyOf: - oneOf: - type: object properties: targeting: description: 'Optional device targeting for this variant. When a break provides several variants, the player picks the one matching the viewer device. A variant without targeting is considered a default. When several variants qualify (multiple defaults, or multiple variants targeting the same platform), the order in which they are defined decides: the player uses the first variant whose format it can play on the current platform.' type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false format: type: string enum: - single description: 'Variant layout discriminator. `single`: a full-screen break filling the entire player viewport.' assets: minItems: 1 type: array items: oneOf: - type: object properties: id: default: 92e7f418-1f0b-42bf-acf7-a7ed068eb8e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: 92e7f418-1f0b-42bf-acf7-a7ed068eb8e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: 92e7f418-1f0b-42bf-acf7-a7ed068eb8e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - id - mediaType - type - vendor - uri - vendorParameters additionalProperties: false description: Assets played for this variant. At least one is required. required: - format - assets additionalProperties: false - type: object properties: targeting: description: 'Optional device targeting for this variant. When a break provides several variants, the player picks the one matching the viewer device. A variant without targeting is considered a default. When several variants qualify (multiple defaults, or multiple variants targeting the same platform), the order in which they are defined decides: the player uses the first variant whose format it can play on the current platform.' type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false format: type: string enum: - double description: 'Variant layout discriminator. `double`: a side-by-side layout where each asset is shown with a companion asset that is the background behind the side-by-side.' assets: minItems: 1 type: array items: allOf: - oneOf: - type: object properties: id: default: 92e7f418-1f0b-42bf-acf7-a7ed068eb8e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: 92e7f418-1f0b-42bf-acf7-a7ed068eb8e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: 92e7f418-1f0b-42bf-acf7-a7ed068eb8e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - id - mediaType - type - vendor - uri - vendorParameters additionalProperties: false - type: object properties: companion: oneOf: - type: object properties: id: default: 92e7f418-1f0b-42bf-acf7-a7ed068eb8e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: 92e7f418-1f0b-42bf-acf7-a7ed068eb8e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: 92e7f418-1f0b-42bf-acf7-a7ed068eb8e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - id - mediaType - type - vendor - uri - vendorParameters additionalProperties: false description: Companion asset displayed alongside the primary asset (used by `double` and `lshape_ad` variants). required: - companion additionalProperties: false description: Assets played for this variant, each paired with a companion asset. At least one is required. required: - format - assets additionalProperties: false - type: object properties: targeting: description: 'Optional device targeting for this variant. When a break provides several variants, the player picks the one matching the viewer device. A variant without targeting is considered a default. When several variants qualify (multiple defaults, or multiple variants targeting the same platform), the order in which they are defined decides: the player uses the first variant whose format it can play on the current platform.' type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false format: type: string enum: - lshape_ad description: 'Variant layout discriminator. `lshape_ad`: an L-shaped layout where the ad occupies the L-frame. Each asset has a companion asset that is the background of the L-shaped layout.' assets: minItems: 1 type: array items: allOf: - oneOf: - type: object properties: id: default: 92e7f418-1f0b-42bf-acf7-a7ed068eb8e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: 92e7f418-1f0b-42bf-acf7-a7ed068eb8e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: 92e7f418-1f0b-42bf-acf7-a7ed068eb8e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - id - mediaType - type - vendor - uri - vendorParameters additionalProperties: false - type: object properties: companion: oneOf: - type: object properties: id: default: 92e7f418-1f0b-42bf-acf7-a7ed068eb8e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: 92e7f418-1f0b-42bf-acf7-a7ed068eb8e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: 92e7f418-1f0b-42bf-acf7-a7ed068eb8e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - id - mediaType - type - vendor - uri - vendorParameters additionalProperties: false description: Companion asset displayed alongside the primary asset (used by `double` and `lshape_ad` variants). required: - companion additionalProperties: false description: Assets played for this variant, each paired with a companion asset. At least one is required. required: - format - assets additionalProperties: false - type: object properties: targeting: description: 'Optional device targeting for this variant. When a break provides several variants, the player picks the one matching the viewer device. A variant without targeting is considered a default. When several variants qualify (multiple defaults, or multiple variants targeting the same platform), the order in which they are defined decides: the player uses the first variant whose format it can play on the current platform.' type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false format: type: string enum: - lshape_content description: 'Variant layout discriminator. `lshape_content`: an L-shaped layout where the live content occupies the L-frame.' assets: minItems: 1 type: array items: oneOf: - type: object properties: id: default: 92e7f418-1f0b-42bf-acf7-a7ed068eb8e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: 92e7f418-1f0b-42bf-acf7-a7ed068eb8e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: 92e7f418-1f0b-42bf-acf7-a7ed068eb8e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - id - mediaType - type - vendor - uri - vendorParameters additionalProperties: false description: Assets played for this variant. At least one is required. required: - format - assets additionalProperties: false - type: object properties: targeting: description: 'Optional device targeting for this variant. When a break provides several variants, the player picks the one matching the viewer device. A variant without targeting is considered a default. When several variants qualify (multiple defaults, or multiple variants targeting the same platform), the order in which they are defined decides: the player uses the first variant whose format it can play on the current platform.' type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false format: type: string enum: - overlay description: 'Variant layout discriminator. `overlay`: a visual overlay shown on top of the stream without interrupting playback.' assets: minItems: 1 type: array items: oneOf: - type: object properties: id: default: 92e7f418-1f0b-42bf-acf7-a7ed068eb8e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: 92e7f418-1f0b-42bf-acf7-a7ed068eb8e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: 92e7f418-1f0b-42bf-acf7-a7ed068eb8e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - id - mediaType - type - vendor - uri - vendorParameters additionalProperties: false description: Assets shown in the overlay. At least one is required. position: type: object properties: top: description: Distance of the overlay top edge from the top of the viewport, as a fraction between 0 and 1. type: number minimum: 0 maximum: 1 bottom: description: Distance of the overlay bottom edge from the bottom of the viewport, as a fraction between 0 and 1. type: number minimum: 0 maximum: 1 left: description: Distance of the overlay left edge from the left of the viewport, as a fraction between 0 and 1. type: number minimum: 0 maximum: 1 right: description: Distance of the overlay right edge from the right of the viewport, as a fraction between 0 and 1. type: number minimum: 0 maximum: 1 additionalProperties: false description: Overlay position within the viewport. Requires at least one of top or bottom and one of left or right. size: type: object properties: width: type: number minimum: 0 maximum: 1 description: Overlay width as a fraction of the viewport width, between 0 and 1. height: type: number minimum: 0 maximum: 1 description: Overlay height as a fraction of the viewport height, between 0 and 1. required: - width - height additionalProperties: false description: Overlay size as fractions of the viewport. opacity: description: Overlay opacity as a fraction between 0 (fully transparent) and 1 (fully opaque). type: number minimum: 0 maximum: 1 required: - format - assets - position - size additionalProperties: false - minItems: 1 type: array items: oneOf: - type: object properties: targeting: description: 'Optional device targeting for this variant. When a break provides several variants, the player picks the one matching the viewer device. A variant without targeting is considered a default. When several variants qualify (multiple defaults, or multiple variants targeting the same platform), the order in which they are defined decides: the player uses the first variant whose format it can play on the current platform.' type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false format: type: string enum: - single description: 'Variant layout discriminator. `single`: a full-screen break filling the entire player viewport.' assets: minItems: 1 type: array items: oneOf: - type: object properties: id: default: 92e7f418-1f0b-42bf-acf7-a7ed068eb8e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: 92e7f418-1f0b-42bf-acf7-a7ed068eb8e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: 92e7f418-1f0b-42bf-acf7-a7ed068eb8e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - id - mediaType - type - vendor - uri - vendorParameters additionalProperties: false description: Assets played for this variant. At least one is required. required: - format - assets additionalProperties: false - type: object properties: targeting: description: 'Optional device targeting for this variant. When a break provides several variants, the player picks the one matching the viewer device. A variant without targeting is considered a default. When several variants qualify (multiple defaults, or multiple variants targeting the same platform), the order in which they are defined decides: the player uses the first variant whose format it can play on the current platform.' type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false format: type: string enum: - double description: 'Variant layout discriminator. `double`: a side-by-side layout where each asset is shown with a companion asset that is the background behind the side-by-side.' assets: minItems: 1 type: array items: allOf: - oneOf: - type: object properties: id: default: 92e7f418-1f0b-42bf-acf7-a7ed068eb8e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: 92e7f418-1f0b-42bf-acf7-a7ed068eb8e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: 92e7f418-1f0b-42bf-acf7-a7ed068eb8e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - id - mediaType - type - vendor - uri - vendorParameters additionalProperties: false - type: object properties: companion: oneOf: - type: object properties: id: default: 92e7f418-1f0b-42bf-acf7-a7ed068eb8e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: 92e7f418-1f0b-42bf-acf7-a7ed068eb8e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: 92e7f418-1f0b-42bf-acf7-a7ed068eb8e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - id - mediaType - type - vendor - uri - vendorParameters additionalProperties: false description: Companion asset displayed alongside the primary asset (used by `double` and `lshape_ad` variants). required: - companion additionalProperties: false description: Assets played for this variant, each paired with a companion asset. At least one is required. required: - format - assets additionalProperties: false - type: object properties: targeting: description: 'Optional device targeting for this variant. When a break provides several variants, the player picks the one matching the viewer device. A variant without targeting is considered a default. When several variants qualify (multiple defaults, or multiple variants targeting the same platform), the order in which they are defined decides: the player uses the first variant whose format it can play on the current platform.' type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false format: type: string enum: - lshape_ad description: 'Variant layout discriminator. `lshape_ad`: an L-shaped layout where the ad occupies the L-frame. Each asset has a companion asset that is the background of the L-shaped layout.' assets: minItems: 1 type: array items: allOf: - oneOf: - type: object properties: id: default: 92e7f418-1f0b-42bf-acf7-a7ed068eb8e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: 92e7f418-1f0b-42bf-acf7-a7ed068eb8e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: 92e7f418-1f0b-42bf-acf7-a7ed068eb8e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - id - mediaType - type - vendor - uri - vendorParameters additionalProperties: false - type: object properties: companion: oneOf: - type: object properties: id: default: 92e7f418-1f0b-42bf-acf7-a7ed068eb8e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: 92e7f418-1f0b-42bf-acf7-a7ed068eb8e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: 92e7f418-1f0b-42bf-acf7-a7ed068eb8e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - id - mediaType - type - vendor - uri - vendorParameters additionalProperties: false description: Companion asset displayed alongside the primary asset (used by `double` and `lshape_ad` variants). required: - companion additionalProperties: false description: Assets played for this variant, each paired with a companion asset. At least one is required. required: - format - assets additionalProperties: false - type: object properties: targeting: description: 'Optional device targeting for this variant. When a break provides several variants, the player picks the one matching the viewer device. A variant without targeting is considered a default. When several variants qualify (multiple defaults, or multiple variants targeting the same platform), the order in which they are defined decides: the player uses the first variant whose format it can play on the current platform.' type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false format: type: string enum: - lshape_content description: 'Variant layout discriminator. `lshape_content`: an L-shaped layout where the live content occupies the L-frame.' assets: minItems: 1 type: array items: oneOf: - type: object properties: id: default: 92e7f418-1f0b-42bf-acf7-a7ed068eb8e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: 92e7f418-1f0b-42bf-acf7-a7ed068eb8e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: 92e7f418-1f0b-42bf-acf7-a7ed068eb8e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - id - mediaType - type - vendor - uri - vendorParameters additionalProperties: false description: Assets played for this variant. At least one is required. required: - format - assets additionalProperties: false - type: object properties: targeting: description: 'Optional device targeting for this variant. When a break provides several variants, the player picks the one matching the viewer device. A variant without targeting is considered a default. When several variants qualify (multiple defaults, or multiple variants targeting the same platform), the order in which they are defined decides: the player uses the first variant whose format it can play on the current platform.' type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false format: type: string enum: - overlay description: 'Variant layout discriminator. `overlay`: a visual overlay shown on top of the stream without interrupting playback.' assets: minItems: 1 type: array items: oneOf: - type: object properties: id: default: 92e7f418-1f0b-42bf-acf7-a7ed068eb8e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: 92e7f418-1f0b-42bf-acf7-a7ed068eb8e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: 92e7f418-1f0b-42bf-acf7-a7ed068eb8e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - id - mediaType - type - vendor - uri - vendorParameters additionalProperties: false description: Assets shown in the overlay. At least one is required. position: type: object properties: top: description: Distance of the overlay top edge from the top of the viewport, as a fraction between 0 and 1. type: number minimum: 0 maximum: 1 bottom: description: Distance of the overlay bottom edge from the bottom of the viewport, as a fraction between 0 and 1. type: number minimum: 0 maximum: 1 left: description: Distance of the overlay left edge from the left of the viewport, as a fraction between 0 and 1. type: number minimum: 0 maximum: 1 right: description: Distance of the overlay right edge from the right of the viewport, as a fraction between 0 and 1. type: number minimum: 0 maximum: 1 additionalProperties: false description: Overlay position within the viewport. Requires at least one of top or bottom and one of left or right. size: type: object properties: width: type: number minimum: 0 maximum: 1 description: Overlay width as a fraction of the viewport width, between 0 and 1. height: type: number minimum: 0 maximum: 1 description: Overlay height as a fraction of the viewport height, between 0 and 1. required: - width - height additionalProperties: false description: Overlay size as fractions of the viewport. opacity: description: Overlay opacity as a fraction between 0 (fully transparent) and 1 (fully opaque). type: number minimum: 0 maximum: 1 required: - format - assets - position - size additionalProperties: false description: A single break variant, or a list of variants from which the player selects the one matching the viewer device. id: type: string minLength: 1 description: Unique template identifier. name: description: Human-readable display name for the template. type: string channelIds: description: Identifiers of the channels this template is linked to. type: array items: type: string eventIds: description: Identifiers of the events this template is linked to. type: array items: type: string createdAt: type: string description: Timestamp when the template was created, as an ISO 8601 datetime string. required: - variant - id - createdAt additionalProperties: false description: The page of results. pagination: type: object properties: page: type: number description: Page number of this result set. The first page is 1. pageSize: type: number description: Number of items requested per page. total: type: number description: Total number of items matching the query across all pages. totalPages: type: number description: Total number of pages available for the query. required: - page - pageSize - total - totalPages additionalProperties: false description: Pagination metadata for the result set. required: - data - pagination additionalProperties: false tags: - Templates summary: Get api templates x-summary-source: derived operationId: getApiV1Templates x-operation-id-source: derived post: description: Create a new template. Backdrop is required for non-SINGLE layouts. requestBody: required: true content: application/json: schema: type: object properties: duration: description: Default break duration in seconds applied when creating a break from this template. Optional. Minimum 0. type: number minimum: 0 resumeOffset: description: Offset in seconds controlling where content playback resumes after the break. When not present, the break duration is used as the resume offset. When a viewer seeks over a break with controls.snapback enabled, the resume offset is ignored and the viewer seek point is used to resume. Minimum 0. type: number minimum: 0 controls: description: Optional playback controls for the break, such as skip and snapback behavior. type: object properties: skipOffset: description: Number of seconds the viewer must watch before the break becomes skippable. Minimum 0. type: number minimum: 0 snapback: description: Whether the viewer is allowed to seek over the break. When enabled, a viewer seeking over the break is returned to the start of the break and plays it in full; once the break is done, playback resumes at the original seek position. When a viewer seeks into the break, they are also returned to the start of the break and play it in full, after which playback resumes at the default resume point (resumeOffset, or the break duration when not set). When not present, the viewer is allowed to seek over the break. type: boolean variant: anyOf: - oneOf: - type: object properties: targeting: description: 'Optional device targeting for this variant. When a break provides several variants, the player picks the one matching the viewer device. A variant without targeting is considered a default. When several variants qualify (multiple defaults, or multiple variants targeting the same platform), the order in which they are defined decides: the player uses the first variant whose format it can play on the current platform.' type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv format: type: string enum: - single description: 'Variant layout discriminator. `single`: a full-screen break filling the entire player viewport.' assets: minItems: 1 type: array items: oneOf: - type: object properties: id: default: a3a8f05c-f04d-4f92-a2b7-92164f7de809 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv required: - value description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - mediaType - type - uri - type: object properties: id: default: a3a8f05c-f04d-4f92-a2b7-92164f7de809 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv required: - value description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - mediaType - type - uri - type: object properties: id: default: a3a8f05c-f04d-4f92-a2b7-92164f7de809 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - mediaType - type - vendor - vendorParameters description: Assets played for this variant. At least one is required. required: - format - assets - type: object properties: targeting: description: 'Optional device targeting for this variant. When a break provides several variants, the player picks the one matching the viewer device. A variant without targeting is considered a default. When several variants qualify (multiple defaults, or multiple variants targeting the same platform), the order in which they are defined decides: the player uses the first variant whose format it can play on the current platform.' type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv format: type: string enum: - double description: 'Variant layout discriminator. `double`: a side-by-side layout where each asset is shown with a companion asset that is the background behind the side-by-side.' assets: minItems: 1 type: array items: allOf: - oneOf: - type: object properties: id: default: a3a8f05c-f04d-4f92-a2b7-92164f7de809 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv required: - value description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - mediaType - type - uri - type: object properties: id: default: a3a8f05c-f04d-4f92-a2b7-92164f7de809 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv required: - value description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - mediaType - type - uri - type: object properties: id: default: a3a8f05c-f04d-4f92-a2b7-92164f7de809 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - mediaType - type - vendor - vendorParameters - type: object properties: companion: oneOf: - type: object properties: id: default: a3a8f05c-f04d-4f92-a2b7-92164f7de809 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv required: - value description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - mediaType - type - uri - type: object properties: id: default: a3a8f05c-f04d-4f92-a2b7-92164f7de809 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv required: - value description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - mediaType - type - uri - type: object properties: id: default: a3a8f05c-f04d-4f92-a2b7-92164f7de809 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - mediaType - type - vendor - vendorParameters description: Companion asset displayed alongside the primary asset (used by `double` and `lshape_ad` variants). required: - companion description: Assets played for this variant, each paired with a companion asset. At least one is required. required: - format - assets - type: object properties: targeting: description: 'Optional device targeting for this variant. When a break provides several variants, the player picks the one matching the viewer device. A variant without targeting is considered a default. When several variants qualify (multiple defaults, or multiple variants targeting the same platform), the order in which they are defined decides: the player uses the first variant whose format it can play on the current platform.' type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv format: type: string enum: - lshape_ad description: 'Variant layout discriminator. `lshape_ad`: an L-shaped layout where the ad occupies the L-frame. Each asset has a companion asset that is the background of the L-shaped layout.' assets: minItems: 1 type: array items: allOf: - oneOf: - type: object properties: id: default: a3a8f05c-f04d-4f92-a2b7-92164f7de809 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv required: - value description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - mediaType - type - uri - type: object properties: id: default: a3a8f05c-f04d-4f92-a2b7-92164f7de809 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv required: - value description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - mediaType - type - uri - type: object properties: id: default: a3a8f05c-f04d-4f92-a2b7-92164f7de809 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - mediaType - type - vendor - vendorParameters - type: object properties: companion: oneOf: - type: object properties: id: default: a3a8f05c-f04d-4f92-a2b7-92164f7de809 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv required: - value description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - mediaType - type - uri - type: object properties: id: default: a3a8f05c-f04d-4f92-a2b7-92164f7de809 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv required: - value description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - mediaType - type - uri - type: object properties: id: default: a3a8f05c-f04d-4f92-a2b7-92164f7de809 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - mediaType - type - vendor - vendorParameters description: Companion asset displayed alongside the primary asset (used by `double` and `lshape_ad` variants). required: - companion description: Assets played for this variant, each paired with a companion asset. At least one is required. required: - format - assets - type: object properties: targeting: description: 'Optional device targeting for this variant. When a break provides several variants, the player picks the one matching the viewer device. A variant without targeting is considered a default. When several variants qualify (multiple defaults, or multiple variants targeting the same platform), the order in which they are defined decides: the player uses the first variant whose format it can play on the current platform.' type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv format: type: string enum: - lshape_content description: 'Variant layout discriminator. `lshape_content`: an L-shaped layout where the live content occupies the L-frame.' assets: minItems: 1 type: array items: oneOf: - type: object properties: id: default: a3a8f05c-f04d-4f92-a2b7-92164f7de809 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv required: - value description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - mediaType - type - uri - type: object properties: id: default: a3a8f05c-f04d-4f92-a2b7-92164f7de809 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv required: - value description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - mediaType - type - uri - type: object properties: id: default: a3a8f05c-f04d-4f92-a2b7-92164f7de809 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - mediaType - type - vendor - vendorParameters description: Assets played for this variant. At least one is required. required: - format - assets - type: object properties: targeting: description: 'Optional device targeting for this variant. When a break provides several variants, the player picks the one matching the viewer device. A variant without targeting is considered a default. When several variants qualify (multiple defaults, or multiple variants targeting the same platform), the order in which they are defined decides: the player uses the first variant whose format it can play on the current platform.' type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv format: type: string enum: - overlay description: 'Variant layout discriminator. `overlay`: a visual overlay shown on top of the stream without interrupting playback.' assets: minItems: 1 type: array items: oneOf: - type: object properties: id: default: a3a8f05c-f04d-4f92-a2b7-92164f7de809 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv required: - value description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - mediaType - type - uri - type: object properties: id: default: a3a8f05c-f04d-4f92-a2b7-92164f7de809 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv required: - value description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - mediaType - type - uri - type: object properties: id: default: a3a8f05c-f04d-4f92-a2b7-92164f7de809 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - mediaType - type - vendor - vendorParameters description: Assets shown in the overlay. At least one is required. position: type: object properties: top: description: Distance of the overlay top edge from the top of the viewport, as a fraction between 0 and 1. type: number minimum: 0 maximum: 1 bottom: description: Distance of the overlay bottom edge from the bottom of the viewport, as a fraction between 0 and 1. type: number minimum: 0 maximum: 1 left: description: Distance of the overlay left edge from the left of the viewport, as a fraction between 0 and 1. type: number minimum: 0 maximum: 1 right: description: Distance of the overlay right edge from the right of the viewport, as a fraction between 0 and 1. type: number minimum: 0 maximum: 1 description: Overlay position within the viewport. Requires at least one of top or bottom and one of left or right. size: type: object properties: width: type: number minimum: 0 maximum: 1 description: Overlay width as a fraction of the viewport width, between 0 and 1. height: type: number minimum: 0 maximum: 1 description: Overlay height as a fraction of the viewport height, between 0 and 1. required: - width - height description: Overlay size as fractions of the viewport. opacity: description: Overlay opacity as a fraction between 0 (fully transparent) and 1 (fully opaque). type: number minimum: 0 maximum: 1 required: - format - assets - position - size - minItems: 1 type: array items: oneOf: - type: object properties: targeting: description: 'Optional device targeting for this variant. When a break provides several variants, the player picks the one matching the viewer device. A variant without targeting is considered a default. When several variants qualify (multiple defaults, or multiple variants targeting the same platform), the order in which they are defined decides: the player uses the first variant whose format it can play on the current platform.' type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv format: type: string enum: - single description: 'Variant layout discriminator. `single`: a full-screen break filling the entire player viewport.' assets: minItems: 1 type: array items: oneOf: - type: object properties: id: default: a3a8f05c-f04d-4f92-a2b7-92164f7de809 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv required: - value description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - mediaType - type - uri - type: object properties: id: default: a3a8f05c-f04d-4f92-a2b7-92164f7de809 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv required: - value description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - mediaType - type - uri - type: object properties: id: default: a3a8f05c-f04d-4f92-a2b7-92164f7de809 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - mediaType - type - vendor - vendorParameters description: Assets played for this variant. At least one is required. required: - format - assets - type: object properties: targeting: description: 'Optional device targeting for this variant. When a break provides several variants, the player picks the one matching the viewer device. A variant without targeting is considered a default. When several variants qualify (multiple defaults, or multiple variants targeting the same platform), the order in which they are defined decides: the player uses the first variant whose format it can play on the current platform.' type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv format: type: string enum: - double description: 'Variant layout discriminator. `double`: a side-by-side layout where each asset is shown with a companion asset that is the background behind the side-by-side.' assets: minItems: 1 type: array items: allOf: - oneOf: - type: object properties: id: default: a3a8f05c-f04d-4f92-a2b7-92164f7de809 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv required: - value description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - mediaType - type - uri - type: object properties: id: default: a3a8f05c-f04d-4f92-a2b7-92164f7de809 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv required: - value description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - mediaType - type - uri - type: object properties: id: default: a3a8f05c-f04d-4f92-a2b7-92164f7de809 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - mediaType - type - vendor - vendorParameters - type: object properties: companion: oneOf: - type: object properties: id: default: a3a8f05c-f04d-4f92-a2b7-92164f7de809 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv required: - value description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - mediaType - type - uri - type: object properties: id: default: a3a8f05c-f04d-4f92-a2b7-92164f7de809 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv required: - value description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - mediaType - type - uri - type: object properties: id: default: a3a8f05c-f04d-4f92-a2b7-92164f7de809 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - mediaType - type - vendor - vendorParameters description: Companion asset displayed alongside the primary asset (used by `double` and `lshape_ad` variants). required: - companion description: Assets played for this variant, each paired with a companion asset. At least one is required. required: - format - assets - type: object properties: targeting: description: 'Optional device targeting for this variant. When a break provides several variants, the player picks the one matching the viewer device. A variant without targeting is considered a default. When several variants qualify (multiple defaults, or multiple variants targeting the same platform), the order in which they are defined decides: the player uses the first variant whose format it can play on the current platform.' type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv format: type: string enum: - lshape_ad description: 'Variant layout discriminator. `lshape_ad`: an L-shaped layout where the ad occupies the L-frame. Each asset has a companion asset that is the background of the L-shaped layout.' assets: minItems: 1 type: array items: allOf: - oneOf: - type: object properties: id: default: a3a8f05c-f04d-4f92-a2b7-92164f7de809 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv required: - value description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - mediaType - type - uri - type: object properties: id: default: a3a8f05c-f04d-4f92-a2b7-92164f7de809 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv required: - value description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - mediaType - type - uri - type: object properties: id: default: a3a8f05c-f04d-4f92-a2b7-92164f7de809 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - mediaType - type - vendor - vendorParameters - type: object properties: companion: oneOf: - type: object properties: id: default: a3a8f05c-f04d-4f92-a2b7-92164f7de809 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv required: - value description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - mediaType - type - uri - type: object properties: id: default: a3a8f05c-f04d-4f92-a2b7-92164f7de809 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv required: - value description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - mediaType - type - uri - type: object properties: id: default: a3a8f05c-f04d-4f92-a2b7-92164f7de809 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - mediaType - type - vendor - vendorParameters description: Companion asset displayed alongside the primary asset (used by `double` and `lshape_ad` variants). required: - companion description: Assets played for this variant, each paired with a companion asset. At least one is required. required: - format - assets - type: object properties: targeting: description: 'Optional device targeting for this variant. When a break provides several variants, the player picks the one matching the viewer device. A variant without targeting is considered a default. When several variants qualify (multiple defaults, or multiple variants targeting the same platform), the order in which they are defined decides: the player uses the first variant whose format it can play on the current platform.' type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv format: type: string enum: - lshape_content description: 'Variant layout discriminator. `lshape_content`: an L-shaped layout where the live content occupies the L-frame.' assets: minItems: 1 type: array items: oneOf: - type: object properties: id: default: a3a8f05c-f04d-4f92-a2b7-92164f7de809 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv required: - value description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - mediaType - type - uri - type: object properties: id: default: a3a8f05c-f04d-4f92-a2b7-92164f7de809 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv required: - value description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - mediaType - type - uri - type: object properties: id: default: a3a8f05c-f04d-4f92-a2b7-92164f7de809 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - mediaType - type - vendor - vendorParameters description: Assets played for this variant. At least one is required. required: - format - assets - type: object properties: targeting: description: 'Optional device targeting for this variant. When a break provides several variants, the player picks the one matching the viewer device. A variant without targeting is considered a default. When several variants qualify (multiple defaults, or multiple variants targeting the same platform), the order in which they are defined decides: the player uses the first variant whose format it can play on the current platform.' type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv format: type: string enum: - overlay description: 'Variant layout discriminator. `overlay`: a visual overlay shown on top of the stream without interrupting playback.' assets: minItems: 1 type: array items: oneOf: - type: object properties: id: default: a3a8f05c-f04d-4f92-a2b7-92164f7de809 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv required: - value description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - mediaType - type - uri - type: object properties: id: default: a3a8f05c-f04d-4f92-a2b7-92164f7de809 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv required: - value description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - mediaType - type - uri - type: object properties: id: default: a3a8f05c-f04d-4f92-a2b7-92164f7de809 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - mediaType - type - vendor - vendorParameters description: Assets shown in the overlay. At least one is required. position: type: object properties: top: description: Distance of the overlay top edge from the top of the viewport, as a fraction between 0 and 1. type: number minimum: 0 maximum: 1 bottom: description: Distance of the overlay bottom edge from the bottom of the viewport, as a fraction between 0 and 1. type: number minimum: 0 maximum: 1 left: description: Distance of the overlay left edge from the left of the viewport, as a fraction between 0 and 1. type: number minimum: 0 maximum: 1 right: description: Distance of the overlay right edge from the right of the viewport, as a fraction between 0 and 1. type: number minimum: 0 maximum: 1 description: Overlay position within the viewport. Requires at least one of top or bottom and one of left or right. size: type: object properties: width: type: number minimum: 0 maximum: 1 description: Overlay width as a fraction of the viewport width, between 0 and 1. height: type: number minimum: 0 maximum: 1 description: Overlay height as a fraction of the viewport height, between 0 and 1. required: - width - height description: Overlay size as fractions of the viewport. opacity: description: Overlay opacity as a fraction between 0 (fully transparent) and 1 (fully opaque). type: number minimum: 0 maximum: 1 required: - format - assets - position - size description: A single break variant, or a list of variants from which the player selects the one matching the viewer device. id: description: Unique template identifier. Provided by the customer or auto-generated when omitted. type: string minLength: 1 name: description: Human-readable display name for the template. type: string channelIds: description: Identifiers of the channels this template is linked to. type: array items: type: string minLength: 1 eventIds: description: Identifiers of the events this template is linked to. type: array items: type: string minLength: 1 required: - variant responses: '201': description: Default Response content: application/json: schema: type: object properties: duration: description: Default break duration in seconds for breaks created from this template. Minimum 0. type: number minimum: 0 resumeOffset: description: Offset in seconds controlling where content playback resumes after the break. When not present, the break duration is used as the resume offset. When a viewer seeks over a break with controls.snapback enabled, the resume offset is ignored and the viewer seek point is used to resume. Minimum 0. type: number minimum: 0 controls: description: Optional playback controls for the break, such as skip and snapback behavior. type: object properties: skipOffset: description: Number of seconds the viewer must watch before the break becomes skippable. Minimum 0. type: number minimum: 0 snapback: description: Whether the viewer is allowed to seek over the break. When enabled, a viewer seeking over the break is returned to the start of the break and plays it in full; once the break is done, playback resumes at the original seek position. When a viewer seeks into the break, they are also returned to the start of the break and play it in full, after which playback resumes at the default resume point (resumeOffset, or the break duration when not set). When not present, the viewer is allowed to seek over the break. type: boolean additionalProperties: false variant: anyOf: - oneOf: - type: object properties: targeting: description: 'Optional device targeting for this variant. When a break provides several variants, the player picks the one matching the viewer device. A variant without targeting is considered a default. When several variants qualify (multiple defaults, or multiple variants targeting the same platform), the order in which they are defined decides: the player uses the first variant whose format it can play on the current platform.' type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false format: type: string enum: - single description: 'Variant layout discriminator. `single`: a full-screen break filling the entire player viewport.' assets: minItems: 1 type: array items: oneOf: - type: object properties: id: default: e6e1f3e2-3d99-4f3d-8058-664a78a4b181 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: e6e1f3e2-3d99-4f3d-8058-664a78a4b181 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: e6e1f3e2-3d99-4f3d-8058-664a78a4b181 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - id - mediaType - type - vendor - uri - vendorParameters additionalProperties: false description: Assets played for this variant. At least one is required. required: - format - assets additionalProperties: false - type: object properties: targeting: description: 'Optional device targeting for this variant. When a break provides several variants, the player picks the one matching the viewer device. A variant without targeting is considered a default. When several variants qualify (multiple defaults, or multiple variants targeting the same platform), the order in which they are defined decides: the player uses the first variant whose format it can play on the current platform.' type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false format: type: string enum: - double description: 'Variant layout discriminator. `double`: a side-by-side layout where each asset is shown with a companion asset that is the background behind the side-by-side.' assets: minItems: 1 type: array items: allOf: - oneOf: - type: object properties: id: default: e6e1f3e2-3d99-4f3d-8058-664a78a4b181 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: e6e1f3e2-3d99-4f3d-8058-664a78a4b181 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: e6e1f3e2-3d99-4f3d-8058-664a78a4b181 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - id - mediaType - type - vendor - uri - vendorParameters additionalProperties: false - type: object properties: companion: oneOf: - type: object properties: id: default: e6e1f3e2-3d99-4f3d-8058-664a78a4b181 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: e6e1f3e2-3d99-4f3d-8058-664a78a4b181 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: e6e1f3e2-3d99-4f3d-8058-664a78a4b181 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - id - mediaType - type - vendor - uri - vendorParameters additionalProperties: false description: Companion asset displayed alongside the primary asset (used by `double` and `lshape_ad` variants). required: - companion additionalProperties: false description: Assets played for this variant, each paired with a companion asset. At least one is required. required: - format - assets additionalProperties: false - type: object properties: targeting: description: 'Optional device targeting for this variant. When a break provides several variants, the player picks the one matching the viewer device. A variant without targeting is considered a default. When several variants qualify (multiple defaults, or multiple variants targeting the same platform), the order in which they are defined decides: the player uses the first variant whose format it can play on the current platform.' type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false format: type: string enum: - lshape_ad description: 'Variant layout discriminator. `lshape_ad`: an L-shaped layout where the ad occupies the L-frame. Each asset has a companion asset that is the background of the L-shaped layout.' assets: minItems: 1 type: array items: allOf: - oneOf: - type: object properties: id: default: e6e1f3e2-3d99-4f3d-8058-664a78a4b181 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: e6e1f3e2-3d99-4f3d-8058-664a78a4b181 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: e6e1f3e2-3d99-4f3d-8058-664a78a4b181 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - id - mediaType - type - vendor - uri - vendorParameters additionalProperties: false - type: object properties: companion: oneOf: - type: object properties: id: default: e6e1f3e2-3d99-4f3d-8058-664a78a4b181 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: e6e1f3e2-3d99-4f3d-8058-664a78a4b181 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: e6e1f3e2-3d99-4f3d-8058-664a78a4b181 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - id - mediaType - type - vendor - uri - vendorParameters additionalProperties: false description: Companion asset displayed alongside the primary asset (used by `double` and `lshape_ad` variants). required: - companion additionalProperties: false description: Assets played for this variant, each paired with a companion asset. At least one is required. required: - format - assets additionalProperties: false - type: object properties: targeting: description: 'Optional device targeting for this variant. When a break provides several variants, the player picks the one matching the viewer device. A variant without targeting is considered a default. When several variants qualify (multiple defaults, or multiple variants targeting the same platform), the order in which they are defined decides: the player uses the first variant whose format it can play on the current platform.' type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false format: type: string enum: - lshape_content description: 'Variant layout discriminator. `lshape_content`: an L-shaped layout where the live content occupies the L-frame.' assets: minItems: 1 type: array items: oneOf: - type: object properties: id: default: e6e1f3e2-3d99-4f3d-8058-664a78a4b181 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: e6e1f3e2-3d99-4f3d-8058-664a78a4b181 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: e6e1f3e2-3d99-4f3d-8058-664a78a4b181 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - id - mediaType - type - vendor - uri - vendorParameters additionalProperties: false description: Assets played for this variant. At least one is required. required: - format - assets additionalProperties: false - type: object properties: targeting: description: 'Optional device targeting for this variant. When a break provides several variants, the player picks the one matching the viewer device. A variant without targeting is considered a default. When several variants qualify (multiple defaults, or multiple variants targeting the same platform), the order in which they are defined decides: the player uses the first variant whose format it can play on the current platform.' type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false format: type: string enum: - overlay description: 'Variant layout discriminator. `overlay`: a visual overlay shown on top of the stream without interrupting playback.' assets: minItems: 1 type: array items: oneOf: - type: object properties: id: default: e6e1f3e2-3d99-4f3d-8058-664a78a4b181 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: e6e1f3e2-3d99-4f3d-8058-664a78a4b181 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: e6e1f3e2-3d99-4f3d-8058-664a78a4b181 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - id - mediaType - type - vendor - uri - vendorParameters additionalProperties: false description: Assets shown in the overlay. At least one is required. position: type: object properties: top: description: Distance of the overlay top edge from the top of the viewport, as a fraction between 0 and 1. type: number minimum: 0 maximum: 1 bottom: description: Distance of the overlay bottom edge from the bottom of the viewport, as a fraction between 0 and 1. type: number minimum: 0 maximum: 1 left: description: Distance of the overlay left edge from the left of the viewport, as a fraction between 0 and 1. type: number minimum: 0 maximum: 1 right: description: Distance of the overlay right edge from the right of the viewport, as a fraction between 0 and 1. type: number minimum: 0 maximum: 1 additionalProperties: false description: Overlay position within the viewport. Requires at least one of top or bottom and one of left or right. size: type: object properties: width: type: number minimum: 0 maximum: 1 description: Overlay width as a fraction of the viewport width, between 0 and 1. height: type: number minimum: 0 maximum: 1 description: Overlay height as a fraction of the viewport height, between 0 and 1. required: - width - height additionalProperties: false description: Overlay size as fractions of the viewport. opacity: description: Overlay opacity as a fraction between 0 (fully transparent) and 1 (fully opaque). type: number minimum: 0 maximum: 1 required: - format - assets - position - size additionalProperties: false - minItems: 1 type: array items: oneOf: - type: object properties: targeting: description: 'Optional device targeting for this variant. When a break provides several variants, the player picks the one matching the viewer device. A variant without targeting is considered a default. When several variants qualify (multiple defaults, or multiple variants targeting the same platform), the order in which they are defined decides: the player uses the first variant whose format it can play on the current platform.' type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false format: type: string enum: - single description: 'Variant layout discriminator. `single`: a full-screen break filling the entire player viewport.' assets: minItems: 1 type: array items: oneOf: - type: object properties: id: default: e6e1f3e2-3d99-4f3d-8058-664a78a4b181 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: e6e1f3e2-3d99-4f3d-8058-664a78a4b181 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: e6e1f3e2-3d99-4f3d-8058-664a78a4b181 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - id - mediaType - type - vendor - uri - vendorParameters additionalProperties: false description: Assets played for this variant. At least one is required. required: - format - assets additionalProperties: false - type: object properties: targeting: description: 'Optional device targeting for this variant. When a break provides several variants, the player picks the one matching the viewer device. A variant without targeting is considered a default. When several variants qualify (multiple defaults, or multiple variants targeting the same platform), the order in which they are defined decides: the player uses the first variant whose format it can play on the current platform.' type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false format: type: string enum: - double description: 'Variant layout discriminator. `double`: a side-by-side layout where each asset is shown with a companion asset that is the background behind the side-by-side.' assets: minItems: 1 type: array items: allOf: - oneOf: - type: object properties: id: default: e6e1f3e2-3d99-4f3d-8058-664a78a4b181 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: e6e1f3e2-3d99-4f3d-8058-664a78a4b181 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: e6e1f3e2-3d99-4f3d-8058-664a78a4b181 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - id - mediaType - type - vendor - uri - vendorParameters additionalProperties: false - type: object properties: companion: oneOf: - type: object properties: id: default: e6e1f3e2-3d99-4f3d-8058-664a78a4b181 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: e6e1f3e2-3d99-4f3d-8058-664a78a4b181 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: e6e1f3e2-3d99-4f3d-8058-664a78a4b181 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - id - mediaType - type - vendor - uri - vendorParameters additionalProperties: false description: Companion asset displayed alongside the primary asset (used by `double` and `lshape_ad` variants). required: - companion additionalProperties: false description: Assets played for this variant, each paired with a companion asset. At least one is required. required: - format - assets additionalProperties: false - type: object properties: targeting: description: 'Optional device targeting for this variant. When a break provides several variants, the player picks the one matching the viewer device. A variant without targeting is considered a default. When several variants qualify (multiple defaults, or multiple variants targeting the same platform), the order in which they are defined decides: the player uses the first variant whose format it can play on the current platform.' type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false format: type: string enum: - lshape_ad description: 'Variant layout discriminator. `lshape_ad`: an L-shaped layout where the ad occupies the L-frame. Each asset has a companion asset that is the background of the L-shaped layout.' assets: minItems: 1 type: array items: allOf: - oneOf: - type: object properties: id: default: e6e1f3e2-3d99-4f3d-8058-664a78a4b181 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: e6e1f3e2-3d99-4f3d-8058-664a78a4b181 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: e6e1f3e2-3d99-4f3d-8058-664a78a4b181 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - id - mediaType - type - vendor - uri - vendorParameters additionalProperties: false - type: object properties: companion: oneOf: - type: object properties: id: default: e6e1f3e2-3d99-4f3d-8058-664a78a4b181 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: e6e1f3e2-3d99-4f3d-8058-664a78a4b181 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: e6e1f3e2-3d99-4f3d-8058-664a78a4b181 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - id - mediaType - type - vendor - uri - vendorParameters additionalProperties: false description: Companion asset displayed alongside the primary asset (used by `double` and `lshape_ad` variants). required: - companion additionalProperties: false description: Assets played for this variant, each paired with a companion asset. At least one is required. required: - format - assets additionalProperties: false - type: object properties: targeting: description: 'Optional device targeting for this variant. When a break provides several variants, the player picks the one matching the viewer device. A variant without targeting is considered a default. When several variants qualify (multiple defaults, or multiple variants targeting the same platform), the order in which they are defined decides: the player uses the first variant whose format it can play on the current platform.' type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false format: type: string enum: - lshape_content description: 'Variant layout discriminator. `lshape_content`: an L-shaped layout where the live content occupies the L-frame.' assets: minItems: 1 type: array items: oneOf: - type: object properties: id: default: e6e1f3e2-3d99-4f3d-8058-664a78a4b181 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: e6e1f3e2-3d99-4f3d-8058-664a78a4b181 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: e6e1f3e2-3d99-4f3d-8058-664a78a4b181 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - id - mediaType - type - vendor - uri - vendorParameters additionalProperties: false description: Assets played for this variant. At least one is required. required: - format - assets additionalProperties: false - type: object properties: targeting: description: 'Optional device targeting for this variant. When a break provides several variants, the player picks the one matching the viewer device. A variant without targeting is considered a default. When several variants qualify (multiple defaults, or multiple variants targeting the same platform), the order in which they are defined decides: the player uses the first variant whose format it can play on the current platform.' type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false format: type: string enum: - overlay description: 'Variant layout discriminator. `overlay`: a visual overlay shown on top of the stream without interrupting playback.' assets: minItems: 1 type: array items: oneOf: - type: object properties: id: default: e6e1f3e2-3d99-4f3d-8058-664a78a4b181 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: e6e1f3e2-3d99-4f3d-8058-664a78a4b181 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: e6e1f3e2-3d99-4f3d-8058-664a78a4b181 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - id - mediaType - type - vendor - uri - vendorParameters additionalProperties: false description: Assets shown in the overlay. At least one is required. position: type: object properties: top: description: Distance of the overlay top edge from the top of the viewport, as a fraction between 0 and 1. type: number minimum: 0 maximum: 1 bottom: description: Distance of the overlay bottom edge from the bottom of the viewport, as a fraction between 0 and 1. type: number minimum: 0 maximum: 1 left: description: Distance of the overlay left edge from the left of the viewport, as a fraction between 0 and 1. type: number minimum: 0 maximum: 1 right: description: Distance of the overlay right edge from the right of the viewport, as a fraction between 0 and 1. type: number minimum: 0 maximum: 1 additionalProperties: false description: Overlay position within the viewport. Requires at least one of top or bottom and one of left or right. size: type: object properties: width: type: number minimum: 0 maximum: 1 description: Overlay width as a fraction of the viewport width, between 0 and 1. height: type: number minimum: 0 maximum: 1 description: Overlay height as a fraction of the viewport height, between 0 and 1. required: - width - height additionalProperties: false description: Overlay size as fractions of the viewport. opacity: description: Overlay opacity as a fraction between 0 (fully transparent) and 1 (fully opaque). type: number minimum: 0 maximum: 1 required: - format - assets - position - size additionalProperties: false description: A single break variant, or a list of variants from which the player selects the one matching the viewer device. id: type: string minLength: 1 description: Unique template identifier. name: description: Human-readable display name for the template. type: string channelIds: description: Identifiers of the channels this template is linked to. type: array items: type: string eventIds: description: Identifiers of the events this template is linked to. type: array items: type: string createdAt: type: string description: Timestamp when the template was created, as an ISO 8601 datetime string. required: - variant - id - createdAt additionalProperties: false tags: - Templates summary: Create api templates x-summary-source: derived operationId: postApiV1Templates x-operation-id-source: derived delete: description: Bulk delete templates by IDs. requestBody: required: true content: application/json: schema: type: object properties: ids: minItems: 1 type: array items: type: string minLength: 1 description: Identifiers of the templates to delete. At least one is required. required: - ids responses: '204': description: Default Response tags: - Templates summary: Delete api templates x-summary-source: derived operationId: deleteApiV1Templates x-operation-id-source: derived /api/v1/templates/{templateId}: get: description: Get a template by ID. parameters: - schema: type: string in: path name: templateId required: true description: Identifier of the template. responses: '200': description: Default Response content: application/json: schema: type: object properties: duration: description: Default break duration in seconds for breaks created from this template. Minimum 0. type: number minimum: 0 resumeOffset: description: Offset in seconds controlling where content playback resumes after the break. When not present, the break duration is used as the resume offset. When a viewer seeks over a break with controls.snapback enabled, the resume offset is ignored and the viewer seek point is used to resume. Minimum 0. type: number minimum: 0 controls: description: Optional playback controls for the break, such as skip and snapback behavior. type: object properties: skipOffset: description: Number of seconds the viewer must watch before the break becomes skippable. Minimum 0. type: number minimum: 0 snapback: description: Whether the viewer is allowed to seek over the break. When enabled, a viewer seeking over the break is returned to the start of the break and plays it in full; once the break is done, playback resumes at the original seek position. When a viewer seeks into the break, they are also returned to the start of the break and play it in full, after which playback resumes at the default resume point (resumeOffset, or the break duration when not set). When not present, the viewer is allowed to seek over the break. type: boolean additionalProperties: false variant: anyOf: - oneOf: - type: object properties: targeting: description: 'Optional device targeting for this variant. When a break provides several variants, the player picks the one matching the viewer device. A variant without targeting is considered a default. When several variants qualify (multiple defaults, or multiple variants targeting the same platform), the order in which they are defined decides: the player uses the first variant whose format it can play on the current platform.' type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false format: type: string enum: - single description: 'Variant layout discriminator. `single`: a full-screen break filling the entire player viewport.' assets: minItems: 1 type: array items: oneOf: - type: object properties: id: default: d0fb8fd2-156a-46ca-abc6-c76c94d4e15b description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: d0fb8fd2-156a-46ca-abc6-c76c94d4e15b description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: d0fb8fd2-156a-46ca-abc6-c76c94d4e15b description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - id - mediaType - type - vendor - uri - vendorParameters additionalProperties: false description: Assets played for this variant. At least one is required. required: - format - assets additionalProperties: false - type: object properties: targeting: description: 'Optional device targeting for this variant. When a break provides several variants, the player picks the one matching the viewer device. A variant without targeting is considered a default. When several variants qualify (multiple defaults, or multiple variants targeting the same platform), the order in which they are defined decides: the player uses the first variant whose format it can play on the current platform.' type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false format: type: string enum: - double description: 'Variant layout discriminator. `double`: a side-by-side layout where each asset is shown with a companion asset that is the background behind the side-by-side.' assets: minItems: 1 type: array items: allOf: - oneOf: - type: object properties: id: default: d0fb8fd2-156a-46ca-abc6-c76c94d4e15b description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: d0fb8fd2-156a-46ca-abc6-c76c94d4e15b description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: d0fb8fd2-156a-46ca-abc6-c76c94d4e15b description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - id - mediaType - type - vendor - uri - vendorParameters additionalProperties: false - type: object properties: companion: oneOf: - type: object properties: id: default: d0fb8fd2-156a-46ca-abc6-c76c94d4e15b description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: d0fb8fd2-156a-46ca-abc6-c76c94d4e15b description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: d0fb8fd2-156a-46ca-abc6-c76c94d4e15b description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - id - mediaType - type - vendor - uri - vendorParameters additionalProperties: false description: Companion asset displayed alongside the primary asset (used by `double` and `lshape_ad` variants). required: - companion additionalProperties: false description: Assets played for this variant, each paired with a companion asset. At least one is required. required: - format - assets additionalProperties: false - type: object properties: targeting: description: 'Optional device targeting for this variant. When a break provides several variants, the player picks the one matching the viewer device. A variant without targeting is considered a default. When several variants qualify (multiple defaults, or multiple variants targeting the same platform), the order in which they are defined decides: the player uses the first variant whose format it can play on the current platform.' type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false format: type: string enum: - lshape_ad description: 'Variant layout discriminator. `lshape_ad`: an L-shaped layout where the ad occupies the L-frame. Each asset has a companion asset that is the background of the L-shaped layout.' assets: minItems: 1 type: array items: allOf: - oneOf: - type: object properties: id: default: d0fb8fd2-156a-46ca-abc6-c76c94d4e15b description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: d0fb8fd2-156a-46ca-abc6-c76c94d4e15b description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: d0fb8fd2-156a-46ca-abc6-c76c94d4e15b description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - id - mediaType - type - vendor - uri - vendorParameters additionalProperties: false - type: object properties: companion: oneOf: - type: object properties: id: default: d0fb8fd2-156a-46ca-abc6-c76c94d4e15b description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: d0fb8fd2-156a-46ca-abc6-c76c94d4e15b description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: d0fb8fd2-156a-46ca-abc6-c76c94d4e15b description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - id - mediaType - type - vendor - uri - vendorParameters additionalProperties: false description: Companion asset displayed alongside the primary asset (used by `double` and `lshape_ad` variants). required: - companion additionalProperties: false description: Assets played for this variant, each paired with a companion asset. At least one is required. required: - format - assets additionalProperties: false - type: object properties: targeting: description: 'Optional device targeting for this variant. When a break provides several variants, the player picks the one matching the viewer device. A variant without targeting is considered a default. When several variants qualify (multiple defaults, or multiple variants targeting the same platform), the order in which they are defined decides: the player uses the first variant whose format it can play on the current platform.' type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false format: type: string enum: - lshape_content description: 'Variant layout discriminator. `lshape_content`: an L-shaped layout where the live content occupies the L-frame.' assets: minItems: 1 type: array items: oneOf: - type: object properties: id: default: d0fb8fd2-156a-46ca-abc6-c76c94d4e15b description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: d0fb8fd2-156a-46ca-abc6-c76c94d4e15b description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: d0fb8fd2-156a-46ca-abc6-c76c94d4e15b description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - id - mediaType - type - vendor - uri - vendorParameters additionalProperties: false description: Assets played for this variant. At least one is required. required: - format - assets additionalProperties: false - type: object properties: targeting: description: 'Optional device targeting for this variant. When a break provides several variants, the player picks the one matching the viewer device. A variant without targeting is considered a default. When several variants qualify (multiple defaults, or multiple variants targeting the same platform), the order in which they are defined decides: the player uses the first variant whose format it can play on the current platform.' type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false format: type: string enum: - overlay description: 'Variant layout discriminator. `overlay`: a visual overlay shown on top of the stream without interrupting playback.' assets: minItems: 1 type: array items: oneOf: - type: object properties: id: default: d0fb8fd2-156a-46ca-abc6-c76c94d4e15b description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: d0fb8fd2-156a-46ca-abc6-c76c94d4e15b description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: d0fb8fd2-156a-46ca-abc6-c76c94d4e15b description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - id - mediaType - type - vendor - uri - vendorParameters additionalProperties: false description: Assets shown in the overlay. At least one is required. position: type: object properties: top: description: Distance of the overlay top edge from the top of the viewport, as a fraction between 0 and 1. type: number minimum: 0 maximum: 1 bottom: description: Distance of the overlay bottom edge from the bottom of the viewport, as a fraction between 0 and 1. type: number minimum: 0 maximum: 1 left: description: Distance of the overlay left edge from the left of the viewport, as a fraction between 0 and 1. type: number minimum: 0 maximum: 1 right: description: Distance of the overlay right edge from the right of the viewport, as a fraction between 0 and 1. type: number minimum: 0 maximum: 1 additionalProperties: false description: Overlay position within the viewport. Requires at least one of top or bottom and one of left or right. size: type: object properties: width: type: number minimum: 0 maximum: 1 description: Overlay width as a fraction of the viewport width, between 0 and 1. height: type: number minimum: 0 maximum: 1 description: Overlay height as a fraction of the viewport height, between 0 and 1. required: - width - height additionalProperties: false description: Overlay size as fractions of the viewport. opacity: description: Overlay opacity as a fraction between 0 (fully transparent) and 1 (fully opaque). type: number minimum: 0 maximum: 1 required: - format - assets - position - size additionalProperties: false - minItems: 1 type: array items: oneOf: - type: object properties: targeting: description: 'Optional device targeting for this variant. When a break provides several variants, the player picks the one matching the viewer device. A variant without targeting is considered a default. When several variants qualify (multiple defaults, or multiple variants targeting the same platform), the order in which they are defined decides: the player uses the first variant whose format it can play on the current platform.' type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false format: type: string enum: - single description: 'Variant layout discriminator. `single`: a full-screen break filling the entire player viewport.' assets: minItems: 1 type: array items: oneOf: - type: object properties: id: default: d0fb8fd2-156a-46ca-abc6-c76c94d4e15b description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: d0fb8fd2-156a-46ca-abc6-c76c94d4e15b description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: d0fb8fd2-156a-46ca-abc6-c76c94d4e15b description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - id - mediaType - type - vendor - uri - vendorParameters additionalProperties: false description: Assets played for this variant. At least one is required. required: - format - assets additionalProperties: false - type: object properties: targeting: description: 'Optional device targeting for this variant. When a break provides several variants, the player picks the one matching the viewer device. A variant without targeting is considered a default. When several variants qualify (multiple defaults, or multiple variants targeting the same platform), the order in which they are defined decides: the player uses the first variant whose format it can play on the current platform.' type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false format: type: string enum: - double description: 'Variant layout discriminator. `double`: a side-by-side layout where each asset is shown with a companion asset that is the background behind the side-by-side.' assets: minItems: 1 type: array items: allOf: - oneOf: - type: object properties: id: default: d0fb8fd2-156a-46ca-abc6-c76c94d4e15b description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: d0fb8fd2-156a-46ca-abc6-c76c94d4e15b description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: d0fb8fd2-156a-46ca-abc6-c76c94d4e15b description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - id - mediaType - type - vendor - uri - vendorParameters additionalProperties: false - type: object properties: companion: oneOf: - type: object properties: id: default: d0fb8fd2-156a-46ca-abc6-c76c94d4e15b description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: d0fb8fd2-156a-46ca-abc6-c76c94d4e15b description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: d0fb8fd2-156a-46ca-abc6-c76c94d4e15b description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - id - mediaType - type - vendor - uri - vendorParameters additionalProperties: false description: Companion asset displayed alongside the primary asset (used by `double` and `lshape_ad` variants). required: - companion additionalProperties: false description: Assets played for this variant, each paired with a companion asset. At least one is required. required: - format - assets additionalProperties: false - type: object properties: targeting: description: 'Optional device targeting for this variant. When a break provides several variants, the player picks the one matching the viewer device. A variant without targeting is considered a default. When several variants qualify (multiple defaults, or multiple variants targeting the same platform), the order in which they are defined decides: the player uses the first variant whose format it can play on the current platform.' type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false format: type: string enum: - lshape_ad description: 'Variant layout discriminator. `lshape_ad`: an L-shaped layout where the ad occupies the L-frame. Each asset has a companion asset that is the background of the L-shaped layout.' assets: minItems: 1 type: array items: allOf: - oneOf: - type: object properties: id: default: d0fb8fd2-156a-46ca-abc6-c76c94d4e15b description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: d0fb8fd2-156a-46ca-abc6-c76c94d4e15b description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: d0fb8fd2-156a-46ca-abc6-c76c94d4e15b description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - id - mediaType - type - vendor - uri - vendorParameters additionalProperties: false - type: object properties: companion: oneOf: - type: object properties: id: default: d0fb8fd2-156a-46ca-abc6-c76c94d4e15b description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: d0fb8fd2-156a-46ca-abc6-c76c94d4e15b description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: d0fb8fd2-156a-46ca-abc6-c76c94d4e15b description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - id - mediaType - type - vendor - uri - vendorParameters additionalProperties: false description: Companion asset displayed alongside the primary asset (used by `double` and `lshape_ad` variants). required: - companion additionalProperties: false description: Assets played for this variant, each paired with a companion asset. At least one is required. required: - format - assets additionalProperties: false - type: object properties: targeting: description: 'Optional device targeting for this variant. When a break provides several variants, the player picks the one matching the viewer device. A variant without targeting is considered a default. When several variants qualify (multiple defaults, or multiple variants targeting the same platform), the order in which they are defined decides: the player uses the first variant whose format it can play on the current platform.' type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false format: type: string enum: - lshape_content description: 'Variant layout discriminator. `lshape_content`: an L-shaped layout where the live content occupies the L-frame.' assets: minItems: 1 type: array items: oneOf: - type: object properties: id: default: d0fb8fd2-156a-46ca-abc6-c76c94d4e15b description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: d0fb8fd2-156a-46ca-abc6-c76c94d4e15b description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: d0fb8fd2-156a-46ca-abc6-c76c94d4e15b description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - id - mediaType - type - vendor - uri - vendorParameters additionalProperties: false description: Assets played for this variant. At least one is required. required: - format - assets additionalProperties: false - type: object properties: targeting: description: 'Optional device targeting for this variant. When a break provides several variants, the player picks the one matching the viewer device. A variant without targeting is considered a default. When several variants qualify (multiple defaults, or multiple variants targeting the same platform), the order in which they are defined decides: the player uses the first variant whose format it can play on the current platform.' type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false format: type: string enum: - overlay description: 'Variant layout discriminator. `overlay`: a visual overlay shown on top of the stream without interrupting playback.' assets: minItems: 1 type: array items: oneOf: - type: object properties: id: default: d0fb8fd2-156a-46ca-abc6-c76c94d4e15b description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: d0fb8fd2-156a-46ca-abc6-c76c94d4e15b description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: d0fb8fd2-156a-46ca-abc6-c76c94d4e15b description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - id - mediaType - type - vendor - uri - vendorParameters additionalProperties: false description: Assets shown in the overlay. At least one is required. position: type: object properties: top: description: Distance of the overlay top edge from the top of the viewport, as a fraction between 0 and 1. type: number minimum: 0 maximum: 1 bottom: description: Distance of the overlay bottom edge from the bottom of the viewport, as a fraction between 0 and 1. type: number minimum: 0 maximum: 1 left: description: Distance of the overlay left edge from the left of the viewport, as a fraction between 0 and 1. type: number minimum: 0 maximum: 1 right: description: Distance of the overlay right edge from the right of the viewport, as a fraction between 0 and 1. type: number minimum: 0 maximum: 1 additionalProperties: false description: Overlay position within the viewport. Requires at least one of top or bottom and one of left or right. size: type: object properties: width: type: number minimum: 0 maximum: 1 description: Overlay width as a fraction of the viewport width, between 0 and 1. height: type: number minimum: 0 maximum: 1 description: Overlay height as a fraction of the viewport height, between 0 and 1. required: - width - height additionalProperties: false description: Overlay size as fractions of the viewport. opacity: description: Overlay opacity as a fraction between 0 (fully transparent) and 1 (fully opaque). type: number minimum: 0 maximum: 1 required: - format - assets - position - size additionalProperties: false description: A single break variant, or a list of variants from which the player selects the one matching the viewer device. id: type: string minLength: 1 description: Unique template identifier. name: description: Human-readable display name for the template. type: string channelIds: description: Identifiers of the channels this template is linked to. type: array items: type: string eventIds: description: Identifiers of the events this template is linked to. type: array items: type: string createdAt: type: string description: Timestamp when the template was created, as an ISO 8601 datetime string. required: - variant - id - createdAt additionalProperties: false tags: - Templates summary: Get api templates by template id x-summary-source: derived operationId: getApiV1TemplatesByTemplateId x-operation-id-source: derived patch: description: Update a template. Backdrop is required for non-SINGLE layouts. requestBody: required: true content: application/json: schema: type: object properties: duration: description: Default break duration in seconds applied when creating a break from this template. Optional. Minimum 0. type: number minimum: 0 resumeOffset: description: Offset in seconds controlling where content playback resumes after the break. When not present, the break duration is used as the resume offset. When a viewer seeks over a break with controls.snapback enabled, the resume offset is ignored and the viewer seek point is used to resume. Minimum 0. type: number minimum: 0 controls: description: Optional playback controls for the break, such as skip and snapback behavior. type: object properties: skipOffset: description: Number of seconds the viewer must watch before the break becomes skippable. Minimum 0. type: number minimum: 0 snapback: description: Whether the viewer is allowed to seek over the break. When enabled, a viewer seeking over the break is returned to the start of the break and plays it in full; once the break is done, playback resumes at the original seek position. When a viewer seeks into the break, they are also returned to the start of the break and play it in full, after which playback resumes at the default resume point (resumeOffset, or the break duration when not set). When not present, the viewer is allowed to seek over the break. type: boolean variant: anyOf: - oneOf: - type: object properties: targeting: description: 'Optional device targeting for this variant. When a break provides several variants, the player picks the one matching the viewer device. A variant without targeting is considered a default. When several variants qualify (multiple defaults, or multiple variants targeting the same platform), the order in which they are defined decides: the player uses the first variant whose format it can play on the current platform.' type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv format: type: string enum: - single description: 'Variant layout discriminator. `single`: a full-screen break filling the entire player viewport.' assets: minItems: 1 type: array items: oneOf: - type: object properties: id: default: 0460515c-edbb-4b1c-bb04-88972284df77 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv required: - value description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - mediaType - type - uri - type: object properties: id: default: 0460515c-edbb-4b1c-bb04-88972284df77 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv required: - value description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - mediaType - type - uri - type: object properties: id: default: 0460515c-edbb-4b1c-bb04-88972284df77 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - mediaType - type - vendor - vendorParameters description: Assets played for this variant. At least one is required. required: - format - assets - type: object properties: targeting: description: 'Optional device targeting for this variant. When a break provides several variants, the player picks the one matching the viewer device. A variant without targeting is considered a default. When several variants qualify (multiple defaults, or multiple variants targeting the same platform), the order in which they are defined decides: the player uses the first variant whose format it can play on the current platform.' type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv format: type: string enum: - double description: 'Variant layout discriminator. `double`: a side-by-side layout where each asset is shown with a companion asset that is the background behind the side-by-side.' assets: minItems: 1 type: array items: allOf: - oneOf: - type: object properties: id: default: 0460515c-edbb-4b1c-bb04-88972284df77 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv required: - value description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - mediaType - type - uri - type: object properties: id: default: 0460515c-edbb-4b1c-bb04-88972284df77 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv required: - value description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - mediaType - type - uri - type: object properties: id: default: 0460515c-edbb-4b1c-bb04-88972284df77 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - mediaType - type - vendor - vendorParameters - type: object properties: companion: oneOf: - type: object properties: id: default: 0460515c-edbb-4b1c-bb04-88972284df77 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv required: - value description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - mediaType - type - uri - type: object properties: id: default: 0460515c-edbb-4b1c-bb04-88972284df77 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv required: - value description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - mediaType - type - uri - type: object properties: id: default: 0460515c-edbb-4b1c-bb04-88972284df77 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - mediaType - type - vendor - vendorParameters description: Companion asset displayed alongside the primary asset (used by `double` and `lshape_ad` variants). required: - companion description: Assets played for this variant, each paired with a companion asset. At least one is required. required: - format - assets - type: object properties: targeting: description: 'Optional device targeting for this variant. When a break provides several variants, the player picks the one matching the viewer device. A variant without targeting is considered a default. When several variants qualify (multiple defaults, or multiple variants targeting the same platform), the order in which they are defined decides: the player uses the first variant whose format it can play on the current platform.' type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv format: type: string enum: - lshape_ad description: 'Variant layout discriminator. `lshape_ad`: an L-shaped layout where the ad occupies the L-frame. Each asset has a companion asset that is the background of the L-shaped layout.' assets: minItems: 1 type: array items: allOf: - oneOf: - type: object properties: id: default: 0460515c-edbb-4b1c-bb04-88972284df77 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv required: - value description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - mediaType - type - uri - type: object properties: id: default: 0460515c-edbb-4b1c-bb04-88972284df77 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv required: - value description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - mediaType - type - uri - type: object properties: id: default: 0460515c-edbb-4b1c-bb04-88972284df77 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - mediaType - type - vendor - vendorParameters - type: object properties: companion: oneOf: - type: object properties: id: default: 0460515c-edbb-4b1c-bb04-88972284df77 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv required: - value description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - mediaType - type - uri - type: object properties: id: default: 0460515c-edbb-4b1c-bb04-88972284df77 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv required: - value description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - mediaType - type - uri - type: object properties: id: default: 0460515c-edbb-4b1c-bb04-88972284df77 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - mediaType - type - vendor - vendorParameters description: Companion asset displayed alongside the primary asset (used by `double` and `lshape_ad` variants). required: - companion description: Assets played for this variant, each paired with a companion asset. At least one is required. required: - format - assets - type: object properties: targeting: description: 'Optional device targeting for this variant. When a break provides several variants, the player picks the one matching the viewer device. A variant without targeting is considered a default. When several variants qualify (multiple defaults, or multiple variants targeting the same platform), the order in which they are defined decides: the player uses the first variant whose format it can play on the current platform.' type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv format: type: string enum: - lshape_content description: 'Variant layout discriminator. `lshape_content`: an L-shaped layout where the live content occupies the L-frame.' assets: minItems: 1 type: array items: oneOf: - type: object properties: id: default: 0460515c-edbb-4b1c-bb04-88972284df77 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv required: - value description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - mediaType - type - uri - type: object properties: id: default: 0460515c-edbb-4b1c-bb04-88972284df77 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv required: - value description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - mediaType - type - uri - type: object properties: id: default: 0460515c-edbb-4b1c-bb04-88972284df77 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - mediaType - type - vendor - vendorParameters description: Assets played for this variant. At least one is required. required: - format - assets - type: object properties: targeting: description: 'Optional device targeting for this variant. When a break provides several variants, the player picks the one matching the viewer device. A variant without targeting is considered a default. When several variants qualify (multiple defaults, or multiple variants targeting the same platform), the order in which they are defined decides: the player uses the first variant whose format it can play on the current platform.' type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv format: type: string enum: - overlay description: 'Variant layout discriminator. `overlay`: a visual overlay shown on top of the stream without interrupting playback.' assets: minItems: 1 type: array items: oneOf: - type: object properties: id: default: 0460515c-edbb-4b1c-bb04-88972284df77 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv required: - value description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - mediaType - type - uri - type: object properties: id: default: 0460515c-edbb-4b1c-bb04-88972284df77 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv required: - value description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - mediaType - type - uri - type: object properties: id: default: 0460515c-edbb-4b1c-bb04-88972284df77 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - mediaType - type - vendor - vendorParameters description: Assets shown in the overlay. At least one is required. position: type: object properties: top: description: Distance of the overlay top edge from the top of the viewport, as a fraction between 0 and 1. type: number minimum: 0 maximum: 1 bottom: description: Distance of the overlay bottom edge from the bottom of the viewport, as a fraction between 0 and 1. type: number minimum: 0 maximum: 1 left: description: Distance of the overlay left edge from the left of the viewport, as a fraction between 0 and 1. type: number minimum: 0 maximum: 1 right: description: Distance of the overlay right edge from the right of the viewport, as a fraction between 0 and 1. type: number minimum: 0 maximum: 1 description: Overlay position within the viewport. Requires at least one of top or bottom and one of left or right. size: type: object properties: width: type: number minimum: 0 maximum: 1 description: Overlay width as a fraction of the viewport width, between 0 and 1. height: type: number minimum: 0 maximum: 1 description: Overlay height as a fraction of the viewport height, between 0 and 1. required: - width - height description: Overlay size as fractions of the viewport. opacity: description: Overlay opacity as a fraction between 0 (fully transparent) and 1 (fully opaque). type: number minimum: 0 maximum: 1 required: - format - assets - position - size - minItems: 1 type: array items: oneOf: - type: object properties: targeting: description: 'Optional device targeting for this variant. When a break provides several variants, the player picks the one matching the viewer device. A variant without targeting is considered a default. When several variants qualify (multiple defaults, or multiple variants targeting the same platform), the order in which they are defined decides: the player uses the first variant whose format it can play on the current platform.' type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv format: type: string enum: - single description: 'Variant layout discriminator. `single`: a full-screen break filling the entire player viewport.' assets: minItems: 1 type: array items: oneOf: - type: object properties: id: default: 0460515c-edbb-4b1c-bb04-88972284df77 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv required: - value description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - mediaType - type - uri - type: object properties: id: default: 0460515c-edbb-4b1c-bb04-88972284df77 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv required: - value description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - mediaType - type - uri - type: object properties: id: default: 0460515c-edbb-4b1c-bb04-88972284df77 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - mediaType - type - vendor - vendorParameters description: Assets played for this variant. At least one is required. required: - format - assets - type: object properties: targeting: description: 'Optional device targeting for this variant. When a break provides several variants, the player picks the one matching the viewer device. A variant without targeting is considered a default. When several variants qualify (multiple defaults, or multiple variants targeting the same platform), the order in which they are defined decides: the player uses the first variant whose format it can play on the current platform.' type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv format: type: string enum: - double description: 'Variant layout discriminator. `double`: a side-by-side layout where each asset is shown with a companion asset that is the background behind the side-by-side.' assets: minItems: 1 type: array items: allOf: - oneOf: - type: object properties: id: default: 0460515c-edbb-4b1c-bb04-88972284df77 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv required: - value description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - mediaType - type - uri - type: object properties: id: default: 0460515c-edbb-4b1c-bb04-88972284df77 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv required: - value description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - mediaType - type - uri - type: object properties: id: default: 0460515c-edbb-4b1c-bb04-88972284df77 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - mediaType - type - vendor - vendorParameters - type: object properties: companion: oneOf: - type: object properties: id: default: 0460515c-edbb-4b1c-bb04-88972284df77 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv required: - value description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - mediaType - type - uri - type: object properties: id: default: 0460515c-edbb-4b1c-bb04-88972284df77 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv required: - value description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - mediaType - type - uri - type: object properties: id: default: 0460515c-edbb-4b1c-bb04-88972284df77 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - mediaType - type - vendor - vendorParameters description: Companion asset displayed alongside the primary asset (used by `double` and `lshape_ad` variants). required: - companion description: Assets played for this variant, each paired with a companion asset. At least one is required. required: - format - assets - type: object properties: targeting: description: 'Optional device targeting for this variant. When a break provides several variants, the player picks the one matching the viewer device. A variant without targeting is considered a default. When several variants qualify (multiple defaults, or multiple variants targeting the same platform), the order in which they are defined decides: the player uses the first variant whose format it can play on the current platform.' type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv format: type: string enum: - lshape_ad description: 'Variant layout discriminator. `lshape_ad`: an L-shaped layout where the ad occupies the L-frame. Each asset has a companion asset that is the background of the L-shaped layout.' assets: minItems: 1 type: array items: allOf: - oneOf: - type: object properties: id: default: 0460515c-edbb-4b1c-bb04-88972284df77 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv required: - value description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - mediaType - type - uri - type: object properties: id: default: 0460515c-edbb-4b1c-bb04-88972284df77 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv required: - value description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - mediaType - type - uri - type: object properties: id: default: 0460515c-edbb-4b1c-bb04-88972284df77 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - mediaType - type - vendor - vendorParameters - type: object properties: companion: oneOf: - type: object properties: id: default: 0460515c-edbb-4b1c-bb04-88972284df77 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv required: - value description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - mediaType - type - uri - type: object properties: id: default: 0460515c-edbb-4b1c-bb04-88972284df77 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv required: - value description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - mediaType - type - uri - type: object properties: id: default: 0460515c-edbb-4b1c-bb04-88972284df77 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - mediaType - type - vendor - vendorParameters description: Companion asset displayed alongside the primary asset (used by `double` and `lshape_ad` variants). required: - companion description: Assets played for this variant, each paired with a companion asset. At least one is required. required: - format - assets - type: object properties: targeting: description: 'Optional device targeting for this variant. When a break provides several variants, the player picks the one matching the viewer device. A variant without targeting is considered a default. When several variants qualify (multiple defaults, or multiple variants targeting the same platform), the order in which they are defined decides: the player uses the first variant whose format it can play on the current platform.' type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv format: type: string enum: - lshape_content description: 'Variant layout discriminator. `lshape_content`: an L-shaped layout where the live content occupies the L-frame.' assets: minItems: 1 type: array items: oneOf: - type: object properties: id: default: 0460515c-edbb-4b1c-bb04-88972284df77 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv required: - value description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - mediaType - type - uri - type: object properties: id: default: 0460515c-edbb-4b1c-bb04-88972284df77 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv required: - value description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - mediaType - type - uri - type: object properties: id: default: 0460515c-edbb-4b1c-bb04-88972284df77 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - mediaType - type - vendor - vendorParameters description: Assets played for this variant. At least one is required. required: - format - assets - type: object properties: targeting: description: 'Optional device targeting for this variant. When a break provides several variants, the player picks the one matching the viewer device. A variant without targeting is considered a default. When several variants qualify (multiple defaults, or multiple variants targeting the same platform), the order in which they are defined decides: the player uses the first variant whose format it can play on the current platform.' type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv format: type: string enum: - overlay description: 'Variant layout discriminator. `overlay`: a visual overlay shown on top of the stream without interrupting playback.' assets: minItems: 1 type: array items: oneOf: - type: object properties: id: default: 0460515c-edbb-4b1c-bb04-88972284df77 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv required: - value description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - mediaType - type - uri - type: object properties: id: default: 0460515c-edbb-4b1c-bb04-88972284df77 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv required: - value description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - mediaType - type - uri - type: object properties: id: default: 0460515c-edbb-4b1c-bb04-88972284df77 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - mediaType - type - vendor - vendorParameters description: Assets shown in the overlay. At least one is required. position: type: object properties: top: description: Distance of the overlay top edge from the top of the viewport, as a fraction between 0 and 1. type: number minimum: 0 maximum: 1 bottom: description: Distance of the overlay bottom edge from the bottom of the viewport, as a fraction between 0 and 1. type: number minimum: 0 maximum: 1 left: description: Distance of the overlay left edge from the left of the viewport, as a fraction between 0 and 1. type: number minimum: 0 maximum: 1 right: description: Distance of the overlay right edge from the right of the viewport, as a fraction between 0 and 1. type: number minimum: 0 maximum: 1 description: Overlay position within the viewport. Requires at least one of top or bottom and one of left or right. size: type: object properties: width: type: number minimum: 0 maximum: 1 description: Overlay width as a fraction of the viewport width, between 0 and 1. height: type: number minimum: 0 maximum: 1 description: Overlay height as a fraction of the viewport height, between 0 and 1. required: - width - height description: Overlay size as fractions of the viewport. opacity: description: Overlay opacity as a fraction between 0 (fully transparent) and 1 (fully opaque). type: number minimum: 0 maximum: 1 required: - format - assets - position - size description: A single break variant, or a list of variants from which the player selects the one matching the viewer device. name: description: Human-readable display name for the template. type: string channelIds: description: Identifiers of the channels this template is linked to. type: array items: type: string minLength: 1 eventIds: description: Identifiers of the events this template is linked to. type: array items: type: string minLength: 1 parameters: - schema: type: string in: path name: templateId required: true description: Identifier of the template. responses: '200': description: Default Response content: application/json: schema: type: object properties: duration: description: Default break duration in seconds for breaks created from this template. Minimum 0. type: number minimum: 0 resumeOffset: description: Offset in seconds controlling where content playback resumes after the break. When not present, the break duration is used as the resume offset. When a viewer seeks over a break with controls.snapback enabled, the resume offset is ignored and the viewer seek point is used to resume. Minimum 0. type: number minimum: 0 controls: description: Optional playback controls for the break, such as skip and snapback behavior. type: object properties: skipOffset: description: Number of seconds the viewer must watch before the break becomes skippable. Minimum 0. type: number minimum: 0 snapback: description: Whether the viewer is allowed to seek over the break. When enabled, a viewer seeking over the break is returned to the start of the break and plays it in full; once the break is done, playback resumes at the original seek position. When a viewer seeks into the break, they are also returned to the start of the break and play it in full, after which playback resumes at the default resume point (resumeOffset, or the break duration when not set). When not present, the viewer is allowed to seek over the break. type: boolean additionalProperties: false variant: anyOf: - oneOf: - type: object properties: targeting: description: 'Optional device targeting for this variant. When a break provides several variants, the player picks the one matching the viewer device. A variant without targeting is considered a default. When several variants qualify (multiple defaults, or multiple variants targeting the same platform), the order in which they are defined decides: the player uses the first variant whose format it can play on the current platform.' type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false format: type: string enum: - single description: 'Variant layout discriminator. `single`: a full-screen break filling the entire player viewport.' assets: minItems: 1 type: array items: oneOf: - type: object properties: id: default: 735471b9-a4fa-4caf-9e92-19aabb2ae3e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: 735471b9-a4fa-4caf-9e92-19aabb2ae3e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: 735471b9-a4fa-4caf-9e92-19aabb2ae3e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - id - mediaType - type - vendor - uri - vendorParameters additionalProperties: false description: Assets played for this variant. At least one is required. required: - format - assets additionalProperties: false - type: object properties: targeting: description: 'Optional device targeting for this variant. When a break provides several variants, the player picks the one matching the viewer device. A variant without targeting is considered a default. When several variants qualify (multiple defaults, or multiple variants targeting the same platform), the order in which they are defined decides: the player uses the first variant whose format it can play on the current platform.' type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false format: type: string enum: - double description: 'Variant layout discriminator. `double`: a side-by-side layout where each asset is shown with a companion asset that is the background behind the side-by-side.' assets: minItems: 1 type: array items: allOf: - oneOf: - type: object properties: id: default: 735471b9-a4fa-4caf-9e92-19aabb2ae3e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: 735471b9-a4fa-4caf-9e92-19aabb2ae3e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: 735471b9-a4fa-4caf-9e92-19aabb2ae3e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - id - mediaType - type - vendor - uri - vendorParameters additionalProperties: false - type: object properties: companion: oneOf: - type: object properties: id: default: 735471b9-a4fa-4caf-9e92-19aabb2ae3e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: 735471b9-a4fa-4caf-9e92-19aabb2ae3e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: 735471b9-a4fa-4caf-9e92-19aabb2ae3e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - id - mediaType - type - vendor - uri - vendorParameters additionalProperties: false description: Companion asset displayed alongside the primary asset (used by `double` and `lshape_ad` variants). required: - companion additionalProperties: false description: Assets played for this variant, each paired with a companion asset. At least one is required. required: - format - assets additionalProperties: false - type: object properties: targeting: description: 'Optional device targeting for this variant. When a break provides several variants, the player picks the one matching the viewer device. A variant without targeting is considered a default. When several variants qualify (multiple defaults, or multiple variants targeting the same platform), the order in which they are defined decides: the player uses the first variant whose format it can play on the current platform.' type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false format: type: string enum: - lshape_ad description: 'Variant layout discriminator. `lshape_ad`: an L-shaped layout where the ad occupies the L-frame. Each asset has a companion asset that is the background of the L-shaped layout.' assets: minItems: 1 type: array items: allOf: - oneOf: - type: object properties: id: default: 735471b9-a4fa-4caf-9e92-19aabb2ae3e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: 735471b9-a4fa-4caf-9e92-19aabb2ae3e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: 735471b9-a4fa-4caf-9e92-19aabb2ae3e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - id - mediaType - type - vendor - uri - vendorParameters additionalProperties: false - type: object properties: companion: oneOf: - type: object properties: id: default: 735471b9-a4fa-4caf-9e92-19aabb2ae3e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: 735471b9-a4fa-4caf-9e92-19aabb2ae3e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: 735471b9-a4fa-4caf-9e92-19aabb2ae3e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - id - mediaType - type - vendor - uri - vendorParameters additionalProperties: false description: Companion asset displayed alongside the primary asset (used by `double` and `lshape_ad` variants). required: - companion additionalProperties: false description: Assets played for this variant, each paired with a companion asset. At least one is required. required: - format - assets additionalProperties: false - type: object properties: targeting: description: 'Optional device targeting for this variant. When a break provides several variants, the player picks the one matching the viewer device. A variant without targeting is considered a default. When several variants qualify (multiple defaults, or multiple variants targeting the same platform), the order in which they are defined decides: the player uses the first variant whose format it can play on the current platform.' type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false format: type: string enum: - lshape_content description: 'Variant layout discriminator. `lshape_content`: an L-shaped layout where the live content occupies the L-frame.' assets: minItems: 1 type: array items: oneOf: - type: object properties: id: default: 735471b9-a4fa-4caf-9e92-19aabb2ae3e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: 735471b9-a4fa-4caf-9e92-19aabb2ae3e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: 735471b9-a4fa-4caf-9e92-19aabb2ae3e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - id - mediaType - type - vendor - uri - vendorParameters additionalProperties: false description: Assets played for this variant. At least one is required. required: - format - assets additionalProperties: false - type: object properties: targeting: description: 'Optional device targeting for this variant. When a break provides several variants, the player picks the one matching the viewer device. A variant without targeting is considered a default. When several variants qualify (multiple defaults, or multiple variants targeting the same platform), the order in which they are defined decides: the player uses the first variant whose format it can play on the current platform.' type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false format: type: string enum: - overlay description: 'Variant layout discriminator. `overlay`: a visual overlay shown on top of the stream without interrupting playback.' assets: minItems: 1 type: array items: oneOf: - type: object properties: id: default: 735471b9-a4fa-4caf-9e92-19aabb2ae3e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: 735471b9-a4fa-4caf-9e92-19aabb2ae3e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: 735471b9-a4fa-4caf-9e92-19aabb2ae3e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - id - mediaType - type - vendor - uri - vendorParameters additionalProperties: false description: Assets shown in the overlay. At least one is required. position: type: object properties: top: description: Distance of the overlay top edge from the top of the viewport, as a fraction between 0 and 1. type: number minimum: 0 maximum: 1 bottom: description: Distance of the overlay bottom edge from the bottom of the viewport, as a fraction between 0 and 1. type: number minimum: 0 maximum: 1 left: description: Distance of the overlay left edge from the left of the viewport, as a fraction between 0 and 1. type: number minimum: 0 maximum: 1 right: description: Distance of the overlay right edge from the right of the viewport, as a fraction between 0 and 1. type: number minimum: 0 maximum: 1 additionalProperties: false description: Overlay position within the viewport. Requires at least one of top or bottom and one of left or right. size: type: object properties: width: type: number minimum: 0 maximum: 1 description: Overlay width as a fraction of the viewport width, between 0 and 1. height: type: number minimum: 0 maximum: 1 description: Overlay height as a fraction of the viewport height, between 0 and 1. required: - width - height additionalProperties: false description: Overlay size as fractions of the viewport. opacity: description: Overlay opacity as a fraction between 0 (fully transparent) and 1 (fully opaque). type: number minimum: 0 maximum: 1 required: - format - assets - position - size additionalProperties: false - minItems: 1 type: array items: oneOf: - type: object properties: targeting: description: 'Optional device targeting for this variant. When a break provides several variants, the player picks the one matching the viewer device. A variant without targeting is considered a default. When several variants qualify (multiple defaults, or multiple variants targeting the same platform), the order in which they are defined decides: the player uses the first variant whose format it can play on the current platform.' type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false format: type: string enum: - single description: 'Variant layout discriminator. `single`: a full-screen break filling the entire player viewport.' assets: minItems: 1 type: array items: oneOf: - type: object properties: id: default: 735471b9-a4fa-4caf-9e92-19aabb2ae3e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: 735471b9-a4fa-4caf-9e92-19aabb2ae3e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: 735471b9-a4fa-4caf-9e92-19aabb2ae3e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - id - mediaType - type - vendor - uri - vendorParameters additionalProperties: false description: Assets played for this variant. At least one is required. required: - format - assets additionalProperties: false - type: object properties: targeting: description: 'Optional device targeting for this variant. When a break provides several variants, the player picks the one matching the viewer device. A variant without targeting is considered a default. When several variants qualify (multiple defaults, or multiple variants targeting the same platform), the order in which they are defined decides: the player uses the first variant whose format it can play on the current platform.' type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false format: type: string enum: - double description: 'Variant layout discriminator. `double`: a side-by-side layout where each asset is shown with a companion asset that is the background behind the side-by-side.' assets: minItems: 1 type: array items: allOf: - oneOf: - type: object properties: id: default: 735471b9-a4fa-4caf-9e92-19aabb2ae3e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: 735471b9-a4fa-4caf-9e92-19aabb2ae3e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: 735471b9-a4fa-4caf-9e92-19aabb2ae3e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - id - mediaType - type - vendor - uri - vendorParameters additionalProperties: false - type: object properties: companion: oneOf: - type: object properties: id: default: 735471b9-a4fa-4caf-9e92-19aabb2ae3e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: 735471b9-a4fa-4caf-9e92-19aabb2ae3e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: 735471b9-a4fa-4caf-9e92-19aabb2ae3e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - id - mediaType - type - vendor - uri - vendorParameters additionalProperties: false description: Companion asset displayed alongside the primary asset (used by `double` and `lshape_ad` variants). required: - companion additionalProperties: false description: Assets played for this variant, each paired with a companion asset. At least one is required. required: - format - assets additionalProperties: false - type: object properties: targeting: description: 'Optional device targeting for this variant. When a break provides several variants, the player picks the one matching the viewer device. A variant without targeting is considered a default. When several variants qualify (multiple defaults, or multiple variants targeting the same platform), the order in which they are defined decides: the player uses the first variant whose format it can play on the current platform.' type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false format: type: string enum: - lshape_ad description: 'Variant layout discriminator. `lshape_ad`: an L-shaped layout where the ad occupies the L-frame. Each asset has a companion asset that is the background of the L-shaped layout.' assets: minItems: 1 type: array items: allOf: - oneOf: - type: object properties: id: default: 735471b9-a4fa-4caf-9e92-19aabb2ae3e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: 735471b9-a4fa-4caf-9e92-19aabb2ae3e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: 735471b9-a4fa-4caf-9e92-19aabb2ae3e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - id - mediaType - type - vendor - uri - vendorParameters additionalProperties: false - type: object properties: companion: oneOf: - type: object properties: id: default: 735471b9-a4fa-4caf-9e92-19aabb2ae3e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: 735471b9-a4fa-4caf-9e92-19aabb2ae3e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: 735471b9-a4fa-4caf-9e92-19aabb2ae3e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - id - mediaType - type - vendor - uri - vendorParameters additionalProperties: false description: Companion asset displayed alongside the primary asset (used by `double` and `lshape_ad` variants). required: - companion additionalProperties: false description: Assets played for this variant, each paired with a companion asset. At least one is required. required: - format - assets additionalProperties: false - type: object properties: targeting: description: 'Optional device targeting for this variant. When a break provides several variants, the player picks the one matching the viewer device. A variant without targeting is considered a default. When several variants qualify (multiple defaults, or multiple variants targeting the same platform), the order in which they are defined decides: the player uses the first variant whose format it can play on the current platform.' type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false format: type: string enum: - lshape_content description: 'Variant layout discriminator. `lshape_content`: an L-shaped layout where the live content occupies the L-frame.' assets: minItems: 1 type: array items: oneOf: - type: object properties: id: default: 735471b9-a4fa-4caf-9e92-19aabb2ae3e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: 735471b9-a4fa-4caf-9e92-19aabb2ae3e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: 735471b9-a4fa-4caf-9e92-19aabb2ae3e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - id - mediaType - type - vendor - uri - vendorParameters additionalProperties: false description: Assets played for this variant. At least one is required. required: - format - assets additionalProperties: false - type: object properties: targeting: description: 'Optional device targeting for this variant. When a break provides several variants, the player picks the one matching the viewer device. A variant without targeting is considered a default. When several variants qualify (multiple defaults, or multiple variants targeting the same platform), the order in which they are defined decides: the player uses the first variant whose format it can play on the current platform.' type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false format: type: string enum: - overlay description: 'Variant layout discriminator. `overlay`: a visual overlay shown on top of the stream without interrupting playback.' assets: minItems: 1 type: array items: oneOf: - type: object properties: id: default: 735471b9-a4fa-4caf-9e92-19aabb2ae3e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - static description: 'Asset type discriminator. `static`: a direct content reference such as a media or image URL.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'Location of the static asset: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: 735471b9-a4fa-4caf-9e92-19aabb2ae3e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vast description: 'Asset type discriminator. `vast`: a VAST tag URL the player resolves to fetch and render the creative.' uri: anyOf: - type: string format: uri - minItems: 1 type: array items: type: object properties: value: type: string minLength: 1 description: The asset URI for this entry (for example a media or VAST tag URL). targeting: description: Optional device targeting that selects when this URI is used. type: object properties: deviceType: description: Device type this entry targets. When a break provides several variants, the player selects the one matching the viewer device. type: string enum: - desktop - tablet - mobile - tv additionalProperties: false required: - value additionalProperties: false description: 'VAST tag location: either a single URL string, or an array of URL entries each with optional device targeting.' required: - id - mediaType - type - uri additionalProperties: false - type: object properties: id: default: 735471b9-a4fa-4caf-9e92-19aabb2ae3e4 description: Unique identifier of the asset within the break. Provided by the customer or auto-generated as a UUID when omitted. type: string minLength: 1 mediaType: type: string enum: - video - image description: 'Media type of an asset: `video` or `image`.' mimeType: description: MIME type of the asset media (for example `video/mp4`), when known. Allows the player to determine upfront whether it can play this asset; otherwise it has to try, making asset preparation slower. type: string duration: description: Duration of the asset in seconds, when known. Minimum 0. type: number minimum: 0 interaction: description: Optional interaction behavior for the asset, such as a click-through URL. type: object properties: clickThrough: description: Click-through URL opened when the viewer interacts with the ad. Must be a valid URL. type: string format: uri additionalProperties: false type: type: string enum: - vendor description: 'Asset type discriminator. `vendor`: a vendor-managed asset where OptiView manages the delivery and the vendor manages the ad decisioning.' vendor: type: string enum: - gam description: Ad vendor responsible for decisioning and delivery of a vendor asset. Currently only `gam` (Google Ad Manager). uri: default: placeholder description: Vendor asset URI. For Google Ad Manager pod assets the URI is typically unknown at creation and unused downstream; defaults to a placeholder. type: string minLength: 1 vendorParameters: type: object additionalProperties: type: string description: Vendor-specific parameters as a string map. Validated per vendor; for `gam` a `type` field is required (currently only `pod`). assetParameters: description: Optional parameters passed through to the vendor as a string map. For example, for Google Ad Manager these are the `adTagParameters`. type: object additionalProperties: type: string required: - id - mediaType - type - vendor - uri - vendorParameters additionalProperties: false description: Assets shown in the overlay. At least one is required. position: type: object properties: top: description: Distance of the overlay top edge from the top of the viewport, as a fraction between 0 and 1. type: number minimum: 0 maximum: 1 bottom: description: Distance of the overlay bottom edge from the bottom of the viewport, as a fraction between 0 and 1. type: number minimum: 0 maximum: 1 left: description: Distance of the overlay left edge from the left of the viewport, as a fraction between 0 and 1. type: number minimum: 0 maximum: 1 right: description: Distance of the overlay right edge from the right of the viewport, as a fraction between 0 and 1. type: number minimum: 0 maximum: 1 additionalProperties: false description: Overlay position within the viewport. Requires at least one of top or bottom and one of left or right. size: type: object properties: width: type: number minimum: 0 maximum: 1 description: Overlay width as a fraction of the viewport width, between 0 and 1. height: type: number minimum: 0 maximum: 1 description: Overlay height as a fraction of the viewport height, between 0 and 1. required: - width - height additionalProperties: false description: Overlay size as fractions of the viewport. opacity: description: Overlay opacity as a fraction between 0 (fully transparent) and 1 (fully opaque). type: number minimum: 0 maximum: 1 required: - format - assets - position - size additionalProperties: false description: A single break variant, or a list of variants from which the player selects the one matching the viewer device. id: type: string minLength: 1 description: Unique template identifier. name: description: Human-readable display name for the template. type: string channelIds: description: Identifiers of the channels this template is linked to. type: array items: type: string eventIds: description: Identifiers of the events this template is linked to. type: array items: type: string createdAt: type: string description: Timestamp when the template was created, as an ISO 8601 datetime string. required: - variant - id - createdAt additionalProperties: false tags: - Templates summary: Update api templates by template id x-summary-source: derived operationId: patchApiV1TemplatesByTemplateId x-operation-id-source: derived delete: description: Delete a template. parameters: - schema: type: string in: path name: templateId required: true description: Identifier of the template. responses: '204': description: Default Response tags: - Templates summary: Delete api templates by template id x-summary-source: derived operationId: deleteApiV1TemplatesByTemplateId x-operation-id-source: derived components: securitySchemes: basicAuth: type: http scheme: basic description: API key (username) and secret (password). orgId: type: apiKey in: header name: x-org-id description: Organization identifier.