Skip to main content
Skip table of contents

Creating a technical channel

Request

To create a technical channel, send a POST request to:

CODE
https://<host>:<port>/metadata/content/v1/technicalChannels

Headers

  • Content-Type: application/json

Mandatory arguments

All of the following arguments are part of the request body:

  • Either:
    • id – the ID of the technical channel, or
    • Both providerId and providerResourceId
  • name – the channel name
  • editorialChannelRef – reference to the editorial channel that this technical channel belongs to:
    • Either:
      • id – the ID of the editorial channel, or
      • Both providerId and providerResourceId

Other arguments

The following arguments (all in the request body) are all optional.

However, they may be required by ION (if you are using it). These are indicated with an asterisk (*).

  • deliveryUri – the location of the A/V stream of the channel on the network. Holds the URL for adaptive streaming.

  • start – resource start date in ISO 8601 format
  • end – resource end date in ISO 8601 format
  • isFreeToAir – whether the channel is free-to-air or not. This is used by client applications to determine how and when to apply parental controls to the channel's events (only applicable for certain parental control bodies).

  • isMandatoryContentProtection –whether client apps are required to enforce parental control for playback for the channel (typically for non-free-to-air channels). This is used by client applications to determine how and when to apply parental controls to the channel's events (only applicable for certain parental control bodies).
  • metadataSet* – a set of locale-specific metadata blocks, each of which has:
    • locale* – the locale for the metadata element. If locale is set to none, the metadata block that it applies to is the default – it is the one that is used if there is no metadata block for the user's locale.
    • metadata* – a block containing one or more key/value pairs in the following form:

      CODE
      [{
         "key": "<key_name>",
         "value": "<value>"
      }]

      You can add whatever keys you require. However, the following key/value pairs are required:

      • Title – the channel title
      • ChannelNumber* – channel number
      • ShortName – short name for the channel
  • securityInfo – a set of data related to a specific security device (CAS, DRM):
    • idDRM or CAS ID of the element for the specified security device (DRM or CAS)
    • securityDeviceId – ID of the security device (CAS or DRM) assigned to the content
    • sessionGroupId – ID of the session group assigned to the channel (used for channel group session limits)
    • usageRule – the usage rule profile to apply to the channel. See Managing usage rules (live).
    • qmWaterMark – whether QuickMark watermarking should be enabled for the channel (true or false)
    • cdnTokenDetails – CDN details for CDN token protection
      • cdnType – the CDN type (e.g., Broadpeak)
      • cdnId – the CDN ID (e.g., brdpk_cdn_id1)
    • metadataSet – a block containing one or more key/value pairs in the following form:

      CODE
      [{
         "key": "<key_name>",
         "value": "<value>"
      }]

      You can add whatever keys you require.

  • profileIdSet – IDs of profiles that apply to the channel (semicolon-delimited)
  • timeShifting* – enables or disables timeshifting for the channel. The following can be enabled/disabled individually:

    Note that if one of these flags is set to true for both an editorial channel and a corresponding technical channel, a setting of false on an event will override the setting for that event only.

    See Setting active status for catch-up, start-over and NPVR for more information.

    • shortTermCatchUpSupport– enables/disables short-term catchup (true or false)

    • shortTermCatchUpParameters  – STCU parameters:
      • sourceId – the URI of the rolling buffer that provides STCU access. 
      • validityStartOffset – offset from any short-term catch-up event end, allowing to define the start validity of the corresponding short-term catch-up contents (compliant to ISO 8601 standard)
      • validityDuration – validity duration from any short-term catch-up contents start, allowing to define the end validity of the corresponding short-term catch-up contents (compliant to ISO 8601 standard)
    • longTermCatchUpSupport– enables/disables long-term catch-up (true or false)

    • longTermCatchUpParameters – LTCU parameters:
      • sourceId – identifier of the source stream to be recorded (ID or URI).

      • validityStartOffset – offset from any long-term catch-up event end, allowing to define the start validity of the corresponding long-term catch-up contents (compliant to ISO 8601 standard)
      • validityDuration – validity duration from any long-term catch-up contents start, allowing to define the end validity of the corresponding long-term catch-up contents (compliant to ISO 8601 standard)
      • purgeGracePeriod – offset from the technical content end date used to set the minimum purge date of the record. Positive value (compliant to ISO 8601 standard).
    • startOverSupport – enables/disabled start-over (true or false)

    • startOverParameters – start-over parameters:
      • startOverDeliveryUri – specifies the template used to build the start over playout delivery URL.
    • networkPvrSupport – enables/disables network PVR (true or false)
    • networkPvrParameters – NPVR parameters:
      • sourceId – identifier of the rolling buffer stream providing Network PVR access
      • validityDuration – validity duration from any NPVR contents start, allowing to define the end validity of the corresponding NPVR contents (compliant to ISO 8601 standard)
  • dynamicRange – the dynamic range(s) of the channel. Required for QuickMark watermarking.
    Allowed values include but are not limited to: SDR, HDR10, HDR10+, HLG, and DV. Multiple values are allowed. The default is SDR.
  • rights – a set of properties describing the consumption capabilities of a content:
    • storageAllowed – specifies whether download is permitted for content captured from the channel (true or false).
      Note that OpenTV Video Platform does not yet provide authorisation services for downloaded content. This flag indicates that clients can download content, as long as authorisation is handled by a third-party system.

Example

A POST request with this payload creates the specified technical channel:

CODE
{
   "id": "BE2",
   "providerId": "OPERATOR",
   "providerResourceId": "BE2_HLS",
   "name": "BE2_HLS",
   "editorialChannelRef": 
   {
         "providerId": "OPERATOR",
         "providerResourceId": "BE2"
   }
}

Response

A successful request returns an HTTP 201 status. The response contains the URI of the newly-created editorial channel.

A bad request returns an HTTP 400 status.

See also

For full details of this API, see Content and Product Manager (CPM) API documentation: content v1.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.