Files
profilarr/docs/api/v1/openapi.yaml
2026-04-18 17:19:26 +09:30

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'