For Agents
Server-side contract that media providers implement so Siri can resolve, play, and update affinity for their catalog content. Six endpoints invoked by Apple, not by the vendor.
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the SiriKit Cloud Media, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
# On the machine that will host your Jentic One instance:
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with SiriKit Cloud Media API.
Add a media item to a user's library when Siri receives an 'add to my music' request
Start playback of a track, album, or playlist resolved by a Siri voice intent
Update affinity such as likes, dislikes, or rating against a media item
Report queue activity back to Siri so it knows what is currently playing
GET STARTED
Use for: I want to expose a music catalog to Siri voice commands, Implement the SiriKit Cloud Media addMedia handler for a podcast service, Return a configuration response describing supported media types to Siri, Handle a Siri playMedia intent and start playback for the requested track
Not supported: Does not handle catalog browsing, search, billing, or DRM — use for receiving Siri-resolved media intents and reporting queue activity only.
Jentic publishes the only available OpenAPI document for SiriKit Cloud Media, keeping it validated and agent-ready.
Jentic publishes the only available OpenAPI specification for SiriKit Cloud Media, keeping it validated and agent-ready. SiriKit Cloud Media is the server-side contract that third-party music and podcast services implement so Siri can resolve and play their content on Apple devices without an installed app extension. The spec defines six endpoints that Apple invokes against a vendor-hosted cloud extension to add media to a user library, start playback, update affinities like likes or dislikes, and report queue activity. Vendors implement this surface; they do not call it.
Expose a /configuration endpoint that describes the supported media types and capabilities
Receive structured intent payloads from Siri including resolved content identifiers
Patterns agents use SiriKit Cloud Media API for, with concrete tasks.
★ Voice-Activated Music Service Integration
A streaming music service stands up a SiriKit Cloud Media extension so users can say 'Hey Siri, play the new Phoebe Bridgers album on MyMusic' without opening an app. The vendor implements /intent/playMedia and /intent/addMedia so Siri can resolve catalog items and start playback. The /configuration endpoint advertises supported media types — songs, albums, playlists, podcasts.
Implement POST /intent/playMedia returning a successful response object for a track id supplied by Siri
Podcast Affinity Sync
A podcast platform implements /intent/updateMediaAffinity so a user saying 'Hey Siri, like this episode' updates the listener's preferences server-side. The endpoint receives the resolved episode identifier from Siri and the affinity verb, and the vendor mirrors the action into its own user-state store. This keeps Siri-driven actions in sync with the user's in-app library.
Handle POST /intent/updateMediaAffinity with a payload setting affinity LIKE for episode id 8821 and persist the change to the user's profile
Queue Activity Reporting
When Siri starts playback, the vendor reports the resulting queue back through /queues/playMedia and /queues/updateActivity so Siri can present consistent context — current track, position, and what is up next — across HomePod, AirPods, and CarPlay. This keeps follow-up commands like 'skip this' or 'what's playing' grounded in the real queue state.
Send POST /queues/updateActivity with the current track id, queue position 3 of 12, and elapsed time 47 seconds
AI Agent Cloud Extension Scaffolding
An AI agent uses Jentic to scaffold a SiriKit Cloud Media extension server for a media startup, generating handlers for all six endpoints from the validated OpenAPI schema. Because Apple does not publish a public spec, the Jentic-generated version is the only structured source available for code generation and testing.
Generate Python FastAPI handler stubs for /configuration, /intent/addMedia, /intent/playMedia, /intent/updateMediaAffinity, /queues/playMedia, and /queues/updateActivity
6 endpoints — jentic publishes the only available openapi specification for sirikit cloud media, keeping it validated and agent-ready.
METHOD
PATH
DESCRIPTION
/configuration
Return supported media types and extension capabilities
/intent/addMedia
Add a resolved item to the user's library
/intent/playMedia
Start playback of a resolved media item
/intent/updateMediaAffinity
Update like, dislike, or rating for a media item
/queues/playMedia
Report a new playback queue to Siri
/queues/updateActivity
Update queue position and current playback activity
/configuration
Return supported media types and extension capabilities
/intent/addMedia
Add a resolved item to the user's library
/intent/playMedia
Start playback of a resolved media item
/intent/updateMediaAffinity
Update like, dislike, or rating for a media item
/queues/playMedia
Report a new playback queue to Siri
Three things that make agents converge on Jentic-routed access.
Credential isolation
Because the vendor is the receiver, not the caller, credentials live on the implementation side — typically a shared secret registered with Apple. Jentic stores any test or staging shared secrets used during contract testing in the MAXsystem vault.
Intent-based discovery
Agents search Jentic for SiriKit intents (e.g. 'play media on siri') and Jentic returns the request/response schemas needed to scaffold a compliant extension server, eliminating guesswork from Apple's prose docs.
Time to first call
Direct integration: 1-2 weeks reading SiriKit prose docs and reverse-engineering payloads. Through Jentic with the validated spec: 1-2 days for stub generation and contract tests.
Alternatives and complements available in the Jentic catalogue.
Spotify Web API
Source-of-truth catalog API for resolving tracks and queues that a SiriKit extension then plays
Use Spotify when you need to look up track metadata or the user's library; use SiriKit Cloud Media to expose those tracks to Siri voice.
SoundCloud API
Audio catalog API often paired with a Siri extension for music and podcast playback
Use SoundCloud to fetch tracks; use SiriKit Cloud Media to serve those tracks to Siri voice intents.
YouTube Data API
Different ecosystem (Google Assistant via Actions) for routing voice media intents
Pick YouTube + Google Actions when integrating with Google Assistant; SiriKit Cloud Media is Apple-only.
Specific to using SiriKit Cloud Media API through Jentic.
Why is there no official OpenAPI spec for SiriKit Cloud Media?
Apple does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call SiriKit Cloud Media via structured tooling. It is validated against the live API and kept up to date. Get started at https://app.jentic.com/sign-up.
What authentication does SiriKit Cloud Media use?
The SiriKit Cloud Media spec does not declare a standard securityScheme — Apple authenticates the calling Siri service against the vendor-supplied extension URL using a relationship registered in the developer portal. Implementers typically validate the request signature and pin the source IP at the edge.
Who calls the SiriKit Cloud Media endpoints?
Apple's Siri service calls them. The vendor (the music or podcast provider) implements the six endpoints; they do not consume them. The OpenAPI spec is therefore most useful for scaffolding an extension server, generating handler stubs, and writing contract tests against the expected request and response shapes.
What media types does the cloud extension support?
The /configuration endpoint declares supported media types — typically song, album, playlist, station, audiobook, and podcast — and the affinity verbs the vendor honours. Siri uses the response to filter which voice intents it routes to your extension.
How do I scaffold a SiriKit Cloud Media server through Jentic?
Run pip install jentic, search 'sirikit cloud media playMedia', and load the operation to retrieve the request and response schemas. Use those schemas to generate handler stubs in any framework — FastAPI, Express, or Spring — and validate incoming Siri payloads against them.
Are the six endpoints stable across iOS releases?
The shape has been stable since the public SiriKit Cloud Media introduction. Apple iterates on supported media types and affinity verbs through the /configuration response, not by adding new endpoints. Treat the six paths as a fixed contract and feature-flag through configuration.
/queues/updateActivity
Update queue position and current playback activity