Files
profilarr/docs/api/v1/openapi.yaml

158 lines
4.7 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: 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'