/api/v1/passports/{id}/snapshots/{snapshotId}Get passport snapshot
Returns the full archival record for one immutability **snapshot**: the complete JSON-LD payload exactly as the passport stood when the snapshot was taken — on publish, or after any change to a published, suspended, expired or archived passport — the snapshot metadata (version, reason, `actor` — who caused the change — and timestamp), and content hash re-verification. To get the version valid at a given date instead, use `?at=` on **List passport snapshots**. `hashValid: false` means the stored payload has been modified since the snapshot was taken — indicative of at-rest tampering.
The `restorable` flag indicates whether `rawFields` was captured at snapshot time. When `restorable` is `true`, a dashboard restore action can rewind the live passport to this version field-by-field. When `false` (either because `rawFields` was not captured, or is empty), the snapshot is evidence-only — the JSON-LD is still preserved and verifiable, but an automated field-level restore is not possible.
Tenant-scoped: you can only read snapshots for your company's passports. Counts as one v1 passport read against the daily cap. Supply the snapshot id from the `entries[].id` values returned by **List passport snapshots**.
Path parameters
- idrequired
ObjectId
Passport ID.
- snapshotIdrequired
ObjectId
Snapshot ID (from the entries[].id field of List passport snapshots).
Headers
- Authorizationrequired
string
`Bearer <token>` — either a `tp_` API key (Developer → API Keys; simplest, for server-to-server) or an OAuth 2.0 access token (Developer → OAuth Apps; for user-authorized apps, scoped + revocable). The Authentication page has the full OAuth flow and scope list.
e.g. Bearer tp_REDACTED_xxxxxxxxxxxx
Request
curl -sS "https://app.tracepass.eu/api/v1/passports/6650b2c3d4e5f6a7b8c9d0e1/snapshots/65a0f1b2c3d4e5f6a7b8c9d1" \
-H "Authorization: Bearer tp_REDACTED_xxxxxxxxxxxx"Response
{
"id": "65a0f1b2c3d4e5f6a7b8c9d1",
"version": 3,
"reason": "field_edit",
"actor": "apikey:tp_89b2482d",
"snapshotAt": "2026-09-15T14:32:00.000Z",
"contentHash": "a3f1c2d4e5b6a7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2",
"hashValid": true,
"restorable": true,
"fieldCount": 124,
"jsonLd": {
"@context": "https://gs1.org/voc/",
"@type": "gs1:Product",
"gs1:productName": "Industrial Battery 48V 200Ah",
"gs1:gtin": "09506000134376"
}
}