OpenSubsonic API (1)

Download OpenAPI specification:

Chat

Adds a message to the chat log.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)
query Parameters
message
required
string

The chat message.

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Returns the current visible (non-expired) chat messages.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)
query Parameters
since
number

Only return messages newer than this time (in millis since Jan 1 1970).

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

User Management

Changes the password of an existing user. You can only change your own password unless you have admin privileges.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)
query Parameters
password
required
string

The name of the user which should change its password.

username
required
string

The new password of the new user, either in clear text of hex-encoded.

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Creates a new user.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)
query Parameters
adminRole
boolean

Whether the user is administrator.

commentRole
boolean

Whether the user is allowed to create and edit comments and ratings.

coverArtRole
boolean

Whether the user is allowed to change cover art and tags.

downloadRole
boolean

Whether the user is allowed to download files.

email
required
string
jukeboxRole
boolean

Whether the user is allowed to play files in jukebox mode.

ldapAuthenticated
boolean

Whether the user is authenicated in LDAP.

maxBitRate
number

The maximum bit rate (in Kbps) for the user. Audio streams of higher bit rates are automatically downsampled to this bit rate. Legal values: 0 (no limit), 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320.

musicFolderId
Array of numbers

(Since 1.12.0) IDs of the music folders the user is allowed access to. Include the parameter once for each folder.

password
required
string

The password of the new user, either in clear text of hex-encoded.

playlistRole
boolean

Whether the user is allowed to create and delete playlists. Since 1.8.0, changing this role has no effect.

podcastRole
boolean

Whether the user is allowed to administrate Podcasts.

settingsRole
boolean

Whether the user is allowed to change personal settings and password.

shareRole
boolean

(Since 1.8.0) Whether the user is allowed to share files with anyone.

streamRole
boolean

Whether the user is allowed to play files.

uploadRole
boolean

Whether the user is allowed to upload files.

username
required
string
videoConversionRole
boolean

(Since 1.15.0) Whether the user is allowed to start video conversions.

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Deletes an existing user.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)
query Parameters
username
required
string

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Get details about a given user, including which authorization roles and folder access it has. Can be used to enable/disable certain features in the client, such as jukebox control.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Get details about all users, including which authorization roles and folder access they have. Only users with admin privileges are allowed to call this method.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Returns information about an API key.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Updates user properties. Only the owner of a user is allowed to update it.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)
query Parameters
adminRole
boolean

Whether the user is administrator.

commentRole
boolean

Whether the user is allowed to create and edit comments and ratings.

coverArtRole
boolean

Whether the user is allowed to change cover art and tags.

downloadRole
boolean

Whether the user is allowed to download files.

email
string
jukeboxRole
boolean

Whether the user is allowed to play files in jukebox mode.

ldapAuthenticated
boolean

Whether the user is authenicated in LDAP.

maxBitRate
number

The maximum bit rate (in Kbps) for the user. Audio streams of higher bit rates are automatically downsampled to this bit rate. Legal values: 0 (no limit), 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320.

musicFolderId
Array of numbers

(Since 1.12.0) IDs of the music folders the user is allowed access to. Include the parameter once for each folder.

password
string

The password of the user, either in clear text of hex-encoded.

playlistRole
boolean

Whether the user is allowed to create and delete playlists. Since 1.8.0, changing this role has no effect.

podcastRole
boolean

Whether the user is allowed to administrate Podcasts.

settingsRole
boolean

Whether the user is allowed to change personal settings and password.

shareRole
boolean

(Since 1.8.0) Whether the user is allowed to share files with anyone.

streamRole
boolean

Whether the user is allowed to play files.

uploadRole
boolean

Whether the user is allowed to upload files.

username
required
string
videoConversionRole
boolean

(Since 1.15.0) Whether the user is allowed to start video conversions.

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Bookmarks

Creates or updates a bookmark.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)
query Parameters
comment
string
id
required
string

ID of the media file to bookmark. If a bookmark already exists for this file it will be overwritten.

position
required
number

The position (in milliseconds) within the media file.

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Deletes a bookmark.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)
query Parameters
id
required
string

ID of the media file for which to delete the bookmark. Other users’ bookmarks are not affected.

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Returns all bookmarks for this user.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Returns the state of the play queue for this user.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Saves the state of the play queue for this user.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)
query Parameters
current
required
string

The ID of the current playing song.

id
required
Array of strings
position
required
number

The position (in milliseconds) within the media file.

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Internet Radio

Adds a new internet radio station.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)
query Parameters
homepageUrl
string
name
required
string
streamUrl
required
string

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Deletes an existing internet radio station.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)
query Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Returns a list of internet radio stations.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Updates an existing internet radio station.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)
query Parameters
homepageUrl
string
id
required
string
name
required
string
streamUrl
required
string

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Playlists

Creates (or updates) a playlist.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)
query Parameters
name
string
playlistId
string
songId
required
Array of strings

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Deletes a saved playlist.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)
query Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Returns a listing of files in a saved playlist.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)
query Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Returns all playlists.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)
query Parameters
username
string

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Updates a playlist. Only the owner of a playlist is allowed to update it.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)
query Parameters
comment
string
name
string
playlistId
required
string
public
boolean
songIdToAdd
Array of strings
songIdToRemove
Array of strings

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Podcast

Adds a new Podcast channel.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Deletes a Podcast channel.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)
query Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Deletes a Podcast episode.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)
query Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Request the server to start downloading a given Podcast episode.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)
query Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Returns the most recently published Podcast episodes.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)
query Parameters
id
string
includeEpisodes
boolean
Default: true

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Returns a list of podcasts.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)
query Parameters
id
string
includeEpisodes
boolean
Default: true

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Requests the server to check for new Podcast episodes.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Sharing

Creates a public URL that can be used by anyone to stream music or video from the Subsonic server.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)
query Parameters
description
string
expires
string

The time at which the share expires. Given as milliseconds since 1970.

id
required
Array of strings

ID of a song, album or video to share. Use one id parameter for each entry to share.

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Deletes an existing share.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)
query Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Returns information about shared media this user is allowed to manage.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Updates the description and/or expiration date for an existing share.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)
query Parameters
description
string
expires
string

The time at which the share expires. Given as milliseconds since 1970.

id
required
string

ID of the share to update.

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Media Retrieval

Downloads a given media file.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)
query Parameters
id
required
string

Responses

Response samples

Content type
application/json
"string"

Returns the avatar (personal image) for a user.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)
query Parameters
username
required
string

Responses

Response samples

Content type
application/json
"string"

Returns captions (subtitles) for a video.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)
query Parameters
format
string
id
required
string

Responses

Response samples

Content type
application/json
"string"

Returns the cover art for a given album or artist.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)
query Parameters
id
required
string
size
number

The image width and height in px

Responses

Response samples

Content type
application/json
"string"

Searches for and returns lyrics for a given song.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)
query Parameters
artist
string
title
string

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Retrieves all structured lyrics from the server for a given song.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)
query Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Downloads a given media file.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)
query Parameters
audioTrack
string
bitRate
number
id
required
string

Responses

Response samples

Content type
application/json
"string"

Streams a given media file.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)
query Parameters
converted
boolean

Only applicable to video streaming. Subsonic can optimize videos for streaming by converting them to MP4. If a conversion exists for the video in question, then setting this parameter to "true" will cause the converted video to be returned instead of the original.

estimateContentLength
boolean

If set to "true", the Content-Length HTTP header will be set to an estimated value for transcoded or downsampled media.

format
string

Specifies the preferred target format (e.g., "mp3" or "flv") in case there are multiple applicable transcodings. Starting with 1.9.0 you can use the special value "raw" to disable transcoding.

id
required
string
maxBitRate
number

If specified, the server will attempt to limit the bitrate to this value, in kilobits per second. If set to zero, no limit is imposed.

size
number

Only applicable to video streaming. Requested video size specified as WxH, for instance "640x480".

timeOffset
number

[OS] Only applicable to video streaming. If specified, start streaming at the given offset (in seconds) into the video. Typically used to implement video skipping.

Responses

Response samples

Content type
application/json
"string"

Browsing

Returns details for an album.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)
query Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Returns album info.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)
query Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Returns album info. Similar to getAlbumInfo, but organizes music according to ID3 tags.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)
query Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Returns details for an artist, including a list of albums.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)
query Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Returns artist info.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)
query Parameters
count
number
Default: 20
id
required
string
includeNotPresent
boolean

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Returns artist info.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)
query Parameters
count
number
id
required
string
includeNotPresent
boolean

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Returns a list of all artists.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)
query Parameters
musicFolderId
number

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Returns all genres.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Returns an indexed structure of all artists.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)
query Parameters
ifModifiedSince
string
musicFolderId
number

If specified, only return a result if the artist collection has changed since the given time (in milliseconds since 1 Jan 1970).

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Returns a listing of all files in a music directory.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)
query Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Returns all configured top-level music folders.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Returns a random collection of songs from the given artist and similar artists. Similar to getSimilarSongs, but organizes music according to ID3 tags.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)
query Parameters
count
number
id
required
string

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Returns details for a song.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)
query Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Returns top songs for the given artist.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)
query Parameters
artist
required
string

The name of the artist

count
number

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Returns details for a video.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)
query Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Returns all video files.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)
query Parameters
message
required
string

The chat message.

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Album/Song Lists

Returns a list of random, newest, highest rated etc. albums.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)
query Parameters
fromYear
number
genre
string
musicFolderId
number
offset
number
size
number
toYear
number
type
required
string
Enum: "random" "newest" "frequent" "recent" "starred" "highest" "alphabeticalByName" "alphabeticalByArtist" "byYear" "byGenre"

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Returns a list of random, newest, highest rated etc. albums. Similar to getAlbumList, but organizes music according to ID3 tags.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)
query Parameters
fromYear
number
genre
string
musicFolderId
number
offset
number
size
number
toYear
number
type
required
string
Enum: "random" "newest" "frequent" "recent" "starred" "highest" "alphabeticalByName" "alphabeticalByArtist" "byYear" "byGenre"

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Returns what is currently being played by all users.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Returns random songs matching the given criteria.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)
query Parameters
fromYear
number
genre
string
musicFolderId
number
size
number
toYear
number

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Returns a list of songs in a given genre.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)
query Parameters
count
number
genre
required
string
musicFolderId
number
offset
number

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Returns starred songs, albums and artists.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)
query Parameters
musicFolderId
number

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Returns starred songs, albums and artists. Similar to getStarred, but organizes music according to ID3 tags.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)
query Parameters
musicFolderId
number

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

System

Get details about the software license.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)
query Parameters
message
required
string

The chat message.

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

List the OpenSubsonic extensions supported by this server.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Ping Subsonic server to keep the connection alive.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Media Library Scanning

Returns the current status of the music scanner.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Initiates a rescan of the media libraries.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Jukebox

Controls the jukebox, i.e., playback directly on the server’s audio hardware.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)
query Parameters
action
string
Enum: "get" "status" "set" "start" "stop" "skip" "add" "clear" "remove" "shuffle" "setGain"
gain
number

Used by setGain to control the playback volume. A float value between 0.0 and 1.0.

id
Array of strings

Used by add and set. ID of song to add to the jukebox playlist. Use multiple id parameters to add many songs in the same request. (set is similar to a clear followed by a add, but will not change the currently playing track.)

index
number

Used by skip and remove. Zero-based index of the song to skip to or remove.

offset
number

Used by skip. Start playing this many seconds into the track.

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Media Annotation

Registers the local playback of one or more media files.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)
query Parameters
required
string or Array of strings
submission
boolean

True for playback completed, false for in-progress

number or Array of numbers

The time (in milliseconds since 1 Jan 1970) at which the song was listened to.

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Sets the rating for an item.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)
query Parameters
id
required
string
rating
required
integer [ 0 .. 5 ]

The rating from 0 to 5

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Attaches a star to a song, album or artist.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)
query Parameters
albumId
Array of strings
artistId
Array of strings
id
Array of strings

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Attaches a star to a song, album or artist.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)
query Parameters
albumId
Array of strings
artistId
Array of strings
id
Array of strings

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Searching

Returns albums, artists and songs matching the given search criteria. Supports paging through the result.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)
query Parameters
albumCount
number
Default: 20
albumOffset
number
Default: 0
artistCount
number
Default: 20
artistOffset
number
Default: 0
musicFolderId
number
query
string
songCount
number
Default: 20
songOffset
number
Default: 0

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}

Returns albums, artists and songs matching the given search criteria. Supports paging through the result.

Authorizations:
(ApiKeyApiVersionClientNamePasswordResponseFormatSaltTokenUsername)
query Parameters
albumCount
number
Default: 20
albumOffset
number
Default: 0
artistCount
number
Default: 20
artistOffset
number
Default: 0
musicFolderId
number
query
string
songCount
number
Default: 20
songOffset
number
Default: 0

Responses

Response samples

Content type
application/json
{
  • "subsonic-response": {
    }
}