Sonarr Notification API
The Notification API from Sonarr — 6 operation(s) for notification.
The Notification API from Sonarr — 6 operation(s) for notification.
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-notification-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 Notification API
description: Sonarr API docs - The v3 API docs apply to both v3 and v4 versions of Sonarr. Some functionality may only be available in v4 of the Sonarr application.
license:
name: GPL-3.0
url: https://github.com/Sonarr/Sonarr/blob/develop/LICENSE
version: 3.0.0
servers:
- url: '{protocol}://{hostpath}'
variables:
protocol:
default: http
enum:
- http
- https
hostpath:
default: localhost:8989
security:
- X-Api-Key: []
- apikey: []
tags:
- name: Notification
paths:
/api/v3/notification:
get:
tags:
- Notification
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/NotificationResource'
summary: Get api notification
x-summary-source: derived
operationId: getApiV3Notification
x-operation-id-source: derived
post:
tags:
- Notification
parameters:
- name: forceSave
in: query
schema:
type: boolean
default: false
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationResource'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationResource'
summary: Create api notification
x-summary-source: derived
operationId: postApiV3Notification
x-operation-id-source: derived
/api/v3/notification/{id}:
put:
tags:
- Notification
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/NotificationResource'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationResource'
summary: Replace api notification by id
x-summary-source: derived
operationId: putApiV3NotificationById
x-operation-id-source: derived
delete:
tags:
- Notification
parameters:
- name: id
in: path
required: true
schema:
type: integer
format: int32
responses:
'200':
description: OK
summary: Delete api notification by id
x-summary-source: derived
operationId: deleteApiV3NotificationById
x-operation-id-source: derived
get:
tags:
- Notification
parameters:
- name: id
in: path
required: true
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationResource'
'404':
description: Not Found
summary: Get api notification by id
x-summary-source: derived
operationId: getApiV3NotificationById
x-operation-id-source: derived
/api/v3/notification/schema:
get:
tags:
- Notification
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/NotificationResource'
summary: Get api notification schema
x-summary-source: derived
operationId: getApiV3NotificationSchema
x-operation-id-source: derived
/api/v3/notification/test:
post:
tags:
- Notification
parameters:
- name: forceTest
in: query
schema:
type: boolean
default: false
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationResource'
responses:
'200':
description: OK
summary: Create api notification test
x-summary-source: derived
operationId: postApiV3NotificationTest
x-operation-id-source: derived
/api/v3/notification/testall:
post:
tags:
- Notification
responses:
'200':
description: OK
summary: Create api notification testall
x-summary-source: derived
operationId: postApiV3NotificationTestall
x-operation-id-source: derived
/api/v3/notification/action/{name}:
post:
tags:
- Notification
parameters:
- name: name
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationResource'
responses:
'200':
description: OK
summary: Create api notification action by name
x-summary-source: derived
operationId: postApiV3NotificationActionByName
x-operation-id-source: derived
components:
schemas:
NotificationResource:
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/NotificationResource'
link:
type:
- string
- 'null'
onGrab:
type: boolean
onDownload:
type: boolean
onUpgrade:
type: boolean
onImportComplete:
type: boolean
onRename:
type: boolean
onSeriesAdd:
type: boolean
onSeriesDelete:
type: boolean
onEpisodeFileDelete:
type: boolean
onEpisodeFileDeleteForUpgrade:
type: boolean
onHealthIssue:
type: boolean
includeHealthWarnings:
type: boolean
onHealthRestored:
type: boolean
onApplicationUpdate:
type: boolean
onManualInteractionRequired:
type: boolean
supportsOnGrab:
type: boolean
supportsOnDownload:
type: boolean
supportsOnUpgrade:
type: boolean
supportsOnImportComplete:
type: boolean
supportsOnRename:
type: boolean
supportsOnSeriesAdd:
type: boolean
supportsOnSeriesDelete:
type: boolean
supportsOnEpisodeFileDelete:
type: boolean
supportsOnEpisodeFileDeleteForUpgrade:
type: boolean
supportsOnHealthIssue:
type: boolean
supportsOnHealthRestored:
type: boolean
supportsOnApplicationUpdate:
type: boolean
supportsOnManualInteractionRequired:
type: boolean
testCommand:
type:
- string
- '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
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
ProviderMessageType:
enum:
- info
- warning
- error
type: string
ProviderMessage:
type: object
properties:
message:
type:
- string
- 'null'
type:
$ref: '#/components/schemas/ProviderMessageType'
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