Skip to content

Resolve current + latest terminal run for a TRaSH source

GET
/trash-guide/sources/{id}/sync
curl --request GET \
--url https://example.com/api/v1/trash-guide/sources/1/sync

Returns the source’s current queue slot and latest terminal run evidence, used to poll a queued/running sync to its exact terminal run. Read-only and safe for a since-deleted source: identity falls back to the durable snapshot, so it does not 404 on that case.

id
required
integer

TRaSH source ID

Current + latest terminal run view

Media typeapplication/json

Single wire view of a source’s current queue slot + latest terminal run, reused by the POST response and the GET status resolver.

object
sourceId
required
integer
sourceName
required
One of:
string
arrType
required
One of:
string
Allowed values: radarr sonarr
queueId
required
One of:
integer
current
required
One of:
object
status
required
string
runAt
required
string
startedAt
required
One of:
string
attempts
required
integer
runToken
required
One of:
string
latestRun
required
One of:
object
id
required
integer
status
required
string
Allowed values: success failure skipped cancelled
startedAt
required
string
finishedAt
required
string
durationMs
required
integer
evidence
required
One of:

Versioned, structured terminal evidence for one TRaSH sync run, serialized into job_run_history.output. Survives a source hard-delete via its embedded identity snapshot.

object
schemaVersion
required
integer
Allowed values: 1
runToken
required
One of:
string
source
required
object
id
required
integer
name
required
One of:
string
arrType
required
One of:
string
Allowed values: radarr sonarr
trigger
required
string
Allowed values: manual scheduled
requestedAt
required
One of:
string
status
required
string
Allowed values: success failure skipped cancelled
counts
required
One of:

Fetched/applied counts for a TRaSH sync run.

object
commitsBehind
required
integer
parsedFiles
required
integer
failedFiles
required
integer
activeOperations
required
integer
removedEntities
required
integer
renamedEntities
required
integer
failure
required
One of:

Typed, closed, SAFE failure evidence. message/recoveryAction are pre-authored copy that never embeds raw exception text, git/parser diagnostics, credentials, or hostnames.

object
code
required

Closed, safe vocabulary of TRaSH sync failure reasons. Assigned by outcome/error type only — never by message parsing — so no raw diagnostic can leak.

string
Allowed values: source_missing source_disabled network parser_failed sync_failed internal
message
required
string
recoveryAction
required
string
retry
required
object
rescheduleAt
required
One of:
string
retryable
required
boolean
Example
{
"arrType": "radarr",
"latestRun": {
"status": "success",
"evidence": {
"schemaVersion": 1,
"source": {
"arrType": "radarr"
},
"trigger": "manual",
"status": "success",
"failure": {
"code": "source_missing"
}
}
}
}

Invalid source ID

Media typeapplication/json
object
error
required

Error message

string
Examplegenerated
{
"error": "example"
}

Failed to resolve sync status

Media typeapplication/json
object
error
required

Error message

string
Examplegenerated
{
"error": "example"
}