openapi: 3.1.1 info: title: Sonarr 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 paths: /api: get: tags: - ApiInfo responses: "200": description: OK /login: post: tags: - Authentication parameters: - name: returnUrl in: query schema: type: string requestBody: content: multipart/form-data: schema: type: object properties: username: type: string password: type: string rememberMe: type: string encoding: username: style: form password: style: form rememberMe: style: form responses: "200": description: OK get: tags: - StaticResource responses: "200": description: OK /logout: get: tags: - Authentication responses: "200": description: OK /api/v3/autotagging: post: tags: - AutoTagging requestBody: content: application/json: schema: $ref: "#/components/schemas/AutoTaggingResource" responses: "200": description: OK content: text/plain: schema: $ref: "#/components/schemas/AutoTaggingResource" application/json: schema: $ref: "#/components/schemas/AutoTaggingResource" text/json: schema: $ref: "#/components/schemas/AutoTaggingResource" get: tags: - AutoTagging responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/AutoTaggingResource" /api/v3/autotagging/{id}: put: tags: - AutoTagging parameters: - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/AutoTaggingResource" responses: "200": description: OK content: text/plain: schema: $ref: "#/components/schemas/AutoTaggingResource" application/json: schema: $ref: "#/components/schemas/AutoTaggingResource" text/json: schema: $ref: "#/components/schemas/AutoTaggingResource" delete: tags: - AutoTagging parameters: - name: id in: path required: true schema: type: integer format: int32 responses: "200": description: OK get: tags: - AutoTagging parameters: - name: id in: path required: true schema: type: integer format: int32 responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/AutoTaggingResource" /api/v3/autotagging/schema: get: tags: - AutoTagging responses: "200": description: OK /api/v3/system/backup: get: tags: - Backup responses: "200": description: OK content: text/plain: schema: type: array items: $ref: "#/components/schemas/BackupResource" application/json: schema: type: array items: $ref: "#/components/schemas/BackupResource" text/json: schema: type: array items: $ref: "#/components/schemas/BackupResource" /api/v3/system/backup/{id}: delete: tags: - Backup parameters: - name: id in: path required: true schema: type: integer format: int32 responses: "200": description: OK /api/v3/system/backup/restore/{id}: post: tags: - Backup parameters: - name: id in: path required: true schema: type: integer format: int32 responses: "200": description: OK /api/v3/system/backup/restore/upload: post: tags: - Backup responses: "200": description: OK /api/v3/blocklist: get: tags: - Blocklist parameters: - name: page in: query schema: type: integer format: int32 default: 1 - name: pageSize in: query schema: type: integer format: int32 default: 10 - name: sortKey in: query schema: type: string - name: sortDirection in: query schema: $ref: "#/components/schemas/SortDirection" - name: seriesIds in: query schema: type: array items: type: integer format: int32 - name: protocols in: query schema: type: array items: $ref: "#/components/schemas/DownloadProtocol" responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/BlocklistResourcePagingResource" /api/v3/blocklist/{id}: delete: tags: - Blocklist parameters: - name: id in: path required: true schema: type: integer format: int32 responses: "200": description: OK /api/v3/blocklist/bulk: delete: tags: - Blocklist requestBody: content: application/json: schema: $ref: "#/components/schemas/BlocklistBulkResource" text/json: schema: $ref: "#/components/schemas/BlocklistBulkResource" application/*+json: schema: $ref: "#/components/schemas/BlocklistBulkResource" responses: "200": description: OK /api/v3/calendar: get: tags: - Calendar parameters: - name: start in: query schema: type: string format: date-time - name: end in: query schema: type: string format: date-time - name: unmonitored in: query schema: type: boolean default: false - name: includeSeries in: query schema: type: boolean default: false - name: includeEpisodeFile in: query schema: type: boolean default: false - name: includeEpisodeImages in: query schema: type: boolean default: false - name: tags in: query schema: type: string default: "" responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/EpisodeResource" /api/v3/calendar/{id}: get: tags: - Calendar parameters: - name: id in: path required: true schema: type: integer format: int32 responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/EpisodeResource" /feed/v3/calendar/sonarr.ics: get: tags: - CalendarFeed parameters: - name: pastDays in: query schema: type: integer format: int32 default: 7 - name: futureDays in: query schema: type: integer format: int32 default: 28 - name: tags in: query schema: type: string default: "" - name: unmonitored in: query schema: type: boolean default: false - name: premieresOnly in: query schema: type: boolean default: false - name: asAllDay in: query schema: type: boolean default: false responses: "200": description: OK /api/v3/command: post: tags: - Command requestBody: content: application/json: schema: $ref: "#/components/schemas/CommandResource" responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/CommandResource" get: tags: - Command responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/CommandResource" /api/v3/command/{id}: delete: tags: - Command parameters: - name: id in: path required: true schema: type: integer format: int32 responses: "200": description: OK get: tags: - Command parameters: - name: id in: path required: true schema: type: integer format: int32 responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/CommandResource" /api/v3/customfilter: get: tags: - CustomFilter responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/CustomFilterResource" post: tags: - CustomFilter requestBody: content: application/json: schema: $ref: "#/components/schemas/CustomFilterResource" responses: "200": description: OK content: text/plain: schema: $ref: "#/components/schemas/CustomFilterResource" application/json: schema: $ref: "#/components/schemas/CustomFilterResource" text/json: schema: $ref: "#/components/schemas/CustomFilterResource" /api/v3/customfilter/{id}: put: tags: - CustomFilter parameters: - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/CustomFilterResource" responses: "200": description: OK content: text/plain: schema: $ref: "#/components/schemas/CustomFilterResource" application/json: schema: $ref: "#/components/schemas/CustomFilterResource" text/json: schema: $ref: "#/components/schemas/CustomFilterResource" delete: tags: - CustomFilter parameters: - name: id in: path required: true schema: type: integer format: int32 responses: "200": description: OK get: tags: - CustomFilter parameters: - name: id in: path required: true schema: type: integer format: int32 responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/CustomFilterResource" /api/v3/customformat: get: tags: - CustomFormat responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/CustomFormatResource" post: tags: - CustomFormat requestBody: content: application/json: schema: $ref: "#/components/schemas/CustomFormatResource" responses: "200": description: OK content: text/plain: schema: $ref: "#/components/schemas/CustomFormatResource" application/json: schema: $ref: "#/components/schemas/CustomFormatResource" text/json: schema: $ref: "#/components/schemas/CustomFormatResource" /api/v3/customformat/{id}: put: tags: - CustomFormat parameters: - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/CustomFormatResource" responses: "200": description: OK content: text/plain: schema: $ref: "#/components/schemas/CustomFormatResource" application/json: schema: $ref: "#/components/schemas/CustomFormatResource" text/json: schema: $ref: "#/components/schemas/CustomFormatResource" delete: tags: - CustomFormat parameters: - name: id in: path required: true schema: type: integer format: int32 responses: "200": description: OK get: tags: - CustomFormat parameters: - name: id in: path required: true schema: type: integer format: int32 responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/CustomFormatResource" /api/v3/customformat/bulk: put: tags: - CustomFormat requestBody: content: application/json: schema: $ref: "#/components/schemas/CustomFormatBulkResource" responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/CustomFormatResource" delete: tags: - CustomFormat requestBody: content: application/json: schema: $ref: "#/components/schemas/CustomFormatBulkResource" responses: "200": description: OK /api/v3/customformat/schema: get: tags: - CustomFormat responses: "200": description: OK /api/v3/wanted/cutoff: get: tags: - Cutoff parameters: - name: page in: query schema: type: integer format: int32 default: 1 - name: pageSize in: query schema: type: integer format: int32 default: 10 - name: sortKey in: query schema: type: string - name: sortDirection in: query schema: $ref: "#/components/schemas/SortDirection" - name: includeSeries in: query schema: type: boolean default: false - name: includeEpisodeFile in: query schema: type: boolean default: false - name: includeImages in: query schema: type: boolean default: false - name: monitored in: query schema: type: boolean default: true responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/EpisodeResourcePagingResource" /api/v3/wanted/cutoff/{id}: get: tags: - Cutoff parameters: - name: id in: path required: true schema: type: integer format: int32 responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/EpisodeResource" /api/v3/delayprofile: post: tags: - DelayProfile requestBody: content: application/json: schema: $ref: "#/components/schemas/DelayProfileResource" responses: "200": description: OK content: text/plain: schema: $ref: "#/components/schemas/DelayProfileResource" application/json: schema: $ref: "#/components/schemas/DelayProfileResource" text/json: schema: $ref: "#/components/schemas/DelayProfileResource" get: tags: - DelayProfile responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/DelayProfileResource" /api/v3/delayprofile/{id}: delete: tags: - DelayProfile parameters: - name: id in: path required: true schema: type: integer format: int32 responses: "200": description: OK put: tags: - DelayProfile parameters: - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/DelayProfileResource" responses: "200": description: OK content: text/plain: schema: $ref: "#/components/schemas/DelayProfileResource" application/json: schema: $ref: "#/components/schemas/DelayProfileResource" text/json: schema: $ref: "#/components/schemas/DelayProfileResource" get: tags: - DelayProfile parameters: - name: id in: path required: true schema: type: integer format: int32 responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/DelayProfileResource" /api/v3/delayprofile/reorder/{id}: put: tags: - DelayProfile parameters: - name: id in: path required: true schema: type: integer format: int32 - name: after in: query schema: type: integer format: int32 responses: "200": description: OK content: text/plain: schema: type: array items: $ref: "#/components/schemas/DelayProfileResource" application/json: schema: type: array items: $ref: "#/components/schemas/DelayProfileResource" text/json: schema: type: array items: $ref: "#/components/schemas/DelayProfileResource" /api/v3/diskspace: get: tags: - DiskSpace responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/DiskSpaceResource" /api/v3/downloadclient: get: tags: - DownloadClient responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/DownloadClientResource" 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" /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" delete: tags: - DownloadClient parameters: - name: id in: path required: true schema: type: integer format: int32 responses: "200": description: OK 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" /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" delete: tags: - DownloadClient requestBody: content: application/json: schema: $ref: "#/components/schemas/DownloadClientBulkResource" responses: "200": description: OK /api/v3/downloadclient/schema: get: tags: - DownloadClient responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/DownloadClientResource" /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 /api/v3/downloadclient/testall: post: tags: - DownloadClient responses: "200": description: OK /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 /api/v3/config/downloadclient: get: tags: - DownloadClientConfig responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/DownloadClientConfigResource" /api/v3/config/downloadclient/{id}: put: tags: - DownloadClientConfig parameters: - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/DownloadClientConfigResource" responses: "200": description: OK content: text/plain: schema: $ref: "#/components/schemas/DownloadClientConfigResource" application/json: schema: $ref: "#/components/schemas/DownloadClientConfigResource" text/json: schema: $ref: "#/components/schemas/DownloadClientConfigResource" get: tags: - DownloadClientConfig parameters: - name: id in: path required: true schema: type: integer format: int32 responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/DownloadClientConfigResource" /api/v3/episode: get: tags: - Episode parameters: - name: seriesId in: query schema: type: integer format: int32 - name: seasonNumber in: query schema: type: integer format: int32 - name: episodeIds in: query schema: type: array items: type: integer format: int32 - name: episodeFileId in: query schema: type: integer format: int32 - name: includeSeries in: query schema: type: boolean default: false - name: includeEpisodeFile in: query schema: type: boolean default: false - name: includeImages in: query schema: type: boolean default: false responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/EpisodeResource" /api/v3/episode/{id}: put: tags: - Episode parameters: - name: id in: path required: true schema: type: integer format: int32 requestBody: content: application/json: schema: $ref: "#/components/schemas/EpisodeResource" responses: "200": description: OK content: text/plain: schema: $ref: "#/components/schemas/EpisodeResource" application/json: schema: $ref: "#/components/schemas/EpisodeResource" text/json: schema: $ref: "#/components/schemas/EpisodeResource" get: tags: - Episode parameters: - name: id in: path required: true schema: type: integer format: int32 responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/EpisodeResource" /api/v3/episode/monitor: put: tags: - Episode parameters: - name: includeImages in: query schema: type: boolean default: false requestBody: content: application/json: schema: $ref: "#/components/schemas/EpisodesMonitoredResource" responses: "200": description: OK /api/v3/episodefile: get: tags: - EpisodeFile parameters: - name: seriesId in: query schema: type: integer format: int32 - name: episodeFileIds in: query schema: type: array items: type: integer format: int32 responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/EpisodeFileResource" /api/v3/episodefile/{id}: put: tags: - EpisodeFile parameters: - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/EpisodeFileResource" responses: "200": description: OK content: text/plain: schema: $ref: "#/components/schemas/EpisodeFileResource" application/json: schema: $ref: "#/components/schemas/EpisodeFileResource" text/json: schema: $ref: "#/components/schemas/EpisodeFileResource" delete: tags: - EpisodeFile parameters: - name: id in: path required: true schema: type: integer format: int32 responses: "200": description: OK get: tags: - EpisodeFile parameters: - name: id in: path required: true schema: type: integer format: int32 responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/EpisodeFileResource" /api/v3/episodefile/editor: put: tags: - EpisodeFile requestBody: content: application/json: schema: $ref: "#/components/schemas/EpisodeFileListResource" responses: "200": description: OK /api/v3/episodefile/bulk: delete: tags: - EpisodeFile requestBody: content: application/json: schema: $ref: "#/components/schemas/EpisodeFileListResource" responses: "200": description: OK put: tags: - EpisodeFile requestBody: content: application/json: schema: type: array items: $ref: "#/components/schemas/EpisodeFileResource" responses: "200": description: OK /api/v3/filesystem: get: tags: - FileSystem parameters: - name: path in: query schema: type: string - name: includeFiles in: query schema: type: boolean default: false - name: allowFoldersWithoutTrailingSlashes in: query schema: type: boolean default: false responses: "200": description: OK /api/v3/filesystem/type: get: tags: - FileSystem parameters: - name: path in: query schema: type: string responses: "200": description: OK /api/v3/filesystem/mediafiles: get: tags: - FileSystem parameters: - name: path in: query schema: type: string responses: "200": description: OK /api/v3/health: get: tags: - Health responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/HealthResource" /api/v3/history: get: tags: - History parameters: - name: page in: query schema: type: integer format: int32 default: 1 - name: pageSize in: query schema: type: integer format: int32 default: 10 - name: sortKey in: query schema: type: string - name: sortDirection in: query schema: $ref: "#/components/schemas/SortDirection" - name: includeSeries in: query schema: type: boolean - name: includeEpisode in: query schema: type: boolean - name: eventType in: query schema: type: array items: type: integer format: int32 - name: episodeId in: query schema: type: integer format: int32 - name: downloadId in: query schema: type: string - name: seriesIds in: query schema: type: array items: type: integer format: int32 - name: languages in: query schema: type: array items: type: integer format: int32 - name: quality in: query schema: type: array items: type: integer format: int32 responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/HistoryResourcePagingResource" /api/v3/history/since: get: tags: - History parameters: - name: date in: query schema: type: string format: date-time - name: eventType in: query schema: $ref: "#/components/schemas/EpisodeHistoryEventType" - name: includeSeries in: query schema: type: boolean default: false - name: includeEpisode in: query schema: type: boolean default: false responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/HistoryResource" /api/v3/history/series: get: tags: - History parameters: - name: seriesId in: query schema: type: integer format: int32 - name: seasonNumber in: query schema: type: integer format: int32 - name: eventType in: query schema: $ref: "#/components/schemas/EpisodeHistoryEventType" - name: includeSeries in: query schema: type: boolean default: false - name: includeEpisode in: query schema: type: boolean default: false responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/HistoryResource" /api/v3/history/failed/{id}: post: tags: - History parameters: - name: id in: path required: true schema: type: integer format: int32 responses: "200": description: OK /api/v3/config/host: get: tags: - HostConfig responses: "200": description: OK content: text/plain: schema: $ref: "#/components/schemas/HostConfigResource" application/json: schema: $ref: "#/components/schemas/HostConfigResource" text/json: schema: $ref: "#/components/schemas/HostConfigResource" /api/v3/config/host/{id}: put: tags: - HostConfig parameters: - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/HostConfigResource" text/json: schema: $ref: "#/components/schemas/HostConfigResource" application/*+json: schema: $ref: "#/components/schemas/HostConfigResource" responses: "200": description: OK content: text/plain: schema: $ref: "#/components/schemas/HostConfigResource" application/json: schema: $ref: "#/components/schemas/HostConfigResource" text/json: schema: $ref: "#/components/schemas/HostConfigResource" get: tags: - HostConfig parameters: - name: id in: path required: true schema: type: integer format: int32 responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/HostConfigResource" /api/v3/importlist: get: tags: - ImportList responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/ImportListResource" post: tags: - ImportList parameters: - name: forceSave in: query schema: type: boolean default: false requestBody: content: application/json: schema: $ref: "#/components/schemas/ImportListResource" responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/ImportListResource" /api/v3/importlist/{id}: put: tags: - ImportList 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/ImportListResource" responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/ImportListResource" delete: tags: - ImportList parameters: - name: id in: path required: true schema: type: integer format: int32 responses: "200": description: OK get: tags: - ImportList parameters: - name: id in: path required: true schema: type: integer format: int32 responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/ImportListResource" /api/v3/importlist/bulk: put: tags: - ImportList requestBody: content: application/json: schema: $ref: "#/components/schemas/ImportListBulkResource" responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/ImportListResource" delete: tags: - ImportList requestBody: content: application/json: schema: $ref: "#/components/schemas/ImportListBulkResource" responses: "200": description: OK /api/v3/importlist/schema: get: tags: - ImportList responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/ImportListResource" /api/v3/importlist/test: post: tags: - ImportList parameters: - name: forceTest in: query schema: type: boolean default: false requestBody: content: application/json: schema: $ref: "#/components/schemas/ImportListResource" responses: "200": description: OK /api/v3/importlist/testall: post: tags: - ImportList responses: "200": description: OK /api/v3/importlist/action/{name}: post: tags: - ImportList parameters: - name: name in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/ImportListResource" responses: "200": description: OK /api/v3/config/importlist: get: tags: - ImportListConfig responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/ImportListConfigResource" /api/v3/config/importlist/{id}: put: tags: - ImportListConfig parameters: - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/ImportListConfigResource" responses: "200": description: OK content: text/plain: schema: $ref: "#/components/schemas/ImportListConfigResource" application/json: schema: $ref: "#/components/schemas/ImportListConfigResource" text/json: schema: $ref: "#/components/schemas/ImportListConfigResource" get: tags: - ImportListConfig parameters: - name: id in: path required: true schema: type: integer format: int32 responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/ImportListConfigResource" /api/v3/importlistexclusion: get: tags: - ImportListExclusion responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/ImportListExclusionResource" deprecated: true post: tags: - ImportListExclusion requestBody: content: application/json: schema: $ref: "#/components/schemas/ImportListExclusionResource" responses: "200": description: OK content: text/plain: schema: $ref: "#/components/schemas/ImportListExclusionResource" application/json: schema: $ref: "#/components/schemas/ImportListExclusionResource" text/json: schema: $ref: "#/components/schemas/ImportListExclusionResource" /api/v3/importlistexclusion/paged: get: tags: - ImportListExclusion parameters: - name: page in: query schema: type: integer format: int32 default: 1 - name: pageSize in: query schema: type: integer format: int32 default: 10 - name: sortKey in: query schema: type: string - name: sortDirection in: query schema: $ref: "#/components/schemas/SortDirection" responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/ImportListExclusionResourcePagingResource" /api/v3/importlistexclusion/{id}: put: tags: - ImportListExclusion parameters: - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/ImportListExclusionResource" responses: "200": description: OK content: text/plain: schema: $ref: "#/components/schemas/ImportListExclusionResource" application/json: schema: $ref: "#/components/schemas/ImportListExclusionResource" text/json: schema: $ref: "#/components/schemas/ImportListExclusionResource" delete: tags: - ImportListExclusion parameters: - name: id in: path required: true schema: type: integer format: int32 responses: "200": description: OK get: tags: - ImportListExclusion parameters: - name: id in: path required: true schema: type: integer format: int32 responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/ImportListExclusionResource" /api/v3/importlistexclusion/bulk: delete: tags: - ImportListExclusion requestBody: content: application/json: schema: $ref: "#/components/schemas/ImportListExclusionBulkResource" text/json: schema: $ref: "#/components/schemas/ImportListExclusionBulkResource" application/*+json: schema: $ref: "#/components/schemas/ImportListExclusionBulkResource" responses: "200": description: OK /api/v3/indexer: get: tags: - Indexer responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/IndexerResource" post: tags: - Indexer parameters: - name: forceSave in: query schema: type: boolean default: false requestBody: content: application/json: schema: $ref: "#/components/schemas/IndexerResource" responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/IndexerResource" /api/v3/indexer/{id}: put: tags: - Indexer 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/IndexerResource" responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/IndexerResource" delete: tags: - Indexer parameters: - name: id in: path required: true schema: type: integer format: int32 responses: "200": description: OK get: tags: - Indexer parameters: - name: id in: path required: true schema: type: integer format: int32 responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/IndexerResource" /api/v3/indexer/bulk: put: tags: - Indexer requestBody: content: application/json: schema: $ref: "#/components/schemas/IndexerBulkResource" responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/IndexerResource" delete: tags: - Indexer requestBody: content: application/json: schema: $ref: "#/components/schemas/IndexerBulkResource" responses: "200": description: OK /api/v3/indexer/schema: get: tags: - Indexer responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/IndexerResource" /api/v3/indexer/test: post: tags: - Indexer parameters: - name: forceTest in: query schema: type: boolean default: false requestBody: content: application/json: schema: $ref: "#/components/schemas/IndexerResource" responses: "200": description: OK /api/v3/indexer/testall: post: tags: - Indexer responses: "200": description: OK /api/v3/indexer/action/{name}: post: tags: - Indexer parameters: - name: name in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/IndexerResource" responses: "200": description: OK /api/v3/config/indexer: get: tags: - IndexerConfig responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/IndexerConfigResource" /api/v3/config/indexer/{id}: put: tags: - IndexerConfig parameters: - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/IndexerConfigResource" responses: "200": description: OK content: text/plain: schema: $ref: "#/components/schemas/IndexerConfigResource" application/json: schema: $ref: "#/components/schemas/IndexerConfigResource" text/json: schema: $ref: "#/components/schemas/IndexerConfigResource" get: tags: - IndexerConfig parameters: - name: id in: path required: true schema: type: integer format: int32 responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/IndexerConfigResource" /api/v3/indexerflag: get: tags: - IndexerFlag responses: "200": description: OK content: text/plain: schema: type: array items: $ref: "#/components/schemas/IndexerFlagResource" application/json: schema: type: array items: $ref: "#/components/schemas/IndexerFlagResource" text/json: schema: type: array items: $ref: "#/components/schemas/IndexerFlagResource" /api/v3/language: get: tags: - Language responses: "200": description: OK content: text/plain: schema: type: array items: $ref: "#/components/schemas/LanguageResource" application/json: schema: type: array items: $ref: "#/components/schemas/LanguageResource" text/json: schema: type: array items: $ref: "#/components/schemas/LanguageResource" /api/v3/language/{id}: get: tags: - Language parameters: - name: id in: path required: true schema: type: integer format: int32 responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/LanguageResource" /api/v3/languageprofile: post: tags: - LanguageProfile requestBody: content: application/json: schema: $ref: "#/components/schemas/LanguageProfileResource" responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/LanguageProfileResource" deprecated: true get: tags: - LanguageProfile responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/LanguageProfileResource" deprecated: true /api/v3/languageprofile/{id}: delete: tags: - LanguageProfile parameters: - name: id in: path required: true schema: type: integer format: int32 responses: "200": description: OK deprecated: true put: tags: - LanguageProfile parameters: - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/LanguageProfileResource" responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/LanguageProfileResource" deprecated: true get: tags: - LanguageProfile parameters: - name: id in: path required: true schema: type: integer format: int32 responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/LanguageProfileResource" /api/v3/languageprofile/schema: get: tags: - LanguageProfileSchema responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/LanguageProfileResource" deprecated: true /api/v3/localization: get: tags: - Localization responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/LocalizationResource" /api/v3/localization/language: get: tags: - Localization responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/LocalizationLanguageResource" /api/v3/localization/{id}: get: tags: - Localization parameters: - name: id in: path required: true schema: type: integer format: int32 responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/LocalizationResource" /api/v3/log: get: tags: - Log parameters: - name: page in: query schema: type: integer format: int32 default: 1 - name: pageSize in: query schema: type: integer format: int32 default: 10 - name: sortKey in: query schema: type: string - name: sortDirection in: query schema: $ref: "#/components/schemas/SortDirection" - name: level in: query schema: type: string responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/LogResourcePagingResource" /api/v3/log/file: get: tags: - LogFile responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/LogFileResource" /api/v3/log/file/{filename}: get: tags: - LogFile parameters: - name: filename in: path required: true schema: pattern: "[-.a-zA-Z0-9]+?\\.txt" type: string responses: "200": description: OK /api/v3/manualimport: get: tags: - ManualImport parameters: - name: folder in: query schema: type: string - name: downloadId in: query schema: type: string - name: seriesId in: query schema: type: integer format: int32 - name: seasonNumber in: query schema: type: integer format: int32 - name: filterExistingFiles in: query schema: type: boolean default: true responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/ManualImportResource" post: tags: - ManualImport requestBody: content: application/json: schema: type: array items: $ref: "#/components/schemas/ManualImportReprocessResource" responses: "200": description: OK /api/v3/mediacover/{seriesId}/{filename}: get: tags: - MediaCover parameters: - name: seriesId in: path required: true schema: type: integer format: int32 - name: filename in: path required: true schema: pattern: (.+)\.(jpg|png|gif) type: string responses: "200": description: OK /api/v3/config/mediamanagement: get: tags: - MediaManagementConfig responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/MediaManagementConfigResource" /api/v3/config/mediamanagement/{id}: put: tags: - MediaManagementConfig parameters: - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/MediaManagementConfigResource" responses: "200": description: OK content: text/plain: schema: $ref: "#/components/schemas/MediaManagementConfigResource" application/json: schema: $ref: "#/components/schemas/MediaManagementConfigResource" text/json: schema: $ref: "#/components/schemas/MediaManagementConfigResource" get: tags: - MediaManagementConfig parameters: - name: id in: path required: true schema: type: integer format: int32 responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/MediaManagementConfigResource" /api/v3/metadata: get: tags: - Metadata responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/MetadataResource" post: tags: - Metadata parameters: - name: forceSave in: query schema: type: boolean default: false requestBody: content: application/json: schema: $ref: "#/components/schemas/MetadataResource" responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/MetadataResource" /api/v3/metadata/{id}: put: tags: - Metadata 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/MetadataResource" responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/MetadataResource" delete: tags: - Metadata parameters: - name: id in: path required: true schema: type: integer format: int32 responses: "200": description: OK get: tags: - Metadata parameters: - name: id in: path required: true schema: type: integer format: int32 responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/MetadataResource" /api/v3/metadata/schema: get: tags: - Metadata responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/MetadataResource" /api/v3/metadata/test: post: tags: - Metadata parameters: - name: forceTest in: query schema: type: boolean default: false requestBody: content: application/json: schema: $ref: "#/components/schemas/MetadataResource" responses: "200": description: OK /api/v3/metadata/testall: post: tags: - Metadata responses: "200": description: OK /api/v3/metadata/action/{name}: post: tags: - Metadata parameters: - name: name in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/MetadataResource" responses: "200": description: OK /api/v3/wanted/missing: get: tags: - Missing parameters: - name: page in: query schema: type: integer format: int32 default: 1 - name: pageSize in: query schema: type: integer format: int32 default: 10 - name: sortKey in: query schema: type: string - name: sortDirection in: query schema: $ref: "#/components/schemas/SortDirection" - name: includeSeries in: query schema: type: boolean default: false - name: includeImages in: query schema: type: boolean default: false - name: monitored in: query schema: type: boolean default: true responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/EpisodeResourcePagingResource" /api/v3/wanted/missing/{id}: get: tags: - Missing parameters: - name: id in: path required: true schema: type: integer format: int32 responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/EpisodeResource" /api/v3/config/naming: get: tags: - NamingConfig responses: "200": description: OK content: text/plain: schema: $ref: "#/components/schemas/NamingConfigResource" application/json: schema: $ref: "#/components/schemas/NamingConfigResource" text/json: schema: $ref: "#/components/schemas/NamingConfigResource" /api/v3/config/naming/{id}: put: tags: - NamingConfig parameters: - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/NamingConfigResource" text/json: schema: $ref: "#/components/schemas/NamingConfigResource" application/*+json: schema: $ref: "#/components/schemas/NamingConfigResource" responses: "200": description: OK content: text/plain: schema: $ref: "#/components/schemas/NamingConfigResource" application/json: schema: $ref: "#/components/schemas/NamingConfigResource" text/json: schema: $ref: "#/components/schemas/NamingConfigResource" get: tags: - NamingConfig parameters: - name: id in: path required: true schema: type: integer format: int32 responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/NamingConfigResource" /api/v3/config/naming/examples: get: tags: - NamingConfig parameters: - name: renameEpisodes in: query schema: type: boolean - name: replaceIllegalCharacters in: query schema: type: boolean - name: colonReplacementFormat in: query schema: type: integer format: int32 - name: customColonReplacementFormat in: query schema: type: string - name: multiEpisodeStyle in: query schema: type: integer format: int32 - name: standardEpisodeFormat in: query schema: type: string - name: dailyEpisodeFormat in: query schema: type: string - name: animeEpisodeFormat in: query schema: type: string - name: seriesFolderFormat in: query schema: type: string - name: seasonFolderFormat in: query schema: type: string - name: specialsFolderFormat in: query schema: type: string - name: id in: query schema: type: integer format: int32 - name: resourceName in: query schema: type: string responses: "200": description: OK /api/v3/notification: get: tags: - Notification responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/NotificationResource" 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" /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" delete: tags: - Notification parameters: - name: id in: path required: true schema: type: integer format: int32 responses: "200": description: OK 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" /api/v3/notification/schema: get: tags: - Notification responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/NotificationResource" /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 /api/v3/notification/testall: post: tags: - Notification responses: "200": description: OK /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 /api/v3/parse: get: tags: - Parse parameters: - name: title in: query schema: type: string - name: path in: query schema: type: string responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/ParseResource" /ping: get: tags: - Ping responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/PingResource" head: tags: - Ping responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/PingResource" /api/v3/qualitydefinition/{id}: put: tags: - QualityDefinition parameters: - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/QualityDefinitionResource" text/json: schema: $ref: "#/components/schemas/QualityDefinitionResource" application/*+json: schema: $ref: "#/components/schemas/QualityDefinitionResource" responses: "200": description: OK content: text/plain: schema: $ref: "#/components/schemas/QualityDefinitionResource" application/json: schema: $ref: "#/components/schemas/QualityDefinitionResource" text/json: schema: $ref: "#/components/schemas/QualityDefinitionResource" get: tags: - QualityDefinition parameters: - name: id in: path required: true schema: type: integer format: int32 responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/QualityDefinitionResource" /api/v3/qualitydefinition: get: tags: - QualityDefinition responses: "200": description: OK content: text/plain: schema: type: array items: $ref: "#/components/schemas/QualityDefinitionResource" application/json: schema: type: array items: $ref: "#/components/schemas/QualityDefinitionResource" text/json: schema: type: array items: $ref: "#/components/schemas/QualityDefinitionResource" /api/v3/qualitydefinition/update: put: tags: - QualityDefinition requestBody: content: application/json: schema: type: array items: $ref: "#/components/schemas/QualityDefinitionResource" text/json: schema: type: array items: $ref: "#/components/schemas/QualityDefinitionResource" application/*+json: schema: type: array items: $ref: "#/components/schemas/QualityDefinitionResource" responses: "200": description: OK /api/v3/qualitydefinition/limits: get: tags: - QualityDefinition responses: "200": description: OK content: text/plain: schema: $ref: "#/components/schemas/QualityDefinitionLimitsResource" application/json: schema: $ref: "#/components/schemas/QualityDefinitionLimitsResource" text/json: schema: $ref: "#/components/schemas/QualityDefinitionLimitsResource" /api/v3/qualityprofile: post: tags: - QualityProfile requestBody: content: application/json: schema: $ref: "#/components/schemas/QualityProfileResource" responses: "200": description: OK content: text/plain: schema: $ref: "#/components/schemas/QualityProfileResource" application/json: schema: $ref: "#/components/schemas/QualityProfileResource" text/json: schema: $ref: "#/components/schemas/QualityProfileResource" get: tags: - QualityProfile responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/QualityProfileResource" /api/v3/qualityprofile/{id}: delete: tags: - QualityProfile parameters: - name: id in: path required: true schema: type: integer format: int32 responses: "200": description: OK put: tags: - QualityProfile parameters: - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/QualityProfileResource" responses: "200": description: OK content: text/plain: schema: $ref: "#/components/schemas/QualityProfileResource" application/json: schema: $ref: "#/components/schemas/QualityProfileResource" text/json: schema: $ref: "#/components/schemas/QualityProfileResource" get: tags: - QualityProfile parameters: - name: id in: path required: true schema: type: integer format: int32 responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/QualityProfileResource" /api/v3/qualityprofile/schema: get: tags: - QualityProfileSchema responses: "200": description: OK content: text/plain: schema: $ref: "#/components/schemas/QualityProfileResource" application/json: schema: $ref: "#/components/schemas/QualityProfileResource" text/json: schema: $ref: "#/components/schemas/QualityProfileResource" /api/v3/queue/{id}: delete: tags: - Queue parameters: - name: id in: path required: true schema: type: integer format: int32 - name: removeFromClient in: query schema: type: boolean default: true - name: blocklist in: query schema: type: boolean default: false - name: skipRedownload in: query schema: type: boolean default: false - name: changeCategory in: query schema: type: boolean default: false responses: "200": description: OK /api/v3/queue/bulk: delete: tags: - Queue parameters: - name: removeFromClient in: query schema: type: boolean default: true - name: blocklist in: query schema: type: boolean default: false - name: skipRedownload in: query schema: type: boolean default: false - name: changeCategory in: query schema: type: boolean default: false requestBody: content: application/json: schema: $ref: "#/components/schemas/QueueBulkResource" text/json: schema: $ref: "#/components/schemas/QueueBulkResource" application/*+json: schema: $ref: "#/components/schemas/QueueBulkResource" responses: "200": description: OK /api/v3/queue: get: tags: - Queue parameters: - name: page in: query schema: type: integer format: int32 default: 1 - name: pageSize in: query schema: type: integer format: int32 default: 10 - name: sortKey in: query schema: type: string - name: sortDirection in: query schema: $ref: "#/components/schemas/SortDirection" - name: includeUnknownSeriesItems in: query schema: type: boolean default: false - name: includeSeries in: query schema: type: boolean default: false - name: includeEpisode in: query schema: type: boolean default: false - name: seriesIds in: query schema: type: array items: type: integer format: int32 - name: protocol in: query schema: $ref: "#/components/schemas/DownloadProtocol" - name: languages in: query schema: type: array items: type: integer format: int32 - name: quality in: query schema: type: array items: type: integer format: int32 - name: status in: query schema: type: array items: $ref: "#/components/schemas/QueueStatus" responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/QueueResourcePagingResource" /api/v3/queue/grab/{id}: post: tags: - QueueAction parameters: - name: id in: path required: true schema: type: integer format: int32 responses: "200": description: OK /api/v3/queue/grab/bulk: post: tags: - QueueAction requestBody: content: application/json: schema: $ref: "#/components/schemas/QueueBulkResource" responses: "200": description: OK /api/v3/queue/details: get: tags: - QueueDetails parameters: - name: seriesId in: query schema: type: integer format: int32 - name: episodeIds in: query schema: type: array items: type: integer format: int32 - name: includeSeries in: query schema: type: boolean default: false - name: includeEpisode in: query schema: type: boolean default: false responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/QueueResource" /api/v3/queue/status: get: tags: - QueueStatus responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/QueueStatusResource" /api/v3/release: post: tags: - Release requestBody: content: application/json: schema: $ref: "#/components/schemas/ReleaseResource" responses: "200": description: OK get: tags: - Release parameters: - name: seriesId in: query schema: type: integer format: int32 - name: episodeId in: query schema: type: integer format: int32 - name: seasonNumber in: query schema: type: integer format: int32 responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/ReleaseResource" /api/v3/releaseprofile: post: tags: - ReleaseProfile requestBody: content: application/json: schema: $ref: "#/components/schemas/ReleaseProfileResource" text/json: schema: $ref: "#/components/schemas/ReleaseProfileResource" application/*+json: schema: $ref: "#/components/schemas/ReleaseProfileResource" responses: "200": description: OK content: text/plain: schema: $ref: "#/components/schemas/ReleaseProfileResource" application/json: schema: $ref: "#/components/schemas/ReleaseProfileResource" text/json: schema: $ref: "#/components/schemas/ReleaseProfileResource" get: tags: - ReleaseProfile responses: "200": description: OK content: text/plain: schema: type: array items: $ref: "#/components/schemas/ReleaseProfileResource" application/json: schema: type: array items: $ref: "#/components/schemas/ReleaseProfileResource" text/json: schema: type: array items: $ref: "#/components/schemas/ReleaseProfileResource" /api/v3/releaseprofile/{id}: delete: tags: - ReleaseProfile parameters: - name: id in: path required: true schema: type: integer format: int32 responses: "200": description: OK put: tags: - ReleaseProfile parameters: - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/ReleaseProfileResource" text/json: schema: $ref: "#/components/schemas/ReleaseProfileResource" application/*+json: schema: $ref: "#/components/schemas/ReleaseProfileResource" responses: "200": description: OK content: text/plain: schema: $ref: "#/components/schemas/ReleaseProfileResource" application/json: schema: $ref: "#/components/schemas/ReleaseProfileResource" text/json: schema: $ref: "#/components/schemas/ReleaseProfileResource" get: tags: - ReleaseProfile parameters: - name: id in: path required: true schema: type: integer format: int32 responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/ReleaseProfileResource" /api/v3/release/push: post: tags: - ReleasePush requestBody: content: application/json: schema: $ref: "#/components/schemas/ReleaseResource" responses: "200": description: OK content: text/plain: schema: type: array items: $ref: "#/components/schemas/ReleaseResource" application/json: schema: type: array items: $ref: "#/components/schemas/ReleaseResource" text/json: schema: type: array items: $ref: "#/components/schemas/ReleaseResource" /api/v3/remotepathmapping: post: tags: - RemotePathMapping requestBody: content: application/json: schema: $ref: "#/components/schemas/RemotePathMappingResource" responses: "200": description: OK content: text/plain: schema: $ref: "#/components/schemas/RemotePathMappingResource" application/json: schema: $ref: "#/components/schemas/RemotePathMappingResource" text/json: schema: $ref: "#/components/schemas/RemotePathMappingResource" get: tags: - RemotePathMapping responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/RemotePathMappingResource" /api/v3/remotepathmapping/{id}: delete: tags: - RemotePathMapping parameters: - name: id in: path required: true schema: type: integer format: int32 responses: "200": description: OK put: tags: - RemotePathMapping parameters: - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/RemotePathMappingResource" text/json: schema: $ref: "#/components/schemas/RemotePathMappingResource" application/*+json: schema: $ref: "#/components/schemas/RemotePathMappingResource" responses: "200": description: OK content: text/plain: schema: $ref: "#/components/schemas/RemotePathMappingResource" application/json: schema: $ref: "#/components/schemas/RemotePathMappingResource" text/json: schema: $ref: "#/components/schemas/RemotePathMappingResource" get: tags: - RemotePathMapping parameters: - name: id in: path required: true schema: type: integer format: int32 responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/RemotePathMappingResource" /api/v3/rename: get: tags: - RenameEpisode parameters: - name: seriesId in: query schema: type: integer format: int32 - name: seasonNumber in: query schema: type: integer format: int32 responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/RenameEpisodeResource" /api/v3/rootfolder: post: tags: - RootFolder requestBody: content: application/json: schema: $ref: "#/components/schemas/RootFolderResource" responses: "200": description: OK content: text/plain: schema: $ref: "#/components/schemas/RootFolderResource" application/json: schema: $ref: "#/components/schemas/RootFolderResource" text/json: schema: $ref: "#/components/schemas/RootFolderResource" get: tags: - RootFolder responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/RootFolderResource" /api/v3/rootfolder/{id}: delete: tags: - RootFolder parameters: - name: id in: path required: true schema: type: integer format: int32 responses: "200": description: OK get: tags: - RootFolder parameters: - name: id in: path required: true schema: type: integer format: int32 responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/RootFolderResource" /api/v3/seasonpass: post: tags: - SeasonPass requestBody: content: application/json: schema: $ref: "#/components/schemas/SeasonPassResource" responses: "200": description: OK /api/v3/series: get: tags: - Series parameters: - name: tvdbId in: query schema: type: integer format: int32 - name: includeSeasonImages in: query schema: type: boolean default: false responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/SeriesResource" post: tags: - Series requestBody: content: application/json: schema: $ref: "#/components/schemas/SeriesResource" responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/SeriesResource" /api/v3/series/{id}: get: tags: - Series parameters: - name: id in: path required: true schema: type: integer format: int32 - name: includeSeasonImages in: query schema: type: boolean default: false responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/SeriesResource" put: tags: - Series parameters: - name: moveFiles in: query schema: type: boolean default: false - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/SeriesResource" responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/SeriesResource" delete: tags: - Series parameters: - name: id in: path required: true schema: type: integer format: int32 - name: deleteFiles in: query schema: type: boolean default: false - name: addImportListExclusion in: query schema: type: boolean default: false responses: "200": description: OK /api/v3/series/editor: put: tags: - SeriesEditor requestBody: content: application/json: schema: $ref: "#/components/schemas/SeriesEditorResource" text/json: schema: $ref: "#/components/schemas/SeriesEditorResource" application/*+json: schema: $ref: "#/components/schemas/SeriesEditorResource" responses: "200": description: OK delete: tags: - SeriesEditor requestBody: content: application/json: schema: $ref: "#/components/schemas/SeriesEditorResource" text/json: schema: $ref: "#/components/schemas/SeriesEditorResource" application/*+json: schema: $ref: "#/components/schemas/SeriesEditorResource" responses: "200": description: OK /api/v3/series/{id}/folder: get: tags: - SeriesFolder parameters: - name: id in: path required: true schema: type: integer format: int32 responses: "200": description: OK /api/v3/series/import: post: tags: - SeriesImport requestBody: content: application/json: schema: type: array items: $ref: "#/components/schemas/SeriesResource" text/json: schema: type: array items: $ref: "#/components/schemas/SeriesResource" application/*+json: schema: type: array items: $ref: "#/components/schemas/SeriesResource" responses: "200": description: OK /api/v3/series/lookup: get: tags: - SeriesLookup parameters: - name: term in: query schema: type: string responses: "200": description: OK content: text/plain: schema: type: array items: $ref: "#/components/schemas/SeriesResource" application/json: schema: type: array items: $ref: "#/components/schemas/SeriesResource" text/json: schema: type: array items: $ref: "#/components/schemas/SeriesResource" /content/{path}: get: tags: - StaticResource parameters: - name: path in: path required: true schema: pattern: ^(?!api/).* type: string responses: "200": description: OK /: get: tags: - StaticResource parameters: - name: path in: path required: true schema: type: string responses: "200": description: OK /{path}: get: tags: - StaticResource parameters: - name: path in: path required: true schema: pattern: ^(?!(api|feed)/).* type: string responses: "200": description: OK /api/v3/system/status: get: tags: - System responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/SystemResource" /api/v3/system/routes: get: tags: - System responses: "200": description: OK /api/v3/system/routes/duplicate: get: tags: - System responses: "200": description: OK /api/v3/system/shutdown: post: tags: - System responses: "200": description: OK /api/v3/system/restart: post: tags: - System responses: "200": description: OK /api/v3/tag: get: tags: - Tag responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/TagResource" post: tags: - Tag requestBody: content: application/json: schema: $ref: "#/components/schemas/TagResource" responses: "200": description: OK content: text/plain: schema: $ref: "#/components/schemas/TagResource" application/json: schema: $ref: "#/components/schemas/TagResource" text/json: schema: $ref: "#/components/schemas/TagResource" /api/v3/tag/{id}: put: tags: - Tag parameters: - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/TagResource" responses: "200": description: OK content: text/plain: schema: $ref: "#/components/schemas/TagResource" application/json: schema: $ref: "#/components/schemas/TagResource" text/json: schema: $ref: "#/components/schemas/TagResource" delete: tags: - Tag parameters: - name: id in: path required: true schema: type: integer format: int32 responses: "200": description: OK get: tags: - Tag parameters: - name: id in: path required: true schema: type: integer format: int32 responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/TagResource" /api/v3/tag/detail: get: tags: - TagDetails responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/TagDetailsResource" /api/v3/tag/detail/{id}: get: tags: - TagDetails parameters: - name: id in: path required: true schema: type: integer format: int32 responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/TagDetailsResource" /api/v3/system/task: get: tags: - Task responses: "200": description: OK content: text/plain: schema: type: array items: $ref: "#/components/schemas/TaskResource" application/json: schema: type: array items: $ref: "#/components/schemas/TaskResource" text/json: schema: type: array items: $ref: "#/components/schemas/TaskResource" /api/v3/system/task/{id}: get: tags: - Task parameters: - name: id in: path required: true schema: type: integer format: int32 responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/TaskResource" /api/v3/config/ui/{id}: put: tags: - UiConfig parameters: - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/UiConfigResource" responses: "200": description: OK content: text/plain: schema: $ref: "#/components/schemas/UiConfigResource" application/json: schema: $ref: "#/components/schemas/UiConfigResource" text/json: schema: $ref: "#/components/schemas/UiConfigResource" get: tags: - UiConfig parameters: - name: id in: path required: true schema: type: integer format: int32 responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/UiConfigResource" /api/v3/config/ui: get: tags: - UiConfig responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/UiConfigResource" /api/v3/update: get: tags: - Update responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/UpdateResource" /api/v3/log/file/update: get: tags: - UpdateLogFile responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/LogFileResource" /api/v3/log/file/update/{filename}: get: tags: - UpdateLogFile parameters: - name: filename in: path required: true schema: pattern: "[-.a-zA-Z0-9]+?\\.txt" type: string responses: "200": description: OK components: schemas: AddSeriesOptions: type: object properties: ignoreEpisodesWithFiles: type: boolean ignoreEpisodesWithoutFiles: type: boolean monitor: $ref: "#/components/schemas/MonitorTypes" searchForMissingEpisodes: type: boolean searchForCutoffUnmetEpisodes: type: boolean additionalProperties: false AlternateTitleResource: type: object properties: title: type: - string - "null" seasonNumber: type: - integer - "null" format: int32 sceneSeasonNumber: type: - integer - "null" format: int32 sceneOrigin: type: - string - "null" comment: type: - string - "null" additionalProperties: false ApplyTags: enum: - add - remove - replace type: string AuthenticationRequiredType: enum: - enabled - disabledForLocalAddresses type: string AuthenticationType: enum: - none - basic - forms - external type: string AutoTaggingResource: type: object properties: id: type: integer format: int32 name: type: - string - "null" removeTagsAutomatically: type: boolean tags: uniqueItems: true type: - array - "null" items: type: integer format: int32 specifications: type: - array - "null" items: $ref: "#/components/schemas/AutoTaggingSpecificationSchema" additionalProperties: false AutoTaggingSpecificationSchema: type: object properties: id: type: integer format: int32 name: type: - string - "null" implementation: type: - string - "null" implementationName: type: - string - "null" negate: type: boolean required: type: boolean fields: type: - array - "null" items: $ref: "#/components/schemas/Field" additionalProperties: false BackupResource: type: object properties: id: type: integer format: int32 name: type: - string - "null" path: type: - string - "null" type: $ref: "#/components/schemas/BackupType" size: type: integer format: int64 time: type: string format: date-time additionalProperties: false BackupType: enum: - scheduled - manual - update type: string BlocklistBulkResource: type: object properties: ids: type: - array - "null" items: type: integer format: int32 additionalProperties: false BlocklistResource: type: object properties: id: type: integer format: int32 seriesId: type: integer format: int32 episodeIds: type: - array - "null" items: type: integer format: int32 sourceTitle: type: - string - "null" languages: type: - array - "null" items: $ref: "#/components/schemas/Language" quality: $ref: "#/components/schemas/QualityModel" customFormats: type: - array - "null" items: $ref: "#/components/schemas/CustomFormatResource" date: type: string format: date-time protocol: $ref: "#/components/schemas/DownloadProtocol" indexer: type: - string - "null" message: type: - string - "null" series: $ref: "#/components/schemas/SeriesResource" additionalProperties: false BlocklistResourcePagingResource: type: object properties: page: type: integer format: int32 pageSize: type: integer format: int32 sortKey: type: - string - "null" sortDirection: $ref: "#/components/schemas/SortDirection" totalRecords: type: integer format: int32 records: type: - array - "null" items: $ref: "#/components/schemas/BlocklistResource" additionalProperties: false CertificateValidationType: enum: - enabled - disabledForLocalAddresses - disabled type: string Command: type: object properties: sendUpdatesToClient: type: boolean updateScheduledTask: type: boolean readOnly: true completionMessage: type: - string - "null" readOnly: true requiresDiskAccess: type: boolean readOnly: true isExclusive: type: boolean readOnly: true isLongRunning: type: boolean readOnly: true name: type: - string - "null" readOnly: true lastExecutionTime: type: - string - "null" format: date-time lastStartTime: type: - string - "null" format: date-time trigger: $ref: "#/components/schemas/CommandTrigger" suppressMessages: type: boolean clientUserAgent: type: - string - "null" additionalProperties: false CommandPriority: enum: - normal - high - low type: string CommandResource: type: object properties: id: type: integer format: int32 name: type: - string - "null" commandName: type: - string - "null" message: type: - string - "null" body: $ref: "#/components/schemas/Command" priority: $ref: "#/components/schemas/CommandPriority" status: $ref: "#/components/schemas/CommandStatus" result: $ref: "#/components/schemas/CommandResult" queued: type: string format: date-time started: type: - string - "null" format: date-time ended: type: - string - "null" format: date-time duration: type: - string - "null" format: date-span exception: type: - string - "null" trigger: $ref: "#/components/schemas/CommandTrigger" clientUserAgent: type: - string - "null" stateChangeTime: type: - string - "null" format: date-time sendUpdatesToClient: type: boolean updateScheduledTask: type: boolean lastExecutionTime: type: - string - "null" format: date-time additionalProperties: false CommandResult: enum: - unknown - successful - unsuccessful type: string CommandStatus: enum: - queued - started - completed - failed - aborted - cancelled - orphaned type: string CommandTrigger: enum: - unspecified - manual - scheduled type: string CustomFilterResource: type: object properties: id: type: integer format: int32 type: type: - string - "null" label: type: - string - "null" filters: type: - array - "null" items: type: object additionalProperties: {} additionalProperties: false CustomFormatBulkResource: type: object properties: ids: uniqueItems: true type: - array - "null" items: type: integer format: int32 includeCustomFormatWhenRenaming: type: - boolean - "null" additionalProperties: false CustomFormatResource: type: object properties: id: type: integer format: int32 name: type: - string - "null" includeCustomFormatWhenRenaming: type: - boolean - "null" specifications: type: - array - "null" items: $ref: "#/components/schemas/CustomFormatSpecificationSchema" additionalProperties: false CustomFormatSpecificationSchema: type: object properties: id: type: integer format: int32 name: type: - string - "null" implementation: type: - string - "null" implementationName: type: - string - "null" infoLink: type: - string - "null" negate: type: boolean required: type: boolean fields: type: - array - "null" items: $ref: "#/components/schemas/Field" presets: type: - array - "null" items: $ref: "#/components/schemas/CustomFormatSpecificationSchema" additionalProperties: false DatabaseType: enum: - sqLite - postgreSQL type: string DelayProfileResource: type: object properties: id: type: integer format: int32 enableUsenet: type: boolean enableTorrent: type: boolean preferredProtocol: $ref: "#/components/schemas/DownloadProtocol" usenetDelay: type: integer format: int32 torrentDelay: type: integer format: int32 bypassIfHighestQuality: type: boolean bypassIfAboveCustomFormatScore: type: boolean minimumCustomFormatScore: type: integer format: int32 order: type: integer format: int32 tags: uniqueItems: true type: - array - "null" items: type: integer format: int32 additionalProperties: false DiskSpaceResource: type: object properties: id: type: integer format: int32 path: type: - string - "null" label: type: - string - "null" freeSpace: type: integer format: int64 totalSpace: type: integer format: int64 additionalProperties: false 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 DownloadClientConfigResource: type: object properties: id: type: integer format: int32 downloadClientWorkingFolders: type: - string - "null" enableCompletedDownloadHandling: type: boolean autoRedownloadFailed: type: boolean autoRedownloadFailedFromInteractiveSearch: 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 DownloadProtocol: enum: - unknown - usenet - torrent type: string EpisodeFileListResource: type: object properties: episodeFileIds: type: - array - "null" items: type: integer format: int32 languages: type: - array - "null" items: $ref: "#/components/schemas/Language" quality: $ref: "#/components/schemas/QualityModel" sceneName: type: - string - "null" releaseGroup: type: - string - "null" additionalProperties: false EpisodeFileResource: type: object properties: id: type: integer format: int32 seriesId: type: integer format: int32 seasonNumber: type: integer format: int32 relativePath: type: - string - "null" path: type: - string - "null" size: type: integer format: int64 dateAdded: type: string format: date-time sceneName: type: - string - "null" releaseGroup: type: - string - "null" languages: type: - array - "null" items: $ref: "#/components/schemas/Language" quality: $ref: "#/components/schemas/QualityModel" customFormats: type: - array - "null" items: $ref: "#/components/schemas/CustomFormatResource" customFormatScore: type: integer format: int32 indexerFlags: type: - integer - "null" format: int32 releaseType: $ref: "#/components/schemas/ReleaseType" mediaInfo: $ref: "#/components/schemas/MediaInfoResource" qualityCutoffNotMet: type: boolean additionalProperties: false EpisodeHistoryEventType: enum: - unknown - grabbed - seriesFolderImported - downloadFolderImported - downloadFailed - episodeFileDeleted - episodeFileRenamed - downloadIgnored type: string EpisodeResource: type: object properties: id: type: integer format: int32 seriesId: type: integer format: int32 tvdbId: type: integer format: int32 episodeFileId: type: integer format: int32 seasonNumber: type: integer format: int32 episodeNumber: type: integer format: int32 title: type: - string - "null" airDate: type: - string - "null" airDateUtc: type: - string - "null" format: date-time lastSearchTime: type: - string - "null" format: date-time runtime: type: integer format: int32 finaleType: type: - string - "null" overview: type: - string - "null" episodeFile: $ref: "#/components/schemas/EpisodeFileResource" hasFile: type: boolean monitored: type: boolean absoluteEpisodeNumber: type: - integer - "null" format: int32 sceneAbsoluteEpisodeNumber: type: - integer - "null" format: int32 sceneEpisodeNumber: type: - integer - "null" format: int32 sceneSeasonNumber: type: - integer - "null" format: int32 unverifiedSceneNumbering: type: boolean endTime: type: - string - "null" format: date-time grabDate: type: - string - "null" format: date-time series: $ref: "#/components/schemas/SeriesResource" images: type: - array - "null" items: $ref: "#/components/schemas/MediaCover" additionalProperties: false EpisodeResourcePagingResource: type: object properties: page: type: integer format: int32 pageSize: type: integer format: int32 sortKey: type: - string - "null" sortDirection: $ref: "#/components/schemas/SortDirection" totalRecords: type: integer format: int32 records: type: - array - "null" items: $ref: "#/components/schemas/EpisodeResource" additionalProperties: false EpisodeTitleRequiredType: enum: - always - bulkSeasonReleases - never type: string EpisodesMonitoredResource: type: object properties: episodeIds: type: - array - "null" items: type: integer format: int32 monitored: type: boolean 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: nullable: true 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 FileDateType: enum: - none - localAirDate - utcAirDate type: string HealthCheckResult: enum: - ok - notice - warning - error type: string HealthResource: type: object properties: id: type: integer format: int32 source: type: - string - "null" type: $ref: "#/components/schemas/HealthCheckResult" message: type: - string - "null" wikiUrl: $ref: "#/components/schemas/HttpUri" additionalProperties: false HistoryResource: type: object properties: id: type: integer format: int32 episodeId: type: integer format: int32 seriesId: type: integer format: int32 sourceTitle: type: - string - "null" languages: type: - array - "null" items: $ref: "#/components/schemas/Language" quality: $ref: "#/components/schemas/QualityModel" customFormats: type: - array - "null" items: $ref: "#/components/schemas/CustomFormatResource" customFormatScore: type: integer format: int32 qualityCutoffNotMet: type: boolean date: type: string format: date-time downloadId: type: - string - "null" eventType: $ref: "#/components/schemas/EpisodeHistoryEventType" data: type: - object - "null" additionalProperties: type: - string - "null" episode: $ref: "#/components/schemas/EpisodeResource" series: $ref: "#/components/schemas/SeriesResource" additionalProperties: false HistoryResourcePagingResource: type: object properties: page: type: integer format: int32 pageSize: type: integer format: int32 sortKey: type: - string - "null" sortDirection: $ref: "#/components/schemas/SortDirection" totalRecords: type: integer format: int32 records: type: - array - "null" items: $ref: "#/components/schemas/HistoryResource" additionalProperties: false HostConfigResource: type: object properties: id: type: integer format: int32 bindAddress: type: - string - "null" port: type: integer format: int32 sslPort: type: integer format: int32 enableSsl: type: boolean launchBrowser: type: boolean authenticationMethod: $ref: "#/components/schemas/AuthenticationType" authenticationRequired: $ref: "#/components/schemas/AuthenticationRequiredType" analyticsEnabled: type: boolean username: type: - string - "null" password: type: - string - "null" passwordConfirmation: type: - string - "null" logLevel: type: - string - "null" logSizeLimit: type: integer format: int32 consoleLogLevel: type: - string - "null" branch: type: - string - "null" apiKey: type: - string - "null" sslCertPath: type: - string - "null" sslCertPassword: type: - string - "null" urlBase: type: - string - "null" instanceName: type: - string - "null" applicationUrl: type: - string - "null" updateAutomatically: type: boolean updateMechanism: $ref: "#/components/schemas/UpdateMechanism" updateScriptPath: type: - string - "null" proxyEnabled: type: boolean proxyType: $ref: "#/components/schemas/ProxyType" proxyHostname: type: - string - "null" proxyPort: type: integer format: int32 proxyUsername: type: - string - "null" proxyPassword: type: - string - "null" proxyBypassFilter: type: - string - "null" proxyBypassLocalAddresses: type: boolean certificateValidation: $ref: "#/components/schemas/CertificateValidationType" backupFolder: type: - string - "null" backupInterval: type: integer format: int32 backupRetention: type: integer format: int32 trustCgnatIpAddresses: type: boolean additionalProperties: false HttpUri: type: object properties: fullUri: type: - string - "null" readOnly: true scheme: type: - string - "null" readOnly: true host: type: - string - "null" readOnly: true port: type: - integer - "null" format: int32 readOnly: true path: type: - string - "null" readOnly: true query: type: - string - "null" readOnly: true fragment: type: - string - "null" readOnly: true additionalProperties: false ImportListBulkResource: 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" enableAutomaticAdd: type: - boolean - "null" rootFolderPath: type: - string - "null" qualityProfileId: type: - integer - "null" format: int32 additionalProperties: false ImportListConfigResource: type: object properties: id: type: integer format: int32 listSyncLevel: $ref: "#/components/schemas/ListSyncLevelType" listSyncTag: type: integer format: int32 additionalProperties: false ImportListExclusionBulkResource: type: object properties: ids: uniqueItems: true type: - array - "null" items: type: integer format: int32 additionalProperties: false ImportListExclusionResource: type: object properties: id: type: integer format: int32 tvdbId: type: integer format: int32 title: type: - string - "null" additionalProperties: false ImportListExclusionResourcePagingResource: type: object properties: page: type: integer format: int32 pageSize: type: integer format: int32 sortKey: type: - string - "null" sortDirection: $ref: "#/components/schemas/SortDirection" totalRecords: type: integer format: int32 records: type: - array - "null" items: $ref: "#/components/schemas/ImportListExclusionResource" additionalProperties: false ImportListResource: 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/ImportListResource" enableAutomaticAdd: type: boolean searchForMissingEpisodes: type: boolean shouldMonitor: $ref: "#/components/schemas/MonitorTypes" monitorNewItems: $ref: "#/components/schemas/NewItemMonitorTypes" rootFolderPath: type: - string - "null" qualityProfileId: type: integer format: int32 seriesType: $ref: "#/components/schemas/SeriesTypes" seasonFolder: type: boolean listType: $ref: "#/components/schemas/ImportListType" listOrder: type: integer format: int32 minRefreshInterval: type: string format: date-span additionalProperties: false ImportListType: enum: - program - plex - trakt - simkl - other - advanced type: string ImportRejectionResource: type: object properties: reason: type: - string - "null" type: $ref: "#/components/schemas/RejectionType" additionalProperties: false IndexerBulkResource: 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" enableRss: type: - boolean - "null" enableAutomaticSearch: type: - boolean - "null" enableInteractiveSearch: type: - boolean - "null" priority: type: - integer - "null" format: int32 additionalProperties: false IndexerConfigResource: type: object properties: id: type: integer format: int32 minimumAge: type: integer format: int32 retention: type: integer format: int32 maximumSize: type: integer format: int32 rssSyncInterval: type: integer format: int32 additionalProperties: false IndexerFlagResource: type: object properties: id: type: integer format: int32 name: type: - string - "null" nameLower: type: - string - "null" readOnly: true additionalProperties: false IndexerResource: 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/IndexerResource" enableRss: type: boolean enableAutomaticSearch: type: boolean enableInteractiveSearch: type: boolean supportsRss: type: boolean supportsSearch: type: boolean protocol: $ref: "#/components/schemas/DownloadProtocol" priority: type: integer format: int32 seasonSearchMaximumSingleEpisodeAge: type: integer format: int32 downloadClientId: type: integer format: int32 additionalProperties: false Language: type: object properties: id: type: integer format: int32 name: type: - string - "null" additionalProperties: false LanguageProfileItemResource: type: object properties: id: type: integer format: int32 language: $ref: "#/components/schemas/Language" allowed: type: boolean additionalProperties: false LanguageProfileResource: type: object properties: id: type: integer format: int32 name: type: - string - "null" upgradeAllowed: type: boolean cutoff: $ref: "#/components/schemas/Language" languages: type: - array - "null" items: $ref: "#/components/schemas/LanguageProfileItemResource" additionalProperties: false LanguageResource: type: object properties: id: type: integer format: int32 name: type: - string - "null" nameLower: type: - string - "null" readOnly: true additionalProperties: false ListSyncLevelType: enum: - disabled - logOnly - keepAndUnmonitor - keepAndTag type: string LocalizationLanguageResource: type: object properties: identifier: type: - string - "null" additionalProperties: false LocalizationResource: type: object properties: id: type: integer format: int32 strings: type: - object - "null" additionalProperties: type: - string - "null" additionalProperties: false LogFileResource: type: object properties: id: type: integer format: int32 filename: type: - string - "null" lastWriteTime: type: string format: date-time contentsUrl: type: - string - "null" downloadUrl: type: - string - "null" additionalProperties: false LogResource: type: object properties: id: type: integer format: int32 time: type: string format: date-time exception: type: - string - "null" exceptionType: type: - string - "null" level: type: - string - "null" logger: type: - string - "null" message: type: - string - "null" method: type: - string - "null" additionalProperties: false LogResourcePagingResource: type: object properties: page: type: integer format: int32 pageSize: type: integer format: int32 sortKey: type: - string - "null" sortDirection: $ref: "#/components/schemas/SortDirection" totalRecords: type: integer format: int32 records: type: - array - "null" items: $ref: "#/components/schemas/LogResource" additionalProperties: false ManualImportReprocessResource: type: object properties: id: type: integer format: int32 path: type: - string - "null" seriesId: type: integer format: int32 seasonNumber: type: - integer - "null" format: int32 episodes: type: - array - "null" items: $ref: "#/components/schemas/EpisodeResource" episodeIds: type: - array - "null" items: type: integer format: int32 quality: $ref: "#/components/schemas/QualityModel" languages: type: - array - "null" items: $ref: "#/components/schemas/Language" releaseGroup: type: - string - "null" downloadId: type: - string - "null" customFormats: type: - array - "null" items: $ref: "#/components/schemas/CustomFormatResource" customFormatScore: type: integer format: int32 indexerFlags: type: integer format: int32 releaseType: $ref: "#/components/schemas/ReleaseType" rejections: type: - array - "null" items: $ref: "#/components/schemas/ImportRejectionResource" additionalProperties: false ManualImportResource: type: object properties: id: type: integer format: int32 path: type: - string - "null" relativePath: type: - string - "null" folderName: type: - string - "null" name: type: - string - "null" size: type: integer format: int64 series: $ref: "#/components/schemas/SeriesResource" seasonNumber: type: - integer - "null" format: int32 episodes: type: - array - "null" items: $ref: "#/components/schemas/EpisodeResource" episodeFileId: type: - integer - "null" format: int32 releaseGroup: type: - string - "null" quality: $ref: "#/components/schemas/QualityModel" languages: type: - array - "null" items: $ref: "#/components/schemas/Language" qualityWeight: type: integer format: int32 downloadId: type: - string - "null" customFormats: type: - array - "null" items: $ref: "#/components/schemas/CustomFormatResource" customFormatScore: type: integer format: int32 indexerFlags: type: integer format: int32 releaseType: $ref: "#/components/schemas/ReleaseType" rejections: type: - array - "null" items: $ref: "#/components/schemas/ImportRejectionResource" additionalProperties: false MediaCover: type: object properties: coverType: $ref: "#/components/schemas/MediaCoverTypes" url: type: - string - "null" remoteUrl: type: - string - "null" additionalProperties: false MediaCoverTypes: enum: - unknown - poster - banner - fanart - screenshot - headshot - clearlogo type: string MediaInfoResource: type: object properties: id: type: integer format: int32 audioBitrate: type: integer format: int64 audioChannels: type: number format: double audioCodec: type: - string - "null" audioLanguages: type: - string - "null" audioStreamCount: type: integer format: int32 videoBitDepth: type: integer format: int32 videoBitrate: type: integer format: int64 videoCodec: type: - string - "null" videoFps: type: number format: double videoDynamicRange: type: - string - "null" videoDynamicRangeType: type: - string - "null" resolution: type: - string - "null" runTime: type: - string - "null" scanType: type: - string - "null" subtitles: type: - string - "null" additionalProperties: false MediaManagementConfigResource: type: object properties: id: type: integer format: int32 autoUnmonitorPreviouslyDownloadedEpisodes: type: boolean recycleBin: type: - string - "null" recycleBinCleanupDays: type: integer format: int32 downloadPropersAndRepacks: $ref: "#/components/schemas/ProperDownloadTypes" createEmptySeriesFolders: type: boolean deleteEmptyFolders: type: boolean fileDate: $ref: "#/components/schemas/FileDateType" rescanAfterRefresh: $ref: "#/components/schemas/RescanAfterRefreshType" setPermissionsLinux: type: boolean chmodFolder: type: - string - "null" chownGroup: type: - string - "null" episodeTitleRequired: $ref: "#/components/schemas/EpisodeTitleRequiredType" skipFreeSpaceCheckWhenImporting: type: boolean minimumFreeSpaceWhenImporting: type: integer format: int32 copyUsingHardlinks: type: boolean useScriptImport: type: boolean scriptImportPath: type: - string - "null" importExtraFiles: type: boolean extraFileExtensions: type: - string - "null" enableMediaInfo: type: boolean additionalProperties: false MetadataResource: 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/MetadataResource" enable: type: boolean additionalProperties: false MonitorTypes: enum: - unknown - all - future - missing - existing - firstSeason - lastSeason - latestSeason - pilot - recent - monitorSpecials - unmonitorSpecials - none - skip type: string MonitoringOptions: type: object properties: ignoreEpisodesWithFiles: type: boolean ignoreEpisodesWithoutFiles: type: boolean monitor: $ref: "#/components/schemas/MonitorTypes" additionalProperties: false NamingConfigResource: type: object properties: id: type: integer format: int32 renameEpisodes: type: boolean replaceIllegalCharacters: type: boolean colonReplacementFormat: type: integer format: int32 customColonReplacementFormat: type: - string - "null" multiEpisodeStyle: type: integer format: int32 standardEpisodeFormat: type: - string - "null" dailyEpisodeFormat: type: - string - "null" animeEpisodeFormat: type: - string - "null" seriesFolderFormat: type: - string - "null" seasonFolderFormat: type: - string - "null" specialsFolderFormat: type: - string - "null" additionalProperties: false NewItemMonitorTypes: enum: - all - none type: string 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 ParseResource: type: object properties: id: type: integer format: int32 title: type: - string - "null" parsedEpisodeInfo: $ref: "#/components/schemas/ParsedEpisodeInfo" series: $ref: "#/components/schemas/SeriesResource" episodes: type: - array - "null" items: $ref: "#/components/schemas/EpisodeResource" languages: type: - array - "null" items: $ref: "#/components/schemas/Language" customFormats: type: - array - "null" items: $ref: "#/components/schemas/CustomFormatResource" customFormatScore: type: integer format: int32 additionalProperties: false ParsedEpisodeInfo: type: object properties: releaseTitle: type: - string - "null" seriesTitle: type: - string - "null" seriesTitleInfo: $ref: "#/components/schemas/SeriesTitleInfo" quality: $ref: "#/components/schemas/QualityModel" seasonNumber: type: integer format: int32 episodeNumbers: type: - array - "null" items: type: integer format: int32 absoluteEpisodeNumbers: type: - array - "null" items: type: integer format: int32 specialAbsoluteEpisodeNumbers: type: - array - "null" items: type: number format: double airDate: type: - string - "null" languages: type: - array - "null" items: $ref: "#/components/schemas/Language" fullSeason: type: boolean isPartialSeason: type: boolean isMultiSeason: type: boolean isSeasonExtra: type: boolean isSplitEpisode: type: boolean isMiniSeries: type: boolean special: type: boolean releaseGroup: type: - string - "null" releaseHash: type: - string - "null" seasonPart: type: integer format: int32 releaseTokens: type: - string - "null" dailyPart: type: - integer - "null" format: int32 isDaily: type: boolean readOnly: true isAbsoluteNumbering: type: boolean readOnly: true isPossibleSpecialEpisode: type: boolean readOnly: true isPossibleSceneSeasonSpecial: type: boolean readOnly: true releaseType: $ref: "#/components/schemas/ReleaseType" additionalProperties: false PingResource: type: object properties: status: type: - string - "null" additionalProperties: false PrivacyLevel: enum: - normal - password - apiKey - userName type: string ProfileFormatItemResource: type: object properties: id: type: integer format: int32 format: type: integer format: int32 name: type: - string - "null" score: type: integer format: int32 additionalProperties: false ProperDownloadTypes: enum: - preferAndUpgrade - doNotUpgrade - doNotPrefer type: string ProviderMessage: type: object properties: message: type: - string - "null" type: $ref: "#/components/schemas/ProviderMessageType" additionalProperties: false ProviderMessageType: enum: - info - warning - error type: string ProxyType: enum: - http - socks4 - socks5 type: string Quality: type: object properties: id: type: integer format: int32 name: type: - string - "null" source: $ref: "#/components/schemas/QualitySource" resolution: type: integer format: int32 additionalProperties: false QualityDefinitionLimitsResource: type: object properties: min: type: integer format: int32 max: type: integer format: int32 additionalProperties: false QualityDefinitionResource: type: object properties: id: type: integer format: int32 quality: $ref: "#/components/schemas/Quality" title: type: - string - "null" weight: type: integer format: int32 minSize: type: - number - "null" format: double maxSize: type: - number - "null" format: double preferredSize: type: - number - "null" format: double additionalProperties: false QualityModel: type: object properties: quality: $ref: "#/components/schemas/Quality" revision: $ref: "#/components/schemas/Revision" additionalProperties: false QualityProfileQualityItemResource: type: object properties: id: type: integer format: int32 name: type: - string - "null" quality: $ref: "#/components/schemas/Quality" items: type: - array - "null" items: $ref: "#/components/schemas/QualityProfileQualityItemResource" allowed: type: boolean additionalProperties: false QualityProfileResource: type: object properties: id: type: integer format: int32 name: type: - string - "null" upgradeAllowed: type: boolean cutoff: type: integer format: int32 items: type: - array - "null" items: $ref: "#/components/schemas/QualityProfileQualityItemResource" minFormatScore: type: integer format: int32 cutoffFormatScore: type: integer format: int32 minUpgradeFormatScore: type: integer format: int32 formatItems: type: - array - "null" items: $ref: "#/components/schemas/ProfileFormatItemResource" additionalProperties: false QualitySource: enum: - unknown - television - televisionRaw - web - webRip - dvd - bluray - blurayRaw type: string QueueBulkResource: type: object properties: ids: type: - array - "null" items: type: integer format: int32 additionalProperties: false QueueResource: type: object properties: id: type: integer format: int32 seriesId: type: - integer - "null" format: int32 episodeId: type: - integer - "null" format: int32 seasonNumber: type: - integer - "null" format: int32 series: $ref: "#/components/schemas/SeriesResource" episode: $ref: "#/components/schemas/EpisodeResource" languages: type: - array - "null" items: $ref: "#/components/schemas/Language" quality: $ref: "#/components/schemas/QualityModel" customFormats: type: - array - "null" items: $ref: "#/components/schemas/CustomFormatResource" customFormatScore: type: integer format: int32 size: type: number format: double title: type: - string - "null" estimatedCompletionTime: type: - string - "null" format: date-time added: type: - string - "null" format: date-time status: $ref: "#/components/schemas/QueueStatus" trackedDownloadStatus: $ref: "#/components/schemas/TrackedDownloadStatus" trackedDownloadState: $ref: "#/components/schemas/TrackedDownloadState" statusMessages: type: - array - "null" items: $ref: "#/components/schemas/TrackedDownloadStatusMessage" errorMessage: type: - string - "null" downloadId: type: - string - "null" protocol: $ref: "#/components/schemas/DownloadProtocol" downloadClient: type: - string - "null" downloadClientHasPostImportCategory: type: boolean indexer: type: - string - "null" outputPath: type: - string - "null" episodeHasFile: type: boolean sizeleft: type: number format: double deprecated: true timeleft: type: - string - "null" format: date-span deprecated: true additionalProperties: false QueueResourcePagingResource: type: object properties: page: type: integer format: int32 pageSize: type: integer format: int32 sortKey: type: - string - "null" sortDirection: $ref: "#/components/schemas/SortDirection" totalRecords: type: integer format: int32 records: type: - array - "null" items: $ref: "#/components/schemas/QueueResource" additionalProperties: false QueueStatus: enum: - unknown - queued - paused - downloading - completed - failed - warning - delay - downloadClientUnavailable - fallback type: string QueueStatusResource: type: object properties: id: type: integer format: int32 totalCount: type: integer format: int32 count: type: integer format: int32 unknownCount: type: integer format: int32 errors: type: boolean warnings: type: boolean unknownErrors: type: boolean unknownWarnings: type: boolean additionalProperties: false Ratings: type: object properties: votes: type: integer format: int32 value: type: number format: double additionalProperties: false RejectionType: enum: - permanent - temporary type: string ReleaseEpisodeResource: type: object properties: id: type: integer format: int32 seasonNumber: type: integer format: int32 episodeNumber: type: integer format: int32 absoluteEpisodeNumber: type: - integer - "null" format: int32 title: type: - string - "null" additionalProperties: false ReleaseProfileResource: type: object properties: id: type: integer format: int32 name: type: - string - "null" enabled: type: boolean required: nullable: true ignored: nullable: true indexerId: type: integer format: int32 tags: uniqueItems: true type: - array - "null" items: type: integer format: int32 additionalProperties: false ReleaseResource: type: object properties: id: type: integer format: int32 guid: type: - string - "null" quality: $ref: "#/components/schemas/QualityModel" qualityWeight: type: integer format: int32 age: type: integer format: int32 ageHours: type: number format: double ageMinutes: type: number format: double size: type: integer format: int64 indexerId: type: integer format: int32 indexer: type: - string - "null" releaseGroup: type: - string - "null" subGroup: type: - string - "null" releaseHash: type: - string - "null" title: type: - string - "null" fullSeason: type: boolean sceneSource: type: boolean seasonNumber: type: integer format: int32 languages: type: - array - "null" items: $ref: "#/components/schemas/Language" languageWeight: type: integer format: int32 airDate: type: - string - "null" seriesTitle: type: - string - "null" episodeNumbers: type: - array - "null" items: type: integer format: int32 absoluteEpisodeNumbers: type: - array - "null" items: type: integer format: int32 mappedSeasonNumber: type: - integer - "null" format: int32 mappedEpisodeNumbers: type: - array - "null" items: type: integer format: int32 mappedAbsoluteEpisodeNumbers: type: - array - "null" items: type: integer format: int32 mappedSeriesId: type: - integer - "null" format: int32 mappedEpisodeInfo: type: - array - "null" items: $ref: "#/components/schemas/ReleaseEpisodeResource" approved: type: boolean temporarilyRejected: type: boolean rejected: type: boolean tvdbId: type: integer format: int32 tvRageId: type: integer format: int32 imdbId: type: - string - "null" rejections: type: - array - "null" items: type: string publishDate: type: string format: date-time commentUrl: type: - string - "null" downloadUrl: type: - string - "null" infoUrl: type: - string - "null" episodeRequested: type: boolean downloadAllowed: type: boolean releaseWeight: type: integer format: int32 customFormats: type: - array - "null" items: $ref: "#/components/schemas/CustomFormatResource" customFormatScore: type: integer format: int32 sceneMapping: $ref: "#/components/schemas/AlternateTitleResource" magnetUrl: type: - string - "null" infoHash: type: - string - "null" seeders: type: - integer - "null" format: int32 leechers: type: - integer - "null" format: int32 protocol: $ref: "#/components/schemas/DownloadProtocol" indexerFlags: type: integer format: int32 isDaily: type: boolean isAbsoluteNumbering: type: boolean isPossibleSpecialEpisode: type: boolean special: type: boolean seriesId: type: - integer - "null" format: int32 episodeId: type: - integer - "null" format: int32 episodeIds: type: - array - "null" items: type: integer format: int32 downloadClientId: type: - integer - "null" format: int32 downloadClient: type: - string - "null" shouldOverride: type: - boolean - "null" additionalProperties: false ReleaseType: enum: - unknown - singleEpisode - multiEpisode - seasonPack type: string RemotePathMappingResource: type: object properties: id: type: integer format: int32 host: type: - string - "null" remotePath: type: - string - "null" localPath: type: - string - "null" additionalProperties: false RenameEpisodeResource: type: object properties: id: type: integer format: int32 seriesId: type: integer format: int32 seasonNumber: type: integer format: int32 episodeNumbers: type: - array - "null" items: type: integer format: int32 episodeFileId: type: integer format: int32 existingPath: type: - string - "null" newPath: type: - string - "null" additionalProperties: false RescanAfterRefreshType: enum: - always - afterManual - never type: string Revision: type: object properties: version: type: integer format: int32 real: type: integer format: int32 isRepack: type: boolean additionalProperties: false RootFolderResource: type: object properties: id: type: integer format: int32 path: type: - string - "null" accessible: type: boolean freeSpace: type: - integer - "null" format: int64 unmappedFolders: type: - array - "null" items: $ref: "#/components/schemas/UnmappedFolder" additionalProperties: false RuntimeMode: enum: - console - service - tray type: string SeasonPassResource: type: object properties: series: type: - array - "null" items: $ref: "#/components/schemas/SeasonPassSeriesResource" monitoringOptions: $ref: "#/components/schemas/MonitoringOptions" additionalProperties: false SeasonPassSeriesResource: type: object properties: id: type: integer format: int32 monitored: type: - boolean - "null" seasons: type: - array - "null" items: $ref: "#/components/schemas/SeasonResource" additionalProperties: false SeasonResource: type: object properties: seasonNumber: type: integer format: int32 monitored: type: boolean statistics: $ref: "#/components/schemas/SeasonStatisticsResource" images: type: - array - "null" items: $ref: "#/components/schemas/MediaCover" additionalProperties: false SeasonStatisticsResource: type: object properties: nextAiring: type: - string - "null" format: date-time previousAiring: type: - string - "null" format: date-time episodeFileCount: type: integer format: int32 episodeCount: type: integer format: int32 totalEpisodeCount: type: integer format: int32 sizeOnDisk: type: integer format: int64 releaseGroups: type: - array - "null" items: type: string percentOfEpisodes: type: number format: double readOnly: true additionalProperties: false SelectOption: type: object properties: value: type: integer format: int32 name: type: - string - "null" order: type: integer format: int32 hint: type: - string - "null" additionalProperties: false SeriesEditorResource: type: object properties: seriesIds: type: - array - "null" items: type: integer format: int32 monitored: type: - boolean - "null" monitorNewItems: $ref: "#/components/schemas/NewItemMonitorTypes" qualityProfileId: type: - integer - "null" format: int32 seriesType: $ref: "#/components/schemas/SeriesTypes" seasonFolder: type: - boolean - "null" rootFolderPath: type: - string - "null" tags: type: - array - "null" items: type: integer format: int32 applyTags: $ref: "#/components/schemas/ApplyTags" moveFiles: type: boolean deleteFiles: type: boolean addImportListExclusion: type: boolean additionalProperties: false SeriesResource: type: object properties: id: type: integer format: int32 title: type: - string - "null" alternateTitles: type: - array - "null" items: $ref: "#/components/schemas/AlternateTitleResource" sortTitle: type: - string - "null" status: $ref: "#/components/schemas/SeriesStatusType" ended: type: boolean readOnly: true profileName: type: - string - "null" overview: type: - string - "null" nextAiring: type: - string - "null" format: date-time previousAiring: type: - string - "null" format: date-time network: type: - string - "null" airTime: type: - string - "null" images: type: - array - "null" items: $ref: "#/components/schemas/MediaCover" originalLanguage: $ref: "#/components/schemas/Language" remotePoster: type: - string - "null" seasons: type: - array - "null" items: $ref: "#/components/schemas/SeasonResource" year: type: integer format: int32 path: type: - string - "null" qualityProfileId: type: integer format: int32 seasonFolder: type: boolean monitored: type: boolean monitorNewItems: $ref: "#/components/schemas/NewItemMonitorTypes" useSceneNumbering: type: boolean runtime: type: integer format: int32 tvdbId: type: integer format: int32 tvRageId: type: integer format: int32 tvMazeId: type: integer format: int32 tmdbId: type: integer format: int32 firstAired: type: - string - "null" format: date-time lastAired: type: - string - "null" format: date-time seriesType: $ref: "#/components/schemas/SeriesTypes" cleanTitle: type: - string - "null" imdbId: type: - string - "null" titleSlug: type: - string - "null" rootFolderPath: type: - string - "null" folder: type: - string - "null" certification: type: - string - "null" genres: type: - array - "null" items: type: string tags: uniqueItems: true type: - array - "null" items: type: integer format: int32 added: type: string format: date-time addOptions: $ref: "#/components/schemas/AddSeriesOptions" ratings: $ref: "#/components/schemas/Ratings" statistics: $ref: "#/components/schemas/SeriesStatisticsResource" episodesChanged: type: - boolean - "null" languageProfileId: type: integer format: int32 readOnly: true deprecated: true additionalProperties: false SeriesStatisticsResource: type: object properties: seasonCount: type: integer format: int32 episodeFileCount: type: integer format: int32 episodeCount: type: integer format: int32 totalEpisodeCount: type: integer format: int32 sizeOnDisk: type: integer format: int64 releaseGroups: type: - array - "null" items: type: string percentOfEpisodes: type: number format: double readOnly: true additionalProperties: false SeriesStatusType: enum: - continuing - ended - upcoming - deleted type: string SeriesTitleInfo: type: object properties: title: type: - string - "null" titleWithoutYear: type: - string - "null" year: type: integer format: int32 allTitles: type: - array - "null" items: type: string additionalProperties: false SeriesTypes: enum: - standard - daily - anime type: string SortDirection: enum: - default - ascending - descending type: string SystemResource: type: object properties: appName: type: - string - "null" instanceName: type: - string - "null" version: type: - string - "null" buildTime: type: string format: date-time isDebug: type: boolean isProduction: type: boolean isAdmin: type: boolean isUserInteractive: type: boolean startupPath: type: - string - "null" appData: type: - string - "null" osName: type: - string - "null" osVersion: type: - string - "null" isNetCore: type: boolean isLinux: type: boolean isOsx: type: boolean isWindows: type: boolean isDocker: type: boolean mode: $ref: "#/components/schemas/RuntimeMode" branch: type: - string - "null" authentication: $ref: "#/components/schemas/AuthenticationType" sqliteVersion: type: - string - "null" migrationVersion: type: integer format: int32 urlBase: type: - string - "null" runtimeVersion: type: - string - "null" runtimeName: type: - string - "null" startTime: type: string format: date-time packageVersion: type: - string - "null" packageAuthor: type: - string - "null" packageUpdateMechanism: $ref: "#/components/schemas/UpdateMechanism" packageUpdateMechanismMessage: type: - string - "null" databaseVersion: type: - string - "null" databaseType: $ref: "#/components/schemas/DatabaseType" additionalProperties: false TagDetailsResource: type: object properties: id: type: integer format: int32 label: type: - string - "null" delayProfileIds: type: - array - "null" items: type: integer format: int32 importListIds: type: - array - "null" items: type: integer format: int32 notificationIds: type: - array - "null" items: type: integer format: int32 restrictionIds: type: - array - "null" items: type: integer format: int32 indexerIds: type: - array - "null" items: type: integer format: int32 downloadClientIds: type: - array - "null" items: type: integer format: int32 autoTagIds: type: - array - "null" items: type: integer format: int32 seriesIds: type: - array - "null" items: type: integer format: int32 additionalProperties: false TagResource: type: object properties: id: type: integer format: int32 label: type: - string - "null" additionalProperties: false TaskResource: type: object properties: id: type: integer format: int32 name: type: - string - "null" taskName: type: - string - "null" interval: type: integer format: int32 lastExecution: type: string format: date-time lastStartTime: type: string format: date-time nextExecution: type: string format: date-time lastDuration: type: string format: date-span readOnly: true additionalProperties: false TrackedDownloadState: enum: - downloading - importBlocked - importPending - importing - imported - failedPending - failed - ignored type: string TrackedDownloadStatus: enum: - ok - warning - error type: string TrackedDownloadStatusMessage: type: object properties: title: type: - string - "null" messages: type: - array - "null" items: type: string additionalProperties: false UiConfigResource: type: object properties: id: type: integer format: int32 firstDayOfWeek: type: integer format: int32 calendarWeekColumnHeader: type: - string - "null" shortDateFormat: type: - string - "null" longDateFormat: type: - string - "null" timeFormat: type: - string - "null" showRelativeDates: type: boolean enableColorImpairedMode: type: boolean theme: type: - string - "null" uiLanguage: type: integer format: int32 additionalProperties: false UnmappedFolder: type: object properties: name: type: - string - "null" path: type: - string - "null" relativePath: type: - string - "null" additionalProperties: false UpdateChanges: type: object properties: new: type: - array - "null" items: type: string fixed: type: - array - "null" items: type: string additionalProperties: false UpdateMechanism: enum: - builtIn - script - external - apt - docker type: string UpdateResource: type: object properties: id: type: integer format: int32 version: type: - string - "null" branch: type: - string - "null" releaseDate: type: string format: date-time fileName: type: - string - "null" url: type: - string - "null" installed: type: boolean installedOn: type: - string - "null" format: date-time installable: type: boolean latest: type: boolean changes: $ref: "#/components/schemas/UpdateChanges" hash: type: - string - "null" 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 security: - X-Api-Key: [] - apikey: []