### Get Music Folders Example Request
Source: https://github.com/opensubsonic/open-subsonic-api/blob/main/content/en/docs/Endpoints/getmusicfolders.md
Example URL to request all configured music folders. Ensure to replace placeholders with your server details and authentication credentials.
```http
http://your-server/rest/getMusicFolders.view?u=demo&p=demo&v=1.13.0&c=AwesomeClientName&f=json
```
--------------------------------
### OpenSubsonic Share Example
Source: https://github.com/opensubsonic/open-subsonic-api/blob/main/content/en/docs/Responses/shares.md
Example of a share object in OpenSubsonic format, including details of associated music entries.
```json
{
"share": [
{
"id": "12",
"url": "http://localhost:8989/share.php?id=12&secret=fXlKyEv3",
"description": "Forget and Remember (Comfort Fit)",
"username": "user",
"created": "2023-03-16T04:13:09+00:00",
"visitCount": 0,
"entry": [
{
"id": "300000116",
"parent": "200000021",
"title": "Can I Help U?",
"isDir": false,
"isVideo": false,
"type": "music",
"albumId": "200000021",
"album": "Forget and Remember",
"artistId": "100000036",
"artist": "Comfort Fit",
"coverArt": "300000116",
"duration": 103,
"bitRate": 216,
"bitDepth": 16,
"samplingRate": 44100,
"channelCount": 2,
"track": 1,
"year": 2005,
"genre": "Hip-Hop",
"size": 2811819,
"discNumber": 1,
"suffix": "mp3",
"contentType": "audio/mpeg",
"path": "user/Comfort Fit/Forget And Remember/1 - Can I Help U?.mp3"
},
{
"id": "300000121",
"parent": "200000021",
"title": "Planetary Picknick",
"isDir": false,
"isVideo": false,
"type": "music",
"albumId": "200000021",
"album": "Forget and Remember",
"artistId": "100000036",
"artist": "Comfort Fit",
"coverArt": "300000121",
"duration": 358,
"bitRate": 238,
"bitDepth": 16,
"samplingRate": 44100,
"channelCount": 2,
"track": 2,
"year": 2005,
"genre": "Hip-Hop",
"size": 10715592,
"discNumber": 1,
"suffix": "mp3",
"contentType": "audio/mpeg",
"path": "user/Comfort Fit/Forget And Remember/2 - Planetary Picknick.mp3"
}
]
}
]
}
```
--------------------------------
### Example Request URL
Source: https://github.com/opensubsonic/open-subsonic-api/blob/main/content/en/docs/Endpoints/getnowplaying.md
A complete example request URL including authentication and client parameters.
```http
http://your-server/rest/getNowPlaying.view?u=demo&p=demo&v=1.13.0&c=AwesomeClientName&f=json
```
--------------------------------
### Find Sonic Path Example
Source: https://github.com/opensubsonic/open-subsonic-api/blob/main/content/en/docs/Endpoints/findsonicpath.md
This example demonstrates how to call the findSonicPath endpoint with specified start and end song IDs, and a desired count for the path. Ensure you replace placeholder values with actual IDs and your server details.
```http
http://your-server/rest/findSonicPath.view?startSongId=100&endSongId=200&count=5&u=demo&p=demo&v=1.13.0&c=AwesomeClientName&f=json
```
--------------------------------
### Example URL for getOpenSubsonicExtensions
Source: https://github.com/opensubsonic/open-subsonic-api/blob/main/content/en/docs/Endpoints/getopensubsonicextensions.md
This is an example of how to call the getOpenSubsonicExtensions endpoint. Ensure you replace 'your-server' with the actual server address and use valid authentication credentials.
```http
http://your-server/rest/getOpenSubsonicExtensions.view?u=demo&p=demo&v=1.13.0&c=AwesomeClientName&f=json
```
--------------------------------
### OpenSubsonic Cue JSON Example
Source: https://github.com/opensubsonic/open-subsonic-api/blob/main/content/en/docs/Responses/cue.md
Represents a cue with start and end times, byte offsets, and the text value in JSON format.
```json
{
"start": 2747,
"end": 3018,
"value": "눈",
"byteStart": 0,
"byteEnd": 2
}
```
--------------------------------
### Get Music Folders Response (OpenSubsonic)
Source: https://github.com/opensubsonic/open-subsonic-api/blob/main/content/en/docs/Endpoints/getmusicfolders.md
Example JSON response for the getMusicFolders endpoint when using OpenSubsonic. This includes server details and a list of music folders.
```json
{
"subsonic-response": {
"status": "ok",
"version": "1.16.1",
"type": "AwesomeServerName",
"serverVersion": "0.1.3 (tag)",
"openSubsonic": true,
"musicFolders": {
"musicFolder": [
{
"id": 1,
"name": "music"
},
{
"id": 4,
"name": "upload"
}
]
}
}
}
```
--------------------------------
### OpenSubsonic Cue XML Example
Source: https://github.com/opensubsonic/open-subsonic-api/blob/main/content/en/docs/Responses/cue.md
Represents a cue with start and end times, byte offsets, and the text value in XML format.
```xml
눈
```
--------------------------------
### Update Share Example
Source: https://github.com/opensubsonic/open-subsonic-api/blob/main/content/en/docs/Endpoints/updateshare.md
Example of how to call the updateShare endpoint with specific parameters. Ensure you replace placeholders with your actual server details and share information.
```http
http://your-server/rest/updateShare.view?id=123&description=test&u=demo&p=demo&v=1.13.0&c=AwesomeClientName&f=json
```
--------------------------------
### OpenSubsonic Playlist Example
Source: https://github.com/opensubsonic/open-subsonic-api/blob/main/content/en/docs/Responses/playlists.md
Example JSON response for playlists in OpenSubsonic format. Includes playlist ID, name, owner, privacy settings, creation/modification times, song count, and duration.
```json
{
"playlist": [
{
"id": "800000003",
"name": "random - admin - private (admin)",
"owner": "admin",
"public": false,
"created": "2021-02-23T04:35:38+00:00",
"changed": "2021-02-23T04:35:38+00:00",
"songCount": 43,
"duration": 17875
},
{
"id": "800000002",
"name": "random - admin - public (admin)",
"owner": "admin",
"public": true,
"created": "2021-02-23T04:34:56+00:00",
"changed": "2021-02-23T04:34:56+00:00",
"songCount": 43,
"duration": 17786
}
]
}
```
--------------------------------
### Get Songs by Genre Example
Source: https://github.com/opensubsonic/open-subsonic-api/blob/main/content/en/docs/Endpoints/getsongsbygenre.md
This example demonstrates how to call the getSongsByGenre endpoint to retrieve songs belonging to the 'Electronic' genre. Ensure you replace 'your-server' with your actual server address and provide valid authentication credentials.
```http
http://your-server/rest/getSongsByGenre.view?genre=Electronic&u=demo&p=demo&v=1.13.0&c=AwesomeClientName&f=json
```
--------------------------------
### Example getSonicSimilarTracks URL
Source: https://github.com/opensubsonic/open-subsonic-api/blob/main/content/en/docs/Endpoints/getsonicsimilartracks.md
This is an example URL for the getSonicSimilarTracks endpoint, demonstrating how to specify the track ID, count, and authentication parameters.
```http
http://your-server/rest/getSonicSimilarTracks.view?id=100&count=5&u=demo&p=demo&v=1.13.0&c=AwesomeClientName&f=json
```
--------------------------------
### Add Chat Message Example URL
Source: https://github.com/opensubsonic/open-subsonic-api/blob/main/content/en/docs/Endpoints/addchatmessage.md
This is an example URL to add a chat message. Ensure you replace placeholders like 'your-server', 'hello', 'demo', and 'AwesomeClientName' with your actual values. The 'message' parameter is required.
```http
http://your-server/rest/addChatMessage.view?message=hello&u=demo&p=demo&v=1.13.0&c=AwesomeClientName&f=json
```
--------------------------------
### Save Play Queue by Index Example
Source: https://github.com/opensubsonic/open-subsonic-api/blob/main/content/en/docs/Endpoints/saveplayqueuebyindex.md
This example demonstrates how to call the savePlayQueueByIndex endpoint with song IDs, current index, and authentication parameters. Ensure you replace 'your-server' with your actual server address.
```http
http://your-server/rest/savePlayQueueByIndex.view?id=123¤tIndex=1&u=demo&p=demo&v=1.13.0&c=AwesomeClientName&f=json
```
--------------------------------
### Example getArtist API Request URL
Source: https://github.com/opensubsonic/open-subsonic-api/blob/main/content/en/docs/Endpoints/getartist.md
This is an example URL for the getArtist endpoint. Ensure you replace placeholders like 'your-server', '123', 'demo', and 'AwesomeClientName' with your actual server details and credentials.
```http
http://your-server/rest/getArtist.view?id=123&u=demo&p=demo&v=1.13.0&c=AwesomeClientName&f=json
```
--------------------------------
### Example getArtistInfo2 API Request
Source: https://github.com/opensubsonic/open-subsonic-api/blob/main/content/en/docs/Endpoints/getartistinfo2.md
This is an example of how to call the getArtistInfo2 endpoint. Ensure you replace placeholders with your actual server details and credentials.
```http
http://your-server/rest/getArtistInfo2.view?id=123&u=demo&p=demo&v=1.13.0&c=AwesomeClientName&f=json
```
--------------------------------
### Example getPodcasts API Request URL
Source: https://github.com/opensubsonic/open-subsonic-api/blob/main/content/en/docs/Endpoints/getpodcasts.md
This is an example URL for the getPodcasts endpoint, demonstrating query parameters for authentication, version, and format.
```http
http://your-server/rest/getPodcasts.view?title=tata&u=demo&p=demo&v=1.13.0&c=AwesomeClientName&f=json
```
--------------------------------
### Example getTopSongs API Request URL
Source: https://github.com/opensubsonic/open-subsonic-api/blob/main/content/en/docs/Endpoints/gettopsongs.md
This is an example URL to call the getTopSongs API. Ensure you replace placeholders like 'your-server', 'demo', and 'AwesomeServerName' with your actual server details and credentials.
```http
http://your-server/rest/getTopSongs.view?artist=toto&u=demo&p=demo&v=1.13.0&c=AwesomeServerName&f=json
```
--------------------------------
### Example getAlbumList2 Request URL
Source: https://github.com/opensubsonic/open-subsonic-api/blob/main/content/en/docs/Endpoints/getalbumlist2.md
This is an example URL for the getAlbumList2 endpoint, demonstrating common parameters like type, user, password, API version, client identifier, and response format.
```http
http://your-server/rest/getAlbumList2.view?type=random&u=demo&p=demo&v=1.13.0&c=AwesomeClientName&f=json
```
--------------------------------
### Example getSong API Request URL
Source: https://github.com/opensubsonic/open-subsonic-api/blob/main/content/en/docs/Endpoints/getsong.md
This is an example URL for the getSong API endpoint. Ensure you replace placeholders with your server details and desired parameters.
```http
http://your-server/rest/getSong.view?id=123&u=demo&p=demo&v=1.13.0&c=AwesomeClientName&f=json
```
--------------------------------
### deletePlaylist HTTP Request
Source: https://github.com/opensubsonic/open-subsonic-api/blob/main/content/en/docs/Endpoints/deleteplaylist.md
Example of a complete HTTP GET request to delete a playlist with the specified ID.
```http
http://your-server/rest/deletePlaylist.view?id=123&u=demo&p=demo&v=1.13.0&c=AwesomeClientName&f=json
```
--------------------------------
### Example API Request
Source: https://github.com/opensubsonic/open-subsonic-api/blob/main/content/en/docs/Endpoints/getnewestpodcasts.md
A sample request URL including authentication and format parameters.
```http
http://your-server/rest/getNewestPodcasts.view?u=demo&p=demo&v=1.13.0&c=AwesomeClientName&f=json
```
--------------------------------
### Get Music Folders Response (Subsonic)
Source: https://github.com/opensubsonic/open-subsonic-api/blob/main/content/en/docs/Endpoints/getmusicfolders.md
Example JSON response for the getMusicFolders endpoint when using standard Subsonic. This response omits OpenSubsonic-specific fields.
```json
{
"subsonic-response": {
"status": "ok",
"version": "1.16.1",
"musicFolders": {
"musicFolder": [
{
"id": 1,
"name": "music"
},
{
"id": 4,
"name": "upload"
}
]
}
}
}
```
--------------------------------
### GET /rest/getJukeboxPlaylist
Source: https://github.com/opensubsonic/open-subsonic-api/blob/main/content/en/docs/Endpoints/jukeboxcontrol.md
Retrieves the current jukebox playlist. This endpoint is specifically for the 'get' action.
```APIDOC
## GET /rest/getJukeboxPlaylist
### Description
Retrieves the current jukebox playlist, including track details and playback information.
### Method
GET
### Endpoint
/rest/getJukeboxPlaylist
### Response
#### Success Response (200)
- **subsonic-response** (object) - The root element of the response.
- **status** (string) - Indicates the status of the request ('ok' or 'error').
- **version** (string) - The API version.
- **type** (string) - The server type (e.g., 'AwesomeServerName').
- **serverVersion** (string) - The server version.
- **openSubsonic** (boolean) - Indicates if OpenSubsonic features are enabled.
- **jukeboxPlaylist** (object) - Contains the jukebox playlist details.
- **currentIndex** (integer) - The index of the currently playing track.
- **playing** (boolean) - Indicates if the jukebox is currently playing.
- **gain** (number) - The current volume gain.
- **position** (integer) - The playback position in seconds.
- **entry** (array) - An array of track objects in the playlist.
- **id** (string) - The unique identifier for the track.
- **parent** (string) - The ID of the parent directory.
- **title** (string) - The title of the track.
- **isDir** (boolean) - Indicates if the item is a directory.
- **isVideo** (boolean) - Indicates if the item is a video.
- **type** (string) - The type of media (e.g., 'music').
- **albumId** (string) - The ID of the album.
- **album** (string) - The name of the album.
- **artistId** (string) - The ID of the artist.
- **artist** (string) - The name of the artist.
- **coverArt** (string) - The ID for the cover art.
- **duration** (integer) - The duration of the track in seconds.
- **bitRate** (integer) - The bitrate of the audio in kbps.
- **bitDepth** (integer) - The bit depth of the audio.
- **samplingRate** (integer) - The sampling rate of the audio in Hz.
- **channelCount** (integer) - The number of audio channels.
- **track** (integer) - The track number on the album.
- **year** (integer) - The release year of the album.
- **genre** (string) - The genre of the music.
- **size** (integer) - The size of the file in bytes.
- **discNumber** (integer) - The disc number.
- **suffix** (string) - The file extension (e.g., 'mp3').
- **contentType** (string) - The MIME type of the file.
- **path** (string) - The file path relative to the media library root.
#### Response Example
```json
{
"subsonic-response": {
"status": "ok",
"version": "1.16.1",
"type": "AwesomeServerName",
"serverVersion": "0.1.3 (tag)",
"openSubsonic": true,
"jukeboxPlaylist": {
"currentIndex": 7,
"playing": true,
"gain": 0.9,
"position": 67,
"entry": [
{
"id": "300000116",
"parent": "200000021",
"title": "Can I Help U?",
"isDir": false,
"isVideo": false,
"type": "music",
"albumId": "200000021",
"album": "Forget and Remember",
"artistId": "100000036",
"artist": "Comfort Fit",
"coverArt": "300000116",
"duration": 103,
"bitRate": 216,
"bitDepth": 16,
"samplingRate": 44100,
"channelCount": 2,
"track": 1,
"year": 2005,
"genre": "Hip-Hop",
"size": 2811819,
"discNumber": 1,
"suffix": "mp3",
"contentType": "audio/mpeg",
"path": "user/Comfort Fit/Forget And Remember/1 - Can I Help U?.mp3"
}
]
}
}
}
```
```
--------------------------------
### Example getPlaylists request
Source: https://github.com/opensubsonic/open-subsonic-api/blob/main/content/en/docs/Endpoints/getplaylists.md
A sample HTTP request URL for the getPlaylists endpoint.
```text
http://your-server/rest/getPlaylists.view?u=demo&p=demo&v=1.13.0&c=AwesomeClientName&f=json
```
--------------------------------
### GET /rest/getJukeboxStatus
Source: https://github.com/opensubsonic/open-subsonic-api/blob/main/content/en/docs/Endpoints/jukeboxcontrol.md
Retrieves the current status of the jukebox. This endpoint is used for actions other than 'get'.
```APIDOC
## GET /rest/getJukeboxStatus
### Description
Retrieves the current status of the jukebox, including playback state, current index, and position.
### Method
GET
### Endpoint
/rest/getJukeboxStatus
### Response
#### Success Response (200)
- **subsonic-response** (object) - The root element of the response.
- **status** (string) - Indicates the status of the request ('ok' or 'error').
- **version** (string) - The API version.
- **type** (string) - The server type (e.g., 'AwesomeServerName').
- **serverVersion** (string) - The server version.
- **openSubsonic** (boolean) - Indicates if OpenSubsonic features are enabled.
- **jukeboxStatus** (object) - Contains the jukebox status details.
- **currentIndex** (integer) - The index of the currently playing track.
- **playing** (boolean) - Indicates if the jukebox is currently playing.
- **gain** (number) - The current volume gain.
- **position** (integer) - The playback position in seconds.
#### Response Example
```json
{
"subsonic-response": {
"status": "ok",
"version": "1.16.1",
"type": "AwesomeServerName",
"serverVersion": "0.1.3 (tag)",
"openSubsonic": true,
"jukeboxStatus": {
"currentIndex": 7,
"playing": true,
"gain": 0.9,
"position": 67
}
}
}
```
```
--------------------------------
### OpenSubsonic PodcastChannel JSON Example
Source: https://github.com/opensubsonic/open-subsonic-api/blob/main/content/en/docs/Responses/PodcastChannel.md
Represents a podcast channel with its details and a list of episodes. Use this format when interacting with OpenSubsonic.
```json
{
"channel": {
"id": "1",
"url": "http://downloads.bbc.co.uk/podcasts/fivelive/drkarl/rss.xml",
"title": "Dr Karl and the Naked Scientist",
"description": "Dr Chris Smith aka The Naked Scientist with the latest news from the world of science and Dr Karl answers listeners' science questions.",
"coverArt": "pod-1",
"originalImageUrl": "http://downloads.bbc.co.uk/podcasts/fivelive/drkarl/drkarl.jpg",
"status": "completed",
"episode": [
{
"id": "34",
"streamId": "523",
"channelId": "1",
"title": "Scorpions have re-evolved eyes",
"description": "This week Dr Chris fills us in on the UK's largest free science festival, plus all this week's big scientific discoveries.",
"publishDate": "2011-02-03T14:46:43",
"status": "completed",
"parent": "11",
"isDir": "false",
"year": "2011",
"genre": "Podcast",
"coverArt": "24",
"size": "78421341",
"contentType": "audio/mpeg",
"suffix": "mp3",
"duration": "3146",
"bitRate": "128",
"path": "Podcast/drkarl/20110203.mp3"
}
]
}
}
```
--------------------------------
### Indexes API Response Examples
Source: https://github.com/opensubsonic/open-subsonic-api/blob/main/content/en/docs/Endpoints/getindexes.md
Examples of the indexes response structure in JSON and XML formats for both OpenSubsonic and legacy Subsonic APIs.
```json
{
"subsonic-response": {
"status": "ok",
"version": "1.16.1",
"type": "AwesomeServerName",
"serverVersion": "0.1.3 (tag)",
"openSubsonic": true,
"indexes": {
"shortcut": [
{
"id": "11",
"name": "Audio books"
},
{
"id": "10",
"name": "Podcasts"
}
],
"index": [
{
"artist": [
{
"id": "1",
"name": "ABBA"
},
{
"id": "2",
"name": "Alanis Morisette"
},
{
"id": "3",
"name": "Alphaville",
"starred": "2013-11-02T12:30:00"
}
],
"name": "A"
},
{
"artist": {
"name": "Bob Dylan",
"id": "4"
},
"name": "B"
}
],
"child": [
{
"id": "111",
"parent": "11",
"title": "Dancing Queen",
"isDir": "false",
"album": "Arrival",
"artist": "ABBA",
"track": "7",
"year": "1978",
"genre": "Pop",
"coverArt": "24",
"size": "8421341",
"contentType": "audio/mpeg",
"suffix": "mp3",
"duration": "146",
"bitRate": "128",
"path": "ABBA/Arrival/Dancing Queen.mp3"
},
{
"id": "112",
"parent": "11",
"title": "Money, Money, Money",
"isDir": "false",
"album": "Arrival",
"artist": "ABBA",
"track": "7",
"year": "1978",
"genre": "Pop",
"coverArt": "25",
"size": "4910028",
"contentType": "audio/flac",
"suffix": "flac",
"transcodedContentType": "audio/mpeg",
"transcodedSuffix": "mp3",
"duration": "208",
"bitRate": "128",
"path": "ABBA/Arrival/Money, Money, Money.mp3"
}
],
"lastModified": "237462836472342",
"ignoredArticles": "The El La Los Las Le Les"
}
}
}
```
```xml
```
```json
{
"subsonic-response": {
"status": "ok",
"version": "1.16.1",
"indexes": {
"shortcut": [
{
"id": "11",
"name": "Audio books"
},
{
"id": "10",
"name": "Podcasts"
}
],
"index": [
{
"artist": [
{
"id": "1",
"name": "ABBA"
},
{
"id": "2",
"name": "Alanis Morisette"
},
{
"id": "3",
"name": "Alphaville",
"starred": "2013-11-02T12:30:00"
}
],
"name": "A"
},
{
"artist": {
"name": "Bob Dylan",
"id": "4"
},
"name": "B"
}
],
"child": [
{
"id": "111",
"parent": "11",
"title": "Dancing Queen",
"isDir": "false",
"album": "Arrival",
"artist": "ABBA",
"track": "7",
"year": "1978",
"genre": "Pop",
"coverArt": "24",
"size": "8421341",
"contentType": "audio/mpeg",
"suffix": "mp3",
"duration": "146",
"bitRate": "128",
```
--------------------------------
### Example Agent List
Source: https://github.com/opensubsonic/open-subsonic-api/blob/main/content/en/docs/Responses/agent.md
Illustrates how multiple agent objects can be listed within a structuredLyrics entry.
```APIDOC
## Example Agent List
### Description
An example of an agent list within one `structuredLyrics` entry.
### Request Example
```json
[
{ "id": "lead", "role": "main", "name": "Chris Martin" },
{ "id": "guest", "role": "voice", "name": "Jin" },
{ "id": "choir", "role": "group", "name": "All" },
{ "id": "backing", "role": "bg" }
]
```
### Response Example
```json
[
{ "id": "lead", "role": "main", "name": "Chris Martin" },
{ "id": "guest", "role": "voice", "name": "Jin" },
{ "id": "choir", "role": "group", "name": "All" },
{ "id": "backing", "role": "bg" }
]
```
```
--------------------------------
### Example getChatMessages URL
Source: https://github.com/opensubsonic/open-subsonic-api/blob/main/content/en/docs/Endpoints/getchatmessages.md
This is an example URL to call the getChatMessages endpoint. Ensure you replace 'your-server' with your actual server address and provide valid authentication credentials.
```http
http://your-server/rest/getChatMessages.view?u=demo&p=demo&v=1.13.0&c=AwesomeClientName&f=json
```
--------------------------------
### Delete Share Example URL
Source: https://github.com/opensubsonic/open-subsonic-api/blob/main/content/en/docs/Endpoints/deleteshare.md
This is an example URL for deleting a share. Ensure you replace 'your-server' with your actual server address and '123' with the target share ID.
```http
http://your-server/rest/deleteShare.view?id=123&u=demo&p=demo&v=1.13.0&c=AwesomeClientName&f=json
```
--------------------------------
### Request getAlbumInfo via HTTP
Source: https://github.com/opensubsonic/open-subsonic-api/blob/main/content/en/docs/Endpoints/getalbuminfo.md
Example URL for requesting album information with required authentication and client parameters.
```http
http://your-server/rest/getAlbumInfo.view?id=123&u=demo&p=demo&v=1.13.0&c=AwesomeClientName&f=json
```
--------------------------------
### POST /createInternetRadioStation
Source: https://github.com/opensubsonic/open-subsonic-api/blob/main/content/en/docs/Endpoints/createinternetradiostation.md
Adds a new internet radio station to the server. Requires admin privileges.
```APIDOC
## POST /createInternetRadioStation
### Description
Adds a new internet radio station. Only users with admin privileges are allowed to call this method.
### Method
POST
### Endpoint
http://your-server/rest/createInternetRadioStation
### Parameters
#### Query Parameters
- **streamUrl** (string) - Required - The stream URL for the station.
- **name** (string) - Required - The user-defined name for the station.
- **homepageUrl** (string) - Optional - The home page URL for the station.
### Request Example
http://your-server/rest/createInternetRadioStation.view?streamUrl=url&name=radio&u=demo&p=demo&v=1.13.0&c=AwesomeClientName&f=json
### Response
#### Success Response (200)
- **subsonic-response** (object) - An empty subsonic-response element on success.
#### Response Example
{
"subsonic-response": {
"status": "ok",
"version": "1.16.1",
"type": "AwesomeServerName",
"serverVersion": "0.1.3 (tag)",
"openSubsonic": true
}
}
```
--------------------------------
### JSON Response Examples
Source: https://github.com/opensubsonic/open-subsonic-api/blob/main/content/en/docs/Endpoints/getnowplaying.md
Comparison of OpenSubsonic and standard Subsonic JSON responses for the getNowPlaying endpoint.
```json
{
"subsonic-response": {
"status": "ok",
"version": "1.16.1",
"type": "AwesomeServerName",
"serverVersion": "0.1.3 (tag)",
"openSubsonic": true,
"nowPlaying": {
"entry": [
{
"id": "300115266",
"parent": "200147046",
"title": "Take the Home",
"isDir": false,
"isVideo": false,
"type": "music",
"albumId": "200147046",
"album": "How I Learned to Love Our Robot Overlords",
"artistId": "100002619",
"artist": "Raggedy Angry",
"coverArt": "300115266",
"duration": 227,
"bitRate": 222,
"bitDepth": 16,
"samplingRate": 44100,
"channelCount": 2,
"userRating": 3,
"track": 7,
"year": 2010,
"genre": "Industrial",
"size": 6341039,
"discNumber": 1,
"suffix": "mp3",
"contentType": "audio/mpeg",
"path": "Raggedy Angry/(2010) How I Learned to Love Our Robot Overlords/1-07 - Take the Home.mp3",
"username": "user",
"minutesAgo": 0,
"playerId": 0,
"state": "playing",
"positionMs": 120000,
"playbackRate": 1.0,
}
]
}
}
}
```
```json
{
"subsonic-response": {
"status": "ok",
"version": "1.16.1",
"nowPlaying": {
"entry": [
{
"id": "300115266",
"parent": "200147046",
"title": "Take the Home",
"isDir": false,
"isVideo": false,
"type": "music",
"albumId": "200147046",
"album": "How I Learned to Love Our Robot Overlords",
"artistId": "100002619",
"artist": "Raggedy Angry",
"coverArt": "300115266",
"duration": 227,
"bitRate": 222,
"bitDepth": 16,
"samplingRate": 44100,
"channelCount": 2,
"userRating": 3,
"track": 7,
"year": 2010,
"genre": "Industrial",
"size": 6341039,
"discNumber": 1,
"suffix": "mp3",
"contentType": "audio/mpeg",
"path": "Raggedy Angry/(2010) How I Learned to Love Our Robot Overlords/1-07 - Take the Home.mp3",
"username": "user",
"minutesAgo": 0,
"playerId": 0
}
]
}
}
}
```
--------------------------------
### Example getLyrics URL
Source: https://github.com/opensubsonic/open-subsonic-api/blob/main/content/en/docs/Endpoints/getlyrics.md
Construct the URL to retrieve lyrics for a specific song by providing artist and title. Ensure to include authentication and client information.
```http
http://your-server/rest/getLyrics.view?artist=toto&title=tata&u=demo&p=demo&v=1.13.0&c=AwesomeClientName&f=json
```
--------------------------------
### Create Playlist Request URL
Source: https://github.com/opensubsonic/open-subsonic-api/blob/main/content/en/docs/Endpoints/createplaylist.md
Example of a REST request to create a playlist.
```http
http://your-server/rest/createPlaylist.view?name=abc&songId=123&u=demo&p=demo&v=1.13.0&c=AwesomeClientName&f=json
```
--------------------------------
### GET /chatMessages
Source: https://github.com/opensubsonic/open-subsonic-api/blob/main/content/en/docs/Responses/chatMessages.md
Retrieves a list of chat messages.
```APIDOC
## GET /chatMessages
### Description
Retrieves a list of chat messages from the server.
### Method
GET
### Endpoint
/chatMessages
### Response
#### Success Response (200)
- **chatMessage** (Array) - List of chatMessage objects containing username, time, and message.
#### Response Example
{
"chatMessage": [
{
"username": "admin",
"time": 1678935707000,
"message": "Api Script Testing"
},
{
"username": "user",
"time": 1678935699000,
"message": "Api Script Testing"
}
]
}
```
--------------------------------
### Retrieve Album List (OpenSubsonic Format)
Source: https://github.com/opensubsonic/open-subsonic-api/blob/main/content/en/docs/Responses/albumList.md
Example JSON response for the albumList endpoint in OpenSubsonic format. This shows the structure of album data returned by the API.
```json
{
"album": [
{
"id": "200000021",
"parent": "100000036",
"album": "Forget and Remember",
"title": "Forget and Remember",
"name": "Forget and Remember",
"isDir": true,
"coverArt": "al-200000021",
"created": "2021-07-22T02:09:31+00:00",
"duration": 4248,
"playCount": 0,
"artistId": "100000036",
"artist": "Comfort Fit",
"year": 2005,
"genre": "Hip-Hop"
},
{
"id": "200000012",
"parent": "100000019",
"album": "Buried in Nausea",
"title": "Buried in Nausea",
"name": "Buried in Nausea",
"isDir": true,
"coverArt": "al-200000012",
"created": "2021-02-24T01:44:21+00:00",
"duration": 1879,
"playCount": 0,
"artistId": "100000019",
"artist": "Various Artists",
"year": 2012,
"genre": "Punk"
}
]
}
```
--------------------------------
### GET /getArtists
Source: https://github.com/opensubsonic/open-subsonic-api/blob/main/content/en/docs/Responses/ArtistsID3.md
Retrieves a list of indexed artists.
```APIDOC
## GET /getArtists
### Description
Returns a list of indexed artists, typically used for browsing music libraries.
### Method
GET
### Endpoint
/getArtists
### Parameters
#### Response Body
- **ignoredArticles** (string) - Required - List of ignored articles space separated
- **index** (Array of IndexID3) - Optional - Index list
### Response Example
{
"ignoredArticles": "The An A Die Das Ein Eine Les Le La",
"index": [
{
"name": "C",
"artist": [
{
"id": "100000016",
"name": "CARNÚN",
"coverArt": "ar-100000016",
"albumCount": 1
},
{
"id": "100000027",
"name": "Chi.Otic",
"coverArt": "ar-100000027",
"albumCount": 0
}
]
},
{
"name": "I",
"artist": [
{
"id": "100000013",
"name": "IOK-1",
"coverArt": "ar-100000013",
"albumCount": 1
}
]
}
]
}
```