DR MU-online API documentation - v. 1.2

Introduction

MU-online API documentation. The API is used for DR TV.

Asset

Returns files from the database by ids. This controller shold not be directly called, but instead redirected to from the bar-controller.

API Description
OPTIONS api/1.2/asset No documentation available
GET api/1.2/asset/{id}?width={width}&height={height}&crop={crop}&raw={raw}

Returns a given file from the database. If the file is an image it can be scaled. The base normally holds image thumbnails and subtitles. May return 4xx if either the file is not found or invalid parameters are present.

Bar

Binary Asset Resolver. If you need a binary asset, you have to request it at the BAR. See AssetController for support image parameters, which are forwarded.

API Description
OPTIONS api/1.2/bar No documentation available
GET api/1.2/bar/{id}

Redirects to the desired asset. Targets includes images, subtitles and public manifests. Queries are forwarded to the destination.

GET api/1.2/bar/helper/get-image-for-bundle/{id}/{forcechanneloverrideid}

Gets an image for a bundle. Falls back to the image from the override bundle id if specified in forcechanneloverrideid, otherwise it falls back to PrimaryChannel image, if the bundles does not have an image.

GET api/1.2/bar/helper/get-image-for-programcard/{id}/{forcechanneloverrideid}

Gets an image for a programcard. Falls back to series image, then the image from the override bundle id if specified, otherwise to the PrimaryChannel image, if the bundles does not have an image.

Binging

API Description
GET api/1.2/binging?url={url}&binginguserid={binginguserid}&limit={limit}&offset={offset}&bingingtype={bingingtype}

Gets suggested programs related to the supplied url and bingingUserId.

Channel

End point to read channel bundle. Used for live players.

API Description
GET api/1.2/channel/{id}

Return info for a given channel

GET api/1.2/channel/all-active-dr-radio-channels

Return all active radio channels

GET api/1.2/channel/all-active-dr-tv-channels

Gets all active tv channels. DR1, DR2, DR3, DR Ramasjang, DR Ultra and DR K

GET api/1.2/channel/all-active-epg-channels/{channeltype}

Return all active EPG channels from PsDB config.

Configuration

End point to read configuration documents.

API Description
GET api/1.2/configuration/{id}

Read a given configuration. TODO: Remove if no use case.

GET api/1.2/configuration/service-message/{id}

Returns a service message for a given id. If it is enabled otherwise null.

List

Provides end points for lists available for the DRTV applications

API Description
GET api/1.2/list/{id}?limit={limit}&offset={offset}&excludeid={excludeid}

Gets a paged list by either slug or urn.

GET api/1.2/list/view/eventsoverview?limit={limit}&offset={offset}

A list of all current events.

GET api/1.2/list/view/lastchance?limit={limit}&offset={offset}&channel={channel}

TODO add description

GET api/1.2/list/view/mostviewed?channel={channel}&channeltype={channeltype}&limit={limit}&offset={offset}

Gets a paged list of most viewed programcards within the latest 7 days filtered by channel and channeltype. Lists are paged by 12 per default.

GET api/1.2/list/view/news?limit={limit}&offset={offset}

List of news for the news zone

GET api/1.2/list/view/quicksearch/{query}?orderby={orderby}&orderdescending={orderdescending}&limitprograms={limitprograms}&limitepisodes={limitepisodes}

GET api/1.2/list/view/season?id={id}&limit={limit}&offset={offset}

Returns all episodes from the given season.

GET api/1.2/list/view/seasons?id={id}&onlyincludefirstepisode={onlyincludefirstepisode}&limit={limit}&offset={offset}

List of seasons for the given series.

GET api/1.2/list/view/selectedlist?limit={limit}&offset={offset}&channel={channel}

Gets a list of current selected spots. First item with larger image than the following items.

GET api/1.2/list/view/suggestions?programcardid={programcardid}&limit={limit}&offset={offset}&channel={channel}&suggestionstype={suggestionstype}

Gets suggested programs which relates to the supplied programcard id. Standard for not logged in users

GET api/1.2/list/view/theme/{id}?limit={limit}&offset={offset}

Gets a list of specific theme like FIFA World Cup 2014, Danish Elections etc.

GET api/1.2/list/view/themesoverview?limit={limit}&offset={offset}

Overview list of themes. Combines first programcard from each theme into one list. Series information on each MuListItem is info from theme and not from the belonging series. Changed the overview collection only to include repremiere themes according to aggrement with Sille

GET api/1.2/list/view/zones?id={id} No documentation available

Manifest

API Description
GET api/1.2/manifest/{id}

TODO add description

OPTIONS api/1.2/manifest/{id} No documentation available

OEmbed

Return an oEmbed response for the requested program card according to its Asset Kind (AudioResource or VideoResource)

API Description
GET api/1.2/oembed/{url}?maxwidth={maxwidth}&maxheight={maxheight}&autoplay={autoplay}&offset={offset}&intern={intern} No documentation available
GET api/1.2/oembed/auth/{site}/{slug} No documentation available
GET api/1.2/oembed/auth?site={site}&slug={slug} No documentation available
GET api/1.2/oembed/internal?url={url}&maxwidth={maxwidth}&maxheight={maxheight}&autoplay={autoplay}&offset={offset}&intern={intern} No documentation available

Page

Provides end points for all page for the DRTV applications

API Description
GET api/1.2/page/tv/children/front/{channel}

Data for childrenfrontpage TODO is this description enough?

GET api/1.2/page/tv/children/live/{channel}

Data for children live

GET api/1.2/page/tv/children/player/{programcardid}?seriesid={seriesid}&channel={channel}&onlyincludeitemsfromsameseason={onlyincludeitemsfromsameseason}

Data for children player. New in 1.1: now include the selected episode in the relations list.

GET api/1.2/page/tv/children/themes/{channel}?themenamesonly={themenamesonly}&themeitemslimit={themeitemslimit}&themeslug={themeslug}

List of all current children themes.

GET api/1.2/page/tv/front

Endpoint for data necessary to build a DRTV Frontpage

GET api/1.2/page/tv/live/{channel}

Endpoint for livepage

GET api/1.2/page/tv/player/{programcardid}?seriesid={seriesid}&onlyincludeitemsfromsameseason={onlyincludeitemsfromsameseason}

Endpoint for data necessary to build a DRTV Playerpage for a specific episode. New in 1.1: now include the selected episode in the relations list.

GET api/1.2/page/tv/prefetch-search

Search prefetch provider

GET api/1.2/page/tv/programs?onlinegenretexts={onlinegenretexts}&index={index}&channel={channel}&orderby={orderby}&orderdescending={orderdescending}&excludegeofiltered={excludegeofiltered}&assettarget={assettarget}

Endpoint for program page. Only one parameter at a time can be used as filter, except for the two order-parameters.

GET api/1.2/page/tv/programs-search/{query}?onlinegenretexts={onlinegenretexts}&channels={channels}&orderby={orderby}&orderdescending={orderdescending}&limit={limit}&offset={offset}&assettarget={assettarget}

Endpoint for program search page. Searches free text in Series Titles. The series must have one or more programcards with a public asset. The result is ordered alphabetically by series title, unless otherwise is specified in paramters.

GET api/1.2/page/tv/themes?themenamesonly={themenamesonly}

List of all current themes.

ProgramCard

End point to read programcards.

API Description
GET api/1.2/programcard/{id}?productionnumber={productionnumber}&expanded={expanded}

Gets a program card by urn, slug or production number. The production number can only be specified if no id (urn or slug) is specified.

Reporting

This end point is used to register and count content (audio/video) consumption. Each client required to report usage to this controller, or another DR approved method.

API Description
POST api/1.2/reporting/track

Tracks the specified event for a login user. When tracking a logoff event, please track before doing the actual logoff. If the token for the user cannot be validated by SSO and the user is not recognized, the event will be logged without user info

POST api/1.2/reporting/viewed

Increases the viewed hitcount for a programcard. Use to keep most viewed list up to date. All client must call this method once for each play event on a new programcard. Eg. new id. A PLAY->PAUSE->PLAY event chain for the same programcard, should only call this method one time. NOTE: if you are using endpoint /Gemius you should not call this, hitcount will be increased automatically when a FirstPlay-action is sent

OPTIONS api/1.2/reporting/viewed No documentation available

Schedule

End point for EPG/Schedule data.

API Description
GET api/1.2/schedule/{id}?broadcastdate={broadcastdate}&onlinegenretext={onlinegenretext}

Gets a schedule for a given channel and broadcast date.

GET api/1.2/schedule/nownext/{id}

Gets scheduled Now and Next programs for a given id, i.e. channel dr1

GET api/1.2/schedule/nownext-for-all-active-dr-tv-channels

Gets NowNext for all active tv channels. DR1, DR2, DR3, DR Ramasjang, DR Ultra and DR K

API Description
GET api/1.2/search/tv/programcards-latest-episode-with-asset/series-title/{query}?onlinegenretexts={onlinegenretexts}&channels={channels}&orderby={orderby}&orderdescending={orderdescending}&excludegeofiltered={excludegeofiltered}&limit={limit}&offset={offset}&assettarget={assettarget}&excludenondownloadable={excludenondownloadable}

Free text search method. Searches free text in Series Titles. The series must have one or more programcards with a public asset. The result is ordered alphabetically by series title, unless otherwise is specified in paramters.

GET api/1.2/search/tv/programcards-latest-episode-with-asset/series-title-starts-with/{query}?onlinegenretexts={onlinegenretexts}&channels={channels}&orderby={orderby}&orderdescending={orderdescending}&excludegeofiltered={excludegeofiltered}&limit={limit}&offset={offset}&assettarget={assettarget}

Free text search method. Searches Series Titles starting with the supplied query. The series must have one or more programcards with a public asset. The result is ordered alphabetically by series title, unless otherwise is specified in paramters.

GET api/1.2/search/tv/programcards-latest-episode-with-broadcast/series-title/{query}?onlinegenretexts={onlinegenretexts}&channels={channels}&orderby={orderby}&orderdescending={orderdescending}&excludegeofiltered={excludegeofiltered}&limit={limit}&offset={offset}&assettarget={assettarget}

Free text search method. Searches free text in Series Titles. The result is ordered alphabetically by series title, unless otherwise is specified in paramters.

GET api/1.2/search/tv/programcards-latest-episode-with-broadcast/series-title-starts-with/{query}?onlinegenretexts={onlinegenretexts}&channels={channels}&orderby={orderby}&orderdescending={orderdescending}&excludegeofiltered={excludegeofiltered}&limit={limit}&offset={offset}&assettargets={assettargets}

Free text search method. Searches Series Titles starting with the supplied query. The result is ordered alphabetically by series title, unless otherwise is specified in paramters.

GET api/1.2/search/tv/programcards-with-asset/title/{query}?onlinegenretexts={onlinegenretexts}&channels={channels}&orderby={orderby}&orderdescending={orderdescending}&excludegeofiltered={excludegeofiltered}&site={site}&limit={limit}&offset={offset}&assettarget={assettarget}&skiptotalsize={skiptotalsize}&durationminimum={durationminimum}&durationmaximum={durationmaximum}&excludenondownloadable={excludenondownloadable}

Free text search method. Searches free text in programcard Title.

User

NOTE: New User API has been made.
Except for user suggestions which you still can get here, then all other user related operations and resources has move to a new specific DR User API.
You can find documentation for the new API here: https://www.dr.dk/mu-user/api

All user related operations requires HTTPS and all user related operation requires a cookie set by the DR SSO service. This is set by the SSO service on all dr.dk pages
Cookie must be in the following format: Cookie: dr-sso-ticket=ticket=123456789...IsPersistent=0; path=/
Ticket is generated by the dr.dk/login SSO service and if an app needs to call this user api outside dr.dk pages, the request must apply the cookie to the request.

API Description
GET api/1.2/user/suggestions?programcardid={programcardid}&limit={limit}&offset={offset}

Gets suggested programs which relates to the supplied programcard id.