Apply a sync preview
const url = 'https://example.com/api/v1/sync/preview/example/apply';const options = { method: 'POST', headers: {'Content-Type': 'application/json'}, body: '{"sections":["qualityProfiles"]}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://example.com/api/v1/sync/preview/example/apply \ --header 'Content-Type: application/json' \ --data '{ "sections": [ "qualityProfiles" ] }'Applies a previously generated preview to the target Arr instance.
Preview generation itself is read-only, but this operation runs the normal sync execution path for the selected sections.
Apply rejects previews that are too stale based on policy:
- warnings are returned when the preview is older than 5 minutes
- apply is blocked when staleness exceeds the hard threshold
Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Preview snapshot ID
Request Body
Section titled “Request Body”object
Optional section filters for preview application
Responses
Section titled “Responses”Preview applied
object
Preview identifier
Target Arr instance ID
Target Arr instance name
Arr instance family
ISO 8601 timestamp when preview was generated
ISO 8601 timestamp when preview becomes expired
Preview lifecycle state:
generating: build in progressready: preview fully materialized and runnableapplying: preview is being executed as syncapplied: execution succeededfailed: generation or execution failedexpired: staleness TTL elapsed
Optional error message from generation or apply
Sections included in preview
object
Custom-format change set
object
Sync target entity kind (e.g., customFormat, qualityProfile)
Entity display name (namespace-stripped where applicable)
Arr entity ID when present
Field-level diff; empty for unchanged/create where no deltas are tracked
object
Dot-notated field path
Quality-profile change set
object
Sync target entity kind (e.g., customFormat, qualityProfile)
Entity display name (namespace-stripped where applicable)
Arr entity ID when present
Field-level diff; empty for unchanged/create where no deltas are tracked
object
Dot-notated field path
object
object
Sync target entity kind (e.g., customFormat, qualityProfile)
Entity display name (namespace-stripped where applicable)
Arr entity ID when present
Field-level diff; empty for unchanged/create where no deltas are tracked
object
Dot-notated field path
object
object
Sync target entity kind (e.g., customFormat, qualityProfile)
Entity display name (namespace-stripped where applicable)
Arr entity ID when present
Field-level diff; empty for unchanged/create where no deltas are tracked
object
Dot-notated field path
Quality definition change set
object
Sync target entity kind (e.g., customFormat, qualityProfile)
Entity display name (namespace-stripped where applicable)
Arr entity ID when present
Field-level diff; empty for unchanged/create where no deltas are tracked
object
Dot-notated field path
object
Sync target entity kind (e.g., customFormat, qualityProfile)
Entity display name (namespace-stripped where applicable)
Arr entity ID when present
Field-level diff; empty for unchanged/create where no deltas are tracked
object
Dot-notated field path
object
object
Sync target entity kind (e.g., customFormat, qualityProfile)
Entity display name (namespace-stripped where applicable)
Arr entity ID when present
Field-level diff; empty for unchanged/create where no deltas are tracked
object
Dot-notated field path
object
Number of create actions
Number of update actions
Number of delete actions
Number of unchanged entities
Example
{ "arrType": "radarr", "status": "generating", "sections": [ "qualityProfiles" ], "sectionOutcomes": [ { "section": "qualityProfiles" } ], "qualityProfiles": { "section": "qualityProfiles", "customFormats": [ { "action": "create", "fields": [ { "type": "added" } ] } ], "qualityProfiles": [ { "action": "create", "fields": [ { "type": "added" } ] } ] }, "delayProfiles": { "section": "delayProfiles", "profile": { "action": "create", "fields": [ { "type": "added" } ] } }, "mediaManagement": { "section": "mediaManagement", "naming": { "action": "create", "fields": [ { "type": "added" } ] }, "qualityDefinitions": [ { "action": "create", "fields": [ { "type": "added" } ] } ], "mediaSettings": { "action": "create", "fields": [ { "type": "added" } ] } }, "metadataProfiles": { "section": "metadataProfiles", "profile": { "action": "create", "fields": [ { "type": "added" } ] } }}Invalid request body
object
Error message
Examplegenerated
{ "error": "example"}Preview not found or expired
object
Error message
Examplegenerated
{ "error": "example"}Preview is not in a ready state, contains failed sections, or instance is syncing
object
Error message
Examplegenerated
{ "error": "example"}Preview is stale beyond apply threshold
object
Error message
Examplegenerated
{ "error": "example"}Failed to apply preview
object
Error message
Examplegenerated
{ "error": "example"}