# Rocksky - [Introduction](https://docs.rocksky.app/index.md): Rocksky is a decentralized, open-source music scrobbling network built on the AT Protocol. - [Quick start](https://docs.rocksky.app/quickstart.md): Get up and running with Rocksky in under 5 minutes. - [FAQ](https://docs.rocksky.app/faq.md): Common questions about Rocksky, scrobbling, self-hosting, and privacy. - [Jellyfin](https://docs.rocksky.app/integrations/jellyfin.md): Scrobble plays from your Jellyfin server to Rocksky. - [Rocksky as a personal Jellyfin server](https://docs.rocksky.app/integrations/jellyfin-server.md): Stream your uploaded library through any Jellyfin-compatible client, using Rocksky as the backend. - [Navidrome](https://docs.rocksky.app/integrations/navidrome.md): Scrobble from a Navidrome server to Rocksky using the ListenBrainz-compatible API. - [Rocksky as a personal Navidrome server](https://docs.rocksky.app/integrations/navidrome-server.md): Stream your uploaded library through any Navidrome / Subsonic-compatible client, using Rocksky as the backend. - [Native Android scrobbling](https://docs.rocksky.app/integrations/android.md): Record plays from other music apps with Rocksky's built-in Android scrobbler. - [Pano Scrobbler (Android)](https://docs.rocksky.app/integrations/pano-scrobbler.md): Scrobble from any Android music player using Pano Scrobbler. - [Web Scrobbler](https://docs.rocksky.app/integrations/web-scrobbler.md): Scrobble plays from YouTube, SoundCloud, Spotify Web, and 100+ other sites with the Web Scrobbler browser extension. - [Kodi](https://docs.rocksky.app/integrations/kodi.md): Scrobble plays from Kodi to Rocksky using the official ListenBrainz add-on. - [Claude Desktop (MCP)](https://docs.rocksky.app/integrations/claude-desktop.md): Query your scrobble history from Claude Desktop using the Rocksky MCP server. - [Local scrobble API](https://docs.rocksky.app/integrations/scrobble-api-local.md): Run a local ListenBrainz / Last.fm / Web Scrobbler-compatible server backed by Rocksky. - [Rocksky playerd](https://docs.rocksky.app/players/playerd.md): Play your music on a Raspberry Pi or another computer, and control it from Rocksky. - [Remote player protocol](https://docs.rocksky.app/players/remote-protocol.md): Connect a music player or build a controller with Rocksky's WebSocket protocol. - [Scrobble mirroring](https://docs.rocksky.app/mirroring/overview.md): Keep using Last.fm, ListenBrainz, or Teal.fm — and have those plays mirror into Rocksky automatically. - [Mirror from Last.fm](https://docs.rocksky.app/mirroring/lastfm.md): Pull plays from a Last.fm account into Rocksky on a 30-second poll. - [Mirror from ListenBrainz](https://docs.rocksky.app/mirroring/listenbrainz.md): Pull listens from a ListenBrainz account into Rocksky on a 30-second poll. - [Mirror from Teal.fm](https://docs.rocksky.app/mirroring/tealfm.md): Subscribe to Teal.fm play events in real time over AT Protocol Jetstream. - [Migrating from Last.fm](https://docs.rocksky.app/migrations/from-lastfm.md): Repoint any Last.fm Audioscrobbler-compatible client at Rocksky. - [Migrating from ListenBrainz](https://docs.rocksky.app/migrations/from-listenbrainz.md): Switch any ListenBrainz client over to Rocksky in two steps. - [Overview](https://docs.rocksky.app/cli/overview.md): Scrobble tracks, view stats, and manage your listening history from the terminal. - [login](https://docs.rocksky.app/cli/login.md): Authenticate the CLI with your Bluesky account. - [whoami](https://docs.rocksky.app/cli/whoami.md): Show the currently authenticated user. - [nowplaying](https://docs.rocksky.app/cli/nowplaying.md): Show the currently playing track for yourself or any user. - [scrobbles](https://docs.rocksky.app/cli/scrobbles.md): List recent scrobbles for yourself or another user. - [scrobble](https://docs.rocksky.app/cli/scrobble.md): Record a play to your Rocksky profile. - [search](https://docs.rocksky.app/cli/search.md): Search Rocksky for tracks, albums, and accounts. - [stats](https://docs.rocksky.app/cli/stats.md): Show listening statistics for a user. - [artists](https://docs.rocksky.app/cli/artists.md): Show top artists for a user. - [albums](https://docs.rocksky.app/cli/albums.md): Show top albums for a user. - [tracks](https://docs.rocksky.app/cli/tracks.md): Show top tracks for a user. - [create apikey](https://docs.rocksky.app/cli/create-apikey.md): Generate a new API key for an application or integration. - [import](https://docs.rocksky.app/cli/import.md): Import your listening history from a Spotify or Last.fm export. - [sync](https://docs.rocksky.app/cli/sync.md): Sync local Rocksky data from the AT Protocol. - [mcp](https://docs.rocksky.app/cli/mcp.md): Start an MCP server so Claude and other LLMs can read your Rocksky data. - [scrobble-api](https://docs.rocksky.app/cli/scrobble-api.md): Run a local Last.fm / ListenBrainz / Web Scrobbler-compatible server. - [mpd](https://docs.rocksky.app/cli/mpd.md): Serve your Rocksky library over the MPD protocol to control playback and browse music. - [help](https://docs.rocksky.app/cli/help.md): Show help for any rocksky command. - [SDKs](https://docs.rocksky.app/sdks/overview.md): Official Rocksky SDKs — native AT Protocol clients across ten languages. - [TypeScript](https://docs.rocksky.app/sdks/typescript.md): TypeScript SDK for Rocksky — built on atcute. - [Python](https://docs.rocksky.app/sdks/python.md): Python SDK for Rocksky — native bindings to the shared Rust core. - [Rust](https://docs.rocksky.app/sdks/rust.md): Rust SDK for Rocksky — the rocksky-sdk crate, built on jacquard. - [Go](https://docs.rocksky.app/sdks/go.md): Go SDK for Rocksky — built on bluesky-social/indigo. - [Ruby](https://docs.rocksky.app/sdks/ruby.md): Ruby SDK for Rocksky — native bindings to the shared Rust core. - [Kotlin](https://docs.rocksky.app/sdks/kotlin.md): Kotlin SDK for Rocksky — native core via UniFFI (JNA). - [Elixir](https://docs.rocksky.app/sdks/elixir.md): Elixir SDK for Rocksky — over the shared Rustler NIF. - [Erlang](https://docs.rocksky.app/sdks/erlang.md): Erlang SDK for Rocksky — over the shared Rustler NIF. - [Clojure](https://docs.rocksky.app/sdks/clojure.md): Clojure SDK for Rocksky — native core over the JVM Panama FFM API. - [Gleam](https://docs.rocksky.app/sdks/gleam.md): Gleam SDK for Rocksky — over the shared Rustler NIF. - [Introduction](https://docs.rocksky.app/api-reference/introduction.md): The Rocksky HTTP API, built on AT Protocol XRPC. - [Get albums for an actor](https://docs.rocksky.app/api-reference/approckskyactor/get-albums-for-an-actor.md) - [Get artists for an actor](https://docs.rocksky.app/api-reference/approckskyactor/get-artists-for-an-actor.md) - [Get compatibility for an actor](https://docs.rocksky.app/api-reference/approckskyactor/get-compatibility-for-an-actor.md) - [Get loved songs for an actor](https://docs.rocksky.app/api-reference/approckskyactor/get-loved-songs-for-an-actor.md) - [Get neighbours for an actor](https://docs.rocksky.app/api-reference/approckskyactor/get-neighbours-for-an-actor.md) - [Get playlists for an actor](https://docs.rocksky.app/api-reference/approckskyactor/get-playlists-for-an-actor.md) - [Get scrobbles for an actor](https://docs.rocksky.app/api-reference/approckskyactor/get-scrobbles-for-an-actor.md) - [Get songs for an actor](https://docs.rocksky.app/api-reference/approckskyactor/get-songs-for-an-actor.md) - [Get the profile of an actor](https://docs.rocksky.app/api-reference/approckskyactor/get-the-profile-of-an-actor.md) - [Get detailed album view](https://docs.rocksky.app/api-reference/approckskyalbum/get-detailed-album-view.md) - [Get tracks for an album](https://docs.rocksky.app/api-reference/approckskyalbum/get-tracks-for-an-album.md) - [Get albums](https://docs.rocksky.app/api-reference/approckskyalbum/get-albums.md) - [Create a new API key for the authenticated user](https://docs.rocksky.app/api-reference/approckskyapikey/create-a-new-api-key-for-the-authenticated-user.md): The current handler contains placeholder logic; a successful response does not guarantee the requested operation was performed. - [Get a list of API keys for the authenticated user](https://docs.rocksky.app/api-reference/approckskyapikey/get-a-list-of-api-keys-for-the-authenticated-user.md): The current handler contains placeholder logic; a successful response does not guarantee the requested operation was performed. - [Remove an API key for the authenticated user](https://docs.rocksky.app/api-reference/approckskyapikey/remove-an-api-key-for-the-authenticated-user.md): The current handler contains placeholder logic; a successful response does not guarantee the requested operation was performed. - [Update an existing API key for the authenticated user](https://docs.rocksky.app/api-reference/approckskyapikey/update-an-existing-api-key-for-the-authenticated-user.md): The current handler contains placeholder logic; a successful response does not guarantee the requested operation was performed. - [Get artist details](https://docs.rocksky.app/api-reference/approckskyartist/get-artist-details.md) - [Get artist's albums](https://docs.rocksky.app/api-reference/approckskyartist/get-artists-albums.md) - [Get artist listeners](https://docs.rocksky.app/api-reference/approckskyartist/get-artist-listeners.md) - [Get artist recent listeners ordered by most recent scrobble](https://docs.rocksky.app/api-reference/approckskyartist/get-artist-recent-listeners-ordered-by-most-recent-scrobble.md) - [Get artist's tracks](https://docs.rocksky.app/api-reference/approckskyartist/get-artists-tracks.md) - [Get artists](https://docs.rocksky.app/api-reference/approckskyartist/get-artists.md) - [Get scrobble counts grouped by the release decade of the music](https://docs.rocksky.app/api-reference/approckskycharts/get-scrobble-counts-grouped-by-the-release-decade-of-the-music.md) - [Get the scrobbles chart](https://docs.rocksky.app/api-reference/approckskycharts/get-the-scrobbles-chart.md) - [Get top artists](https://docs.rocksky.app/api-reference/approckskycharts/get-top-artists.md) - [Get the listeners who scrobbled the most, all-time or over a date range](https://docs.rocksky.app/api-reference/approckskycharts/get-the-listeners-who-scrobbled-the-most-all-time-or-over-a-date-range.md) - [Get top tracks](https://docs.rocksky.app/api-reference/approckskycharts/get-top-tracks.md) - [Download a file from Dropbox by its unique identifier](https://docs.rocksky.app/api-reference/approckskydropbox/download-a-file-from-dropbox-by-its-unique-identifier.md): This route is registered but currently throws a not-implemented error. It does not return the download described by its lexicon. - [Retrieve a list of files from Dropbox](https://docs.rocksky.app/api-reference/approckskydropbox/retrieve-a-list-of-files-from-dropbox.md) - [Retrieve metadata of a file or folder in Dropbox](https://docs.rocksky.app/api-reference/approckskydropbox/retrieve-metadata-of-a-file-or-folder-in-dropbox.md): The current handler contains placeholder logic; a successful response does not guarantee the requested operation was performed. - [Retrieve a temporary link to access a file in Dropbox](https://docs.rocksky.app/api-reference/approckskydropbox/retrieve-a-temporary-link-to-access-a-file-in-dropbox.md) - [Delete one of the authenticated user's equalizer presets.](https://docs.rocksky.app/api-reference/approckskyequalizer/delete-one-of-the-authenticated-users-equalizer-presets.md) - [List equalizer presets. If `did` is provided the request is public; otherwise an auth token is required and the caller's own presets are returned.](https://docs.rocksky.app/api-reference/approckskyequalizer/list-equalizer-presets-if-`did`-is-provided-the-request-is-public;-otherwise-an-auth-token-is-required-and-the-callers-own-presets-are-returned.md): Supply did for public lookup, or authenticate to use your own DID. - [Create or update one of the authenticated user's equalizer presets. The record key is derived from the name (lower case, dashes, no spaces), so saving with an existing name overwrites that preset.](https://docs.rocksky.app/api-reference/approckskyequalizer/create-or-update-one-of-the-authenticated-users-equalizer-presets-the-record-key-is-derived-from-the-name-lower-case-dashes-no-spaces-so-saving-with-an-existing-name-overwrites-that-preset.md) - [Get personalised album recommendations for a user](https://docs.rocksky.app/api-reference/approckskyfeed/get-personalised-album-recommendations-for-a-user.md) - [Get personalised artist recommendations for a user](https://docs.rocksky.app/api-reference/approckskyfeed/get-personalised-artist-recommendations-for-a-user.md) - [Get the feed by uri](https://docs.rocksky.app/api-reference/approckskyfeed/get-the-feed-by-uri.md): Authentication is required when filtering by following. - [Get information about a feed generator](https://docs.rocksky.app/api-reference/approckskyfeed/get-information-about-a-feed-generator.md) - [Get all feed generators](https://docs.rocksky.app/api-reference/approckskyfeed/get-all-feed-generators.md) - [Get personalised track recommendations for a user](https://docs.rocksky.app/api-reference/approckskyfeed/get-personalised-track-recommendations-for-a-user.md) - [Get all currently playing tracks by users](https://docs.rocksky.app/api-reference/approckskyfeed/get-all-currently-playing-tracks-by-users.md): Authentication is required when filtering by following. - [Search for content in the feed](https://docs.rocksky.app/api-reference/approckskyfeed/search-for-content-in-the-feed.md) - [Download a file from Google Drive by its unique identifier](https://docs.rocksky.app/api-reference/approckskygoogledrive/download-a-file-from-google-drive-by-its-unique-identifier.md): This route is registered but currently throws a not-implemented error. It does not return the download described by its lexicon. - [Get a file from Google Drive by its unique identifier](https://docs.rocksky.app/api-reference/approckskygoogledrive/get-a-file-from-google-drive-by-its-unique-identifier.md): The current handler contains placeholder logic; a successful response does not guarantee the requested operation was performed. - [Get a list of files from Google Drive](https://docs.rocksky.app/api-reference/approckskygoogledrive/get-a-list-of-files-from-google-drive.md) - [Creates a 'follow' relationship from the authenticated account to a specified account.](https://docs.rocksky.app/api-reference/approckskygraph/creates-a-follow-relationship-from-the-authenticated-account-to-a-specified-account.md) - [Enumerates accounts which follow a specified account (actor).](https://docs.rocksky.app/api-reference/approckskygraph/enumerates-accounts-which-follow-a-specified-account-actor.md) - [Enumerates accounts which a specified account (actor) follows.](https://docs.rocksky.app/api-reference/approckskygraph/enumerates-accounts-which-a-specified-account-actor-follows.md) - [Enumerates accounts which follow a specified account (actor) and are followed by the viewer.](https://docs.rocksky.app/api-reference/approckskygraph/enumerates-accounts-which-follow-a-specified-account-actor-and-are-followed-by-the-viewer.md): Without authentication, returns an empty result. - [Removes a 'follow' relationship from the authenticated account to a specified account.](https://docs.rocksky.app/api-reference/approckskygraph/removes-a-follow-relationship-from-the-authenticated-account-to-a-specified-account.md) - [Create a new playlist.](https://docs.rocksky.app/api-reference/approckskylibrary/create-a-new-playlist.md) - [Delete an uploaded album owned by the authenticated user. Removes every upload the user owns for the album (storage objects + library entries); shared album/track metadata and scrobble history are preserved.](https://docs.rocksky.app/api-reference/approckskylibrary/delete-an-uploaded-album-owned-by-the-authenticated-user-removes-every-upload-the-user-owns-for-the-album-storage-objects-+-library-entries;-shared-albumtrack-metadata-and-scrobble-history-are-preserved.md) - [Delete a playlist.](https://docs.rocksky.app/api-reference/approckskylibrary/delete-a-playlist.md) - [Delete an uploaded song owned by the authenticated user. Removes the user's upload (storage object + library entry); the shared track metadata and scrobble history are preserved.](https://docs.rocksky.app/api-reference/approckskylibrary/delete-an-uploaded-song-owned-by-the-authenticated-user-removes-the-users-upload-storage-object-+-library-entry;-the-shared-track-metadata-and-scrobble-history-are-preserved.md) - [Get details for an album, including a list of songs.](https://docs.rocksky.app/api-reference/approckskylibrary/get-details-for-an-album-including-a-list-of-songs.md) - [Get album notes, images and similar info.](https://docs.rocksky.app/api-reference/approckskylibrary/get-album-notes-images-and-similar-info.md) - [Get a list of albums by various criteria.](https://docs.rocksky.app/api-reference/approckskylibrary/get-a-list-of-albums-by-various-criteria.md) - [Get details for an artist, including a list of albums.](https://docs.rocksky.app/api-reference/approckskylibrary/get-details-for-an-artist-including-a-list-of-albums.md) - [Get artist biography, images and similar artists.](https://docs.rocksky.app/api-reference/approckskylibrary/get-artist-biography-images-and-similar-artists.md) - [Get all artists in the library, indexed alphabetically.](https://docs.rocksky.app/api-reference/approckskylibrary/get-all-artists-in-the-library-indexed-alphabetically.md) - [Get a cover-art URL for an album, artist or song.](https://docs.rocksky.app/api-reference/approckskylibrary/get-a-cover-art-url-for-an-album-artist-or-song.md) - [Get a download URL for a song.](https://docs.rocksky.app/api-reference/approckskylibrary/get-a-download-url-for-a-song.md) - [Get all genres in the library.](https://docs.rocksky.app/api-reference/approckskylibrary/get-all-genres-in-the-library.md) - [Get an indexed list of all artists.](https://docs.rocksky.app/api-reference/approckskylibrary/get-an-indexed-list-of-all-artists.md) - [Get all internet radio stations.](https://docs.rocksky.app/api-reference/approckskylibrary/get-all-internet-radio-stations.md) - [Get details about the software license.](https://docs.rocksky.app/api-reference/approckskylibrary/get-details-about-the-software-license.md) - [Get lyrics for a song.](https://docs.rocksky.app/api-reference/approckskylibrary/get-lyrics-for-a-song.md) - [Browse a music directory (artist, album or root).](https://docs.rocksky.app/api-reference/approckskylibrary/browse-a-music-directory-artist-album-or-root.md) - [Get all configured top-level music folders.](https://docs.rocksky.app/api-reference/approckskylibrary/get-all-configured-top-level-music-folders.md) - [Get what the user is currently playing.](https://docs.rocksky.app/api-reference/approckskylibrary/get-what-the-user-is-currently-playing.md) - [Get the saved play queue for the user.](https://docs.rocksky.app/api-reference/approckskylibrary/get-the-saved-play-queue-for-the-user.md) - [Get a playlist and its entries.](https://docs.rocksky.app/api-reference/approckskylibrary/get-a-playlist-and-its-entries.md) - [Get all playlists owned by the user.](https://docs.rocksky.app/api-reference/approckskylibrary/get-all-playlists-owned-by-the-user.md) - [Get a list of random songs.](https://docs.rocksky.app/api-reference/approckskylibrary/get-a-list-of-random-songs.md) - [Get the current status of the media library scan.](https://docs.rocksky.app/api-reference/approckskylibrary/get-the-current-status-of-the-media-library-scan.md) - [Get songs similar to the given artist.](https://docs.rocksky.app/api-reference/approckskylibrary/get-songs-similar-to-the-given-artist.md) - [Get details for a single song.](https://docs.rocksky.app/api-reference/approckskylibrary/get-details-for-a-single-song.md) - [Get songs in a given genre.](https://docs.rocksky.app/api-reference/approckskylibrary/get-songs-in-a-given-genre.md) - [Get starred songs, albums and artists.](https://docs.rocksky.app/api-reference/approckskylibrary/get-starred-songs-albums-and-artists.md) - [Get a playable stream URL for a song.](https://docs.rocksky.app/api-reference/approckskylibrary/get-a-playable-stream-url-for-a-song.md) - [Get the top songs for an artist.](https://docs.rocksky.app/api-reference/approckskylibrary/get-the-top-songs-for-an-artist.md) - [Get details about the authenticated user.](https://docs.rocksky.app/api-reference/approckskylibrary/get-details-about-the-authenticated-user.md) - [Test connectivity with the server.](https://docs.rocksky.app/api-reference/approckskylibrary/test-connectivity-with-the-server.md) - [Save the play queue for the user.](https://docs.rocksky.app/api-reference/approckskylibrary/save-the-play-queue-for-the-user.md) - [Register a play (scrobble) for a song.](https://docs.rocksky.app/api-reference/approckskylibrary/register-a-play-scrobble-for-a-song.md) - [Search for artists, albums and songs.](https://docs.rocksky.app/api-reference/approckskylibrary/search-for-artists-albums-and-songs.md) - [Star a song, album or artist.](https://docs.rocksky.app/api-reference/approckskylibrary/star-a-song-album-or-artist.md) - [Initiate a rescan of the media library.](https://docs.rocksky.app/api-reference/approckskylibrary/initiate-a-rescan-of-the-media-library.md) - [Remove a star from a song, album or artist.](https://docs.rocksky.app/api-reference/approckskylibrary/remove-a-star-from-a-song-album-or-artist.md) - [Update the now-playing song for the user.](https://docs.rocksky.app/api-reference/approckskylibrary/update-the-now-playing-song-for-the-user.md) - [Update an existing playlist.](https://docs.rocksky.app/api-reference/approckskylibrary/update-an-existing-playlist.md) - [Dislike a shout](https://docs.rocksky.app/api-reference/approckskylike/dislike-a-shout.md) - [Dislike a song](https://docs.rocksky.app/api-reference/approckskylike/dislike-a-song.md) - [Like a shout](https://docs.rocksky.app/api-reference/approckskylike/like-a-shout.md) - [Like a song](https://docs.rocksky.app/api-reference/approckskylike/like-a-song.md) - [Get the authenticated user's scrobble mirror sources (Last.fm, ListenBrainz, Teal.fm).](https://docs.rocksky.app/api-reference/approckskymirror/get-the-authenticated-users-scrobble-mirror-sources-lastfm-listenbrainz-tealfm.md): Without authentication, returns the default disabled provider settings. - [Upsert a mirror source for the authenticated user. Toggling `enabled` notifies the mirror process over NATS so it can start/stop the per-user task without a restart.](https://docs.rocksky.app/api-reference/approckskymirror/upsert-a-mirror-source-for-the-authenticated-user-toggling-`enabled`-notifies-the-mirror-process-over-nats-so-it-can-startstop-the-per-user-task-without-a-restart.md) - [Get the number of unread notifications for the authenticated user.](https://docs.rocksky.app/api-reference/approckskynotification/get-the-number-of-unread-notifications-for-the-authenticated-user.md): Authenticate to retrieve your unread count. Without a token, returns zero. - [List notifications for the authenticated user, most recent first.](https://docs.rocksky.app/api-reference/approckskynotification/list-notifications-for-the-authenticated-user-most-recent-first.md): Authenticate to retrieve your notifications. Without a token, returns an empty list and zero unread count. - [Mark notifications as viewed. When no ids are provided, marks all of the authenticated user's notifications as viewed.](https://docs.rocksky.app/api-reference/approckskynotification/mark-notifications-as-viewed-when-no-ids-are-provided-marks-all-of-the-authenticated-users-notifications-as-viewed.md): Authentication is needed to change notifications. Without a token, makes no changes and returns zero unread count. - [Add items to the player's queue](https://docs.rocksky.app/api-reference/approckskyplayer/add-items-to-the-players-queue.md): The current handler contains placeholder logic; a successful response does not guarantee the requested operation was performed. - [Get the currently playing track](https://docs.rocksky.app/api-reference/approckskyplayer/get-the-currently-playing-track.md): The current handler contains placeholder logic; a successful response does not guarantee the requested operation was performed. - [Retrieve the current playback queue](https://docs.rocksky.app/api-reference/approckskyplayer/retrieve-the-current-playback-queue.md): The current handler contains placeholder logic; a successful response does not guarantee the requested operation was performed. - [Play the next track in the queue](https://docs.rocksky.app/api-reference/approckskyplayer/play-the-next-track-in-the-queue.md): The current handler contains placeholder logic; a successful response does not guarantee the requested operation was performed. - [Pause the currently playing track](https://docs.rocksky.app/api-reference/approckskyplayer/pause-the-currently-playing-track.md): The current handler contains placeholder logic; a successful response does not guarantee the requested operation was performed. - [Resume playback of the currently paused track](https://docs.rocksky.app/api-reference/approckskyplayer/resume-playback-of-the-currently-paused-track.md): The current handler contains placeholder logic; a successful response does not guarantee the requested operation was performed. - [Play all tracks in a directory](https://docs.rocksky.app/api-reference/approckskyplayer/play-all-tracks-in-a-directory.md): The current handler contains placeholder logic; a successful response does not guarantee the requested operation was performed. - [Play a specific audio file](https://docs.rocksky.app/api-reference/approckskyplayer/play-a-specific-audio-file.md): The current handler contains placeholder logic; a successful response does not guarantee the requested operation was performed. - [Play the previous track in the queue](https://docs.rocksky.app/api-reference/approckskyplayer/play-the-previous-track-in-the-queue.md): The current handler contains placeholder logic; a successful response does not guarantee the requested operation was performed. - [Seek to a specific position in the currently playing track](https://docs.rocksky.app/api-reference/approckskyplayer/seek-to-a-specific-position-in-the-currently-playing-track.md): The current handler contains placeholder logic; a successful response does not guarantee the requested operation was performed. - [Add songs to a playlist. Publishes one app.rocksky.playlist.song record per song to the caller's repo; only the playlist owner may do so.](https://docs.rocksky.app/api-reference/approckskyplaylist/add-songs-to-a-playlist-publishes-one-approckskyplaylistsong-record-per-song-to-the-callers-repo;-only-the-playlist-owner-may-do-so.md) - [Create a new playlist](https://docs.rocksky.app/api-reference/approckskyplaylist/create-a-new-playlist.md) - [Retrieve a playlist by its ID](https://docs.rocksky.app/api-reference/approckskyplaylist/retrieve-a-playlist-by-its-id.md) - [Retrieve a list of playlists](https://docs.rocksky.app/api-reference/approckskyplaylist/retrieve-a-list-of-playlists.md) - [Insert a directory into a playlist](https://docs.rocksky.app/api-reference/approckskyplaylist/insert-a-directory-into-a-playlist.md) - [Insert files into a playlist](https://docs.rocksky.app/api-reference/approckskyplaylist/insert-files-into-a-playlist.md): The current handler contains placeholder logic; a successful response does not guarantee the requested operation was performed. - [Remove a playlist](https://docs.rocksky.app/api-reference/approckskyplaylist/remove-a-playlist.md) - [Remove one track from a playlist. Deletes the app.rocksky.playlist.song record that put it there, which only the repo that added it can do. Prefer `index`: a song can sit in a playlist more than once, and `songUri` alone cannot say which copy to drop.](https://docs.rocksky.app/api-reference/approckskyplaylist/remove-one-track-from-a-playlist-deletes-the-approckskyplaylistsong-record-that-put-it-there-which-only-the-repo-that-added-it-can-do-prefer-`index`:-a-song-can-sit-in-a-playlist-more-than-once-and-`songuri`-alone-cannot-say-which-copy-to-drop.md) - [Start a playlist](https://docs.rocksky.app/api-reference/approckskyplaylist/start-a-playlist.md): The current handler contains placeholder logic; a successful response does not guarantee the requested operation was performed. - [Update a playlist's metadata. Rewrites the app.rocksky.playlist record in place; only the owner may do so.](https://docs.rocksky.app/api-reference/approckskyplaylist/update-a-playlists-metadata-rewrites-the-approckskyplaylist-record-in-place;-only-the-owner-may-do-so.md) - [Get Rockbox audio settings. If `did` is provided the request is public; otherwise an auth token is required and the caller's own settings are returned.](https://docs.rocksky.app/api-reference/approckskyrockbox/get-rockbox-audio-settings-if-`did`-is-provided-the-request-is-public;-otherwise-an-auth-token-is-required-and-the-callers-own-settings-are-returned.md): Supply did for public lookup, or authenticate to use your own DID. - [Upsert the authenticated user's Rockbox audio settings. Only provided sections are merged; omitted sections are left unchanged.](https://docs.rocksky.app/api-reference/approckskyrockbox/upsert-the-authenticated-users-rockbox-audio-settings-only-provided-sections-are-merged;-omitted-sections-are-left-unchanged.md) - [Create a new scrobble](https://docs.rocksky.app/api-reference/approckskyscrobble/create-a-new-scrobble.md) - [Get a scrobble by its unique identifier](https://docs.rocksky.app/api-reference/approckskyscrobble/get-a-scrobble-by-its-unique-identifier.md) - [Get scrobbles all scrobbles](https://docs.rocksky.app/api-reference/approckskyscrobble/get-scrobbles-all-scrobbles.md) - [Create a new shout](https://docs.rocksky.app/api-reference/approckskyshout/create-a-new-shout.md) - [Get shouts for an album](https://docs.rocksky.app/api-reference/approckskyshout/get-shouts-for-an-album.md) - [Get shouts for an artist](https://docs.rocksky.app/api-reference/approckskyshout/get-shouts-for-an-artist.md) - [Get the shouts of an actor's profile](https://docs.rocksky.app/api-reference/approckskyshout/get-the-shouts-of-an-actors-profile.md) - [Get replies to a shout](https://docs.rocksky.app/api-reference/approckskyshout/get-replies-to-a-shout.md) - [Get all shouts for a specific track](https://docs.rocksky.app/api-reference/approckskyshout/get-all-shouts-for-a-specific-track.md) - [Remove a shout by its ID](https://docs.rocksky.app/api-reference/approckskyshout/remove-a-shout-by-its-id.md) - [Reply to a shout](https://docs.rocksky.app/api-reference/approckskyshout/reply-to-a-shout.md) - [Report a shout for moderation](https://docs.rocksky.app/api-reference/approckskyshout/report-a-shout-for-moderation.md) - [Create a new song](https://docs.rocksky.app/api-reference/approckskysong/create-a-new-song.md) - [Get a song by its uri, MusicBrainz ID, or ISRC](https://docs.rocksky.app/api-reference/approckskysong/get-a-song-by-its-uri-musicbrainz-id-or-isrc.md) - [Get song recent listeners ordered by most recent scrobble](https://docs.rocksky.app/api-reference/approckskysong/get-song-recent-listeners-ordered-by-most-recent-scrobble.md) - [Get songs](https://docs.rocksky.app/api-reference/approckskysong/get-songs.md) - [Matches a song against Rocksky’s music database and external metadata providers to resolve the best canonical track, artist, and album](https://docs.rocksky.app/api-reference/approckskysong/matches-a-song-against-rocksky’s-music-database-and-external-metadata-providers-to-resolve-the-best-canonical-track-artist-and-album.md) - [Get the currently playing track](https://docs.rocksky.app/api-reference/approckskyspotify/get-the-currently-playing-track.md) - [Play the next track in the queue](https://docs.rocksky.app/api-reference/approckskyspotify/play-the-next-track-in-the-queue.md) - [Pause the currently playing track](https://docs.rocksky.app/api-reference/approckskyspotify/pause-the-currently-playing-track.md) - [Resume playback of the currently paused track](https://docs.rocksky.app/api-reference/approckskyspotify/resume-playback-of-the-currently-paused-track.md) - [Play the previous track in the queue](https://docs.rocksky.app/api-reference/approckskyspotify/play-the-previous-track-in-the-queue.md) - [Seek to a specific position in the currently playing track](https://docs.rocksky.app/api-reference/approckskyspotify/seek-to-a-specific-position-in-the-currently-playing-track.md) - [Get all-time stats across all of Rocksky.](https://docs.rocksky.app/api-reference/approckskystats/get-all-time-stats-across-all-of-rocksky.md) - [stats.getStats](https://docs.rocksky.app/api-reference/approckskystats/statsgetstats.md) - [Get a user's Wrapped stats for a year or a recent rolling window](https://docs.rocksky.app/api-reference/approckskystats/get-a-users-wrapped-stats-for-a-year-or-a-recent-rolling-window.md) ## OpenAPI Specs - [openapi](/api-reference/openapi.json) ## Optional - [rocksky.app](https://rocksky.app) - [Source](https://tangled.org/@rocksky.app/rocksky) - [Discord](https://discord.gg/EVcBy2fVa3) This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.