components: examples: {} headers: {} parameters: {} requestBodies: {} responses: {} schemas: IStatus: properties: status: type: string error: type: string nullable: true uptime: type: number format: double timestamp: type: number format: double version: type: string required: - status - error - uptime - timestamp - version type: object additionalProperties: false MonetizedStreamEvent: properties: name: type: string description: type: string startDate: type: string endDate: type: string id: type: string monetizedStream: type: string required: - name - description - startDate - endDate - id - monetizedStream type: object additionalProperties: false PaginationDetails: properties: total_records: type: number format: double current_page: type: number format: double total_pages: type: number format: double next_page: type: number format: double nullable: true prev_page: type: number format: double nullable: true required: - total_records - current_page - total_pages - next_page - prev_page type: object additionalProperties: false StreamEventResponse: properties: monetizedStream: type: string data: items: $ref: '#/components/schemas/MonetizedStreamEvent' type: array pagination: $ref: '#/components/schemas/PaginationDetails' required: - monetizedStream - data - pagination type: object additionalProperties: false ReturnType_typeofStreamEventUpdateSchema.validateSync_: properties: endDate: type: string startDate: type: string description: type: string name: type: string type: object description: Obtain the return type of a function type StreamEventUpdate: $ref: '#/components/schemas/ReturnType_typeofStreamEventUpdateSchema.validateSync_' IStreamEvent: properties: name: type: string description: type: string startDate: type: string endDate: type: string required: - name - description - startDate - endDate type: object additionalProperties: false ResourceType.MONETIZED_STREAM: enum: - monetized-stream type: string MonetizedStreamType: enum: - LIVE - VOD type: string MonetizedStreamLayout: enum: - SINGLE - DOUBLE - LSHAPE_AD - LSHAPE_CONTENT type: string DynamicDetail: properties: {} additionalProperties: type: string type: object AssetKeyDetails: properties: podDuration: type: number format: double eabnAdTagParameters: $ref: '#/components/schemas/DynamicDetail' adBreakSelectionParameters: $ref: '#/components/schemas/DynamicDetail' assetKey: type: string required: - assetKey type: object IGamProperties: properties: iu: type: string sz: properties: tv: type: string phone: type: string default: type: string required: - default type: object required: - iu - sz type: object additionalProperties: false EABNVersion: enum: - V1 - V2 type: string BumperAdDetails: properties: eabnAdTagParameters: $ref: '#/components/schemas/DynamicDetail' type: object IMonetizedStream: properties: name: type: string version: type: string streamId: type: string streamType: $ref: '#/components/schemas/MonetizedStreamType' origin: type: string segmentOrigin: type: string layout: $ref: '#/components/schemas/MonetizedStreamLayout' assetKey: type: string networkCode: type: string originPath: type: string assetURI: type: string backdropURI: type: string backdropURIGamProperties: $ref: '#/components/schemas/IGamProperties' required: - streamId - layout type: object additionalProperties: false IMonetizedStreamApiResponse: properties: id: type: string state: type: string enum: - created - deleted type: $ref: '#/components/schemas/ResourceType.MONETIZED_STREAM' payload: $ref: '#/components/schemas/IMonetizedStream' required: - id - state - type - payload type: object additionalProperties: false ResourceType.MONETIZED_STREAM_REFERENCE_TIME: enum: - monetized-stream-reference-time type: string IMonetizedStreamReferenceTime: properties: date: type: string pts: type: number format: double engineId: type: string required: - date - pts type: object additionalProperties: false IMonetizedStreamReferenceTimeApiResponse: properties: id: type: string type: $ref: '#/components/schemas/ResourceType.MONETIZED_STREAM_REFERENCE_TIME' state: type: string enum: - created - deleted - updated payload: $ref: '#/components/schemas/IMonetizedStreamReferenceTime' required: - id - type - state - payload type: object additionalProperties: false ScteParams: properties: uniqueProgramId: type: number format: double segmentationTypeId: type: number format: double eabnAdTagParameters: $ref: '#/components/schemas/DynamicDetail' type: object additionalProperties: false IMonetizedStreamEarlyReturn: properties: date: type: string pts: type: number format: double id: type: string duration: type: string spliceEvent: $ref: '#/components/schemas/ScteParams' engineId: type: string required: - date type: object additionalProperties: false IMonetizedStreamUpdate: properties: name: type: string version: type: string streamType: $ref: '#/components/schemas/MonetizedStreamType' origin: type: string segmentOrigin: type: string layout: $ref: '#/components/schemas/MonetizedStreamLayout' originPath: type: string assetURI: type: string backdropURI: type: string backdropURIGamProperties: $ref: '#/components/schemas/IGamProperties' type: object additionalProperties: false ResourceType.AD_BREAK: enum: - adbreak type: string AdBreakInsertionType: enum: - REPLACE - INSERT type: string SignaledAdBreakStatus: enum: - new - future - signaled - finished - error - continuous type: string AdbreakInternalType: enum: - BUMPER - ORIGINAL type: string LifeCycle: enum: - NEW - FUTURE - ERROR - SCHEDULED - DECISIONED - COMPLETED - ENDED type: string IAdBreak: properties: id: type: string startDate: type: string endDate: type: string format: date-time nullable: true duration: type: number format: double source: type: string layout: $ref: '#/components/schemas/MonetizedStreamLayout' assetURI: type: string status: $ref: '#/components/schemas/SignaledAdBreakStatus' asset_key: type: string network_code: type: string backdropURI: type: string backdropURIGamProperties: $ref: '#/components/schemas/IGamProperties' startPts: type: number format: double name: type: string required: - id - startDate type: object additionalProperties: false IAdBreakApiResponse: properties: payload: $ref: '#/components/schemas/IAdBreak' type: $ref: '#/components/schemas/ResourceType.AD_BREAK' state: type: string enum: - created - deleted id: type: string required: - payload - type - state - id type: object IAdBreaksApiResponse: properties: payload: items: $ref: '#/components/schemas/IAdBreak' type: array type: $ref: '#/components/schemas/ResourceType.AD_BREAK' state: type: string enum: - created - deleted id: type: string required: - payload - type - state - id type: object IAdBreakUpdate: properties: startDate: type: string endDate: type: string format: date-time nullable: true duration: type: number format: double source: type: string layout: $ref: '#/components/schemas/MonetizedStreamLayout' assetURI: type: string status: $ref: '#/components/schemas/SignaledAdBreakStatus' asset_key: type: string network_code: type: string backdropURI: type: string backdropURIGamProperties: $ref: '#/components/schemas/IGamProperties' startPts: type: number format: double name: type: string type: object additionalProperties: false OverlayTypes: enum: - image type: string OverlayURITypes: enum: - png - svg type: string IOverlay: properties: name: type: string id: type: string startDate: type: string endDate: type: string duration: type: number format: double type: $ref: '#/components/schemas/OverlayTypes' position: properties: bottom: type: number format: double top: type: number format: double right: type: number format: double left: type: number format: double type: object size: properties: height: type: number format: double width: type: number format: double required: - height - width type: object opacity: type: number format: double gamProperties: $ref: '#/components/schemas/IGamProperties' resourceURI: items: properties: tv: type: string phone: type: string default: type: string type: $ref: '#/components/schemas/OverlayURITypes' required: - default - type type: object type: array clickThroughURI: type: string required: - id - startDate - duration - type - position - size type: object additionalProperties: false IOverlayApiResponse: properties: id: type: string state: type: string enum: - created - deleted type: type: string enum: - overlay nullable: false payload: $ref: '#/components/schemas/IOverlay' required: - id - state - type - payload type: object additionalProperties: false IOverlaysApiResponse: properties: id: type: string state: type: string enum: - created - deleted type: type: string enum: - overlay nullable: false payload: items: $ref: '#/components/schemas/IOverlay' type: array required: - id - state - type - payload type: object additionalProperties: false ScteParamsResponse: properties: uniqueProgramId: type: number format: double segmentationTypeId: type: number format: double eabnAdTagParameters: $ref: '#/components/schemas/DynamicDetail' id: type: string required: - id type: object additionalProperties: false IScteParamMappingApiResponse: properties: data: items: $ref: '#/components/schemas/ScteParamsResponse' type: array required: - data type: object additionalProperties: false MonetizedStreamApiResponse: properties: data: items: $ref: '#/components/schemas/IMonetizedStream' type: array pagination: $ref: '#/components/schemas/PaginationDetails' required: - data - pagination type: object additionalProperties: false AdbreakApiResponse: properties: data: items: $ref: '#/components/schemas/IAdBreak' type: array pagination: $ref: '#/components/schemas/PaginationDetails' required: - data - pagination type: object additionalProperties: false OverlayApiResponse: properties: data: items: $ref: '#/components/schemas/IOverlay' type: array pagination: $ref: '#/components/schemas/PaginationDetails' required: - data - pagination type: object additionalProperties: false ReturnType_typeofISharedTemplateSchema.validateSync_: properties: metadata: $ref: '#/components/schemas/DynamicDetail' backdropURI: type: string assetURI: type: string layout: $ref: '#/components/schemas/MonetizedStreamLayout' source: type: string duration: type: number format: double name: type: string type: object description: Obtain the return type of a function type ISharedTemplateType: $ref: '#/components/schemas/ReturnType_typeofISharedTemplateSchema.validateSync_' ReturnType_typeofTemplateAssignmentSchema.validateSync_: properties: templateId: type: string type: object description: Obtain the return type of a function type TemplateAssignmentType: $ref: '#/components/schemas/ReturnType_typeofTemplateAssignmentSchema.validateSync_' ReturnType_typeofAssignedTemplateDataSchema.validateSync_: properties: notReadyReason: type: string isReady: type: boolean metadata: $ref: '#/components/schemas/DynamicDetail' backdropURI: type: string assetURI: type: string layout: $ref: '#/components/schemas/MonetizedStreamLayout' source: type: string duration: type: number format: double name: type: string type: object description: Obtain the return type of a function type AssignedTemplateDataType: $ref: '#/components/schemas/ReturnType_typeofAssignedTemplateDataSchema.validateSync_' TemplateAssignmentMultipleResponse: properties: eventId: type: string monetizedStream: type: string templates: items: $ref: '#/components/schemas/AssignedTemplateDataType' type: array pagination: $ref: '#/components/schemas/PaginationDetails' required: - eventId - monetizedStream - templates - pagination type: object additionalProperties: false ReturnType_typeofTemplateAssignmentSingleResponseSchema.validateSync_: properties: template: properties: id: type: string notReadyReason: type: string isReady: type: boolean metadata: $ref: '#/components/schemas/DynamicDetail' backdropURI: type: string assetURI: type: string layout: $ref: '#/components/schemas/MonetizedStreamLayout' source: type: string duration: type: number format: double name: type: string type: object monetizedStream: type: string eventId: type: string id: type: string type: object description: Obtain the return type of a function type TemplateAssignmentSingleResponseType: $ref: '#/components/schemas/ReturnType_typeofTemplateAssignmentSingleResponseSchema.validateSync_' ReturnType_typeofAssignedTemplateDataUpdateSchema.validateSync_: properties: metadata: $ref: '#/components/schemas/DynamicDetail' backdropURI: type: string assetURI: type: string layout: $ref: '#/components/schemas/MonetizedStreamLayout' source: type: string duration: type: number format: double name: type: string type: object description: Obtain the return type of a function type AssignedTemplateDataUpdateType: $ref: '#/components/schemas/ReturnType_typeofAssignedTemplateDataUpdateSchema.validateSync_' ReturnType_typeofSharedTemplateSchema.validateSync_: properties: id: type: string notReadyReason: type: string isReady: type: boolean metadata: $ref: '#/components/schemas/DynamicDetail' backdropURI: type: string assetURI: type: string layout: $ref: '#/components/schemas/MonetizedStreamLayout' source: type: string duration: type: number format: double name: type: string type: object description: Obtain the return type of a function type SharedTemplateType: $ref: '#/components/schemas/ReturnType_typeofSharedTemplateSchema.validateSync_' SharedTemplateResponse: properties: data: items: $ref: '#/components/schemas/SharedTemplateType' type: array pagination: $ref: '#/components/schemas/PaginationDetails' required: - data - pagination type: object additionalProperties: false ISharedTemplate: properties: name: type: string duration: type: number format: double source: type: string layout: $ref: '#/components/schemas/MonetizedStreamLayout' assetURI: type: string backdropURI: type: string metadata: properties: {} additionalProperties: type: string type: object required: - name type: object additionalProperties: false ISharedTemplateUpdate: properties: duration: type: number format: double source: type: string layout: $ref: '#/components/schemas/MonetizedStreamLayout' assetURI: type: string backdropURI: type: string metadata: properties: {} additionalProperties: type: string type: object type: object additionalProperties: false securitySchemes: apiKeyAuth: type: apiKey name: X-API-KEY in: header info: title: THEOads Api version: 25.9.0 description: The THEOads REST API allows you to create and manage monetized streams, which are deployments of signaling services. Each monetized stream corresponds to an origin stream that is monetized using THEOads (SGAI). For detailed information on the various parameters and their usage, please refer to the getting started guide. license: name: UNLICENSED contact: {} openapi: 3.0.0 paths: /v1/monetized-streams: get: operationId: GetMonetizedStreams responses: '200': description: List of monetized streams content: application/json: schema: anyOf: - items: $ref: '#/components/schemas/IMonetizedStreamApiResponse' type: array - type: string description: Retrieves all created and deployed monetized streams (signaling services) along with their configurations. tags: - Monetized-Stream security: [] parameters: [] post: operationId: CreateMonetizedStream responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/IMonetizedStreamApiResponse' description: Creates and deploys a new monetized stream in the environment, resulting in a deployment of a signaling service. tags: - Monetized-Stream security: [] parameters: [] requestBody: description: The monetized stream configuration required: true content: application/json: schema: $ref: '#/components/schemas/IMonetizedStream' description: The monetized stream configuration /v1/monetized-streams/{monetizedStreamId}: get: operationId: GetMonetizedStream responses: '200': description: A monetized stream content: application/json: schema: $ref: '#/components/schemas/IMonetizedStreamApiResponse' description: Retrieves a single monetized stream (signaling service) based on its identifier, along with its configuration details. tags: - Monetized-Stream security: [] parameters: - description: The Monetized stream identifier. in: path name: monetizedStreamId required: true schema: type: string patch: operationId: UpdateMonetizedStream responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/IMonetizedStreamApiResponse' description: Updates a single monetized stream (signaling service) based on its identifier, along with its configuration update. tags: - Monetized-Stream security: [] parameters: - description: The Monetized stream identifier. in: path name: monetizedStreamId required: true schema: type: string requestBody: description: The monetized stream configuration update required: true content: application/json: schema: $ref: '#/components/schemas/IMonetizedStreamUpdate' description: The monetized stream configuration update delete: operationId: DeleteMonetizedStream responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/IMonetizedStreamApiResponse' description: Deletes a single monetized stream (signaling service) based on its identifier. tags: - Monetized-Stream security: [] parameters: - description: The Monetized stream identifier. in: path name: monetizedStreamId required: true schema: type: string /v1/monetized-streams/{monetizedStreamId}/layout: patch: operationId: UpdateMonetizedStreamLayout responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/IMonetizedStreamApiResponse' description: Updates the default layout for an existing monetized stream (signaling service). tags: - Monetized-Stream security: [] parameters: - description: The Monetized stream identifier. in: path name: monetizedStreamId required: true schema: type: string requestBody: description: The layout configuration required: true content: application/json: schema: properties: layout: $ref: '#/components/schemas/MonetizedStreamLayout' required: - layout type: object description: The layout configuration /v1/monetized-streams/{monetizedStreamId}/break: post: operationId: CreateMonetizedStreamBreak responses: '201': description: Created content: application/json: schema: anyOf: - $ref: '#/components/schemas/IAdBreakApiResponse' - type: string description: Creates an ad break on an existing monetized stream (signaling service). tags: - Monetized-Stream security: [] parameters: - description: The Monetized stream identifier. in: path name: monetizedStreamId required: true schema: type: string requestBody: description: The ad break configuration required: true content: application/json: schema: $ref: '#/components/schemas/IAdBreak' description: The ad break configuration get: operationId: GetMonetizedStreamBreaks responses: '200': description: A monetized stream content: application/json: schema: anyOf: - $ref: '#/components/schemas/IAdBreaksApiResponse' - type: string description: Retrieves all adbreaks linked to the monetized sctream tags: - Monetized-Stream security: [] parameters: - description: The Monetized stream identifier. in: path name: monetizedStreamId required: true schema: type: string /v1/monetized-streams/{monetizedStreamId}/break/{adbreakId}: delete: operationId: DeleteMonetizedStreamBreaks responses: '200': description: An abreak content: application/json: schema: $ref: '#/components/schemas/IAdBreakApiResponse' description: Deletes an adbreak linked to the monetized sctream tags: - Monetized-Stream security: [] parameters: - description: The Monetized stream identifier. in: path name: monetizedStreamId required: true schema: type: string - description: The adbreak identifier. in: path name: adbreakId required: true schema: type: string patch: operationId: UpdateMonetizedStreamBreaks responses: '200': description: An adbreak content: application/json: schema: $ref: '#/components/schemas/IAdBreakApiResponse' description: Patches an adbreak linked to the monetized sctream tags: - Monetized-Stream security: [] parameters: - description: The Monetized stream identifier. in: path name: monetizedStreamId required: true schema: type: string - description: The adbreak identifier. in: path name: adbreakId required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/IAdBreakUpdate' /v1/monetized-streams/{monetizedStreamId}/overlay: post: operationId: CreateMonetizedStreamOverlay responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/IOverlayApiResponse' description: Creates an overlay on an existing monetized stream (signaling service). tags: - Monetized-Stream security: [] parameters: - description: The Monetized stream identifier. in: path name: monetizedStreamId required: true schema: type: string requestBody: description: The overlay configuration required: true content: application/json: schema: $ref: '#/components/schemas/IOverlay' description: The overlay configuration get: operationId: GetMonetizedStreamOverlays responses: '200': description: A monetized stream content: application/json: schema: anyOf: - $ref: '#/components/schemas/IOverlaysApiResponse' - type: string description: Retrieves all overlays linked to the monetized sctream tags: - Monetized-Stream security: [] parameters: - description: The Monetized stream identifier. in: path name: monetizedStreamId required: true schema: type: string /v1/monetized-streams/{monetizedStreamId}/overlay/{overlayId}: delete: operationId: DeleteMonetizedStreamOverlay responses: '200': description: A monetized stream content: application/json: schema: $ref: '#/components/schemas/IOverlayApiResponse' description: Deletes an overlay linked to the monetized sctream tags: - Monetized-Stream security: [] parameters: - description: The Monetized stream identifier. in: path name: monetizedStreamId required: true schema: type: string - in: path name: overlayId required: true schema: type: string /v2/monetized-streams: get: operationId: GetMonetizedStreamsPaginated responses: '200': description: Ok content: application/json: schema: anyOf: - $ref: '#/components/schemas/MonetizedStreamApiResponse' - type: string tags: - Monetized-Stream-V2 security: [] parameters: - in: query name: limit required: false schema: format: double type: number - in: query name: skip required: false schema: format: double type: number /v2/monetized-streams/{monetizedStreamId}/break: get: operationId: GetMonetizedStreamBreaksPaginated responses: '200': description: A monetized stream content: application/json: schema: anyOf: - $ref: '#/components/schemas/AdbreakApiResponse' - type: string description: Retrieves all adbreaks linked to the monetized stream tags: - Monetized-Stream-V2 security: [] parameters: - description: The Monetized stream identifier. in: path name: monetizedStreamId required: true schema: type: string - in: query name: limit required: false schema: format: double type: number - in: query name: skip required: false schema: format: double type: number /v2/monetized-streams/{monetizedStreamId}/overlay: get: operationId: GetMonetizedStreamOverlaysPaginated responses: '200': description: A monetized stream content: application/json: schema: anyOf: - $ref: '#/components/schemas/OverlayApiResponse' - type: string description: Retrieves all overlays linked to the monetized sctream tags: - Monetized-Stream-V2 security: [] parameters: - description: The Monetized stream identifier. in: path name: monetizedStreamId required: true schema: type: string - in: query name: limit required: false schema: format: double type: number - in: query name: skip required: false schema: format: double type: number servers: - url: /ads-client/api