update shortcuts (beta)
This endpoint is used to update the shortcuts configuration for a specific device identified by deviceId
.
Request Body
The request body must be a JSON object structured as follows:
shortcuts: An object containing the modes for the shortcuts.
modes: An object that defines different modes.
day: An object representing the day mode.
content: An array of commands to be executed during the day. Each command is an object with:
cmd: A string representing the command type (e.g., "track-play").
params: An object containing parameters for the command:
card: A string representing the card identifier.
chapter: A string representing the chapter name.
track: A string representing the track key. For Yoto Daily, this can also equal , which will dynamically play the track for the current day.
night: An object representing the night mode.
- content: An array of commands to be executed during the night (can be empty).
Body
Responses
200 OK
cardobject
contentobject
chaptersarray
[items]object
displayobject
tracksarray
[items]object
transitionsobject
configobject
coverobject
editSettingsobject
metadataobject
coverobject
mediaobject
ownershipobject
{ "card": { "cardId": "iyMpY", "content": { "activity": "yoto_SunClock", "availability": "", "chapters": [ { "ambient": null, "defaultTrackAmbient": null, "defaultTrackDisplay": null, "display": {}, "displayOverlay": "", "duration": 207, "fileSize": 3371554, "hasStreams": false, "key": "1qD3huwEZ3", "title": ".", "tracks": [ { "ambient": null, "channels": "stereo", "display": null, "displayOverlay": "", "duration": 207, "fileSize": 3371554, "format": "aac", "key": "7M9Yl9Sv84", "title": "Fashion", "trackUrl": "https://secure-media.aws.fooropa.com/yoto/dPFtoV9oP_ob3FKX7q2aDC5WeL8PuVURbgHs9R7Oc88?Expires=1708713290&Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly9zZWN1cmUtbWVkaWEuYXdzLmZvb3JvcGEuY29tL3lvdG8vZFBGdG9WOW9QX29iM0ZLWDdxMmFEQzVXZUw4UHVWVVJiZ0hzOVI3T2M4OCIsIkNvbmRpdGlvbiI6eyJEYXRlTGVzc1RoYW4iOnsiQVdTOkVwb2NoVGltZSI6MTcwODcxMzI5MH19fV19&Signature=gBJlVunm9kgqw3PjKe2uvHQRp2M6Rh3E5zFgMsSEZQBKimkK01-w2hQYNkiFYveAeLRtWpz9onBUtK8QFmVuJdUOR0GAhcsKShs-YOx7kKTbryxhWFNMMsB01s-hZ4LY7xwIXNYtT8GuYutyvnKoPdetZYhh-ZyqABv0C~IiFQMT6ShTd1ue5BH4tnHrIleALf79HJgiiqrhQqEcKq2QuJzP9zDAOXA5Egnv~ZL2~rQD-oG1~URaG4yTAy0OAfkzKCUazrT3sW55YN7WHKXZg-hHTYG65D9LM~2R-Smi5Dr5BEeZBLhzqG2AlUa3el6TGTpHCXodIaWcyUES20zzJA__&Key-Pair-Id=K2MERSR1IVHBLL#sha256=dPFtoV9oP_ob3FKX7q2aDC5WeL8PuVURbgHs9R7Oc88", "transitions": {}, "type": "audio" } ] }, { "ambient": null, "defaultTrackAmbient": { "glow2x28": null }, "defaultTrackDisplay": { "icon16x16": null }, "display": { "icon16x16": "https://yoto-card-api-test-media.s3.eu-west-2.amazonaws.com/yoto/HySqrruYJRGjaofyj6wzc-JOwI2WP31UkQqsh3_oYgE" }, "duration": 0, "fileSize": 0, "hasStreams": false, "key": "99", "overlayLabel": "1", "overlayLabelOverride": "1", "title": "Offline", "tracks": [ { "ambient": null, "display": null, "format": "aac", "key": "01", "overlayLabel": "1", "overlayLabelOverride": "1", "title": "blank.placeholder", "trackUrl": "https://secure-media.aws.fooropa.com/yoto/fxkVzXsb5Hyq1N6qFa9ZHgfH_TY8pbhUeVWggJ5ioJo?Expires=1708713290&Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly9zZWN1cmUtbWVkaWEuYXdzLmZvb3JvcGEuY29tL3lvdG8vZnhrVnpYc2I1SHlxMU42cUZhOVpIZ2ZIX1RZOHBiaFVlVldnZ0o1aW9KbyIsIkNvbmRpdGlvbiI6eyJEYXRlTGVzc1RoYW4iOnsiQVdTOkVwb2NoVGltZSI6MTcwODcxMzI5MH19fV19&Signature=Bs0Sl-EalcRTfV3MRy84ednj3Hl-sDEMv-~wpWfyIWmLkq1j6qilU19ErY6ni33CS3j2RVx0-cr4A79zZ32hOrH2qJgX1MdZPGdOHrdGVB6od1yeD15FZyafQuRJmOpBnCLVrWIjKcPnzxgaBHrsniAtKKED5K1xdddi2U4ehVxkCgSOD5KsrXgyDB8sZoRB~K8XTQDwjbC7GZAm834kDjxI89oQH9MRXPY9a6Dw6RyadZaSPaxyt~nS~RTj7HfP33d76oREMqu4PWMDa1siRgCrH~AgiIGqmLZo6O4E6odbWLWOaVw6rnIvNZXsr~iXoD5tvfGSWnrRWsBL2CiCGw__&Key-Pair-Id=K2MERSR1IVHBLL#sha256=fxkVzXsb5Hyq1N6qFa9ZHgfH_TY8pbhUeVWggJ5ioJo", "transitions": {}, "type": "audio" } ] }, { "ambient": null, "defaultTrackAmbient": { "glow2x28": null }, "defaultTrackDisplay": { "icon16x16": null }, "display": { "icon16x16": null }, "duration": 207, "fileSize": 3371554, "hasStreams": false, "key": "daily", "overlayLabel": "2", "overlayLabelOverride": "2", "title": "Yoto Daily", "tracks": [ { "ambient": null, "display": { "icon16x16": "https://yoto-card-api-test-media.s3.eu-west-2.amazonaws.com/yoto/lA1wfyk72tPC1-9hcgtgQYNELkaeLA2PkK1VAqeT5gI" }, "format": "aac", "key": "20200417", "overlayLabel": null, "overlayLabelOverride": null, "title": "Yoto Daily - Jokes of the Day - Random 12", "trackUrl": "https://secure-media.aws.fooropa.com/yoto/5sz29JNwO2iG-FoK02jiqlwDDDvrut7gnxMfB-juz60?Expires=1708713290&Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly9zZWN1cmUtbWVkaWEuYXdzLmZvb3JvcGEuY29tL3lvdG8vNXN6MjlKTndPMmlHLUZvSzAyamlxbHdERER2cnV0N2dueE1mQi1qdXo2MCIsIkNvbmRpdGlvbiI6eyJEYXRlTGVzc1RoYW4iOnsiQVdTOkVwb2NoVGltZSI6MTcwODcxMzI5MH19fV19&Signature=T4zISMs1J67PRRz3492We6GWiHySIRqaKh2eVZYk0sczXAfXct61d-A3SCT3jDqASrkOe00MeNZP8G58PgdUXTibYMZKatPMAduKyKq3SrtzPSAij3F2IC5WFZHTFI~C-ehF~rCpLxybHHYNZZc46PtgqOBuWGGfQ1tad2iZ3rdjzkQHbKKhr5Zw~LBWoIhasX03PCt~zpCSYWKO4z1EyzjAaFvptT2Dzoep28Xratt9uwI~bLqJZJbfimeDcwHexF3zu1FhFwuSqRnyOgiag4C3DGKNjEH-L4N5d-SVFhZ866~0AQjQoXzutVot5zdUR5eTuc6Kr9T2-vC0kildBQ__&Key-Pair-Id=K2MERSR1IVHBLL#sha256=5sz29JNwO2iG-FoK02jiqlwDDDvrut7gnxMfB-juz60", "transitions": {}, "type": "audio" }, { "ambient": null, "channels": "stereo", "display": null, "displayOverlay": "", "duration": 207, "fileSize": 3371554, "format": "aac", "key": "20220417", "title": "Fashion", "trackUrl": "https://secure-media.aws.fooropa.com/yoto/dPFtoV9oP_ob3FKX7q2aDC5WeL8PuVURbgHs9R7Oc88?Expires=1708713290&Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly9zZWN1cmUtbWVkaWEuYXdzLmZvb3JvcGEuY29tL3lvdG8vZFBGdG9WOW9QX29iM0ZLWDdxMmFEQzVXZUw4UHVWVVJiZ0hzOVI3T2M4OCIsIkNvbmRpdGlvbiI6eyJEYXRlTGVzc1RoYW4iOnsiQVdTOkVwb2NoVGltZSI6MTcwODcxMzI5MH19fV19&Signature=gBJlVunm9kgqw3PjKe2uvHQRp2M6Rh3E5zFgMsSEZQBKimkK01-w2hQYNkiFYveAeLRtWpz9onBUtK8QFmVuJdUOR0GAhcsKShs-YOx7kKTbryxhWFNMMsB01s-hZ4LY7xwIXNYtT8GuYutyvnKoPdetZYhh-ZyqABv0C~IiFQMT6ShTd1ue5BH4tnHrIleALf79HJgiiqrhQqEcKq2QuJzP9zDAOXA5Egnv~ZL2~rQD-oG1~URaG4yTAy0OAfkzKCUazrT3sW55YN7WHKXZg-hHTYG65D9LM~2R-Smi5Dr5BEeZBLhzqG2AlUa3el6TGTpHCXodIaWcyUES20zzJA__&Key-Pair-Id=K2MERSR1IVHBLL#sha256=dPFtoV9oP_ob3FKX7q2aDC5WeL8PuVURbgHs9R7Oc88", "transitions": {}, "type": "audio" } ] }, { "ambient": null, "defaultTrackAmbient": { "glow2x28": null }, "defaultTrackDisplay": { "icon16x16": null }, "display": { "icon16x16": "https://yoto-card-api-test-media.s3.eu-west-2.amazonaws.com/yoto/KK7ldukCS3-r2eu1MiQgqAvO7B7gzCqAMlbmPKFunx8" }, "duration": 0, "fileSize": 0, "hasStreams": true, "key": "day", "overlayLabel": "3", "overlayLabelOverride": "3", "title": "Radio", "tracks": [ { "ambient": null, "display": null, "key": "01", "overlayLabel": "3", "overlayLabelOverride": "3", "title": "Yoto Radio Live", "trackUrl": "http://sirius.shoutca.st:8908/stream", "transitions": {}, "type": "stream" } ] }, { "ambient": null, "defaultTrackAmbient": { "glow2x28": null }, "defaultTrackDisplay": { "icon16x16": null }, "display": { "icon16x16": "https://yoto-card-api-test-media.s3.eu-west-2.amazonaws.com/yoto/KK7ldukCS3-r2eu1MiQgqAvO7B7gzCqAMlbmPKFunx8" }, "duration": 0, "fileSize": 0, "hasStreams": true, "key": "night", "overlayLabel": "4", "overlayLabelOverride": "4", "title": "Radio", "tracks": [ { "ambient": null, "display": null, "key": "01", "overlayLabel": "4", "overlayLabelOverride": "4", "title": "Yoto Radio Live", "trackUrl": "http://sirius.shoutca.st:8908/stream", "transitions": {}, "type": "stream" } ] }, { "ambient": null, "defaultTrackAmbient": { "glow2x28": null }, "defaultTrackDisplay": { "icon16x16": null }, "display": { "icon16x16": "https://yoto-card-api-test-media.s3.eu-west-2.amazonaws.com/yoto/5nhxbogEhk-GM3s2P7pAsjG6Mg5sQasRG9KDrN7iat8" }, "duration": 0, "fileSize": 0, "hasStreams": true, "key": "radio-day", "overlayLabel": "day", "overlayLabelOverride": "day", "title": "Radio", "tracks": [ { "ambient": null, "display": { "icon16x16": "https://yoto-card-api-test-media.s3.eu-west-2.amazonaws.com/yoto/Xc8kTzkPnpkTS_nHkTkWSFZre4tOaDEtSMycTZsQKhY" }, "key": "01", "overlayLabel": "day", "overlayLabelOverride": "day", "title": "Yoto Radio Live", "trackUrl": "http://sirius.shoutca.st:8908/stream", "transitions": {}, "type": "stream" } ] }, { "ambient": null, "defaultTrackAmbient": { "glow2x28": null }, "defaultTrackDisplay": { "icon16x16": null }, "display": { "icon16x16": "https://yoto-card-api-test-media.s3.eu-west-2.amazonaws.com/yoto/5nhxbogEhk-GM3s2P7pAsjG6Mg5sQasRG9KDrN7iat8" }, "duration": 0, "fileSize": 0, "hasStreams": true, "key": "radio-night", "overlayLabel": "night", "overlayLabelOverride": "night", "title": "Radio", "tracks": [ { "ambient": null, "display": { "icon16x16": "https://yoto-card-api-test-media.s3.eu-west-2.amazonaws.com/yoto/Xc8kTzkPnpkTS_nHkTkWSFZre4tOaDEtSMycTZsQKhY" }, "key": "01", "overlayLabel": "night", "overlayLabelOverride": "night", "title": "Yoto Radio Live", "trackUrl": "http://sirius.shoutca.st:8908/stream", "transitions": {}, "type": "stream" } ] } ], "config": { "autoadvance": "none", "autoadvanceTrack": "none", "autoplay": false, "disableAutoOverlayLabels": false, "systemActivity": true }, "cover": { "imageL": "https://card-content.yotoplay.com/yoto/pub/Z4d77zOHwLXTDn0QPkoZPcvJpc_y4d-EDVbUHRb9jq4" }, "editSettings": { "autoOverlayLabels": "disabled", "editKeys": true, "transcodeAudioUploads": true }, "hidden": true, "playbackType": "linear", "version": "1" }, "createdAt": "2020-04-09T15:46:30.251Z", "metadata": { "category": "none", "cover": { "imageL": "https://card-content.yotoplay.com/yoto/pub/Z4d77zOHwLXTDn0QPkoZPcvJpc_y4d-EDVbUHRb9jq4" }, "description": "fks Sun Clock and Yoto Daily", "hidden": true, "media": { "duration": 414, "fileSize": 6743108, "hasStreams": true } }, "priority": "30", "slug": "sun-clock", "sortkey": "sun-clock", "title": "Button Play ", "updatedAt": "2022-11-07T16:53:33.933Z", "userId": "yoto" }, "ownership": { "canAccess": true, "cardIsCreatedByFamily": false, "cardIsFree": false, "cardIsInFamilyLibrary": false, "cardIsMadeByUser": false, "isAccessibleUsingSubscription": false, "userHasRole": true } }
Parameters
Path Parameters
/{deviceId}/shortcuts
Authorization
Request Body
Samples
curl "https://api.yotoplay.com/{deviceId}/shortcuts" --header "Authorization: Bearer [YOUR_TOKEN]"
const options = { method: 'PUT', headers: { 'Authorization': 'Bearer [YOUR_TOKEN]' } }; fetch('https://api.yotoplay.com/{deviceId}/shortcuts', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.yotoplay.com/{deviceId}/shortcuts",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer [YOUR_TOKEN]"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
import requests url = "https://api.yotoplay.com/{deviceId}/shortcuts" headers = { 'Authorization: Bearer [YOUR_TOKEN]' } response = requests.request("PUT", url, headers=headers) print(response.text)