lidarr

package
v1.3.2-0...-f209d04 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 14, 2026 License: MIT Imports: 14 Imported by: 11

Documentation

Overview

Package lidarr is the SDK client for the Lidarr API.

Index

Constants

View Source
const (
	FilterUnknown starr.Filtering = iota
	FilterGrabbed
	FilterArtistFolderImported
	FilterTrackFileImported
	FilterDownloadFailed
	FilterDeleted
	FilterRenamed
	FilterImportFailed
	FilterDownloadImported
	FilterRetagged
	FilterIgnored
)

Filter values are integers. Given names for ease of discovery. https://github.com/Lidarr/Lidarr/blob/c2adf078345f81012ddb5d2f384e2ee45ff7f1af/src/NzbDrone.Core/History/History.cs#L35-L45

View Source
const APIver = "v1"

APIver is the Lidarr API version supported by this library.

Variables

This section is empty.

Functions

This section is empty.

Types

type AddAlbumInput

type AddAlbumInput struct {
	ForeignAlbumID string                  `json:"foreignAlbumId"`
	Monitored      bool                    `json:"monitored"`
	Releases       []*AddAlbumInputRelease `json:"releases"`
	AddOptions     *AlbumAddOptions        `json:"addOptions"`
	Artist         *Artist                 `json:"artist"`
}

AddAlbumInput is currently unknown.

type AddAlbumInputRelease

type AddAlbumInputRelease struct {
	ForeignReleaseID string   `json:"foreignReleaseId"`
	Title            string   `json:"title"`
	Media            []*Media `json:"media"`
	Monitored        bool     `json:"monitored"`
}

AddAlbumInputRelease is part of AddAlbumInput.

type Album

type Album struct {
	ID             int64            `json:"id,omitempty"`
	Title          string           `json:"title"`
	Disambiguation string           `json:"disambiguation"`
	Overview       string           `json:"overview"`
	ArtistID       int64            `json:"artistId"`
	ForeignAlbumID string           `json:"foreignAlbumId"`
	ProfileID      int64            `json:"profileId"`
	Duration       int              `json:"duration"`
	AlbumType      string           `json:"albumType"`
	SecondaryTypes []any            `json:"secondaryTypes"`
	MediumCount    int              `json:"mediumCount"`
	Ratings        *starr.Ratings   `json:"ratings"`
	ReleaseDate    time.Time        `json:"releaseDate"`
	Releases       []*Release       `json:"releases"`
	Genres         []string         `json:"genres"`
	Media          []*Media         `json:"media"`
	Artist         *Artist          `json:"artist"`
	Links          []*starr.Link    `json:"links"`
	Images         []*starr.Image   `json:"images"`
	Statistics     *Statistics      `json:"statistics"`
	RemoteCover    string           `json:"remoteCover,omitempty"`
	AddOptions     *AlbumAddOptions `json:"addOptions,omitempty"`
	Monitored      bool             `json:"monitored"`
	AnyReleaseOk   bool             `json:"anyReleaseOk"`
	Grabbed        bool             `json:"grabbed"`
}

Album is the /api/v1/album endpoint.

type AlbumAddOptions

type AlbumAddOptions struct {
	SearchForNewAlbum bool `json:"searchForNewAlbum,omitempty"`
}

AlbumAddOptions is part of an Album.

type AlbumStudioArtist

type AlbumStudioArtist struct {
	ID        int64    `json:"id"`
	Monitored bool     `json:"monitored,omitempty"`
	Albums    []*Album `json:"albums,omitempty"`
}

AlbumStudioArtist is one artist block for album studio.

type AlbumStudioInput

type AlbumStudioInput struct {
	Artist            []*AlbumStudioArtist `json:"artist,omitempty"`
	MonitoringOptions *MonitoringOptions   `json:"monitoringOptions,omitempty"`
	MonitorNewItems   string               `json:"monitorNewItems,omitempty"`
}

AlbumStudioInput is the body for POST /albumstudio.

type AlbumType

type AlbumType struct {
	AlbumType *starr.Value `json:"albumType"`
	Allowed   bool         `json:"allowed"`
}

AlbumType is part of MetadataProfile.

type AlbumsMonitoredInput

type AlbumsMonitoredInput struct {
	AlbumIDs  []int64 `json:"albumIds"`
	Monitored bool    `json:"monitored"`
}

AlbumsMonitoredInput is the body for PUT /album/monitor.

type Artist

type Artist struct {
	ID                int64             `json:"id"`
	Status            string            `json:"status,omitempty"`
	LastInfoSync      time.Time         `json:"lastInfoSync,omitzero"`
	ArtistName        string            `json:"artistName,omitempty"`
	ForeignArtistID   string            `json:"foreignArtistId,omitempty"`
	TadbID            int64             `json:"tadbId,omitempty"`
	DiscogsID         int64             `json:"discogsId,omitempty"`
	QualityProfileID  int64             `json:"qualityProfileId,omitempty"`
	MetadataProfileID int64             `json:"metadataProfileId,omitempty"`
	Overview          string            `json:"overview,omitempty"`
	ArtistType        string            `json:"artistType,omitempty"`
	Disambiguation    string            `json:"disambiguation,omitempty"`
	RootFolderPath    string            `json:"rootFolderPath,omitempty"`
	Path              string            `json:"path,omitempty"`
	CleanName         string            `json:"cleanName,omitempty"`
	SortName          string            `json:"sortName,omitempty"`
	Links             []*starr.Link     `json:"links,omitempty"`
	Images            []*starr.Image    `json:"images,omitempty"`
	Genres            []string          `json:"genres,omitempty"`
	Tags              []int             `json:"tags,omitempty"`
	Added             time.Time         `json:"added,omitzero"`
	Ratings           *starr.Ratings    `json:"ratings,omitempty"`
	Statistics        *Statistics       `json:"statistics,omitempty"`
	LastAlbum         *Album            `json:"lastAlbum,omitempty"`
	NextAlbum         *Album            `json:"nextAlbum,omitempty"`
	AddOptions        *ArtistAddOptions `json:"addOptions,omitempty"`
	AlbumFolder       bool              `json:"albumFolder,omitempty"`
	Monitored         bool              `json:"monitored"`
	Ended             bool              `json:"ended,omitempty"`
}

Artist represents the /api/v1/artist endpoint, and it's part of an Album.

type ArtistAddOptions

type ArtistAddOptions struct {
	Monitor                string `json:"monitor,omitempty"`
	Monitored              bool   `json:"monitored,omitempty"`
	SearchForMissingAlbums bool   `json:"searchForMissingAlbums,omitempty"`
}

ArtistAddOptions is part of an artist and an album.

type ArtistEditorInput

type ArtistEditorInput struct {
	ArtistIDs              []int           `json:"artistIds,omitempty"`
	Monitored              *bool           `json:"monitored,omitempty"`
	MonitorNewItems        string          `json:"monitorNewItems,omitempty"`
	QualityProfileID       *int            `json:"qualityProfileId,omitempty"`
	MetadataProfileID      *int            `json:"metadataProfileId,omitempty"`
	RootFolderPath         string          `json:"rootFolderPath,omitempty"`
	Tags                   []int           `json:"tags,omitempty"`
	ApplyTags              starr.ApplyTags `json:"applyTags,omitempty"`
	MoveFiles              bool            `json:"moveFiles,omitempty"`
	DeleteFiles            bool            `json:"deleteFiles,omitempty"`
	AddImportListExclusion bool            `json:"addImportListExclusion,omitempty"`
}

ArtistEditorInput is the request body for PUT and DELETE /artist/editor.

type ArtistTitleInfo added in v1.0.0

type ArtistTitleInfo struct {
	Title            string `json:"title"`
	TitleWithoutYear string `json:"titleWithoutYear"`
	Year             int    `json:"year"`
}

ArtistTitleInfo is part of AudioTags.

type AudioCountry added in v1.0.0

type AudioCountry struct {
	TwoLetterCode string `json:"twoLetterCode"`
	Name          string `json:"name"`
}

AudioCountry is part of AudioTags.

type AudioMediaInfo added in v1.0.0

type AudioMediaInfo struct {
	AudioFormat     string `json:"audioFormat"`
	AudioBitrate    int64  `json:"audioBitrate"`
	AudioChannels   int    `json:"audioChannels"`
	AudioBits       int    `json:"audioBits"`
	AudioSampleRate int    `json:"audioSampleRate"`
}

AudioMediaInfo is part of AudioTags.

type AudioTags added in v1.0.0

type AudioTags struct {
	Title           string           `json:"title"`
	CleanTitle      string           `json:"cleanTitle"`
	ArtistTitle     string           `json:"artistTitle"`
	AlbumTitle      string           `json:"albumTitle"`
	ArtistTitleInfo *ArtistTitleInfo `json:"artistTitleInfo"`
	ArtistMBID      string           `json:"artistMBId"`
	AlbumMBID       string           `json:"albumMBId"`
	ReleaseMBID     string           `json:"releaseMBId"`
	RecordingMBID   string           `json:"recordingMBId"`
	TrackMBID       string           `json:"trackMBId"`
	DiscNumber      int              `json:"discNumber"`
	DiscCount       int              `json:"discCount"`
	Country         *AudioCountry    `json:"country"`
	Year            int              `json:"year"`
	Label           string           `json:"label"`
	CatalogNumber   string           `json:"catalogNumber"`
	Disambiguation  string           `json:"disambiguation"`
	Duration        starr.PlayTime   `json:"duration"`
	Quality         *starr.Quality   `json:"quality"`
	MediaInfo       *AudioMediaInfo  `json:"mediaInfo"`
	TrackNumbers    []int            `json:"trackNumbers"`
	ReleaseGroup    string           `json:"releaseGroup"`
	ReleaseHash     string           `json:"releaseHash"`
}

AudioTags is (optionally) part of a TrackFile.

type AutoTagging

type AutoTagging = starrshared.AutoTagging

AutoTagging is the /api/v1/autotagging resource.

type AutoTaggingSpecification

type AutoTaggingSpecification = starrshared.AutoTaggingSpecification

AutoTaggingSpecification is one rule inside an AutoTagging definition.

type BackupRestoreResponse

type BackupRestoreResponse = starrshared.BackupRestoreResponse

BackupRestoreResponse is returned when restoring a backup.

type BlockList added in v1.0.0

type BlockList struct {
	Page          int                `json:"page"`
	PageSize      int                `json:"pageSize"`
	SortKey       string             `json:"sortKey"`
	SortDirection string             `json:"sortDirection"`
	TotalRecords  int                `json:"totalRecords"`
	Records       []*BlockListRecord `json:"records"`
}

BlockList represents the /api/v1/blocklist endpoint.

type BlockListRecord added in v1.0.0

type BlockListRecord struct {
	Artist        *Artist        `json:"artist"`
	Quality       *starr.Quality `json:"quality"`
	CustomFormats []any          `json:"customFormats"`
	AlbumIDs      []int64        `json:"albumIds"`
	ID            int64          `json:"id"`
	ArtistID      int64          `json:"artistId"`
	Date          time.Time      `json:"date"`
	SourceTitle   string         `json:"sourceTitle"`
	Protocol      starr.Protocol `json:"protocol"`
	Indexer       string         `json:"indexer"`
	Message       string         `json:"message"`
}

BlockListRecord represents a single block list item.

type CRF added in v1.1.0

type CRF int

CRF is ColonReplacementFormat, for naming config.

const (
	ColonDelete CRF = iota
	ColonReplaceWithDash
	ColonReplaceWithSpaceDash
	ColonReplaceWithSpaceDashSpace
	ColonSmartReplace
)

These are all of the possible Colon Replacement Formats (for naming config) in Lidarr.

type Calendar added in v1.0.0

type Calendar struct {
	Start         time.Time
	End           time.Time
	Unmonitored   bool
	IncludeArtist bool
}

Calendar defines the filters for fetching calendar items.

type CommandRequest added in v0.9.10

type CommandRequest struct {
	Name     string   `json:"name"`
	AlbumIDs []int64  `json:"albumIds,omitempty"`
	AlbumID  int64    `json:"albumId,omitempty"`
	Folders  []string `json:"folders,omitempty"`
	ArtistID int64    `json:"artistId,omitempty"`
}

CommandRequest goes into the /api/v1/command endpoint. This was created from the search command and may not support other commands yet.

type CommandResponse added in v0.9.10

type CommandResponse struct {
	ID                  int64          `json:"id"`
	Name                string         `json:"name"`
	CommandName         string         `json:"commandName"`
	Message             string         `json:"message,omitempty"`
	Priority            string         `json:"priority"`
	Status              string         `json:"status"`
	Queued              time.Time      `json:"queued"`
	Started             time.Time      `json:"started,omitzero"`
	Ended               time.Time      `json:"ended,omitzero"`
	StateChangeTime     time.Time      `json:"stateChangeTime,omitzero"`
	LastExecutionTime   time.Time      `json:"lastExecutionTime,omitzero"`
	Duration            string         `json:"duration,omitempty"`
	Trigger             string         `json:"trigger"`
	SendUpdatesToClient bool           `json:"sendUpdatesToClient"`
	UpdateScheduledTask bool           `json:"updateScheduledTask"`
	Body                map[string]any `json:"body"`
}

CommandResponse comes from the /api/v1/command endpoint.

type CustomFilter

type CustomFilter = starrshared.CustomFilter

CustomFilter is the /api/v1/customfilter resource.

type CustomFormatInput added in v1.1.0

type CustomFormatInput struct {
	ID                    int64                    `json:"id,omitempty"`
	Name                  string                   `json:"name"`
	IncludeCFWhenRenaming bool                     `json:"includeCustomFormatWhenRenaming"`
	Specifications        []*CustomFormatInputSpec `json:"specifications"`
}

CustomFormatInput is the input for a new or updated CustomFormat.

type CustomFormatInputSpec added in v1.1.0

type CustomFormatInputSpec struct {
	Name           string              `json:"name"`
	Implementation string              `json:"implementation"`
	Negate         bool                `json:"negate"`
	Required       bool                `json:"required"`
	Fields         []*starr.FieldInput `json:"fields"`
}

CustomFormatInputSpec is part of a CustomFormatInput.

type CustomFormatOutput added in v1.1.0

type CustomFormatOutput struct {
	ID                    int64                     `json:"id"`
	Name                  string                    `json:"name"`
	IncludeCFWhenRenaming bool                      `json:"includeCustomFormatWhenRenaming"`
	Specifications        []*CustomFormatOutputSpec `json:"specifications"`
}

CustomFormatOutput is the output from the CustomFormat methods.

type CustomFormatOutputSpec added in v1.1.0

type CustomFormatOutputSpec struct {
	ID                 int64                `json:"id"`
	Name               string               `json:"name"`
	Implementation     string               `json:"implementation"`
	ImplementationName string               `json:"implementationName"`
	InfoLink           string               `json:"infoLink"`
	Negate             bool                 `json:"negate"`
	Required           bool                 `json:"required"`
	Fields             []*starr.FieldOutput `json:"fields"`
}

CustomFormatOutputSpec is part of a CustomFormatOutput.

type DelayProfile

type DelayProfile struct {
	EnableUsenet           bool           `json:"enableUsenet,omitempty"`
	EnableTorrent          bool           `json:"enableTorrent,omitempty"`
	BypassIfHighestQuality bool           `json:"bypassIfHighestQuality,omitempty"`
	UsenetDelay            int64          `json:"usenetDelay,omitempty"`
	TorrentDelay           int64          `json:"torrentDelay,omitempty"`
	ID                     int64          `json:"id,omitempty"`
	Order                  int64          `json:"order,omitempty"`
	Tags                   []int          `json:"tags"`
	PreferredProtocol      starr.Protocol `json:"preferredProtocol,omitempty"`
}

DelayProfile is the /api/v1/delayprofile endpoint.

type DiskSpace

type DiskSpace = starrshared.DiskSpace

DiskSpace is the /api/v1/diskspace resource.

type DownloadClientConfig added in v1.0.0

type DownloadClientConfig struct {
	EnableCompletedDownloadHandling bool   `json:"enableCompletedDownloadHandling"`
	AutoRedownloadFailed            bool   `json:"autoRedownloadFailed"`
	ID                              int64  `json:"id"`
	DownloadClientWorkingFolders    string `json:"downloadClientWorkingFolders"`
}

DownloadClientConfig is the /api/v1/config/downloadClientConfig endpoint.

type DownloadClientInput added in v1.0.0

type DownloadClientInput struct {
	Enable                   bool                `json:"enable"`
	RemoveCompletedDownloads bool                `json:"removeCompletedDownloads"`
	RemoveFailedDownloads    bool                `json:"removeFailedDownloads"`
	Priority                 int                 `json:"priority"`
	ID                       int64               `json:"id,omitempty"`
	ConfigContract           string              `json:"configContract"`
	Implementation           string              `json:"implementation"`
	Name                     string              `json:"name"`
	Protocol                 starr.Protocol      `json:"protocol"`
	Tags                     []int               `json:"tags"`
	Fields                   []*starr.FieldInput `json:"fields"`
}

DownloadClientInput is the input for a new or updated download client.

type DownloadClientOutput added in v1.0.0

type DownloadClientOutput struct {
	Enable                   bool                 `json:"enable"`
	RemoveCompletedDownloads bool                 `json:"removeCompletedDownloads"`
	RemoveFailedDownloads    bool                 `json:"removeFailedDownloads"`
	Priority                 int                  `json:"priority"`
	ID                       int64                `json:"id,omitempty"`
	ConfigContract           string               `json:"configContract"`
	Implementation           string               `json:"implementation"`
	ImplementationName       string               `json:"implementationName"`
	InfoLink                 string               `json:"infoLink"`
	Name                     string               `json:"name"`
	Protocol                 starr.Protocol       `json:"protocol"`
	Tags                     []int                `json:"tags"`
	Fields                   []*starr.FieldOutput `json:"fields"`
}

DownloadClientOutput is the output from the download client methods.

type Exclusion added in v1.0.0

type Exclusion struct {
	ForeignID  string `json:"foreignId"`
	ArtistName string `json:"artistName"`
	ID         int64  `json:"id,omitempty"`
}

Exclusion is a Lidarr excluded item.

type Feed added in v1.2.1

type Feed struct {
	// Default Value: 7
	PastDays int `json:"pastDays"`
	// Default Value: 28
	FutureDays int   `json:"futureDays"`
	Tags       []int `json:"tags"`
	// Include unmonitored albums in the iCal feed.
	Unmonitored bool `json:"unmonitored"`
}

Feed is the /feed/v1/calendar endpoint.

type Health

type Health = starrshared.Health

Health is the /api/v1/health resource.

type History added in v0.10.6

type History struct {
	Page          int              `json:"page"`
	PageSize      int              `json:"pageSize"`
	SortKey       string           `json:"sortKey"`
	SortDirection string           `json:"sortDirection"`
	TotalRecords  int              `json:"totalRecords"`
	Records       []*HistoryRecord `json:"records"`
}

History represents the /api/v1/history endpoint.

type HistoryRecord added in v0.10.6

type HistoryRecord struct {
	ID                  int64          `json:"id"`
	AlbumID             int64          `json:"albumId"`
	ArtistID            int64          `json:"artistId"`
	TrackID             int64          `json:"trackId"`
	SourceTitle         string         `json:"sourceTitle"`
	Quality             *starr.Quality `json:"quality"`
	QualityCutoffNotMet bool           `json:"qualityCutoffNotMet"`
	Date                time.Time      `json:"date"`
	DownloadID          string         `json:"downloadId"`
	EventType           string         `json:"eventType"`
	Data                struct {
		Age             string         `json:"age"`
		AgeHours        string         `json:"ageHours"`
		AgeMinutes      string         `json:"ageMinutes"`
		DownloadClient  string         `json:"downloadClient"`
		DownloadForced  string         `json:"downloadForced"`
		DownloadURL     string         `json:"downloadUrl"`
		DroppedPath     string         `json:"droppedPath"`
		GUID            string         `json:"guid"`
		ImportedPath    string         `json:"importedPath"`
		Indexer         string         `json:"indexer"`
		Message         string         `json:"message"`
		NzbInfoURL      string         `json:"nzbInfoUrl"`
		Protocol        starr.Protocol `json:"protocol"`
		PublishedDate   time.Time      `json:"publishedDate"`
		Reason          string         `json:"reason"`
		ReleaseGroup    string         `json:"releaseGroup"`
		Size            string         `json:"size"`
		StatusMessages  string         `json:"statusMessages"`
		TorrentInfoHash string         `json:"torrentInfoHash"`
	} `json:"data"`
}

HistoryRecord is part of the history. Not all items have all Data members. Check EventType for events you need.

type ImportListInput added in v1.0.0

type ImportListInput struct {
	EnableAutomaticAdd    bool                `json:"enableAutomaticAdd"`
	ShouldMonitorExisting bool                `json:"shouldMonitorExisting"`
	ShouldSearch          bool                `json:"shouldSearch"`
	ListOrder             int                 `json:"listOrder"`
	ID                    int64               `json:"id,omitempty"` // for update not add.
	QualityProfileID      int64               `json:"qualityProfileId,omitempty"`
	MetadataProfileID     int64               `json:"metadataProfileId,omitempty"`
	ConfigContract        string              `json:"configContract,omitempty"`
	Implementation        string              `json:"implementation,omitempty"`
	ListType              string              `json:"listType,omitempty"`
	MonitorNewItems       string              `json:"monitorNewItems,omitempty"`
	Name                  string              `json:"name,omitempty"`
	RootFolderPath        string              `json:"rootFolderPath,omitempty"`
	ShouldMonitor         string              `json:"shouldMonitor,omitempty"`
	Tags                  []int               `json:"tags,omitempty"`
	Fields                []*starr.FieldInput `json:"fields,omitempty"`
}

ImportListInput is the input for a new or updated import list.

type ImportListOutput added in v1.0.0

type ImportListOutput struct {
	EnableAutomaticAdd    bool                 `json:"enableAutomaticAdd"`
	ShouldMonitorExisting bool                 `json:"shouldMonitorExisting"`
	ShouldSearch          bool                 `json:"shouldSearch"`
	ListOrder             int                  `json:"listOrder"`
	ID                    int64                `json:"id"`
	QualityProfileID      int64                `json:"qualityProfileId"`
	MetadataProfileID     int64                `json:"metadataProfileId"`
	ShouldMonitor         string               `json:"shouldMonitor"`
	RootFolderPath        string               `json:"rootFolderPath"`
	MonitorNewItems       string               `json:"monitorNewItems"`
	ListType              string               `json:"listType"`
	Name                  string               `json:"name"`
	ImplementationName    string               `json:"implementationName"`
	Implementation        string               `json:"implementation"`
	ConfigContract        string               `json:"configContract"`
	InfoLink              string               `json:"infoLink"`
	Tags                  []int                `json:"tags"`
	Fields                []*starr.FieldOutput `json:"fields"`
	Message               struct {
		Message string `json:"message"` // this is a weird place for a message
		Type    string `json:"type"`
	} `json:"message"`
}

ImportListOutput is the output from the import list methods.

type IndexerConfig added in v1.0.0

type IndexerConfig struct {
	ID              int64 `json:"id"`
	MaximumSize     int64 `json:"maximumSize"`
	MinimumAge      int64 `json:"minimumAge"`
	Retention       int64 `json:"retention"`
	RssSyncInterval int64 `json:"rssSyncInterval"`
}

IndexerConfig represents the /config/indexer endpoint.

type IndexerInput added in v1.0.0

type IndexerInput struct {
	EnableAutomaticSearch   bool                `json:"enableAutomaticSearch"`
	EnableInteractiveSearch bool                `json:"enableInteractiveSearch"`
	EnableRss               bool                `json:"enableRss"`
	Priority                int64               `json:"priority"`
	ID                      int64               `json:"id,omitempty"`
	ConfigContract          string              `json:"configContract"`
	Implementation          string              `json:"implementation"`
	Name                    string              `json:"name"`
	Protocol                starr.Protocol      `json:"protocol"`
	Tags                    []int               `json:"tags"`
	Fields                  []*starr.FieldInput `json:"fields"`
}

IndexerInput is the input for a new or updated indexer.

type IndexerOutput added in v1.0.0

type IndexerOutput struct {
	EnableAutomaticSearch   bool                 `json:"enableAutomaticSearch"`
	EnableInteractiveSearch bool                 `json:"enableInteractiveSearch"`
	EnableRss               bool                 `json:"enableRss"`
	SupportsRss             bool                 `json:"supportsRss"`
	SupportsSearch          bool                 `json:"supportsSearch"`
	Priority                int64                `json:"priority"`
	ID                      int64                `json:"id,omitempty"`
	ConfigContract          string               `json:"configContract"`
	Implementation          string               `json:"implementation"`
	ImplementationName      string               `json:"implementationName"`
	InfoLink                string               `json:"infoLink"`
	Name                    string               `json:"name"`
	Protocol                starr.Protocol       `json:"protocol"`
	Tags                    []int                `json:"tags"`
	Fields                  []*starr.FieldOutput `json:"fields"`
}

IndexerOutput is the output from the indexer methods.

type Lidarr

type Lidarr struct {
	starr.APIer `json:"-"`
}

Lidarr contains all the methods to interact with a Lidarr server.

func New

func New(config *starr.Config) *Lidarr

New returns a Lidarr object used to interact with the Lidarr API.

func (*Lidarr) AddAlbum

func (l *Lidarr) AddAlbum(album *AddAlbumInput) (*Album, error)

AddAlbum adds a new album to Lidarr, and probably does not yet work.

func (*Lidarr) AddAlbumContext added in v0.13.0

func (l *Lidarr) AddAlbumContext(ctx context.Context, album *AddAlbumInput) (*Album, error)

AddAlbumContext adds a new album to Lidarr, and probably does not yet work.

func (*Lidarr) AddArtist

func (l *Lidarr) AddArtist(artist *Artist) (*Artist, error)

AddArtist adds a new artist to Lidarr, and probably does not yet work.

func (*Lidarr) AddArtistContext added in v0.13.0

func (l *Lidarr) AddArtistContext(ctx context.Context, artist *Artist) (*Artist, error)

AddArtistContext adds a new artist to Lidarr, and probably does not yet work.

func (*Lidarr) AddAutoTagging

func (l *Lidarr) AddAutoTagging(in *AutoTagging) (*AutoTagging, error)

AddAutoTagging creates an auto tagging configuration.

func (*Lidarr) AddAutoTaggingContext

func (l *Lidarr) AddAutoTaggingContext(ctx context.Context, in *AutoTagging) (*AutoTagging, error)

AddAutoTaggingContext creates an auto tagging configuration.

func (*Lidarr) AddCustomFilter

func (l *Lidarr) AddCustomFilter(in *CustomFilter) (*CustomFilter, error)

AddCustomFilter creates a custom filter.

func (*Lidarr) AddCustomFilterContext

func (l *Lidarr) AddCustomFilterContext(ctx context.Context, in *CustomFilter) (*CustomFilter, error)

AddCustomFilterContext creates a custom filter.

func (*Lidarr) AddCustomFormat added in v1.1.0

func (l *Lidarr) AddCustomFormat(format *CustomFormatInput) (*CustomFormatOutput, error)

AddCustomFormat creates a new custom format and returns the response (with ID).

func (*Lidarr) AddCustomFormatContext added in v1.1.0

func (l *Lidarr) AddCustomFormatContext(ctx context.Context, format *CustomFormatInput) (*CustomFormatOutput, error)

AddCustomFormatContext creates a new custom format and returns the response (with ID).

func (*Lidarr) AddDelayProfile

func (l *Lidarr) AddDelayProfile(profile *DelayProfile) (*DelayProfile, error)

AddDelayProfile creates a delay profile.

func (*Lidarr) AddDelayProfileContext

func (l *Lidarr) AddDelayProfileContext(ctx context.Context, profile *DelayProfile) (*DelayProfile, error)

AddDelayProfileContext creates a delay profile.

func (*Lidarr) AddDownloadClient added in v1.0.0

func (l *Lidarr) AddDownloadClient(downloadclient *DownloadClientInput) (*DownloadClientOutput, error)

AddDownloadClient creates a download client without testing it.

func (*Lidarr) AddDownloadClientContext added in v1.0.0

func (l *Lidarr) AddDownloadClientContext(ctx context.Context,
	client *DownloadClientInput,
) (*DownloadClientOutput, error)

AddDownloadClientContext creates a download client without testing it.

func (*Lidarr) AddExclusion added in v1.1.0

func (l *Lidarr) AddExclusion(exclusion *Exclusion) (*Exclusion, error)

AddExclusion adds one exclusion to Lidarr.

func (*Lidarr) AddExclusionContext added in v1.1.0

func (l *Lidarr) AddExclusionContext(ctx context.Context, exclusion *Exclusion) (*Exclusion, error)

AddExclusionContext adds one exclusion to Lidarr.

func (*Lidarr) AddImportList added in v1.0.0

func (l *Lidarr) AddImportList(importList *ImportListInput) (*ImportListOutput, error)

AddImportList creates an import list without testing it.

func (*Lidarr) AddImportListContext added in v1.0.0

func (l *Lidarr) AddImportListContext(ctx context.Context, importList *ImportListInput) (*ImportListOutput, error)

AddImportListContext creates an import list without testing it.

func (*Lidarr) AddIndexer added in v1.0.0

func (l *Lidarr) AddIndexer(indexer *IndexerInput) (*IndexerOutput, error)

AddIndexer creates an indexer without testing it.

func (*Lidarr) AddIndexerContext added in v1.0.0

func (l *Lidarr) AddIndexerContext(ctx context.Context, indexer *IndexerInput) (*IndexerOutput, error)

AddIndexerContext creates an indexer without testing it.

func (*Lidarr) AddMetadataProfile

func (l *Lidarr) AddMetadataProfile(profile *MetadataProfile) (*MetadataProfile, error)

AddMetadataProfile creates a metadata profile.

func (*Lidarr) AddMetadataProfileContext

func (l *Lidarr) AddMetadataProfileContext(ctx context.Context, profile *MetadataProfile) (*MetadataProfile, error)

AddMetadataProfileContext creates a metadata profile.

func (*Lidarr) AddNotification added in v1.0.0

func (l *Lidarr) AddNotification(notification *NotificationInput) (*NotificationOutput, error)

AddNotification creates a notification.

func (*Lidarr) AddNotificationContext added in v1.0.0

func (l *Lidarr) AddNotificationContext(ctx context.Context, client *NotificationInput) (*NotificationOutput, error)

AddNotificationContext creates a notification.

func (*Lidarr) AddQualityProfile added in v0.9.11

func (l *Lidarr) AddQualityProfile(profile *QualityProfile) (int64, error)

AddQualityProfile updates a quality profile in place.

func (*Lidarr) AddQualityProfileContext added in v0.13.0

func (l *Lidarr) AddQualityProfileContext(ctx context.Context, profile *QualityProfile) (int64, error)

AddQualityProfileContext updates a quality profile in place.

func (*Lidarr) AddRemotePathMapping added in v1.0.0

func (l *Lidarr) AddRemotePathMapping(mapping *starr.RemotePathMapping) (*starr.RemotePathMapping, error)

AddRemotePathMapping creates a remote path mapping.

func (*Lidarr) AddRemotePathMappingContext added in v1.0.0

func (l *Lidarr) AddRemotePathMappingContext(ctx context.Context,
	mapping *starr.RemotePathMapping,
) (*starr.RemotePathMapping, error)

AddRemotePathMappingContext creates a remote path mapping.

func (*Lidarr) AddTag

func (l *Lidarr) AddTag(tag *starr.Tag) (*starr.Tag, error)

AddTag creates a tag.

func (*Lidarr) AddTagContext added in v0.13.0

func (l *Lidarr) AddTagContext(ctx context.Context, tag *starr.Tag) (*starr.Tag, error)

AddTagContext creates a tag.

func (*Lidarr) AlbumStudio

func (l *Lidarr) AlbumStudio(in *AlbumStudioInput) error

AlbumStudio triggers album studio actions (monitoring) for artists/albums.

func (*Lidarr) AlbumStudioContext

func (l *Lidarr) AlbumStudioContext(ctx context.Context, in *AlbumStudioInput) error

AlbumStudioContext triggers album studio actions (monitoring) for artists/albums.

func (*Lidarr) DeleteAlbum added in v1.0.0

func (l *Lidarr) DeleteAlbum(albumID int64, deleteFiles, addImportExclusion bool) error

DeleteAlbum removes an album from the database. Setting deleteFiles true will delete all content for the album.

func (*Lidarr) DeleteAlbumContext added in v1.0.0

func (l *Lidarr) DeleteAlbumContext(ctx context.Context, albumID int64, deleteFiles, addImportExclusion bool) error

DeleteAlbumContext removes an album from the database. Setting deleteFiles true will delete all content for the album.

func (*Lidarr) DeleteArtist added in v1.0.0

func (l *Lidarr) DeleteArtist(artistID int64, deleteFiles, addImportExclusion bool) error

DeleteArtist removes an artist from the database. Setting deleteFiles true will delete all content for the artist.

func (*Lidarr) DeleteArtistContext added in v1.0.0

func (l *Lidarr) DeleteArtistContext(ctx context.Context, artistID int64, deleteFiles, addImportExclusion bool) error

DeleteArtistContext removes an artist from the database. Setting deleteFiles true will delete all content for the artist.

func (*Lidarr) DeleteArtists

func (l *Lidarr) DeleteArtists(in *ArtistEditorInput) ([]*Artist, error)

DeleteArtists applies bulk deletes to artists.

func (*Lidarr) DeleteArtistsContext

func (l *Lidarr) DeleteArtistsContext(ctx context.Context, in *ArtistEditorInput) ([]*Artist, error)

DeleteArtistsContext applies bulk deletes to artists.

func (*Lidarr) DeleteAutoTagging

func (l *Lidarr) DeleteAutoTagging(id int) error

DeleteAutoTagging deletes an auto tagging configuration.

func (*Lidarr) DeleteAutoTaggingContext

func (l *Lidarr) DeleteAutoTaggingContext(ctx context.Context, id int) error

DeleteAutoTaggingContext deletes an auto tagging configuration.

func (*Lidarr) DeleteBackup

func (l *Lidarr) DeleteBackup(id int64) error

DeleteBackup deletes a backup file by ID.

func (*Lidarr) DeleteBackupContext

func (l *Lidarr) DeleteBackupContext(ctx context.Context, id int64) error

DeleteBackupContext deletes a backup file by ID.

func (*Lidarr) DeleteBlockList added in v1.0.0

func (l *Lidarr) DeleteBlockList(listID int64) error

DeleteBlockList removes a single block list item.

func (*Lidarr) DeleteBlockListContext added in v1.0.0

func (l *Lidarr) DeleteBlockListContext(ctx context.Context, listID int64) error

DeleteBlockListContext removes a single block list item with a context.

func (*Lidarr) DeleteBlockLists added in v1.0.0

func (l *Lidarr) DeleteBlockLists(ids []int64) error

DeleteBlockLists removes multiple block list items.

func (*Lidarr) DeleteBlockListsContext added in v1.0.0

func (l *Lidarr) DeleteBlockListsContext(ctx context.Context, ids []int64) error

DeleteBlockListsContext removes multiple block list items with a context.

func (*Lidarr) DeleteCustomFilter

func (l *Lidarr) DeleteCustomFilter(id int) error

DeleteCustomFilter deletes a custom filter.

func (*Lidarr) DeleteCustomFilterContext

func (l *Lidarr) DeleteCustomFilterContext(ctx context.Context, id int) error

DeleteCustomFilterContext deletes a custom filter.

func (*Lidarr) DeleteCustomFormat added in v1.1.0

func (l *Lidarr) DeleteCustomFormat(cfID int64) error

DeleteCustomFormat deletes a custom format.

func (*Lidarr) DeleteCustomFormatContext added in v1.1.0

func (l *Lidarr) DeleteCustomFormatContext(ctx context.Context, cfID int64) error

DeleteCustomFormatContext deletes a custom format.

func (*Lidarr) DeleteDelayProfile

func (l *Lidarr) DeleteDelayProfile(profileID int64) error

DeleteDelayProfile removes a single delay profile.

func (*Lidarr) DeleteDelayProfileContext

func (l *Lidarr) DeleteDelayProfileContext(ctx context.Context, profileID int64) error

DeleteDelayProfileContext removes a single delay profile.

func (*Lidarr) DeleteDownloadClient added in v1.0.0

func (l *Lidarr) DeleteDownloadClient(downloadclientID int64) error

DeleteDownloadClient removes a single download client.

func (*Lidarr) DeleteDownloadClientContext added in v1.0.0

func (l *Lidarr) DeleteDownloadClientContext(ctx context.Context, downloadclientID int64) error

DeleteDownloadClientContext removes a single download client.

func (*Lidarr) DeleteExclusions added in v1.0.0

func (l *Lidarr) DeleteExclusions(ids []int64) error

DeleteExclusions removes exclusions from Lidarr.

func (*Lidarr) DeleteExclusionsContext added in v1.0.0

func (l *Lidarr) DeleteExclusionsContext(ctx context.Context, ids []int64) error

DeleteExclusionsContext removes exclusions from Lidarr.

func (*Lidarr) DeleteImportList added in v1.0.0

func (l *Lidarr) DeleteImportList(importListID int64) error

DeleteImportList removes a single import list.

func (*Lidarr) DeleteImportListContext added in v1.0.0

func (l *Lidarr) DeleteImportListContext(ctx context.Context, importListID int64) error

DeleteImportListContext removes a single import list.

func (*Lidarr) DeleteIndexer added in v1.0.0

func (l *Lidarr) DeleteIndexer(indexerID int64) error

DeleteIndexer removes a single indexer.

func (*Lidarr) DeleteIndexerContext added in v1.0.0

func (l *Lidarr) DeleteIndexerContext(ctx context.Context, indexerID int64) error

DeleteIndexerContext removes a single indexer.

func (*Lidarr) DeleteMetadataProfile

func (l *Lidarr) DeleteMetadataProfile(profileID int64) error

DeleteMetadataProfile deletes a metadata profile.

func (*Lidarr) DeleteMetadataProfileContext

func (l *Lidarr) DeleteMetadataProfileContext(ctx context.Context, profileID int64) error

DeleteMetadataProfileContext deletes a metadata profile.

func (*Lidarr) DeleteNotification added in v1.0.0

func (l *Lidarr) DeleteNotification(notificationID int64) error

DeleteNotification removes a single notification.

func (*Lidarr) DeleteNotificationContext added in v1.0.0

func (l *Lidarr) DeleteNotificationContext(ctx context.Context, notificationID int64) error

DeleteNotificationContext removes a single notification.

func (*Lidarr) DeleteQualityProfile added in v1.0.0

func (l *Lidarr) DeleteQualityProfile(profileID int64) error

DeleteQualityProfile deletes a quality profile.

func (*Lidarr) DeleteQualityProfileContext added in v1.0.0

func (l *Lidarr) DeleteQualityProfileContext(ctx context.Context, profileID int64) error

DeleteQualityProfileContext deletes a quality profile.

func (*Lidarr) DeleteQueue added in v1.0.0

func (l *Lidarr) DeleteQueue(queueID int64, opts *starr.QueueDeleteOpts) error

DeleteQueue deletes an item from the Activity Queue.

func (*Lidarr) DeleteQueueContext added in v1.0.0

func (l *Lidarr) DeleteQueueContext(ctx context.Context, queueID int64, opts *starr.QueueDeleteOpts) error

DeleteQueueContext deletes an item from the Activity Queue.

func (*Lidarr) DeleteRemotePathMapping added in v1.0.0

func (l *Lidarr) DeleteRemotePathMapping(mappingID int64) error

DeleteRemotePathMapping removes a single remote path mapping.

func (*Lidarr) DeleteRemotePathMappingContext added in v1.0.0

func (l *Lidarr) DeleteRemotePathMappingContext(ctx context.Context, mappingID int64) error

DeleteRemotePathMappingContext removes a single remote path mapping.

func (*Lidarr) DeleteTag added in v0.14.0

func (l *Lidarr) DeleteTag(tagID int) error

DeleteTag removes a single tag.

func (*Lidarr) DeleteTagContext added in v0.14.0

func (l *Lidarr) DeleteTagContext(ctx context.Context, tagID int) error

DeleteTagContext removes a single tag.

func (*Lidarr) DeleteTrackFile added in v1.0.0

func (l *Lidarr) DeleteTrackFile(trackFileID int64) error

DeleteTrackFile deletes a track file.

func (*Lidarr) DeleteTrackFileContext added in v1.0.0

func (l *Lidarr) DeleteTrackFileContext(ctx context.Context, trackFileID int64) error

DeleteTrackFileContext deletes a track file.

func (*Lidarr) DeleteTrackFiles added in v1.0.0

func (l *Lidarr) DeleteTrackFiles(trackFileIDs []int64) error

DeleteTrackFiles bulk deletes track files by their IDs.

func (*Lidarr) DeleteTrackFilesContext added in v1.0.0

func (l *Lidarr) DeleteTrackFilesContext(ctx context.Context, trackFileIDs []int64) error

DeleteTrackFilesContext bulk deletes track files by their IDs.

func (*Lidarr) EditArtists

func (l *Lidarr) EditArtists(in *ArtistEditorInput) ([]*Artist, error)

EditArtists applies bulk edits to artists.

func (*Lidarr) EditArtistsContext

func (l *Lidarr) EditArtistsContext(ctx context.Context, in *ArtistEditorInput) ([]*Artist, error)

EditArtistsContext applies bulk edits to artists.

func (*Lidarr) Fail added in v0.12.0

func (l *Lidarr) Fail(historyID int64) error

Fail marks the given history item as failed by id.

func (*Lidarr) FailContext added in v0.13.0

func (l *Lidarr) FailContext(ctx context.Context, historyID int64) error

FailContext marks the given history item as failed by id.

func (*Lidarr) GetAlbum

func (l *Lidarr) GetAlbum(mbID string) ([]*Album, error)

GetAlbum returns an album or all albums if mbID is "" (empty). mbID is the music brainz UUID for a "release-group".

func (*Lidarr) GetAlbumByID

func (l *Lidarr) GetAlbumByID(albumID int64) (*Album, error)

GetAlbumByID returns an album by DB ID.

func (*Lidarr) GetAlbumByIDContext added in v0.13.0

func (l *Lidarr) GetAlbumByIDContext(ctx context.Context, albumID int64) (*Album, error)

GetAlbumByIDContext returns an album by DB ID.

func (*Lidarr) GetAlbumContext added in v0.13.0

func (l *Lidarr) GetAlbumContext(ctx context.Context, mbID string) ([]*Album, error)

GetAlbumContext returns an album or all albums if mbID is "" (empty). mbID is the music brainz UUID for a "release-group".

func (*Lidarr) GetArtist

func (l *Lidarr) GetArtist(mbID string) ([]*Artist, error)

GetArtist returns an artist or all artists.

func (*Lidarr) GetArtistByID

func (l *Lidarr) GetArtistByID(artistID int64) (*Artist, error)

GetArtistByID returns an artist from an ID.

func (*Lidarr) GetArtistByIDContext added in v0.13.0

func (l *Lidarr) GetArtistByIDContext(ctx context.Context, artistID int64) (*Artist, error)

GetArtistByIDContext returns an artist from an ID.

func (*Lidarr) GetArtistContext added in v0.13.0

func (l *Lidarr) GetArtistContext(ctx context.Context, mbID string) ([]*Artist, error)

GetArtistContext returns an artist or all artists.

func (*Lidarr) GetArtistRenames added in v1.2.0

func (l *Lidarr) GetArtistRenames(artistID int64) ([]*Rename, error)

GetArtistRenames checks if the tracks by the specified artist (database ID) need to be renamed to follow the naming format.

func (*Lidarr) GetArtistRenamesContext added in v1.2.0

func (l *Lidarr) GetArtistRenamesContext(ctx context.Context, artistID int64) ([]*Rename, error)

GetArtistRenamesContext checks if the tracks by the specified artist (database ID) need to be renamed to follow the naming format.

func (*Lidarr) GetAutoTagging

func (l *Lidarr) GetAutoTagging(id int) (*AutoTagging, error)

GetAutoTagging returns a single auto tagging configuration.

func (*Lidarr) GetAutoTaggingContext

func (l *Lidarr) GetAutoTaggingContext(ctx context.Context, id int) (*AutoTagging, error)

GetAutoTaggingContext returns a single auto tagging configuration.

func (*Lidarr) GetAutoTaggingSchema

func (l *Lidarr) GetAutoTaggingSchema() ([]*AutoTaggingSpecification, error)

GetAutoTaggingSchema returns the specification schema templates for auto tagging.

func (*Lidarr) GetAutoTaggingSchemaContext

func (l *Lidarr) GetAutoTaggingSchemaContext(ctx context.Context) ([]*AutoTaggingSpecification, error)

GetAutoTaggingSchemaContext returns the specification schema templates for auto tagging.

func (*Lidarr) GetAutoTaggings

func (l *Lidarr) GetAutoTaggings() ([]*AutoTagging, error)

GetAutoTaggings returns all auto tagging configurations.

func (*Lidarr) GetAutoTaggingsContext

func (l *Lidarr) GetAutoTaggingsContext(ctx context.Context) ([]*AutoTagging, error)

GetAutoTaggingsContext returns all auto tagging configurations.

func (*Lidarr) GetBackupFiles added in v0.12.0

func (l *Lidarr) GetBackupFiles() ([]*starr.BackupFile, error)

GetBackupFiles returns all available Lidarr backup files. Use GetBody to download a file using BackupFile.Path.

func (*Lidarr) GetBackupFilesContext added in v0.13.0

func (l *Lidarr) GetBackupFilesContext(ctx context.Context) ([]*starr.BackupFile, error)

GetBackupFilesContext returns all available Lidarr backup files. Use GetBody to download a file using BackupFile.Path.

func (*Lidarr) GetBlockList added in v1.0.0

func (l *Lidarr) GetBlockList(count int) (*BlockList, error)

GetBlockList returns the count of block list items requested. If you need control over the page, use GetBlockListPage().

func (*Lidarr) GetBlockListContext added in v1.0.0

func (l *Lidarr) GetBlockListContext(ctx context.Context, records int) (*BlockList, error)

GetBlockListContext returns block list items.

func (*Lidarr) GetBlockListPage added in v1.0.0

func (l *Lidarr) GetBlockListPage(params *starr.PageReq) (*BlockList, error)

GetBlockListPage returns block list items based on filters.

func (*Lidarr) GetBlockListPageContext added in v1.0.0

func (l *Lidarr) GetBlockListPageContext(ctx context.Context, params *starr.PageReq) (*BlockList, error)

GetBlockListPageContext returns block list items based on filters.

func (*Lidarr) GetCalendar added in v1.0.0

func (l *Lidarr) GetCalendar(filter Calendar) ([]*Album, error)

GetCalendar returns calendars based on filters.

func (*Lidarr) GetCalendarContext added in v1.0.0

func (l *Lidarr) GetCalendarContext(ctx context.Context, filter Calendar) ([]*Album, error)

GetCalendarContext returns calendars based on filters.

func (*Lidarr) GetCalendarID added in v1.0.0

func (l *Lidarr) GetCalendarID(calendarID int64) (*Album, error)

GetCalendarID returns a single calendar by ID.

func (*Lidarr) GetCalendarIDContext added in v1.0.0

func (l *Lidarr) GetCalendarIDContext(ctx context.Context, calendarID int64) (*Album, error)

GetCalendarIDContext returns a single calendar by ID.

func (*Lidarr) GetCommandStatus added in v1.0.0

func (l *Lidarr) GetCommandStatus(commandID int64) (*CommandResponse, error)

GetCommandStatus returns the status of an already started command.

func (*Lidarr) GetCommandStatusContext added in v1.0.0

func (l *Lidarr) GetCommandStatusContext(ctx context.Context, commandID int64) (*CommandResponse, error)

GetCommandStatusContext returns the status of an already started command.

func (*Lidarr) GetCommands added in v0.9.10

func (l *Lidarr) GetCommands() ([]*CommandResponse, error)

GetCommands returns all available Lidarr commands.

func (*Lidarr) GetCommandsContext added in v0.13.0

func (l *Lidarr) GetCommandsContext(ctx context.Context) ([]*CommandResponse, error)

GetCommandsContext returns all available Lidarr commands.

func (*Lidarr) GetCustomFilter

func (l *Lidarr) GetCustomFilter(id int) (*CustomFilter, error)

GetCustomFilter returns a single custom filter.

func (*Lidarr) GetCustomFilterContext

func (l *Lidarr) GetCustomFilterContext(ctx context.Context, id int) (*CustomFilter, error)

GetCustomFilterContext returns a single custom filter.

func (*Lidarr) GetCustomFilters

func (l *Lidarr) GetCustomFilters() ([]*CustomFilter, error)

GetCustomFilters returns all custom filters.

func (*Lidarr) GetCustomFiltersContext

func (l *Lidarr) GetCustomFiltersContext(ctx context.Context) ([]*CustomFilter, error)

GetCustomFiltersContext returns all custom filters.

func (*Lidarr) GetCustomFormat added in v1.1.0

func (l *Lidarr) GetCustomFormat(customformatID int64) (*CustomFormatOutput, error)

GetCustomFormat returns a single custom format.

func (*Lidarr) GetCustomFormatContext added in v1.1.0

func (l *Lidarr) GetCustomFormatContext(ctx context.Context, customformatID int64) (*CustomFormatOutput, error)

GetCustomFormatContext returns a single custom format.

func (*Lidarr) GetCustomFormats added in v1.1.0

func (l *Lidarr) GetCustomFormats() ([]*CustomFormatOutput, error)

GetCustomFormats returns all configured Custom Formats.

func (*Lidarr) GetCustomFormatsContext added in v1.1.0

func (l *Lidarr) GetCustomFormatsContext(ctx context.Context) ([]*CustomFormatOutput, error)

GetCustomFormatsContext returns all configured Custom Formats.

func (*Lidarr) GetDelayProfile

func (l *Lidarr) GetDelayProfile(profileID int64) (*DelayProfile, error)

GetDelayProfile returns a single delay profile.

func (*Lidarr) GetDelayProfileContext

func (l *Lidarr) GetDelayProfileContext(ctx context.Context, profileID int64) (*DelayProfile, error)

GetDelayProfileContext returns a single delay profile.

func (*Lidarr) GetDelayProfiles

func (l *Lidarr) GetDelayProfiles() ([]*DelayProfile, error)

GetDelayProfiles returns all configured delay profiles.

func (*Lidarr) GetDelayProfilesContext

func (l *Lidarr) GetDelayProfilesContext(ctx context.Context) ([]*DelayProfile, error)

GetDelayProfilesContext returns all configured delay profiles.

func (*Lidarr) GetDiskSpace

func (l *Lidarr) GetDiskSpace() ([]*DiskSpace, error)

GetDiskSpace returns disk space information for Lidarr paths.

func (*Lidarr) GetDiskSpaceContext

func (l *Lidarr) GetDiskSpaceContext(ctx context.Context) ([]*DiskSpace, error)

GetDiskSpaceContext returns disk space information for Lidarr paths.

func (*Lidarr) GetDownloadClient added in v1.0.0

func (l *Lidarr) GetDownloadClient(downloadclientID int64) (*DownloadClientOutput, error)

GetDownloadClient returns a single download client.

func (*Lidarr) GetDownloadClientConfig added in v1.0.0

func (l *Lidarr) GetDownloadClientConfig() (*DownloadClientConfig, error)

GetDownloadClientConfig returns the download client config.

func (*Lidarr) GetDownloadClientConfigContext added in v1.0.0

func (l *Lidarr) GetDownloadClientConfigContext(ctx context.Context) (*DownloadClientConfig, error)

GetDownloadClientConfigContext returns the download client config.

func (*Lidarr) GetDownloadClientContext added in v1.0.0

func (l *Lidarr) GetDownloadClientContext(ctx context.Context, downloadclientID int64) (*DownloadClientOutput, error)

GetDownloadClientContext returns a single download client.

func (*Lidarr) GetDownloadClients added in v1.0.0

func (l *Lidarr) GetDownloadClients() ([]*DownloadClientOutput, error)

GetDownloadClients returns all configured download clients.

func (*Lidarr) GetDownloadClientsContext added in v1.0.0

func (l *Lidarr) GetDownloadClientsContext(ctx context.Context) ([]*DownloadClientOutput, error)

GetDownloadClientsContext returns all configured download clients.

func (*Lidarr) GetExclusions added in v1.0.0

func (l *Lidarr) GetExclusions() ([]*Exclusion, error)

GetExclusions returns all configured exclusions from Lidarr.

func (*Lidarr) GetExclusionsContext added in v1.0.0

func (l *Lidarr) GetExclusionsContext(ctx context.Context) ([]*Exclusion, error)

GetExclusionsContext returns all configured exclusions from Lidarr.

func (*Lidarr) GetFeed added in v1.2.1

func (r *Lidarr) GetFeed(filter Feed) ([]byte, error)

GetFeed returns the Calendar ICS feed file.

func (*Lidarr) GetFeedContext added in v1.2.1

func (r *Lidarr) GetFeedContext(ctx context.Context, filter Feed) ([]byte, error)

GetFeedContext returns the Calendar ICS feed file.

func (*Lidarr) GetHealth

func (l *Lidarr) GetHealth() ([]*Health, error)

GetHealth returns current health check messages.

func (*Lidarr) GetHealthContext

func (l *Lidarr) GetHealthContext(ctx context.Context) ([]*Health, error)

GetHealthContext returns current health check messages.

func (*Lidarr) GetHistory added in v0.10.6

func (l *Lidarr) GetHistory(records, perPage int) (*History, error)

GetHistory returns the Lidarr History (grabs/failures/completed). If you need control over the page, use lidarr.GetHistoryPage(). This function simply returns the number of history records desired, up to the number of records present in the application. It grabs records in (paginated) batches of perPage, and concatenates them into one list. Passing zero for records will return all of them.

func (*Lidarr) GetHistoryContext added in v0.13.0

func (l *Lidarr) GetHistoryContext(ctx context.Context, records, perPage int) (*History, error)

GetHistoryContext returns the Lidarr History (grabs/failures/completed).

func (*Lidarr) GetHistoryPage added in v0.12.0

func (l *Lidarr) GetHistoryPage(params *starr.PageReq) (*History, error)

GetHistoryPage returns a single page from the Lidarr History (grabs/failures/completed). The page size and number is configurable with the input request parameters.

func (*Lidarr) GetHistoryPageContext added in v0.13.0

func (l *Lidarr) GetHistoryPageContext(ctx context.Context, params *starr.PageReq) (*History, error)

GetHistoryPageContext returns a single page from the Lidarr History (grabs/failures/completed). The page size and number is configurable with the input request parameters.

func (*Lidarr) GetImportList added in v1.0.0

func (l *Lidarr) GetImportList(importListID int64) (*ImportListOutput, error)

GetImportList returns a single import list.

func (*Lidarr) GetImportListContext added in v1.0.0

func (l *Lidarr) GetImportListContext(ctx context.Context, importListID int64) (*ImportListOutput, error)

GetImportListContext returns a single import list.

func (*Lidarr) GetImportLists added in v1.0.0

func (l *Lidarr) GetImportLists() ([]*ImportListOutput, error)

GetImportLists returns all configured import lists.

func (*Lidarr) GetImportListsContext added in v1.0.0

func (l *Lidarr) GetImportListsContext(ctx context.Context) ([]*ImportListOutput, error)

GetImportListsContext returns all configured import lists.

func (*Lidarr) GetIndexer added in v1.0.0

func (l *Lidarr) GetIndexer(indexerID int64) (*IndexerOutput, error)

GetIndexer returns a single indexer.

func (*Lidarr) GetIndexerConfig added in v1.0.0

func (l *Lidarr) GetIndexerConfig() (*IndexerConfig, error)

GetIndexerConfig returns an Indexer Config.

func (*Lidarr) GetIndexerConfigContext added in v1.0.0

func (l *Lidarr) GetIndexerConfigContext(ctx context.Context) (*IndexerConfig, error)

GetIndexerConfigContext returns the indexer Config.

func (*Lidarr) GetIndexerContext added in v1.0.0

func (l *Lidarr) GetIndexerContext(ctx context.Context, indexerID int64) (*IndexerOutput, error)

GetIndexerContext returns a single indexer.

func (*Lidarr) GetIndexers added in v1.0.0

func (l *Lidarr) GetIndexers() ([]*IndexerOutput, error)

GetIndexers returns all configured indexers.

func (*Lidarr) GetIndexersContext added in v1.0.0

func (l *Lidarr) GetIndexersContext(ctx context.Context) ([]*IndexerOutput, error)

GetIndexersContext returns all configured indexers.

func (*Lidarr) GetMediaManagement added in v1.1.0

func (l *Lidarr) GetMediaManagement() (*MediaManagement, error)

GetMediaManagement returns the mediaManagement.

func (*Lidarr) GetMediaManagementContext added in v1.1.0

func (l *Lidarr) GetMediaManagementContext(ctx context.Context) (*MediaManagement, error)

GetMediaManagementContext returns the Media Management.

func (*Lidarr) GetMetadataProfile

func (l *Lidarr) GetMetadataProfile(profileID int64) (*MetadataProfile, error)

GetMetadataProfile returns a single metadata profile.

func (*Lidarr) GetMetadataProfileContext

func (l *Lidarr) GetMetadataProfileContext(ctx context.Context, profileID int64) (*MetadataProfile, error)

GetMetadataProfileContext returns a single metadata profile.

func (*Lidarr) GetMetadataProfiles

func (l *Lidarr) GetMetadataProfiles() ([]*MetadataProfile, error)

GetMetadataProfiles returns the metadata profiles.

func (*Lidarr) GetMetadataProfilesContext added in v0.13.0

func (l *Lidarr) GetMetadataProfilesContext(ctx context.Context) ([]*MetadataProfile, error)

GetMetadataProfilesContext returns the metadata profiles.

func (*Lidarr) GetNaming added in v1.1.0

func (l *Lidarr) GetNaming() (*Naming, error)

GetNaming returns the file naming rules.

func (*Lidarr) GetNamingContext added in v1.1.0

func (l *Lidarr) GetNamingContext(ctx context.Context) (*Naming, error)

GetNamingContext returns the file naming rules.

func (*Lidarr) GetNotification added in v1.0.0

func (l *Lidarr) GetNotification(notificationID int) (*NotificationOutput, error)

GetNotification returns a single notification.

func (*Lidarr) GetNotificationContext added in v1.0.0

func (l *Lidarr) GetNotificationContext(ctx context.Context, notificationID int) (*NotificationOutput, error)

GetNotificationContext returns a single notification.

func (*Lidarr) GetNotifications added in v1.0.0

func (l *Lidarr) GetNotifications() ([]*NotificationOutput, error)

GetNotifications returns all configured notifications.

func (*Lidarr) GetNotificationsContext added in v1.0.0

func (l *Lidarr) GetNotificationsContext(ctx context.Context) ([]*NotificationOutput, error)

GetNotificationsContext returns all configured notifications.

func (*Lidarr) GetQualityDefinition

func (l *Lidarr) GetQualityDefinition(qualityDefinitionID int64) (*QualityDefinition, error)

GetQualityDefinition returns a single quality definition.

func (*Lidarr) GetQualityDefinitionContext added in v0.13.0

func (l *Lidarr) GetQualityDefinitionContext(ctx context.Context, qdID int64) (*QualityDefinition, error)

GetQualityDefinitionContext returns a single quality definition.

func (*Lidarr) GetQualityDefinitions added in v1.1.0

func (l *Lidarr) GetQualityDefinitions() ([]*QualityDefinition, error)

GetQualityDefinitions returns all configured quality definitions.

func (*Lidarr) GetQualityDefinitionsContext added in v1.1.0

func (l *Lidarr) GetQualityDefinitionsContext(ctx context.Context) ([]*QualityDefinition, error)

GetQualityDefinitionsContext returns all configured quality definitions.

func (*Lidarr) GetQualityProfile

func (l *Lidarr) GetQualityProfile(profileID int64) (*QualityProfile, error)

GetQualityProfile returns a single quality profile.

func (*Lidarr) GetQualityProfileContext

func (l *Lidarr) GetQualityProfileContext(ctx context.Context, profileID int64) (*QualityProfile, error)

GetQualityProfileContext returns a single quality profile.

func (*Lidarr) GetQualityProfiles

func (l *Lidarr) GetQualityProfiles() ([]*QualityProfile, error)

GetQualityProfiles returns the quality profiles.

func (*Lidarr) GetQualityProfilesContext added in v0.13.0

func (l *Lidarr) GetQualityProfilesContext(ctx context.Context) ([]*QualityProfile, error)

GetQualityProfilesContext returns the quality profiles.

func (*Lidarr) GetQueue

func (l *Lidarr) GetQueue(records, perPage int) (*Queue, error)

GetQueue returns a single page from the Lidarr Queue (processing, but not yet imported). If you need control over the page, use lidarr.GetQueuePage(). This function simply returns the number of queue records desired, up to the number of records present in the application. It grabs records in (paginated) batches of perPage, and concatenates them into one list. Passing zero for records will return all of them.

func (*Lidarr) GetQueueContext added in v0.13.0

func (l *Lidarr) GetQueueContext(ctx context.Context, records, perPage int) (*Queue, error)

GetQueueContext returns a single page from the Lidarr Queue (processing, but not yet imported).

func (*Lidarr) GetQueuePage added in v0.12.0

func (l *Lidarr) GetQueuePage(params *starr.PageReq) (*Queue, error)

GetQueuePage returns a single page from the Lidarr Queue. The page size and number is configurable with the input request parameters.

func (*Lidarr) GetQueuePageContext added in v0.13.0

func (l *Lidarr) GetQueuePageContext(ctx context.Context, params *starr.PageReq) (*Queue, error)

GetQueuePageContext returns a single page from the Lidarr Queue. The page size and number is configurable with the input request parameters.

func (*Lidarr) GetRemotePathMapping added in v1.0.0

func (l *Lidarr) GetRemotePathMapping(mappingID int64) (*starr.RemotePathMapping, error)

GetRemotePathMapping returns a single remote path mapping.

func (*Lidarr) GetRemotePathMappingContext added in v1.0.0

func (l *Lidarr) GetRemotePathMappingContext(ctx context.Context, mappingID int64) (*starr.RemotePathMapping, error)

GetRemotePathMappingContext returns a single remote path mapping.

func (*Lidarr) GetRemotePathMappings added in v1.0.0

func (l *Lidarr) GetRemotePathMappings() ([]*starr.RemotePathMapping, error)

GetRemotePathMappings returns all configured remote path mappings.

func (*Lidarr) GetRemotePathMappingsContext added in v1.0.0

func (l *Lidarr) GetRemotePathMappingsContext(ctx context.Context) ([]*starr.RemotePathMapping, error)

GetRemotePathMappingsContext returns all configured remote path mappings.

func (*Lidarr) GetRenames added in v1.2.0

func (l *Lidarr) GetRenames(artistID int64, albumID int64) ([]*Rename, error)

GetRenames checks if the tracks by the specified artist (database ID) on the specified album (database ID) need to be renamed to follow the naming format. If albumID is set to -1, it will check all albums at once.

func (*Lidarr) GetRenamesContext added in v1.2.0

func (l *Lidarr) GetRenamesContext(ctx context.Context, artistID int64, albumID int64) ([]*Rename, error)

GetRenamesContext checks if the tracks by the specified artist (database ID) on the specified album (database ID) need to be renamed to follow the naming format. If albumID is set to -1, it will check all albums at once.

func (*Lidarr) GetRootFolders

func (l *Lidarr) GetRootFolders() ([]*RootFolder, error)

GetRootFolders returns all configured root folders.

func (*Lidarr) GetRootFoldersContext added in v0.13.0

func (l *Lidarr) GetRootFoldersContext(ctx context.Context) ([]*RootFolder, error)

GetRootFoldersContext returns all configured root folders.

func (*Lidarr) GetSystemStatus

func (l *Lidarr) GetSystemStatus() (*SystemStatus, error)

GetSystemStatus returns system status.

func (*Lidarr) GetSystemStatusContext added in v0.13.0

func (l *Lidarr) GetSystemStatusContext(ctx context.Context) (*SystemStatus, error)

GetSystemStatusContext returns system status.

func (*Lidarr) GetSystemTask

func (l *Lidarr) GetSystemTask(id int64) (*SystemTask, error)

GetSystemTask returns a single scheduled task.

func (*Lidarr) GetSystemTaskContext

func (l *Lidarr) GetSystemTaskContext(ctx context.Context, id int64) (*SystemTask, error)

GetSystemTaskContext returns a single scheduled task.

func (*Lidarr) GetSystemTasks

func (l *Lidarr) GetSystemTasks() ([]*SystemTask, error)

GetSystemTasks returns all scheduled tasks.

func (*Lidarr) GetSystemTasksContext

func (l *Lidarr) GetSystemTasksContext(ctx context.Context) ([]*SystemTask, error)

GetSystemTasksContext returns all scheduled tasks.

func (*Lidarr) GetTag added in v0.14.0

func (l *Lidarr) GetTag(tagID int) (*starr.Tag, error)

GetTag returns a single tag.

func (*Lidarr) GetTagContext added in v0.14.0

func (l *Lidarr) GetTagContext(ctx context.Context, tagID int) (*starr.Tag, error)

GetTagContext returns a single tag.

func (*Lidarr) GetTagDetail

func (l *Lidarr) GetTagDetail(tagID int) (*TagDetails, error)

GetTagDetail returns tag usage details for a single tag.

func (*Lidarr) GetTagDetailContext

func (l *Lidarr) GetTagDetailContext(ctx context.Context, tagID int) (*TagDetails, error)

GetTagDetailContext returns tag usage details for a single tag.

func (*Lidarr) GetTagDetails

func (l *Lidarr) GetTagDetails() ([]*TagDetails, error)

GetTagDetails returns tag usage details for all tags.

func (*Lidarr) GetTagDetailsContext

func (l *Lidarr) GetTagDetailsContext(ctx context.Context) ([]*TagDetails, error)

GetTagDetailsContext returns tag usage details for all tags.

func (*Lidarr) GetTags

func (l *Lidarr) GetTags() ([]*starr.Tag, error)

GetTags returns all configured tags.

func (*Lidarr) GetTagsContext added in v0.13.0

func (l *Lidarr) GetTagsContext(ctx context.Context) ([]*starr.Tag, error)

GetTagsContext returns all configured tags.

func (*Lidarr) GetTrackFiles added in v1.0.0

func (l *Lidarr) GetTrackFiles(trackFileIDs []int64) ([]*TrackFile, error)

GetTrackFiles returns the requested track files by ID.

func (*Lidarr) GetTrackFilesContext added in v1.0.0

func (l *Lidarr) GetTrackFilesContext(ctx context.Context, trackFileIDs []int64) ([]*TrackFile, error)

GetTrackFilesContext returns the requested track files by their IDs.

func (*Lidarr) GetTrackFilesForAlbum added in v1.0.0

func (l *Lidarr) GetTrackFilesForAlbum(albumID int64) ([]*TrackFile, error)

GetTrackFilesForAlbum returns the track files for an album.

func (*Lidarr) GetTrackFilesForAlbumContext added in v1.0.0

func (l *Lidarr) GetTrackFilesForAlbumContext(ctx context.Context, albumID int64) ([]*TrackFile, error)

GetTrackFilesForAlbumContext returns the track files for an album.

func (*Lidarr) GetTrackFilesForArtist added in v1.0.0

func (l *Lidarr) GetTrackFilesForArtist(artistID int64) ([]*TrackFile, error)

GetTrackFilesForArtist returns the track files for an artist.

func (*Lidarr) GetTrackFilesForArtistContext added in v1.0.0

func (l *Lidarr) GetTrackFilesForArtistContext(ctx context.Context, artistID int64) ([]*TrackFile, error)

GetTrackFilesForArtistContext returns the track files for an artist.

func (*Lidarr) GetTracks added in v1.0.0

func (l *Lidarr) GetTracks(trackID ...int64) ([]*Track, error)

GetTracks by their IDs.

func (*Lidarr) GetTracksByAlbum added in v1.0.0

func (l *Lidarr) GetTracksByAlbum(albumID int64) ([]*Track, error)

GetTracksByAlbum gets track files using an album ID.

func (*Lidarr) GetTracksByAlbumContext added in v1.0.0

func (l *Lidarr) GetTracksByAlbumContext(ctx context.Context, albumID int64) ([]*Track, error)

GetTracksByAlbumContext gets track files using an album ID.

func (*Lidarr) GetTracksByAlbumRelease added in v1.0.0

func (l *Lidarr) GetTracksByAlbumRelease(albumID int64) ([]*Track, error)

GetTracksByAlbumRelease gets track files using an album release ID.

func (*Lidarr) GetTracksByAlbumReleaseContext added in v1.0.0

func (l *Lidarr) GetTracksByAlbumReleaseContext(ctx context.Context, albumReleaseID int64) ([]*Track, error)

GetTracksByAlbumReleaseContext gets track files using an album release ID.

func (*Lidarr) GetTracksByArtist added in v1.0.0

func (l *Lidarr) GetTracksByArtist(artistID int64) ([]*Track, error)

GetTracksByArtist gets track files using an artist ID.

func (*Lidarr) GetTracksByArtistContext added in v1.0.0

func (l *Lidarr) GetTracksByArtistContext(ctx context.Context, artistID int64) ([]*Track, error)

GetTracksByArtistContext gets track files using an artist ID.

func (*Lidarr) GetTracksContext added in v1.0.0

func (l *Lidarr) GetTracksContext(ctx context.Context, trackID ...int64) ([]*Track, error)

GetTracksContext gets track files by their IDs using a provided context.

func (*Lidarr) GetUpdates

func (l *Lidarr) GetUpdates() ([]*Update, error)

GetUpdates returns available application updates.

func (*Lidarr) GetUpdatesContext

func (l *Lidarr) GetUpdatesContext(ctx context.Context) ([]*Update, error)

GetUpdatesContext returns available application updates.

func (*Lidarr) GetWantedCutoffPage

func (l *Lidarr) GetWantedCutoffPage(params *starr.PageReq) (*WantedAlbumsPage, error)

GetWantedCutoffPage returns a page of albums past quality cutoff.

func (*Lidarr) GetWantedCutoffPageContext

func (l *Lidarr) GetWantedCutoffPageContext(ctx context.Context, params *starr.PageReq) (*WantedAlbumsPage, error)

GetWantedCutoffPageContext returns a page of albums past quality cutoff.

func (*Lidarr) GetWantedMissingPage

func (l *Lidarr) GetWantedMissingPage(params *starr.PageReq) (*WantedAlbumsPage, error)

GetWantedMissingPage returns a page of missing albums.

func (*Lidarr) GetWantedMissingPageContext

func (l *Lidarr) GetWantedMissingPageContext(ctx context.Context, params *starr.PageReq) (*WantedAlbumsPage, error)

GetWantedMissingPageContext returns a page of missing albums.

func (*Lidarr) Lookup added in v0.12.0

func (l *Lidarr) Lookup(term string) ([]*Album, error)

Lookup will search for albums matching the specified search term.

func (*Lidarr) LookupArtist

func (l *Lidarr) LookupArtist(term string) ([]*Artist, error)

LookupArtist searches for artists matching the specified search term.

func (*Lidarr) LookupArtistContext

func (l *Lidarr) LookupArtistContext(ctx context.Context, term string) ([]*Artist, error)

LookupArtistContext searches for artists matching the specified search term.

func (*Lidarr) LookupContext added in v0.13.0

func (l *Lidarr) LookupContext(ctx context.Context, term string) ([]*Album, error)

LookupContext will search for albums matching the specified search term.

func (*Lidarr) ManualImport added in v1.0.0

func (l *Lidarr) ManualImport(params *ManualImportParams) ([]*ManualImportOutput, error)

ManualImport returns the list of files available for manual import in the given folder (GET). The Lidarr API returns an array of manual import items.

func (*Lidarr) ManualImportContext added in v1.0.0

func (l *Lidarr) ManualImportContext(ctx context.Context, params *ManualImportParams) ([]*ManualImportOutput, error)

ManualImportContext returns the list of files available for manual import in the given folder (GET).

func (*Lidarr) ManualImportReprocess added in v1.0.0

func (l *Lidarr) ManualImportReprocess(manualimport *ManualImportInput) error

ManualImportReprocess reprocesses a manual import (POST).

func (*Lidarr) ManualImportReprocessContext added in v1.0.0

func (l *Lidarr) ManualImportReprocessContext(ctx context.Context, manualimport *ManualImportInput) error

ManualImportReprocessContext reprocesses a manual import (POST).

func (*Lidarr) MonitorAlbums

func (l *Lidarr) MonitorAlbums(albumIDs []int64, monitored bool) ([]*Album, error)

MonitorAlbums sets monitored state for the given album IDs.

func (*Lidarr) MonitorAlbumsContext

func (l *Lidarr) MonitorAlbumsContext(ctx context.Context, albumIDs []int64, monitored bool) ([]*Album, error)

MonitorAlbumsContext sets monitored state for the given album IDs.

func (*Lidarr) Parse

func (l *Lidarr) Parse(title string) (*ParseOutput, error)

Parse resolves a release title into parsed album metadata.

func (*Lidarr) ParseContext

func (l *Lidarr) ParseContext(ctx context.Context, title string) (*ParseOutput, error)

ParseContext resolves a release title into parsed album metadata.

func (*Lidarr) Ping added in v1.1.0

func (l *Lidarr) Ping() error

Ping returns an error if the starr instance does not respond with a 200 to an HTTP /ping request.

func (*Lidarr) PingContext added in v1.1.0

func (l *Lidarr) PingContext(ctx context.Context) error

PingContext returns an error if the starr instance does not respond with a 200 to an HTTP /ping request.

func (*Lidarr) QueueGrab added in v1.0.0

func (l *Lidarr) QueueGrab(ids ...int64) error

QueueGrab tells the app to grab an item that's in queue. Most often used on items with a delay set from a delay profile.

func (*Lidarr) QueueGrabContext added in v1.0.0

func (l *Lidarr) QueueGrabContext(ctx context.Context, ids ...int64) error

QueueGrabContext tells the app to grab an item that's in queue, probably set to a delay. Most often used on items with a delay set from a delay profile.

func (*Lidarr) ReorderDelayProfile

func (l *Lidarr) ReorderDelayProfile(id, afterID int64) ([]*DelayProfile, error)

ReorderDelayProfile moves a delay profile relative to another profile.

func (*Lidarr) ReorderDelayProfileContext

func (l *Lidarr) ReorderDelayProfileContext(ctx context.Context, id, afterID int64) ([]*DelayProfile, error)

ReorderDelayProfileContext moves a delay profile relative to another profile.

func (*Lidarr) Restart

func (l *Lidarr) Restart() error

Restart tells Lidarr to restart.

func (*Lidarr) RestartContext

func (l *Lidarr) RestartContext(ctx context.Context) error

RestartContext tells Lidarr to restart.

func (*Lidarr) RestoreBackup

func (l *Lidarr) RestoreBackup(id int64) (*BackupRestoreResponse, error)

RestoreBackup restores an on-disk backup by ID.

func (*Lidarr) RestoreBackupContext

func (l *Lidarr) RestoreBackupContext(ctx context.Context, id int64) (*BackupRestoreResponse, error)

RestoreBackupContext restores an on-disk backup by ID.

func (*Lidarr) RestoreBackupUpload

func (l *Lidarr) RestoreBackupUpload(filename string, file io.Reader) (*BackupRestoreResponse, error)

RestoreBackupUpload uploads a backup archive and restores it.

func (*Lidarr) RestoreBackupUploadContext

func (l *Lidarr) RestoreBackupUploadContext(
	ctx context.Context, filename string, file io.Reader,
) (*BackupRestoreResponse, error)

RestoreBackupUploadContext uploads a backup archive and restores it.

func (*Lidarr) SendCommand added in v0.9.10

func (l *Lidarr) SendCommand(cmd *CommandRequest) (*CommandResponse, error)

SendCommand sends a command to Lidarr.

func (*Lidarr) SendCommandContext added in v0.13.0

func (l *Lidarr) SendCommandContext(ctx context.Context, cmd *CommandRequest) (*CommandResponse, error)

SendCommandContext sends a command to Lidarr.

func (*Lidarr) SendManualImportCommand added in v1.3.1

func (l *Lidarr) SendManualImportCommand(cmd *ManualImportCommandRequest) (*CommandResponse, error)

SendManualImportCommand sends the ManualImport command to import the given files (e.g. after FLAC+CUE split).

func (*Lidarr) SendManualImportCommandContext added in v1.3.1

func (l *Lidarr) SendManualImportCommandContext(
	ctx context.Context, cmd *ManualImportCommandRequest,
) (*CommandResponse, error)

SendManualImportCommandContext sends the ManualImport command to import the given files.

func (*Lidarr) Shutdown

func (l *Lidarr) Shutdown() error

Shutdown tells Lidarr to shut down.

func (*Lidarr) ShutdownContext

func (l *Lidarr) ShutdownContext(ctx context.Context) error

ShutdownContext tells Lidarr to shut down.

func (*Lidarr) TestDownloadClient added in v1.0.0

func (l *Lidarr) TestDownloadClient(client *DownloadClientInput) error

TestDownloadClient tests a download client.

func (*Lidarr) TestDownloadClientContext added in v1.0.0

func (l *Lidarr) TestDownloadClientContext(ctx context.Context, client *DownloadClientInput) error

TestDownloadClientContext tests a download client.

func (*Lidarr) TestImportList added in v1.0.0

func (l *Lidarr) TestImportList(list *ImportListInput) error

TestImportList tests an import list.

func (*Lidarr) TestImportListContextt added in v1.0.0

func (l *Lidarr) TestImportListContextt(ctx context.Context, list *ImportListInput) error

TestImportListContextt tests an import list.

func (*Lidarr) TestIndexer added in v1.0.0

func (l *Lidarr) TestIndexer(indexer *IndexerInput) error

TestIndexer tests an indexer.

func (*Lidarr) TestIndexerContext added in v1.0.0

func (l *Lidarr) TestIndexerContext(ctx context.Context, indexer *IndexerInput) error

TestIndexerContext tests an indexer.

func (*Lidarr) UpdateAlbum

func (l *Lidarr) UpdateAlbum(albumID int64, album *Album, moveFiles bool) (*Album, error)

UpdateAlbum updates an album in place; the output of this is currently unknown!!!!

func (*Lidarr) UpdateAlbumContext added in v0.13.0

func (l *Lidarr) UpdateAlbumContext(ctx context.Context, albumID int64, album *Album, moveFiles bool) (*Album, error)

UpdateAlbumContext updates an album in place; the output of this is currently unknown!!!!

func (*Lidarr) UpdateArtist

func (l *Lidarr) UpdateArtist(artist *Artist, moveFiles bool) (*Artist, error)

UpdateArtist updates an artist in place.

func (*Lidarr) UpdateArtistContext added in v0.13.0

func (l *Lidarr) UpdateArtistContext(ctx context.Context, artist *Artist, moveFiles bool) (*Artist, error)

UpdateArtistContext updates an artist in place.

func (*Lidarr) UpdateAutoTagging

func (l *Lidarr) UpdateAutoTagging(in *AutoTagging) (*AutoTagging, error)

UpdateAutoTagging updates an auto tagging configuration.

func (*Lidarr) UpdateAutoTaggingContext

func (l *Lidarr) UpdateAutoTaggingContext(ctx context.Context, input *AutoTagging) (*AutoTagging, error)

UpdateAutoTaggingContext updates an auto tagging configuration.

func (*Lidarr) UpdateCustomFilter

func (l *Lidarr) UpdateCustomFilter(in *CustomFilter) (*CustomFilter, error)

UpdateCustomFilter updates a custom filter.

func (*Lidarr) UpdateCustomFilterContext

func (l *Lidarr) UpdateCustomFilterContext(ctx context.Context, input *CustomFilter) (*CustomFilter, error)

UpdateCustomFilterContext updates a custom filter.

func (*Lidarr) UpdateCustomFormat added in v1.1.0

func (l *Lidarr) UpdateCustomFormat(cf *CustomFormatInput) (*CustomFormatOutput, error)

UpdateCustomFormat updates an existing custom format and returns the response.

func (*Lidarr) UpdateCustomFormatContext added in v1.1.0

func (l *Lidarr) UpdateCustomFormatContext(ctx context.Context,
	format *CustomFormatInput,
) (*CustomFormatOutput, error)

UpdateCustomFormatContext updates an existing custom format and returns the response.

func (*Lidarr) UpdateDelayProfile

func (l *Lidarr) UpdateDelayProfile(profile *DelayProfile) (*DelayProfile, error)

UpdateDelayProfile updates the delay profile.

func (*Lidarr) UpdateDelayProfileContext

func (l *Lidarr) UpdateDelayProfileContext(ctx context.Context, profile *DelayProfile) (*DelayProfile, error)

UpdateDelayProfileContext updates the delay profile.

func (*Lidarr) UpdateDownloadClient added in v1.0.0

func (l *Lidarr) UpdateDownloadClient(downloadclient *DownloadClientInput, force bool) (*DownloadClientOutput, error)

UpdateDownloadClient updates the download client.

func (*Lidarr) UpdateDownloadClientConfig added in v1.0.0

func (l *Lidarr) UpdateDownloadClientConfig(downloadClientConfig *DownloadClientConfig) (*DownloadClientConfig, error)

UpdateDownloadClientConfig update the single download client config.

func (*Lidarr) UpdateDownloadClientConfigContext added in v1.0.0

func (l *Lidarr) UpdateDownloadClientConfigContext(ctx context.Context,
	config *DownloadClientConfig,
) (*DownloadClientConfig, error)

UpdateDownloadClientConfigContext update the single download client config.

func (*Lidarr) UpdateDownloadClientContext added in v1.0.0

func (l *Lidarr) UpdateDownloadClientContext(ctx context.Context,
	client *DownloadClientInput,
	force bool,
) (*DownloadClientOutput, error)

UpdateDownloadClientContext updates the download client.

func (*Lidarr) UpdateExclusion added in v1.0.0

func (l *Lidarr) UpdateExclusion(exclusion *Exclusion) (*Exclusion, error)

UpdateExclusion changes an exclusions in Lidarr.

func (*Lidarr) UpdateExclusionContext added in v1.0.0

func (l *Lidarr) UpdateExclusionContext(ctx context.Context, exclusion *Exclusion) (*Exclusion, error)

UpdateExclusionContext changes an exclusions in Lidarr.

func (*Lidarr) UpdateImportList added in v1.0.0

func (l *Lidarr) UpdateImportList(importList *ImportListInput, force bool) (*ImportListOutput, error)

UpdateImportList updates the import list.

func (*Lidarr) UpdateImportListContext added in v1.0.0

func (l *Lidarr) UpdateImportListContext(
	ctx context.Context,
	importList *ImportListInput,
	force bool,
) (*ImportListOutput, error)

UpdateImportListContext updates the import list.

func (*Lidarr) UpdateIndexer added in v1.0.0

func (l *Lidarr) UpdateIndexer(indexer *IndexerInput, force bool) (*IndexerOutput, error)

UpdateIndexer updates an indexer.

func (*Lidarr) UpdateIndexerConfig added in v1.0.0

func (l *Lidarr) UpdateIndexerConfig(indexerConfig *IndexerConfig) (*IndexerConfig, error)

UpdateIndexerConfig update the single indexerConfig.

func (*Lidarr) UpdateIndexerConfigContext added in v1.0.0

func (l *Lidarr) UpdateIndexerConfigContext(ctx context.Context, indexerConfig *IndexerConfig) (*IndexerConfig, error)

UpdateIndexerConfigContext update the single indexerConfig.

func (*Lidarr) UpdateIndexerContext added in v1.0.0

func (l *Lidarr) UpdateIndexerContext(ctx context.Context, indexer *IndexerInput, force bool) (*IndexerOutput, error)

UpdateIndexerContext updates an indexer.

func (*Lidarr) UpdateIndexers added in v1.1.0

func (l *Lidarr) UpdateIndexers(indexer *starr.BulkIndexer) (*IndexerOutput, error)

UpdateIndexers bulk updates indexers.

func (*Lidarr) UpdateIndexersContext added in v1.1.0

func (l *Lidarr) UpdateIndexersContext(ctx context.Context, indexer *starr.BulkIndexer) (*IndexerOutput, error)

UpdateIndexersContext bulk updates indexers.

func (*Lidarr) UpdateMediaManagement added in v1.1.0

func (l *Lidarr) UpdateMediaManagement(mMgt *MediaManagement) (*MediaManagement, error)

UpdateMediaManagement updates the Media Management.

func (*Lidarr) UpdateMediaManagementContext added in v1.1.0

func (l *Lidarr) UpdateMediaManagementContext(ctx context.Context, mMgt *MediaManagement) (*MediaManagement, error)

UpdateMediaManagementContext updates the Media Management.

func (*Lidarr) UpdateMetadataProfile

func (l *Lidarr) UpdateMetadataProfile(profile *MetadataProfile) (*MetadataProfile, error)

UpdateMetadataProfile updates a metadata profile.

func (*Lidarr) UpdateMetadataProfileContext

func (l *Lidarr) UpdateMetadataProfileContext(ctx context.Context, profile *MetadataProfile) (*MetadataProfile, error)

UpdateMetadataProfileContext updates a metadata profile.

func (*Lidarr) UpdateNaming added in v1.1.0

func (l *Lidarr) UpdateNaming(naming *Naming) (*Naming, error)

UpdateNaming updates the file naming rules.

func (*Lidarr) UpdateNamingContext added in v1.1.0

func (l *Lidarr) UpdateNamingContext(ctx context.Context, naming *Naming) (*Naming, error)

UpdateNamingContext updates the file naming rules.

func (*Lidarr) UpdateNotification added in v1.0.0

func (l *Lidarr) UpdateNotification(notification *NotificationInput) (*NotificationOutput, error)

UpdateNotification updates the notification.

func (*Lidarr) UpdateNotificationContext added in v1.0.0

func (l *Lidarr) UpdateNotificationContext(ctx context.Context,
	client *NotificationInput,
) (*NotificationOutput, error)

UpdateNotificationContext updates the notification.

func (*Lidarr) UpdateQualityDefinition added in v1.1.0

func (l *Lidarr) UpdateQualityDefinition(definition *QualityDefinition) (*QualityDefinition, error)

UpdateQualityDefinition updates a quality definition.

func (*Lidarr) UpdateQualityDefinitionContext added in v1.1.0

func (l *Lidarr) UpdateQualityDefinitionContext(
	ctx context.Context,
	definition *QualityDefinition,
) (*QualityDefinition, error)

UpdateQualityDefinitionContext updates a quality definition.

func (*Lidarr) UpdateQualityDefinitions added in v1.1.0

func (l *Lidarr) UpdateQualityDefinitions(definition []*QualityDefinition) ([]*QualityDefinition, error)

UpdateQualityDefinitions updates all quality definitions.

func (*Lidarr) UpdateQualityDefinitionsContext added in v1.1.0

func (l *Lidarr) UpdateQualityDefinitionsContext(
	ctx context.Context,
	definition []*QualityDefinition,
) ([]*QualityDefinition, error)

UpdateQualityDefinitionsContext updates all quality definitions.

func (*Lidarr) UpdateQualityProfile added in v0.9.11

func (l *Lidarr) UpdateQualityProfile(profile *QualityProfile) (*QualityProfile, error)

UpdateQualityProfile updates a quality profile in place.

func (*Lidarr) UpdateQualityProfileContext added in v0.13.0

func (l *Lidarr) UpdateQualityProfileContext(ctx context.Context, profile *QualityProfile) (*QualityProfile, error)

UpdateQualityProfileContext updates a quality profile in place.

func (*Lidarr) UpdateRemotePathMapping added in v1.0.0

func (l *Lidarr) UpdateRemotePathMapping(mapping *starr.RemotePathMapping) (*starr.RemotePathMapping, error)

UpdateRemotePathMapping updates the remote path mapping.

func (*Lidarr) UpdateRemotePathMappingContext added in v1.0.0

func (l *Lidarr) UpdateRemotePathMappingContext(ctx context.Context,
	mapping *starr.RemotePathMapping,
) (*starr.RemotePathMapping, error)

UpdateRemotePathMappingContext updates the remote path mapping.

func (*Lidarr) UpdateTag

func (l *Lidarr) UpdateTag(tag *starr.Tag) (*starr.Tag, error)

UpdateTag updates a tag.

func (*Lidarr) UpdateTagContext added in v0.13.0

func (l *Lidarr) UpdateTagContext(ctx context.Context, tag *starr.Tag) (*starr.Tag, error)

UpdateTagContext updates a tag.

func (*Lidarr) UpdateTrackFile added in v1.0.0

func (l *Lidarr) UpdateTrackFile(trackFile *TrackFile) (*TrackFile, error)

UpdateTrackFile updates a track file.

func (*Lidarr) UpdateTrackFileContext added in v1.0.0

func (l *Lidarr) UpdateTrackFileContext(ctx context.Context, trackFile *TrackFile) (*TrackFile, error)

UpdateTrackFileContext updates a track file.

type ManualImportCommandRequest added in v1.3.1

type ManualImportCommandRequest struct {
	Name                 string              `json:"name"` // "ManualImport"
	Files                []*ManualImportFile `json:"files"`
	ImportMode           string              `json:"importMode"` // "auto"
	ReplaceExistingFiles bool                `json:"replaceExistingFiles"`
}

ManualImportCommandRequest is the body for the ManualImport command (POST /api/v1/command). It triggers Lidarr to import the listed files.

func ManualImportCommandFromOutputs added in v1.3.1

func ManualImportCommandFromOutputs(outputs []*ManualImportOutput, replaceExisting bool) *ManualImportCommandRequest

ManualImportCommandFromOutputs builds a ManualImportCommandRequest from the GET manualimport response. Use with SendManualImportCommand to trigger import of the listed files (e.g. after FLAC+CUE split).

type ManualImportFile added in v1.3.1

type ManualImportFile struct {
	Path                    string         `json:"path"`
	ArtistID                int64          `json:"artistId"`
	AlbumID                 int64          `json:"albumId"`
	AlbumReleaseID          int64          `json:"albumReleaseId"`
	TrackIDs                []int64        `json:"trackIds"`
	Quality                 *starr.Quality `json:"quality"`
	IndexerFlags            int            `json:"indexerFlags"`
	DownloadID              string         `json:"downloadId"`
	DisableReleaseSwitching bool           `json:"disableReleaseSwitching"`
}

ManualImportFile is one file in a ManualImport command request.

type ManualImportInput added in v1.0.0

type ManualImportInput struct {
	ID                      int64          `json:"id"`
	Path                    string         `json:"path"`
	Name                    string         `json:"name"`
	ArtistID                int64          `json:"artistID"`
	AlbumID                 int64          `json:"albumID"`
	AlbumReleaseID          int64          `json:"albumReleaseId"`
	Tracks                  []*Track       `json:"tracks"`
	TrackIDs                []int64        `json:"trackIds"`
	Quality                 *starr.Quality `json:"quality"`
	ReleaseGroup            string         `json:"releaseGroup"`
	DownloadID              string         `json:"downloadId"`
	AdditionalFile          bool           `json:"additionalFile"`
	ReplaceExistingFiles    bool           `json:"replaceExistingFiles"`
	DisableReleaseSwitching bool           `json:"disableReleaseSwitching"`
	Rejections              []*Rejection   `json:"rejections"`
}

ManualImportInput is the input data for a manual import request using a POST request.

type ManualImportOutput added in v1.0.0

type ManualImportOutput struct {
	ID                      int64          `json:"id"`
	Path                    string         `json:"path"`
	Name                    string         `json:"name"`
	Size                    int            `json:"size"`
	Artist                  *Artist        `json:"artist"`
	Album                   *Album         `json:"album"`
	AlbumReleaseID          int64          `json:"albumReleaseId"`
	Tracks                  []*Track       `json:"tracks"`
	Quality                 *starr.Quality `json:"quality"`
	ReleaseGroup            string         `json:"releaseGroup"`
	QualityWeight           int64          `json:"qualityWeight"`
	DownloadID              string         `json:"downloadId"`
	AudioTags               *AudioTags     `json:"audioTags"`
	AdditionalFile          bool           `json:"additionalFile"`
	ReplaceExistingFiles    bool           `json:"replaceExistingFiles"`
	DisableReleaseSwitching bool           `json:"disableReleaseSwitching"`
	Rejections              []*Rejection   `json:"rejections"`
}

ManualImportOutput is the output data for a manual import request.

type ManualImportParams added in v1.0.0

type ManualImportParams struct {
	Folder               string
	DownloadID           string
	ArtistID             int64
	ReplaceExistingFiles bool
	FilterExistingFiles  bool
}

ManualImportParams provides the input parameters for the GET /manualimport API.

type Media

type Media struct {
	MediumNumber int64  `json:"mediumNumber"`
	MediumName   string `json:"mediumName"`
	MediumFormat string `json:"mediumFormat"`
}

Media is part of an Album.

type MediaInfo added in v1.0.0

type MediaInfo struct {
	ID              int64  `json:"id"`
	AudioChannels   int    `json:"audioChannels"`
	AudioBitRate    string `json:"audioBitRate"`
	AudioCodec      string `json:"audioCodec"`
	AudioBits       string `json:"audioBits"`
	AudioSampleRate string `json:"audioSampleRate"`
}

MediaInfo is part of a TrackFile.

type MediaManagement added in v1.1.0

type MediaManagement struct {
	SkipFreeSpaceCheckWhenImporting         bool   `json:"skipFreeSpaceCheckWhenImporting"`
	CopyUsingHardlinks                      bool   `json:"copyUsingHardlinks"`
	ImportExtraFiles                        bool   `json:"importExtraFiles"`
	WatchLibraryForChanges                  bool   `json:"watchLibraryForChanges"`
	AutoUnmonitorPreviouslyDownloadedTracks bool   `json:"autoUnmonitorPreviouslyDownloadedTracks"`
	CreateEmptyArtistFolders                bool   `json:"createEmptyArtistFolders"`
	DeleteEmptyFolders                      bool   `json:"deleteEmptyFolders"`
	SetPermissionsLinux                     bool   `json:"setPermissionsLinux"`
	MinimumFreeSpaceWhenImporting           int64  `json:"minimumFreeSpaceWhenImporting"`
	RecycleBinCleanupDays                   int64  `json:"recycleBinCleanupDays"`
	ID                                      int64  `json:"id"` // always 1
	RecycleBin                              string `json:"recycleBin"`
	DownloadPropersAndRepacks               string `json:"downloadPropersAndRepacks"`
	FileDate                                string `json:"fileDate"`
	RescanAfterRefresh                      string `json:"rescanAfterRefresh"`
	AllowFingerprinting                     string `json:"allowFingerprinting"`
	ChmodFolder                             string `json:"chmodFolder"`
	ChownGroup                              string `json:"chownGroup"`
	ExtraFileExtensions                     string `json:"extraFileExtensions"`
}

MediaManagement represents the /config/mediamanagement endpoint.

type MetadataProfile

type MetadataProfile struct {
	Name                string           `json:"name"`
	ID                  int64            `json:"id"`
	PrimaryAlbumTypes   []*AlbumType     `json:"primaryAlbumTypes"`
	SecondaryAlbumTypes []*AlbumType     `json:"secondaryAlbumTypes"`
	ReleaseStatuses     []*ReleaseStatus `json:"releaseStatuses"`
}

MetadataProfile is the /api/v1/metadataprofile endpoint.

type MonitoringOptions

type MonitoringOptions struct {
	Monitor         string   `json:"monitor,omitempty"`
	AlbumsToMonitor []string `json:"albumsToMonitor,omitempty"`
	Monitored       bool     `json:"monitored,omitempty"`
}

MonitoringOptions configures album studio monitoring.

type Naming added in v1.1.0

type Naming struct {
	RenameTracks             bool   `json:"renameTracks"`
	ReplaceIllegalCharacters bool   `json:"replaceIllegalCharacters"`
	IncludeArtistName        bool   `json:"includeArtistName"`
	IncludeAlbumTitle        bool   `json:"includeAlbumTitle"`
	IncludeQuality           bool   `json:"includeQuality"`
	ReplaceSpaces            bool   `json:"replaceSpaces"`
	ColonReplacementFormat   CRF    `json:"colonReplacementFormat"`
	ID                       int64  `json:"id"`
	StandardTrackFormat      string `json:"standardTrackFormat"`
	MultiDiscTrackFormat     string `json:"multiDiscTrackFormat"`
	ArtistFolderFormat       string `json:"artistFolderFormat"`
}

Naming represents the config/naming endpoint in Lidarr.

type NotificationInput added in v1.0.0

type NotificationInput struct {
	OnGrab                bool                `json:"onGrab,omitempty"`
	OnReleaseImport       bool                `json:"onReleaseImport,omitempty"`
	OnUpgrade             bool                `json:"onUpgrade,omitempty"`
	OnRename              bool                `json:"onRename,omitempty"`
	OnTrackRetag          bool                `json:"onTrackRetag,omitempty"`
	OnHealthIssue         bool                `json:"onHealthIssue,omitempty"`
	OnDownloadFailure     bool                `json:"onDownloadFailure,omitempty"`
	OnImportFailure       bool                `json:"onImportFailure,omitempty"`
	OnApplicationUpdate   bool                `json:"onApplicationUpdate,omitempty"`
	IncludeHealthWarnings bool                `json:"includeHealthWarnings,omitempty"`
	ID                    int64               `json:"id,omitempty"`
	Name                  string              `json:"name"`
	Implementation        string              `json:"implementation"`
	ConfigContract        string              `json:"configContract"`
	Tags                  []int               `json:"tags,omitempty"`
	Fields                []*starr.FieldInput `json:"fields"`
}

NotificationInput is the input for a new or updated notification.

type NotificationOutput added in v1.0.0

type NotificationOutput struct {
	OnGrab                      bool                 `json:"onGrab,omitempty"`
	OnReleaseImport             bool                 `json:"onReleaseImport,omitempty"`
	OnUpgrade                   bool                 `json:"onUpgrade,omitempty"`
	OnRename                    bool                 `json:"onRename,omitempty"`
	OnTrackRetag                bool                 `json:"onTrackRetag,omitempty"`
	OnHealthIssue               bool                 `json:"onHealthIssue,omitempty"`
	OnDownloadFailure           bool                 `json:"onDownloadFailure,omitempty"`
	OnImportFailure             bool                 `json:"onImportFailure,omitempty"`
	OnApplicationUpdate         bool                 `json:"onApplicationUpdate,omitempty"`
	SupportsOnGrab              bool                 `json:"supportsOnGrab"`
	SupportsOnReleaseImport     bool                 `json:"supportsOnReleaseImport"`
	SupportsOnUpgrade           bool                 `json:"supportsOnUpgrade"`
	SupportsOnRename            bool                 `json:"supportsOnRename"`
	SupportsOnApplicationUpdate bool                 `json:"supportsOnApplicationUpdate"`
	SupportsOnDownloadFailure   bool                 `json:"supportsOnDownloadFailure"`
	SupportsOnImportFailure     bool                 `json:"supportsOnImportFailure"`
	SupportsOnTrackRetag        bool                 `json:"supportsOnTrackRetag"`
	SupportsOnHealthIssue       bool                 `json:"supportsOnHealthIssue"`
	IncludeHealthWarnings       bool                 `json:"includeHealthWarnings"`
	ID                          int64                `json:"id"`
	Name                        string               `json:"name"`
	ImplementationName          string               `json:"implementationName"`
	Implementation              string               `json:"implementation"`
	ConfigContract              string               `json:"configContract"`
	InfoLink                    string               `json:"infoLink"`
	Tags                        []int                `json:"tags"`
	Fields                      []*starr.FieldOutput `json:"fields"`
}

NotificationOutput is the output from the notification methods.

type ParseOutput

type ParseOutput struct {
	ID                int64                 `json:"id"`
	Title             string                `json:"title,omitempty"`
	ParsedAlbumInfo   *ParsedAlbumInfo      `json:"parsedAlbumInfo,omitempty"`
	Artist            *Artist               `json:"artist,omitempty"`
	Albums            []*Album              `json:"albums,omitempty"`
	CustomFormats     []*CustomFormatOutput `json:"customFormats,omitempty"`
	CustomFormatScore int64                 `json:"customFormatScore"`
}

ParseOutput is returned from GET /api/v1/parse.

type ParsedAlbumInfo

type ParsedAlbumInfo struct {
	ReleaseTitle     string         `json:"releaseTitle,omitempty"`
	AlbumTitle       string         `json:"albumTitle,omitempty"`
	ArtistName       string         `json:"artistName,omitempty"`
	AlbumType        string         `json:"albumType,omitempty"`
	Quality          *starr.Quality `json:"quality,omitempty"`
	ReleaseDate      string         `json:"releaseDate,omitempty"`
	Discography      bool           `json:"discography,omitempty"`
	DiscographyStart int            `json:"discographyStart,omitempty"`
}

ParsedAlbumInfo is returned when a release title parses as an album.

type QualityDefinition

type QualityDefinition struct {
	ID            int64        `json:"id"`
	Quality       *starr.Value `json:"quality"`
	Title         string       `json:"title"`
	Weight        int64        `json:"weight"`
	MinSize       float64      `json:"minSize"`
	MaxSize       float64      `json:"maxSize,omitempty"`
	PreferredSize float64      `json:"preferredSize"`
}

QualityDefinition is the /api/v1/qualitydefinition endpoint.

type QualityProfile

type QualityProfile struct {
	ID                    int64               `json:"id"`
	Name                  string              `json:"name"`
	UpgradeAllowed        bool                `json:"upgradeAllowed"`
	Cutoff                int64               `json:"cutoff"`
	Qualities             []*starr.Quality    `json:"items"`
	MinFormatScore        int64               `json:"minFormatScore"`
	MinUpgradeFormatScore int64               `json:"minUpgradeFormatScore"`
	CutoffFormatScore     int64               `json:"cutoffFormatScore"`
	FormatItems           []*starr.FormatItem `json:"formatItems"`
}

QualityProfile is the /api/v1/qualityprofile endpoint.

type Queue

type Queue struct {
	Page          int            `json:"page"`
	PageSize      int            `json:"pageSize"`
	SortKey       string         `json:"sortKey"`
	SortDirection string         `json:"sortDirection"`
	TotalRecords  int            `json:"totalRecords"`
	Records       []*QueueRecord `json:"records"`
}

Queue is the /api/v1/queue endpoint.

type QueueRecord added in v0.10.4

type QueueRecord struct {
	HasPostImportCategory   bool                   `json:"downloadClientHasPostImportCategory"`
	ArtistID                int64                  `json:"artistId"`
	AlbumID                 int64                  `json:"albumId"`
	Quality                 *starr.Quality         `json:"quality"`
	Size                    float64                `json:"size"`
	Title                   string                 `json:"title"`
	Sizeleft                float64                `json:"sizeleft"`
	Timeleft                string                 `json:"timeleft"`
	EstimatedCompletionTime time.Time              `json:"estimatedCompletionTime"`
	Status                  string                 `json:"status"`
	TrackedDownloadStatus   string                 `json:"trackedDownloadStatus"`
	StatusMessages          []*starr.StatusMessage `json:"statusMessages"`
	DownloadID              string                 `json:"downloadId"`
	Protocol                starr.Protocol         `json:"protocol"`
	DownloadClient          string                 `json:"downloadClient"`
	Indexer                 string                 `json:"indexer"`
	OutputPath              string                 `json:"outputPath"`
	DownloadForced          bool                   `json:"downloadForced"`
	ID                      int64                  `json:"id"`
	ErrorMessage            string                 `json:"errorMessage"`
}

QueueRecord represents the records returns by the /api/v1/queue endpoint.

type Rejection added in v1.0.0

type Rejection struct {
	Reason string `json:"reason"`
	// permanent or temporary
	Type string `json:"type"`
}

Rejection is part of the manual import payload.

type Release

type Release struct {
	ID               int64    `json:"id"`
	AlbumID          int64    `json:"albumId"`
	ForeignReleaseID string   `json:"foreignReleaseId"`
	Title            string   `json:"title"`
	Status           string   `json:"status"`
	Duration         int      `json:"duration"`
	TrackCount       int      `json:"trackCount"`
	Media            []*Media `json:"media"`
	MediumCount      int      `json:"mediumCount"`
	Disambiguation   string   `json:"disambiguation"`
	Country          []string `json:"country"`
	Label            []string `json:"label"`
	Format           string   `json:"format"`
	Monitored        bool     `json:"monitored"`
}

Release is part of an Album.

type ReleaseStatus

type ReleaseStatus struct {
	ReleaseStatus *starr.Value `json:"releaseStatus"`
	Allowed       bool         `json:"allowed"`
}

ReleaseStatus is part of MetadataProfile.

type Rename added in v1.2.0

type Rename struct {
	ID           int64   `json:"id"`
	ArtistID     int64   `json:"artistId"`
	AlbumID      int64   `json:"albumId"`
	TrackNumbers []int64 `json:"trackNumbers"`
	TrackFileID  int64   `json:"trackFileId"`
	ExistingPath string  `json:"existingPath,omitempty"`
	NewPath      string  `json:"newPath,omitempty"`
}

Rename is the /api/v1/rename endpoint.

type RootFolder

type RootFolder struct {
	ID              int64         `json:"id"`
	Path            string        `json:"path"`
	FreeSpace       int64         `json:"freeSpace"`
	TotalSpace      int64         `json:"totalSpace"`
	UnmappedFolders []*starr.Path `json:"unmappedFolders"`
}

RootFolder is the /api/v1/rootfolder endpoint.

type Statistics

type Statistics struct {
	AlbumCount      int     `json:"albumCount,omitempty"`
	TrackFileCount  int     `json:"trackFileCount"`
	TrackCount      int     `json:"trackCount"`
	TotalTrackCount int     `json:"totalTrackCount"`
	SizeOnDisk      int     `json:"sizeOnDisk"`
	PercentOfTracks float64 `json:"percentOfTracks"`
}

Statistics is part of Artist and Album.

type SystemStatus

type SystemStatus struct {
	AppData                string    `json:"appData"`
	AppName                string    `json:"appName"`
	Authentication         string    `json:"authentication"`
	Branch                 string    `json:"branch"`
	BuildTime              time.Time `json:"buildTime"`
	InstanceName           string    `json:"instanceName"`
	IsAdmin                bool      `json:"isAdmin"`
	IsDebug                bool      `json:"isDebug"`
	IsDocker               bool      `json:"isDocker"`
	IsLinux                bool      `json:"isLinux"`
	IsNetCore              bool      `json:"isNetCore"`
	IsOsx                  bool      `json:"isOsx"`
	IsProduction           bool      `json:"isProduction"`
	IsUserInteractive      bool      `json:"isUserInteractive"`
	IsWindows              bool      `json:"isWindows"`
	MigrationVersion       int64     `json:"migrationVersion"`
	Mode                   string    `json:"mode"`
	OsName                 string    `json:"osName"`
	PackageAuthor          string    `json:"packageAuthor"`
	PackageUpdateMechanism string    `json:"packageUpdateMechanism"`
	PackageVersion         string    `json:"packageVersion"`
	RuntimeName            string    `json:"runtimeName"`
	RuntimeVersion         string    `json:"runtimeVersion"`
	SqliteVersion          string    `json:"sqliteVersion"`
	StartTime              time.Time `json:"startTime"`
	StartupPath            string    `json:"startupPath"`
	URLBase                string    `json:"urlBase"`
	Version                string    `json:"version"`
}

SystemStatus is the /api/v1/system/status endpoint.

type SystemTask

type SystemTask = starrshared.SystemTask

SystemTask is a scheduled task from /api/v1/system/task.

type TagDetails

type TagDetails struct {
	ID                int    `json:"id"`
	Label             string `json:"label,omitempty"`
	DelayProfileIDs   []int  `json:"delayProfileIds,omitempty"`
	ImportListIDs     []int  `json:"importListIds,omitempty"`
	NotificationIDs   []int  `json:"notificationIds,omitempty"`
	IndexerIDs        []int  `json:"indexerIds,omitempty"`
	DownloadClientIDs []int  `json:"downloadClientIds,omitempty"`
	AutoTagIDs        []int  `json:"autoTagIds,omitempty"`
	ArtistIDs         []int  `json:"artistIds,omitempty"`
	IndexerProxyIDs   []int  `json:"indexerProxyIds,omitempty"`
}

TagDetails is the /api/v1/tag/detail resource.

type Track added in v1.0.0

type Track struct {
	ArtistID            int64          `json:"artistId"`
	ForeignTrackID      string         `json:"foreignTrackId"`
	ForeignRecordingID  string         `json:"foreignRecordingId"`
	TrackFileID         int64          `json:"trackFileId"`
	AlbumID             int64          `json:"albumId"`
	Explicit            bool           `json:"explicit"`
	AbsoluteTrackNumber int            `json:"absoluteTrackNumber"`
	TrackNumber         string         `json:"trackNumber"`
	Title               string         `json:"title"`
	Duration            int            `json:"duration"`
	MediumNumber        int            `json:"mediumNumber"`
	HasFile             bool           `json:"hasFile"`
	Ratings             *starr.Ratings `json:"ratings"`
	Grabbed             bool           `json:"grabbed"`
	ID                  int64          `json:"id"`
	Artist              *Artist        `json:"artist"`    // probably empty.
	TrackFile           *TrackFile     `json:"trackFile"` // probably empty.
}

Track is an album track.

type TrackFile added in v1.0.0

type TrackFile struct {
	ID            int64          `json:"id"`
	ArtistID      int64          `json:"artistId"`
	AlbumID       int64          `json:"albumId"`
	Path          string         `json:"path"`
	Size          int64          `json:"size"`
	DateAdded     time.Time      `json:"dateAdded"`
	Quality       *starr.Quality `json:"quality"`
	QualityWeight int            `json:"qualityWeight"`
	MediaInfo     MediaInfo      `json:"mediaInfo"`
	CutoffNotMet  bool           `json:"qualityCutoffNotMet"`
	AudioTags     *AudioTags     `json:"audioTags"`
}

TrackFile represents the data sent to and returned from the trackfile endpoint.

type Update

type Update = starrshared.Update

Update is one available or installed update from /api/v1/update.

type UpdateChanges

type UpdateChanges = starrshared.UpdateChanges

UpdateChanges is the change log embedded in Update.

type WantedAlbumsPage

type WantedAlbumsPage struct {
	Page          int      `json:"page"`
	PageSize      int      `json:"pageSize"`
	SortKey       string   `json:"sortKey,omitempty"`
	SortDirection string   `json:"sortDirection,omitempty"`
	TotalRecords  int      `json:"totalRecords"`
	Records       []*Album `json:"records"`
}

WantedAlbumsPage is a paged list of albums from /api/v1/wanted/missing or /wanted/cutoff.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL