Glossary
Players
Section titled “Players”Yoto Players are the heart of the experience — each one has a unique deviceId
.
Library
Section titled “Library”Your Library is where all your Yoto Cards live, along with any custom playlists you’ve created. It’s your personal collection, ready to play anytime.
Cards & Playlists
Section titled “Cards & Playlists”Playlists are custom collections of audio, which you can link to a Make Your Own (MYO) card. Each playlist can include one or more chapters.
Chapters
Section titled “Chapters”Chapters group tracks under a single title and icon, making it easy to organise longer stories or themed content.
Tracks
Section titled “Tracks”Tracks are the smallest unit of audio - a single file, like a song or story segment, that lives inside a playlist or chapter.
Public & Confidential Yoto Clients
Section titled “Public & Confidential Yoto Clients”When creating an app via the developer portal, you’ll be given the option to create a public or confidential client.
The main difference is whether or not the app runs in an environment that can store its client secret
securely.
For example, mobile apps, CLI tools and single-page-applications, are all assumed to have insecure storage mechanisms. This is why they require an additional PKCE (Proof Key for Code Exchange) step for security.
So, if someone steals the client_id
(by looking at the code or decompiling the app) and intercepts the authorization code (via network sniffing), they still can’t complete the authentication flow without the PKCE code_verifier
, which was generated randomly on the device.
Confidential clients will store the client secret
on a server that isn’t accessible to a consumer of your app, and as a result don’t require PKCE.
See the Next.js sample app for an example of a confidential client.
MQTT is a lightweight IoT protocol for sending and receiving messages between devices. Think of it like WebSockets — it’s perfect for controlling players, getting status updates, and connecting to other IoT devices.