readarr

package module
v1.2.0 Latest Latest
Warning

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

Go to latest
Published: Apr 10, 2026 License: MIT Imports: 5 Imported by: 0

Documentation

Overview

Package readarr provides a client for the Readarr v1 API.

Readarr is an ebook and audiobook collection manager for Usenet and BitTorrent users that monitors multiple RSS feeds for new books and automatically grabs, sorts, and renames them. The v1 API applies to current versions of the Readarr application.

The Client type wraps arr.BaseClient and exposes typed methods for every major Readarr resource: authors, books, book files, editions, calendar, queue, commands, history, and more.

Example
package main

import (
	"context"
	"fmt"
	"log"

	"github.com/lusoris/goenvoy/arr/readarr"
)

func main() {
	// Create a new Readarr client
	client, err := readarr.New("http://localhost:8787", "your-api-key")
	if err != nil {
		log.Fatal(err)
	}

	ctx := context.Background()

	// Get system status
	status, err := client.GetSystemStatus(ctx)
	if err != nil {
		log.Fatal(err)
	}
	fmt.Printf("%s version %s\n", status.AppName, status.Version)

	// Get all authors
	authors, err := client.GetAllAuthors(ctx)
	if err != nil {
		log.Fatal(err)
	}
	fmt.Printf("Total authors: %d\n", len(authors))
}

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AddAuthorOptions

type AddAuthorOptions struct {
	Monitor               string   `json:"monitor"`
	BooksToMonitor        []string `json:"booksToMonitor,omitempty"`
	Monitored             bool     `json:"monitored"`
	SearchForMissingBooks bool     `json:"searchForMissingBooks"`
}

AddAuthorOptions controls behavior when adding a new author.

type AddBookOptions

type AddBookOptions struct {
	AddType          string `json:"addType,omitempty"`
	SearchForNewBook bool   `json:"searchForNewBook"`
}

AddBookOptions controls behavior when adding a new book.

type Author

type Author struct {
	ID                  int               `json:"id"`
	AuthorMetadataID    int               `json:"authorMetadataId"`
	Status              string            `json:"status"`
	Ended               bool              `json:"ended,omitempty"`
	AuthorName          string            `json:"authorName"`
	AuthorNameLastFirst string            `json:"authorNameLastFirst,omitempty"`
	ForeignAuthorID     string            `json:"foreignAuthorId"`
	TitleSlug           string            `json:"titleSlug,omitempty"`
	Overview            string            `json:"overview,omitempty"`
	Disambiguation      string            `json:"disambiguation,omitempty"`
	Links               []Link            `json:"links,omitempty"`
	NextBook            *Book             `json:"nextBook,omitempty"`
	LastBook            *Book             `json:"lastBook,omitempty"`
	Images              []Image           `json:"images,omitempty"`
	RemotePoster        string            `json:"remotePoster,omitempty"`
	Path                string            `json:"path"`
	QualityProfileID    int               `json:"qualityProfileId"`
	MetadataProfileID   int               `json:"metadataProfileId"`
	Monitored           bool              `json:"monitored"`
	MonitorNewItems     string            `json:"monitorNewItems,omitempty"`
	RootFolderPath      string            `json:"rootFolderPath,omitempty"`
	Folder              string            `json:"folder,omitempty"`
	Genres              []string          `json:"genres,omitempty"`
	CleanName           string            `json:"cleanName,omitempty"`
	SortName            string            `json:"sortName,omitempty"`
	SortNameLastFirst   string            `json:"sortNameLastFirst,omitempty"`
	Tags                []int             `json:"tags"`
	Added               string            `json:"added"`
	AddOptions          *AddAuthorOptions `json:"addOptions,omitempty"`
	Ratings             Ratings           `json:"ratings,omitempty"`
	Statistics          *AuthorStatistics `json:"statistics,omitempty"`
}

Author represents an author in Readarr.

type AuthorEditorResource

type AuthorEditorResource struct {
	AuthorIDs         []int  `json:"authorIds"`
	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         string `json:"applyTags,omitempty"`
	MoveFiles         bool   `json:"moveFiles"`
	DeleteFiles       bool   `json:"deleteFiles"`
}

AuthorEditorResource is used for batch editing or deleting authors.

type AuthorStatistics

type AuthorStatistics struct {
	BookFileCount      int     `json:"bookFileCount"`
	BookCount          int     `json:"bookCount"`
	AvailableBookCount int     `json:"availableBookCount"`
	TotalBookCount     int     `json:"totalBookCount"`
	SizeOnDisk         int64   `json:"sizeOnDisk"`
	PercentOfBooks     float64 `json:"percentOfBooks"`
}

AuthorStatistics contains aggregate statistics for an author.

type Book

type Book struct {
	ID               int             `json:"id"`
	Title            string          `json:"title"`
	AuthorTitle      string          `json:"authorTitle,omitempty"`
	SeriesTitle      string          `json:"seriesTitle,omitempty"`
	Disambiguation   string          `json:"disambiguation,omitempty"`
	Overview         string          `json:"overview,omitempty"`
	AuthorID         int             `json:"authorId"`
	ForeignBookID    string          `json:"foreignBookId"`
	ForeignEditionID string          `json:"foreignEditionId,omitempty"`
	TitleSlug        string          `json:"titleSlug,omitempty"`
	Monitored        bool            `json:"monitored"`
	AnyEditionOk     bool            `json:"anyEditionOk"`
	Ratings          Ratings         `json:"ratings,omitempty"`
	ReleaseDate      string          `json:"releaseDate,omitempty"`
	PageCount        int             `json:"pageCount,omitempty"`
	Genres           []string        `json:"genres,omitempty"`
	Author           *Author         `json:"author,omitempty"`
	Images           []Image         `json:"images,omitempty"`
	Links            []Link          `json:"links,omitempty"`
	Statistics       *BookStatistics `json:"statistics,omitempty"`
	Added            string          `json:"added,omitempty"`
	AddOptions       *AddBookOptions `json:"addOptions,omitempty"`
	RemoteCover      string          `json:"remoteCover,omitempty"`
	Editions         []Edition       `json:"editions,omitempty"`
}

Book represents a book in Readarr.

type BookEditorResource

type BookEditorResource struct {
	BookIDs                []int `json:"bookIds"`
	Monitored              *bool `json:"monitored,omitempty"`
	DeleteFiles            bool  `json:"deleteFiles"`
	AddImportListExclusion bool  `json:"addImportListExclusion"`
}

BookEditorResource is used for batch editing or deleting books.

type BookFile

type BookFile struct {
	ID                  int          `json:"id"`
	AuthorID            int          `json:"authorId"`
	BookID              int          `json:"bookId"`
	Path                string       `json:"path"`
	Size                int64        `json:"size"`
	DateAdded           string       `json:"dateAdded"`
	Quality             QualityModel `json:"quality"`
	QualityCutoffNotMet bool         `json:"qualityCutoffNotMet"`
}

BookFile represents a downloaded book file on disk.

type BookFileListResource

type BookFileListResource struct {
	BookFileIDs []int `json:"bookFileIds"`
}

BookFileListResource is the request body for bulk book file operations.

type BookStatistics

type BookStatistics struct {
	BookFileCount  int     `json:"bookFileCount"`
	BookCount      int     `json:"bookCount"`
	TotalBookCount int     `json:"totalBookCount"`
	SizeOnDisk     int64   `json:"sizeOnDisk"`
	PercentOfBooks float64 `json:"percentOfBooks"`
}

BookStatistics contains file counts and size information for a book.

type BooksMonitoredResource

type BooksMonitoredResource struct {
	BookIDs   []int `json:"bookIds"`
	Monitored bool  `json:"monitored"`
}

BooksMonitoredResource is used to set the monitored status of books.

type BookshelfAuthorResource added in v1.1.0

type BookshelfAuthorResource struct {
	ID        int    `json:"id"`
	Monitored *bool  `json:"monitored,omitempty"`
	Books     []Book `json:"books,omitempty"`
}

BookshelfAuthorResource is an author entry in a bookshelf request.

type BookshelfResource added in v1.1.0

type BookshelfResource struct {
	Authors           []BookshelfAuthorResource `json:"authors,omitempty"`
	MonitoringOptions MonitoringOptions         `json:"monitoringOptions"`
	MonitorNewItems   string                    `json:"monitorNewItems,omitempty"`
}

BookshelfResource is the request body for the bookshelf endpoint.

type Client

type Client struct {
	// contains filtered or unexported fields
}

Client is a Readarr API client.

func New

func New(baseURL, apiKey string, opts ...arr.Option) (*Client, error)

New creates a Readarr Client for the instance at baseURL.

func (*Client) AddAuthor

func (c *Client) AddAuthor(ctx context.Context, author *Author) (*Author, error)

AddAuthor adds a new author to Readarr.

func (*Client) AddBook

func (c *Client) AddBook(ctx context.Context, book *Book) (*Book, error)

AddBook adds a new book to Readarr.

func (*Client) Bookshelf added in v1.1.0

func (c *Client) Bookshelf(ctx context.Context, shelf *BookshelfResource) error

Bookshelf performs batch monitoring changes on authors and books.

func (*Client) BrowseFileSystem added in v1.1.0

func (c *Client) BrowseFileSystem(ctx context.Context, path string) (*FileSystemResource, error)

BrowseFileSystem returns directory/file listings for the given path.

func (*Client) BulkDeleteBlocklist added in v1.1.0

func (c *Client) BulkDeleteBlocklist(ctx context.Context, ids []int) error

BulkDeleteBlocklist deletes multiple blocklist items.

func (*Client) BulkDeleteDownloadClients added in v1.1.0

func (c *Client) BulkDeleteDownloadClients(ctx context.Context, ids []int) error

BulkDeleteDownloadClients deletes multiple download clients at once.

func (*Client) BulkDeleteImportLists added in v1.1.0

func (c *Client) BulkDeleteImportLists(ctx context.Context, ids []int) error

BulkDeleteImportLists deletes multiple import lists at once.

func (*Client) BulkDeleteIndexers added in v1.1.0

func (c *Client) BulkDeleteIndexers(ctx context.Context, ids []int) error

BulkDeleteIndexers deletes multiple indexers at once.

func (*Client) BulkDeleteQueue added in v1.1.0

func (c *Client) BulkDeleteQueue(ctx context.Context, bulk *arr.QueueBulkResource, removeFromClient, blocklist bool) error

BulkDeleteQueue deletes multiple items from the download queue.

func (*Client) BulkUpdateDownloadClients added in v1.1.0

func (c *Client) BulkUpdateDownloadClients(ctx context.Context, bulk *arr.ProviderBulkResource) ([]arr.ProviderResource, error)

BulkUpdateDownloadClients updates multiple download clients at once.

func (*Client) BulkUpdateImportLists added in v1.1.0

func (c *Client) BulkUpdateImportLists(ctx context.Context, bulk *arr.ProviderBulkResource) ([]arr.ProviderResource, error)

BulkUpdateImportLists updates multiple import lists at once.

func (*Client) BulkUpdateIndexers added in v1.1.0

func (c *Client) BulkUpdateIndexers(ctx context.Context, bulk *arr.ProviderBulkResource) ([]arr.ProviderResource, error)

BulkUpdateIndexers updates multiple indexers at once.

func (*Client) BulkUpdateQualityDefinitions added in v1.1.0

func (c *Client) BulkUpdateQualityDefinitions(ctx context.Context, defs []arr.QualityDefinitionResource) ([]arr.QualityDefinitionResource, error)

BulkUpdateQualityDefinitions updates multiple quality definitions at once.

func (*Client) CreateCustomFilter added in v1.1.0

func (c *Client) CreateCustomFilter(ctx context.Context, filter *arr.CustomFilterResource) (*arr.CustomFilterResource, error)

CreateCustomFilter creates a new custom filter.

func (*Client) CreateCustomFormat added in v1.1.0

func (c *Client) CreateCustomFormat(ctx context.Context, format *arr.CustomFormatResource) (*arr.CustomFormatResource, error)

CreateCustomFormat creates a new custom format.

func (*Client) CreateDelayProfile added in v1.1.0

func (c *Client) CreateDelayProfile(ctx context.Context, profile *arr.DelayProfileResource) (*arr.DelayProfileResource, error)

CreateDelayProfile creates a new delay profile.

func (*Client) CreateDownloadClient added in v1.1.0

func (c *Client) CreateDownloadClient(ctx context.Context, dc *arr.ProviderResource) (*arr.ProviderResource, error)

CreateDownloadClient creates a new download client.

func (*Client) CreateImportList added in v1.1.0

func (c *Client) CreateImportList(ctx context.Context, il *arr.ProviderResource) (*arr.ProviderResource, error)

CreateImportList creates a new import list.

func (*Client) CreateImportListExclusion added in v1.1.0

func (c *Client) CreateImportListExclusion(ctx context.Context, exclusion *ImportListExclusion) (*ImportListExclusion, error)

CreateImportListExclusion creates a new import list exclusion.

func (*Client) CreateIndexer added in v1.1.0

func (c *Client) CreateIndexer(ctx context.Context, idx *arr.ProviderResource) (*arr.ProviderResource, error)

CreateIndexer creates a new indexer.

func (*Client) CreateMetadataConsumer added in v1.1.0

func (c *Client) CreateMetadataConsumer(ctx context.Context, m *arr.ProviderResource) (*arr.ProviderResource, error)

CreateMetadataConsumer creates a new metadata consumer.

func (*Client) CreateMetadataProfile added in v1.1.0

func (c *Client) CreateMetadataProfile(ctx context.Context, profile *MetadataProfile) (*MetadataProfile, error)

CreateMetadataProfile creates a new metadata profile.

func (*Client) CreateNotification added in v1.1.0

func (c *Client) CreateNotification(ctx context.Context, n *arr.ProviderResource) (*arr.ProviderResource, error)

CreateNotification creates a new notification.

func (*Client) CreateQualityProfile added in v1.1.0

func (c *Client) CreateQualityProfile(ctx context.Context, profile *arr.QualityProfile) (*arr.QualityProfile, error)

CreateQualityProfile creates a new quality profile.

func (*Client) CreateReleaseProfile added in v1.1.0

func (c *Client) CreateReleaseProfile(ctx context.Context, profile *arr.ReleaseProfileResource) (*arr.ReleaseProfileResource, error)

CreateReleaseProfile creates a new release profile.

func (*Client) CreateRemotePathMapping added in v1.1.0

func (c *Client) CreateRemotePathMapping(ctx context.Context, mapping *arr.RemotePathMappingResource) (*arr.RemotePathMappingResource, error)

CreateRemotePathMapping creates a new remote path mapping.

func (*Client) CreateRootFolder added in v1.1.0

func (c *Client) CreateRootFolder(ctx context.Context, folder *arr.RootFolder) (*arr.RootFolder, error)

CreateRootFolder creates a new root folder.

func (*Client) CreateTag

func (c *Client) CreateTag(ctx context.Context, label string) (*arr.Tag, error)

CreateTag creates a new tag and returns it with its assigned ID.

func (*Client) DeleteAuthor

func (c *Client) DeleteAuthor(ctx context.Context, id int, deleteFiles, addImportListExclusion bool) error

DeleteAuthor removes an author. Set deleteFiles to true to also delete downloaded files from disk.

func (*Client) DeleteAuthors

func (c *Client) DeleteAuthors(ctx context.Context, editor *AuthorEditorResource) error

DeleteAuthors performs a batch delete of multiple authors.

func (*Client) DeleteBackup added in v1.1.0

func (c *Client) DeleteBackup(ctx context.Context, id int) error

DeleteBackup deletes a backup by ID.

func (*Client) DeleteBlocklistItem added in v1.1.0

func (c *Client) DeleteBlocklistItem(ctx context.Context, id int) error

DeleteBlocklistItem deletes a single blocklist item by ID.

func (*Client) DeleteBook

func (c *Client) DeleteBook(ctx context.Context, id int, deleteFiles, addImportListExclusion bool) error

DeleteBook removes a book.

func (*Client) DeleteBookFile

func (c *Client) DeleteBookFile(ctx context.Context, id int) error

DeleteBookFile removes a single book file by its database ID.

func (*Client) DeleteBookFiles

func (c *Client) DeleteBookFiles(ctx context.Context, ids []int) error

DeleteBookFiles removes multiple book files by their IDs.

func (*Client) DeleteBooks

func (c *Client) DeleteBooks(ctx context.Context, editor *BookEditorResource) error

DeleteBooks performs a batch delete of multiple books.

func (*Client) DeleteCommand added in v1.1.0

func (c *Client) DeleteCommand(ctx context.Context, id int) error

DeleteCommand deletes a command by ID.

func (*Client) DeleteCustomFilter added in v1.1.0

func (c *Client) DeleteCustomFilter(ctx context.Context, id int) error

DeleteCustomFilter deletes a custom filter by ID.

func (*Client) DeleteCustomFormat added in v1.1.0

func (c *Client) DeleteCustomFormat(ctx context.Context, id int) error

DeleteCustomFormat deletes a custom format by ID.

func (*Client) DeleteDelayProfile added in v1.1.0

func (c *Client) DeleteDelayProfile(ctx context.Context, id int) error

DeleteDelayProfile deletes a delay profile by ID.

func (*Client) DeleteDownloadClient added in v1.1.0

func (c *Client) DeleteDownloadClient(ctx context.Context, id int) error

DeleteDownloadClient deletes a download client by ID.

func (*Client) DeleteImportList added in v1.1.0

func (c *Client) DeleteImportList(ctx context.Context, id int) error

DeleteImportList deletes an import list by ID.

func (*Client) DeleteImportListExclusion added in v1.1.0

func (c *Client) DeleteImportListExclusion(ctx context.Context, id int) error

DeleteImportListExclusion deletes an import list exclusion by ID.

func (*Client) DeleteIndexer added in v1.1.0

func (c *Client) DeleteIndexer(ctx context.Context, id int) error

DeleteIndexer deletes an indexer by ID.

func (*Client) DeleteMetadataConsumer added in v1.1.0

func (c *Client) DeleteMetadataConsumer(ctx context.Context, id int) error

DeleteMetadataConsumer deletes a metadata consumer by ID.

func (*Client) DeleteMetadataProfile added in v1.1.0

func (c *Client) DeleteMetadataProfile(ctx context.Context, id int) error

DeleteMetadataProfile deletes a metadata profile by ID.

func (*Client) DeleteNotification added in v1.1.0

func (c *Client) DeleteNotification(ctx context.Context, id int) error

DeleteNotification deletes a notification by ID.

func (*Client) DeleteQualityProfile added in v1.1.0

func (c *Client) DeleteQualityProfile(ctx context.Context, id int) error

DeleteQualityProfile deletes a quality profile by ID.

func (*Client) DeleteQueueItem

func (c *Client) DeleteQueueItem(ctx context.Context, id int, removeFromClient, blocklist bool) error

DeleteQueueItem removes an item from the download queue.

func (*Client) DeleteReleaseProfile added in v1.1.0

func (c *Client) DeleteReleaseProfile(ctx context.Context, id int) error

DeleteReleaseProfile deletes a release profile by ID.

func (*Client) DeleteRemotePathMapping added in v1.1.0

func (c *Client) DeleteRemotePathMapping(ctx context.Context, id int) error

DeleteRemotePathMapping deletes a remote path mapping by ID.

func (*Client) DeleteRootFolder added in v1.1.0

func (c *Client) DeleteRootFolder(ctx context.Context, id int) error

DeleteRootFolder deletes a root folder by ID.

func (*Client) DeleteTag added in v1.1.0

func (c *Client) DeleteTag(ctx context.Context, id int) error

DeleteTag deletes a tag by ID.

func (*Client) DownloadClientAction added in v1.1.0

func (c *Client) DownloadClientAction(ctx context.Context, name string, body *arr.ProviderResource) error

DownloadClientAction triggers a named action on a download client provider.

func (*Client) EditAuthors

func (c *Client) EditAuthors(ctx context.Context, editor *AuthorEditorResource) error

EditAuthors performs a batch update on multiple authors.

func (*Client) EditBookFilesBulk added in v1.1.0

func (c *Client) EditBookFilesBulk(ctx context.Context, editor *BookFileListResource) ([]BookFile, error)

EditBookFilesBulk updates multiple book files at once.

func (*Client) EditBooks

func (c *Client) EditBooks(ctx context.Context, editor *BookEditorResource) error

EditBooks performs a batch update on multiple books.

func (*Client) GetAllAuthors

func (c *Client) GetAllAuthors(ctx context.Context) ([]Author, error)

GetAllAuthors returns every author configured in Readarr.

func (*Client) GetAuthor

func (c *Client) GetAuthor(ctx context.Context, id int) (*Author, error)

GetAuthor returns a single author by its database ID.

func (*Client) GetBackups added in v1.1.0

func (c *Client) GetBackups(ctx context.Context) ([]arr.Backup, error)

GetBackups returns a list of all available backups.

func (*Client) GetBlocklist added in v1.1.0

func (c *Client) GetBlocklist(ctx context.Context, page, pageSize int) (*arr.PagingResource[arr.BlocklistResource], error)

GetBlocklist returns the blocklist with pagination.

func (*Client) GetBook

func (c *Client) GetBook(ctx context.Context, id int) (*Book, error)

GetBook returns a single book by its database ID.

func (*Client) GetBookFile

func (c *Client) GetBookFile(ctx context.Context, id int) (*BookFile, error)

GetBookFile returns a single book file by its database ID.

func (*Client) GetBookFiles

func (c *Client) GetBookFiles(ctx context.Context, authorID int) ([]BookFile, error)

GetBookFiles returns all book files for the given author.

func (*Client) GetBookOverview added in v1.1.0

func (c *Client) GetBookOverview(ctx context.Context, id int) (*Book, error)

GetBookOverview returns an overview for a specific book.

func (*Client) GetBooks

func (c *Client) GetBooks(ctx context.Context, authorID int) ([]Book, error)

GetBooks returns books for the given author.

func (*Client) GetCalendar

func (c *Client) GetCalendar(ctx context.Context, start, end string, unmonitored bool) ([]Book, error)

GetCalendar returns books with releases between start and end (RFC 3339 timestamps).

func (*Client) GetCalendarByID added in v1.1.0

func (c *Client) GetCalendarByID(ctx context.Context, id int) (*Book, error)

GetCalendarByID returns a single calendar entry by its ID.

func (*Client) GetCommand

func (c *Client) GetCommand(ctx context.Context, id int) (*arr.CommandResponse, error)

GetCommand returns the status of a single command by its ID.

func (*Client) GetCommands

func (c *Client) GetCommands(ctx context.Context) ([]arr.CommandResponse, error)

GetCommands returns all currently queued or running commands.

func (*Client) GetCustomFilter added in v1.1.0

func (c *Client) GetCustomFilter(ctx context.Context, id int) (*arr.CustomFilterResource, error)

GetCustomFilter returns a single custom filter by its ID.

func (*Client) GetCustomFilters added in v1.1.0

func (c *Client) GetCustomFilters(ctx context.Context) ([]arr.CustomFilterResource, error)

GetCustomFilters returns all custom filters.

func (*Client) GetCustomFormat added in v1.1.0

func (c *Client) GetCustomFormat(ctx context.Context, id int) (*arr.CustomFormatResource, error)

GetCustomFormat returns a single custom format by its ID.

func (*Client) GetCustomFormatSchema added in v1.1.0

func (c *Client) GetCustomFormatSchema(ctx context.Context) ([]arr.CustomFormatResource, error)

GetCustomFormatSchema returns the custom format schema.

func (*Client) GetCustomFormats added in v1.1.0

func (c *Client) GetCustomFormats(ctx context.Context) ([]arr.CustomFormatResource, error)

GetCustomFormats returns all custom formats.

func (*Client) GetDelayProfile added in v1.1.0

func (c *Client) GetDelayProfile(ctx context.Context, id int) (*arr.DelayProfileResource, error)

GetDelayProfile returns a single delay profile by its ID.

func (*Client) GetDelayProfiles added in v1.1.0

func (c *Client) GetDelayProfiles(ctx context.Context) ([]arr.DelayProfileResource, error)

GetDelayProfiles returns all delay profiles.

func (*Client) GetDevelopmentConfig added in v1.1.0

func (c *Client) GetDevelopmentConfig(ctx context.Context) (*DevelopmentConfigResource, error)

GetDevelopmentConfig returns the development configuration.

func (*Client) GetDevelopmentConfigByID added in v1.1.0

func (c *Client) GetDevelopmentConfigByID(ctx context.Context, id int) (*DevelopmentConfigResource, error)

GetDevelopmentConfigByID returns the development config by its ID.

func (*Client) GetDiskSpace

func (c *Client) GetDiskSpace(ctx context.Context) ([]arr.DiskSpace, error)

GetDiskSpace returns disk usage information for configured paths.

func (*Client) GetDownloadClient added in v1.1.0

func (c *Client) GetDownloadClient(ctx context.Context, id int) (*arr.ProviderResource, error)

GetDownloadClient returns a single download client by its ID.

func (*Client) GetDownloadClientConfig added in v1.1.0

func (c *Client) GetDownloadClientConfig(ctx context.Context) (*arr.DownloadClientConfigResource, error)

GetDownloadClientConfig returns the download client configuration.

func (*Client) GetDownloadClientConfigByID added in v1.1.0

func (c *Client) GetDownloadClientConfigByID(ctx context.Context, id int) (*arr.DownloadClientConfigResource, error)

GetDownloadClientConfigByID returns the download client config by its ID.

func (*Client) GetDownloadClientSchema added in v1.1.0

func (c *Client) GetDownloadClientSchema(ctx context.Context) ([]arr.ProviderResource, error)

GetDownloadClientSchema returns the schema for all download client types.

func (*Client) GetDownloadClients added in v1.1.0

func (c *Client) GetDownloadClients(ctx context.Context) ([]arr.ProviderResource, error)

GetDownloadClients returns all configured download clients.

func (*Client) GetEditions

func (c *Client) GetEditions(ctx context.Context, bookID int) ([]Edition, error)

GetEditions returns all editions for the given book IDs.

func (*Client) GetFileSystemMediaFiles added in v1.1.0

func (c *Client) GetFileSystemMediaFiles(ctx context.Context, path string) ([]FileSystemEntry, error)

GetFileSystemMediaFiles returns media files for the given path.

func (*Client) GetFileSystemType added in v1.1.0

func (c *Client) GetFileSystemType(ctx context.Context, path string) (string, error)

GetFileSystemType returns the filesystem type for the given path.

func (*Client) GetHealth

func (c *Client) GetHealth(ctx context.Context) ([]arr.HealthCheck, error)

GetHealth returns current health check results.

func (*Client) GetHistory

func (c *Client) GetHistory(ctx context.Context, page, pageSize int) (*arr.PagingResource[HistoryRecord], error)

GetHistory returns the download history with pagination.

func (*Client) GetHistoryByAuthor added in v1.1.0

func (c *Client) GetHistoryByAuthor(ctx context.Context, authorID int) ([]HistoryRecord, error)

GetHistoryByAuthor returns history for a specific author.

func (*Client) GetHistorySince added in v1.1.0

func (c *Client) GetHistorySince(ctx context.Context, date string) ([]HistoryRecord, error)

GetHistorySince returns history since a given date.

func (*Client) GetHostConfig added in v1.1.0

func (c *Client) GetHostConfig(ctx context.Context) (*arr.HostConfigResource, error)

GetHostConfig returns the host configuration.

func (*Client) GetHostConfigByID added in v1.1.0

func (c *Client) GetHostConfigByID(ctx context.Context, id int) (*arr.HostConfigResource, error)

GetHostConfigByID returns the host config by its ID.

func (*Client) GetImportList added in v1.1.0

func (c *Client) GetImportList(ctx context.Context, id int) (*arr.ProviderResource, error)

GetImportList returns a single import list by its ID.

func (*Client) GetImportListExclusion added in v1.1.0

func (c *Client) GetImportListExclusion(ctx context.Context, id int) (*ImportListExclusion, error)

GetImportListExclusion returns a single import list exclusion by its ID.

func (*Client) GetImportListExclusions

func (c *Client) GetImportListExclusions(ctx context.Context) ([]ImportListExclusion, error)

GetImportListExclusions returns all import list exclusions.

func (*Client) GetImportListSchema added in v1.1.0

func (c *Client) GetImportListSchema(ctx context.Context) ([]arr.ProviderResource, error)

GetImportListSchema returns the schema for all import list types.

func (*Client) GetImportLists added in v1.1.0

func (c *Client) GetImportLists(ctx context.Context) ([]arr.ProviderResource, error)

GetImportLists returns all configured import lists.

func (*Client) GetIndexer added in v1.1.0

func (c *Client) GetIndexer(ctx context.Context, id int) (*arr.ProviderResource, error)

GetIndexer returns a single indexer by its ID.

func (*Client) GetIndexerConfig added in v1.1.0

func (c *Client) GetIndexerConfig(ctx context.Context) (*arr.IndexerConfigResource, error)

GetIndexerConfig returns the indexer configuration.

func (*Client) GetIndexerConfigByID added in v1.1.0

func (c *Client) GetIndexerConfigByID(ctx context.Context, id int) (*arr.IndexerConfigResource, error)

GetIndexerConfigByID returns the indexer config by its ID.

func (*Client) GetIndexerFlags added in v1.1.0

func (c *Client) GetIndexerFlags(ctx context.Context) ([]arr.IndexerFlagResource, error)

GetIndexerFlags returns the list of indexer flags.

func (*Client) GetIndexerSchema added in v1.1.0

func (c *Client) GetIndexerSchema(ctx context.Context) ([]arr.ProviderResource, error)

GetIndexerSchema returns the schema for all indexer types.

func (*Client) GetIndexers added in v1.1.0

func (c *Client) GetIndexers(ctx context.Context) ([]arr.ProviderResource, error)

GetIndexers returns all configured indexers.

func (*Client) GetLanguage added in v1.1.0

func (c *Client) GetLanguage(ctx context.Context, id int) (*arr.LanguageResource, error)

GetLanguage returns a single language by its ID.

func (*Client) GetLanguages added in v1.1.0

func (c *Client) GetLanguages(ctx context.Context) ([]arr.LanguageResource, error)

GetLanguages returns all languages.

func (*Client) GetLocalization added in v1.1.0

func (c *Client) GetLocalization(ctx context.Context) (*LocalizationResource, error)

GetLocalization returns the localization strings.

func (*Client) GetLogFileContent added in v1.1.0

func (c *Client) GetLogFileContent(ctx context.Context, filename string) (string, error)

GetLogFileContent returns the content of a specific log file by filename.

func (*Client) GetLogFiles added in v1.1.0

func (c *Client) GetLogFiles(ctx context.Context) ([]arr.LogFileResource, error)

GetLogFiles returns a list of log files.

func (*Client) GetLogs added in v1.1.0

func (c *Client) GetLogs(ctx context.Context, page, pageSize int) (*arr.PagingResource[arr.LogRecord], error)

GetLogs returns log entries with pagination.

func (*Client) GetManualImport added in v1.1.0

func (c *Client) GetManualImport(ctx context.Context, folder string) ([]arr.ManualImportResource, error)

GetManualImport returns a list of potential imports for the given path.

func (*Client) GetMediaManagementConfig added in v1.1.0

func (c *Client) GetMediaManagementConfig(ctx context.Context) (*arr.MediaManagementConfigResource, error)

GetMediaManagementConfig returns the media management configuration.

func (*Client) GetMediaManagementConfigByID added in v1.1.0

func (c *Client) GetMediaManagementConfigByID(ctx context.Context, id int) (*arr.MediaManagementConfigResource, error)

GetMediaManagementConfigByID returns the media management config by its ID.

func (*Client) GetMetadataConsumer added in v1.1.0

func (c *Client) GetMetadataConsumer(ctx context.Context, id int) (*arr.ProviderResource, error)

GetMetadataConsumer returns a single metadata consumer by its ID.

func (*Client) GetMetadataConsumerSchema added in v1.1.0

func (c *Client) GetMetadataConsumerSchema(ctx context.Context) ([]arr.ProviderResource, error)

GetMetadataConsumerSchema returns the schema for all metadata consumer types.

func (*Client) GetMetadataConsumers added in v1.1.0

func (c *Client) GetMetadataConsumers(ctx context.Context) ([]arr.ProviderResource, error)

GetMetadataConsumers returns all configured metadata consumers.

func (*Client) GetMetadataProfile added in v1.1.0

func (c *Client) GetMetadataProfile(ctx context.Context, id int) (*MetadataProfile, error)

GetMetadataProfile returns a single metadata profile by its ID.

func (*Client) GetMetadataProfileSchema added in v1.1.0

func (c *Client) GetMetadataProfileSchema(ctx context.Context) (*MetadataProfile, error)

GetMetadataProfileSchema returns the metadata profile schema.

func (*Client) GetMetadataProfiles

func (c *Client) GetMetadataProfiles(ctx context.Context) ([]MetadataProfile, error)

GetMetadataProfiles returns all configured metadata profiles.

func (*Client) GetMetadataProviderConfig added in v1.1.0

func (c *Client) GetMetadataProviderConfig(ctx context.Context) (*MetadataProviderConfigResource, error)

GetMetadataProviderConfig returns the metadata provider configuration.

func (*Client) GetMetadataProviderConfigByID added in v1.1.0

func (c *Client) GetMetadataProviderConfigByID(ctx context.Context, id int) (*MetadataProviderConfigResource, error)

GetMetadataProviderConfigByID returns the metadata provider config by its ID.

func (*Client) GetNamingConfig added in v1.1.0

func (c *Client) GetNamingConfig(ctx context.Context) (*arr.NamingConfigResource, error)

GetNamingConfig returns the naming configuration.

func (*Client) GetNamingConfigByID added in v1.1.0

func (c *Client) GetNamingConfigByID(ctx context.Context, id int) (*arr.NamingConfigResource, error)

GetNamingConfigByID returns the naming config by its ID.

func (*Client) GetNamingExamples added in v1.1.0

func (c *Client) GetNamingExamples(ctx context.Context) (*arr.NamingConfigResource, error)

GetNamingExamples returns naming format examples based on the current naming config.

func (*Client) GetNotification added in v1.1.0

func (c *Client) GetNotification(ctx context.Context, id int) (*arr.ProviderResource, error)

GetNotification returns a single notification by its ID.

func (*Client) GetNotificationSchema added in v1.1.0

func (c *Client) GetNotificationSchema(ctx context.Context) ([]arr.ProviderResource, error)

GetNotificationSchema returns the schema for all notification types.

func (*Client) GetNotifications added in v1.1.0

func (c *Client) GetNotifications(ctx context.Context) ([]arr.ProviderResource, error)

GetNotifications returns all configured notifications.

func (*Client) GetQualityDefinition added in v1.1.0

func (c *Client) GetQualityDefinition(ctx context.Context, id int) (*arr.QualityDefinitionResource, error)

GetQualityDefinition returns a single quality definition by its ID.

func (*Client) GetQualityDefinitions added in v1.1.0

func (c *Client) GetQualityDefinitions(ctx context.Context) ([]arr.QualityDefinitionResource, error)

GetQualityDefinitions returns all quality definitions.

func (*Client) GetQualityProfile added in v1.1.0

func (c *Client) GetQualityProfile(ctx context.Context, id int) (*arr.QualityProfile, error)

GetQualityProfile returns a single quality profile by its ID.

func (*Client) GetQualityProfileSchema added in v1.1.0

func (c *Client) GetQualityProfileSchema(ctx context.Context) (*arr.QualityProfile, error)

GetQualityProfileSchema returns the quality profile schema.

func (*Client) GetQualityProfiles

func (c *Client) GetQualityProfiles(ctx context.Context) ([]arr.QualityProfile, error)

GetQualityProfiles returns all configured quality profiles.

func (*Client) GetQueue

func (c *Client) GetQueue(ctx context.Context, page, pageSize int) (*arr.PagingResource[arr.QueueRecord], error)

GetQueue returns the current download queue with pagination.

func (*Client) GetQueueDetails added in v1.1.0

func (c *Client) GetQueueDetails(ctx context.Context) ([]arr.QueueRecord, error)

GetQueueDetails returns detailed information about all items in the queue.

func (*Client) GetQueueStatus added in v1.1.0

func (c *Client) GetQueueStatus(ctx context.Context) (*arr.QueueStatusResource, error)

GetQueueStatus returns the overall status of the download queue.

func (*Client) GetReleaseProfile added in v1.1.0

func (c *Client) GetReleaseProfile(ctx context.Context, id int) (*arr.ReleaseProfileResource, error)

GetReleaseProfile returns a single release profile by its ID.

func (*Client) GetReleaseProfiles added in v1.1.0

func (c *Client) GetReleaseProfiles(ctx context.Context) ([]arr.ReleaseProfileResource, error)

GetReleaseProfiles returns all release profiles.

func (*Client) GetRemotePathMapping added in v1.1.0

func (c *Client) GetRemotePathMapping(ctx context.Context, id int) (*arr.RemotePathMappingResource, error)

GetRemotePathMapping returns a single remote path mapping by its ID.

func (*Client) GetRemotePathMappings added in v1.1.0

func (c *Client) GetRemotePathMappings(ctx context.Context) ([]arr.RemotePathMappingResource, error)

GetRemotePathMappings returns all remote path mappings.

func (*Client) GetRenamePreview added in v1.1.0

func (c *Client) GetRenamePreview(ctx context.Context, authorID, bookID int) ([]RenameBookResource, error)

GetRenamePreview returns a preview of book file renames for an author.

func (*Client) GetRetagPreview added in v1.1.0

func (c *Client) GetRetagPreview(ctx context.Context, authorID, bookID int) ([]RetagBookResource, error)

GetRetagPreview returns a preview of book file retags for an author.

func (*Client) GetRootFolder added in v1.1.0

func (c *Client) GetRootFolder(ctx context.Context, id int) (*arr.RootFolder, error)

GetRootFolder returns a single root folder by its ID.

func (*Client) GetRootFolders

func (c *Client) GetRootFolders(ctx context.Context) ([]arr.RootFolder, error)

GetRootFolders returns all configured root folders.

func (*Client) GetSeries

func (c *Client) GetSeries(ctx context.Context, authorID int) ([]Series, error)

GetSeries returns book series for the given author.

func (*Client) GetSystemRoutes added in v1.1.0

func (c *Client) GetSystemRoutes(ctx context.Context) ([]arr.SystemRouteResource, error)

GetSystemRoutes returns all API routes.

func (*Client) GetSystemRoutesDuplicate added in v1.1.0

func (c *Client) GetSystemRoutesDuplicate(ctx context.Context) ([]arr.SystemRouteResource, error)

GetSystemRoutesDuplicate returns duplicate API routes.

func (*Client) GetSystemStatus

func (c *Client) GetSystemStatus(ctx context.Context) (*arr.StatusResponse, error)

GetSystemStatus returns Readarr system information.

func (*Client) GetTag added in v1.1.0

func (c *Client) GetTag(ctx context.Context, id int) (*arr.Tag, error)

GetTag returns a single tag by its ID.

func (*Client) GetTagDetail added in v1.1.0

func (c *Client) GetTagDetail(ctx context.Context, id int) (*arr.TagDetail, error)

GetTagDetail returns a single tag detail by its ID.

func (*Client) GetTagDetails added in v1.1.0

func (c *Client) GetTagDetails(ctx context.Context) ([]arr.TagDetail, error)

GetTagDetails returns all tags with details about their usage.

func (*Client) GetTags

func (c *Client) GetTags(ctx context.Context) ([]arr.Tag, error)

GetTags returns all tags.

func (*Client) GetTask added in v1.1.0

func (c *Client) GetTask(ctx context.Context, id int) (*arr.TaskResource, error)

GetTask returns a single task by its ID.

func (*Client) GetTasks added in v1.1.0

func (c *Client) GetTasks(ctx context.Context) ([]arr.TaskResource, error)

GetTasks returns all scheduled tasks.

func (*Client) GetUIConfig added in v1.1.0

func (c *Client) GetUIConfig(ctx context.Context) (*arr.UIConfigResource, error)

GetUIConfig returns the UI configuration.

func (*Client) GetUIConfigByID added in v1.1.0

func (c *Client) GetUIConfigByID(ctx context.Context, id int) (*arr.UIConfigResource, error)

GetUIConfigByID returns the UI config by its ID.

func (*Client) GetUpdateLogFileContent added in v1.1.0

func (c *Client) GetUpdateLogFileContent(ctx context.Context, filename string) (string, error)

GetUpdateLogFileContent returns the content of a specific update log file.

func (*Client) GetUpdateLogFiles added in v1.1.0

func (c *Client) GetUpdateLogFiles(ctx context.Context) ([]arr.LogFileResource, error)

GetUpdateLogFiles returns a list of update log files.

func (*Client) GetUpdates added in v1.1.0

func (c *Client) GetUpdates(ctx context.Context) ([]arr.UpdateResource, error)

GetUpdates returns available application updates.

func (*Client) GetWantedCutoff

func (c *Client) GetWantedCutoff(ctx context.Context, page, pageSize int) (*arr.PagingResource[Book], error)

GetWantedCutoff returns books not meeting quality cutoff (paginated).

func (*Client) GetWantedCutoffByID added in v1.1.0

func (c *Client) GetWantedCutoffByID(ctx context.Context, id int) (*Book, error)

GetWantedCutoffByID returns a single wanted cutoff record by its ID.

func (*Client) GetWantedMissing

func (c *Client) GetWantedMissing(ctx context.Context, page, pageSize int) (*arr.PagingResource[Book], error)

GetWantedMissing returns books with missing files (paginated).

func (*Client) GetWantedMissingByID added in v1.1.0

func (c *Client) GetWantedMissingByID(ctx context.Context, id int) (*Book, error)

GetWantedMissingByID returns a single wanted missing record by its ID.

func (*Client) GrabQueueItem added in v1.1.0

func (c *Client) GrabQueueItem(ctx context.Context, id int) error

GrabQueueItem grabs a pending release from the queue by its ID.

func (*Client) GrabQueueItemsBulk added in v1.1.0

func (c *Client) GrabQueueItemsBulk(ctx context.Context, ids []int) error

GrabQueueItemsBulk grabs multiple pending releases from the queue.

func (*Client) GrabRelease added in v1.1.0

func (c *Client) GrabRelease(ctx context.Context, release *arr.ReleaseResource) (*arr.ReleaseResource, error)

GrabRelease grabs a release for download.

func (*Client) HeadPing added in v1.1.0

func (c *Client) HeadPing(ctx context.Context) error

HeadPing performs a lightweight HEAD request to /ping.

func (*Client) ImportListAction added in v1.1.0

func (c *Client) ImportListAction(ctx context.Context, name string, body *arr.ProviderResource) error

ImportListAction triggers a named action on an import list provider.

func (*Client) IndexerAction added in v1.1.0

func (c *Client) IndexerAction(ctx context.Context, name string, body *arr.ProviderResource) error

IndexerAction triggers a named action on an indexer provider.

func (*Client) LookupAuthor

func (c *Client) LookupAuthor(ctx context.Context, term string) ([]Author, error)

LookupAuthor searches for an author by name.

func (*Client) LookupBook

func (c *Client) LookupBook(ctx context.Context, term string) ([]Book, error)

LookupBook searches for a book by term.

func (*Client) MarkHistoryFailed added in v1.1.0

func (c *Client) MarkHistoryFailed(ctx context.Context, id int) error

MarkHistoryFailed marks a history item as failed.

func (*Client) MetadataConsumerAction added in v1.1.0

func (c *Client) MetadataConsumerAction(ctx context.Context, name string, body *arr.ProviderResource) error

MetadataConsumerAction triggers a named action on a metadata consumer provider.

func (*Client) MonitorBooks

func (c *Client) MonitorBooks(ctx context.Context, req *BooksMonitoredResource) error

MonitorBooks sets the monitored status for a list of books.

func (*Client) NotificationAction added in v1.1.0

func (c *Client) NotificationAction(ctx context.Context, name string, body *arr.ProviderResource) error

NotificationAction triggers a named action on a notification provider.

func (*Client) Parse

func (c *Client) Parse(ctx context.Context, title string) (*ParseResult, error)

Parse parses a release title and returns the extracted information.

func (*Client) Ping added in v1.1.0

func (c *Client) Ping(ctx context.Context) error

Ping checks connectivity to the Readarr instance.

func (*Client) PushRelease added in v1.1.0

func (c *Client) PushRelease(ctx context.Context, release *arr.ReleasePushResource) ([]arr.ReleaseResource, error)

PushRelease pushes a release to the download client.

func (*Client) ReorderDelayProfile added in v1.1.0

func (c *Client) ReorderDelayProfile(ctx context.Context, id, afterID int) ([]arr.DelayProfileResource, error)

ReorderDelayProfile changes the order of a delay profile.

func (*Client) ReprocessManualImport added in v1.1.0

func (c *Client) ReprocessManualImport(ctx context.Context, items []arr.ManualImportReprocessResource) ([]arr.ManualImportResource, error)

ReprocessManualImport reprocesses manual imports.

func (*Client) Restart added in v1.1.0

func (c *Client) Restart(ctx context.Context) error

Restart sends a restart command to Readarr.

func (*Client) RestoreBackup added in v1.1.0

func (c *Client) RestoreBackup(ctx context.Context, id int) error

RestoreBackup triggers a restore from a backup by ID.

func (*Client) Search added in v1.1.0

func (c *Client) Search(ctx context.Context, term string) ([]Author, error)

Search searches for authors and books by term.

func (*Client) SearchReleases added in v1.1.0

func (c *Client) SearchReleases(ctx context.Context, bookID int) ([]arr.ReleaseResource, error)

SearchReleases searches for releases using the configured indexers.

func (*Client) SendCommand

func (c *Client) SendCommand(ctx context.Context, cmd arr.CommandRequest) (*arr.CommandResponse, error)

SendCommand triggers a named command (e.g. "RefreshAuthor", "BookSearch").

func (*Client) Shutdown added in v1.1.0

func (c *Client) Shutdown(ctx context.Context) error

Shutdown sends a shutdown command to Readarr.

func (*Client) TestAllDownloadClients added in v1.1.0

func (c *Client) TestAllDownloadClients(ctx context.Context) error

TestAllDownloadClients tests all configured download clients.

func (*Client) TestAllImportLists added in v1.1.0

func (c *Client) TestAllImportLists(ctx context.Context) error

TestAllImportLists tests all configured import lists.

func (*Client) TestAllIndexers added in v1.1.0

func (c *Client) TestAllIndexers(ctx context.Context) error

TestAllIndexers tests all configured indexers.

func (*Client) TestAllMetadataConsumers added in v1.1.0

func (c *Client) TestAllMetadataConsumers(ctx context.Context) error

TestAllMetadataConsumers tests all configured metadata consumers.

func (*Client) TestAllNotifications added in v1.1.0

func (c *Client) TestAllNotifications(ctx context.Context) error

TestAllNotifications tests all configured notifications.

func (*Client) TestDownloadClient added in v1.1.0

func (c *Client) TestDownloadClient(ctx context.Context, dc *arr.ProviderResource) error

TestDownloadClient tests a download client configuration.

func (*Client) TestImportList added in v1.1.0

func (c *Client) TestImportList(ctx context.Context, il *arr.ProviderResource) error

TestImportList tests an import list configuration.

func (*Client) TestIndexer added in v1.1.0

func (c *Client) TestIndexer(ctx context.Context, idx *arr.ProviderResource) error

TestIndexer tests an indexer configuration.

func (*Client) TestMetadataConsumer added in v1.1.0

func (c *Client) TestMetadataConsumer(ctx context.Context, m *arr.ProviderResource) error

TestMetadataConsumer tests a metadata consumer configuration.

func (*Client) TestNotification added in v1.1.0

func (c *Client) TestNotification(ctx context.Context, n *arr.ProviderResource) error

TestNotification tests a notification configuration.

func (*Client) UpdateAuthor

func (c *Client) UpdateAuthor(ctx context.Context, author *Author, moveFiles bool) (*Author, error)

UpdateAuthor updates an existing author. Set moveFiles to true to relocate files when the author path changes.

func (*Client) UpdateBook

func (c *Client) UpdateBook(ctx context.Context, book *Book) (*Book, error)

UpdateBook updates an existing book.

func (*Client) UpdateBookFile added in v1.1.0

func (c *Client) UpdateBookFile(ctx context.Context, file *BookFile) (*BookFile, error)

UpdateBookFile updates a single book file.

func (*Client) UpdateCustomFilter added in v1.1.0

func (c *Client) UpdateCustomFilter(ctx context.Context, filter *arr.CustomFilterResource) (*arr.CustomFilterResource, error)

UpdateCustomFilter updates an existing custom filter.

func (*Client) UpdateCustomFormat added in v1.1.0

func (c *Client) UpdateCustomFormat(ctx context.Context, format *arr.CustomFormatResource) (*arr.CustomFormatResource, error)

UpdateCustomFormat updates an existing custom format.

func (*Client) UpdateDelayProfile added in v1.1.0

func (c *Client) UpdateDelayProfile(ctx context.Context, profile *arr.DelayProfileResource) (*arr.DelayProfileResource, error)

UpdateDelayProfile updates an existing delay profile.

func (*Client) UpdateDevelopmentConfig added in v1.1.0

func (c *Client) UpdateDevelopmentConfig(ctx context.Context, config *DevelopmentConfigResource) (*DevelopmentConfigResource, error)

UpdateDevelopmentConfig updates the development configuration.

func (*Client) UpdateDownloadClient added in v1.1.0

func (c *Client) UpdateDownloadClient(ctx context.Context, dc *arr.ProviderResource) (*arr.ProviderResource, error)

UpdateDownloadClient updates an existing download client.

func (*Client) UpdateDownloadClientConfig added in v1.1.0

func (c *Client) UpdateDownloadClientConfig(ctx context.Context, config *arr.DownloadClientConfigResource) (*arr.DownloadClientConfigResource, error)

UpdateDownloadClientConfig updates the download client configuration.

func (*Client) UpdateHostConfig added in v1.1.0

func (c *Client) UpdateHostConfig(ctx context.Context, config *arr.HostConfigResource) (*arr.HostConfigResource, error)

UpdateHostConfig updates the host configuration.

func (*Client) UpdateImportList added in v1.1.0

func (c *Client) UpdateImportList(ctx context.Context, il *arr.ProviderResource) (*arr.ProviderResource, error)

UpdateImportList updates an existing import list.

func (*Client) UpdateImportListExclusion added in v1.1.0

func (c *Client) UpdateImportListExclusion(ctx context.Context, exclusion *ImportListExclusion) (*ImportListExclusion, error)

UpdateImportListExclusion updates an existing import list exclusion.

func (*Client) UpdateIndexer added in v1.1.0

func (c *Client) UpdateIndexer(ctx context.Context, idx *arr.ProviderResource) (*arr.ProviderResource, error)

UpdateIndexer updates an existing indexer.

func (*Client) UpdateIndexerConfig added in v1.1.0

func (c *Client) UpdateIndexerConfig(ctx context.Context, config *arr.IndexerConfigResource) (*arr.IndexerConfigResource, error)

UpdateIndexerConfig updates the indexer configuration.

func (*Client) UpdateMediaManagementConfig added in v1.1.0

func (c *Client) UpdateMediaManagementConfig(ctx context.Context, config *arr.MediaManagementConfigResource) (*arr.MediaManagementConfigResource, error)

UpdateMediaManagementConfig updates the media management configuration.

func (*Client) UpdateMetadataConsumer added in v1.1.0

func (c *Client) UpdateMetadataConsumer(ctx context.Context, m *arr.ProviderResource) (*arr.ProviderResource, error)

UpdateMetadataConsumer updates an existing metadata consumer.

func (*Client) UpdateMetadataProfile added in v1.1.0

func (c *Client) UpdateMetadataProfile(ctx context.Context, profile *MetadataProfile) (*MetadataProfile, error)

UpdateMetadataProfile updates an existing metadata profile.

func (*Client) UpdateMetadataProviderConfig added in v1.1.0

func (c *Client) UpdateMetadataProviderConfig(ctx context.Context, config *MetadataProviderConfigResource) (*MetadataProviderConfigResource, error)

UpdateMetadataProviderConfig updates the metadata provider configuration.

func (*Client) UpdateNamingConfig added in v1.1.0

func (c *Client) UpdateNamingConfig(ctx context.Context, config *arr.NamingConfigResource) (*arr.NamingConfigResource, error)

UpdateNamingConfig updates the naming configuration.

func (*Client) UpdateNotification added in v1.1.0

func (c *Client) UpdateNotification(ctx context.Context, n *arr.ProviderResource) (*arr.ProviderResource, error)

UpdateNotification updates an existing notification.

func (*Client) UpdateQualityDefinition added in v1.1.0

func (c *Client) UpdateQualityDefinition(ctx context.Context, def *arr.QualityDefinitionResource) (*arr.QualityDefinitionResource, error)

UpdateQualityDefinition updates a single quality definition.

func (*Client) UpdateQualityProfile added in v1.1.0

func (c *Client) UpdateQualityProfile(ctx context.Context, profile *arr.QualityProfile) (*arr.QualityProfile, error)

UpdateQualityProfile updates an existing quality profile.

func (*Client) UpdateReleaseProfile added in v1.1.0

func (c *Client) UpdateReleaseProfile(ctx context.Context, profile *arr.ReleaseProfileResource) (*arr.ReleaseProfileResource, error)

UpdateReleaseProfile updates an existing release profile.

func (*Client) UpdateRemotePathMapping added in v1.1.0

func (c *Client) UpdateRemotePathMapping(ctx context.Context, mapping *arr.RemotePathMappingResource) (*arr.RemotePathMappingResource, error)

UpdateRemotePathMapping updates an existing remote path mapping.

func (*Client) UpdateRootFolder added in v1.1.0

func (c *Client) UpdateRootFolder(ctx context.Context, folder *arr.RootFolder) (*arr.RootFolder, error)

UpdateRootFolder updates an existing root folder.

func (*Client) UpdateTag added in v1.1.0

func (c *Client) UpdateTag(ctx context.Context, tag *arr.Tag) (*arr.Tag, error)

UpdateTag updates an existing tag.

func (*Client) UpdateUIConfig added in v1.1.0

func (c *Client) UpdateUIConfig(ctx context.Context, config *arr.UIConfigResource) (*arr.UIConfigResource, error)

UpdateUIConfig updates the UI configuration.

func (*Client) UploadBackup added in v1.1.0

func (c *Client) UploadBackup(ctx context.Context, fileName string, data io.Reader) error

UploadBackup uploads a backup file via multipart form POST.

type CustomFormat

type CustomFormat struct {
	ID   int    `json:"id"`
	Name string `json:"name"`
}

CustomFormat describes a custom format definition.

type DevelopmentConfigResource added in v1.1.0

type DevelopmentConfigResource struct {
	ID                 int    `json:"id"`
	MetadataSource     string `json:"metadataSource,omitempty"`
	ConsoleLogLevel    string `json:"consoleLogLevel,omitempty"`
	LogSQL             bool   `json:"logSql"`
	LogRotate          int    `json:"logRotate"`
	FilterSentryEvents bool   `json:"filterSentryEvents"`
}

DevelopmentConfigResource holds development configuration.

type Edition

type Edition struct {
	ID               int     `json:"id"`
	BookID           int     `json:"bookId"`
	ForeignEditionID string  `json:"foreignEditionId"`
	TitleSlug        string  `json:"titleSlug,omitempty"`
	ISBN13           string  `json:"isbn13,omitempty"`
	ASIN             string  `json:"asin,omitempty"`
	Title            string  `json:"title"`
	Language         string  `json:"language,omitempty"`
	Overview         string  `json:"overview,omitempty"`
	Format           string  `json:"format,omitempty"`
	IsEbook          bool    `json:"isEbook"`
	Disambiguation   string  `json:"disambiguation,omitempty"`
	Publisher        string  `json:"publisher,omitempty"`
	PageCount        int     `json:"pageCount,omitempty"`
	ReleaseDate      string  `json:"releaseDate,omitempty"`
	Images           []Image `json:"images,omitempty"`
	Links            []Link  `json:"links,omitempty"`
	Ratings          Ratings `json:"ratings,omitempty"`
	Monitored        bool    `json:"monitored"`
	ManualAdd        bool    `json:"manualAdd"`
	RemoteCover      string  `json:"remoteCover,omitempty"`
}

Edition represents a specific edition of a book (hardcover, paperback, ebook, etc.).

type FileSystemEntry added in v1.1.0

type FileSystemEntry struct {
	Type         string `json:"type,omitempty"`
	Name         string `json:"name,omitempty"`
	Path         string `json:"path,omitempty"`
	Size         int64  `json:"size,omitempty"`
	LastModified string `json:"lastModified,omitempty"`
}

FileSystemEntry represents a single directory or file entry.

type FileSystemResource added in v1.1.0

type FileSystemResource struct {
	Directories []FileSystemEntry `json:"directories,omitempty"`
	Files       []FileSystemEntry `json:"files,omitempty"`
	Parent      string            `json:"parent,omitempty"`
}

FileSystemResource represents a filesystem browse response.

type HistoryRecord

type HistoryRecord struct {
	ID                  int               `json:"id"`
	BookID              int               `json:"bookId"`
	AuthorID            int               `json:"authorId"`
	SourceTitle         string            `json:"sourceTitle"`
	Quality             QualityModel      `json:"quality"`
	CustomFormats       []CustomFormat    `json:"customFormats,omitempty"`
	CustomFormatScore   int               `json:"customFormatScore"`
	QualityCutoffNotMet bool              `json:"qualityCutoffNotMet"`
	Date                string            `json:"date"`
	DownloadID          string            `json:"downloadId,omitempty"`
	EventType           string            `json:"eventType"`
	Data                map[string]string `json:"data,omitempty"`
}

HistoryRecord represents an event in the download history.

type Image

type Image struct {
	CoverType string `json:"coverType"`
	URL       string `json:"url"`
	RemoteURL string `json:"remoteUrl,omitempty"`
}

Image represents a cover image for a media item.

type ImportListExclusion

type ImportListExclusion struct {
	ID         int    `json:"id"`
	ForeignID  string `json:"foreignId,omitempty"`
	AuthorName string `json:"authorName,omitempty"`
}

ImportListExclusion represents an author excluded from import lists.

type Link struct {
	URL  string `json:"url"`
	Name string `json:"name"`
}

Link represents a web link for an author or book.

type LocalizationResource added in v1.1.0

type LocalizationResource struct {
	ID      int               `json:"id"`
	Strings map[string]string `json:"strings,omitempty"`
}

LocalizationResource represents localization string data.

type MetadataProfile

type MetadataProfile struct {
	ID   int    `json:"id"`
	Name string `json:"name"`
}

MetadataProfile describes a metadata profile for filtering book types.

type MetadataProviderConfigResource added in v1.1.0

type MetadataProviderConfigResource struct {
	ID             int    `json:"id"`
	WriteAudioTags string `json:"writeAudioTags,omitempty"`
	ScrubAudioTags bool   `json:"scrubAudioTags"`
	WriteBookTags  string `json:"writeBookTags,omitempty"`
	UpdateCovers   bool   `json:"updateCovers"`
	EmbedMetadata  bool   `json:"embedMetadata"`
}

MetadataProviderConfigResource holds metadata provider configuration.

type MonitoringOptions added in v1.1.0

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

MonitoringOptions controls what to monitor when adding or updating.

type ParseResult

type ParseResult struct {
	ID             int             `json:"id"`
	Title          string          `json:"title"`
	ParsedBookInfo *ParsedBookInfo `json:"parsedBookInfo,omitempty"`
	Author         *Author         `json:"author,omitempty"`
	Books          []Book          `json:"books,omitempty"`
}

ParseResult contains the result of parsing a release title.

type ParsedBookInfo

type ParsedBookInfo struct {
	BookTitle        string       `json:"bookTitle,omitempty"`
	AuthorName       string       `json:"authorName,omitempty"`
	Quality          QualityModel `json:"quality"`
	ReleaseDate      string       `json:"releaseDate,omitempty"`
	Discography      bool         `json:"discography"`
	DiscographyStart int          `json:"discographyStart,omitempty"`
	DiscographyEnd   int          `json:"discographyEnd,omitempty"`
	ReleaseGroup     string       `json:"releaseGroup,omitempty"`
	ReleaseHash      string       `json:"releaseHash,omitempty"`
	ReleaseVersion   string       `json:"releaseVersion,omitempty"`
}

ParsedBookInfo holds the structured data extracted from a release title.

type Quality

type Quality struct {
	ID   int    `json:"id"`
	Name string `json:"name"`
}

Quality identifies a quality tier.

type QualityModel

type QualityModel struct {
	Quality  Quality  `json:"quality"`
	Revision Revision `json:"revision"`
}

QualityModel pairs a quality definition with its revision.

type Ratings

type Ratings struct {
	Votes int     `json:"votes"`
	Value float64 `json:"value"`
}

Ratings holds community rating data.

type RenameBookResource added in v1.1.0

type RenameBookResource struct {
	ID           int    `json:"id"`
	AuthorID     int    `json:"authorId"`
	BookID       int    `json:"bookId"`
	BookFileID   int    `json:"bookFileId"`
	ExistingPath string `json:"existingPath,omitempty"`
	NewPath      string `json:"newPath,omitempty"`
}

RenameBookResource represents a rename preview for a book file.

type RetagBookResource added in v1.1.0

type RetagBookResource struct {
	ID           int             `json:"id"`
	AuthorID     int             `json:"authorId"`
	BookID       int             `json:"bookId"`
	TrackNumbers []int           `json:"trackNumbers,omitempty"`
	BookFileID   int             `json:"bookFileId"`
	Path         string          `json:"path,omitempty"`
	Changes      []TagDifference `json:"changes,omitempty"`
}

RetagBookResource represents a retag preview for a book file.

type Revision

type Revision struct {
	Version  int  `json:"version"`
	Real     int  `json:"real"`
	IsRepack bool `json:"isRepack"`
}

Revision tracks repack and version information for a release.

type Series

type Series struct {
	ID          int    `json:"id"`
	Title       string `json:"title"`
	Description string `json:"description,omitempty"`
}

Series represents a book series (e.g. "Harry Potter").

type TagDifference added in v1.1.0

type TagDifference struct {
	Field    string `json:"field,omitempty"`
	OldValue string `json:"oldValue,omitempty"`
	NewValue string `json:"newValue,omitempty"`
}

TagDifference represents a single tag change.

Jump to

Keyboard shortcuts

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