mirror of
https://github.com/Dictionarry-Hub/profilarr.git
synced 2026-04-18 21:08:05 -04:00
229 lines
7.1 KiB
YAML
229 lines
7.1 KiB
YAML
openapi: 3.1.0
|
|
info:
|
|
title: Profilarr API
|
|
version: 1.0.0
|
|
license:
|
|
name: MIT
|
|
url: https://opensource.org/licenses/MIT
|
|
contact:
|
|
name: Profilarr
|
|
url: https://github.com/Dictionarry-Hub/profilarr
|
|
description: |
|
|
Profilarr manages configuration for Radarr and Sonarr by syncing
|
|
curated configuration databases into Arr instances.
|
|
|
|
servers:
|
|
- url: /api/v1
|
|
description: API v1
|
|
|
|
tags:
|
|
- name: System
|
|
description: Health checks, system status, and API metadata.
|
|
- name: Jobs
|
|
description: Job queue status and polling
|
|
- name: Backups
|
|
description: Backup creation, listing, download, upload, and settings
|
|
- name: Entity Testing
|
|
description: Release parsing and custom format evaluation
|
|
- name: Arr
|
|
description: Arr instance management, library, and sync endpoints
|
|
- name: PCD
|
|
description: PCD entity export and portable format endpoints
|
|
- name: Databases
|
|
description: Linked database instance management
|
|
- name: Regex
|
|
description: Regex pattern validation
|
|
|
|
security:
|
|
- apiKey: []
|
|
- session: []
|
|
|
|
paths:
|
|
/arr:
|
|
$ref: './paths/arr.yaml#/instances'
|
|
/databases:
|
|
$ref: './paths/databases.yaml#/databases'
|
|
/databases/{id}:
|
|
$ref: './paths/databases.yaml#/database'
|
|
/databases/{id}/sync:
|
|
$ref: './paths/databases.yaml#/database_sync'
|
|
/health:
|
|
$ref: './paths/system.yaml#/health'
|
|
/status:
|
|
$ref: './paths/system.yaml#/status'
|
|
/openapi.json:
|
|
$ref: './paths/system.yaml#/openapi'
|
|
/jobs/{id}:
|
|
$ref: './paths/jobs.yaml#/job'
|
|
/backups:
|
|
$ref: './paths/backups.yaml#/backups'
|
|
/backups/{filename}:
|
|
$ref: './paths/backups.yaml#/backup_file'
|
|
/backups/upload:
|
|
$ref: './paths/backups.yaml#/upload'
|
|
/backups/settings:
|
|
$ref: './paths/backups.yaml#/settings'
|
|
/entity-testing/evaluate:
|
|
$ref: './paths/entity-testing.yaml#/evaluate'
|
|
/arr/library:
|
|
$ref: './paths/arr.yaml#/library'
|
|
/arr/library/episodes:
|
|
$ref: './paths/arr.yaml#/episodes'
|
|
/arr/releases:
|
|
$ref: './paths/arr.yaml#/releases'
|
|
/arr/sync-entity:
|
|
$ref: './paths/arr.yaml#/sync-entity'
|
|
/pcd/export:
|
|
$ref: './paths/pcd.yaml#/export'
|
|
/pcd/import:
|
|
$ref: './paths/pcd.yaml#/import'
|
|
/regex/validate:
|
|
$ref: './paths/regex.yaml#/validate'
|
|
|
|
components:
|
|
securitySchemes:
|
|
apiKey:
|
|
type: apiKey
|
|
in: header
|
|
name: X-Api-Key
|
|
description: API key for programmatic access. Generate in Settings > Security.
|
|
session:
|
|
type: apiKey
|
|
in: cookie
|
|
name: session
|
|
description: Session cookie set after browser login.
|
|
|
|
schemas:
|
|
# Common
|
|
HealthStatus:
|
|
$ref: './schemas/common.yaml#/HealthStatus'
|
|
ErrorResponse:
|
|
$ref: './schemas/common.yaml#/ErrorResponse'
|
|
# Health
|
|
HealthCheckResponse:
|
|
$ref: './schemas/health.yaml#/HealthCheckResponse'
|
|
# Status
|
|
StatusResponse:
|
|
$ref: './schemas/status.yaml#/StatusResponse'
|
|
StatusDatabase:
|
|
$ref: './schemas/status.yaml#/StatusDatabase'
|
|
StatusDatabaseCounts:
|
|
$ref: './schemas/status.yaml#/StatusDatabaseCounts'
|
|
StatusArr:
|
|
$ref: './schemas/status.yaml#/StatusArr'
|
|
StatusArrSync:
|
|
$ref: './schemas/status.yaml#/StatusArrSync'
|
|
StatusArrSyncQualityProfiles:
|
|
$ref: './schemas/status.yaml#/StatusArrSyncQualityProfiles'
|
|
StatusArrSyncSection:
|
|
$ref: './schemas/status.yaml#/StatusArrSyncSection'
|
|
StatusArrDrift:
|
|
$ref: './schemas/status.yaml#/StatusArrDrift'
|
|
StatusJobs:
|
|
$ref: './schemas/status.yaml#/StatusJobs'
|
|
StatusBackups:
|
|
$ref: './schemas/status.yaml#/StatusBackups'
|
|
# Entity Testing
|
|
MediaType:
|
|
$ref: './schemas/entity-testing.yaml#/MediaType'
|
|
ParsedInfo:
|
|
$ref: './schemas/entity-testing.yaml#/ParsedInfo'
|
|
ReleaseInput:
|
|
$ref: './schemas/entity-testing.yaml#/ReleaseInput'
|
|
ReleaseEvaluation:
|
|
$ref: './schemas/entity-testing.yaml#/ReleaseEvaluation'
|
|
EvaluateRequest:
|
|
$ref: './schemas/entity-testing.yaml#/EvaluateRequest'
|
|
EvaluateResponse:
|
|
$ref: './schemas/entity-testing.yaml#/EvaluateResponse'
|
|
# Arr - Shared
|
|
ArrType:
|
|
$ref: './schemas/arr.yaml#/ArrType'
|
|
CustomFormatRef:
|
|
$ref: './schemas/arr.yaml#/CustomFormatRef'
|
|
ScoreBreakdownItem:
|
|
$ref: './schemas/arr.yaml#/ScoreBreakdownItem'
|
|
ProfileByDatabase:
|
|
$ref: './schemas/arr.yaml#/ProfileByDatabase'
|
|
# Arr - Library
|
|
RadarrLibraryItem:
|
|
$ref: './schemas/arr.yaml#/RadarrLibraryItem'
|
|
SonarrSeasonItem:
|
|
$ref: './schemas/arr.yaml#/SonarrSeasonItem'
|
|
SonarrLibraryItem:
|
|
$ref: './schemas/arr.yaml#/SonarrLibraryItem'
|
|
SonarrEpisodeItem:
|
|
$ref: './schemas/arr.yaml#/SonarrEpisodeItem'
|
|
LibraryResponse:
|
|
$ref: './schemas/arr.yaml#/LibraryResponse'
|
|
EpisodesResponse:
|
|
$ref: './schemas/arr.yaml#/EpisodesResponse'
|
|
CacheInvalidatedResponse:
|
|
$ref: './schemas/arr.yaml#/CacheInvalidatedResponse'
|
|
# Arr - Releases
|
|
GroupedRelease:
|
|
$ref: './schemas/arr.yaml#/GroupedRelease'
|
|
ReleasesResponse:
|
|
$ref: './schemas/arr.yaml#/ReleasesResponse'
|
|
# Arr - Sync Entity
|
|
SyncEntityRequest:
|
|
$ref: './schemas/arr.yaml#/SyncEntityRequest'
|
|
SyncEntitySuccessResponse:
|
|
$ref: './schemas/arr.yaml#/SyncEntitySuccessResponse'
|
|
SyncEntityCooldownResponse:
|
|
$ref: './schemas/arr.yaml#/SyncEntityCooldownResponse'
|
|
# PCD
|
|
EntityType:
|
|
$ref: './schemas/pcd.yaml#/EntityType'
|
|
ExportResponse:
|
|
$ref: './schemas/pcd.yaml#/ExportResponse'
|
|
PcdErrorResponse:
|
|
$ref: './schemas/pcd.yaml#/PcdErrorResponse'
|
|
BundledDependency:
|
|
$ref: './schemas/pcd.yaml#/BundledDependency'
|
|
ImportConflict:
|
|
$ref: './schemas/pcd.yaml#/ImportConflict'
|
|
ConflictResolution:
|
|
$ref: './schemas/pcd.yaml#/ConflictResolution'
|
|
ImportRequest:
|
|
$ref: './schemas/pcd.yaml#/ImportRequest'
|
|
ImportResponse:
|
|
$ref: './schemas/pcd.yaml#/ImportResponse'
|
|
# Arr
|
|
ArrInstance:
|
|
$ref: './schemas/arr.yaml#/ArrInstance'
|
|
# Databases
|
|
DatabaseInstance:
|
|
$ref: './schemas/databases.yaml#/DatabaseInstance'
|
|
CreateDatabaseInput:
|
|
$ref: './schemas/databases.yaml#/CreateDatabaseInput'
|
|
UpdateDatabaseInput:
|
|
$ref: './schemas/databases.yaml#/UpdateDatabaseInput'
|
|
SyncTriggerResponse:
|
|
$ref: './schemas/databases.yaml#/SyncTriggerResponse'
|
|
# Regex
|
|
ValidateRegexRequest:
|
|
$ref: './schemas/regex.yaml#/ValidateRegexRequest'
|
|
ValidateRegexResponse:
|
|
$ref: './schemas/regex.yaml#/ValidateRegexResponse'
|
|
# Jobs
|
|
JobStatus:
|
|
$ref: './schemas/jobs.yaml#/JobStatus'
|
|
JobSource:
|
|
$ref: './schemas/jobs.yaml#/JobSource'
|
|
JobRunResult:
|
|
$ref: './schemas/jobs.yaml#/JobRunResult'
|
|
JobResponse:
|
|
$ref: './schemas/jobs.yaml#/JobResponse'
|
|
# Backups
|
|
BackupFile:
|
|
$ref: './schemas/backups.yaml#/BackupFile'
|
|
BackupCreateResponse:
|
|
$ref: './schemas/backups.yaml#/BackupCreateResponse'
|
|
BackupUploadResponse:
|
|
$ref: './schemas/backups.yaml#/BackupUploadResponse'
|
|
BackupSettings:
|
|
$ref: './schemas/backups.yaml#/BackupSettings'
|
|
BackupSettingsUpdate:
|
|
$ref: './schemas/backups.yaml#/BackupSettingsUpdate'
|