Creating a technical channel
Request
To create a technical channel, send a POST request to:
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
andproviderResourceId
name
– the channel nameeditorialChannelRef
– reference to the editorial channel that this technical channel belongs to:- Either:
id
– the ID of the editorial channel, or- Both
providerId
andproviderResourceId
- Either:
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 formatend
– resource end date in ISO 8601 formatisFreeToAir
– 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-specificmetadata
blocks, each of which has:locale*
– the locale for themetadata
element. If locale is set to none, themetadata
block that it applies to is the default – it is the one that is used if there is nometadata
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 titleChannelNumber*
– channel numberShortName
– short name for the channel
securityInfo
– a set of data related to a specific security device (CAS, DRM):id
– DRM 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 contentsessionGroupId
– 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
orfalse
)cdnTokenDetails
– CDN details for CDN token protectioncdnType
– 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 offalse
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).
s
tartOverSupport
– enables/disabled start-over (true or false)-
startOverParameters
– start-over parameters:startOverDeliveryUri
– specifies the template used to build the start over playout delivery URL.
n
etworkPvrSupport
– enables/disables network PVR (true or false)-
networkPvrParameters
– NPVR parameters:sourceId
– identifier of the rolling buffer stream providing Network PVR accessvalidityDuration
– 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
, andDV
. Multiple values are allowed. The default isSDR
.
Example
A POST request with this payload creates the specified technical channel:
{
"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.