Get a sync preview
const url = 'https://example.com/api/v1/sync/preview/example';const options = {method: 'GET'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://example.com/api/v1/sync/preview/exampleRetrieves a previously generated preview snapshot by ID.
This endpoint is read-only and is safe to call repeatedly while preview state changes naturally over time.
Snapshots are subject to staleness rules enforced by the preview TTL. A preview that has exceeded the TTL should be treated as expired.
Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Preview snapshot ID
Responses
Section titled “Responses”Sync preview
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" } ] } }}Preview not found or expired
object
Error message
Examplegenerated
{ "error": "example"}Failed to fetch preview
object
Error message
Examplegenerated
{ "error": "example"}