1. reference
  2. models

Plugin Models

Different types of objects used in Spotube.

Following is the structure of the SpotubeImageObject:

PropertyType
widthint or null
heightint or null
urlstring

Structure of the SpotubeUserObject, which is used to represent a user in Spotube returned by Spotube Plugins.

PropertyType
idstring
namestring
externalUristring
imagesList of SpotubeImageObject

externalUri is a URL that points to the user’s profile on the external service (e.g. Listenbrainz)

Following is the structure of the SpotubeArtistObject:

PropertyType
idstring
namestring
externalUristring
imagesList of SpotubeImageObject or null

Following is the structure of the SpotubeFullArtistObject:

PropertyType
idstring
namestring
externalUristring
imagesList of SpotubeImageObject or
followersnumber
genresList of string or null

Following is the structure of the SpotubeAlbumObject:

PropertyType
idstring
namestring
externalUristring
imagesList of SpotubeImageObject
albumTypealbum, single or compilation
artistsList of SpotubeSimpleArtistObject
releaseDatestring (YYYY-MM-DD format) or null

Following is the structure of the SpotubeFullAlbumObject:

PropertyType
idstring
namestring
externalUristring
imagesList of SpotubeImageObject
albumTypealbum, single or compilation
artistsList of SpotubeSimpleArtistObject
releaseDatestring (YYYY-MM-DD format)
totalTracksnumber
recordLabelstring or null

Following is the structure of the SpotubeFullTrackObject:

PropertyType
idstring
namestring
externalUristring
artistsList of SpotubeSimpleArtistObject
albumSpotubeSimpleAlbumObject
durationMs (in milliseconds)number
explicitboolean
isrcstring

isrc stands for International Standard Recording Code, which is a unique identifier for tracks. It is used to identify recordings and is often used in music distribution and royalty collection. The format is typically a 12-character alphanumeric code.

Following is the structure of the SpotubeSimplePlaylistObject:

PropertyType
idstring
namestring
descriptionstring
externalUristring
imagesList of SpotubeImageObject or null
ownerSpotubeUserObject

Following is the structure of the SpotubeFullPlaylistObject:

PropertyType
idstring
namestring
descriptionstring
externalUristring
imagesList of SpotubeImageObject or null
ownerSpotubeUserObject
collaboratorsList of SpotubeUserObject or null
collaborativeboolean
publicboolean

Following is the structure of the SpotubeSearchResponseObject:

PropertyType
albumsList of SpotubeSimpleAlbumObject
artistsList of SpotubeFullArtistObject
playlistsList of SpotubeSimplePlaylistObject
tracksList of SpotubeFullTrackObject

Following is the structure of SpotubeBrowseSectionObject:

PropertyType
idstring
titlestring
externalUristring
browseMoreboolean
itemsList of Object

The items property array can contain multiple type of Object in it but it will always be

SpotubePaginationResponseObject is generic model. The items property can contain any type of Object in it.

This is the structure of SpotubePaginationResponseObject:

PropertyType
limitnumber
nextOffsetnumber or null
totalnumber
hasMoreboolean
itemsList of generic type T which extends Object