Skip to content
On this page

Synara Permissions

Services: RPC_SERVICES.md · REST routes: REST_API.md · Guide: AUTHENTICATION.md · Index: README.md

An admin implicitly has every capability, so every method on this page is open to an admin and a capability section only matters for a user who is not one. Every method that is not listed here needs nothing beyond a valid session.

Admin

Service Method Description
IIndexer start Start indexing files in the media library and stream progress updates.
IBackupService createBackup Trigger the creation of a full system backup.
IBackupService deleteBackup Delete a system backup file from the server.
IBackupService listBackups List all available system backup files.
IBackupService loadBackup Restore the entire server state from a backup file.
IDbManagementService exportData Export the entire system database as a binary blob.
IDbManagementService importData Import a previously exported database blob to overwrite the current state.
IImageService moveImages Batch update image file paths.
IListenBackupService getState Get the current backup configuration and sync state.
IListenBackupService observeState Stream the backup state, re-emitting whenever the configuration or sync progress changes.
IListenBackupService resetCursor Reset the sync cursor so the next run re-pushes every local listen.
IListenBackupService syncNow Run a backup sync now and return the resulting state.
IListenBackupService testConnection Probe a receiver. Uses the stored configuration when no config is given.
IListenBackupService updateConfig Update the backup configuration.
IMirrorService getAlbums Stream all local albums for mirroring.
IMirrorService getArtistAliases Stream all artist name aliases for mirroring.
IMirrorService getArtistSplitAliases Stream all artist split-name mappings for mirroring.
IMirrorService getArtists Stream all local artists for mirroring.
IMirrorService getImageMetadata Stream all image metadata for mirroring.
IMirrorService getLikedSongs Stream all songs liked by a specific user for mirroring.
IMirrorService getPlaylists Stream all local system playlists for mirroring.
IMirrorService getServerPaths Expose the local file system paths where media files are stored.
IMirrorService getSongData Stream raw audio data for a song.
IMirrorService getSongs Stream all local songs with metadata for mirroring.
IMirrorService getSongsByPlaylist Stream all songs belonging to a specific system playlist for mirroring.
IMirrorService getSongsByUserPlaylist Stream all songs belonging to a specific user playlist for mirroring.
IMirrorService getUserPasswordHashes Stream the password hashes of all local user accounts for mirroring.
IMirrorService getUserPlaylists Stream all local user playlists for mirroring.
IMirrorService getUsers Stream all local user accounts (profiles) for mirroring.
IPodcastService deleteShow Remove a feed show from the server for everyone: its episodes, their transcripts, the listening positions of every user and every subscription to it are deleted, and the audio the server stored for it is deleted from disk. Returns false if the show does not exist. Shows of the local podcast library cannot be removed this way, as the server picks them up again on the next scan.
IRadioChannelService addChannelItem Add a song, artist or album to a channel's configured content.
IRadioChannelService createChannel Create a new radio channel.
IRadioChannelService deleteChannel Delete a radio channel.
IRadioChannelService removeChannelItem Remove a song, artist or album from a channel's configured content.
IRadioChannelService setChannelImage Set the channel's cover image from raw bytes.
IRadioChannelService updateChannel Update a channel's metadata (name, description, enabled, position, discovery).
IRemoteMirrorService getActiveMirrorProgress Stream real-time progress updates for the active mirroring task.
IRemoteMirrorService getProxyInstances List available proxy instances on a remote Synara instance.
IRemoteMirrorService getRemoteImageData Fetch raw image binary data from a remote Synara instance.
IRemoteMirrorService getRemotePlaylists List all system playlists on a remote Synara instance.
IRemoteMirrorService getRemoteStats Get statistics from a remote Synara instance.
IRemoteMirrorService getRemoteUserPlaylists List all user playlists on a remote Synara instance.
IRemoteMirrorService getRemoteUsers List all user accounts on a remote Synara instance.
IRemoteMirrorService resetMirror Reset the internal mirroring state.
IRemoteMirrorService startMirror Start mirroring content from another Synara instance.
IRemoteMirrorService stopMirror Stop the active mirroring process.
IRpcMetricsService lifetimeTotals Lifetime invocation totals per call, ordered by count descending. These counters are never pruned.
IRpcMetricsService recentEvents The most recent recorded invocations from the capped event log, newest first.
IRpcMetricsService timeSeries Hourly time-series of invocation counts for a specific call, oldest first.
IScheduledTaskConfigurationService getConfigurations Retrieve all background task configurations.
IScheduledTaskConfigurationService observeConfigurations Stream real-time updates for all background task configurations.
IScheduledTaskConfigurationService triggerTask Manually trigger a background task by its unique key.
IScheduledTaskConfigurationService updateConfiguration Update a task configuration.
IScheduledTaskLogService getGroupedLogs Retrieve a snapshot of the most recent background task logs grouped by task name.
IScheduledTaskLogService observeGroupedLogs Stream real-time updates for all background task progress and completion.
ISongService moveSongs Batch update song file paths.
IUserService allUsers List all users on the server.
IUserService createUser Create a new user.
IUserService setCapabilities Update the capabilities for a specific user.
IImportService getAuthUrl Get the Tidal OAuth authorization URL.
IImportService killAllChildProcesses Immediately stop all active importer processes.
IImportService setImportCredentials Provide credentials to an importer backend that supports credential injection.
IImportService setImportService Set the preferred importer backend.

DELETE

Service Method Description
IAlbumService deleteAlbums Delete multiple albums from the library.
IPlaylistService delete Delete a system playlist.
ISongService deleteSongs Delete multiple songs from the library.

EDIT

Service Method Description
IAlbumService fetchMusicBrainzId Fetch and link MusicBrainz ID for an album.
IAlbumService setMusicBrainzId Manually set MusicBrainz ID for an album.
IAlbumService updateAlbum Update album metadata.
IArtistService addAlias Add an alias to an artist.
IArtistService createArtist Manually create an artist record.
IArtistService fetchMusicBrainzId Fetch and link MusicBrainz ID for an artist.
IArtistService mergeArtists Merge multiple artist records into one.
IArtistService removeAlias Remove an alias from an artist.
IArtistService setArtistImageByUrl Set an artist's image from a direct URL.
IArtistService setGroup Set sub-artists for a group.
IArtistService setMusicBrainzId Link an artist record to a MusicBrainz ID.
IArtistService splitArtist Split an artist record into multiple artists.
ICustomAudioService uploadCustomAudio Upload a custom audio file and its metadata.
ILyricsCandidateService importSyncedLyrics Store synced lyrics parsed from a file as the manual candidate of a song.
ILyricsCandidateService setPreferredLyrics Pin the default candidate of a song for everyone.
ILyricsCandidateService setSyncedLyrics Store hand-edited synced lyrics as the manual candidate of a song. A null value removes the manual candidate.
IReleaseService confirmRelease Confirm that a provider entry flagged as possibly belonging to another artist is correct: clears the flag and records the entry's copyright holder, record label and ISRC registrants as known sources of the artist so future catalog runs do not flag matching entries again. Returns the updated entry.
IReleaseService refreshRecentRelease Kick off a background refresh of the cached metadata, provider links and cover image for a single recent release, returning immediately.
IReleaseService setReleaseHidden Hide an entry of the release feed for every user, or show it again. With includeRelated the other Apple Music entries of the same artist sharing the entry's copyright holder (or record label when no holder is known) are hidden or shown as well, and the holder or label is recorded as blocked (or unblocked) for the artist so future catalog runs hide matching entries automatically. Returns the number of entries whose visibility changed. The change applies to the whole display group, i.e. every edition the feed folds under one entry.
ISongService fetchMusicBrainzId Trigger automatic MusicBrainz ID matching for a song.
ISongService setArtists Update song artists.
ISongService setLyrics Manually set song lyrics.
ISongService setMusicBrainzId Link a song to its MusicBrainz Recording record.
ISongService updateSong Update a song's editable metadata (title, artists and their credited names, MusicBrainz link, album, release date, track and disc number).

IMPORT

Service Method Description
IImportService importIds Queue content for import by its IDs.
IImportService importLogin Trigger the OAuth login flow and stream the login URL.
IImportService importUrls Queue content for import. Each entry may be a URL, an ISRC (track), or a UPC (album barcode). Codes are resolved to a supported importer (preferring the default).
IImportService syncFavourites Synchronize favorites with the local library.

PODCAST_EDIT

Service Method Description
IPodcastService importEpisode Queue a single episode to be stored on the server. The transfer itself runs in the background, so the returned episode usually reports that its import is queued.
IPodcastService removeImport Delete the stored audio of an episode of a feed show. The episode itself stays and is played from its origin afterwards. Episodes of the local podcast library cannot be removed this way, as that would delete the file of the user.
IPodcastService scanLocal Scan the local podcast library for new, changed and vanished shows and episodes. The call runs to completion before it returns.
IPodcastService updateShowSettings Change how the server keeps the episodes of a show. Switching a show to import makes the server store new episodes on disk, and the number of episodes to keep must be at least 1 when it is given. With newest retention the server imports the newest episodes and deletes everything beyond that count, while unlistened retention, which needs import delivery, imports the episodes nobody has finished yet and only deletes an episode once every subscriber listened to it to the end, with the keep count capping how many episodes are stored or queued at once.