Skip to content

devopsarr/prowlarr-go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Go API client for prowlarr

Prowlarr 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: v1.24.3.4754
  • Package version: 1.1.1
  • Generator version: 7.9.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 prowlarr "github.com/devopsarr/prowlarr-go/prowlarr"

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 prowlarr.ContextServerIndex of type int.

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

Templated Server URL

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

ctx := context.WithValue(context.Background(), prowlarr.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 prowlarr.ContextOperationServerIndices and prowlarr.ContextOperationServerVariables context maps.

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

Documentation for API Endpoints

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

Class Method HTTP request Description
ApiInfoAPI GetApi Get /api
AppProfileAPI CreateAppProfile Post /api/v1/appprofile
AppProfileAPI DeleteAppProfile Delete /api/v1/appprofile/{id}
AppProfileAPI GetAppProfileById Get /api/v1/appprofile/{id}
AppProfileAPI GetAppProfileSchema Get /api/v1/appprofile/schema
AppProfileAPI ListAppProfile Get /api/v1/appprofile
AppProfileAPI UpdateAppProfile Put /api/v1/appprofile/{id}
ApplicationAPI CreateApplications Post /api/v1/applications
ApplicationAPI CreateApplicationsActionByName Post /api/v1/applications/action/{name}
ApplicationAPI DeleteApplications Delete /api/v1/applications/{id}
ApplicationAPI DeleteApplicationsBulk Delete /api/v1/applications/bulk
ApplicationAPI GetApplicationsById Get /api/v1/applications/{id}
ApplicationAPI ListApplications Get /api/v1/applications
ApplicationAPI ListApplicationsSchema Get /api/v1/applications/schema
ApplicationAPI PutApplicationsBulk Put /api/v1/applications/bulk
ApplicationAPI TestApplications Post /api/v1/applications/test
ApplicationAPI TestallApplications Post /api/v1/applications/testall
ApplicationAPI UpdateApplications Put /api/v1/applications/{id}
AuthenticationAPI CreateLogin Post /login
AuthenticationAPI GetLogout Get /logout
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
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}
DevelopmentConfigAPI GetDevelopmentConfig Get /api/v1/config/development
DevelopmentConfigAPI GetDevelopmentConfigById Get /api/v1/config/development/{id}
DevelopmentConfigAPI UpdateDevelopmentConfig Put /api/v1/config/development/{id}
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 GetFileSystemType Get /api/v1/filesystem/type
HealthAPI ListHealth Get /api/v1/health
HistoryAPI GetHistory Get /api/v1/history
HistoryAPI ListHistoryIndexer Get /api/v1/history/indexer
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}
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}
IndexerDefaultCategoriesAPI ListIndexerCategories Get /api/v1/indexer/categories
IndexerProxyAPI CreateIndexerProxy Post /api/v1/indexerproxy
IndexerProxyAPI CreateIndexerProxyActionByName Post /api/v1/indexerproxy/action/{name}
IndexerProxyAPI DeleteIndexerProxy Delete /api/v1/indexerproxy/{id}
IndexerProxyAPI GetIndexerProxyById Get /api/v1/indexerproxy/{id}
IndexerProxyAPI ListIndexerProxy Get /api/v1/indexerproxy
IndexerProxyAPI ListIndexerProxySchema Get /api/v1/indexerproxy/schema
IndexerProxyAPI TestIndexerProxy Post /api/v1/indexerproxy/test
IndexerProxyAPI TestallIndexerProxy Post /api/v1/indexerproxy/testall
IndexerProxyAPI UpdateIndexerProxy Put /api/v1/indexerproxy/{id}
IndexerStatsAPI GetIndexerStats Get /api/v1/indexerstats
IndexerStatusAPI ListIndexerStatus Get /api/v1/indexerstatus
LocalizationAPI GetLocalization Get /api/v1/localization
LocalizationAPI ListLocalizationOptions Get /api/v1/localization/options
LogAPI GetLog Get /api/v1/log
LogFileAPI GetLogFileByFilename Get /api/v1/log/file/{filename}
LogFileAPI ListLogFile Get /api/v1/log/file
NewznabAPI GetIndexerDownload Get /api/v1/indexer/{id}/download
NewznabAPI GetIndexerNewznab Get /api/v1/indexer/{id}/newznab
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}
PingAPI GetPing Get /ping
PingAPI HeadPing Head /ping
SearchAPI CreateSearch Post /api/v1/search
SearchAPI CreateSearchBulk Post /api/v1/search/bulk
SearchAPI ListSearch 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
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(),
		prowlarr.ContextAPIKeys,
		map[string]prowlarr.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(),
		prowlarr.ContextAPIKeys,
		map[string]prowlarr.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