Tabs Tab 1 of 1 Card Näin Ruotsi rakennettiin 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-77347870-1773221611245",
"version": "1783742417"
},
"labels": [
{
"formatted": "7.00–8.00",
"type": "generic"
},
{
"raw": "2026-07-11T07:00:00+03:00/2026-07-11T08:00: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": "Näin Ruotsi rakennettiin",
"type": "card"
} Card Postimies Pate, erikoislähettipalvelu (S) 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-787691-1559565001315",
"version": "1783744563"
},
"labels": [
{
"formatted": "7.35–7.50",
"type": "generic"
},
{
"raw": "2026-07-11T07:35:48+03:00/2026-07-11T07:50:47+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": "Postimies Pate, erikoislähettipalvelu (S)",
"type": "card"
} Card BUU-klubben 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-76566262-1781156148081",
"version": "1783745038"
},
"labels": [
{
"formatted": "7.43–8.12",
"type": "generic"
},
{
"raw": "2026-07-11T07:43:42+03:00/2026-07-11T08:12:45+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": "BUU-klubben",
"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-07-11T07:50:47+03:00",
"lastModified": "2026-07-11T07:43:42+03:00",
"limit": 3,
"offset": 0,
"service": "yle-tv1,yle-tv2,yle-teema-fem",
"transmissionlimit": 1
} Card Suunnistuksen MM Description: Sprinttiviesti 0 controls, 4 labels Card JSON{
"description": "Sprinttiviesti",
"image": {
"id": "13-1-4092915-1723456345832",
"version": "1783695647"
},
"labels": [
{
"formatted": "Tänään klo 16.25–18.00",
"type": "generic"
},
{
"raw": "1-78045162",
"type": "itemId"
},
{
"formatted": "Yle TV2",
"raw": "yle-tv2",
"type": "broadcastService"
},
{
"backgroundColor": "#B3000000",
"formatted": "tänään klo 16.25",
"type": "overlay"
}
],
"overlayLogoImage": {
"alt": "Yle TV2",
"id": "yle-tv2_vt",
"version": "1750676272"
},
"pointer": {
"type": "program",
"uri": "yleareena://items/1-78045162"
},
"presentation": "broadcastCard",
"title": "Suunnistuksen MM",
"transmissions": [
{
"broadcastStatus": "upcoming",
"description": "Sprinttiviesti",
"endTime": "2026-07-11T18:00:25+03:00",
"formattedStartTime": "16.25",
"image": {
"id": "13-1-4092915-1723456345832",
"version": "1783695647"
},
"ondemandStatus": "upcoming",
"pointer": {
"type": "program",
"uri": "yleareena://items/1-78045162"
},
"startTime": "2026-07-11T16:25:00+03:00",
"title": "Suunnistuksen MM"
}
],
"type": "card"
} Card Lentopallon Euroopan liiga Description: Hollanti - Suomi 0 controls, 4 labels Card JSON{
"description": "Hollanti - Suomi",
"image": {
"id": "13-1-78140121-1782982987913",
"version": "1783617833"
},
"labels": [
{
"formatted": "Tänään klo 20.15–23.00",
"type": "generic"
},
{
"raw": "1-78140121",
"type": "itemId"
},
{
"formatted": "Yle TV2",
"raw": "yle-tv2",
"type": "broadcastService"
},
{
"backgroundColor": "#B3000000",
"formatted": "tänään klo 20.15",
"type": "overlay"
}
],
"overlayLogoImage": {
"alt": "Yle TV2",
"id": "yle-tv2_vt",
"version": "1750676272"
},
"pointer": {
"type": "program",
"uri": "yleareena://items/1-78140121"
},
"presentation": "broadcastCard",
"title": "Lentopallon Euroopan liiga",
"transmissions": [
{
"broadcastStatus": "upcoming",
"description": "Hollanti - Suomi",
"endTime": "2026-07-11T23:00:00+03:00",
"formattedStartTime": "20.15",
"image": {
"id": "13-1-78140121-1782982987913",
"version": "1783617833"
},
"ondemandStatus": "upcoming",
"pointer": {
"type": "program",
"uri": "yleareena://items/1-78140121"
},
"startTime": "2026-07-11T20:15:00+03:00",
"title": "Lentopallon Euroopan liiga"
}
],
"type": "card"
} Card Lentopallon Euroopan liiga Description: Hollanti - Suomi 0 controls, 4 labels Card JSON{
"description": "Hollanti - Suomi",
"image": {
"id": "13-1-78360874-1782983020992",
"version": "1782983064"
},
"labels": [
{
"formatted": "Tänään klo 20.15–23.30",
"type": "generic"
},
{
"raw": "1-78360874",
"type": "itemId"
},
{
"formatted": "Yle Areena",
"raw": "yle-areena",
"type": "broadcastService"
},
{
"backgroundColor": "#B3000000",
"formatted": "tänään klo 20.15",
"type": "overlay"
}
],
"pointer": {
"type": "program",
"uri": "yleareena://items/1-78360874"
},
"presentation": "broadcastCard",
"title": "Lentopallon Euroopan liiga",
"transmissions": [
{
"broadcastStatus": "upcoming",
"description": "Lentopallon miesten Euroopan liigan finaalin 2. osa Hollanti - Suomi.",
"endTime": "2026-07-11T23:30:00+03:00",
"formattedStartTime": "20.15",
"image": {
"id": "13-1-78360874-1782983020992",
"version": "1782983064"
},
"ondemandStatus": "upcoming",
"pointer": {
"type": "program",
"uri": "yleareena://items/1-78360874"
},
"startTime": "2026-07-11T20:15:00+03:00",
"title": "Hollanti - Suomi"
}
],
"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": 138,
"expires": "2026-07-11T07:50:26+03:00",
"limit": 3,
"offset": 0,
"refreshAt": "2026-07-11T16:25:50+03:00"
} Card Kirjani tarina: Jarkko Volanen kertoo romaanistaan Vainovalkeat 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": "7.30–7.52",
"type": "generic"
},
{
"raw": "2026-07-11T07:30:40+03:00/2026-07-11T07:52:20+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": "Kirjani tarina: Jarkko Volanen kertoo romaanistaan Vainovalkeat",
"type": "card"
} Card YleX Aamu: Viikon Parhaat 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": "6.00–11.00",
"type": "generic"
},
{
"raw": "2026-07-11T06:00:00+03:00/2026-07-11T11: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": "YleX Aamu: Viikon Parhaat",
"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": "7.03–7.50",
"type": "generic"
},
{
"raw": "2026-07-11T07:03:00+03:00/2026-07-11T07:50: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": "Onnen sävel",
"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": "7.03–7.50",
"type": "generic"
},
{
"raw": "2026-07-11T07:03:00+03:00/2026-07-11T07:50: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": "Onnen sävel",
"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": "7.03–7.50",
"type": "generic"
},
{
"raw": "2026-07-11T07:03:00+03:00/2026-07-11T07:50: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": "Onnen sävel",
"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": "7.03–7.50",
"type": "generic"
},
{
"raw": "2026-07-11T07:03:00+03:00/2026-07-11T07:50: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": "Onnen sävel",
"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": "7.03–7.50",
"type": "generic"
},
{
"raw": "2026-07-11T07:03:00+03:00/2026-07-11T07:50: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": "Onnen sävel",
"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": "7.03–7.50",
"type": "generic"
},
{
"raw": "2026-07-11T07:03:00+03:00/2026-07-11T07:50: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": "Onnen sävel",
"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": "7.03–7.50",
"type": "generic"
},
{
"raw": "2026-07-11T07:03:00+03:00/2026-07-11T07:50: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": "Onnen sävel",
"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": "7.03–7.50",
"type": "generic"
},
{
"raw": "2026-07-11T07:03:00+03:00/2026-07-11T07:50: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": "Onnen sävel",
"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": "7.03–7.50",
"type": "generic"
},
{
"raw": "2026-07-11T07:03:00+03:00/2026-07-11T07:50: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": "Onnen sävel",
"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": "7.03–7.50",
"type": "generic"
},
{
"raw": "2026-07-11T07:03:00+03:00/2026-07-11T07:50: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": "Onnen sävel",
"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": "7.03–7.50",
"type": "generic"
},
{
"raw": "2026-07-11T07:03:00+03:00/2026-07-11T07:50: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": "Onnen sävel",
"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": "7.03–7.50",
"type": "generic"
},
{
"raw": "2026-07-11T07:03:00+03:00/2026-07-11T07:50: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": "Onnen sävel",
"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": "7.03–7.50",
"type": "generic"
},
{
"raw": "2026-07-11T07:03:00+03:00/2026-07-11T07:50: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": "Onnen sävel",
"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": "7.03–7.50",
"type": "generic"
},
{
"raw": "2026-07-11T07:03:00+03:00/2026-07-11T07:50: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": "Onnen sävel",
"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": "7.03–7.50",
"type": "generic"
},
{
"raw": "2026-07-11T07:03:00+03:00/2026-07-11T07:50: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": "Onnen sävel",
"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": "7.03–7.50",
"type": "generic"
},
{
"raw": "2026-07-11T07:03:00+03:00/2026-07-11T07:50: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": "Onnen sävel",
"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": "7.03–7.50",
"type": "generic"
},
{
"raw": "2026-07-11T07:03:00+03:00/2026-07-11T07:50: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": "Onnen sävel",
"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": "7.03–7.50",
"type": "generic"
},
{
"raw": "2026-07-11T07:03:00+03:00/2026-07-11T07:50: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": "Onnen sävel",
"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-07-11T07:50:00+03:00",
"lastModified": "2026-07-11T07:30:40+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 YleX Viikonloppu: Videot Description: YleX Viikonloppu: Riina Lehtola 0 controls, 4 labels Card JSON{
"description": "YleX Viikonloppu: Riina Lehtola",
"image": {
"id": "13-1-78365798-1783063768504",
"version": "1783063862"
},
"labels": [
{
"formatted": "Tänään klo 13.00–17.00",
"type": "generic"
},
{
"raw": "1-78365798",
"type": "itemId"
},
{
"formatted": "Yle Areena",
"raw": "yle-areena",
"type": "broadcastService"
},
{
"backgroundColor": "#B3000000",
"formatted": "tänään klo 13.00",
"type": "overlay"
}
],
"pointer": {
"type": "program",
"uri": "yleareena://items/1-78365798"
},
"presentation": "broadcastCard",
"title": "YleX Viikonloppu: Videot",
"transmissions": [
{
"broadcastStatus": "upcoming",
"endTime": "2026-07-11T17:00:00+03:00",
"formattedStartTime": "13.00",
"image": {
"id": "13-1-78365798-1783063768504",
"version": "1783063862"
},
"ondemandStatus": "upcoming",
"pointer": {
"type": "program",
"uri": "yleareena://items/1-78365798"
},
"startTime": "2026-07-11T13:00:00+03:00",
"title": "YleX Viikonloppu: Riina Lehtola"
}
],
"type": "card"
} Card Lyömättömät: Videot 0 controls, 4 labels Card JSON{
"description": "Lyömättömät",
"image": {
"id": "13-1-78376515-1783702913428",
"version": "1783702968"
},
"labels": [
{
"formatted": "Tänään klo 17.00–20.00",
"type": "generic"
},
{
"raw": "1-78376515",
"type": "itemId"
},
{
"formatted": "Yle Areena",
"raw": "yle-areena",
"type": "broadcastService"
},
{
"backgroundColor": "#B3000000",
"formatted": "tänään klo 17.00",
"type": "overlay"
}
],
"pointer": {
"type": "program",
"uri": "yleareena://items/1-78376515"
},
"presentation": "broadcastCard",
"title": "Lyömättömät: Videot",
"transmissions": [
{
"broadcastStatus": "upcoming",
"description": "Solosen, Kosolan ja Xmiehen juontama freestyle-show.",
"endTime": "2026-07-11T20:00:00+03:00",
"formattedStartTime": "17.00",
"image": {
"id": "13-1-78376515-1783702913428",
"version": "1783702968"
},
"ondemandStatus": "upcoming",
"pointer": {
"type": "program",
"uri": "yleareena://items/1-78376515"
},
"startTime": "2026-07-11T17:00:00+03:00",
"title": "Lyömättömät"
}
],
"type": "card"
} Card Tangomarkkinat Description: Tangomarkkinat 2026: Finaali 0 controls, 5 labels Card JSON{
"description": "Tangomarkkinat 2026: Finaali",
"image": {
"id": "13-1-78208443-1779874042065",
"version": "1782726582"
},
"labels": [
{
"formatted": "Tänään klo 19.30–22.00",
"type": "generic"
},
{
"raw": "1-78208443",
"type": "itemId"
},
{
"formatted": "Yle Areena",
"raw": "yle-areena",
"type": "broadcastService"
},
{
"backgroundColor": "#B3000000",
"formatted": "tänään klo 19.30",
"type": "overlay"
},
{
"audience": {
"subAccount": false
},
"backgroundColor": "#F8F9FA",
"color": "#131415",
"formatted": "CHAT",
"type": "highlight"
}
],
"pointer": {
"type": "program",
"uri": "yleareena://items/1-78208443"
},
"presentation": "broadcastCard",
"title": "Tangomarkkinat",
"transmissions": [
{
"broadcastStatus": "upcoming",
"description": "Tervetuloa mukaan Tangofinaalin Live-Chattiin!",
"endTime": "2026-07-11T22:00:00+03:00",
"formattedStartTime": "19.30",
"image": {
"id": "13-1-78208443-1779874042065",
"version": "1782726582"
},
"ondemandStatus": "upcoming",
"pointer": {
"type": "program",
"uri": "yleareena://items/1-78208443"
},
"startTime": "2026-07-11T19:30:00+03:00",
"title": "Tangomarkkinat 2026: Finaali"
}
],
"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-07-11T07:50:26+03:00",
"limit": 3,
"offset": 0,
"refreshAt": "2026-07-11T13: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"
} |