Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

API coverage

Tip

See Features for what BeetstreamNext adds on top of the spec itself :)

BeetstreamNext implements essentially the entire Subsonic/OpenSubsonic REST API. The only unsupported endpoints are video-related:

Full endpoint-by-endpoint checklist

Important

Following the reference Subsonic specification, error responses are returned with an HTTP 200 status. The real outcome is in the response body’s status field ("ok" or "failed", with an error code/message on failure).

Extensions

Alongside the base spec, BeetstreamNext implements all the OpenSubsonic extensions.

ExtensionDescription
apiKeyAuthenticationAuthenticating with an API key alone, no password
formPostAccepting requests as application/x-www-form-urlencoded POST bodies
getPodcastEpisodeRetrieving a single podcast episode’s metadata by ID
indexBasedQueueSetting/reading the play queue by index instead of only by ID
playbackReportClients reporting their playback timeline back to the server
songLyricsSynchronized, multi-language lyrics, retrievable by song ID
topSongsByArtistIdRetrieving an artist’s top songs by artist ID
transcodeOffsetStarting a transcode from a given time offset
transcodingClients making their own transcoding decisions and requesting transcoded streams directly
sonicSimilarityAcoustic similarity and playlist path-finding (see Library augmentation)

Note

These extensions are always advertised by the server except for sonicSimilarity which only appears if an AudioMuse-AI instance is configured.

Authentication

Both authentication schemes from the spec are supported:

  • API-key authentication Always available, and recommended. See app passwords.
  • Legacy MD5-token / cleartext password authentication: For older clients. Can be enabled server-wide via legacy_auth if your client needs it. It only accepts app passwords created with Usable as a password.