1 - agent

Reusable metadata for a vocal agent within a structuredLyrics entry.
{
  "id": "lead",
  "role": "main",
  "name": "Chris Martin"
}
<agent id="lead" role="main" name="Chris Martin" />
Does not exist.
Example agent list within one structuredLyrics entry
[
  { "id": "lead", "role": "main", "name": "Chris Martin" },
  { "id": "guest", "role": "voice", "name": "Jin" },
  { "id": "choir", "role": "group", "name": "All" },
  { "id": "backing", "role": "bg" }
]
<agent id="lead" role="main" name="Chris Martin" />
<agent id="guest" role="voice" name="Jin" />
<agent id="choir" role="group" name="All" />
<agent id="backing" role="bg" />
Does not exist.
FieldTypeReq.OpenS.Details
idstringYesYesOpaque identifier for this agent. The value is only meaningful within the parent structuredLyrics entry and must be unique within that entry
rolestringYesYesSemantic vocal-layer classification for cueLines that reference this agent. One of: main (lead/default vocal layer), voice (additional explicit individual voice part), bg (background vocals), group (group/chorus vocals). When a structuredLyrics entry uses agents for cue-attributed lyrics, it must define exactly one main agent
namestringNoYesOptional human-readable label for this agent, such as a singer or character name from the source metadata

2 - AlbumID3

An album from ID3 tags.
{
    "id": "ad0f112b6dcf83de5e9cae85d07f0d35",
    "name": "8-bit lagerfeuer",
    "version": "Deluxe Edition",
    "artist": "pornophonique",
    "year": 2007,
    "coverArt": "al-ad0f112b6dcf83de5e9cae85d07f0d35_640a93a8",
    "starred": "2023-03-22T01:51:06Z",
    "duration": 1954,
    "playCount": 97,
    "genre": "Hip-Hop",
    "created": "2023-03-10T02:19:35.784818075Z",
    "artistId": "91c3901ac465b9efc439e4be4270c2b6",
    "songCount": 8,
    "played": "2023-03-28T00:45:13Z",
    "userRating": 4,
    "recordLabels": [
        {
            "name": "Sony"
        }
    ],
    "musicBrainzId": "189002e7-3285-4e2e-92a3-7f6c30d407a2",
    "genres": [
        {
            "name": "Hip-Hop"
        },
        {
            "name": "East coast"
        }
    ],
    "artists": [
        {
            "id": "ar-1",
            "name": "Artist 1"
        },
        {
            "id": "ar-2",
            "name": "Artist 2"
        }
    ],
    "displayArtist": "Artist 1 feat. Artist 2",
    "releaseTypes": [
        "Album",
        "Remixes"
    ],
    "moods": [
        "slow",
        "cool"
    ],
    "sortName": "lagerfeuer (8-bit)",
    "originalReleaseDate": {
        "year": 2001,
        "month": 3,
        "day": 10
    },
    "releaseDate": {
        "year": 2001,
        "month": 3,
        "day": 10
    },
    "isCompilation": false,
    "explicitStatus": "explicit",
    "discTitles": [
        {
            "disc": 0,
            "title": "Disc 0 title"
            "coverArt": "42"
        },
        {
            "disc": 2,
            "title": "Disc 1 title"
            "coverArt": "6547"
        }
    ]
}
{
  "id": "ad0f112b6dcf83de5e9cae85d07f0d35",
  "name": "8-bit lagerfeuer",
  "artist": "pornophonique",
  "year": 2007,
  "coverArt": "al-ad0f112b6dcf83de5e9cae85d07f0d35_640a93a8",
  "starred": "2023-03-22T01:51:06Z",
  "duration": 1954,
  "playCount": 97,
  "genre": "Hip-Hop",
  "created": "2023-03-10T02:19:35.784818075Z",
  "artistId": "91c3901ac465b9efc439e4be4270c2b6",
  "songCount": 8
}
FieldTypeReq.OpenS.Details
idstringYesThe id of the album
namestringYesThe album name.
versionstringNoYesThe album version name (Remastered, Anniversary Box Set, …).
artiststringNoArtist name.
artistIdstringNoThe id of the artist
coverArtstringNoA covertArt id.
songCountintYesNumber of songs
durationintYesTotal duration of the album in seconds
playCountlongNoNumber of play of the album
createdstringYesDate the album was added. [ISO 8601]
starredstringNoDate the album was starred. [ISO 8601]
yearintNoThe album year
genrestringNoThe album genre
playedstringNoYesDate the album was last played. [ISO 8601]
userRatingintNoYesThe user rating of the album. [1-5]
recordLabelsArray of RecordLabelNoYesThe labels producing the album.
musicBrainzIdstringNoYesThe album MusicBrainzID.
genresArray of ItemGenreNoYesThe list of all genres of the album.
artistsArray of ArtistID3NoYesThe list of all album artists of the album. (Note: Only the required ArtistID3 fields should be returned by default)
displayArtiststringNoYesThe single value display artist.
releaseTypesArray of stringNoYesThe types of this album release. (Album, Compilation, EP, Remix, …).
moodsArray of stringNoYesThe list of all moods of the album.
sortNamestringNoYesThe album sort name.
originalReleaseDateItemDateNoYesDate the album was originally released.
releaseDateItemDateNoYesDate the specific edition of the album was released. Note: for files using ID3 tags, releaseDate should generally be read from the TDRL tag. Servers that use a different source for this field should document the behavior.
isCompilationbooleanNoYesTrue if the album is a compilation.
explicitStatusstringNoYesReturns “explicit” if at least one song is explicit, “clean” if no song is explicit and at least one is “clean” else “”.
discTitlesArray of DiscTitleNoYesThe list of all disc titles of the album.

3 - AlbumID3WithSongs

An extension of AlbumID3 with song Child entries.
{
  "id": "ad0f112b6dcf83de5e9cae85d07f0d35",
  "name": "8-bit lagerfeuer",
  "version": "Deluxe Edition",
  "artist": "pornophonique",
  "year": 2007,
  "coverArt": "al-ad0f112b6dcf83de5e9cae85d07f0d35_640a93a8",
  "starred": "2023-03-22T01:51:06Z",
  "duration": 1954,
  "playCount": 97,
  "genre": "Hip-Hop",
  "created": "2023-03-10T02:19:35.784818075Z",
  "artistId": "91c3901ac465b9efc439e4be4270c2b6",
  "songCount": 8,
  "played": "2023-03-28T00:45:13Z",
  "userRating": 4,
  "recordLabels": [
    {
      "name": "Sony"
    }
  ],
  "musicBrainzId": "189002e7-3285-4e2e-92a3-7f6c30d407a2",
  "genres": [
    {
      "name": "Hip-Hop"
    },
    {
      "name": "East coast"
    }
  ],
  "artists": [
    {
      "id": "ar-1",
      "name": "Artist 1"
    },
    {
      "id": "ar-2",
      "name": "Artist 2"
    }
  ],
  "displayArtist": "Artist 1 feat. Artist 2",
  "releaseTypes": [
    "Album",
    "Remixes"
  ],
  "moods": [
    "slow",
    "cool"
  ],
  "sortName": "lagerfeuer (8-bit)",
  "originalReleaseDate": {
    "year": 2001,
    "month": 3,
    "day": 10
  },
  "releaseDate": {
    "year": 2001,
    "month": 3,
    "day": 10
  },
  "isCompilation": false,
  "explicitStatus": "explicit",
  "discTitles": [
    {
      "disc": 0,
      "title": "Disc 0 title"
      "coverArt": "100000111",
    },
    {
      "disc": 2,
      "title": "Disc 1 title"
      "coverArt": "100000117",
    }
  ],
  "song": [
    {
      "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",
      "explicitStatus": "explicit",
      "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",
      "explicitStatus": "clean",
      "contentType": "audio/mpeg",
      "path": "user/Comfort Fit/Forget And Remember/2 - Planetary Picknick.mp3"
    }
  ]
}
{
  "id": "200000021",
  "parent": "100000036",
  "album": "Forget and Remember",
  "title": "Forget and Remember",
  "name": "Forget and Remember",
  "isDir": true,
  "coverArt": "al-200000021",
  "songCount": 20,
  "created": "2021-07-22T02:09:31+00:00",
  "duration": 4248,
  "playCount": 0,
  "artistId": "100000036",
  "artist": "Comfort Fit",
  "year": 2005,
  "genre": "Hip-Hop",
  "song": [
    {
      "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"
    }
  ]
}
FieldTypeReq.OpenS.Details
idstringYesThe id of the album
namestringYesThe album name.
versionstringNoYesThe album version name (Remastered, Anniversary Box Set, …).
artiststringNoArtist name.
artistIdstringNoThe id of the artist
coverArtstringNoA covertArt id.
songCountintYesNumber of songs
durationintYesTotal duration of the album in seconds
playCountlongNoNumber of play of the album
createdstringYesDate the album was added. [ISO 8601]
starredstringNoDate the album was starred. [ISO 8601]
yearintNoThe album year
genrestringNoThe album genre
playedstringNoYesDate the album was last played. [ISO 8601]
userRatingintNoYesThe user rating of the album. [1-5]
recordLabelsArray of RecordLabelNoYesThe labels producing the album.
musicBrainzIdstringNoYesThe album MusicBrainzID.
genresArray of ItemGenreNoYesThe list of all genres of the album.
artistsArray of ArtistID3NoYesThe list of all album artists of the album.
displayArtiststringNoYesThe single value display artist.
releaseTypesArray of stringNoYesThe types of this album release. (Album, Compilation, EP, Remix, …).
moodsArray of stringNoYesThe list of all moods of the album.
sortNamestringNoYesThe album sort name.
originalReleaseDateItemDateNoYesDate the album was originally released.
releaseDateItemDateNoYesDate the specific edition of the album was released. Note: for files using ID3 tags, releaseDate should generally be read from the TDRL tag. Servers that use a different source for this field should document the behavior.
isCompilationbooleanNoYesTrue if the album is a compilation.
explicitStatusstringNoYesReturns “explicit” if at least one song is explicit, “clean” if no song is explicit and at least one is “clean” else “”.
discTitlesArray of DiscTitleNoYesThe list of all disc titles of the album.
songArray of ChildNoThe list of songs

4 - albumInfo

Album info.
{
  "notes": "Download the full release here (creative commons). These cripsy beats are ripe with thumping funk and techno influences, sample wizardry and daring shuffles. Composed with the help of unique sound plugins which were especially programmed to measure Comfort Fit’s needs and wishes, we think the chances aren’t bad that you’ll fall for the unique sound signature, bounce and elegance of this unusual Hip Hop production. Ltj bukem / Good looking Rec., UK: \"Really love this music.\" Velanche / XLR8R, UK: \"Awesome job he's done... overall production is dope.\" Kwesi / BBE Music, UK: \"Wooooooowwwww... WHAT THE FUCK! THIS IS WHAT",
  "musicBrainzId": "6e1d48f7-717c-416e-af35-5d2454a13af2",
  "smallImageUrl": "http://localhost:8989/play/art/0f8c3cbd6b0b22c3b5402141351ac812/album/21/thumb34.jpg",
  "mediumImageUrl": "http://localhost:8989/play/art/41b16680dc1b3aaf5dfba24ddb6a1712/album/21/thumb64.jpg",
  "largeImageUrl": "http://localhost:8989/play/art/e6fd8d4e0d35c4436e56991892bfb27b/album/21/thumb174.jpg"
}
{
  "notes": "Download the full release here (creative commons). These cripsy beats are ripe with thumping funk and techno influences, sample wizardry and daring shuffles. Composed with the help of unique sound plugins which were especially programmed to measure Comfort Fit’s needs and wishes, we think the chances aren’t bad that you’ll fall for the unique sound signature, bounce and elegance of this unusual Hip Hop production. Ltj bukem / Good looking Rec., UK: \"Really love this music.\" Velanche / XLR8R, UK: \"Awesome job he's done... overall production is dope.\" Kwesi / BBE Music, UK: \"Wooooooowwwww... WHAT THE FUCK! THIS IS WHAT",
  "musicBrainzId": "6e1d48f7-717c-416e-af35-5d2454a13af2",
  "smallImageUrl": "http://localhost:8989/play/art/0f8c3cbd6b0b22c3b5402141351ac812/album/21/thumb34.jpg",
  "mediumImageUrl": "http://localhost:8989/play/art/41b16680dc1b3aaf5dfba24ddb6a1712/album/21/thumb64.jpg",
  "largeImageUrl": "http://localhost:8989/play/art/e6fd8d4e0d35c4436e56991892bfb27b/album/21/thumb174.jpg"
}
FieldTypeReq.OpenS.Details
notesstringNoAlbum notes
musicBrainzIdstringNoAlbum musicBrainzId
lastFmUrlstringNoAlbum lastFmUrl
smallImageUrlstringNoAlbum smallImageUrl
mediumImageUrlstringNoAlbum mediumImageUrl
largeImageUrlstringNoAlbum largeImageUrl

5 - albumList

Album list.
{
  "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"
    }
  ]
}
{
  "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"
    }
  ]
}
FieldTypeReq.OpenS.Details
albumArray of ChildNoArtist albums

6 - albumList2

Album list.
{
  "album": [
    {
      "id": "200000021",
      "album": "Forget and Remember",
      "title": "Forget and Remember",
      "name": "Forget and Remember",
      "coverArt": "al-200000021",
      "songCount": 20,
      "created": "2021-07-22T02:09:31+00:00",
      "duration": 4248,
      "playCount": 0,
      "artistId": "100000036",
      "artist": "Comfort Fit",
      "year": 2005,
      "genre": "Hip-Hop"
    },
    {
      "id": "200000012",
      "album": "Buried in Nausea",
      "title": "Buried in Nausea",
      "name": "Buried in Nausea",
      "coverArt": "al-200000012",
      "songCount": 9,
      "created": "2021-02-24T01:44:21+00:00",
      "duration": 1879,
      "playCount": 0,
      "artistId": "100000019",
      "artist": "Various Artists",
      "year": 2012,
      "genre": "Punk"
    }
  ]
}
{
  "album": [
    {
      "id": "200000021",
      "album": "Forget and Remember",
      "title": "Forget and Remember",
      "name": "Forget and Remember",
      "coverArt": "al-200000021",
      "songCount": 20,
      "created": "2021-07-22T02:09:31+00:00",
      "duration": 4248,
      "playCount": 0,
      "artistId": "100000036",
      "artist": "Comfort Fit",
      "year": 2005,
      "genre": "Hip-Hop"
    },
    {
      "id": "200000012",
      "album": "Buried in Nausea",
      "title": "Buried in Nausea",
      "name": "Buried in Nausea",
      "coverArt": "al-200000012",
      "songCount": 9,
      "created": "2021-02-24T01:44:21+00:00",
      "duration": 1879,
      "playCount": 0,
      "artistId": "100000019",
      "artist": "Various Artists",
      "year": 2012,
      "genre": "Punk"
    }
  ]
}
FieldTypeReq.OpenS.Details
albumArray of AlbumID3NoArtist albums

7 - artist

Artist details.
{
  "id": "100000002",
  "name": "Synthetic",
  "coverArt": "ar-100000002",
  "starred": "2021-02-22T05:54:18Z"
}
{
  "id": "100000002",
  "name": "Synthetic",
  "coverArt": "ar-100000002",
  "starred": "2021-02-22T05:54:18Z"
}
FieldTypeReq.OpenS.Details
idstringYesArtist id
namestringYesArtist name
artistImageUrlstringNoArtist image url
starredstringNoArtist starred date [ISO 8601]
userRatingintNoArtist rating [1-5]
averageRatingnumberNoArtist average rating [1.0-5.0]

8 - ArtistID3

An artist from ID3 tags.
{
  "id": "37ec820ca7193e17040c98f7da7c4b51",
  "name": "2 Mello",
  "coverArt": "ar-37ec820ca7193e17040c98f7da7c4b51_0",
  "albumCount": 1,
  "userRating": 5,
  "artistImageUrl": "https://demo.org/image.jpg",
  "starred": "2017-04-11T10:42:50.842Z",
  "musicBrainzId": "189002e7-3285-4e2e-92a3-7f6c30d407a2",
  "sortName": "Mello (2)",
  "roles": [
    "artist",
    "albumartist",
    "composer"
  ]
}
{
  "id": "37ec820ca7193e17040c98f7da7c4b51",
  "name": "2 Mello",
  "coverArt": "ar-37ec820ca7193e17040c98f7da7c4b51_0",
  "albumCount": 1,
  "userRating": 5,
  "artistImageUrl": "https://demo.org/image.jpg",
  "starred": "2017-04-11T10:42:50.842Z"
}
FieldTypeReq.OpenS.Details
idstringYesThe id of the artist
namestringYesThe artist name.
coverArtstringNoA covertArt id.
artistImageUrlstringNoAn url to an external image source.
albumCountintNoArtist album count.
starredstringNoDate the artist was starred. [ISO 8601]
musicBrainzIdstringNoYesThe artist MusicBrainzID.
sortNamestringNoYesThe artist sort name.
rolesArray of stringNoYesThe list of all roles this artist has in the library.

9 - artistInfo

Artist info.
{
  "biography": "Empty biography",
  "musicBrainzId": "1",
  "smallImageUrl": "http://localhost:8989/play/art/f20070e8e11611cc53542a38801d60fa/artist/2/thumb34.jpg",
  "mediumImageUrl": "http://localhost:8989/play/art/2b9b6c057cd4bf21089ce7572e7792b6/artist/2/thumb64.jpg",
  "largeImageUrl": "http://localhost:8989/play/art/e18287c23a75e263b64c31b3d64c1944/artist/2/thumb174.jpg"
}
{
  "biography": "Empty biography",
  "musicBrainzId": "1",
  "smallImageUrl": "http://localhost:8989/play/art/f20070e8e11611cc53542a38801d60fa/artist/2/thumb34.jpg",
  "mediumImageUrl": "http://localhost:8989/play/art/2b9b6c057cd4bf21089ce7572e7792b6/artist/2/thumb64.jpg",
  "largeImageUrl": "http://localhost:8989/play/art/e18287c23a75e263b64c31b3d64c1944/artist/2/thumb174.jpg"
}
FieldTypeReq.OpenS.Details
biographystringNoArtist biography
musicBrainzIdstringNoArtist musicBrainzId
lastFmUrlstringNoArtist lastFmUrl
smallImageUrlstringNoArtist smallImageUrl
mediumImageUrlstringNoArtist mediumImageUrl
largeImageUrlstringNoArtist largeImageUrl
similarArtistArray of artistNoSimilar Artists

10 - artistInfo2

Artist info.
{
  "biography": "Empty biography",
  "musicBrainzId": "1",
  "smallImageUrl": "http://localhost:8989/play/art/f20070e8e11611cc53542a38801d60fa/artist/2/thumb34.jpg",
  "mediumImageUrl": "http://localhost:8989/play/art/2b9b6c057cd4bf21089ce7572e7792b6/artist/2/thumb64.jpg",
  "largeImageUrl": "http://localhost:8989/play/art/e18287c23a75e263b64c31b3d64c1944/artist/2/thumb174.jpg"
}
{
  "biography": "Empty biography",
  "musicBrainzId": "1",
  "smallImageUrl": "http://localhost:8989/play/art/f20070e8e11611cc53542a38801d60fa/artist/2/thumb34.jpg",
  "mediumImageUrl": "http://localhost:8989/play/art/2b9b6c057cd4bf21089ce7572e7792b6/artist/2/thumb64.jpg",
  "largeImageUrl": "http://localhost:8989/play/art/e18287c23a75e263b64c31b3d64c1944/artist/2/thumb174.jpg"
}
FieldTypeReq.OpenS.Details
biographystringNoArtist biography
musicBrainzIdstringNoArtist musicBrainzId
lastFmUrlstringNoArtist lastFmUrl
smallImageUrlstringNoArtist smallImageUrl
mediumImageUrlstringNoArtist mediumImageUrl
largeImageUrlstringNoArtist largeImageUrl
similarArtistArray of ArtistID3NoSimilar Artists

11 - ArtistsID3

A list of indexed Artists.
{
  "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
        }
      ]
    }
  ]
}
{
  "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
        }
      ]
    }
  ]
}
FieldTypeReq.OpenS.Details
ignoredArticlesstringYesList of ignored articles space separated
indexArray of IndexID3NoIndex list

12 - ArtistWithAlbumsID3

An extension of ArtistID3 with AlbumID3.
{
  "id": "37ec820ca7193e17040c98f7da7c4b51",
  "name": "2 Mello",
  "coverArt": "ar-37ec820ca7193e17040c98f7da7c4b51_0",
  "albumCount": 1,
  "userRating": 5,
  "artistImageUrl": "https://demo.org/image.jpg",
  "starred": "2017-04-11T10:42:50.842Z",
  "musicBrainzId": "189002e7-3285-4e2e-92a3-7f6c30d407a2",
  "sortName": "Mello (2)",
  "roles": [
    "artist",
    "albumartist",
    "composer"
  ],
  "album": [
    {
      "id": "200000002",
      "parent": "100000002",
      "album": "Colorsmoke EP",
      "title": "Colorsmoke EP",
      "name": "Colorsmoke EP",
      "isDir": true,
      "coverArt": "al-200000002",
      "songCount": 12,
      "created": "2021-02-23T04:24:48+00:00",
      "duration": 4568,
      "playCount": 1,
      "artistId": "100000002",
      "artist": "Synthetic",
      "year": 2007,
      "genre": "Electronic",
      "userRating": 5,
      "averageRating": 3,
      "starred": "2021-02-22T05:51:53Z"
    }
  ]
}
{
  "id": "37ec820ca7193e17040c98f7da7c4b51",
  "name": "2 Mello",
  "coverArt": "ar-37ec820ca7193e17040c98f7da7c4b51_0",
  "albumCount": 1,
  "userRating": 5,
  "artistImageUrl": "https://demo.org/image.jpg",
  "starred": "2017-04-11T10:42:50.842Z",
  "album": [
    {
      "id": "200000002",
      "parent": "100000002",
      "album": "Colorsmoke EP",
      "title": "Colorsmoke EP",
      "name": "Colorsmoke EP",
      "isDir": true,
      "coverArt": "al-200000002",
      "songCount": 12,
      "created": "2021-02-23T04:24:48+00:00",
      "duration": 4568,
      "playCount": 1,
      "artistId": "100000002",
      "artist": "Synthetic",
      "year": 2007,
      "genre": "Electronic",
      "userRating": 5,
      "averageRating": 3,
      "starred": "2021-02-22T05:51:53Z"
    }
  ]
}
FieldTypeReq.OpenS.Details
idstringYesThe id of the artist
namestringYesThe artist name.
coverArtstringNoA covertArt id.
artistImageUrlstringNoAn url to an external image source.
albumCountintYesArtist album count.
starredstringNoDate the artist was starred. [ISO 8601]
albumArray of AlbumID3NoArtist albums
musicBrainzIdstringNoYesThe artist MusicBrainzID.
sortNamestringNoYesThe artist sort name.
rolesArray of stringNoYesThe list of all roles this artist has in the library.

13 - bookmark

A bookmark.
{
  "entry": {
    "id": "113bf5989ad15ce2cf1834ba9622983f",
    "parent": "b87a936c682c49d4494c7ccb08c22d23",
    "isDir": false,
    "title": "Stay Out Here",
    "album": "Shaking The Habitual",
    "artist": "The Knife",
    "track": 11,
    "year": 2013,
    "genre": "Electronic",
    "coverArt": "al-b87a936c682c49d4494c7ccb08c22d23_0",
    "size": 21096309,
    "contentType": "audio/mp4",
    "suffix": "m4a",
    "duration": 642,
    "bitRate": 257,
    "bitDepth": 16,
    "samplingRate": 44100,
    "channelCount": 2,
    "path": "The Knife/Shaking The Habitual/11 - Stay Out Here.m4a",
    "created": "2023-03-13T16:30:35Z",
    "albumId": "b87a936c682c49d4494c7ccb08c22d23",
    "artistId": "b29e9a9d780cb0e133f3add5662771b9",
    "type": "music",
    "isVideo": false,
    "bookmarkPosition": 129000
  },
  "position": 129000,
  "username": "demo",
  "comment": "",
  "created": "2023-03-13T16:30:35Z",
  "changed": "2023-03-13T16:30:35Z"
}
{
  "entry": {
    "id": "113bf5989ad15ce2cf1834ba9622983f",
    "parent": "b87a936c682c49d4494c7ccb08c22d23",
    "isDir": false,
    "title": "Stay Out Here",
    "album": "Shaking The Habitual",
    "artist": "The Knife",
    "track": 11,
    "year": 2013,
    "genre": "Electronic",
    "coverArt": "al-b87a936c682c49d4494c7ccb08c22d23_0",
    "size": 21096309,
    "contentType": "audio/mp4",
    "suffix": "m4a",
    "duration": 642,
    "bitRate": 257,
    "bitDepth": 16,
    "samplingRate": 44100,
    "channelCount": 2,
    "path": "The Knife/Shaking The Habitual/11 - Stay Out Here.m4a",
    "created": "2023-03-13T16:30:35Z",
    "albumId": "b87a936c682c49d4494c7ccb08c22d23",
    "artistId": "b29e9a9d780cb0e133f3add5662771b9",
    "type": "music",
    "isVideo": false,
    "bookmarkPosition": 129000
  },
  "position": 129000,
  "username": "demo",
  "comment": "",
  "created": "2023-03-13T16:30:35Z",
  "changed": "2023-03-13T16:30:35Z"
}
FieldTypeReq.OpenS.Details
positionlongYesBookmark position in milliseconds
usernamestringYesUsername
commentstringNoBookmark comment
createdstringYesBookmark creation date [ISO 8601]
changedstringYesBookmark last updated date [ISO 8601]
entryChildYesThe bookmark file

14 - bookmarks

Bookmarks list.
{
  "bookmark": [
    {
      "entry": {
        "id": "113bf5989ad15ce2cf1834ba9622983f",
        "parent": "b87a936c682c49d4494c7ccb08c22d23",
        "isDir": false,
        "title": "Stay Out Here",
        "album": "Shaking The Habitual",
        "artist": "The Knife",
        "track": 11,
        "year": 2013,
        "genre": "Electronic",
        "coverArt": "al-b87a936c682c49d4494c7ccb08c22d23_0",
        "size": 21096309,
        "contentType": "audio/mp4",
        "suffix": "m4a",
        "duration": 642,
        "bitRate": 257,
        "bitDepth": 16,
        "samplingRate": 44100,
        "channelCount": 2,
        "path": "The Knife/Shaking The Habitual/11 - Stay Out Here.m4a",
        "created": "2023-03-13T16:30:35Z",
        "albumId": "b87a936c682c49d4494c7ccb08c22d23",
        "artistId": "b29e9a9d780cb0e133f3add5662771b9",
        "type": "music",
        "isVideo": false,
        "bookmarkPosition": 129000
      },
      "position": 129000,
      "username": "demo",
      "comment": "",
      "created": "2023-03-13T16:30:35Z",
      "changed": "2023-03-13T16:30:35Z"
    },
    {
      "entry": {
        "id": "2b42782333450d02b177823e729664af",
        "parent": "dc8d8889a6fe08d8da7698c7ee1de61c",
        "isDir": false,
        "title": "Ill with the Skills",
        "album": "First Words",
        "artist": "The Polish Ambassador",
        "track": 17,
        "year": 2014,
        "coverArt": "mf-2b42782333450d02b177823e729664af_641edeb3",
        "size": 6219581,
        "contentType": "audio/mpeg",
        "suffix": "mp3",
        "duration": 255,
        "bitRate": 194,
        "bitDepth": 16,
        "samplingRate": 44100,
        "channelCount": 2,
        "path": "The Polish Ambassador/First Words/17 - Ill with the Skills.mp3",
        "playCount": 1,
        "played": "2023-03-15T15:23:37Z",
        "created": "2023-03-25T11:44:51Z",
        "albumId": "dc8d8889a6fe08d8da7698c7ee1de61c",
        "artistId": "64e1f796b283545d329cdf6a31a31dbe",
        "type": "music",
        "isVideo": false,
        "bookmarkPosition": 7000
      },
      "position": 7000,
      "username": "demo",
      "comment": "playSub bookmark",
      "created": "2023-03-25T11:44:51Z",
      "changed": "2023-03-25T11:44:51Z"
    }
  ]
}
{
  "bookmark": [
    {
      "entry": {
        "id": "113bf5989ad15ce2cf1834ba9622983f",
        "parent": "b87a936c682c49d4494c7ccb08c22d23",
        "isDir": false,
        "title": "Stay Out Here",
        "album": "Shaking The Habitual",
        "artist": "The Knife",
        "track": 11,
        "year": 2013,
        "genre": "Electronic",
        "coverArt": "al-b87a936c682c49d4494c7ccb08c22d23_0",
        "size": 21096309,
        "contentType": "audio/mp4",
        "suffix": "m4a",
        "duration": 642,
        "bitRate": 257,
        "bitDepth": 16,
        "samplingRate": 44100,
        "channelCount": 2,
        "path": "The Knife/Shaking The Habitual/11 - Stay Out Here.m4a",
        "created": "2023-03-13T16:30:35Z",
        "albumId": "b87a936c682c49d4494c7ccb08c22d23",
        "artistId": "b29e9a9d780cb0e133f3add5662771b9",
        "type": "music",
        "isVideo": false,
        "bookmarkPosition": 129000
      },
      "position": 129000,
      "username": "demo",
      "comment": "",
      "created": "2023-03-13T16:30:35Z",
      "changed": "2023-03-13T16:30:35Z"
    },
    {
      "entry": {
        "id": "2b42782333450d02b177823e729664af",
        "parent": "dc8d8889a6fe08d8da7698c7ee1de61c",
        "isDir": false,
        "title": "Ill with the Skills",
        "album": "First Words",
        "artist": "The Polish Ambassador",
        "track": 17,
        "year": 2014,
        "coverArt": "mf-2b42782333450d02b177823e729664af_641edeb3",
        "size": 6219581,
        "contentType": "audio/mpeg",
        "suffix": "mp3",
        "duration": 255,
        "bitRate": 194,
        "bitDepth": 16,
        "samplingRate": 44100,
        "channelCount": 2,
        "path": "The Polish Ambassador/First Words/17 - Ill with the Skills.mp3",
        "playCount": 1,
        "played": "2023-03-15T15:23:37Z",
        "created": "2023-03-25T11:44:51Z",
        "albumId": "dc8d8889a6fe08d8da7698c7ee1de61c",
        "artistId": "64e1f796b283545d329cdf6a31a31dbe",
        "type": "music",
        "isVideo": false,
        "bookmarkPosition": 7000
      },
      "position": 7000,
      "username": "demo",
      "comment": "playSub bookmark",
      "created": "2023-03-25T11:44:51Z",
      "changed": "2023-03-25T11:44:51Z"
    }
  ]
}
FieldTypeReq.OpenS.Details
bookmarkArray of bookmarkNoList of bookmark

15 - chatMessage

A chatMessage.
{
  "username": "user",
  "time": 1678935699000,
  "message": "Api Script Testing"
}
{
  "username": "user",
  "time": 1678935699000,
  "message": "Api Script Testing"
}
FieldTypeReq.OpenS.Details
usernamestringYesUsername
timelongYesTime in millis since Jan 1 1970
messagestringYesThe message

16 - chatMessages

Chat messages list.
{
  "chatMessage": [
    {
      "username": "admin",
      "time": 1678935707000,
      "message": "Api Script Testing"
    },
    {
      "username": "user",
      "time": 1678935699000,
      "message": "Api Script Testing"
    }
  ]
}
{
  "chatMessage": [
    {
      "username": "admin",
      "time": 1678935707000,
      "message": "Api Script Testing"
    },
    {
      "username": "user",
      "time": 1678935699000,
      "message": "Api Script Testing"
    }
  ]
}
FieldTypeReq.OpenS.Details
chatMessageArray of chatMessageNoList of chatMessage

17 - Child

A media.
{
  "id": "082f435a363c32c57d5edb6a678a28d4",
  "parent": "e8a0685e3f3ec6f251649af2b58b8617",
  "isDir": false,
  "title": "\"polar expedition\"",
  "album": "Live at The Casbah - 2005-04-29",
  "artist": "The New Deal",
  "track": 4,
  "year": 2005,
  "coverArt": "mf-082f435a363c32c57d5edb6a678a28d4_6410b3ce",
  "size": 19866778,
  "contentType": "audio/flac",
  "suffix": "flac",
  "starred": "2023-03-27T09:45:27Z",
  "duration": 178,
  "bitRate": 880,
  "bitDepth": 16,
  "samplingRate": 44100,
  "channelCount": 2,
  "path": "The New Deal/Live at The Casbah - 2005-04-29/04 - \"polar expedition\".flac",
  "playCount": 8,
  "played": "2023-03-26T22:27:46Z",
  "discNumber": 1,
  "created": "2023-03-14T17:51:22.112827504Z",
  "albumId": "e8a0685e3f3ec6f251649af2b58b8617",
  "artistId": "97e0398acf63f9fb930d7d4ce209a52b",
  "type": "music",
  "mediaType": "song",
  "isVideo": false,
  "bpm": 134,
  "comment": "This is a song comment",
  "sortName": "Polar expedition",
  "musicBrainzId": "189002e7-3285-4e2e-92a3-7f6c30d407a2",
  "isrc": [
    "USSM18300073",
    "DELV42300297",
    "DEE868300011",
    "DEE868300007"
  ],
  "genres": [
    {
      "name": "Hip-Hop"
    },
    {
      "name": "East coast"
    }
  ],
  "artists": [
    {
      "id": "ar-1",
      "name": "Artist 1"
    },
    {
      "id": "ar-2",
      "name": "Artist 2"
    }
  ],
  "displayArtist": "Artist 1 feat. Artist 2",
  "albumArtists": [
    {
      "id": "ar-6",
      "name": "Artist 6"
    },
    {
      "id": "ar-7",
      "name": "Artist 7"
    }
  ],
  "displayAlbumArtist": "Artist 6 & Artist 7",
  "contributors": [
    {
      "role": "composer",
      "artist": {
        "id": "ar-3",
        "name": "Artist 3"
      }
    },
    {
      "role": "composer",
      "artist": {
        "id": "ar-4",
        "name": "Artist 4"
      }
    },
    {
      "role": "lyricist",
      "artist": {
        "id": "ar-5",
        "name": "Artist 5"
      }
    },
    {
      "role": "performer",
      "subRole": "Bass",
      "artist": {
        "id": "ar-5",
        "name": "Artist 5"
      }
    }
  ],
  "displayComposer": "Artist 3, Artist 4",
  "moods": [
    "slow",
    "cool"
  ],
  "explicitStatus": "explicit",
  "replayGain": {
    "trackGain": 0.1,
    "albumGain": 1.1,
    "trackPeak": 9.2,
    "albumPeak": 9,
    "baseGain": 0
  },
  "works": [
    {
      "name": "Symphony No. 5 in C minor, Op. 67",
      "musicBrainzId": "d03bff61-26fc-301b-98ac-4d8e85771cbc"
    }
  ],
  "movements": [
    {
      "name": "Andante con moto",
      "number": 2,
      "count": 4
    }
  ]
}
{
  "id": "082f435a363c32c57d5edb6a678a28d4",
  "parent": "e8a0685e3f3ec6f251649af2b58b8617",
  "isDir": false,
  "title": "\"polar expedition\"",
  "album": "Live at The Casbah - 2005-04-29",
  "artist": "The New Deal",
  "track": 4,
  "year": 2005,
  "coverArt": "mf-082f435a363c32c57d5edb6a678a28d4_6410b3ce",
  "size": 19866778,
  "contentType": "audio/flac",
  "suffix": "flac",
  "starred": "2023-03-27T09:45:27Z",
  "duration": 178,
  "bitRate": 880,
  "bitDepth": 16,
  "samplingRate": 44100,
  "channelCount": 2,
  "path": "The New Deal/Live at The Casbah - 2005-04-29/04 - \"polar expedition\".flac",
  "playCount": 8,
  "discNumber": 1,
  "created": "2023-03-14T17:51:22.112827504Z",
  "albumId": "e8a0685e3f3ec6f251649af2b58b8617",
  "artistId": "97e0398acf63f9fb930d7d4ce209a52b",
  "type": "music",
  "isVideo": false
}
FieldTypeReq.OpenS.Details
idstringYesThe id of the media
parentstringNoThe id of the parent (folder/album)
isDirbooleanYesThe media is a directory
titlestringYesThe media name.
albumstringNoThe album name.
artiststringNoThe artist name.
trackintNoThe track number.
yearintNoThe media year.
genrestringNoThe media genre
coverArtstringNoA covertArt id.
sizelongNoA file size of the media.
contentTypestringNoThe mimeType of the media.
suffixstringNoThe file suffix of the media.
transcodedContentTypestringNoThe transcoded mediaType if transcoding should happen.
transcodedSuffixstringNoThe file suffix of the transcoded media.
durationintNoThe duration of the media in seconds.
bitRateintNoThe bitrate of the media.
bitDepthintNoYesThe bit depth of the media.
samplingRateintNoYesThe sampling rate of the media.
channelCountintNoYesThe number of channels of the media.
pathstringNoThe full path of the media.
isVideobooleanNoMedia is a video
userRatingintNoThe user rating of the media [1-5]
averageRatingnumberNoThe average rating of the media [1.0-5.0]
playCountlongNoThe play count.
discNumberintNoThe disc number.
createdstringNoDate the media was created. [ISO 8601]
starredstringNoDate the media was starred. [ISO 8601]
albumIdstringNoThe corresponding album id
artistIdstringNoThe corresponding artist id
typestringNoThe generic type of media [music/podcast/audiobook/video]
mediaTypestringNoYesThe actual media type [song/album/artist] Note: If you support musicBrainzId you must support this field to ensure clients knows what the ID refers to.
bookmarkPositionlongNoThe bookmark position in seconds
originalWidthintNoThe video original Width
originalHeightintNoThe video original Height
playedstringNoYesDate the album was last played. [ISO 8601]
bpmintNoYesThe BPM of the song.
commentstringNoYesThe comment tag of the song.
sortNamestringNoYesThe song sort name.
musicBrainzIdstringNoYesThe track MusicBrainzID.
isrcArray of stringNoYesThe track ISRC(s).
genresArray of ItemGenreNoYesThe list of all genres of the song.
artistsArray of ArtistID3NoYesThe list of all song artists of the song. (Note: Only the required ArtistID3 fields should be returned by default)
displayArtiststringNoYesThe single value display artist.
albumArtistsArray of ArtistID3NoYesThe list of all album artists of the song. (Note: Only the required ArtistID3 fields should be returned by default)
displayAlbumArtiststringNoYesThe single value display album artist.
contributorsArray of ContributorNoYesThe list of all contributor artists of the song.
displayComposerstringNoYesThe single value display composer.
moodsArray of stringNoYesThe list of all moods of the song.
replayGainReplayGainNoYesThe replaygain data of the song.
explicitStatusstringNoYesReturns “explicit”, “clean” or “”. (For songs extracted from tags “ITUNESADVISORY”: 1 = explicit, 2 = clean, MP4 “rtng”: 1 or 4 = explicit, 2 = clean. See albumID3 for albums)
worksArray of WorkNoYesThe list of works associated with the song.
movementsArray of MovementNoYesThe list of movements associated with the song.

18 - Contributor

A contributor artist for a song or an album.
{
    "role": "performer",
    "subRole": "Bass",
    "artist": {
        "id": "ar-1",
        "name": "Artist 1"
    }
}
Does not exist.
FieldTypeReq.OpenS.Details
rolestringYesYesThe contributor role.
subRolestringNoYesThe subRole for roles that may require it. Ex: The instrument for the performer role (TMCL/performer tags). Note: For consistency between different tag formats, the TIPL sub roles should be directly exposed in the role field.
artistArtistID3YesYesThe artist taking on the role. (Note: Only the required ArtistID3 fields should be returned by default)

19 - cue

A word or syllable cue within a cueLine.
{
  "start": 2747,
  "end": 3018,
  "value": "눈"
}
<cue start="2747" end="3018"></cue>
Does not exist.
FieldTypeReq.OpenS.Details
startintegerYesYesStart time in milliseconds
endintegerNoYesEnd time in milliseconds. Within a cueLine, end must be either present on all cues or none. When the source provides partial end times, servers must fill missing values (e.g., using the next cue’s start, or the cueLine’s end for the final cue). When no cues have end times (e.g., Enhanced LRC with start-only timing), end is omitted from all cues. This is a documented contract rule; the OpenAPI schema does not enforce the all-or-none shape structurally
valuestringYesYesThe text of this word or syllable

20 - cueLine

Word/syllable-level timing data for a lyrics line.
{
  "index": 0,
  "start": 2747,
  "end": 6214,
  "value": "눈을 뜬 순간",
  "cue": [
    { "start": 2747, "end": 3018, "value": "눈" },
    { "start": 3018, "end": 3179, "value": "을" },
    { "start": 3179, "end": 3582, "value": " " },
    { "start": 3582, "end": 4100, "value": "뜬" },
    { "start": 4100, "end": 4500, "value": " " },
    { "start": 4500, "end": 5200, "value": "순" },
    { "start": 5200, "end": 6214, "value": "간" }
  ]
}
<cueLine index="0" start="2747" end="6214" value="눈을 뜬 순간">
  <cue start="2747" end="3018"></cue>
  <cue start="3018" end="3179"></cue>
  <cue start="3179" end="3582"> </cue>
  <cue start="3582" end="4100"></cue>
  <cue start="4100" end="4500"> </cue>
  <cue start="4500" end="5200"></cue>
  <cue start="5200" end="6214"></cue>
</cueLine>
Does not exist.
Example with agent attribution
{
  "index": 0,
  "start": 1000,
  "end": 4000,
  "value": "You and I",
  "agentId": "lead",
  "cue": [
    { "start": 1000, "end": 1800, "value": "You " },
    { "start": 1800, "end": 2400, "value": "and " },
    { "start": 2400, "end": 3200, "value": "I" }
  ]
}
<cueLine index="0" start="1000" end="4000" value="You and I" agentId="lead">
  <cue start="1000" end="1800">You </cue>
  <cue start="1800" end="2400">and </cue>
  <cue start="2400" end="3200">I</cue>
</cueLine>
Does not exist.
FieldTypeReq.OpenS.Details
indexintegerYesYesZero-based index into the parent line array this cueLine corresponds to
startintegerNoYesStart time in milliseconds (may differ from the parent line if cues are more precise)
endintegerNoYesEnd time in milliseconds
valuestringNoYesFull text of the line (for validation/fallback)
agentIdstringNoYesOpaque identifier referencing an agent in the same structuredLyrics entry. If the parent structuredLyrics entry includes agents, every cueLine in that entry must include agentId, and the value must match exactly one agents[].id in that entry. If the parent entry does not include agents, cueLines must not include agentId. When multiple cueLines share the same index, the cueLine whose referenced agent has role: "main" must come first
cueArray of cueYesYesOrdered list of word/syllable cues

21 - directory

Directory.
{
    "id": "1",
    "name": "music",
    "child": [
        {
            "id": "100000016",
            "parent": "1",
            "isDir": true,
            "title": "CARNÚN",
            "artist": "CARNÚN",
            "coverArt": "ar-100000016"
        },
        {
            "id": "100000027",
            "parent": "1",
            "isDir": true,
            "title": "Chi.Otic",
            "artist": "Chi.Otic",
            "coverArt": "ar-100000027"
        }
    ]
}
{
    "id": "1",
    "name": "music",
    "child": [
        {
            "id": "100000016",
            "parent": "1",
            "isDir": true,
            "title": "CARNÚN",
            "artist": "CARNÚN",
            "coverArt": "ar-100000016"
        },
        {
            "id": "100000027",
            "parent": "1",
            "isDir": true,
            "title": "Chi.Otic",
            "artist": "Chi.Otic",
            "coverArt": "ar-100000027"
        }
    ]
}
FieldTypeReq.OpenS.Details
idstringYesThe id
parentstringNoParent item
namestringYesThe directory name
starredstringNoStarred date [ISO 8601]
userRatingintNoThe user rating [1-5]
averageRatingnumberNoThe average rating [1.0-5.0]
playCountlongNoThe play count
childArray of ChildNoThe directory content

22 - DiscTitle

A disc title for an album, with an optional cover art.
{
  "disc": 0,
  "title": "The disc title"
  "coverArt": "65135"
}
Does not exist.
FieldTypeReq.OpenS.Details
discintYesYesThe disc number.
titlestringYesYesThe name of the disc.
coverArtstringNoYesThe cover art ID of the disc.

23 - error

Error.
{
  "code": 42,
  "message": "Authentication mechanism not supported. Use API keys",
  "helpUrl": "https://example.org/users/apiKey"
}
{
  "code": 40,
  "message": "Wrong username or password"
}
FieldTypeReq.OpenS.Details
codeintYesThe error code
messagestringNoThe optional error message
helpUrlstringNoYesA URL (documentation, configuration, etc) which may provide additional context for the error)

The following error codes are defined:

CodeDescription
0A generic error.
10Required parameter is missing.
20Incompatible Subsonic REST protocol version. Client must upgrade.
30Incompatible Subsonic REST protocol version. Server must upgrade.
40Wrong username or password.
41Token authentication not supported for LDAP users.
42Provided authentication mechanism not supported.
43Multiple conflicting authentication mechanisms provided.
44Invalid API key.
50User is not authorized for the given operation.
60The trial period for the Subsonic server is over. Please upgrade to Subsonic Premium. Visit subsonic.org for details.
70The requested data was not found.

24 - genre

A genre.
{
  "songCount": 6,
  "albumCount": 1,
  "value": "Noise"
}
{
  "songCount": 6,
  "albumCount": 1,
  "value": "Noise"
}
FieldTypeReq.OpenS.Details
valuestringYesGenre name
songCountintYesGenre song count
albumCountintYesGenre album count

25 - genres

Genres list.
{
  "genre": [
    {
      "songCount": 1,
      "albumCount": 1,
      "value": "Punk"
    },
    {
      "songCount": 4,
      "albumCount": 1,
      "value": "Dark Ambient"
    },
    {
      "songCount": 6,
      "albumCount": 1,
      "value": "Noise"
    },
    {
      "songCount": 11,
      "albumCount": 1,
      "value": "Electronica"
    },
    {
      "songCount": 11,
      "albumCount": 1,
      "value": "Dance"
    },
    {
      "songCount": 12,
      "albumCount": 1,
      "value": "Electronic"
    },
    {
      "songCount": 20,
      "albumCount": 1,
      "value": "Hip-Hop"
    }
  ]
}
{
  "genre": [
    {
      "songCount": 1,
      "albumCount": 1,
      "value": "Punk"
    },
    {
      "songCount": 4,
      "albumCount": 1,
      "value": "Dark Ambient"
    },
    {
      "songCount": 6,
      "albumCount": 1,
      "value": "Noise"
    },
    {
      "songCount": 11,
      "albumCount": 1,
      "value": "Electronica"
    },
    {
      "songCount": 11,
      "albumCount": 1,
      "value": "Dance"
    },
    {
      "songCount": 12,
      "albumCount": 1,
      "value": "Electronic"
    },
    {
      "songCount": 20,
      "albumCount": 1,
      "value": "Hip-Hop"
    }
  ]
}
FieldTypeReq.OpenS.Details
genreArray of genreNoList of genre

26 - Index

An indexed artist list.
{
  "name": "C",
  "artist": [
    {
      "id": "100000016",
      "name": "CARNÚN",
      "coverArt": "ar-100000016",
      "albumCount": 1
    },
    {
      "id": "100000027",
      "name": "Chi.Otic",
      "coverArt": "ar-100000027",
      "albumCount": 0
    }
  ]
}
{
  "name": "C",
  "artist": [
    {
      "id": "100000016",
      "name": "CARNÚN",
      "coverArt": "ar-100000016",
      "albumCount": 1
    },
    {
      "id": "100000027",
      "name": "Chi.Otic",
      "coverArt": "ar-100000027",
      "albumCount": 0
    }
  ]
}
FieldTypeReq.OpenS.Details
namestringYesIndex name
artistArray of ArtistNoArtist list

27 - indexes

Artist list.
{
  "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"
}
<indexes lastModified="237462836472342" ignoredArticles="The El La Los Las Le Les">
  <shortcut id="11" name="Audio books"/>
  <shortcut id="10" name="Podcasts"/>
  <index name="A">
    <artist id="1" name="ABBA"/>
    <artist id="2" name="Alanis Morisette"/>
    <artist id="3" name="Alphaville" starred="2013-11-02T12:30:00"/>
  </index>
  <index name="B">
    <artist name="Bob Dylan" id="4"/>
  </index>
  <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"/>
  <child 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"/>
</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"
}
<indexes lastModified="237462836472342" ignoredArticles="The El La Los Las Le Les">
  <shortcut id="11" name="Audio books"/>
  <shortcut id="10" name="Podcasts"/>
  <index name="A">
    <artist id="1" name="ABBA"/>
    <artist id="2" name="Alanis Morisette"/>
    <artist id="3" name="Alphaville" starred="2013-11-02T12:30:00"/>
  </index>
  <index name="B">
    <artist name="Bob Dylan" id="4"/>
  </index>
  <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"/>
  <child 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"/>
</indexes>
FieldTypeReq.OpenS.Details
ignoredArticlesstringYesThe ignored articles
lastModifiedlongYesLast time the index was modified in milliseconds after January 1, 1970 UTC
shortcutArray of ArtistNoShortcut
childArray of ChildNoArray of children
indexArray of IndexNoIndexed artists

28 - IndexID3

An indexed artist list by ID3 tags.
{
  "name": "C",
  "artist": [
    {
      "id": "100000016",
      "name": "CARNÚN",
      "coverArt": "ar-100000016",
      "albumCount": 1
    },
    {
      "id": "100000027",
      "name": "Chi.Otic",
      "coverArt": "ar-100000027",
      "albumCount": 0
    }
  ]
}
{
  "name": "C",
  "artist": [
    {
      "id": "100000016",
      "name": "CARNÚN",
      "coverArt": "ar-100000016",
      "albumCount": 1
    },
    {
      "id": "100000027",
      "name": "Chi.Otic",
      "coverArt": "ar-100000027",
      "albumCount": 0
    }
  ]
}
FieldTypeReq.OpenS.Details
namestringYesIndex name
artistArray of ArtistNoArtist list

29 - internetRadioStation

An internetRadioStation.
{
  "id": "2",
  "name": "HBR1.com - I.D.M. Tranceponder",
  "streamUrl": "http://ubuntu.hbr1.com:19800/trance.ogg",
  "homePageUrl": "http://www.hbr1.com/",
  "coverArt": "ir-2"
}
{
  "id": "2",
  "name": "HBR1.com - I.D.M. Tranceponder",
  "streamUrl": "http://ubuntu.hbr1.com:19800/trance.ogg",
  "homePageUrl": "http://www.hbr1.com/"
}
FieldTypeReq.OpenS.Details
idstringYesThe Id
namestringYesThe name
streamUrlstringYesThe radio url
homePageUrlstringNoThe home page URL for the station.
coverArtstringNoYesThe cover art id.

30 - internetRadioStations

internetRadioStations.
{
  "internetRadioStation": [
    {
      "id": "1",
      "name": "HBR1.com - Dream Factory",
      "streamUrl": "http://ubuntu.hbr1.com:19800/ambient.aac",
      "homePageUrl": "http://www.hbr1.com/",
      "coverArt": "ir-1"
    },
    {
      "id": "2",
      "name": "HBR1.com - I.D.M. Tranceponder",
      "streamUrl": "http://ubuntu.hbr1.com:19800/trance.ogg",
      "homePageUrl": "http://www.hbr1.com/",
      "coverArt": "ir-2"
    },
    {
      "id": "3",
      "name": "4ZZZ Community Radio",
      "streamUrl": "https://stream.4zzz.org.au:9200/4zzz",
      "homePageUrl": "https://4zzzfm.org.au",
      "coverArt": "ir-3"
    }
  ]
}
{
  "internetRadioStation": [
    {
      "id": "1",
      "name": "HBR1.com - Dream Factory",
      "streamUrl": "http://ubuntu.hbr1.com:19800/ambient.aac",
      "homePageUrl": "http://www.hbr1.com/"
    },
    {
      "id": "2",
      "name": "HBR1.com - I.D.M. Tranceponder",
      "streamUrl": "http://ubuntu.hbr1.com:19800/trance.ogg",
      "homePageUrl": "http://www.hbr1.com/"
    },
    {
      "id": "3",
      "name": "4ZZZ Community Radio",
      "streamUrl": "https://stream.4zzz.org.au:9200/4zzz",
      "homePageUrl": "https://4zzzfm.org.au"
    }
  ]
}
FieldTypeReq.OpenS.Details
internetRadioStationArray of internetRadioStationNoA list of internetRadioStation

31 - ItemDate

A date for a media item that may be just a year, or year-month, or full date.
{
  "year": 2020,
  "month": 1,
  "day": 1
}
  <!-- XML name is the name of the property on the parent object-->
  <originalReleaseDate year="2020" month="1" day="1"/>
Does not exist.
FieldTypeReq.OpenS.Details
yearintegerNoYesThe year
monthintegerNoYesThe month (1-12)
dayintegerNoYesThe day (1-31)

32 - ItemGenre

A genre returned in list of genres for an item.
{
  "name": "Noise"
}
Does not exist.
FieldTypeReq.OpenS.Details
namestringYesYesGenre name

33 - jukeboxPlaylist

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"
    }
  ]
}
{
  "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"
    }
  ]
}
FieldTypeReq.OpenS.Details
currentIndexintYesThe current index of the song being played
playingbooleanYesWhether the queue is currently playing
gainfloatYesVolume, in a range of [0.0, 1.0]
positionintNoThe current position of the track in seconds
entryArray of ChildNoThe songs currently enqueued in the jukebox

34 - jukeboxStatus

jukeboxStatus.
{
  "currentIndex": 7,
  "playing": true,
  "gain": 0.9,
  "position": 67
}
{
  "currentIndex": 7,
  "playing": true,
  "gain": 0.9,
  "position": 67
}
FieldTypeReq.OpenS.Details
currentIndexintYesThe current index of the song being played
playingbooleanYesWhether the queue is currently playing
gainfloatYesVolume, in a range of [0.0, 1.0]
positionintNoThe current position of the track in seconds

35 - license

getLicense result.
{
  "valid": true,
  "email": "demo@demo.org",
  "licenseExpires": "2017-04-11T10:42:50.842Z",
  "trialExpires": "2017-04-11T10:42:50.842Z"
}
{
  "valid": true,
  "email": "demo@demo.org",
  "licenseExpires": "2017-04-11T10:42:50.842Z",
  "trialExpires": "2017-04-11T10:42:50.842Z"
}
FieldTypeReq.OpenS.Details
validbooleanYesThe status of the license
emailstringNoUser email
licenseExpiresstringNoEnd of license date. [ISO 8601]
trialExpiresstringNoEnd of trial date. [ISO 8601]

36 - line

One line of a song lyric.
{
  "start": 0,
  "value": "It's bugging me"
}
<line start="0">It's bugging me</line>
Does not exist.
FieldTypeReq.OpenS.Details
valuestringYesYesThe actual text of this line
startnumberNoYesThe start time of the lyrics, relative to the start time of the track, in milliseconds. If this is not part of synced lyrics, start must be omitted

37 - lyrics

Lyrics.
{
  "artist": "Metallica",
  "title": "Blitzkrieg",
  "value": "Let us have peace, let us have life\n\nLet us escape the cruel night\n\nLet us have time, let the sun shine\n\nLet us beware the deadly sign\n\n\n\nThe day is coming\n\nArmageddon's near\n\nInferno's coming\n\nCan we survive the blitzkrieg?\n\nThe blitzkrieg\n\nThe blitzkrieg\n\n\n\nSave us from fate, save us from hate\n\nSave ourselves before it's too late\n\nCome to our need, hear our plea\n\nSave ourselves before the earth bleeds\n\n\n\nThe day is dawning\n\nThe time is near\n\nAliens calling\n\nCan we survive the blitzkrieg?"
}
{
  "artist": "Metallica",
  "title": "Blitzkrieg",
  "value": "Let us have peace, let us have life\n\nLet us escape the cruel night\n\nLet us have time, let the sun shine\n\nLet us beware the deadly sign\n\n\n\nThe day is coming\n\nArmageddon's near\n\nInferno's coming\n\nCan we survive the blitzkrieg?\n\nThe blitzkrieg\n\nThe blitzkrieg\n\n\n\nSave us from fate, save us from hate\n\nSave ourselves before it's too late\n\nCome to our need, hear our plea\n\nSave ourselves before the earth bleeds\n\n\n\nThe day is dawning\n\nThe time is near\n\nAliens calling\n\nCan we survive the blitzkrieg?"
}
FieldTypeReq.OpenS.Details
valuestringYesThe lyrics
artiststringNoThe artist name
titlestringNoThe song title

38 - lyricsList

List of structured lyrics.
{
  "structuredLyrics": [
    {
      "displayArtist": "Muse",
      "displayTitle": "Hysteria",
      "lang": "eng",
      "offset": -100,
      "synced": true,
      "line": [
        {
          "start": 0,
          "value": "It's bugging me"
        },
        {
          "start": 2000,
          "value": "Grating me"
        },
        {
          "start": 3001,
          "value": "And twisting me around..."
        }
      ]
    },
    {
      "displayArtist": "Muse",
      "displayTitle": "Hysteria",
      "lang": "xxx",
      "offset": 100,
      "synced": false,
      "line": [
        {
          "value": "It's bugging me"
        },
        {
          "value": "Grating me"
        },
        {
          "value": "And twisting me around..."
        }
      ]
    }
  ]
}
<lyricsList>
  <structuredLyrics displayArtist="Muse" displayTitle="Hysteria" lang="eng" offset="-100" synced="true">
    <line start="0">It's bugging me</line>
    <line start="2000">Grating me</line>
    <line start="3001">And twisting me around...</line>
  </structuredLyrics>
  <structuredLyrics displayArtist="Muse" displayTitle="Hysteria" lang="xxx" offset="100" synced="false">
    <line>It's bugging me</line>
    <line>Grating me</line>
    <line>And twisting me around...</line>
  </structuredLyrics>
</lyricsList>
Does not exist.
FieldTypeReq.OpenS.Details
structuredLyricsArray of structuredLyricsNoYesStructured lyrics. There can be multiple lyrics of the same type with the same language

39 - Movement

A movement associated with a song.
{
  "name": "Andante con moto",
  "number": 2,
  "count": 4
}
Does not exist.
FieldTypeReq.OpenS.Details
namestringYesYesThe movement name.
numberintNoYesThe movement number.
countintNoYesThe total number of movements.

40 - musicFolder

MusicFolder.
{
  "id": 4,
  "name": "upload"
}
{
  "id": 4,
  "name": "upload"
}
FieldTypeReq.OpenS.Details
idintYesThe id
namestringNoThe folder name

41 - musicFolders

MusicFolders.
{
  "musicFolder": [
    {
      "id": 1,
      "name": "music"
    },
    {
      "id": 4,
      "name": "upload"
    }
  ]
}
{
  "musicFolder": [
    {
      "id": 1,
      "name": "music"
    },
    {
      "id": 4,
      "name": "upload"
    }
  ]
}
FieldTypeReq.OpenS.Details
musicFolderArray of musicFolderNoThe folders

42 - NewestPodcasts

NewestPodcasts.
{
  "episode": [
    {
      "id": "7390",
      "parent": "7389",
      "isDir": "false",
      "title": "Jonas Gahr Støre",
      "album": "NRK – Hallo P3",
      "artist": "Podcast",
      "year": "2015",
      "coverArt": "7389",
      "size": "41808585",
      "contentType": "audio/mpeg",
      "suffix": "mp3",
      "duration": "2619",
      "bitRate": "128",
      "isVideo": "false",
      "created": "2015-09-07T20:07:31.000Z",
      "artistId": "453",
      "type": "podcast",
      "streamId": "7410",
      "channelId": "17",
      "description": "Jonas Gahr Støre fra Arbeiderpartiet er med i dagens partilederutspørring i Hallo P3!",
      "status": "completed",
      "publishDate": "2015-09-07T15:29:00.000Z"
    }
  ]
}
{
  "episode": [
    {
      "id": "7390",
      "parent": "7389",
      "isDir": "false",
      "title": "Jonas Gahr Støre",
      "album": "NRK – Hallo P3",
      "artist": "Podcast",
      "year": "2015",
      "coverArt": "7389",
      "size": "41808585",
      "contentType": "audio/mpeg",
      "suffix": "mp3",
      "duration": "2619",
      "bitRate": "128",
      "isVideo": "false",
      "created": "2015-09-07T20:07:31.000Z",
      "artistId": "453",
      "type": "podcast",
      "streamId": "7410",
      "channelId": "17",
      "description": "Jonas Gahr Støre fra Arbeiderpartiet er med i dagens partilederutspørring i Hallo P3!",
      "status": "completed",
      "publishDate": "2015-09-07T15:29:00.000Z"
    }
  ]
}
FieldTypeReq.OpenS.Details
episodeAn array of PodcastEpisodeNo

43 - nowPlaying

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,
    }
  ]
}
{
  "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
    }
  ]
}
FieldTypeReq.OpenS.Details
entryArray of NowPlayingEntryYesA list of NowPlayingEntry

44 - NowPlayingEntry

NowPlayingEntry.
{
  "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,
}
{
  "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
}
FieldTypeReq.OpenS.Details
usernamestringYesThe username
minutesAgointegerYesLast update
playerIdintegerYesPlayer Id
playerNamestringNoPlayer name
statestringNoYesPlayback state: starting, playing, paused, or stopped
positionMsintegerNoYesCurrent playback position in milliseconds (Calculated by the server from the last playbackReport call received)
playbackRatenumberNoYesPlayback speed multiplier

45 - OpenSubsonicExtension

A supported OpenSubsonic API extension.
{
    "name": "template",
    "versions": [
        1,
        2
    ]
}
Does not exist.
FieldTypeReq.OpenS.Details
nameStringYesYesThe name of the extension.
versionsArray of intYesYesThe list of supported versions of the this extension.

46 - playlist

Playlist.
{
  "id": "800000075",
  "name": "testcreate",
  "owner": "user",
  "public": true,
  "created": "2023-03-16T03:18:41+00:00",
  "changed": "2023-03-16T03:18:41+00:00",
  "songCount": 1,
  "duration": 304,
  "readonly": true,
  "validUntil": "2023-03-23T03:18:41+00:00"
}
{
  "id": "800000075",
  "name": "testcreate",
  "owner": "user",
  "public": true,
  "created": "2023-03-16T03:18:41+00:00",
  "changed": "2023-03-16T03:18:41+00:00",
  "songCount": 1,
  "duration": 304
}
FieldTypeReq.OpenS.Details
idstringYesId of the playlist
namestringYesName of the playlist
commentstringNoA commnet
ownerstringNoOwner of the playlist
publicbooleanNoIs the playlist public
songCountintYesnumber of songs
durationintYesPlaylist duration in seconds
createdstringYesCreation date [ISO 8601]
changedstringYesLast changed date [ISO 8601]
coverArtstringNoA cover Art Id
allowedUserArray of stringNoA list of allowed usernames
readonlybooleanNoYesIf true the playlist cannot be edited by the current user
validUntilstringNoYesDate the playlist contents are considered valid until [ISO 8601]

47 - playlists

Playlists.
{
  "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
    }
  ]
}
{
  "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
    }
  ]
}
FieldTypeReq.OpenS.Details
playlistArray of playlistNoA list of playlist

48 - playlistWithSongs

Playlist with songs.
{
  "id": "800000075",
  "name": "testcreate",
  "owner": "user",
  "public": true,
  "created": "2023-03-16T03:18:41+00:00",
  "changed": "2023-03-16T03:18:41+00:00",
  "songCount": 1,
  "duration": 304,
  "readonly": true,
  "validUntil": "2023-03-23T03:18:41+00:00",
  "entry": [
    {
      "id": "300000060",
      "parent": "200000002",
      "title": "BrownSmoke",
      "isDir": false,
      "isVideo": false,
      "type": "music",
      "albumId": "200000002",
      "album": "Colorsmoke EP",
      "artistId": "100000002",
      "artist": "Synthetic",
      "coverArt": "300000060",
      "duration": 304,
      "bitRate": 20,
      "bitDepth": 16,
      "samplingRate": 44100,
      "channelCount": 2,
      "userRating": 5,
      "averageRating": 5,
      "track": 4,
      "year": 2007,
      "genre": "Electronic",
      "size": 792375,
      "discNumber": 1,
      "suffix": "wma",
      "contentType": "audio/x-ms-wma",
      "path": "Synthetic/Synthetic_-_Colorsmoke_EP-20k217-2007/04-Synthetic_-_BrownSmokeYSBM20k22khS.wma"
    }
  ]
}
{
  "id": "800000075",
  "name": "testcreate",
  "owner": "user",
  "public": true,
  "created": "2023-03-16T03:18:41+00:00",
  "changed": "2023-03-16T03:18:41+00:00",
  "songCount": 1,
  "duration": 304,
  "entry": [
    {
      "id": "300000060",
      "parent": "200000002",
      "title": "BrownSmoke",
      "isDir": false,
      "isVideo": false,
      "type": "music",
      "albumId": "200000002",
      "album": "Colorsmoke EP",
      "artistId": "100000002",
      "artist": "Synthetic",
      "coverArt": "300000060",
      "duration": 304,
      "bitRate": 20,
      "bitDepth": 16,
      "samplingRate": 44100,
      "channelCount": 2,
      "userRating": 5,
      "averageRating": 5,
      "track": 4,
      "year": 2007,
      "genre": "Electronic",
      "size": 792375,
      "discNumber": 1,
      "suffix": "wma",
      "contentType": "audio/x-ms-wma",
      "path": "Synthetic/Synthetic_-_Colorsmoke_EP-20k217-2007/04-Synthetic_-_BrownSmokeYSBM20k22khS.wma"
    }
  ]
}
FieldTypeReq.OpenS.Details
idstringYesId of the playlist
namestringYesName of the playlist
commentstringNoA comment
ownerstringNoOwner of the playlist
publicbooleanNoIs the playlist public
songCountintYesnumber of songs
durationintYesPlaylist duration in seconds
createdstringYesCreation date [ISO 8601]
changedstringYesLast changed date [ISO 8601]
coverArtstringNoA cover Art Id
allowedUserArray of stringNoA list of allowed usernames
readonlybooleanNoYesIf true the playlist cannot be edited by the current user
validUntilstringNoYesDate the playlist contents are considered valid until [ISO 8601]
entryArray of ChildNoThe list of songs

49 - PlayQueue

NowPlayingEntry.
{
  "current": "1234",
  "position": 1000,
  "username": "user",
  "changed": "2023-03-10T02:19:35.784818075Z",
  "changedBy": "example client",
  "entry": [
    {
      "id": "1234",
      "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": "1234",
      "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"
    }
  ]
}
{
  "current": "1234",
  "position": 1000,
  "username": "user",
  "changed": "2023-03-10T02:19:35.784818075Z",
  "changedBy": "example client",
  "entry": [
    {
      "id": "1234",
      "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": "1234",
      "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"
    }
  ]
}
FieldTypeReq.OpenS.Details
currentstringNo*ID of currently playing track
positionlongNoPosition in milliseconds of currently playing track
usernamestringYesThe user this queue belongs to
changedstringYesDate modified [ISO 8601]
changedBystringYesName of client app
entryArray of ChildNoThe list of songs in the queue

50 - PlayQueueByIndex

Play queue with index-based indication of the current song.
{
  "currentIndex": 0,
  "position": 1000,
  "username": "user",
  "changed": "2023-03-10T02:19:35.784818075Z",
  "changedBy": "example client",
  "entry": [
    {
      "id": "1234",
      "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": "1234",
      "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"
    }
  ]
}
Does not exist.
FieldTypeReq.OpenS.Details
currentIndexlongNo*The 0-based index of the current playing track
positionlongNoPosition in milliseconds of currently playing track
usernamestringYesThe user this queue belongs to
changedstringYesDate modified [ISO 8601]
changedBystringYesName of client app
entryArray of ChildNoThe list of songs in the queue

51 - PodcastChannel

A Podcast channel.
{
  "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"
      }
    ]
  }
}
{
  "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"
      }
    ]
  }
}
FieldTypeReq.OpenS.Details
idstringYesThe channel ID
urlstringYesPodcast channel URL
titlestringNoThe channel title
descriptionstringNoThe channel description
coverArtstringNoID used for retrieving cover art
originalImageUrlstringNoURL for original image of podcast channel
statusPodcastStatusYesChannel status
errorMessagestringNoAn error message
episodeAn array of PodcastEpisodeNoPodcast episodes with this channel

52 - PodcastEpisode

A Podcast episode.
{
  "id": "7390",
  "parent": "7389",
  "isDir": "false",
  "title": "Jonas Gahr Støre",
  "album": "NRK – Hallo P3",
  "artist": "Podcast",
  "year": "2015",
  "coverArt": "7389",
  "size": "41808585",
  "contentType": "audio/mpeg",
  "suffix": "mp3",
  "duration": "2619",
  "bitRate": "128",
  "isVideo": "false",
  "created": "2015-09-07T20:07:31.000Z",
  "artistId": "453",
  "type": "podcast",
  "streamId": "7410",
  "channelId": "17",
  "description": "Jonas Gahr Støre fra Arbeiderpartiet er med i dagens partilederutspørring i Hallo P3!",
  "status": "completed",
  "publishDate": "2015-09-07T15:29:00.000Z"
}
{
  "id": "7390",
  "parent": "7389",
  "isDir": "false",
  "title": "Jonas Gahr Støre",
  "album": "NRK – Hallo P3",
  "artist": "Podcast",
  "year": "2015",
  "coverArt": "7389",
  "size": "41808585",
  "contentType": "audio/mpeg",
  "suffix": "mp3",
  "duration": "2619",
  "bitRate": "128",
  "isVideo": "false",
  "created": "2015-09-07T20:07:31.000Z",
  "artistId": "453",
  "type": "podcast",
  "streamId": "7410",
  "channelId": "17",
  "description": "Jonas Gahr Støre fra Arbeiderpartiet er med i dagens partilederutspørring i Hallo P3!",
  "status": "completed",
  "publishDate": "2015-09-07T15:29:00.000Z"
}
FieldTypeReq.OpenS.Details
streamIdstringNoID used for streaming podcast
channelIdstringYesID of the podcast channel
descriptionstringNoEpisode description
statusPodcastStatusYesPodcast status
publishDatestringNoDate the episode was published [ISO 8601]

53 - podcasts

Podcasts.
{
  "channel": [
    {
      "id": "7390",
      "parent": "7389",
      "isDir": "false",
      "title": "Jonas Gahr Støre",
      "album": "NRK – Hallo P3",
      "artist": "Podcast",
      "year": "2015",
      "coverArt": "7389",
      "size": "41808585",
      "contentType": "audio/mpeg",
      "suffix": "mp3",
      "duration": "2619",
      "bitRate": "128",
      "isVideo": "false",
      "created": "2015-09-07T20:07:31.000Z",
      "artistId": "453",
      "type": "podcast",
      "streamId": "7410",
      "channelId": "17",
      "description": "Jonas Gahr Støre fra Arbeiderpartiet er med i dagens partilederutspørring i Hallo P3!",
      "status": "completed",
      "publishDate": "2015-09-07T15:29:00.000Z"
    },
    {
      "id": "3",
      "url": "https://example.com/404",
      "status": "error",
      "errorMessage": "Not Found"
    }
  ]
}
{
  "channel": [
    {
      "id": "7390",
      "parent": "7389",
      "isDir": "false",
      "title": "Jonas Gahr Støre",
      "album": "NRK – Hallo P3",
      "artist": "Podcast",
      "year": "2015",
      "coverArt": "7389",
      "size": "41808585",
      "contentType": "audio/mpeg",
      "suffix": "mp3",
      "duration": "2619",
      "bitRate": "128",
      "isVideo": "false",
      "created": "2015-09-07T20:07:31.000Z",
      "artistId": "453",
      "type": "podcast",
      "streamId": "7410",
      "channelId": "17",
      "description": "Jonas Gahr Støre fra Arbeiderpartiet er med i dagens partilederutspørring i Hallo P3!",
      "status": "completed",
      "publishDate": "2015-09-07T15:29:00.000Z"
    },
    {
      "id": "3",
      "url": "https://example.com/404",
      "status": "error",
      "errorMessage": "notFound"
    }
  ]
}
FieldTypeReq.OpenS.Details
channelAn array of PodcastChannelNoPodcast channel(s)

54 - PodcastStatus

An enumeration of possible podcast statuses.

A podcast status is a string type taking one of the following values:

  • new
  • downloading
  • completed
  • error
  • deleted
  • skipped

55 - RecordLabel

A record label for an album.
{
  "name": "Sony"
}
Does not exist.
FieldTypeReq.OpenS.Details
namestringYesYesThe record label name.

56 - ReplayGain

The replay gain data of a song.
{
    "trackGain": 0.1,
    "albumGain": 1.1,
    "trackPeak": 9.2,
    "albumPeak": 0,
    "baseGain": 0,
    "fallbackGain": -8.1
}
Does not exist.
FieldTypeReq.OpenS.Details
trackGainnumberNoYesThe track replay gain value. (In Db)
albumGainnumberNoYesThe album replay gain value. (In Db)
trackPeaknumberNoYesThe track peak value. (Must be positive)
albumPeaknumberNoYesThe album peak value. (Must be positive)
baseGainnumberNoYesThe base gain value. (In Db) (Ogg Opus Output Gain for example)
fallbackGainnumberNoYesAn optional fallback gain that clients should apply when the corresponding gain value is missing. (Can be computed from the tracks or exposed as an user setting.)

Note: If the data is not present the field must be omitted in the answer. (But the replayGain field on Child must always be present)

57 - scanStatus

Scan status information.
{
  "scanning": false,
  "count": 0
}
{
  "scanning": false,
  "count": 0
}
FieldTypeReq.OpenS.Details
scanningbooleanYesThe status of the scan
countintNoScanned item count

58 - searchResult

searchResult.
// TODO
// TODO
FieldTypeReq.OpenS.Details

59 - searchResult2

searchResult2.
{
  "artist": [
    {
      "id": "100000002",
      "name": "Synthetic",
      "coverArt": "ar-100000002",
      "starred": "2021-02-22T05:54:18Z"
    }
  ],
  "album": [
    {
      "id": "200000021",
      "parent": "100000036",
      "album": "Forget and Remember",
      "title": "Forget and Remember",
      "name": "Forget and Remember",
      "isDir": true,
      "coverArt": "al-200000021",
      "songCount": 20,
      "created": "2021-07-22T02:09:31+00:00",
      "duration": 4248,
      "playCount": 0,
      "artistId": "100000036",
      "artist": "Comfort Fit",
      "year": 2005,
      "genre": "Hip-Hop"
    }
  ],
  "song": [
    {
      "id": "082f435a363c32c57d5edb6a678a28d4",
      "parent": "e8a0685e3f3ec6f251649af2b58b8617",
      "isDir": false,
      "title": "\"polar expedition\"",
      "album": "Live at The Casbah - 2005-04-29",
      "artist": "The New Deal",
      "track": 4,
      "year": 2005,
      "coverArt": "mf-082f435a363c32c57d5edb6a678a28d4_6410b3ce",
      "size": 19866778,
      "contentType": "audio/flac",
      "suffix": "flac",
      "starred": "2023-03-27T09:45:27Z",
      "duration": 178,
      "bitRate": 880,
      "bitDepth": 16,
      "samplingRate": 44100,
      "channelCount": 2,
      "path": "The New Deal/Live at The Casbah - 2005-04-29/04 - \"polar expedition\".flac",
      "playCount": 8,
      "discNumber": 1,
      "created": "2023-03-14T17:51:22.112827504Z",
      "albumId": "e8a0685e3f3ec6f251649af2b58b8617",
      "artistId": "97e0398acf63f9fb930d7d4ce209a52b",
      "type": "music",
      "isVideo": false
    }
  ]
}
{
  "artist": [
    {
      "id": "100000002",
      "name": "Synthetic",
      "coverArt": "ar-100000002",
      "starred": "2021-02-22T05:54:18Z"
    }
  ],
  "album": [
    {
      "id": "200000021",
      "parent": "100000036",
      "album": "Forget and Remember",
      "title": "Forget and Remember",
      "name": "Forget and Remember",
      "isDir": true,
      "coverArt": "al-200000021",
      "songCount": 20,
      "created": "2021-07-22T02:09:31+00:00",
      "duration": 4248,
      "playCount": 0,
      "artistId": "100000036",
      "artist": "Comfort Fit",
      "year": 2005,
      "genre": "Hip-Hop"
    }
  ],
  "song": [
    {
      "id": "082f435a363c32c57d5edb6a678a28d4",
      "parent": "e8a0685e3f3ec6f251649af2b58b8617",
      "isDir": false,
      "title": "\"polar expedition\"",
      "album": "Live at The Casbah - 2005-04-29",
      "artist": "The New Deal",
      "track": 4,
      "year": 2005,
      "coverArt": "mf-082f435a363c32c57d5edb6a678a28d4_6410b3ce",
      "size": 19866778,
      "contentType": "audio/flac",
      "suffix": "flac",
      "starred": "2023-03-27T09:45:27Z",
      "duration": 178,
      "bitRate": 880,
      "bitDepth": 16,
      "samplingRate": 44100,
      "channelCount": 2,
      "path": "The New Deal/Live at The Casbah - 2005-04-29/04 - \"polar expedition\".flac",
      "playCount": 8,
      "discNumber": 1,
      "created": "2023-03-14T17:51:22.112827504Z",
      "albumId": "e8a0685e3f3ec6f251649af2b58b8617",
      "artistId": "97e0398acf63f9fb930d7d4ce209a52b",
      "type": "music",
      "isVideo": false
    }
  ]
}
FieldTypeReq.OpenS.Details
artistArray of ArtistNoStarred artists
albumArray of ChildNoStarred albums
songArray of ChildNoStarred songs

60 - searchResult3

search3 result.
{
  "artist": [
    {
      "id": "37ec820ca7193e17040c98f7da7c4b51",
      "name": "2 Mello",
      "coverArt": "ar-37ec820ca7193e17040c98f7da7c4b51_0",
      "albumCount": 1,
      "userRating": 5,
      "artistImageUrl": "https://demo.org/image.jpg"
    }
  ],
  "album": [
    {
      "id": "ad0f112b6dcf83de5e9cae85d07f0d35",
      "name": "8-bit lagerfeuer",
      "artist": "pornophonique",
      "year": 2007,
      "coverArt": "al-ad0f112b6dcf83de5e9cae85d07f0d35_640a93a8",
      "starred": "2023-03-22T01:51:06Z",
      "duration": 1954,
      "playCount": 97,
      "played": "2023-03-28T00:45:13Z",
      "created": "2023-03-10T02:19:35.784818075Z",
      "artistId": "91c3901ac465b9efc439e4be4270c2b6",
      "userRating": 4,
      "songCount": 8,
    }
  ],
  "song": [
    {
      "id": "082f435a363c32c57d5edb6a678a28d4",
      "parent": "e8a0685e3f3ec6f251649af2b58b8617",
      "isDir": false,
      "title": "\"polar expedition\"",
      "album": "Live at The Casbah - 2005-04-29",
      "artist": "The New Deal",
      "track": 4,
      "year": 2005,
      "coverArt": "mf-082f435a363c32c57d5edb6a678a28d4_6410b3ce",
      "size": 19866778,
      "contentType": "audio/flac",
      "suffix": "flac",
      "starred": "2023-03-27T09:45:27Z",
      "duration": 178,
      "bitRate": 880,
      "bitDepth": 16,
      "samplingRate": 44100,
      "channelCount": 2,
      "path": "The New Deal/Live at The Casbah - 2005-04-29/04 - \"polar expedition\".flac",
      "playCount": 8,
      "played": "2023-03-26T22:27:46Z",
      "discNumber": 1,
      "created": "2023-03-14T17:51:22.112827504Z",
      "albumId": "e8a0685e3f3ec6f251649af2b58b8617",
      "artistId": "97e0398acf63f9fb930d7d4ce209a52b",
      "type": "music",
      "isVideo": false
    }
  ]
}
{
  "artist": [
    {
      "id": "37ec820ca7193e17040c98f7da7c4b51",
      "name": "2 Mello",
      "coverArt": "ar-37ec820ca7193e17040c98f7da7c4b51_0",
      "albumCount": 1,
      "userRating": 5,
      "artistImageUrl": "https://demo.org/image.jpg"
    }
  ],
  "album": [
    {
      "id": "ad0f112b6dcf83de5e9cae85d07f0d35",
      "name": "8-bit lagerfeuer",
      "artist": "pornophonique",
      "year": 2007,
      "coverArt": "al-ad0f112b6dcf83de5e9cae85d07f0d35_640a93a8",
      "starred": "2023-03-22T01:51:06Z",
      "duration": 1954,
      "playCount": 97,
      "created": "2023-03-10T02:19:35.784818075Z",
      "artistId": "91c3901ac465b9efc439e4be4270c2b6",
      "songCount": 8,
    }
  ],
  "song": [
    {
      "id": "082f435a363c32c57d5edb6a678a28d4",
      "parent": "e8a0685e3f3ec6f251649af2b58b8617",
      "isDir": false,
      "title": "\"polar expedition\"",
      "album": "Live at The Casbah - 2005-04-29",
      "artist": "The New Deal",
      "track": 4,
      "year": 2005,
      "coverArt": "mf-082f435a363c32c57d5edb6a678a28d4_6410b3ce",
      "size": 19866778,
      "contentType": "audio/flac",
      "suffix": "flac",
      "starred": "2023-03-27T09:45:27Z",
      "duration": 178,
      "bitRate": 880,
      "bitDepth": 16,
      "samplingRate": 44100,
      "channelCount": 2,
      "path": "The New Deal/Live at The Casbah - 2005-04-29/04 - \"polar expedition\".flac",
      "playCount": 8,
      "played": "2023-03-26T22:27:46Z",
      "discNumber": 1,
      "created": "2023-03-14T17:51:22.112827504Z",
      "albumId": "e8a0685e3f3ec6f251649af2b58b8617",
      "artistId": "97e0398acf63f9fb930d7d4ce209a52b",
      "type": "music",
      "isVideo": false
    }
  ]
}
FieldTypeReq.OpenS.Details
artistArray of ArtistID3NoMatching artists
albumArray of AlbumID3NoMatching albums
songArray of ChildNoMatching songs

61 - share

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"
    }
  ]
}
{
  "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"
    }
  ]
}
FieldTypeReq.OpenS.Details
idstringYesThe share Id
urlstringYesThe share url
descriptionstringNoA description
usernamestringYesThe username
createdstringYesCreation date [ISO 8601]
expiresstringNoShare expiration [ISO 8601]
lastVisitedstringNoLast visit [ISO 8601]
visitCountintYesVisit count
entryArray of ChildNoA list of share

62 - shares

Shares.
{
  "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"
        }
      ]
    }
  ]
}
{
  "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"
        }
      ]
    }
  ]
}
FieldTypeReq.OpenS.Details
shareArray of shareNoA list of share

63 - similarSongs

SimilarSongs list.
{
  "song": [
    {
      "id": "300000060",
      "parent": "200000002",
      "title": "BrownSmoke",
      "isDir": false,
      "isVideo": false,
      "type": "music",
      "albumId": "200000002",
      "album": "Colorsmoke EP",
      "artistId": "100000002",
      "artist": "Synthetic",
      "coverArt": "300000060",
      "duration": 304,
      "bitRate": 20,
      "bitDepth": 16,
      "samplingRate": 44100,
      "channelCount": 2,
      "userRating": 5,
      "averageRating": 5,
      "track": 4,
      "year": 2007,
      "genre": "Electronic",
      "size": 792375,
      "discNumber": 1,
      "suffix": "wma",
      "contentType": "audio/x-ms-wma",
      "path": "Synthetic/Synthetic_-_Colorsmoke_EP-20k217-2007/04-Synthetic_-_BrownSmokeYSBM20k22khS.wma"
    },
    {
      "id": "300000055",
      "parent": "200000002",
      "title": "Red&GreenSmoke",
      "isDir": false,
      "isVideo": false,
      "type": "music",
      "albumId": "200000002",
      "album": "Colorsmoke EP",
      "artistId": "100000002",
      "artist": "Synthetic",
      "coverArt": "300000055",
      "duration": 400,
      "bitRate": 64,
      "bitDepth": 16,
      "samplingRate": 44100,
      "channelCount": 2,
      "track": 5,
      "year": 2007,
      "genre": "Electronic",
      "size": 3209886,
      "discNumber": 1,
      "suffix": "mp3",
      "contentType": "audio/mpeg",
      "path": "Synthetic/Synthetic_-_Colorsmoke_EP-20k217-2007(1)/05-Synthetic_-_RedGreenSmokePM20k22khS_64kb.mp3"
    }
  ]
}
{
  "song": [
    {
      "id": "300000060",
      "parent": "200000002",
      "title": "BrownSmoke",
      "isDir": false,
      "isVideo": false,
      "type": "music",
      "albumId": "200000002",
      "album": "Colorsmoke EP",
      "artistId": "100000002",
      "artist": "Synthetic",
      "coverArt": "300000060",
      "duration": 304,
      "bitRate": 20,
      "bitDepth": 16,
      "samplingRate": 44100,
      "channelCount": 2,
      "userRating": 5,
      "averageRating": 5,
      "track": 4,
      "year": 2007,
      "genre": "Electronic",
      "size": 792375,
      "discNumber": 1,
      "suffix": "wma",
      "contentType": "audio/x-ms-wma",
      "path": "Synthetic/Synthetic_-_Colorsmoke_EP-20k217-2007/04-Synthetic_-_BrownSmokeYSBM20k22khS.wma"
    },
    {
      "id": "300000055",
      "parent": "200000002",
      "title": "Red&GreenSmoke",
      "isDir": false,
      "isVideo": false,
      "type": "music",
      "albumId": "200000002",
      "album": "Colorsmoke EP",
      "artistId": "100000002",
      "artist": "Synthetic",
      "coverArt": "300000055",
      "duration": 400,
      "bitRate": 64,
      "bitDepth": 16,
      "samplingRate": 44100,
      "channelCount": 2,
      "track": 5,
      "year": 2007,
      "genre": "Electronic",
      "size": 3209886,
      "discNumber": 1,
      "suffix": "mp3",
      "contentType": "audio/mpeg",
      "path": "Synthetic/Synthetic_-_Colorsmoke_EP-20k217-2007(1)/05-Synthetic_-_RedGreenSmokePM20k22khS_64kb.mp3"
    }
  ]
}
FieldTypeReq.OpenS.Details
songArray of ChildNoList of songs

64 - similarSongs2

SimilarSongs2 list.
{
  "song": [
    {
      "id": "300000060",
      "parent": "200000002",
      "title": "BrownSmoke",
      "isDir": false,
      "isVideo": false,
      "type": "music",
      "albumId": "200000002",
      "album": "Colorsmoke EP",
      "artistId": "100000002",
      "artist": "Synthetic",
      "coverArt": "300000060",
      "duration": 304,
      "bitRate": 20,
      "bitDepth": 16,
      "samplingRate": 44100,
      "channelCount": 2,
      "userRating": 5,
      "averageRating": 5,
      "track": 4,
      "year": 2007,
      "genre": "Electronic",
      "size": 792375,
      "discNumber": 1,
      "suffix": "wma",
      "contentType": "audio/x-ms-wma",
      "path": "Synthetic/Synthetic_-_Colorsmoke_EP-20k217-2007/04-Synthetic_-_BrownSmokeYSBM20k22khS.wma"
    },
    {
      "id": "300000055",
      "parent": "200000002",
      "title": "Red&GreenSmoke",
      "isDir": false,
      "isVideo": false,
      "type": "music",
      "albumId": "200000002",
      "album": "Colorsmoke EP",
      "artistId": "100000002",
      "artist": "Synthetic",
      "coverArt": "300000055",
      "duration": 400,
      "bitRate": 64,
      "bitDepth": 16,
      "samplingRate": 44100,
      "channelCount": 2,
      "track": 5,
      "year": 2007,
      "genre": "Electronic",
      "size": 3209886,
      "discNumber": 1,
      "suffix": "mp3",
      "contentType": "audio/mpeg",
      "path": "Synthetic/Synthetic_-_Colorsmoke_EP-20k217-2007(1)/05-Synthetic_-_RedGreenSmokePM20k22khS_64kb.mp3"
    }
  ]
}
{
  "song": [
    {
      "id": "300000060",
      "parent": "200000002",
      "title": "BrownSmoke",
      "isDir": false,
      "isVideo": false,
      "type": "music",
      "albumId": "200000002",
      "album": "Colorsmoke EP",
      "artistId": "100000002",
      "artist": "Synthetic",
      "coverArt": "300000060",
      "duration": 304,
      "bitRate": 20,
      "bitDepth": 16,
      "samplingRate": 44100,
      "channelCount": 2,
      "userRating": 5,
      "averageRating": 5,
      "track": 4,
      "year": 2007,
      "genre": "Electronic",
      "size": 792375,
      "discNumber": 1,
      "suffix": "wma",
      "contentType": "audio/x-ms-wma",
      "path": "Synthetic/Synthetic_-_Colorsmoke_EP-20k217-2007/04-Synthetic_-_BrownSmokeYSBM20k22khS.wma"
    },
    {
      "id": "300000055",
      "parent": "200000002",
      "title": "Red&GreenSmoke",
      "isDir": false,
      "isVideo": false,
      "type": "music",
      "albumId": "200000002",
      "album": "Colorsmoke EP",
      "artistId": "100000002",
      "artist": "Synthetic",
      "coverArt": "300000055",
      "duration": 400,
      "bitRate": 64,
      "bitDepth": 16,
      "samplingRate": 44100,
      "channelCount": 2,
      "track": 5,
      "year": 2007,
      "genre": "Electronic",
      "size": 3209886,
      "discNumber": 1,
      "suffix": "mp3",
      "contentType": "audio/mpeg",
      "path": "Synthetic/Synthetic_-_Colorsmoke_EP-20k217-2007(1)/05-Synthetic_-_RedGreenSmokePM20k22khS_64kb.mp3"
    }
  ]
}
FieldTypeReq.OpenS.Details
songArray of ChildNoList of songs

65 - song

song.
// TODO
// TODO
FieldTypeReq.OpenS.Details

66 - songs

Songs list.
{
  "song": [
    {
      "id": "300000060",
      "parent": "200000002",
      "title": "BrownSmoke",
      "isDir": false,
      "isVideo": false,
      "type": "music",
      "albumId": "200000002",
      "album": "Colorsmoke EP",
      "artistId": "100000002",
      "artist": "Synthetic",
      "coverArt": "300000060",
      "duration": 304,
      "bitRate": 20,
      "bitDepth": 16,
      "samplingRate": 44100,
      "channelCount": 2,
      "userRating": 5,
      "averageRating": 5,
      "track": 4,
      "year": 2007,
      "genre": "Electronic",
      "size": 792375,
      "discNumber": 1,
      "suffix": "wma",
      "contentType": "audio/x-ms-wma",
      "path": "Synthetic/Synthetic_-_Colorsmoke_EP-20k217-2007/04-Synthetic_-_BrownSmokeYSBM20k22khS.wma"
    },
    {
      "id": "300000055",
      "parent": "200000002",
      "title": "Red&GreenSmoke",
      "isDir": false,
      "isVideo": false,
      "type": "music",
      "albumId": "200000002",
      "album": "Colorsmoke EP",
      "artistId": "100000002",
      "artist": "Synthetic",
      "coverArt": "300000055",
      "duration": 400,
      "bitRate": 64,
      "bitDepth": 16,
      "samplingRate": 44100,
      "channelCount": 2,
      "track": 5,
      "year": 2007,
      "genre": "Electronic",
      "size": 3209886,
      "discNumber": 1,
      "suffix": "mp3",
      "contentType": "audio/mpeg",
      "path": "Synthetic/Synthetic_-_Colorsmoke_EP-20k217-2007(1)/05-Synthetic_-_RedGreenSmokePM20k22khS_64kb.mp3"
    }
  ]
}
{
  "song": [
    {
      "id": "300000060",
      "parent": "200000002",
      "title": "BrownSmoke",
      "isDir": false,
      "isVideo": false,
      "type": "music",
      "albumId": "200000002",
      "album": "Colorsmoke EP",
      "artistId": "100000002",
      "artist": "Synthetic",
      "coverArt": "300000060",
      "duration": 304,
      "bitRate": 20,
      "bitDepth": 16,
      "samplingRate": 44100,
      "channelCount": 2,
      "userRating": 5,
      "averageRating": 5,
      "track": 4,
      "year": 2007,
      "genre": "Electronic",
      "size": 792375,
      "discNumber": 1,
      "suffix": "wma",
      "contentType": "audio/x-ms-wma",
      "path": "Synthetic/Synthetic_-_Colorsmoke_EP-20k217-2007/04-Synthetic_-_BrownSmokeYSBM20k22khS.wma"
    },
    {
      "id": "300000055",
      "parent": "200000002",
      "title": "Red&GreenSmoke",
      "isDir": false,
      "isVideo": false,
      "type": "music",
      "albumId": "200000002",
      "album": "Colorsmoke EP",
      "artistId": "100000002",
      "artist": "Synthetic",
      "coverArt": "300000055",
      "duration": 400,
      "bitRate": 64,
      "bitDepth": 16,
      "samplingRate": 44100,
      "channelCount": 2,
      "track": 5,
      "year": 2007,
      "genre": "Electronic",
      "size": 3209886,
      "discNumber": 1,
      "suffix": "mp3",
      "contentType": "audio/mpeg",
      "path": "Synthetic/Synthetic_-_Colorsmoke_EP-20k217-2007(1)/05-Synthetic_-_RedGreenSmokePM20k22khS_64kb.mp3"
    }
  ]
}
FieldTypeReq.OpenS.Details
songArray of ChildNoList of songs

67 - starred

starred.
{
  "artist": [
    {
      "id": "100000002",
      "name": "Synthetic",
      "coverArt": "ar-100000002",
      "starred": "2021-02-22T05:54:18Z"
    }
  ],
  "album": [
    {
      "id": "200000021",
      "parent": "100000036",
      "album": "Forget and Remember",
      "title": "Forget and Remember",
      "name": "Forget and Remember",
      "isDir": true,
      "coverArt": "al-200000021",
      "songCount": 20,
      "created": "2021-07-22T02:09:31+00:00",
      "duration": 4248,
      "playCount": 0,
      "artistId": "100000036",
      "artist": "Comfort Fit",
      "year": 2005,
      "genre": "Hip-Hop"
    }
  ],
  "song": [
    {
      "id": "082f435a363c32c57d5edb6a678a28d4",
      "parent": "e8a0685e3f3ec6f251649af2b58b8617",
      "isDir": false,
      "title": "\"polar expedition\"",
      "album": "Live at The Casbah - 2005-04-29",
      "artist": "The New Deal",
      "track": 4,
      "year": 2005,
      "coverArt": "mf-082f435a363c32c57d5edb6a678a28d4_6410b3ce",
      "size": 19866778,
      "contentType": "audio/flac",
      "suffix": "flac",
      "starred": "2023-03-27T09:45:27Z",
      "duration": 178,
      "bitRate": 880,
      "bitDepth": 16,
      "samplingRate": 44100,
      "channelCount": 2,
      "path": "The New Deal/Live at The Casbah - 2005-04-29/04 - \"polar expedition\".flac",
      "playCount": 8,
      "discNumber": 1,
      "created": "2023-03-14T17:51:22.112827504Z",
      "albumId": "e8a0685e3f3ec6f251649af2b58b8617",
      "artistId": "97e0398acf63f9fb930d7d4ce209a52b",
      "type": "music",
      "isVideo": false
    }
  ]
}
{
  "artist": [
    {
      "id": "100000002",
      "name": "Synthetic",
      "coverArt": "ar-100000002",
      "starred": "2021-02-22T05:54:18Z"
    }
  ],
  "album": [
    {
      "id": "200000021",
      "parent": "100000036",
      "album": "Forget and Remember",
      "title": "Forget and Remember",
      "name": "Forget and Remember",
      "isDir": true,
      "coverArt": "al-200000021",
      "songCount": 20,
      "created": "2021-07-22T02:09:31+00:00",
      "duration": 4248,
      "playCount": 0,
      "artistId": "100000036",
      "artist": "Comfort Fit",
      "year": 2005,
      "genre": "Hip-Hop"
    }
  ],
  "song": [
    {
      "id": "082f435a363c32c57d5edb6a678a28d4",
      "parent": "e8a0685e3f3ec6f251649af2b58b8617",
      "isDir": false,
      "title": "\"polar expedition\"",
      "album": "Live at The Casbah - 2005-04-29",
      "artist": "The New Deal",
      "track": 4,
      "year": 2005,
      "coverArt": "mf-082f435a363c32c57d5edb6a678a28d4_6410b3ce",
      "size": 19866778,
      "contentType": "audio/flac",
      "suffix": "flac",
      "starred": "2023-03-27T09:45:27Z",
      "duration": 178,
      "bitRate": 880,
      "bitDepth": 16,
      "samplingRate": 44100,
      "channelCount": 2,
      "path": "The New Deal/Live at The Casbah - 2005-04-29/04 - \"polar expedition\".flac",
      "playCount": 8,
      "discNumber": 1,
      "created": "2023-03-14T17:51:22.112827504Z",
      "albumId": "e8a0685e3f3ec6f251649af2b58b8617",
      "artistId": "97e0398acf63f9fb930d7d4ce209a52b",
      "type": "music",
      "isVideo": false
    }
  ]
}
FieldTypeReq.OpenS.Details
artistArray of ArtistNoStarred artists
albumArray of ChildNoStarred albums
songArray of ChildNoStarred songs

68 - starred2

starred2.
{
  "artist": [
    {
      "id": "37ec820ca7193e17040c98f7da7c4b51",
      "name": "2 Mello",
      "coverArt": "ar-37ec820ca7193e17040c98f7da7c4b51_0",
      "albumCount": 1,
      "userRating": 5,
      "artistImageUrl": "https://demo.org/image.jpg",
      "starred": "2017-04-11T10:42:50.842Z"
    }
  ],
  "album": [
    {
      "id": "ad0f112b6dcf83de5e9cae85d07f0d35",
      "name": "8-bit lagerfeuer",
      "artist": "pornophonique",
      "year": 2007,
      "coverArt": "al-ad0f112b6dcf83de5e9cae85d07f0d35_640a93a8",
      "starred": "2023-03-22T01:51:06Z",
      "duration": 1954,
      "playCount": 97,
      "genre": "Hip-Hop",
      "created": "2023-03-10T02:19:35.784818075Z",
      "artistId": "91c3901ac465b9efc439e4be4270c2b6",
      "songCount": 8
    }
  ],
  "song": [
    {
      "id": "082f435a363c32c57d5edb6a678a28d4",
      "parent": "e8a0685e3f3ec6f251649af2b58b8617",
      "isDir": false,
      "title": "\"polar expedition\"",
      "album": "Live at The Casbah - 2005-04-29",
      "artist": "The New Deal",
      "track": 4,
      "year": 2005,
      "coverArt": "mf-082f435a363c32c57d5edb6a678a28d4_6410b3ce",
      "size": 19866778,
      "contentType": "audio/flac",
      "suffix": "flac",
      "starred": "2023-03-27T09:45:27Z",
      "duration": 178,
      "bitRate": 880,
      "bitDepth": 16,
      "samplingRate": 44100,
      "channelCount": 2,
      "path": "The New Deal/Live at The Casbah - 2005-04-29/04 - \"polar expedition\".flac",
      "playCount": 8,
      "discNumber": 1,
      "created": "2023-03-14T17:51:22.112827504Z",
      "albumId": "e8a0685e3f3ec6f251649af2b58b8617",
      "artistId": "97e0398acf63f9fb930d7d4ce209a52b",
      "type": "music",
      "isVideo": false
    }
  ]
}
{
  "artist": [
    {
      "id": "37ec820ca7193e17040c98f7da7c4b51",
      "name": "2 Mello",
      "coverArt": "ar-37ec820ca7193e17040c98f7da7c4b51_0",
      "albumCount": 1,
      "userRating": 5,
      "artistImageUrl": "https://demo.org/image.jpg",
      "starred": "2017-04-11T10:42:50.842Z"
    }
  ],
  "album": [
    {
      "id": "ad0f112b6dcf83de5e9cae85d07f0d35",
      "name": "8-bit lagerfeuer",
      "artist": "pornophonique",
      "year": 2007,
      "coverArt": "al-ad0f112b6dcf83de5e9cae85d07f0d35_640a93a8",
      "starred": "2023-03-22T01:51:06Z",
      "duration": 1954,
      "playCount": 97,
      "genre": "Hip-Hop",
      "created": "2023-03-10T02:19:35.784818075Z",
      "artistId": "91c3901ac465b9efc439e4be4270c2b6",
      "songCount": 8
    }
  ],
  "song": [
    {
      "id": "082f435a363c32c57d5edb6a678a28d4",
      "parent": "e8a0685e3f3ec6f251649af2b58b8617",
      "isDir": false,
      "title": "\"polar expedition\"",
      "album": "Live at The Casbah - 2005-04-29",
      "artist": "The New Deal",
      "track": 4,
      "year": 2005,
      "coverArt": "mf-082f435a363c32c57d5edb6a678a28d4_6410b3ce",
      "size": 19866778,
      "contentType": "audio/flac",
      "suffix": "flac",
      "starred": "2023-03-27T09:45:27Z",
      "duration": 178,
      "bitRate": 880,
      "bitDepth": 16,
      "samplingRate": 44100,
      "channelCount": 2,
      "path": "The New Deal/Live at The Casbah - 2005-04-29/04 - \"polar expedition\".flac",
      "playCount": 8,
      "discNumber": 1,
      "created": "2023-03-14T17:51:22.112827504Z",
      "albumId": "e8a0685e3f3ec6f251649af2b58b8617",
      "artistId": "97e0398acf63f9fb930d7d4ce209a52b",
      "type": "music",
      "isVideo": false
    }
  ]
}
FieldTypeReq.OpenS.Details
artistArray of artistNoStarred artists
albumArray of ChildNoStarred albums
songArray of ChildNoStarred songs

69 - StreamDetails

Provides details about a media stream.
{
  "protocol": "http",
  "container": "flac",
  "codec": "flac",
  "audioChannels": 6,
  "audioBitrate": 3000000,
  "audioProfile": "",
  "audioSamplerate": 96000,
  "audioBitdepth": 24
}
FieldTypeReq.OpenS.Details
protocolstringYesYesThe streaming protocol. Can be http or hls.
containerstringYesYesThe container format.
codecstringYesYesThe audio codec.
audioChannelsintegerNoYesThe number of audio channels.
audioBitrateintegerNoYesThe audio bitrate.
audioProfilestringNoYesThe audio profile.
audioSamplerateintegerNoYesThe audio sample rate.
audioBitdepthintegerNoYesThe audio bit depth.

70 - structuredLyrics

Structured lyrics.

Version 1 (line-level)

{
  "displayArtist": "Muse",
  "displayTitle": "Hysteria",
  "lang": "xxx",
  "offset": -100,
  "synced": true,
  "line": [
    {
      "start": 0,
      "value": "It's bugging me"
    },
    {
      "start": 2000,
      "value": "Grating me"
    },
    {
      "start": 3001,
      "value": "And twisting me around..."
    }
  ]
}
<structuredLyrics displayArtist="Muse" displayTitle="Hysteria" lang="xxx" offset="-100" synced="true">
  <line start="0">It's bugging me</line>
  <line start="2000">Grating me</line>
  <line start="3001">And twisting me around...</line>
</structuredLyrics>
Does not exist.

Version 2 (enhanced — word/syllable-level with kind)

When enhanced=true is passed to getLyricsBySongId, the response includes additional fields: kind to classify lyric tracks, cueLine arrays with word/syllable-level timing, and optional agents arrays for reusable agent attribution.

Each structuredLyrics entry is self-contained. Clients should treat tracks with different kind values, including main, as independent layers rather than assuming 1:1 line or cue alignment between them. Agent identity is also scoped to a single structuredLyrics entry; agents[].id values have no meaning outside that entry.

{
  "kind": "main",
  "lang": "ko",
  "synced": true,
  "line": [
    { "start": 2747, "value": "눈을 뜬 순간" },
    { "start": 6214, "value": "모든 게 달라졌어" }
  ],
  "cueLine": [
    {
      "index": 0,
      "start": 2747,
      "end": 6214,
      "value": "눈을 뜬 순간",
      "cue": [
        { "start": 2747, "end": 3018, "value": "눈" },
        { "start": 3018, "end": 3179, "value": "을" },
        { "start": 3179, "end": 3582, "value": " " },
        { "start": 3582, "end": 4100, "value": "뜬" },
        { "start": 4100, "end": 4500, "value": " " },
        { "start": 4500, "end": 5200, "value": "순" },
        { "start": 5200, "end": 6214, "value": "간" }
      ]
    },
    {
      "index": 1,
      "start": 6214,
      "end": 9000,
      "value": "모든 게 달라졌어",
      "cue": [
        { "start": 6214, "end": 6800, "value": "모" },
        { "start": 6800, "end": 7200, "value": "든" },
        { "start": 7200, "end": 7600, "value": " " },
        { "start": 7600, "end": 8000, "value": "게" },
        { "start": 8000, "end": 8400, "value": " " },
        { "start": 8400, "end": 9000, "value": "달라졌어" }
      ]
    }
  ]
}
<structuredLyrics kind="main" lang="ko" synced="true">
  <line start="2747">눈을 뜬 순간</line>
  <line start="6214">모든 게 달라졌어</line>
  <cueLine index="0" start="2747" end="6214" value="눈을 뜬 순간">
    <cue start="2747" end="3018"></cue>
    <cue start="3018" end="3179"></cue>
    <cue start="3179" end="3582"> </cue>
    <cue start="3582" end="4100"></cue>
    <cue start="4100" end="4500"> </cue>
    <cue start="4500" end="5200"></cue>
    <cue start="5200" end="6214"></cue>
  </cueLine>
  <cueLine index="1" start="6214" end="9000" value="모든 게 달라졌어">
    <cue start="6214" end="6800"></cue>
    <cue start="6800" end="7200"></cue>
    <cue start="7200" end="7600"> </cue>
    <cue start="7600" end="8000"></cue>
    <cue start="8000" end="8400"> </cue>
    <cue start="8400" end="9000">달라졌어</cue>
  </cueLine>
</structuredLyrics>
Does not exist.

Version 2 with agent attribution

When a source distinguishes one or more explicit vocal agents within the same structuredLyrics entry, the entry carries a shared agents array and each cueLine references one via agentId. A single attributed/default agent uses role: "main"; entries with multiple agents still define exactly one main agent and any additional voice, bg, or group agents around it:

{
  "kind": "main",
  "lang": "eng",
  "synced": true,
  "line": [
    { "start": 1000, "value": "You and I" },
    { "start": 4000, "value": "Under this sky" },
    { "start": 7000, "value": "Together tonight" }
  ],
  "agents": [
    { "id": "lead", "role": "main", "name": "Chris Martin" },
    { "id": "guest", "role": "voice", "name": "Jin" },
    { "id": "choir", "role": "group", "name": "All" }
  ],
  "cueLine": [
    {
      "index": 0,
      "agentId": "lead",
      "start": 1000,
      "end": 4000,
      "value": "You and I",
      "cue": [
        { "start": 1000, "end": 1800, "value": "You " },
        { "start": 1800, "end": 2400, "value": "and " },
        { "start": 2400, "end": 3200, "value": "I" }
      ]
    },
    {
      "index": 1,
      "agentId": "guest",
      "start": 4000,
      "end": 7000,
      "value": "Under this sky",
      "cue": [
        { "start": 4000, "end": 4800, "value": "Un" },
        { "start": 4800, "end": 5400, "value": "der " },
        { "start": 5400, "end": 5900, "value": "this " },
        { "start": 5900, "end": 7000, "value": "sky" }
      ]
    },
    {
      "index": 2,
      "agentId": "choir",
      "start": 7000,
      "end": 10000,
      "value": "Together tonight",
      "cue": [
        { "start": 7000, "end": 8000, "value": "To" },
        { "start": 8000, "end": 8800, "value": "ge" },
        { "start": 8800, "end": 9200, "value": "ther " },
        { "start": 9200, "end": 10000, "value": "tonight" }
      ]
    }
  ]
}
<structuredLyrics kind="main" lang="eng" synced="true">
  <line start="1000">You and I</line>
  <line start="4000">Under this sky</line>
  <line start="7000">Together tonight</line>
  <agent id="lead" role="main" name="Chris Martin" />
  <agent id="guest" role="voice" name="Jin" />
  <agent id="choir" role="group" name="All" />
  <cueLine index="0" agentId="lead" start="1000" end="4000" value="You and I">
    <cue start="1000" end="1800">You </cue>
    <cue start="1800" end="2400">and </cue>
    <cue start="2400" end="3200">I</cue>
  </cueLine>
  <cueLine index="1" agentId="guest" start="4000" end="7000" value="Under this sky">
    <cue start="4000" end="4800">Un</cue>
    <cue start="4800" end="5400">der </cue>
    <cue start="5400" end="5900">this </cue>
    <cue start="5900" end="7000">sky</cue>
  </cueLine>
  <cueLine index="2" agentId="choir" start="7000" end="10000" value="Together tonight">
    <cue start="7000" end="8000">To</cue>
    <cue start="8000" end="8800">ge</cue>
    <cue start="8800" end="9200">ther </cue>
    <cue start="9200" end="10000">tonight</cue>
  </cueLine>
</structuredLyrics>
Does not exist.

The same song with kind: "pronunciation" — note how cue counts differ from the main track (3 romanized words vs. 7 Korean syllables):

{
  "kind": "pronunciation",
  "lang": "ko-Latn",
  "synced": true,
  "line": [
    { "start": 2747, "value": "nuneul tteun sungan" },
    { "start": 6214, "value": "modeun ge dallajyeosseo" }
  ],
  "cueLine": [
    {
      "index": 0,
      "start": 2747,
      "end": 6214,
      "cue": [
        { "start": 2747, "end": 3179, "value": "nuneul" },
        { "start": 3582, "end": 4100, "value": "tteun" },
        { "start": 4500, "end": 6214, "value": "sungan" }
      ]
    },
    {
      "index": 1,
      "start": 6214,
      "end": 9000,
      "cue": [
        { "start": 6214, "end": 7200, "value": "modeun" },
        { "start": 7600, "end": 8000, "value": "ge" },
        { "start": 8400, "end": 9000, "value": "dallajyeosseo" }
      ]
    }
  ]
}
<structuredLyrics kind="pronunciation" lang="ko-Latn" synced="true">
  <line start="2747">nuneul tteun sungan</line>
  <line start="6214">modeun ge dallajyeosseo</line>
  <cueLine index="0" start="2747" end="6214">
    <cue start="2747" end="3179">nuneul</cue>
    <cue start="3582" end="4100">tteun</cue>
    <cue start="4500" end="6214">sungan</cue>
  </cueLine>
  <cueLine index="1" start="6214" end="9000">
    <cue start="6214" end="7200">modeun</cue>
    <cue start="7600" end="8000">ge</cue>
    <cue start="8400" end="9000">dallajyeosseo</cue>
  </cueLine>
</structuredLyrics>
Does not exist.

Fields

FieldTypeReq.OpenS.Details
langstringYesYesThe lyrics language (ideally ISO 639). If the language is unknown (e.g. lrc file), the server must return und (ISO standard) or xxx (common value for taggers)
syncedbooleanYesYesTrue if the lyrics are synced, false otherwise
lineArray of lineYesYesThe actual lyrics. Ordered by start time (synced) or appearance order (unsynced)
displayArtiststringNoYesThe artist name to display. This could be the localized name, or any other value
displayTitlestringNoYesThe title to display. This could be the song title (localized), or any other value
offsetnumberNoYesThe offset to apply to all lyrics, in milliseconds. Positive means lyrics appear sooner, negative means later. If not included, the offset must be assumed to be 0
kindstringNoYesThe primary lyric-layer classification for this structuredLyrics entry. One of: main (primary vocals for this entry, default if omitted), translation (a translation of another lyric layer into another language), pronunciation (a phonetic/romanized rendering, e.g. romaji for Japanese, pinyin for Chinese). Tracks are independent across kind values; clients should not assume 1:1 line or cue alignment between entries. Only returned when enhanced=true. Added in songLyrics version 2
agentsArray of agentNoYesReusable per-track attribution metadata for cueLine entries. When present, must contain at least one entry, and each agents[].id must be unique within this structuredLyrics entry. agents are optional for simple unattributed single-layer lyrics. When a structuredLyrics entry represents multiple vocal agents/layers, it must include agents; a single-agent attributed/default entry may also include agents, and if it does, exactly one agent must use role: "main". agents should not be emitted without cueLine data
cueLineArray of cueLineNoYesWord/syllable-level timing data. Each cueLine corresponds to a line by its index field. If agents is present, every cueLine in the entry must include agentId; if agents is absent, cueLines must not include agentId. Only returned when enhanced=true and synced is true. Added in songLyrics version 2

If agents is present, each cueLine.agentId must resolve to exactly one agents[].id in the same structuredLyrics entry.

71 - subsonic-response

Common answer wrapper.
{
  "subsonic-response": {
    "status": "ok",
    "version": "1.16.1",
    "type": "AwesomeServerName",
    "serverVersion": "0.1.3 (tag)",
    "openSubsonic": true
  }
}
{
  "subsonic-response": {
    "status": "ok",
    "version": "1.16.1"
  }
}
FieldTypeReq.OpenS.Details
statusstringYesThe command result. ok or failed
versionstringYesThe server supported Subsonic API version.
typestringYesYesThe server actual name. [Ex: Navidrome or gonic]
serverVersionstringYesYesThe server actual version. [Ex: 1.2.3 (beta)]
openSubsonicbooleanYesYesMust return true if the server support OpenSubsonic API v1
errorerrorNoThe error details when status is failed

72 - tokenInfo

Information about an API key.
{
  "tokenInfo": {
    "username": "token username"
  }
}
<tokenInfo username="token username"></tokenInfo>
Does not exist.
FieldTypeReq.OpenS.Details
usernamestringYesYesUsername associated with token

73 - topSongs

TopSongs list.
{
  "song": [
    {
      "id": "300000060",
      "parent": "200000002",
      "title": "BrownSmoke",
      "isDir": false,
      "isVideo": false,
      "type": "music",
      "albumId": "200000002",
      "album": "Colorsmoke EP",
      "artistId": "100000002",
      "artist": "Synthetic",
      "coverArt": "300000060",
      "duration": 304,
      "bitRate": 20,
      "bitDepth": 16,
      "samplingRate": 44100,
      "channelCount": 2,
      "userRating": 5,
      "averageRating": 5,
      "track": 4,
      "year": 2007,
      "genre": "Electronic",
      "size": 792375,
      "discNumber": 1,
      "suffix": "wma",
      "contentType": "audio/x-ms-wma",
      "path": "Synthetic/Synthetic_-_Colorsmoke_EP-20k217-2007/04-Synthetic_-_BrownSmokeYSBM20k22khS.wma"
    },
    {
      "id": "300000055",
      "parent": "200000002",
      "title": "Red&GreenSmoke",
      "isDir": false,
      "isVideo": false,
      "type": "music",
      "albumId": "200000002",
      "album": "Colorsmoke EP",
      "artistId": "100000002",
      "artist": "Synthetic",
      "coverArt": "300000055",
      "duration": 400,
      "bitRate": 64,
      "bitDepth": 16,
      "samplingRate": 44100,
      "channelCount": 2,
      "track": 5,
      "year": 2007,
      "genre": "Electronic",
      "size": 3209886,
      "discNumber": 1,
      "suffix": "mp3",
      "contentType": "audio/mpeg",
      "path": "Synthetic/Synthetic_-_Colorsmoke_EP-20k217-2007(1)/05-Synthetic_-_RedGreenSmokePM20k22khS_64kb.mp3"
    }
  ]
}
{
  "song": [
    {
      "id": "300000060",
      "parent": "200000002",
      "title": "BrownSmoke",
      "isDir": false,
      "isVideo": false,
      "type": "music",
      "albumId": "200000002",
      "album": "Colorsmoke EP",
      "artistId": "100000002",
      "artist": "Synthetic",
      "coverArt": "300000060",
      "duration": 304,
      "bitRate": 20,
      "bitDepth": 16,
      "samplingRate": 44100,
      "channelCount": 2,
      "userRating": 5,
      "averageRating": 5,
      "track": 4,
      "year": 2007,
      "genre": "Electronic",
      "size": 792375,
      "discNumber": 1,
      "suffix": "wma",
      "contentType": "audio/x-ms-wma",
      "path": "Synthetic/Synthetic_-_Colorsmoke_EP-20k217-2007/04-Synthetic_-_BrownSmokeYSBM20k22khS.wma"
    },
    {
      "id": "300000055",
      "parent": "200000002",
      "title": "Red&GreenSmoke",
      "isDir": false,
      "isVideo": false,
      "type": "music",
      "albumId": "200000002",
      "album": "Colorsmoke EP",
      "artistId": "100000002",
      "artist": "Synthetic",
      "coverArt": "300000055",
      "duration": 400,
      "bitRate": 64,
      "bitDepth": 16,
      "samplingRate": 44100,
      "channelCount": 2,
      "track": 5,
      "year": 2007,
      "genre": "Electronic",
      "size": 3209886,
      "discNumber": 1,
      "suffix": "mp3",
      "contentType": "audio/mpeg",
      "path": "Synthetic/Synthetic_-_Colorsmoke_EP-20k217-2007(1)/05-Synthetic_-_RedGreenSmokePM20k22khS_64kb.mp3"
    }
  ]
}
FieldTypeReq.OpenS.Details
songArray of ChildNoList of songs

74 - transcodeDecision

The response from the getTranscodeDecision endpoint.
{
  "subsonic-response": {
    "status": "ok",
    "version": "1.16.1",
    "type": "AwesomeServerName",
    "serverVersion": "0.1.3 (tag)",
    "openSubsonic": true,
    "transcodeDecision": {
      "canDirectPlay": false,
      "canTranscode": true,
      "transcodeReason": ["AudioCodecNotSupported"],
      "errorReason": "",
      "transcodeParams": "0001-0005-004",
      "sourceStream": {
        "protocol": "http",
        "container": "flac",
        "codec": "flac",
        "audioChannels": 6,
        "audioBitrate": 3000000,
        "audioProfile": "",
        "audioSamplerate": 96000,
        "audioBitdepth": 24
      },
      "transcodeStream": {
        "protocol": "hls",
        "container": "mp4",
        "codec": "aac",
        "audioChannels": 2,
        "audioBitrate": 256000,
        "audioProfile": "xHE-AAC",
        "audioSamplerate": 48000,
        "audioBitdepth": 16
      }
    }
  }
}
FieldTypeReq.OpenS.Details
canDirectPlaybooleanYesYesWhether the media can be played directly by the client.
canTranscodebooleanYesYesWhether the media can be transcoded by the server.
transcodeReasonstring[]NoYesAn array of reasons why transcoding is necessary. The strings are server specific made for logging purpose, the server should return 1 string per direct play profile.
errorReasonstringNoYesA description of an error that occurred.
transcodeParamsstringNoYesAn server internal value to be passed to the transcode endpoint, the value needs to be properly escaped to be reused as is in url parameter. See getTranscodeStream. The client may not use the value instantly and should be kept valid by the server for a reasonable duration if stored in memory.
sourceStreamStreamDetailsNoYesDetails about the source media stream.
transcodeStreamStreamDetailsNoYesDetails about the target transcoded stream if canTranscode is true.

75 - user

user.
{
  "folder": [
    "1",
    "3"
  ],
  "username": "sindre",
  "email": "sindre@activeobjects.no",
  "scrobblingEnabled": "true",
  "adminRole": "false",
  "settingsRole": "true",
  "downloadRole": "true",
  "uploadRole": "false",
  "playlistRole": "true",
  "coverArtRole": "true",
  "commentRole": "true",
  "podcastRole": "true",
  "streamRole": "true",
  "jukeboxRole": "true",
  "shareRole": "false"
}
{
  "folder": [
    "1",
    "3"
  ],
  "username": "sindre",
  "email": "sindre@activeobjects.no",
  "scrobblingEnabled": "true",
  "adminRole": "false",
  "settingsRole": "true",
  "downloadRole": "true",
  "uploadRole": "false",
  "playlistRole": "true",
  "coverArtRole": "true",
  "commentRole": "true",
  "podcastRole": "true",
  "streamRole": "true",
  "jukeboxRole": "true",
  "shareRole": "false"
}
FieldTypeReq.OpenS.Details
usernamestringYesUsername
scrobblingEnabledbooleanYesWhether scrobling is enabled for the user
maxBitRateintNo
adminRolebooleanYesWhether the user is an admin
settingsRolebooleanYesWhether the user is can edit settings
downloadRolebooleanYesWhether the user can download
uploadRolebooleanYesWhether the user can upload
playlistRolebooleanYesWhether the user can create playlists
coverArtRolebooleanYesWhether the user can get cover art
commentRolebooleanYesWhether the user can create comments
podcastRolebooleanYesWhether the user can create/refresh podcasts
streamRolebooleanYesWhether the user can stream
jukeboxRolebooleanYesWhether the user can control the jukebox
shareRolebooleanYesWhether the user can create a stream
videoConversionRolebooleanYesWhether the user can convert videos
avatarLastChangedstringNoLast time the avatar was changed [ISO 8601]
folderArray of intNoFolder ID(s)

76 - users

users.
{
  "user": [
    {
      "folder": [
          "1",
          "3"
      ],
      "username": "sindre",
      "email": "sindre@activeobjects.no",
      "scrobblingEnabled": "true",
      "adminRole": "false",
      "settingsRole": "true",
      "downloadRole": "true",
      "uploadRole": "false",
      "playlistRole": "true",
      "coverArtRole": "true",
      "commentRole": "true",
      "podcastRole": "true",
      "streamRole": "true",
      "jukeboxRole": "true",
      "shareRole": "false"
    }
  ]
}
{
  "user": [
    {
      "folder": [
          "1",
          "3"
      ],
      "username": "sindre",
      "email": "sindre@activeobjects.no",
      "scrobblingEnabled": "true",
      "adminRole": "false",
      "settingsRole": "true",
      "downloadRole": "true",
      "uploadRole": "false",
      "playlistRole": "true",
      "coverArtRole": "true",
      "commentRole": "true",
      "podcastRole": "true",
      "streamRole": "true",
      "jukeboxRole": "true",
      "shareRole": "false"
    }
  ]
}
FieldTypeReq.OpenS.Details
userArray of userNoArray of users

77 - videoInfo

videoInfo.
// TODO
// TODO
FieldTypeReq.OpenS.Details

78 - videos

videos.
// TODO
// TODO
FieldTypeReq.OpenS.Details

79 - Work

A work associated with a song.
{
  "name": "Symphony No. 5 in C minor, Op. 67",
  "musicBrainzId": "d03bff61-26fc-301b-98ac-4d8e85771cbc"
}
Does not exist.
FieldTypeReq.OpenS.Details
namestringYesYesThe work name.
musicBrainzIdstringNoYesThe MusicBrainz Work ID.