Tabs Tab 1 of 1 Card Oddasat Pointer: yle-tv1.json (player) 1 control, 3 labels Card JSON{
"controls": [
{
"backgroundColor": "#E90E43",
"destination": {
"authentication": [
"yle-api"
],
"type": "player",
"uri": "https://areena.api.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-1-76725141-1787639643759",
"version": "1787647511"
},
"labels": [
{
"formatted": "11.44–11.55",
"type": "generic"
},
{
"raw": "2026-08-25T11:44:30+03:00/2026-08-25T11:55: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.yle.fi/v1/ui/players/yle-tv1.json?language=fi&v=10&client=yle-areena-web"
},
"presentation": "broadcastCard",
"title": "Oddasat",
"type": "card"
} Card Ammatti: kirjailija: Lassi Nummi Pointer: yle-tv2.json (player) 1 control, 3 labels Card JSON{
"controls": [
{
"backgroundColor": "#E90E43",
"destination": {
"authentication": [
"yle-api"
],
"type": "player",
"uri": "https://areena.api.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": "13-1-1382788-1565874878581",
"version": "1787646621"
},
"labels": [
{
"formatted": "11.30–12.20",
"type": "generic"
},
{
"raw": "2026-08-25T11:30:00+03:00/2026-08-25T12: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.yle.fi/v1/ui/players/yle-tv2.json?language=fi&v=10&client=yle-areena-web"
},
"presentation": "broadcastCard",
"title": "Ammatti: kirjailija: Lassi Nummi",
"type": "card"
} Card Vuoroviikoin 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.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-1-74922691-1782806345770",
"version": "1787646850"
},
"labels": [
{
"formatted": "11.33–12.00",
"type": "generic"
},
{
"raw": "2026-08-25T11:33:52+03:00/2026-08-25T12:00:00+03:00",
"rawType": "interval",
"type": "progress"
},
{
"formatted": "Yle Teema Fem",
"raw": "yle-teema-fem",
"type": "broadcastService"
}
],
"overlayLogoImage": {
"alt": "Yle Teema Fem",
"id": "yle-fem_vt",
"version": "1750676272"
},
"pointer": {
"authentication": [
"yle-api"
],
"type": "player",
"uri": "https://areena.api.yle.fi/v1/ui/players/yle-teema-fem.json?language=fi&v=10&client=yle-areena-web"
},
"presentation": "broadcastCard",
"title": "Vuoroviikoin",
"type": "card"
}
List JSON{
"controls": [],
"filters": [],
"source": {
"authentication": [
"yle-api"
],
"uri": "https://areena.api.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-08-25T11:55:00+03:00",
"lastModified": "2026-08-25T11:44:30+03:00",
"limit": 3,
"offset": 0,
"service": "yle-tv1,yle-tv2,yle-teema-fem",
"transmissionlimit": 1
} Card Superpesis Description: Miesten 3. puolivälierä KPL-KiPa 0 controls, 4 labels Card JSON{
"description": "Miesten 3. puolivälierä KPL-KiPa",
"image": {
"id": "13-1-77680884-1787560627115",
"version": "1787560657"
},
"labels": [
{
"formatted": "Tänään klo 17.00–19.45",
"type": "generic"
},
{
"raw": "1-77680884",
"type": "itemId"
},
{
"formatted": "Yle TV2",
"raw": "yle-tv2",
"type": "broadcastService"
},
{
"backgroundColor": "#B3000000",
"formatted": "tänään klo 17.00",
"type": "overlay"
}
],
"overlayLogoImage": {
"alt": "Yle TV2",
"id": "yle-tv2_vt",
"version": "1750676272"
},
"pointer": {
"type": "program",
"uri": "yleareena://items/1-77680884"
},
"presentation": "broadcastCard",
"title": "Superpesis",
"transmissions": [
{
"broadcastStatus": "upcoming",
"description": "Miesten 3. puolivälierä KPL-KiPa",
"endTime": "2026-08-25T19:45:00+03:00",
"formattedStartTime": "17.00",
"image": {
"id": "13-1-77680884-1787560627115",
"version": "1787560657"
},
"ondemandStatus": "upcoming",
"pointer": {
"type": "program",
"uri": "yleareena://items/1-77680884"
},
"startTime": "2026-08-25T17:00:00+03:00",
"title": "Superpesis"
}
],
"type": "card"
} Card Frisbeegolf Description: Naisten luokka 1. kierros 0 controls, 4 labels Card JSON{
"description": "Naisten luokka 1. kierros",
"image": {
"id": "13-1-67447533-1750232837165",
"version": "1784551634"
},
"labels": [
{
"formatted": "Ke 26.8. klo 16.25–20.30",
"type": "generic"
},
{
"raw": "1-78428619",
"type": "itemId"
},
{
"formatted": "Yle Areena",
"raw": "yle-areena",
"type": "broadcastService"
},
{
"backgroundColor": "#B3000000",
"formatted": "ke 26.8. klo 16.25",
"type": "overlay"
}
],
"pointer": {
"type": "program",
"uri": "yleareena://items/1-78428619"
},
"presentation": "broadcastCard",
"title": "Frisbeegolf",
"transmissions": [
{
"broadcastStatus": "upcoming",
"description": "MM-kisojen naisten ensimmäinen kierros Milfordissa, Yhdysvalloissa.",
"endTime": "2026-08-26T20:30:00+03:00",
"formattedStartTime": "16.25",
"image": {
"id": "13-1-67447533-1750232837165",
"version": "1784551634"
},
"ondemandStatus": "upcoming",
"pointer": {
"type": "program",
"uri": "yleareena://items/1-78428619"
},
"startTime": "2026-08-26T16:25:00+03:00",
"title": "Naisten luokka 1. kierros"
}
],
"type": "card"
} Card Frisbeegolf Description: Avoin luokka 1. kierros 0 controls, 4 labels Card JSON{
"description": "Avoin luokka 1. kierros",
"image": {
"id": "13-1-67447533-1750232837165",
"version": "1784551634"
},
"labels": [
{
"formatted": "Ke 26.8. klo 22.00–1.17",
"type": "generic"
},
{
"raw": "1-78428579",
"type": "itemId"
},
{
"formatted": "Yle TV2",
"raw": "yle-tv2",
"type": "broadcastService"
},
{
"backgroundColor": "#B3000000",
"formatted": "ke 26.8. klo 22.00",
"type": "overlay"
}
],
"overlayLogoImage": {
"alt": "Yle TV2",
"id": "yle-tv2_vt",
"version": "1750676272"
},
"pointer": {
"type": "program",
"uri": "yleareena://items/1-78428579"
},
"presentation": "broadcastCard",
"title": "Frisbeegolf",
"transmissions": [
{
"broadcastStatus": "upcoming",
"description": "Avoin luokka 1. kierros",
"endTime": "2026-08-27T01:17:50+03:00",
"formattedStartTime": "22.00",
"image": {
"id": "13-1-67447533-1750232837165",
"version": "1784551634"
},
"ondemandStatus": "upcoming",
"pointer": {
"type": "program",
"uri": "yleareena://items/1-78428579"
},
"startTime": "2026-08-26T22:00:00+03:00",
"title": "Frisbeegolf"
}
],
"type": "card"
}
List JSON{
"controls": [],
"filters": [],
"source": {
"authentication": [
"yle-api"
],
"uri": "https://areena.api.yle.fi/v1/ui/content/list?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzb3VyY2UiOiJodHRwczovL3Byb2dyYW1zLmFwaS55bGUuZmkvdjMvc2NoZW1hL3YzL3BhY2thZ2VzLzMwLTEwNjAvY3VycmVudC1vci1mdXR1cmUtbGl2ZSIsImNhcmRPcHRpb25zVGVtcGxhdGUiOiJ1cGNvbWluZyJ9.PRM6RRz2uszpXtEwXOqbLyhkYPkT-UzKO4TI8-ihLwY&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.yle.fi/v3/schema/v3/packages/30-1060/current-or-future-live"
} Card response meta JSON{
"analytics": {
"context": {
"yle": {
"source_url": "https://programs.api.yle.fi/v3/schema/v3/packages/30-1060/current-or-future-live?offset=0&limit=3"
}
}
},
"cardOptionsTemplate": "upcoming",
"count": 95,
"expires": "2026-08-25T08:52:07Z",
"limit": 3,
"offset": 0,
"refreshAt": "2026-08-25T17:00:50+03:00"
} Card Klasariparatiisi - Eva Tigerstedt: Intohimoa! 1 control, 3 labels Card JSON{
"controls": [
{
"backgroundColor": "#E90E43",
"destination": {
"authentication": [
"yle-api"
],
"type": "player",
"uri": "https://areena.api.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": "11.00–11.57",
"type": "generic"
},
{
"raw": "2026-08-25T11:00:00+03:00/2026-08-25T11:57: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": "Klasariparatiisi - Eva Tigerstedt: Intohimoa!",
"type": "card"
} Card Uuden musiikin X: Sonny Kylä-Liuhala 1 control, 3 labels Card JSON{
"controls": [
{
"backgroundColor": "#E90E43",
"destination": {
"authentication": [
"yle-api"
],
"type": "player",
"uri": "https://areena.api.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-08-25T10:00:00+03:00/2026-08-25T14: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: Sonny Kylä-Liuhala",
"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.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": "11.02–12.00",
"type": "generic"
},
{
"raw": "2026-08-25T11:02:00+03:00/2026-08-25T12:00: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": "Koko Suomen Radio",
"type": "card"
},
{
"color": "#21b8e8",
"controls": [
{
"backgroundColor": "#E90E43",
"destination": {
"authentication": [
"yle-api"
],
"type": "player",
"uri": "https://areena.api.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": "11.02–12.00",
"type": "generic"
},
{
"raw": "2026-08-25T11:02:00+03:00/2026-08-25T12:00: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": "Koko Suomen Radio",
"type": "card"
},
{
"color": "#21b8e8",
"controls": [
{
"backgroundColor": "#E90E43",
"destination": {
"authentication": [
"yle-api"
],
"type": "player",
"uri": "https://areena.api.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": "11.02–12.00",
"type": "generic"
},
{
"raw": "2026-08-25T11:02:00+03:00/2026-08-25T12:00: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": "Koko Suomen Radio",
"type": "card"
},
{
"color": "#21b8e8",
"controls": [
{
"backgroundColor": "#E90E43",
"destination": {
"authentication": [
"yle-api"
],
"type": "player",
"uri": "https://areena.api.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": "11.02–12.00",
"type": "generic"
},
{
"raw": "2026-08-25T11:02:00+03:00/2026-08-25T12:00: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": "Koko Suomen Radio",
"type": "card"
},
{
"color": "#21b8e8",
"controls": [
{
"backgroundColor": "#E90E43",
"destination": {
"authentication": [
"yle-api"
],
"type": "player",
"uri": "https://areena.api.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": "11.02–12.00",
"type": "generic"
},
{
"raw": "2026-08-25T11:02:00+03:00/2026-08-25T12:00: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": "Koko Suomen Radio",
"type": "card"
},
{
"color": "#21b8e8",
"controls": [
{
"backgroundColor": "#E90E43",
"destination": {
"authentication": [
"yle-api"
],
"type": "player",
"uri": "https://areena.api.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": "11.02–12.00",
"type": "generic"
},
{
"raw": "2026-08-25T11:02:00+03:00/2026-08-25T12:00: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": "Koko Suomen Radio",
"type": "card"
},
{
"color": "#21b8e8",
"controls": [
{
"backgroundColor": "#E90E43",
"destination": {
"authentication": [
"yle-api"
],
"type": "player",
"uri": "https://areena.api.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": "11.02–12.00",
"type": "generic"
},
{
"raw": "2026-08-25T11:02:00+03:00/2026-08-25T12:00: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": "Koko Suomen Radio",
"type": "card"
},
{
"color": "#21b8e8",
"controls": [
{
"backgroundColor": "#E90E43",
"destination": {
"authentication": [
"yle-api"
],
"type": "player",
"uri": "https://areena.api.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": "11.02–12.00",
"type": "generic"
},
{
"raw": "2026-08-25T11:02:00+03:00/2026-08-25T12:00: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": "Koko Suomen Radio",
"type": "card"
},
{
"color": "#21b8e8",
"controls": [
{
"backgroundColor": "#E90E43",
"destination": {
"authentication": [
"yle-api"
],
"type": "player",
"uri": "https://areena.api.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": "11.02–12.00",
"type": "generic"
},
{
"raw": "2026-08-25T11:02:00+03:00/2026-08-25T12:00: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": "Koko Suomen Radio",
"type": "card"
},
{
"color": "#21b8e8",
"controls": [
{
"backgroundColor": "#E90E43",
"destination": {
"authentication": [
"yle-api"
],
"type": "player",
"uri": "https://areena.api.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": "11.02–12.00",
"type": "generic"
},
{
"raw": "2026-08-25T11:02:00+03:00/2026-08-25T12:00: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": "Koko Suomen Radio",
"type": "card"
},
{
"color": "#21b8e8",
"controls": [
{
"backgroundColor": "#E90E43",
"destination": {
"authentication": [
"yle-api"
],
"type": "player",
"uri": "https://areena.api.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": "11.02–12.00",
"type": "generic"
},
{
"raw": "2026-08-25T11:02:00+03:00/2026-08-25T12:00: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": "Koko Suomen Radio",
"type": "card"
},
{
"color": "#21b8e8",
"controls": [
{
"backgroundColor": "#E90E43",
"destination": {
"authentication": [
"yle-api"
],
"type": "player",
"uri": "https://areena.api.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": "11.02–12.00",
"type": "generic"
},
{
"raw": "2026-08-25T11:02:00+03:00/2026-08-25T12:00: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": "Koko Suomen Radio",
"type": "card"
},
{
"color": "#21b8e8",
"controls": [
{
"backgroundColor": "#E90E43",
"destination": {
"authentication": [
"yle-api"
],
"type": "player",
"uri": "https://areena.api.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": "11.02–12.00",
"type": "generic"
},
{
"raw": "2026-08-25T11:02:00+03:00/2026-08-25T12:00: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": "Koko Suomen Radio",
"type": "card"
},
{
"color": "#21b8e8",
"controls": [
{
"backgroundColor": "#E90E43",
"destination": {
"authentication": [
"yle-api"
],
"type": "player",
"uri": "https://areena.api.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": "11.02–12.00",
"type": "generic"
},
{
"raw": "2026-08-25T11:02:00+03:00/2026-08-25T12:00: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": "Koko Suomen Radio",
"type": "card"
},
{
"color": "#21b8e8",
"controls": [
{
"backgroundColor": "#E90E43",
"destination": {
"authentication": [
"yle-api"
],
"type": "player",
"uri": "https://areena.api.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": "11.02–12.00",
"type": "generic"
},
{
"raw": "2026-08-25T11:02:00+03:00/2026-08-25T12:00: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": "Koko Suomen Radio",
"type": "card"
},
{
"color": "#21b8e8",
"controls": [
{
"backgroundColor": "#E90E43",
"destination": {
"authentication": [
"yle-api"
],
"type": "player",
"uri": "https://areena.api.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": "11.02–12.00",
"type": "generic"
},
{
"raw": "2026-08-25T11:02:00+03:00/2026-08-25T12:00: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": "Koko Suomen Radio",
"type": "card"
},
{
"color": "#21b8e8",
"controls": [
{
"backgroundColor": "#E90E43",
"destination": {
"authentication": [
"yle-api"
],
"type": "player",
"uri": "https://areena.api.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": "11.02–12.00",
"type": "generic"
},
{
"raw": "2026-08-25T11:02:00+03:00/2026-08-25T12:00: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": "Koko Suomen Radio",
"type": "card"
},
{
"color": "#21b8e8",
"controls": [
{
"backgroundColor": "#E90E43",
"destination": {
"authentication": [
"yle-api"
],
"type": "player",
"uri": "https://areena.api.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": "11.02–12.00",
"type": "generic"
},
{
"raw": "2026-08-25T11:02:00+03:00/2026-08-25T12:00: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": "Koko Suomen Radio",
"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.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-08-25T11:57:00+03:00",
"lastModified": "2026-08-25T11:35: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 Uuden musiikin X: Videot Description: Uuden musiikin X: Sonny Kylä-Liuhala 1 control, 5 labels Card JSON{
"controls": [
{
"destination": {
"authentication": [
"yle-api"
],
"type": "player",
"uri": "https://areena.api.yle.fi/v1/ui/players/1-78501539.json?language=fi&v=10&client=yle-areena-web"
},
"icon": {
"id": "icon-play",
"version": "1750676272"
},
"tag": "play",
"type": "navigator"
}
],
"description": "Uuden musiikin X: Sonny Kylä-Liuhala",
"image": {
"id": "13-1-78501539-1787551825346",
"version": "1787641222"
},
"labels": [
{
"formatted": "10.00–14.00",
"type": "generic"
},
{
"raw": "2026-08-25T10:00:00+03:00/2026-08-25T14:00:00+03:00",
"rawType": "interval",
"type": "progress"
},
{
"backgroundColor": "#E90E43",
"color": "#F8F9FA",
"formatted": "SUORA",
"type": "highlight"
},
{
"raw": "1-78501539",
"type": "itemId"
},
{
"formatted": "Yle Areena",
"raw": "yle-areena",
"type": "broadcastService"
}
],
"pointer": {
"type": "program",
"uri": "yleareena://items/1-78501539"
},
"presentation": "broadcastCard",
"title": "Uuden musiikin X: Videot",
"traits": {
"streamable": {
"playFromStart": true
}
},
"transmissions": [
{
"broadcastStatus": "current",
"description": "YleX:n musiikkitoimittaja Sonny Kylä-Liuhala käsittelee UMX:ssä tärkeimmät uutuusbiisit ja puheenaiheet arkipäivisin",
"endTime": "2026-08-25T14:00:00+03:00",
"formattedStartTime": "10.00",
"image": {
"id": "13-1-78501539-1787551825346",
"version": "1787641222"
},
"ondemandStatus": "upcoming",
"pointer": {
"type": "program",
"uri": "yleareena://items/1-78501539"
},
"startTime": "2026-08-25T10:00:00+03:00",
"title": "Uuden musiikin X: Sonny Kylä-Liuhala"
}
],
"type": "card"
} Card X3M Dag: Video Description: X3M Live: X3M Dag 1 control, 6 labels Card JSON{
"controls": [
{
"destination": {
"authentication": [
"yle-api"
],
"type": "player",
"uri": "https://areena.api.yle.fi/v1/ui/players/1-78493497.json?language=fi&v=10&client=yle-areena-web"
},
"icon": {
"id": "icon-play",
"version": "1750676272"
},
"tag": "play",
"type": "navigator"
}
],
"description": "X3M Live: X3M Dag",
"image": {
"id": "13-1-78493497-1787298848282",
"version": "1787644816"
},
"labels": [
{
"formatted": "11.00–13.00",
"type": "generic"
},
{
"raw": "2026-08-25T11:00:00+03:00/2026-08-25T13:00:00+03:00",
"rawType": "interval",
"type": "progress"
},
{
"backgroundColor": "#E90E43",
"color": "#F8F9FA",
"formatted": "SUORA",
"type": "highlight"
},
{
"raw": "1-78493497",
"type": "itemId"
},
{
"formatted": "Yle Areena",
"raw": "yle-areena",
"type": "broadcastService"
},
{
"audience": {
"subAccount": false
},
"backgroundColor": "#E90E43",
"color": "#F8F9FA",
"formatted": "CHAT",
"type": "highlight"
}
],
"pointer": {
"type": "program",
"uri": "yleareena://items/1-78493497"
},
"presentation": "broadcastCard",
"title": "X3M Dag: Video",
"traits": {
"streamable": {
"playFromStart": true
}
},
"transmissions": [
{
"broadcastStatus": "current",
"endTime": "2026-08-25T13:00:00+03:00",
"formattedStartTime": "11.00",
"image": {
"id": "13-1-78493497-1787298848282",
"version": "1787644816"
},
"ondemandStatus": "upcoming",
"pointer": {
"type": "program",
"uri": "yleareena://items/1-78493497"
},
"startTime": "2026-08-25T11:00:00+03:00",
"title": "X3M Live: X3M Dag"
}
],
"type": "card"
} Card X3M Eftermiddag: Video Description: X3M Live: X3M Eftermiddag 0 controls, 5 labels Card JSON{
"description": "X3M Live: X3M Eftermiddag",
"image": {
"id": "13-1-78496222-1787305391910",
"version": "1787305502"
},
"labels": [
{
"formatted": "Tänään klo 13.00–16.45",
"type": "generic"
},
{
"raw": "1-78496222",
"type": "itemId"
},
{
"formatted": "Yle Areena",
"raw": "yle-areena",
"type": "broadcastService"
},
{
"backgroundColor": "#B3000000",
"formatted": "tänään klo 13.00",
"type": "overlay"
},
{
"audience": {
"subAccount": false
},
"backgroundColor": "#E90E43",
"color": "#F8F9FA",
"formatted": "CHAT",
"type": "highlight"
}
],
"pointer": {
"type": "program",
"uri": "yleareena://items/1-78496222"
},
"presentation": "broadcastCard",
"title": "X3M Eftermiddag: Video",
"transmissions": [
{
"broadcastStatus": "upcoming",
"endTime": "2026-08-25T16:45:00+03:00",
"formattedStartTime": "13.00",
"image": {
"id": "13-1-78496222-1787305391910",
"version": "1787305502"
},
"ondemandStatus": "upcoming",
"pointer": {
"type": "program",
"uri": "yleareena://items/1-78496222"
},
"startTime": "2026-08-25T13:00:00+03:00",
"title": "X3M Live: X3M Eftermiddag"
}
],
"type": "card"
}
List JSON{
"controls": [],
"filters": [],
"source": {
"authentication": [
"yle-api"
],
"uri": "https://areena.api.yle.fi/v1/ui/content/list?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzb3VyY2UiOiJodHRwczovL3Byb2dyYW1zLmFwaS55bGUuZmkvdjMvc2NoZW1hL3YzL3NjaGVkdWxlcy9ub3c_c2VydmljZT15bGUtYXJlZW5hJnB1YmxpY2F0aW9uX3R5cGU9d2ViY2FzdCIsImNhcmRPcHRpb25zVGVtcGxhdGUiOiJ1cGNvbWluZyJ9.pYWih8gcHd6jRLJyRU-o4lMec-BZomb5ZrOjCMa6sG8&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.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.yle.fi/v3/schema/v3/schedules/now?service=yle-areena&publication_type=webcast&offset=0&limit=3"
}
}
},
"cardOptionsTemplate": "upcoming",
"count": 20,
"expires": "2026-08-25T08:52:07Z",
"limit": 3,
"offset": 0,
"refreshAt": "2026-08-25T13:00:50+03:00"
}
Tab JSON{
"content": [
{
"controls": [],
"filters": [],
"source": {
"authentication": [
"yle-api"
],
"uri": "https://areena.api.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.yle.fi/v1/ui/content/list?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzb3VyY2UiOiJodHRwczovL3Byb2dyYW1zLmFwaS55bGUuZmkvdjMvc2NoZW1hL3YzL3BhY2thZ2VzLzMwLTEwNjAvY3VycmVudC1vci1mdXR1cmUtbGl2ZSIsImNhcmRPcHRpb25zVGVtcGxhdGUiOiJ1cGNvbWluZyJ9.PRM6RRz2uszpXtEwXOqbLyhkYPkT-UzKO4TI8-ihLwY&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.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.yle.fi/v1/ui/content/list?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzb3VyY2UiOiJodHRwczovL3Byb2dyYW1zLmFwaS55bGUuZmkvdjMvc2NoZW1hL3YzL3NjaGVkdWxlcy9ub3c_c2VydmljZT15bGUtYXJlZW5hJnB1YmxpY2F0aW9uX3R5cGU9d2ViY2FzdCIsImNhcmRPcHRpb25zVGVtcGxhdGUiOiJ1cGNvbWluZyJ9.pYWih8gcHd6jRLJyRU-o4lMec-BZomb5ZrOjCMa6sG8&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"
} |