version: v1-draft exports: nd_get_artist_mbid: description: GetArtistMBID retrieves the MusicBrainz ID for an artist. input: $ref: '#/components/schemas/ArtistMBIDRequest' contentType: application/json output: $ref: '#/components/schemas/ArtistMBIDResponse' contentType: application/json nd_get_artist_url: description: GetArtistURL retrieves the external URL for an artist. input: $ref: '#/components/schemas/ArtistRequest' contentType: application/json output: $ref: '#/components/schemas/ArtistURLResponse' contentType: application/json nd_get_artist_biography: description: GetArtistBiography retrieves the biography for an artist. input: $ref: '#/components/schemas/ArtistRequest' contentType: application/json output: $ref: '#/components/schemas/ArtistBiographyResponse' contentType: application/json nd_get_similar_artists: description: GetSimilarArtists retrieves similar artists for a given artist. input: $ref: '#/components/schemas/SimilarArtistsRequest' contentType: application/json output: $ref: '#/components/schemas/SimilarArtistsResponse' contentType: application/json nd_get_artist_images: description: GetArtistImages retrieves images for an artist. input: $ref: '#/components/schemas/ArtistRequest' contentType: application/json output: $ref: '#/components/schemas/ArtistImagesResponse' contentType: application/json nd_get_artist_top_songs: description: GetArtistTopSongs retrieves top songs for an artist. input: $ref: '#/components/schemas/TopSongsRequest' contentType: application/json output: $ref: '#/components/schemas/TopSongsResponse' contentType: application/json nd_get_album_info: description: GetAlbumInfo retrieves album information. input: $ref: '#/components/schemas/AlbumRequest' contentType: application/json output: $ref: '#/components/schemas/AlbumInfoResponse' contentType: application/json nd_get_album_images: description: GetAlbumImages retrieves images for an album. input: $ref: '#/components/schemas/AlbumRequest' contentType: application/json output: $ref: '#/components/schemas/AlbumImagesResponse' contentType: application/json nd_get_similar_songs_by_track: description: GetSimilarSongsByTrack retrieves songs similar to a specific track. input: $ref: '#/components/schemas/SimilarSongsByTrackRequest' contentType: application/json output: $ref: '#/components/schemas/SimilarSongsResponse' contentType: application/json nd_get_similar_songs_by_album: description: GetSimilarSongsByAlbum retrieves songs similar to tracks on an album. input: $ref: '#/components/schemas/SimilarSongsByAlbumRequest' contentType: application/json output: $ref: '#/components/schemas/SimilarSongsResponse' contentType: application/json nd_get_similar_songs_by_artist: description: GetSimilarSongsByArtist retrieves songs similar to an artist's catalog. input: $ref: '#/components/schemas/SimilarSongsByArtistRequest' contentType: application/json output: $ref: '#/components/schemas/SimilarSongsResponse' contentType: application/json components: schemas: AlbumImagesResponse: description: AlbumImagesResponse is the response for GetAlbumImages. properties: images: type: array description: Images is the list of album images. items: $ref: '#/components/schemas/ImageInfo' required: - images AlbumInfoResponse: description: AlbumInfoResponse is the response for GetAlbumInfo. properties: name: type: string description: Name is the album name. mbid: type: string description: MBID is the MusicBrainz ID for the album. description: type: string description: Description is the album description/notes. url: type: string description: URL is the external URL for the album. required: - name - mbid - description - url AlbumRequest: description: AlbumRequest is the common request for album-related functions. properties: name: type: string description: Name is the album name. artist: type: string description: Artist is the album artist name. mbid: type: string description: MBID is the MusicBrainz ID for the album (if known). required: - name - artist ArtistBiographyResponse: description: ArtistBiographyResponse is the response for GetArtistBiography. properties: biography: type: string description: Biography is the artist biography text. required: - biography ArtistImagesResponse: description: ArtistImagesResponse is the response for GetArtistImages. properties: images: type: array description: Images is the list of artist images. items: $ref: '#/components/schemas/ImageInfo' required: - images ArtistMBIDRequest: description: ArtistMBIDRequest is the request for GetArtistMBID. properties: id: type: string description: ID is the internal Navidrome artist ID. name: type: string description: Name is the artist name. required: - id - name ArtistMBIDResponse: description: ArtistMBIDResponse is the response for GetArtistMBID. properties: mbid: type: string description: MBID is the MusicBrainz ID for the artist. required: - mbid ArtistRequest: description: ArtistRequest is the common request for artist-related functions. properties: id: type: string description: ID is the internal Navidrome artist ID. name: type: string description: Name is the artist name. mbid: type: string description: MBID is the MusicBrainz ID for the artist (if known). required: - id - name ArtistURLResponse: description: ArtistURLResponse is the response for GetArtistURL. properties: url: type: string description: URL is the external URL for the artist. required: - url ImageInfo: description: ImageInfo represents an image with URL and size. properties: url: type: string description: URL is the URL of the image. size: type: integer format: int32 description: Size is the size of the image in pixels (width or height). required: - url - size SimilarArtistsRequest: description: SimilarArtistsRequest is the request for GetSimilarArtists. properties: id: type: string description: ID is the internal Navidrome artist ID. name: type: string description: Name is the artist name. mbid: type: string description: MBID is the MusicBrainz ID for the artist (if known). limit: type: integer format: int32 description: Limit is the maximum number of similar artists to return. required: - id - name - limit SimilarArtistsResponse: description: SimilarArtistsResponse is the response for GetSimilarArtists. properties: artists: type: array description: Artists is the list of similar artists. items: $ref: '#/components/schemas/ArtistRef' required: - artists SimilarSongsByAlbumRequest: description: SimilarSongsByAlbumRequest is the request for GetSimilarSongsByAlbum. properties: id: type: string description: ID is the internal Navidrome album ID. name: type: string description: Name is the album name. artist: type: string description: Artist is the album artist name. mbid: type: string description: MBID is the MusicBrainz release ID (if known). count: type: integer format: int32 description: Count is the maximum number of similar songs to return. required: - id - name - artist - count SimilarSongsByArtistRequest: description: SimilarSongsByArtistRequest is the request for GetSimilarSongsByArtist. properties: id: type: string description: ID is the internal Navidrome artist ID. name: type: string description: Name is the artist name. mbid: type: string description: MBID is the MusicBrainz artist ID (if known). count: type: integer format: int32 description: Count is the maximum number of similar songs to return. required: - id - name - count SimilarSongsByTrackRequest: description: SimilarSongsByTrackRequest is the request for GetSimilarSongsByTrack. properties: id: type: string description: ID is the internal Navidrome mediafile ID. name: type: string description: Name is the track title. artist: type: string description: Artist is the artist name. mbid: type: string description: MBID is the MusicBrainz recording ID (if known). count: type: integer format: int32 description: Count is the maximum number of similar songs to return. required: - id - name - artist - count SimilarSongsResponse: description: SimilarSongsResponse is the response for GetSimilarSongsBy* functions. properties: songs: type: array description: Songs is the list of similar songs. items: $ref: '#/components/schemas/SongRef' required: - songs TopSongsRequest: description: TopSongsRequest is the request for GetArtistTopSongs. properties: id: type: string description: ID is the internal Navidrome artist ID. name: type: string description: Name is the artist name. mbid: type: string description: MBID is the MusicBrainz ID for the artist (if known). count: type: integer format: int32 description: Count is the maximum number of top songs to return. required: - id - name - count TopSongsResponse: description: TopSongsResponse is the response for GetArtistTopSongs. properties: songs: type: array description: Songs is the list of top songs. items: $ref: '#/components/schemas/SongRef' required: - songs ArtistRef: description: |- ArtistRef is the minimal information a plugin returns for Navidrome to match an artist against the library. It is a reference, not a full artist entity: it carries only matching keys (name and optional internal/MusicBrainz IDs) plus a few projection fields used when describing a track's participants, never descriptive data such as biographies or images. properties: id: type: string description: ID is the internal Navidrome artist ID (if known). name: type: string description: Name is the artist name. mbid: type: string description: MBID is the MusicBrainz ID for the artist. sortName: type: string description: SortName is the artist name used for sorting (if known). role: type: string description: Role is the participation category (e.g. "artist", "composer", "performer"). subRole: type: string description: SubRole is a specialization within Role (e.g. the instrument for a performer). required: - name SongRef: description: |- SongRef is the minimal information exchanged between a plugin and Navidrome to match a song. It is used both as input (a song Navidrome already has) and as output (a song a plugin suggests, which may not be in the library yet). Unlike Track, it is an abstract recording reference carrying only matching keys (IDs, ISRC, and title/artist/album/duration) that Navidrome resolves to a library track. properties: id: type: string description: ID is the internal Navidrome mediafile ID (if known). name: type: string description: Name is the song name. mbid: type: string description: MBID is the MusicBrainz ID for the song. isrc: type: string description: ISRC is the International Standard Recording Code for the song. artist: type: string description: |- Artist is the artist name. Deprecated: use Artists. artistMbid: type: string description: |- ArtistMBID is the MusicBrainz artist ID. Deprecated: use Artists. artists: type: array description: Artists is the full artist list; when set, takes precedence over Artist/ArtistMBID for matching. items: $ref: '#/components/schemas/ArtistRef' album: type: string description: Album is the album name. albumMbid: type: string description: AlbumMBID is the MusicBrainz release ID. duration: type: number format: float description: |- Duration is the song duration in seconds. Deprecated: use DurationMs, which carries millisecond precision. When DurationMs is non-zero it takes precedence; Duration is kept only for backwards compatibility with plugins that still send seconds. durationMs: type: integer format: int64 description: |- DurationMs is the song duration in milliseconds. It supersedes Duration when non-zero. required: - name