openapi: 3.2.0 info: description: "\nThis API provides you different TV related content services. Currently there are 3 main calls with some of them have successive calls. The data provided consists of JSON formatted text mainly related to TV content metadata. This data can be used to enrich all sort of platforms with actual TV data.\n### Key highlights\n- **Sandbox:** full-fledged capabilities.\n- **Security:** HTTPS, Oauth\n- **Versioning:** supports version-less API, version tight. If no version is provided (in header) it defaults to latest version. \n## [Source view](https://app.swaggerhub.com/apis/kpn/tv-guide-kpn/)
[Documentation view](https://app.swaggerhub.com/apis-docs/kpn/tv-guide-kpn/)\n---\n## [KPN API Store](https://developer.kpn.com/)
[Getting Started](https://developer.kpn.com/getting-started)\n---" version: '1.0' title: TV Guide - KPN Item API contact: name: API Support email: api_developer@kpn.com url: https://developer.kpn.com/support termsOfService: https://developer.kpn.com/legal servers: - url: https://api-prd.kpn.com/media/kpn/itv tags: - name: Item description: Detailed descriptions of the content paths: /{channel}/kpn/CONTENT/DETAIL/{contentType}/{contentId}: get: tags: - Item summary: content details description: Get's the detailed description of the content identified as contentId security: - oauth2: [] parameters: - $ref: '#/components/parameters/path_channel' - $ref: '#/components/parameters/path_contenttype' - $ref: '#/components/parameters/path_contentid' - $ref: '#/components/parameters/header_api_version' - $ref: '#/components/parameters/query_api_version' responses: '200': $ref: '#/components/responses/content_detail' '302': $ref: '#/components/responses/found' '400': $ref: '#/components/responses/bad_request' '401': $ref: '#/components/responses/unauthorized' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/not_found' '429': $ref: '#/components/responses/too_many' '500': $ref: '#/components/responses/server_error' '503': $ref: '#/components/responses/service_unavailable' components: parameters: path_channel: in: path name: channel description: Any valid platform schema: type: string enum: - pctv - ios - android - stb - chromecast - smarttv required: true header_api_version: in: header name: api-version schema: type: string description: API Version. If no version is provided it defaults to latest version. path_contentid: in: path name: contentId description: The unique content identifier. schema: type: integer required: true path_contenttype: in: path name: contentType description: Identifier of the content type. schema: type: string enum: - PROGRAM - VOD required: true query_api_version: in: query name: api-version schema: type: string description: API Version. If no version is provided it defaults to latest version. responses: forbidden: description: forbidden content: application/json: schema: $ref: '#/components/schemas/error' content_detail: description: result object with all the content that satisfies the /CONTENT/DETAIL criteria content: application/json: schema: type: object properties: total: type: integer containers: type: array items: $ref: '#/components/schemas/container' not_found: description: not found content: application/json: schema: $ref: '#/components/schemas/error' found: description: Found content: application/json: schema: type: object too_many: description: too many requests content: application/json: schema: $ref: '#/components/schemas/error' bad_request: description: Bad request content: application/json: schema: $ref: '#/components/schemas/error' unauthorized: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/error' service_unavailable: description: service unavailable content: application/json: schema: $ref: '#/components/schemas/error' server_error: description: server error content: application/json: schema: $ref: '#/components/schemas/error' schemas: container: type: object description: A Container represents one of the objects returned by the AGL Nanoservice. This container is used to link together all the page composition information related to the object itself. The attribute "metadata" contains the original object attributes, while layout, actions and retrieveItems are the attributes needed to correctly render the object in the given Client App UI. properties: id: type: string description: unique id of a container layout: type: string description: 'Layout template needed from a client to show this container data. The layout templates list is shared between the client applications and the AGL. For a list of valid layout values please look at each specific NanoService page.' proeprties: description: multigeo properties. type: object properties: propertyName: type: string description: Name for multigeo properties example: UK metadata: type: object description: generic object API dependent actions: description: list of actions to be executed client side when a certain event occurs type: array items: type: object properties: key: description: action key. Describes action type. Keys are API dependant and thus they are described on each api Interface Agreement page type: string example: - onClick - onFocus - onPlay url: description: an URI relative to the AGL base path. type: string example: /CONTENT/DETAIL/VOD/500 targetType: description: the target page to be opened when performing the action described on the "key" parameter. the "uri" will return the Container instance to be used to configure the new page. type: string retrieveItems: type: object description: object describing how to retrieve the subitems of this container in case it's needed (node content). This field is normally used by the PAGE/MENU api. properties: url: type: string description: 'An URI relative to the AGL base path. This uri has to be executed in order to retrieve this Container subitems. REMOTE - items need to be retrieved remotly executing the given uri LOCAL - items need to be retrieved with a client local orchestration' type: type: string description: specify the kind of orchestration to be performed client side enum: - REMOTE - LOCAL containers: type: array description: A node content may have its subitems loaded dynamically (retrieveItems field) or statically (containers field). If this field is valorized it will contain this content subitems. items: type: object description: Container object error: type: object properties: transactionId: type: string description: transaction id of the the request title: Transaction ID status: type: string description: Status title: Status name: type: string description: Error name title: Error name message: type: string description: Error message title: Error message info: type: string description: Additional information about error title: Info securitySchemes: oauth2: type: oauth2 flows: clientCredentials: tokenUrl: https://api-prd.kpn.com/oauth/client_credential/accesstoken?grant_type=client_credentials