Drift detection summary
GET
/drift/summary
const url = 'https://example.com/api/v1/drift/summary';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/drift/summaryReturns the latest drift status for every enabled, sync-capable Arr instance, plus
aggregate totals and the drift check settings. Instances that have never been checked
are synthesized as never-checked. Degraded per-instance statuses (unreachable,
unauthorized, error) are carried in the 200 body — this endpoint returns 500 only on an
internal error.
Responses
Section titled “Responses”Drift summary
Media typeapplication/json
object
generatedAt
required
string format: date-time
settings
required
totals
required
object
instances
required
integer
inSync
required
integer
drifted
required
integer
unreachable
required
integer
unauthorized
required
integer
error
required
integer
neverChecked
required
integer
instances
required
Array<object>
object
instanceId
required
integer
instanceName
required
string
arrType
required
string
status
required
Drift status as surfaced in the summary. Extends DriftStatus with the synthesized
never-checked value for enabled instances that have no stored row yet.
string
counts
required
object
drifted
required
Managed entities whose fields diverged on the Arr (alerting).
integer
missing
required
Managed entities absent on the Arr (alerting).
integer
unmanaged
required
Live Arr entities not in the resolved desired set (non-alerting).
integer
Example
{ "instances": [ { "arrType": "radarr", "status": "in-sync", "reason": "unreachable" } ]}Failed to build drift summary
Media typeapplication/json
object
error
required
Error message
string
Examplegenerated
{ "error": "example"}