Get PCD snapshot detail
const url = 'https://example.com/api/v1/pcd/1/snapshots/1';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/pcd/1/snapshots/1Returns full snapshot detail including computed fields for restore context
(opsWrittenSince, isRestorable). isRestorable reflects a real fail-closed check:
it is true only when the snapshot’s published-op manifest reconstructs and its
recomputed fingerprint matches the stored cacheStateHash. See the
.../rollback/preview and .../rollback endpoints to preview and execute a restore.
Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”PCD database ID
PCD snapshot ID
Responses
Section titled “Responses”Snapshot full detail
object
Whether the snapshot was auto-created or user-initiated
What event triggered the snapshot creation.
- pull: before a PCD repository pull/refresh
- sync: before an Arr instance sync
- manual: user-initiated via API
- rollback: system pre-rollback auto-capture taken before a restore rewinds the op log
Maximum pcd_ops ID at snapshot time
Count of published base-origin ops
Count of published user-origin ops
SHA-256 state fingerprint
Arr instance IDs targeted by this operation
Number of ops written after this snapshot (count of pcd_ops rows with id greater than opsSequenceMaxId)
Whether this snapshot can be safely restored. True only when the snapshot’s published-op set reconstructs and its recomputed fingerprint matches the stored cacheStateHash (fail-closed). Legacy snapshots without a fingerprint are false.
Example
{ "type": "auto", "trigger": "pull"}Invalid parameters
object
Examplegenerated
{ "error": "example"}Snapshot not found or doesn’t belong to database
object
Examplegenerated
{ "error": "example"}Failed to fetch snapshot
object
Examplegenerated
{ "error": "example"}