OpenTV ENTera & OpenTV Platform Documentation

Retrieve series recordings and requests

Request

To retrieve series recordings and/or requests for the user, send a GET request to:

https://<host>:<port>/cdvr/v2/seriesrecordings

This API supports:

  • Limiting the number of records returned

  • Paging

  • Filtering the results

There are also endpoints for:

Headers

  • Content-Type: application/json

  • Authorisation

Mandatory arguments

None

Other arguments (in URL)

  • limit – the number of records to return

  • page – the page number to return (cannot be used without limit)
    For example:

    • ?limit=10 returns the first 10 recordings.

    • ?limit=10&page=2 returns the second 10 recordings.

  • filter – a generic filter that allows you to filter the results based on the value of any field

  • ignoreRecording – if true, the response only includes series details. It does not include the recordings themselves. The default is false.

Response

A successful request returns an HTTP 200 status.

A bad request returns an HTTP 400 status.

An unauthorised request returns an HTTP 401 status.

Example

A successful request returns a payload that looks like this:

{
  "totalRecords": 1,
  "seriesRecordingSet": [
    {
      "id": "7c589755-dbdf-434f-a6a8-666fdac06d28",
      "seriesId": "GameOfThrones",
      "seriesType": "SEASON",
      "channelId": "bbc1",
      "isMaybeMissingEpisodes": true,
      "recordingOptions": [
        "ALL_EPISODES",
        "DONT_RERECORD_DELETED_EPISODES"
      ],
      "missedEpisodes": [
        {
          "reason": "LACK_OF_QUOTA",
          "episodeNumber": 1,
          "seasonNumber": 2,
          "contentRef": "content_xyz",
          "seriesRef": "ser_xyz",
          "seasonRef": "ep_abc",
          "contentLinkId": "content_xyz"
        }
      ],
      "images": {
        "image_poster": "poster.jpg",
        "image_title": "got_title.jpeg",
        "image_series": "got_series.jpg"
      },
      "metadata": {
        "en_GB": {
          "title": "Game of Thrones",
          "description": "GOT McLane blah blah blah",
          "synopsis": "GOT McLane blah blah blah"
        }
      },
      "recordings": {
        "totalRecords": 1,
        "recordingSet": [
          {
            "id": "7c589755-dbdf-434f-a6a8-666fdac06d28",
            "eventId": "eastenders_10297",
            "start": "2018-10-19T01:00:00.000Z",
            "end": "2018-10-19T01:30:00.000Z",
            "captureStart": "2018-10-19T01:00:00.000Z",
            "captureEnd": "2018-10-19T01:30:00.000Z",
            "status": "RECORDED",
            "channelId": "bbc1",
            "duration": 1800,
            "seriesRecordingId": "Friends",
            "captureDuration": 1800,
            "csaiEnabled": true,
            "csaiAdCueTimes": [
              {
                "timeOffset": 0,
                "adDuration": 0
              }
            ],
            "availability": {
              "start": "2018-10-19T01:01:01.001Z",
              "end": "2999-10-19T01:01:01.001Z"
            },
            "contentId": "eastenders_10297c",
            "contentType": "movie",
            "seriesId": "Friends",
            "seasonId": "Friends Season 1",
            "isReschedule": true,
            "isProtected": true,
            "productRefs": [
              "productRefOne"
            ],
            "Categories": [
              "News",
              "Sports"
            ],
            "tvChannel": "Channel Number : 500 ",
            "ratingPrecedence": {
              "predecessor": "12",
              "successor": "15"
            },
            "playback": {
              "iPad": {
                "drmId": "d1",
                "uri": "/xyz/a.ts"
              },
              "Android": {
                "drmId": "d2",
                "uri": "/xyz/b.ts"
              }
            },
            "images": {
              "additionalProp1": "string",
              "additionalProp2": "string",
              "additionalProp3": "string"
            },
            "tmsId": "EP021174500086",
            "InHomeBlockingRequired": false,
            "guardTime": {
              "startSecs": 0,
              "endSecs": 0,
              "source": "CONFIG"
            },
            "isPartiallyRecorded": false,
            "metadata": {
              "en_GB": {
                "title": "Die Hard",
                "description": "John McLane blah blah blah",
                "synopsis": "John McLane blah blah blah"
              }
            },
            "creationDate": "2018-10-19T01:00:00.000Z",
            "modifiedDate": "2018-10-19T01:00:00.000Z",
            "isjitp": true,
            "sourceId": "SOURCE1",
            "networkLocation": "string",
            "failureReason": "string"
          }
        ]
      }
    }
  ]
}

Note that the response includes a list of missed episodes (if there are any) – that is, episodes that could not be recorded, for example, due to lack of quota.

See also

For full details of this API, see NPVR User Recordings API documentation v2.