OpenTV ENTera & OpenTV Platform Documentation

Ingesting a node link

Request

To create a node links, that is, to add a contents or content group to a node, send a POST request to:

Bash
https://<host>:<port>/metadata/content/v1/nodeLinks/

A content can only belong to one node.

If a content for which you are creating a node link already belongs to a node, this request will move it to the specified node.

Headers

  • Content-Type: application/json

Mandatory arguments

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

  • Either:

    • id – the ID of the node link, or

    • Both providerId and providerResourceId

  • nodeRefSet – the node to which to add the content. This is either:

    • id – the ID of the node, or

    • Both providerId and providerResourceId

  • resourceRef – the content or content group to be added to the node:

    • Either:

      • id – the ID of the content, or

      • Both providerId and providerResourceId

    • type – the content type. One of:

      • editorialContent

      • contentGroup

      • dynamicContentGroup

Other arguments

  • name – the node link's name

  • start – the node link’s validity start date, in ISO 8601 format up to the second and including the “Z” GMT time zone indicator.

  • end – the node link’s validity end date, in ISO 8601 format up to the second and including the “Z” GMT time zone indicator.

  • 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:

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

      You can add whatever keys you require.

  • publishToEndUser – whether the node should be published to end users (true or false).

  • technicalType – the supported playable asset type (technical type), for example, HD, SD, or DASH

  • previewDate – the preview date of the node link

The following fields are set internally by CPM and should not be used in this request:

  • creationDate

  • lastModificationDate

  • self

  • statusPerExportSet

  • preferenceSet

  • lastContentAdded

Example

A POST request with this payload creates a new node link, that is, it adds the specified editorial content to the node called movies:

JSON
{
  "nodeRefSet": [
    {
      "id": "movies"
    }
  ],
  "resourceRef": {
    "id": "2318736712",
    "type": "editorialContent"
  },
  "publishToEndUser": true,
  "start": "2025-05-31T06:10:30Z",
  "end": "2027-05-31T06:10:30Z",
  "id": "42983148143"
  "name": "string",
  "technicalType": "HD"
}

Response

A successful request returns an HTTP 201 status. The response body contains the URI of the newly-created node link.

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.