3.3 KiB
Subsonic API
The API version implemented is 1.16.0 and has been tested on Android using DSub, Subsonic Player, Symfonium, Tempo, Tempus and Ultrasonic.
Folder navigation commands are supported. However, since LMS does not store information for each folder, it is not possible to star/unstar folders considered as artists. Given the API limitations of folder navigation commands, it is recommended to place all tracks of an album in the same folder and not to mix multiple albums in the same folder.
The Subsonic API is enabled by default.
Jukebox support
The jukebox‑control subset of the API is implemented through the jukeboxControl endpoint. Only the administrator may execute these actions and the service can be
enabled or disabled with the jukebox-audio-backend configuration option in lms.conf. When the PulseAudio backend is selected, LMS uses the normal system‑wide environment variables (PULSE_SERVER, PULSE_SINK, PULSE_SOURCE, etc.) to determine where audio is sent.
Note: the jukebox play queue is kept entirely in memory by the service and is not persisted.
OpenSubsonic API
OpenSubsonic is an initiative to patch and extend the legacy Subsonic API. You'll find more details in the official documentation
Authentication
LMS supports the API Key Authentication method. Each user has to generate their own API key on the settings page to use the Subsonic API. If a client's login screen has no dedicated API key field, enter the API key as the password instead.
Note: the legacy Subsonic authentication methods can be disabled using the lms.conf file.
Extra fields
The following extra fields are implemented:
Albumresponse:artistsdiscTitles: discs with no subtitle are omitteddisplayArtistexplicitStatusgenresisCompilationplayedmediaTypemoodsmusicBrainzIdoriginalReleaseDaterecordLabelsreleaseDatereleaseTypessortNameuserRatingversion
Childresponse:albumArtistsartistsbitDepthchannelCountcommentcontributorsdisplayAlbumArtistdisplayArtistexplicitStatusgenresmediaTypemoodsmusicBrainzId: note this is actually the recording MBID when this response refers to a songplayedreplayGainsamplingRate
Artistresponse:mediaTypemusicBrainzIdsortNameroles
Playlistresponse:readonly