Skip to content

Read config-health history for one instance

GET
/config-health/{instanceId}/trends
curl --request GET \
--url https://example.com/api/v1/config-health/1/trends

Returns one canonical, bounded historical result from persisted config-health snapshots for an active sync-capable instance. Overall scope includes persisted criterion observations; exact profile scope includes only the profile score and band recorded in each snapshot.

Filters are inclusive. days is mutually exclusive with from and to, and is normalized to absolute UTC bounds in the response. Points are ordered by generatedAt ASC, snapshotId ASC. Unknown, absent, or unrecorded evidence is represented by explicit states and nullable values, never recomputed or silently truncated. A valid selection with no points returns 200.

instanceId
required
integer

Arr instance id

days
integer
>= 1 <= 3650

Relative UTC window in days. Cannot be combined with from or to.

from
One of:
string format: date

Inclusive date-only or ISO-8601 date-time lower bound.

to
One of:
string format: date

Inclusive date-only or ISO-8601 date-time upper bound.

profile
string
>= 1 characters

Exact non-empty persisted profile name. Matching does not trim or case-fold.

Canonical health history, including an empty points array when nothing matches

Media typeapplication/json

Canonical bounded historical result shared by chart/table JSON and JSON/CSV export selection. Empty selections are successful and contain points: [] with the same metadata shape.

object
instance
required
object
id
required
integer
name
required
string
arrType
required
string
Allowed values: radarr sonarr lidarr
currentEngineVersion
required
string
normalizedFilter
required

Applied absolute filter echoed for representation parity. from=null means unbounded history; to is captured once per request so a later export cannot acquire newer points. Profile matching preserves the exact persisted name.

object
from
required
One of:
string format: date-time
to
required
string format: date-time
profile
required
One of:
string
>= 1 characters
retention
required

Current global retention policy and observed availability for this instance. These values do not identify why any older point is absent or prove which retention rule removed it.

object
days
required
integer
>= 1
maxEntries
required
integer
>= 1
ageCutoffAt
required
string format: date-time
oldestAvailableAt
required
One of:
string format: date-time
newestAvailableAt
required
One of:
string format: date-time
availableProfiles
required

Exact historical profile names in deterministic order.

Array<string>
counts
required
object
points
required
integer
measured
required
integer
unknown
required
integer
missing
required

Points whose selected evidence is profile-missing or not-recorded.

integer
engineBoundaries
required
Array<object>

Start of one contiguous persisted engine-version run in canonical point order.

object
engineVersion
required
string
startsAt
required
string format: date-time
pointIndex
required
integer
points
required
Array<object>

One persisted snapshot observation in generatedAt ASC, snapshotId ASC order.

object
snapshotId
required
integer
>= 1
generatedAt
required
string format: date-time
engineVersion
required
string
state
required

Availability of the point’s selected scope. unknown is persisted scoring without a measured score, profile-missing preserves a snapshot where the exact profile was absent, and not-recorded preserves snapshot identity when stored evidence is unusable.

string
Allowed values: measured unknown profile-missing not-recorded
score
required
One of:
integer
<= 100
band
required
One of:

Health band derived from the 0–100 rollup. unknown means every enabled criterion was skipped.

string
Allowed values: healthy attention needs-review unknown
criteria
required

Persisted overall criterion observations; empty for exact-profile scope.

Array<object>

One persisted overall criterion observation. Profile-scoped points do not expose criteria. Nullable numeric fields remain distinct from measured zero.

object
id
required
string
label
required
string
state
required

Availability of one persisted overall criterion observation.

string
Allowed values: measured not-evaluated not-recorded
score
required
One of:
integer
<= 100
weight
required
One of:
integer
contribution
required
One of:
integer
Example
{
"instance": {
"arrType": "radarr"
},
"points": [
{
"state": "measured",
"band": "healthy",
"criteria": [
{
"state": "measured"
}
]
}
]
}

Invalid instance id, filter, filter combination, or range

Media typeapplication/json
object
error
required

Error message

string
Examplegenerated
{
"error": "example"
}

Instance not found or not sync-capable

Media typeapplication/json
object
error
required

Error message

string
Examplegenerated
{
"error": "example"
}

Exact selection exceeds the 10,000-point limit, or selected/retained-profile evidence exceeds the safe per-row, aggregate-byte, or nested-item budget. No partial result is returned.

Media typeapplication/json
object
error
required

Error message

string
Examplegenerated
{
"error": "example"
}

Failed to read config-health history

Media typeapplication/json
object
error
required

Error message

string
Examplegenerated
{
"error": "example"
}