Sonarr Download Client API
The DownloadClient API from Sonarr — 14 operation(s) for downloadclient.
The DownloadClient API from Sonarr — 14 operation(s) for downloadclient.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/sonarr:sonarr-downloadclient-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Sonarr Download Client API
license:
name: GPL-3.0
url: https://github.com/Sonarr/Sonarr/blob/develop/LICENSE
version: '1.0'
description: 'Operations tagged DownloadClient across 2 of this provider''s published API definitions: openapi_v3.json, openapi_v5.json. Each path carries the servers of the definition it was published in.'
servers:
- url: '{protocol}://{hostpath}'
variables:
protocol:
default: http
enum:
- http
- https
hostpath:
default: localhost:8989
security:
- X-Api-Key: []
- apikey: []
tags:
- name: DownloadClient
paths:
/api/v3/downloadclient:
get:
tags:
- DownloadClient
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/DownloadClientResource'
summary: Get api downloadclient
x-summary-source: derived
operationId: getApiV3Downloadclient
x-operation-id-source: derived
post:
tags:
- DownloadClient
parameters:
- name: forceSave
in: query
schema:
type: boolean
default: false
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DownloadClientResource'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DownloadClientResource'
summary: Create api downloadclient
x-summary-source: derived
operationId: postApiV3Downloadclient
x-operation-id-source: derived
servers:
- url: '{protocol}://{hostpath}'
variables:
protocol:
default: http
enum:
- http
- https
hostpath:
default: localhost:8989
/api/v3/downloadclient/{id}:
put:
tags:
- DownloadClient
parameters:
- name: id
in: path
required: true
schema:
type: integer
format: int32
- name: forceSave
in: query
schema:
type: boolean
default: false
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DownloadClientResource'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DownloadClientResource'
summary: Replace api downloadclient by id
x-summary-source: derived
operationId: putApiV3DownloadclientById
x-operation-id-source: derived
delete:
tags:
- DownloadClient
parameters:
- name: id
in: path
required: true
schema:
type: integer
format: int32
responses:
'200':
description: OK
summary: Delete api downloadclient by id
x-summary-source: derived
operationId: deleteApiV3DownloadclientById
x-operation-id-source: derived
get:
tags:
- DownloadClient
parameters:
- name: id
in: path
required: true
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DownloadClientResource'
'404':
description: Not Found
summary: Get api downloadclient by id
x-summary-source: derived
operationId: getApiV3DownloadclientById
x-operation-id-source: derived
servers:
- url: '{protocol}://{hostpath}'
variables:
protocol:
default: http
enum:
- http
- https
hostpath:
default: localhost:8989
/api/v3/downloadclient/bulk:
put:
tags:
- DownloadClient
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DownloadClientBulkResource'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DownloadClientResource'
summary: Replace api downloadclient bulk
x-summary-source: derived
operationId: putApiV3DownloadclientBulk
x-operation-id-source: derived
delete:
tags:
- DownloadClient
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DownloadClientBulkResource'
responses:
'200':
description: OK
summary: Delete api downloadclient bulk
x-summary-source: derived
operationId: deleteApiV3DownloadclientBulk
x-operation-id-source: derived
servers:
- url: '{protocol}://{hostpath}'
variables:
protocol:
default: http
enum:
- http
- https
hostpath:
default: localhost:8989
/api/v3/downloadclient/schema:
get:
tags:
- DownloadClient
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/DownloadClientResource'
summary: Get api downloadclient schema
x-summary-source: derived
operationId: getApiV3DownloadclientSchema
x-operation-id-source: derived
servers:
- url: '{protocol}://{hostpath}'
variables:
protocol:
default: http
enum:
- http
- https
hostpath:
default: localhost:8989
/api/v3/downloadclient/test:
post:
tags:
- DownloadClient
parameters:
- name: forceTest
in: query
schema:
type: boolean
default: false
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DownloadClientResource'
responses:
'200':
description: OK
summary: Create api downloadclient test
x-summary-source: derived
operationId: postApiV3DownloadclientTest
x-operation-id-source: derived
servers:
- url: '{protocol}://{hostpath}'
variables:
protocol:
default: http
enum:
- http
- https
hostpath:
default: localhost:8989
/api/v3/downloadclient/testall:
post:
tags:
- DownloadClient
responses:
'200':
description: OK
summary: Create api downloadclient testall
x-summary-source: derived
operationId: postApiV3DownloadclientTestall
x-operation-id-source: derived
servers:
- url: '{protocol}://{hostpath}'
variables:
protocol:
default: http
enum:
- http
- https
hostpath:
default: localhost:8989
/api/v3/downloadclient/action/{name}:
post:
tags:
- DownloadClient
parameters:
- name: name
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DownloadClientResource'
responses:
'200':
description: OK
summary: Create api downloadclient action by name
x-summary-source: derived
operationId: postApiV3DownloadclientActionByName
x-operation-id-source: derived
servers:
- url: '{protocol}://{hostpath}'
variables:
protocol:
default: http
enum:
- http
- https
hostpath:
default: localhost:8989
/api/v5/downloadclient:
get:
tags:
- DownloadClient
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/DownloadClientResource'
summary: Get api downloadclient
x-summary-source: derived
operationId: getApiV5Downloadclient
x-operation-id-source: derived
post:
tags:
- DownloadClient
parameters:
- name: skipTesting
in: query
schema:
type: boolean
default: false
- name: skipValidation
in: query
schema:
$ref: '#/components/schemas/SkipValidation'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DownloadClientResource'
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/DownloadClientResource'
'404':
description: Not Found
summary: Create api downloadclient
x-summary-source: derived
operationId: postApiV5Downloadclient
x-operation-id-source: derived
servers:
- url: '{protocol}://{hostpath}'
variables:
protocol:
default: http
enum:
- http
- https
hostpath:
default: localhost:8989
/api/v5/downloadclient/{id}:
put:
tags:
- DownloadClient
parameters:
- name: id
in: path
required: true
schema:
type: integer
format: int32
- name: skipTesting
in: query
schema:
type: boolean
default: false
- name: skipValidation
in: query
schema:
$ref: '#/components/schemas/SkipValidation'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DownloadClientResource'
responses:
'202':
description: Accepted
content:
application/json:
schema:
$ref: '#/components/schemas/DownloadClientResource'
'404':
description: Not Found
summary: Replace api downloadclient by id
x-summary-source: derived
operationId: putApiV5DownloadclientById
x-operation-id-source: derived
delete:
tags:
- DownloadClient
parameters:
- name: id
in: path
required: true
schema:
type: integer
format: int32
responses:
'204':
description: No Content
summary: Delete api downloadclient by id
x-summary-source: derived
operationId: deleteApiV5DownloadclientById
x-operation-id-source: derived
get:
tags:
- DownloadClient
parameters:
- name: id
in: path
required: true
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DownloadClientResource'
'404':
description: Not Found
summary: Get api downloadclient by id
x-summary-source: derived
operationId: getApiV5DownloadclientById
x-operation-id-source: derived
servers:
- url: '{protocol}://{hostpath}'
variables:
protocol:
default: http
enum:
- http
- https
hostpath:
default: localhost:8989
/api/v5/downloadclient/bulk:
put:
tags:
- DownloadClient
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DownloadClientBulkResource'
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/DownloadClientResource'
'400':
description: Bad Request
summary: Replace api downloadclient bulk
x-summary-source: derived
operationId: putApiV5DownloadclientBulk
x-operation-id-source: derived
delete:
tags:
- DownloadClient
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DownloadClientBulkResource'
responses:
'204':
description: No Content
summary: Delete api downloadclient bulk
x-summary-source: derived
operationId: deleteApiV5DownloadclientBulk
x-operation-id-source: derived
servers:
- url: '{protocol}://{hostpath}'
variables:
protocol:
default: http
enum:
- http
- https
hostpath:
default: localhost:8989
/api/v5/downloadclient/schema:
get:
tags:
- DownloadClient
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/DownloadClientResource'
summary: Get api downloadclient schema
x-summary-source: derived
operationId: getApiV5DownloadclientSchema
x-operation-id-source: derived
servers:
- url: '{protocol}://{hostpath}'
variables:
protocol:
default: http
enum:
- http
- https
hostpath:
default: localhost:8989
/api/v5/downloadclient/test:
post:
tags:
- DownloadClient
parameters:
- name: skipValidation
in: query
schema:
$ref: '#/components/schemas/SkipValidation'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DownloadClientResource'
responses:
'204':
description: No Content
summary: Create api downloadclient test
x-summary-source: derived
operationId: postApiV5DownloadclientTest
x-operation-id-source: derived
servers:
- url: '{protocol}://{hostpath}'
variables:
protocol:
default: http
enum:
- http
- https
hostpath:
default: localhost:8989
/api/v5/downloadclient/testall:
post:
tags:
- DownloadClient
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ProviderTestAllResult'
'400':
description: Bad Request
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ProviderTestAllResult'
summary: Create api downloadclient testall
x-summary-source: derived
operationId: postApiV5DownloadclientTestall
x-operation-id-source: derived
servers:
- url: '{protocol}://{hostpath}'
variables:
protocol:
default: http
enum:
- http
- https
hostpath:
default: localhost:8989
/api/v5/downloadclient/action/{name}:
post:
tags:
- DownloadClient
parameters:
- name: name
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DownloadClientResource'
responses:
'400':
description: Bad Request
summary: Create api downloadclient action by name
x-summary-source: derived
operationId: postApiV5DownloadclientActionByName
x-operation-id-source: derived
servers:
- url: '{protocol}://{hostpath}'
variables:
protocol:
default: http
enum:
- http
- https
hostpath:
default: localhost:8989
components:
schemas:
DownloadClientBulkResource:
type: object
properties:
ids:
type:
- array
- 'null'
items:
type: integer
format: int32
tags:
type:
- array
- 'null'
items:
type: integer
format: int32
applyTags:
$ref: '#/components/schemas/ApplyTags'
enable:
type:
- boolean
- 'null'
priority:
type:
- integer
- 'null'
format: int32
removeCompletedDownloads:
type:
- boolean
- 'null'
removeFailedDownloads:
type:
- boolean
- 'null'
additionalProperties: false
PrivacyLevel:
enum:
- normal
- password
- apiKey
- userName
type: string
SelectOption:
type: object
properties:
value:
type: integer
format: int32
name:
type:
- string
- 'null'
order:
type: integer
format: int32
hint:
type:
- string
- 'null'
additionalProperties: false
ApplyTags:
enum:
- add
- remove
- replace
type: string
DownloadProtocol:
enum:
- unknown
- usenet
- torrent
type: string
Field:
type: object
properties:
order:
type: integer
format: int32
name:
type:
- string
- 'null'
label:
type:
- string
- 'null'
unit:
type:
- string
- 'null'
helpText:
type:
- string
- 'null'
helpTextWarning:
type:
- string
- 'null'
helpLink:
type:
- string
- 'null'
value: {}
type:
type:
- string
- 'null'
advanced:
type: boolean
selectOptions:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/SelectOption'
selectOptionsProviderAction:
type:
- string
- 'null'
section:
type:
- string
- 'null'
hidden:
type:
- string
- 'null'
privacy:
$ref: '#/components/schemas/PrivacyLevel'
placeholder:
type:
- string
- 'null'
isFloat:
type: boolean
additionalProperties: false
DownloadClientResource:
type: object
properties:
id:
type: integer
format: int32
name:
type:
- string
- 'null'
fields:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Field'
implementationName:
type:
- string
- 'null'
implementation:
type:
- string
- 'null'
configContract:
type:
- string
- 'null'
infoLink:
type:
- string
- 'null'
message:
$ref: '#/components/schemas/ProviderMessage'
tags:
uniqueItems: true
type:
- array
- 'null'
items:
type: integer
format: int32
presets:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/DownloadClientResource'
enable:
type: boolean
protocol:
$ref: '#/components/schemas/DownloadProtocol'
priority:
type: integer
format: int32
removeCompletedDownloads:
type: boolean
removeFailedDownloads:
type: boolean
additionalProperties: false
ProviderMessageType:
enum:
- info
- warning
- error
type: string
ProviderMessage:
type: object
properties:
message:
type:
- string
- 'null'
type:
$ref: '#/components/schemas/ProviderMessageType'
additionalProperties: false
SkipValidation:
enum:
- none
- warnings
- all
type: string
ProviderTestAllResult:
type: object
properties:
id:
type: integer
format: int32
isValid:
type: boolean
readOnly: true
validationFailures:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/ValidationFailure'
additionalProperties: false
Severity:
enum:
- error
- warning
- info
type: string
ValidationFailure:
type: object
properties:
propertyName:
type:
- string
- 'null'
errorMessage:
type:
- string
- 'null'
attemptedValue: {}
customState: {}
severity:
$ref: '#/components/schemas/Severity'
errorCode:
type:
- string
- 'null'
formattedMessageArguments:
type:
- array
- 'null'
items: {}
deprecated: true
formattedMessagePlaceholderValues:
type:
- object
- 'null'
additionalProperties: {}
additionalProperties: false
securitySchemes:
X-Api-Key:
type: apiKey
description: Apikey passed as header
name: X-Api-Key
in: header
apikey:
type: apiKey
description: Apikey passed as query parameter
name: apikey
in: query
x-refined-from:
- openapi_v3.json
- openapi_v5.json