version: v1-draftexports:nd_get_sonic_similar_tracks:input:$ref: '#/components/schemas/GetSonicSimilarTracksRequest'contentType: application/jsonoutput:$ref: '#/components/schemas/SonicSimilarityResponse'contentType: application/jsonnd_find_sonic_path:input:$ref: '#/components/schemas/FindSonicPathRequest'contentType: application/jsonoutput:$ref: '#/components/schemas/SonicSimilarityResponse'contentType: application/jsoncomponents:schemas:FindSonicPathRequest:properties:startSong:$ref: '#/components/schemas/SongRef'endSong:$ref: '#/components/schemas/SongRef'count:type: integerformat: int32required:- startSong- endSong- countGetSonicSimilarTracksRequest:properties:song:$ref: '#/components/schemas/SongRef'count:type: integerformat: int32required:- song- countSonicMatch:properties:song:$ref: '#/components/schemas/SongRef'similarity:type: numberformat: floatrequired:- song- similaritySonicSimilarityResponse:properties:matches:type: arrayitems:$ref: '#/components/schemas/SonicMatch'required:- matchesArtistRef:description: |-ArtistRef is the minimal information a plugin returns for Navidrome to match anartist against the library. It is a reference, not a full artist entity: itcarries only matching keys (name and optional internal/MusicBrainz IDs) plus afew projection fields used when describing a track's participants, neverdescriptive data such as biographies or images.properties:id:type: stringdescription: ID is the internal Navidrome artist ID (if known).name:type: stringdescription: Name is the artist name.mbid:type: stringdescription: MBID is the MusicBrainz ID for the artist.sortName:type: stringdescription: SortName is the artist name used for sorting (if known).role:type: stringdescription: Role is the participation category (e.g. "artist", "composer", "performer").subRole:type: stringdescription: SubRole is a specialization within Role (e.g. the instrument for a performer).required:- nameSongRef:description: |-SongRef is the minimal information exchanged between a plugin and Navidrome tomatch a song. It is used both as input (a song Navidrome already has) and asoutput (a song a plugin suggests, which may not be in the library yet). UnlikeTrack, 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: stringdescription: ID is the internal Navidrome mediafile ID (if known).name:type: stringdescription: Name is the song name.mbid:type: stringdescription: MBID is the MusicBrainz ID for the song.isrc:type: stringdescription: ISRC is the International Standard Recording Code for the song.artist:type: stringdescription: |-Artist is the artist name.Deprecated: use Artists.artistMbid:type: stringdescription: |-ArtistMBID is the MusicBrainz artist ID.Deprecated: use Artists.artists:type: arraydescription: Artists is the full artist list; when set, takes precedence over Artist/ArtistMBID for matching.items:$ref: '#/components/schemas/ArtistRef'album:type: stringdescription: Album is the album name.albumMbid:type: stringdescription: AlbumMBID is the MusicBrainz release ID.duration:type: numberformat: floatdescription: |-Duration is the song duration in seconds.Deprecated: use DurationMs, which carries millisecond precision. WhenDurationMs is non-zero it takes precedence; Duration is kept only forbackwards compatibility with plugins that still send seconds.durationMs:type: integerformat: int64description: |-DurationMs is the song duration in milliseconds. It supersedes Durationwhen non-zero.required:- name