### 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 } ] } ] } ```