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: Arr description: Arr instance management, library, and sync endpoints - name: Databases description: Linked database instance management - name: Announcements description: In-app announcements fed from the bulletin repo 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' /announcements: $ref: './paths/announcements.yaml#/list' /announcements/{id}: $ref: './paths/announcements.yaml#/detail' 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' StatusAnnouncements: $ref: './schemas/status.yaml#/StatusAnnouncements' # Announcements AnnouncementSeverity: $ref: './schemas/announcements.yaml#/AnnouncementSeverity' AnnouncementSummary: $ref: './schemas/announcements.yaml#/AnnouncementSummary' AnnouncementDetail: $ref: './schemas/announcements.yaml#/AnnouncementDetail' # Arr - Shared ArrType: $ref: './schemas/arr.yaml#/ArrType' CustomFormatRef: $ref: './schemas/arr.yaml#/CustomFormatRef' ScoreBreakdownItem: $ref: './schemas/arr.yaml#/ScoreBreakdownItem' # 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' # 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'