Tabs Tab 1 of 1 Card Nuori Morse (12) Pointer: yle-tv1.json (player) 1 control, 3 labels Card JSON{
"controls": [
{
"backgroundColor": "#E90E43",
"destination": {
"authentication": [
"yle-api"
],
"type": "player",
"uri": "https://areena.api-test.yle.fi/v1/ui/players/yle-tv1.json?language=fi&v=10&client=yle-areena-web"
},
"icon": {
"id": "icon-play",
"version": "1750676272"
},
"tag": "play",
"type": "navigator"
}
],
"image": {
"alt": "Yle TV1",
"id": "13-85-b0671607a0874a799fc56b5eb140f969",
"version": "1782467348"
},
"labels": [
{
"formatted": "12.15–13.05",
"type": "generic"
},
{
"raw": "2026-06-26T12:15:00+03:00/2026-06-26T13:05:00+03:00",
"rawType": "interval",
"type": "progress"
},
{
"formatted": "Yle TV1",
"raw": "yle-tv1",
"type": "broadcastService"
}
],
"overlayLogoImage": {
"alt": "Yle TV1",
"id": "yle-tv1_vt",
"version": "1750676272"
},
"pointer": {
"authentication": [
"yle-api"
],
"type": "player",
"uri": "https://areena.api-test.yle.fi/v1/ui/players/yle-tv1.json?language=fi&v=10&client=yle-areena-web"
},
"presentation": "broadcastCard",
"title": "Nuori Morse (12)",
"type": "card"
} Card Eränkävijät Pointer: yle-tv2.json (player) 1 control, 3 labels Card JSON{
"controls": [
{
"backgroundColor": "#E90E43",
"destination": {
"authentication": [
"yle-api"
],
"type": "player",
"uri": "https://areena.api-test.yle.fi/v1/ui/players/yle-tv2.json?language=fi&v=10&client=yle-areena-web"
},
"icon": {
"id": "icon-play",
"version": "1750676272"
},
"tag": "play",
"type": "navigator"
}
],
"image": {
"alt": "Yle TV2",
"id": "yle-tv2",
"version": "1750676272"
},
"labels": [
{
"formatted": "12.50–13.20",
"type": "generic"
},
{
"raw": "2026-06-26T12:50:00+03:00/2026-06-26T13:20:00+03:00",
"rawType": "interval",
"type": "progress"
},
{
"formatted": "Yle TV2",
"raw": "yle-tv2",
"type": "broadcastService"
}
],
"overlayLogoImage": {
"alt": "Yle TV2",
"id": "yle-tv2_vt",
"version": "1750676272"
},
"pointer": {
"authentication": [
"yle-api"
],
"type": "player",
"uri": "https://areena.api-test.yle.fi/v1/ui/players/yle-tv2.json?language=fi&v=10&client=yle-areena-web"
},
"presentation": "broadcastCard",
"title": "Eränkävijät",
"type": "card"
} Card Jazzia Norjan radion sinfoniaorkesterin kanssa Pointer: yle-teema-fem.json (player) 1 control, 3 labels Card JSON{
"controls": [
{
"backgroundColor": "#E90E43",
"destination": {
"authentication": [
"yle-api"
],
"type": "player",
"uri": "https://areena.api-test.yle.fi/v1/ui/players/yle-teema-fem.json?language=fi&v=10&client=yle-areena-web"
},
"icon": {
"id": "icon-play",
"version": "1750676272"
},
"tag": "play",
"type": "navigator"
}
],
"image": {
"alt": "Yle Teema Fem",
"id": "13-85-d85eaa52ce144d1f9fa2a2b3e908d6e0",
"version": "1782464419"
},
"labels": [
{
"formatted": "12.00–13.20",
"type": "generic"
},
{
"raw": "2026-06-26T12:00:00+03:00/2026-06-26T13:20:00+03:00",
"rawType": "interval",
"type": "progress"
},
{
"formatted": "Yle Teema Fem",
"raw": "yle-teema-fem",
"type": "broadcastService"
}
],
"overlayLogoImage": {
"alt": "Yle Teema Fem",
"id": "yle-teema_vt",
"version": "1750676272"
},
"pointer": {
"authentication": [
"yle-api"
],
"type": "player",
"uri": "https://areena.api-test.yle.fi/v1/ui/players/yle-teema-fem.json?language=fi&v=10&client=yle-areena-web"
},
"presentation": "broadcastCard",
"title": "Jazzia Norjan radion sinfoniaorkesterin kanssa",
"type": "card"
}
List JSON{
"controls": [],
"filters": [],
"source": {
"authentication": [
"yle-api"
],
"uri": "https://areena.api-test.yle.fi/v1/ui/schedules/now.json?service=yle-tv1,yle-tv2,yle-teema-fem&transmissionlimit=1&language=fi&v=10&client=yle-areena-web"
},
"style": {
"image": "16:9",
"layout": "horizontal",
"size": "medium"
},
"title": "TV-kanavat",
"type": "list"
} Card response meta JSON{
"analytics": {
"context": {
"yle": {
"source_ref": "schedules.now"
}
}
},
"count": 3,
"expand": "",
"expandlimit": 10,
"expires": "2026-06-26T13:05:00+03:00",
"lastModified": "2026-06-26T12:50:00+03:00",
"limit": 3,
"offset": 0,
"service": "yle-tv1,yle-tv2,yle-teema-fem",
"transmissionlimit": 1
} Card RF urheilulive enkooderitesti Description: Urheilulähetys(laatu1080p50) ROBOTTITESTITKÄYTTÄÄ-->ÄLÄPOISTA! 0 controls, 4 labels Card JSON{
"description": "Urheilulähetys(laatu1080p50) ROBOTTITESTITKÄYTTÄÄ-->ÄLÄPOISTA!",
"image": {
"id": "yle-areena",
"version": "1750676272"
},
"labels": [
{
"formatted": "Pe 3.7. klo 12.46–14.46",
"type": "generic"
},
{
"raw": "1-74547736",
"type": "itemId"
},
{
"formatted": "Yle Areena",
"raw": "yle-areena",
"type": "broadcastService"
},
{
"backgroundColor": "#B3000000",
"formatted": "pe 3.7. klo 12.46",
"type": "overlay"
}
],
"pointer": {
"type": "program",
"uri": "yleareena://items/1-74547736"
},
"presentation": "broadcastCard",
"title": "RF urheilulive enkooderitesti",
"transmissions": [
{
"broadcastStatus": "upcoming",
"description": "Urheilulähetys(laatu1080p50) ROBOTTITESTITKÄYTTÄÄ-->ÄLÄPOISTA!",
"endTime": "2026-07-03T14:46:00+03:00",
"formattedStartTime": "12.46",
"image": {
"id": "yle-areena",
"version": "1750676272"
},
"ondemandStatus": "upcoming",
"pointer": {
"type": "program",
"uri": "yleareena://items/1-74547736"
},
"startTime": "2026-07-03T12:46:00+03:00",
"title": "RF urheilulive enkooderitesti"
}
],
"type": "card"
}
List JSON{
"controls": [],
"filters": [],
"source": {
"authentication": [
"yle-api"
],
"uri": "https://areena.api-test.yle.fi/v1/ui/content/list?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzb3VyY2UiOiJodHRwczovL3Byb2dyYW1zLmFwaS10ZXN0LnlsZS5maS92My9zY2hlbWEvdjMvcGFja2FnZXMvMzAtMTA2MC9jdXJyZW50LW9yLWZ1dHVyZS1saXZlIiwiY2FyZE9wdGlvbnNUZW1wbGF0ZSI6InVwY29taW5nIn0.GNfuBgKDnFfxWFfIAstxvxPgpicAloDYclmSUdRVqrk&language=fi&v=10&client=yle-areena-web"
},
"style": {
"image": "16:9",
"layout": "horizontal",
"size": "medium"
},
"title": "Urheilu",
"type": "list"
} JWT payload{
"cardOptionsTemplate": "upcoming",
"source": "https://programs.api-test.yle.fi/v3/schema/v3/packages/30-1060/current-or-future-live"
} Card response meta JSON{
"analytics": {
"context": {
"yle": {
"source_url": "https://programs.api-test.yle.fi/v3/schema/v3/packages/30-1060/current-or-future-live?offset=0&limit=3"
}
}
},
"cardOptionsTemplate": "upcoming",
"count": 1,
"expires": "2026-06-26T09:51:47Z",
"limit": 3,
"offset": 0,
"refreshAt": "2026-07-03T12:46:50+03:00"
} Card Tiedeykkönen: Onko maailmassa sattumaa – vai onko kaikki vain kaaosta? 1 control, 3 labels Card JSON{
"controls": [
{
"backgroundColor": "#E90E43",
"destination": {
"authentication": [
"yle-api"
],
"type": "player",
"uri": "https://areena.api-test.yle.fi/v1/ui/players/yle-radio-1.json?language=fi&v=10&client=yle-areena-web"
},
"icon": {
"id": "icon-play",
"version": "1750676272"
},
"tag": "play",
"type": "navigator"
}
],
"image": {
"alt": "Yle Radio 1",
"id": "yle-radio-1_channel",
"version": "1750676272"
},
"labels": [
{
"formatted": "12.05–12.55",
"type": "generic"
},
{
"raw": "2026-06-26T12:05:00+03:00/2026-06-26T12:55:00+03:00",
"rawType": "interval",
"type": "progress"
},
{
"formatted": "Yle Radio 1",
"raw": "yle-radio-1",
"type": "broadcastService"
}
],
"pointer": {
"type": "package",
"uri": "yleareena://packages/57-p89RepWE0"
},
"presentation": "broadcastCard",
"title": "Tiedeykkönen: Onko maailmassa sattumaa – vai onko kaikki vain kaaosta?",
"type": "card"
} Card Uuden musiikin X: Viki Antinniemi 1 control, 3 labels Card JSON{
"controls": [
{
"backgroundColor": "#E90E43",
"destination": {
"authentication": [
"yle-api"
],
"type": "player",
"uri": "https://areena.api-test.yle.fi/v1/ui/players/ylex.json?language=fi&v=10&client=yle-areena-web"
},
"icon": {
"id": "icon-play",
"version": "1750676272"
},
"tag": "play",
"type": "navigator"
}
],
"image": {
"alt": "YleX",
"id": "ylex_channel",
"version": "1750676272"
},
"labels": [
{
"formatted": "10.00–14.00",
"type": "generic"
},
{
"raw": "2026-06-26T10:00:00+03:00/2026-06-26T14:00:00+03:00",
"rawType": "interval",
"type": "progress"
},
{
"formatted": "YleX",
"raw": "ylex",
"type": "broadcastService"
}
],
"pointer": {
"type": "package",
"uri": "yleareena://packages/57-JAprnp7W2"
},
"presentation": "broadcastCard",
"title": "Uuden musiikin X: Viki Antinniemi",
"type": "card"
} Card Yle Radio Suomi 0 controls, 0 labels Card JSON{
"cards": [
{
"color": "#21b8e8",
"controls": [
{
"backgroundColor": "#E90E43",
"destination": {
"authentication": [
"yle-api"
],
"type": "player",
"uri": "https://areena.api-test.yle.fi/v1/ui/players/yle-radio-suomi-helsinki.json?language=fi&v=10&client=yle-areena-web"
},
"icon": {
"id": "icon-play",
"version": "1750676272"
},
"tag": "play",
"type": "navigator"
}
],
"image": {
"alt": "Yle Radio Suomi Helsinki",
"id": "yle-radio-suomi_channel",
"version": "1750676272"
},
"labels": [
{
"formatted": "12.45–12.55",
"type": "generic"
},
{
"raw": "2026-06-26T12:45:00+03:00/2026-06-26T12:55:00+03:00",
"rawType": "interval",
"type": "progress"
},
{
"formatted": "Yle Radio Suomi",
"raw": "yle-radio-suomi",
"type": "broadcastService"
}
],
"persistentState": {
"id": "yle-radio-suomi-helsinki",
"key": "yle-radio-suomi"
},
"pointer": {
"type": "package",
"uri": "yleareena://packages/57-3gO4bl7J6"
},
"presentation": "broadcastCard",
"title": "Merisää",
"type": "card"
},
{
"color": "#21b8e8",
"controls": [
{
"backgroundColor": "#E90E43",
"destination": {
"authentication": [
"yle-api"
],
"type": "player",
"uri": "https://areena.api-test.yle.fi/v1/ui/players/yle-radio-suomi-turku.json?language=fi&v=10&client=yle-areena-web"
},
"icon": {
"id": "icon-play",
"version": "1750676272"
},
"tag": "play",
"type": "navigator"
}
],
"image": {
"alt": "Yle Radio Suomi Turku",
"id": "yle-radio-suomi_channel",
"version": "1750676272"
},
"labels": [
{
"formatted": "12.45–12.55",
"type": "generic"
},
{
"raw": "2026-06-26T12:45:00+03:00/2026-06-26T12:55:00+03:00",
"rawType": "interval",
"type": "progress"
},
{
"formatted": "Yle Radio Suomi",
"raw": "yle-radio-suomi",
"type": "broadcastService"
}
],
"persistentState": {
"id": "yle-radio-suomi-turku",
"key": "yle-radio-suomi"
},
"pointer": {
"type": "package",
"uri": "yleareena://packages/57-3gO4bl7J6"
},
"presentation": "broadcastCard",
"title": "Merisää",
"type": "card"
},
{
"color": "#21b8e8",
"controls": [
{
"backgroundColor": "#E90E43",
"destination": {
"authentication": [
"yle-api"
],
"type": "player",
"uri": "https://areena.api-test.yle.fi/v1/ui/players/yle-radio-suomi-pori.json?language=fi&v=10&client=yle-areena-web"
},
"icon": {
"id": "icon-play",
"version": "1750676272"
},
"tag": "play",
"type": "navigator"
}
],
"image": {
"alt": "Yle Radio Suomi Pori",
"id": "yle-radio-suomi_channel",
"version": "1750676272"
},
"labels": [
{
"formatted": "12.45–12.55",
"type": "generic"
},
{
"raw": "2026-06-26T12:45:00+03:00/2026-06-26T12:55:00+03:00",
"rawType": "interval",
"type": "progress"
},
{
"formatted": "Yle Radio Suomi",
"raw": "yle-radio-suomi",
"type": "broadcastService"
}
],
"persistentState": {
"id": "yle-radio-suomi-pori",
"key": "yle-radio-suomi"
},
"pointer": {
"type": "package",
"uri": "yleareena://packages/57-3gO4bl7J6"
},
"presentation": "broadcastCard",
"title": "Merisää",
"type": "card"
},
{
"color": "#21b8e8",
"controls": [
{
"backgroundColor": "#E90E43",
"destination": {
"authentication": [
"yle-api"
],
"type": "player",
"uri": "https://areena.api-test.yle.fi/v1/ui/players/yle-radio-suomi-jyvaskyla.json?language=fi&v=10&client=yle-areena-web"
},
"icon": {
"id": "icon-play",
"version": "1750676272"
},
"tag": "play",
"type": "navigator"
}
],
"image": {
"alt": "Yle Radio Suomi Jyväskylä",
"id": "yle-radio-suomi_channel",
"version": "1750676272"
},
"labels": [
{
"formatted": "12.45–12.55",
"type": "generic"
},
{
"raw": "2026-06-26T12:45:00+03:00/2026-06-26T12:55:00+03:00",
"rawType": "interval",
"type": "progress"
},
{
"formatted": "Yle Radio Suomi",
"raw": "yle-radio-suomi",
"type": "broadcastService"
}
],
"persistentState": {
"id": "yle-radio-suomi-jyvaskyla",
"key": "yle-radio-suomi"
},
"pointer": {
"type": "package",
"uri": "yleareena://packages/57-3gO4bl7J6"
},
"presentation": "broadcastCard",
"title": "Merisää",
"type": "card"
},
{
"color": "#21b8e8",
"controls": [
{
"backgroundColor": "#E90E43",
"destination": {
"authentication": [
"yle-api"
],
"type": "player",
"uri": "https://areena.api-test.yle.fi/v1/ui/players/yle-radio-suomi-tampere.json?language=fi&v=10&client=yle-areena-web"
},
"icon": {
"id": "icon-play",
"version": "1750676272"
},
"tag": "play",
"type": "navigator"
}
],
"image": {
"alt": "Yle Radio Suomi Tampere",
"id": "yle-radio-suomi_channel",
"version": "1750676272"
},
"labels": [
{
"formatted": "12.45–12.55",
"type": "generic"
},
{
"raw": "2026-06-26T12:45:00+03:00/2026-06-26T12:55:00+03:00",
"rawType": "interval",
"type": "progress"
},
{
"formatted": "Yle Radio Suomi",
"raw": "yle-radio-suomi",
"type": "broadcastService"
}
],
"persistentState": {
"id": "yle-radio-suomi-tampere",
"key": "yle-radio-suomi"
},
"pointer": {
"type": "package",
"uri": "yleareena://packages/57-3gO4bl7J6"
},
"presentation": "broadcastCard",
"title": "Merisää",
"type": "card"
},
{
"color": "#21b8e8",
"controls": [
{
"backgroundColor": "#E90E43",
"destination": {
"authentication": [
"yle-api"
],
"type": "player",
"uri": "https://areena.api-test.yle.fi/v1/ui/players/yle-radio-suomi-lahti.json?language=fi&v=10&client=yle-areena-web"
},
"icon": {
"id": "icon-play",
"version": "1750676272"
},
"tag": "play",
"type": "navigator"
}
],
"image": {
"alt": "Yle Radio Suomi Lahti",
"id": "yle-radio-suomi_channel",
"version": "1750676272"
},
"labels": [
{
"formatted": "12.45–12.55",
"type": "generic"
},
{
"raw": "2026-06-26T12:45:00+03:00/2026-06-26T12:55:00+03:00",
"rawType": "interval",
"type": "progress"
},
{
"formatted": "Yle Radio Suomi",
"raw": "yle-radio-suomi",
"type": "broadcastService"
}
],
"persistentState": {
"id": "yle-radio-suomi-lahti",
"key": "yle-radio-suomi"
},
"pointer": {
"type": "package",
"uri": "yleareena://packages/57-3gO4bl7J6"
},
"presentation": "broadcastCard",
"title": "Merisää",
"type": "card"
},
{
"color": "#21b8e8",
"controls": [
{
"backgroundColor": "#E90E43",
"destination": {
"authentication": [
"yle-api"
],
"type": "player",
"uri": "https://areena.api-test.yle.fi/v1/ui/players/yle-radio-suomi-hameenlinna.json?language=fi&v=10&client=yle-areena-web"
},
"icon": {
"id": "icon-play",
"version": "1750676272"
},
"tag": "play",
"type": "navigator"
}
],
"image": {
"alt": "Yle Radio Suomi Hämeenlinna",
"id": "yle-radio-suomi_channel",
"version": "1750676272"
},
"labels": [
{
"formatted": "12.45–12.55",
"type": "generic"
},
{
"raw": "2026-06-26T12:45:00+03:00/2026-06-26T12:55:00+03:00",
"rawType": "interval",
"type": "progress"
},
{
"formatted": "Yle Radio Suomi",
"raw": "yle-radio-suomi",
"type": "broadcastService"
}
],
"persistentState": {
"id": "yle-radio-suomi-hameenlinna",
"key": "yle-radio-suomi"
},
"pointer": {
"type": "package",
"uri": "yleareena://packages/57-3gO4bl7J6"
},
"presentation": "broadcastCard",
"title": "Merisää",
"type": "card"
},
{
"color": "#21b8e8",
"controls": [
{
"backgroundColor": "#E90E43",
"destination": {
"authentication": [
"yle-api"
],
"type": "player",
"uri": "https://areena.api-test.yle.fi/v1/ui/players/yle-radio-suomi-lappeenranta.json?language=fi&v=10&client=yle-areena-web"
},
"icon": {
"id": "icon-play",
"version": "1750676272"
},
"tag": "play",
"type": "navigator"
}
],
"image": {
"alt": "Yle Radio Suomi Lappeenranta",
"id": "yle-radio-suomi_channel",
"version": "1750676272"
},
"labels": [
{
"formatted": "12.45–12.55",
"type": "generic"
},
{
"raw": "2026-06-26T12:45:00+03:00/2026-06-26T12:55:00+03:00",
"rawType": "interval",
"type": "progress"
},
{
"formatted": "Yle Radio Suomi",
"raw": "yle-radio-suomi",
"type": "broadcastService"
}
],
"persistentState": {
"id": "yle-radio-suomi-lappeenranta",
"key": "yle-radio-suomi"
},
"pointer": {
"type": "package",
"uri": "yleareena://packages/57-3gO4bl7J6"
},
"presentation": "broadcastCard",
"title": "Merisää",
"type": "card"
},
{
"color": "#21b8e8",
"controls": [
{
"backgroundColor": "#E90E43",
"destination": {
"authentication": [
"yle-api"
],
"type": "player",
"uri": "https://areena.api-test.yle.fi/v1/ui/players/yle-radio-suomi-kotka.json?language=fi&v=10&client=yle-areena-web"
},
"icon": {
"id": "icon-play",
"version": "1750676272"
},
"tag": "play",
"type": "navigator"
}
],
"image": {
"alt": "Yle Radio Suomi Kotka",
"id": "yle-radio-suomi_channel",
"version": "1750676272"
},
"labels": [
{
"formatted": "12.45–12.55",
"type": "generic"
},
{
"raw": "2026-06-26T12:45:00+03:00/2026-06-26T12:55:00+03:00",
"rawType": "interval",
"type": "progress"
},
{
"formatted": "Yle Radio Suomi",
"raw": "yle-radio-suomi",
"type": "broadcastService"
}
],
"persistentState": {
"id": "yle-radio-suomi-kotka",
"key": "yle-radio-suomi"
},
"pointer": {
"type": "package",
"uri": "yleareena://packages/57-3gO4bl7J6"
},
"presentation": "broadcastCard",
"title": "Merisää",
"type": "card"
},
{
"color": "#21b8e8",
"controls": [
{
"backgroundColor": "#E90E43",
"destination": {
"authentication": [
"yle-api"
],
"type": "player",
"uri": "https://areena.api-test.yle.fi/v1/ui/players/yle-radio-suomi-kuopio.json?language=fi&v=10&client=yle-areena-web"
},
"icon": {
"id": "icon-play",
"version": "1750676272"
},
"tag": "play",
"type": "navigator"
}
],
"image": {
"alt": "Yle Radio Suomi Kuopio",
"id": "yle-radio-suomi_channel",
"version": "1750676272"
},
"labels": [
{
"formatted": "12.45–12.55",
"type": "generic"
},
{
"raw": "2026-06-26T12:45:00+03:00/2026-06-26T12:55:00+03:00",
"rawType": "interval",
"type": "progress"
},
{
"formatted": "Yle Radio Suomi",
"raw": "yle-radio-suomi",
"type": "broadcastService"
}
],
"persistentState": {
"id": "yle-radio-suomi-kuopio",
"key": "yle-radio-suomi"
},
"pointer": {
"type": "package",
"uri": "yleareena://packages/57-3gO4bl7J6"
},
"presentation": "broadcastCard",
"title": "Merisää",
"type": "card"
},
{
"color": "#21b8e8",
"controls": [
{
"backgroundColor": "#E90E43",
"destination": {
"authentication": [
"yle-api"
],
"type": "player",
"uri": "https://areena.api-test.yle.fi/v1/ui/players/yle-radio-suomi-mikkeli.json?language=fi&v=10&client=yle-areena-web"
},
"icon": {
"id": "icon-play",
"version": "1750676272"
},
"tag": "play",
"type": "navigator"
}
],
"image": {
"alt": "Yle Radio Suomi Mikkeli",
"id": "yle-radio-suomi_channel",
"version": "1750676272"
},
"labels": [
{
"formatted": "12.45–12.55",
"type": "generic"
},
{
"raw": "2026-06-26T12:45:00+03:00/2026-06-26T12:55:00+03:00",
"rawType": "interval",
"type": "progress"
},
{
"formatted": "Yle Radio Suomi",
"raw": "yle-radio-suomi",
"type": "broadcastService"
}
],
"persistentState": {
"id": "yle-radio-suomi-mikkeli",
"key": "yle-radio-suomi"
},
"pointer": {
"type": "package",
"uri": "yleareena://packages/57-3gO4bl7J6"
},
"presentation": "broadcastCard",
"title": "Merisää",
"type": "card"
},
{
"color": "#21b8e8",
"controls": [
{
"backgroundColor": "#E90E43",
"destination": {
"authentication": [
"yle-api"
],
"type": "player",
"uri": "https://areena.api-test.yle.fi/v1/ui/players/yle-radio-suomi-joensuu.json?language=fi&v=10&client=yle-areena-web"
},
"icon": {
"id": "icon-play",
"version": "1750676272"
},
"tag": "play",
"type": "navigator"
}
],
"image": {
"alt": "Yle Radio Suomi Joensuu",
"id": "yle-radio-suomi_channel",
"version": "1750676272"
},
"labels": [
{
"formatted": "12.45–12.55",
"type": "generic"
},
{
"raw": "2026-06-26T12:45:00+03:00/2026-06-26T12:55:00+03:00",
"rawType": "interval",
"type": "progress"
},
{
"formatted": "Yle Radio Suomi",
"raw": "yle-radio-suomi",
"type": "broadcastService"
}
],
"persistentState": {
"id": "yle-radio-suomi-joensuu",
"key": "yle-radio-suomi"
},
"pointer": {
"type": "package",
"uri": "yleareena://packages/57-3gO4bl7J6"
},
"presentation": "broadcastCard",
"title": "Merisää",
"type": "card"
},
{
"color": "#21b8e8",
"controls": [
{
"backgroundColor": "#E90E43",
"destination": {
"authentication": [
"yle-api"
],
"type": "player",
"uri": "https://areena.api-test.yle.fi/v1/ui/players/yle-radio-suomi-seinajoki.json?language=fi&v=10&client=yle-areena-web"
},
"icon": {
"id": "icon-play",
"version": "1750676272"
},
"tag": "play",
"type": "navigator"
}
],
"image": {
"alt": "Yle Radio Suomi Seinäjoki",
"id": "yle-radio-suomi_channel",
"version": "1750676272"
},
"labels": [
{
"formatted": "12.45–12.55",
"type": "generic"
},
{
"raw": "2026-06-26T12:45:00+03:00/2026-06-26T12:55:00+03:00",
"rawType": "interval",
"type": "progress"
},
{
"formatted": "Yle Radio Suomi",
"raw": "yle-radio-suomi",
"type": "broadcastService"
}
],
"persistentState": {
"id": "yle-radio-suomi-seinajoki",
"key": "yle-radio-suomi"
},
"pointer": {
"type": "package",
"uri": "yleareena://packages/57-3gO4bl7J6"
},
"presentation": "broadcastCard",
"title": "Merisää",
"type": "card"
},
{
"color": "#21b8e8",
"controls": [
{
"backgroundColor": "#E90E43",
"destination": {
"authentication": [
"yle-api"
],
"type": "player",
"uri": "https://areena.api-test.yle.fi/v1/ui/players/yle-radio-suomi-vaasa.json?language=fi&v=10&client=yle-areena-web"
},
"icon": {
"id": "icon-play",
"version": "1750676272"
},
"tag": "play",
"type": "navigator"
}
],
"image": {
"alt": "Yle Radio Suomi Vaasa",
"id": "yle-radio-suomi_channel",
"version": "1750676272"
},
"labels": [
{
"formatted": "12.45–12.55",
"type": "generic"
},
{
"raw": "2026-06-26T12:45:00+03:00/2026-06-26T12:55:00+03:00",
"rawType": "interval",
"type": "progress"
},
{
"formatted": "Yle Radio Suomi",
"raw": "yle-radio-suomi",
"type": "broadcastService"
}
],
"persistentState": {
"id": "yle-radio-suomi-vaasa",
"key": "yle-radio-suomi"
},
"pointer": {
"type": "package",
"uri": "yleareena://packages/57-3gO4bl7J6"
},
"presentation": "broadcastCard",
"title": "Merisää",
"type": "card"
},
{
"color": "#21b8e8",
"controls": [
{
"backgroundColor": "#E90E43",
"destination": {
"authentication": [
"yle-api"
],
"type": "player",
"uri": "https://areena.api-test.yle.fi/v1/ui/players/yle-radio-suomi-kokkola.json?language=fi&v=10&client=yle-areena-web"
},
"icon": {
"id": "icon-play",
"version": "1750676272"
},
"tag": "play",
"type": "navigator"
}
],
"image": {
"alt": "Yle Radio Suomi Kokkola",
"id": "yle-radio-suomi_channel",
"version": "1750676272"
},
"labels": [
{
"formatted": "12.45–12.55",
"type": "generic"
},
{
"raw": "2026-06-26T12:45:00+03:00/2026-06-26T12:55:00+03:00",
"rawType": "interval",
"type": "progress"
},
{
"formatted": "Yle Radio Suomi",
"raw": "yle-radio-suomi",
"type": "broadcastService"
}
],
"persistentState": {
"id": "yle-radio-suomi-kokkola",
"key": "yle-radio-suomi"
},
"pointer": {
"type": "package",
"uri": "yleareena://packages/57-3gO4bl7J6"
},
"presentation": "broadcastCard",
"title": "Merisää",
"type": "card"
},
{
"color": "#21b8e8",
"controls": [
{
"backgroundColor": "#E90E43",
"destination": {
"authentication": [
"yle-api"
],
"type": "player",
"uri": "https://areena.api-test.yle.fi/v1/ui/players/yle-radio-suomi-oulu.json?language=fi&v=10&client=yle-areena-web"
},
"icon": {
"id": "icon-play",
"version": "1750676272"
},
"tag": "play",
"type": "navigator"
}
],
"image": {
"alt": "Yle Radio Suomi Oulu",
"id": "yle-radio-suomi_channel",
"version": "1750676272"
},
"labels": [
{
"formatted": "12.45–12.55",
"type": "generic"
},
{
"raw": "2026-06-26T12:45:00+03:00/2026-06-26T12:55:00+03:00",
"rawType": "interval",
"type": "progress"
},
{
"formatted": "Yle Radio Suomi",
"raw": "yle-radio-suomi",
"type": "broadcastService"
}
],
"persistentState": {
"id": "yle-radio-suomi-oulu",
"key": "yle-radio-suomi"
},
"pointer": {
"type": "package",
"uri": "yleareena://packages/57-3gO4bl7J6"
},
"presentation": "broadcastCard",
"title": "Merisää",
"type": "card"
},
{
"color": "#21b8e8",
"controls": [
{
"backgroundColor": "#E90E43",
"destination": {
"authentication": [
"yle-api"
],
"type": "player",
"uri": "https://areena.api-test.yle.fi/v1/ui/players/yle-radio-suomi-kajaani.json?language=fi&v=10&client=yle-areena-web"
},
"icon": {
"id": "icon-play",
"version": "1750676272"
},
"tag": "play",
"type": "navigator"
}
],
"image": {
"alt": "Yle Radio Suomi Kajaani",
"id": "yle-radio-suomi_channel",
"version": "1750676272"
},
"labels": [
{
"formatted": "12.45–12.55",
"type": "generic"
},
{
"raw": "2026-06-26T12:45:00+03:00/2026-06-26T12:55:00+03:00",
"rawType": "interval",
"type": "progress"
},
{
"formatted": "Yle Radio Suomi",
"raw": "yle-radio-suomi",
"type": "broadcastService"
}
],
"persistentState": {
"id": "yle-radio-suomi-kajaani",
"key": "yle-radio-suomi"
},
"pointer": {
"type": "package",
"uri": "yleareena://packages/57-3gO4bl7J6"
},
"presentation": "broadcastCard",
"title": "Merisää",
"type": "card"
},
{
"color": "#21b8e8",
"controls": [
{
"backgroundColor": "#E90E43",
"destination": {
"authentication": [
"yle-api"
],
"type": "player",
"uri": "https://areena.api-test.yle.fi/v1/ui/players/yle-radio-suomi-rovaniemi.json?language=fi&v=10&client=yle-areena-web"
},
"icon": {
"id": "icon-play",
"version": "1750676272"
},
"tag": "play",
"type": "navigator"
}
],
"image": {
"alt": "Yle Radio Suomi Rovaniemi",
"id": "yle-radio-suomi_channel",
"version": "1750676272"
},
"labels": [
{
"formatted": "12.45–12.55",
"type": "generic"
},
{
"raw": "2026-06-26T12:45:00+03:00/2026-06-26T12:55:00+03:00",
"rawType": "interval",
"type": "progress"
},
{
"formatted": "Yle Radio Suomi",
"raw": "yle-radio-suomi",
"type": "broadcastService"
}
],
"persistentState": {
"id": "yle-radio-suomi-rovaniemi",
"key": "yle-radio-suomi"
},
"pointer": {
"type": "package",
"uri": "yleareena://packages/57-3gO4bl7J6"
},
"presentation": "broadcastCard",
"title": "Merisää",
"type": "card"
}
],
"image": {
"id": "yle-radio-suomi",
"version": "1750676272"
},
"persistentState": {
"key": "yle-radio-suomi"
},
"presentation": "broadcastDeck",
"title": "Yle Radio Suomi",
"type": "card"
}
List JSON{
"controls": [],
"filters": [],
"source": {
"authentication": [
"yle-api"
],
"uri": "https://areena.api-test.yle.fi/v1/ui/schedules/now.json?service=yle-radio-1,ylex,yle-radio-suomi,yle-radio-suomi-helsinki,yle-radio-suomi-turku,yle-radio-suomi-pori,yle-radio-suomi-jyvaskyla,yle-radio-suomi-tampere,yle-radio-suomi-lahti,yle-radio-suomi-hameenlinna,yle-radio-suomi-lappeenranta,yle-radio-suomi-kotka,yle-radio-suomi-kuopio,yle-radio-suomi-mikkeli,yle-radio-suomi-joensuu,yle-radio-suomi-seinajoki,yle-radio-suomi-vaasa,yle-radio-suomi-kokkola,yle-radio-suomi-oulu,yle-radio-suomi-kajaani,yle-radio-suomi-rovaniemi,yle-radio-vega,radio-vega-huvudstadsregionen,radio-vega-vastnyland,radio-vega-aboland,radio-vega-osterbotten,radio-vega-ostnyland,yle-x3m,yle-klassinen,yle-sami-radio&transmissionlimit=1&language=fi&v=10&client=yle-areena-web"
},
"style": {
"image": "1:1",
"layout": "horizontal",
"size": "medium"
},
"title": "Radiokanavat",
"type": "list"
} Card response meta JSON{
"analytics": {
"context": {
"yle": {
"source_ref": "schedules.now"
}
}
},
"count": 7,
"expand": "",
"expandlimit": 10,
"expires": "2026-06-26T12:55:00+03:00",
"lastModified": "2026-06-26T12:45:00+03:00",
"limit": 3,
"offset": 0,
"service": "yle-radio-1,ylex,yle-radio-suomi,yle-radio-suomi-helsinki,yle-radio-suomi-turku,yle-radio-suomi-pori,yle-radio-suomi-jyvaskyla,yle-radio-suomi-tampere,yle-radio-suomi-lahti,yle-radio-suomi-hameenlinna,yle-radio-suomi-lappeenranta,yle-radio-suomi-kotka,yle-radio-suomi-kuopio,yle-radio-suomi-mikkeli,yle-radio-suomi-joensuu,yle-radio-suomi-seinajoki,yle-radio-suomi-vaasa,yle-radio-suomi-kokkola,yle-radio-suomi-oulu,yle-radio-suomi-kajaani,yle-radio-suomi-rovaniemi,yle-radio-vega,radio-vega-huvudstadsregionen,radio-vega-vastnyland,radio-vega-aboland,radio-vega-osterbotten,radio-vega-ostnyland,yle-x3m,yle-klassinen,yle-sami-radio",
"transmissionlimit": 1
} Card Ylen aamu Description: RF-Urheilulive multiaudiolla 26.6.26 12:46 1 control, 5 labels Card JSON{
"controls": [
{
"destination": {
"authentication": [
"yle-api"
],
"type": "player",
"uri": "https://areena.api-test.yle.fi/v1/ui/players/1-78339484.json?language=fi&v=10&client=yle-areena-web"
},
"icon": {
"id": "icon-play",
"version": "1750676272"
},
"tag": "play",
"type": "navigator"
}
],
"description": "RF-Urheilulive multiaudiolla 26.6.26 12:46",
"image": {
"id": "yle-areena",
"version": "1750676272"
},
"labels": [
{
"formatted": "12.48–14.48",
"type": "generic"
},
{
"raw": "2026-06-26T12:48:00+03:00/2026-06-26T14:48:00+03:00",
"rawType": "interval",
"type": "progress"
},
{
"backgroundColor": "#E90E43",
"color": "#F8F9FA",
"formatted": "SUORA",
"type": "highlight"
},
{
"raw": "1-78339484",
"type": "itemId"
},
{
"formatted": "Yle Areena",
"raw": "yle-areena",
"type": "broadcastService"
}
],
"pointer": {
"type": "program",
"uri": "yleareena://items/1-78339484"
},
"presentation": "broadcastCard",
"title": "Ylen aamu",
"traits": {
"streamable": {
"playFromStart": true
}
},
"transmissions": [
{
"broadcastStatus": "current",
"description": "Tämä live käynnistetään myöhemmin Live käynnistetty 26.6.26 12:48",
"endTime": "2026-06-26T14:48:00+03:00",
"formattedStartTime": "12.48",
"image": {
"id": "yle-areena",
"version": "1750676272"
},
"ondemandStatus": "upcoming",
"pointer": {
"type": "program",
"uri": "yleareena://items/1-78339484"
},
"startTime": "2026-06-26T12:48:00+03:00",
"title": "RF-Urheilulive multiaudiolla 26.6.26 12:46"
}
],
"type": "card"
} Card RF ensistriimi (fi) Description: Live luotu profiilista 48-7778 ovp-importin viestillä - 26.06.2026 12:48 1 control, 5 labels Card JSON{
"controls": [
{
"destination": {
"authentication": [
"yle-api"
],
"type": "player",
"uri": "https://areena.api-test.yle.fi/v1/ui/players/1-78339498.json?language=fi&v=10&client=yle-areena-web"
},
"icon": {
"id": "icon-play",
"version": "1750676272"
},
"tag": "play",
"type": "navigator"
}
],
"description": "Live luotu profiilista 48-7778 ovp-importin viestillä - 26.06.2026 12:48",
"image": {
"id": "yle-areena",
"version": "1750676272"
},
"labels": [
{
"formatted": "12.48–13.03",
"type": "generic"
},
{
"raw": "2026-06-26T12:48:36+03:00/2026-06-26T13:03:36+03:00",
"rawType": "interval",
"type": "progress"
},
{
"backgroundColor": "#E90E43",
"color": "#F8F9FA",
"formatted": "SUORA",
"type": "highlight"
},
{
"raw": "1-78339498",
"type": "itemId"
},
{
"formatted": "Yle Areena",
"raw": "yle-areena",
"type": "broadcastService"
}
],
"pointer": {
"type": "program",
"uri": "yleareena://items/1-78339498"
},
"presentation": "broadcastCard",
"title": "RF ensistriimi (fi)",
"traits": {
"streamable": {
"playFromStart": true
}
},
"transmissions": [
{
"broadcastStatus": "current",
"description": "Live luotu profiilista 48-7778 ovp-importin viestillä - 26.06.2026 12:48",
"endTime": "2026-06-26T13:03:36+03:00",
"formattedStartTime": "12.48",
"image": {
"id": "yle-areena",
"version": "1750676272"
},
"ondemandStatus": "upcoming",
"pointer": {
"type": "program",
"uri": "yleareena://items/1-78339498"
},
"startTime": "2026-06-26T12:48:36+03:00",
"title": "RF ensistriimi (fi)"
}
],
"type": "card"
} Card Ylen aamu Description: Tavan RF-live sv-audiolla 26.6.26 12:47 1 control, 5 labels Card JSON{
"controls": [
{
"destination": {
"authentication": [
"yle-api"
],
"type": "player",
"uri": "https://areena.api-test.yle.fi/v1/ui/players/1-78339478.json?language=fi&v=10&client=yle-areena-web"
},
"icon": {
"id": "icon-play",
"version": "1750676272"
},
"tag": "play",
"type": "navigator"
}
],
"description": "Tavan RF-live sv-audiolla 26.6.26 12:47",
"image": {
"id": "yle-areena",
"version": "1750676272"
},
"labels": [
{
"formatted": "12.49–14.49",
"type": "generic"
},
{
"raw": "2026-06-26T12:49:00+03:00/2026-06-26T14:49:00+03:00",
"rawType": "interval",
"type": "progress"
},
{
"backgroundColor": "#E90E43",
"color": "#F8F9FA",
"formatted": "SUORA",
"type": "highlight"
},
{
"raw": "1-78339478",
"type": "itemId"
},
{
"formatted": "Yle Areena",
"raw": "yle-areena",
"type": "broadcastService"
}
],
"pointer": {
"type": "program",
"uri": "yleareena://items/1-78339478"
},
"presentation": "broadcastCard",
"title": "Ylen aamu",
"traits": {
"streamable": {
"playFromStart": true
}
},
"transmissions": [
{
"broadcastStatus": "current",
"description": "Tämä live käynnistetään myöhemmin Live käynnistetty 26.6.26 12:49",
"endTime": "2026-06-26T14:49:00+03:00",
"formattedStartTime": "12.49",
"image": {
"id": "yle-areena",
"version": "1750676272"
},
"ondemandStatus": "upcoming",
"pointer": {
"type": "program",
"uri": "yleareena://items/1-78339478"
},
"startTime": "2026-06-26T12:49:00+03:00",
"title": "Tavan RF-live sv-audiolla 26.6.26 12:47"
}
],
"type": "card"
}
List JSON{
"controls": [],
"filters": [],
"source": {
"authentication": [
"yle-api"
],
"uri": "https://areena.api-test.yle.fi/v1/ui/content/list?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzb3VyY2UiOiJodHRwczovL3Byb2dyYW1zLmFwaS10ZXN0LnlsZS5maS92My9zY2hlbWEvdjMvc2NoZWR1bGVzL25vdz9zZXJ2aWNlPXlsZS1hcmVlbmEmcHVibGljYXRpb25fdHlwZT13ZWJjYXN0IiwiY2FyZE9wdGlvbnNUZW1wbGF0ZSI6InVwY29taW5nIn0.eMv11eEzBTE1V6KvlC3fJW0xQNyBPnLgc47cza7uopE&crop=20&language=fi&v=10&client=yle-areena-web"
},
"style": {
"image": "16:9",
"layout": "horizontal",
"size": "medium"
},
"title": "Katso vain Areenassa",
"type": "list"
} JWT payload{
"cardOptionsTemplate": "upcoming",
"source": "https://programs.api-test.yle.fi/v3/schema/v3/schedules/now?service=yle-areena&publication_type=webcast"
} Card response meta JSON{
"analytics": {
"context": {
"yle": {
"source_url": "https://programs.api-test.yle.fi/v3/schema/v3/schedules/now?service=yle-areena&publication_type=webcast&offset=0&limit=3"
}
}
},
"cardOptionsTemplate": "upcoming",
"count": 20,
"expires": "2026-06-26T09:51:47Z",
"limit": 3,
"offset": 0,
"refreshAt": "2026-06-26T13:04:26+03:00"
}
Tab JSON{
"content": [
{
"controls": [],
"filters": [],
"source": {
"authentication": [
"yle-api"
],
"uri": "https://areena.api-test.yle.fi/v1/ui/schedules/now.json?service=yle-tv1,yle-tv2,yle-teema-fem&transmissionlimit=1&language=fi&v=10&client=yle-areena-web"
},
"style": {
"image": "16:9",
"layout": "horizontal",
"size": "medium"
},
"title": "TV-kanavat",
"type": "list"
},
{
"controls": [],
"filters": [],
"source": {
"authentication": [
"yle-api"
],
"uri": "https://areena.api-test.yle.fi/v1/ui/content/list?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzb3VyY2UiOiJodHRwczovL3Byb2dyYW1zLmFwaS10ZXN0LnlsZS5maS92My9zY2hlbWEvdjMvcGFja2FnZXMvMzAtMTA2MC9jdXJyZW50LW9yLWZ1dHVyZS1saXZlIiwiY2FyZE9wdGlvbnNUZW1wbGF0ZSI6InVwY29taW5nIn0.GNfuBgKDnFfxWFfIAstxvxPgpicAloDYclmSUdRVqrk&language=fi&v=10&client=yle-areena-web"
},
"style": {
"image": "16:9",
"layout": "horizontal",
"size": "medium"
},
"title": "Urheilu",
"type": "list"
},
{
"controls": [],
"filters": [],
"source": {
"authentication": [
"yle-api"
],
"uri": "https://areena.api-test.yle.fi/v1/ui/schedules/now.json?service=yle-radio-1,ylex,yle-radio-suomi,yle-radio-suomi-helsinki,yle-radio-suomi-turku,yle-radio-suomi-pori,yle-radio-suomi-jyvaskyla,yle-radio-suomi-tampere,yle-radio-suomi-lahti,yle-radio-suomi-hameenlinna,yle-radio-suomi-lappeenranta,yle-radio-suomi-kotka,yle-radio-suomi-kuopio,yle-radio-suomi-mikkeli,yle-radio-suomi-joensuu,yle-radio-suomi-seinajoki,yle-radio-suomi-vaasa,yle-radio-suomi-kokkola,yle-radio-suomi-oulu,yle-radio-suomi-kajaani,yle-radio-suomi-rovaniemi,yle-radio-vega,radio-vega-huvudstadsregionen,radio-vega-vastnyland,radio-vega-aboland,radio-vega-osterbotten,radio-vega-ostnyland,yle-x3m,yle-klassinen,yle-sami-radio&transmissionlimit=1&language=fi&v=10&client=yle-areena-web"
},
"style": {
"image": "1:1",
"layout": "horizontal",
"size": "medium"
},
"title": "Radiokanavat",
"type": "list"
},
{
"controls": [],
"filters": [],
"source": {
"authentication": [
"yle-api"
],
"uri": "https://areena.api-test.yle.fi/v1/ui/content/list?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzb3VyY2UiOiJodHRwczovL3Byb2dyYW1zLmFwaS10ZXN0LnlsZS5maS92My9zY2hlbWEvdjMvc2NoZWR1bGVzL25vdz9zZXJ2aWNlPXlsZS1hcmVlbmEmcHVibGljYXRpb25fdHlwZT13ZWJjYXN0IiwiY2FyZE9wdGlvbnNUZW1wbGF0ZSI6InVwY29taW5nIn0.eMv11eEzBTE1V6KvlC3fJW0xQNyBPnLgc47cza7uopE&crop=20&language=fi&v=10&client=yle-areena-web"
},
"style": {
"image": "16:9",
"layout": "horizontal",
"size": "medium"
},
"title": "Katso vain Areenassa",
"type": "list"
}
],
"type": "tab"
} |