Skip to content

devopsarr/lidarr-go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Go API client for lidarr

Lidarr API docs

Overview

This API client was generated by the OpenAPI Generator project. By using the OpenAPI-spec from a remote server, you can easily generate an API client.

  • API version: v2.2.5.4141
  • Package version: 1.1.0
  • Generator version: 7.5.0
  • Build package: org.openapitools.codegen.languages.GoClientCodegen

Installation

Install the following dependencies:

go get github.com/stretchr/testify/assert
go get golang.org/x/net/context

Put the package under your project folder and add the following in import:

import lidarr "github.com/devopsarr/lidarr-go/lidarr"

To use a proxy, set the environment variable HTTP_PROXY:

os.Setenv("HTTP_PROXY", "http://proxy_name:proxy_port")

Configuration of Server URL

Default configuration comes with Servers field that contains server objects as defined in the OpenAPI specification.

Select Server Configuration

For using other server than the one defined on index 0 set context value lidarr.ContextServerIndex of type int.

ctx := context.WithValue(context.Background(), lidarr.ContextServerIndex, 1)

Templated Server URL

Templated server URL is formatted using default variables from configuration or from context value lidarr.ContextServerVariables of type map[string]string.

ctx := context.WithValue(context.Background(), lidarr.ContextServerVariables, map[string]string{
	"basePath": "v2",
})

Note, enum values are always validated and all unused variables are silently ignored.

URLs Configuration per Operation

Each operation can use different server URL defined using OperationServers map in the Configuration. An operation is uniquely identified by "{classname}Service.{nickname}" string. Similar rules for overriding default operation server index and variables applies by using lidarr.ContextOperationServerIndices and lidarr.ContextOperationServerVariables context maps.

ctx := context.WithValue(context.Background(), lidarr.ContextOperationServerIndices, map[string]int{
	"{classname}Service.{nickname}": 2,
})
ctx = context.WithValue(context.Background(), lidarr.ContextOperationServerVariables, map[string]map[string]string{
	"{classname}Service.{nickname}": {
		"port": "8443",
	},
})

Documentation for API Endpoints

All URIs are relative to http://localhost:8686

Class Method HTTP request Description
AlbumAPI CreateAlbum Post /api/v1/album
AlbumAPI DeleteAlbum Delete /api/v1/album/{id}
AlbumAPI GetAlbumById Get /api/v1/album/{id}
AlbumAPI ListAlbum Get /api/v1/album
AlbumAPI PutAlbumMonitor Put /api/v1/album/monitor
AlbumAPI UpdateAlbum Put /api/v1/album/{id}
AlbumLookupAPI GetAlbumLookup Get /api/v1/album/lookup
AlbumStudioAPI CreateAlbumStudio Post /api/v1/albumstudio
ApiInfoAPI GetApi Get /api
ArtistAPI CreateArtist Post /api/v1/artist
ArtistAPI DeleteArtist Delete /api/v1/artist/{id}
ArtistAPI GetArtistById Get /api/v1/artist/{id}
ArtistAPI ListArtist Get /api/v1/artist
ArtistAPI UpdateArtist Put /api/v1/artist/{id}
ArtistEditorAPI DeleteArtistEditor Delete /api/v1/artist/editor
ArtistEditorAPI PutArtistEditor Put /api/v1/artist/editor
ArtistLookupAPI GetArtistLookup Get /api/v1/artist/lookup
AuthenticationAPI CreateLogin Post /login
AuthenticationAPI GetLogout Get /logout
AutoTaggingAPI CreateAutoTagging Post /api/v1/autotagging
AutoTaggingAPI DeleteAutoTagging Delete /api/v1/autotagging/{id}
AutoTaggingAPI GetAutoTaggingById Get /api/v1/autotagging/{id}
AutoTaggingAPI ListAutoTagging Get /api/v1/autotagging
AutoTaggingAPI ListAutoTaggingSchema Get /api/v1/autotagging/schema
AutoTaggingAPI UpdateAutoTagging Put /api/v1/autotagging/{id}
BackupAPI CreateSystemBackupRestoreById Post /api/v1/system/backup/restore/{id}
BackupAPI CreateSystemBackupRestoreUpload Post /api/v1/system/backup/restore/upload
BackupAPI DeleteSystemBackup Delete /api/v1/system/backup/{id}
BackupAPI ListSystemBackup Get /api/v1/system/backup
BlocklistAPI DeleteBlocklist Delete /api/v1/blocklist/{id}
BlocklistAPI DeleteBlocklistBulk Delete /api/v1/blocklist/bulk
BlocklistAPI GetBlocklist Get /api/v1/blocklist
CalendarAPI GetCalendarById Get /api/v1/calendar/{id}
CalendarAPI ListCalendar Get /api/v1/calendar
CalendarFeedAPI GetFeedV1CalendarLidarrIcs Get /feed/v1/calendar/lidarr.ics
CommandAPI CreateCommand Post /api/v1/command
CommandAPI DeleteCommand Delete /api/v1/command/{id}
CommandAPI GetCommandById Get /api/v1/command/{id}
CommandAPI ListCommand Get /api/v1/command
CustomFilterAPI CreateCustomFilter Post /api/v1/customfilter
CustomFilterAPI DeleteCustomFilter Delete /api/v1/customfilter/{id}
CustomFilterAPI GetCustomFilterById Get /api/v1/customfilter/{id}
CustomFilterAPI ListCustomFilter Get /api/v1/customfilter
CustomFilterAPI UpdateCustomFilter Put /api/v1/customfilter/{id}
CustomFormatAPI CreateCustomFormat Post /api/v1/customformat
CustomFormatAPI DeleteCustomFormat Delete /api/v1/customformat/{id}
CustomFormatAPI GetCustomFormatById Get /api/v1/customformat/{id}
CustomFormatAPI ListCustomFormat Get /api/v1/customformat
CustomFormatAPI ListCustomFormatSchema Get /api/v1/customformat/schema
CustomFormatAPI UpdateCustomFormat Put /api/v1/customformat/{id}
CutoffAPI GetWantedCutoff Get /api/v1/wanted/cutoff
CutoffAPI GetWantedCutoffById Get /api/v1/wanted/cutoff/{id}
DelayProfileAPI CreateDelayProfile Post /api/v1/delayprofile
DelayProfileAPI DeleteDelayProfile Delete /api/v1/delayprofile/{id}
DelayProfileAPI GetDelayProfileById Get /api/v1/delayprofile/{id}
DelayProfileAPI ListDelayProfile Get /api/v1/delayprofile
DelayProfileAPI UpdateDelayProfile Put /api/v1/delayprofile/{id}
DelayProfileAPI UpdateDelayProfileReorder Put /api/v1/delayprofile/reorder/{id}
DiskSpaceAPI ListDiskSpace Get /api/v1/diskspace
DownloadClientAPI CreateDownloadClient Post /api/v1/downloadclient
DownloadClientAPI CreateDownloadClientActionByName Post /api/v1/downloadclient/action/{name}
DownloadClientAPI DeleteDownloadClient Delete /api/v1/downloadclient/{id}
DownloadClientAPI DeleteDownloadClientBulk Delete /api/v1/downloadclient/bulk
DownloadClientAPI GetDownloadClientById Get /api/v1/downloadclient/{id}
DownloadClientAPI ListDownloadClient Get /api/v1/downloadclient
DownloadClientAPI ListDownloadClientSchema Get /api/v1/downloadclient/schema
DownloadClientAPI PutDownloadClientBulk Put /api/v1/downloadclient/bulk
DownloadClientAPI TestDownloadClient Post /api/v1/downloadclient/test
DownloadClientAPI TestallDownloadClient Post /api/v1/downloadclient/testall
DownloadClientAPI UpdateDownloadClient Put /api/v1/downloadclient/{id}
DownloadClientConfigAPI GetDownloadClientConfig Get /api/v1/config/downloadclient
DownloadClientConfigAPI GetDownloadClientConfigById Get /api/v1/config/downloadclient/{id}
DownloadClientConfigAPI UpdateDownloadClientConfig Put /api/v1/config/downloadclient/{id}
FileSystemAPI GetFileSystem Get /api/v1/filesystem
FileSystemAPI GetFileSystemMediafiles Get /api/v1/filesystem/mediafiles
FileSystemAPI GetFileSystemType Get /api/v1/filesystem/type
HealthAPI ListHealth Get /api/v1/health
HistoryAPI CreateHistoryFailedById Post /api/v1/history/failed/{id}
HistoryAPI GetHistory Get /api/v1/history
HistoryAPI ListHistoryArtist Get /api/v1/history/artist
HistoryAPI ListHistorySince Get /api/v1/history/since
HostConfigAPI GetHostConfig Get /api/v1/config/host
HostConfigAPI GetHostConfigById Get /api/v1/config/host/{id}
HostConfigAPI UpdateHostConfig Put /api/v1/config/host/{id}
ImportListAPI CreateImportList Post /api/v1/importlist
ImportListAPI CreateImportListActionByName Post /api/v1/importlist/action/{name}
ImportListAPI DeleteImportList Delete /api/v1/importlist/{id}
ImportListAPI DeleteImportListBulk Delete /api/v1/importlist/bulk
ImportListAPI GetImportListById Get /api/v1/importlist/{id}
ImportListAPI ListImportList Get /api/v1/importlist
ImportListAPI ListImportListSchema Get /api/v1/importlist/schema
ImportListAPI PutImportListBulk Put /api/v1/importlist/bulk
ImportListAPI TestImportList Post /api/v1/importlist/test
ImportListAPI TestallImportList Post /api/v1/importlist/testall
ImportListAPI UpdateImportList Put /api/v1/importlist/{id}
ImportListExclusionAPI CreateImportListExclusion Post /api/v1/importlistexclusion
ImportListExclusionAPI DeleteImportListExclusion Delete /api/v1/importlistexclusion/{id}
ImportListExclusionAPI GetImportListExclusionById Get /api/v1/importlistexclusion/{id}
ImportListExclusionAPI ListImportListExclusion Get /api/v1/importlistexclusion
ImportListExclusionAPI UpdateImportListExclusion Put /api/v1/importlistexclusion/{id}
IndexerAPI CreateIndexer Post /api/v1/indexer
IndexerAPI CreateIndexerActionByName Post /api/v1/indexer/action/{name}
IndexerAPI DeleteIndexer Delete /api/v1/indexer/{id}
IndexerAPI DeleteIndexerBulk Delete /api/v1/indexer/bulk
IndexerAPI GetIndexerById Get /api/v1/indexer/{id}
IndexerAPI ListIndexer Get /api/v1/indexer
IndexerAPI ListIndexerSchema Get /api/v1/indexer/schema
IndexerAPI PutIndexerBulk Put /api/v1/indexer/bulk
IndexerAPI TestIndexer Post /api/v1/indexer/test
IndexerAPI TestallIndexer Post /api/v1/indexer/testall
IndexerAPI UpdateIndexer Put /api/v1/indexer/{id}
IndexerConfigAPI GetIndexerConfig Get /api/v1/config/indexer
IndexerConfigAPI GetIndexerConfigById Get /api/v1/config/indexer/{id}
IndexerConfigAPI UpdateIndexerConfig Put /api/v1/config/indexer/{id}
IndexerFlagAPI ListIndexerFlag Get /api/v1/indexerflag
LanguageAPI GetLanguageById Get /api/v1/language/{id}
LanguageAPI ListLanguage Get /api/v1/language
LocalizationAPI GetLocalization Get /api/v1/localization
LogAPI GetLog Get /api/v1/log
LogFileAPI GetLogFileByFilename Get /api/v1/log/file/{filename}
LogFileAPI ListLogFile Get /api/v1/log/file
ManualImportAPI CreateManualImport Post /api/v1/manualimport
ManualImportAPI ListManualImport Get /api/v1/manualimport
MediaCoverAPI GetMediaCoverAlbumByFilename Get /api/v1/mediacover/album/{albumId}/{filename}
MediaCoverAPI GetMediaCoverArtistByFilename Get /api/v1/mediacover/artist/{artistId}/{filename}
MediaManagementConfigAPI GetMediaManagementConfig Get /api/v1/config/mediamanagement
MediaManagementConfigAPI GetMediaManagementConfigById Get /api/v1/config/mediamanagement/{id}
MediaManagementConfigAPI UpdateMediaManagementConfig Put /api/v1/config/mediamanagement/{id}
MetadataAPI CreateMetadata Post /api/v1/metadata
MetadataAPI CreateMetadataActionByName Post /api/v1/metadata/action/{name}
MetadataAPI DeleteMetadata Delete /api/v1/metadata/{id}
MetadataAPI GetMetadataById Get /api/v1/metadata/{id}
MetadataAPI ListMetadata Get /api/v1/metadata
MetadataAPI ListMetadataSchema Get /api/v1/metadata/schema
MetadataAPI TestMetadata Post /api/v1/metadata/test
MetadataAPI TestallMetadata Post /api/v1/metadata/testall
MetadataAPI UpdateMetadata Put /api/v1/metadata/{id}
MetadataProfileAPI CreateMetadataProfile Post /api/v1/metadataprofile
MetadataProfileAPI DeleteMetadataProfile Delete /api/v1/metadataprofile/{id}
MetadataProfileAPI GetMetadataProfileById Get /api/v1/metadataprofile/{id}
MetadataProfileAPI ListMetadataProfile Get /api/v1/metadataprofile
MetadataProfileAPI UpdateMetadataProfile Put /api/v1/metadataprofile/{id}
MetadataProfileSchemaAPI GetMetadataprofileSchema Get /api/v1/metadataprofile/schema
MetadataProviderConfigAPI GetMetadataProviderConfig Get /api/v1/config/metadataprovider
MetadataProviderConfigAPI GetMetadataProviderConfigById Get /api/v1/config/metadataprovider/{id}
MetadataProviderConfigAPI UpdateMetadataProviderConfig Put /api/v1/config/metadataprovider/{id}
MissingAPI GetWantedMissing Get /api/v1/wanted/missing
MissingAPI GetWantedMissingById Get /api/v1/wanted/missing/{id}
NamingConfigAPI GetNamingConfig Get /api/v1/config/naming
NamingConfigAPI GetNamingConfigById Get /api/v1/config/naming/{id}
NamingConfigAPI GetNamingConfigExamples Get /api/v1/config/naming/examples
NamingConfigAPI UpdateNamingConfig Put /api/v1/config/naming/{id}
NotificationAPI CreateNotification Post /api/v1/notification
NotificationAPI CreateNotificationActionByName Post /api/v1/notification/action/{name}
NotificationAPI DeleteNotification Delete /api/v1/notification/{id}
NotificationAPI GetNotificationById Get /api/v1/notification/{id}
NotificationAPI ListNotification Get /api/v1/notification
NotificationAPI ListNotificationSchema Get /api/v1/notification/schema
NotificationAPI TestNotification Post /api/v1/notification/test
NotificationAPI TestallNotification Post /api/v1/notification/testall
NotificationAPI UpdateNotification Put /api/v1/notification/{id}
ParseAPI GetParse Get /api/v1/parse
PingAPI GetPing Get /ping
PingAPI HeadPing Head /ping
QualityDefinitionAPI GetQualityDefinitionById Get /api/v1/qualitydefinition/{id}
QualityDefinitionAPI ListQualityDefinition Get /api/v1/qualitydefinition
QualityDefinitionAPI PutQualityDefinitionUpdate Put /api/v1/qualitydefinition/update
QualityDefinitionAPI UpdateQualityDefinition Put /api/v1/qualitydefinition/{id}
QualityProfileAPI CreateQualityProfile Post /api/v1/qualityprofile
QualityProfileAPI DeleteQualityProfile Delete /api/v1/qualityprofile/{id}
QualityProfileAPI GetQualityProfileById Get /api/v1/qualityprofile/{id}
QualityProfileAPI ListQualityProfile Get /api/v1/qualityprofile
QualityProfileAPI UpdateQualityProfile Put /api/v1/qualityprofile/{id}
QualityProfileSchemaAPI GetQualityprofileSchema Get /api/v1/qualityprofile/schema
QueueAPI DeleteQueue Delete /api/v1/queue/{id}
QueueAPI DeleteQueueBulk Delete /api/v1/queue/bulk
QueueAPI GetQueue Get /api/v1/queue
QueueActionAPI CreateQueueGrabBulk Post /api/v1/queue/grab/bulk
QueueActionAPI CreateQueueGrabById Post /api/v1/queue/grab/{id}
QueueDetailsAPI ListQueueDetails Get /api/v1/queue/details
QueueStatusAPI GetQueueStatus Get /api/v1/queue/status
ReleaseAPI CreateRelease Post /api/v1/release
ReleaseAPI ListRelease Get /api/v1/release
ReleaseProfileAPI CreateReleaseProfile Post /api/v1/releaseprofile
ReleaseProfileAPI DeleteReleaseProfile Delete /api/v1/releaseprofile/{id}
ReleaseProfileAPI GetReleaseProfileById Get /api/v1/releaseprofile/{id}
ReleaseProfileAPI ListReleaseProfile Get /api/v1/releaseprofile
ReleaseProfileAPI UpdateReleaseProfile Put /api/v1/releaseprofile/{id}
ReleasePushAPI CreateReleasePush Post /api/v1/release/push
RemotePathMappingAPI CreateRemotePathMapping Post /api/v1/remotepathmapping
RemotePathMappingAPI DeleteRemotePathMapping Delete /api/v1/remotepathmapping/{id}
RemotePathMappingAPI GetRemotePathMappingById Get /api/v1/remotepathmapping/{id}
RemotePathMappingAPI ListRemotePathMapping Get /api/v1/remotepathmapping
RemotePathMappingAPI UpdateRemotePathMapping Put /api/v1/remotepathmapping/{id}
RenameTrackAPI ListRename Get /api/v1/rename
RetagTrackAPI ListRetag Get /api/v1/retag
RootFolderAPI CreateRootFolder Post /api/v1/rootfolder
RootFolderAPI DeleteRootFolder Delete /api/v1/rootfolder/{id}
RootFolderAPI GetRootFolderById Get /api/v1/rootfolder/{id}
RootFolderAPI ListRootFolder Get /api/v1/rootfolder
RootFolderAPI UpdateRootFolder Put /api/v1/rootfolder/{id}
SearchAPI GetSearch Get /api/v1/search
StaticResourceAPI Get Get /
StaticResourceAPI GetByPath Get /{path}
StaticResourceAPI GetContentByPath Get /content/{path}
StaticResourceAPI GetLogin Get /login
SystemAPI CreateSystemRestart Post /api/v1/system/restart
SystemAPI CreateSystemShutdown Post /api/v1/system/shutdown
SystemAPI GetSystemRoutes Get /api/v1/system/routes
SystemAPI GetSystemRoutesDuplicate Get /api/v1/system/routes/duplicate
SystemAPI GetSystemStatus Get /api/v1/system/status
TagAPI CreateTag Post /api/v1/tag
TagAPI DeleteTag Delete /api/v1/tag/{id}
TagAPI GetTagById Get /api/v1/tag/{id}
TagAPI ListTag Get /api/v1/tag
TagAPI UpdateTag Put /api/v1/tag/{id}
TagDetailsAPI GetTagDetailById Get /api/v1/tag/detail/{id}
TagDetailsAPI ListTagDetail Get /api/v1/tag/detail
TaskAPI GetSystemTaskById Get /api/v1/system/task/{id}
TaskAPI ListSystemTask Get /api/v1/system/task
TrackAPI GetTrackById Get /api/v1/track/{id}
TrackAPI ListTrack Get /api/v1/track
TrackFileAPI DeleteTrackFile Delete /api/v1/trackfile/{id}
TrackFileAPI DeleteTrackFileBulk Delete /api/v1/trackfile/bulk
TrackFileAPI GetTrackFileById Get /api/v1/trackfile/{id}
TrackFileAPI ListTrackFile Get /api/v1/trackfile
TrackFileAPI PutTrackFileEditor Put /api/v1/trackfile/editor
TrackFileAPI UpdateTrackFile Put /api/v1/trackfile/{id}
UiConfigAPI GetUiConfig Get /api/v1/config/ui
UiConfigAPI GetUiConfigById Get /api/v1/config/ui/{id}
UiConfigAPI UpdateUiConfig Put /api/v1/config/ui/{id}
UpdateAPI ListUpdate Get /api/v1/update
UpdateLogFileAPI GetLogFileUpdateByFilename Get /api/v1/log/file/update/{filename}
UpdateLogFileAPI ListLogFileUpdate Get /api/v1/log/file/update

Documentation For Models

Documentation For Authorization

Authentication schemes defined for the API:

X-Api-Key

  • Type: API key
  • API key parameter name: X-Api-Key
  • Location: HTTP header

Note, each API key must be added to a map of map[string]APIKey where the key is: X-Api-Key and passed in as the auth context for each request.

Example

auth := context.WithValue(
		context.Background(),
		lidarr.ContextAPIKeys,
		map[string]lidarr.APIKey{
			"X-Api-Key": {Key: "API_KEY_STRING"},
		},
	)
r, err := client.Service.Operation(auth, args)

apikey

  • Type: API key
  • API key parameter name: apikey
  • Location: URL query string

Note, each API key must be added to a map of map[string]APIKey where the key is: apikey and passed in as the auth context for each request.

Example

auth := context.WithValue(
		context.Background(),
		lidarr.ContextAPIKeys,
		map[string]lidarr.APIKey{
			"apikey": {Key: "API_KEY_STRING"},
		},
	)
r, err := client.Service.Operation(auth, args)

Documentation for Utility Methods

Due to the fact that model structure members are all pointers, this package contains a number of utility functions to easily obtain pointers to values of basic types. Each of these functions takes a value of the given basic type and returns a pointer to it:

  • PtrBool
  • PtrInt
  • PtrInt32
  • PtrInt64
  • PtrFloat
  • PtrFloat32
  • PtrFloat64
  • PtrString
  • PtrTime

Author