TracePass
Passaporti

Ottenere uno snapshot del passaporto

Restituisce il registro archivistico completo per uno **snapshot** di immutabilità: l'intero payload JSON-LD esattamente com'era il passaporto quando è stato acquisito lo snapshot — alla pubblicazione o dopo ogni modifica di un passaporto pubblicato, sospeso, scaduto o archiviato — i metadati dello snapshot (versione, motivo, `actor` — chi ha causato la modifica — e timestamp) e la ri-verifica dell'hash del contenuto. Per ottenere la versione valida a una certa data, usare `?at=` in **Elencare gli snapshot del passaporto**. `hashValid: false` significa che il payload memorizzato è stato modificato dopo che lo snapshot è stato acquisito — indicativo di manomissione at-rest.

GET/api/v1/passports/{id}/snapshots/{snapshotId}
Scarica OpenAPI 3.1
GET/api/v1/passports/{id}/snapshots/{snapshotId}

Ottenere uno snapshot del passaporto

Restituisce il registro archivistico completo per uno **snapshot** di immutabilità: l'intero payload JSON-LD esattamente com'era il passaporto quando è stato acquisito lo snapshot — alla pubblicazione o dopo ogni modifica di un passaporto pubblicato, sospeso, scaduto o archiviato — i metadati dello snapshot (versione, motivo, `actor` — chi ha causato la modifica — e timestamp) e la ri-verifica dell'hash del contenuto. Per ottenere la versione valida a una certa data, usare `?at=` in **Elencare gli snapshot del passaporto**. `hashValid: false` significa che il payload memorizzato è stato modificato dopo che lo snapshot è stato acquisito — indicativo di manomissione at-rest.

Il flag `restorable` indica se `rawFields` è stato catturato al momento dello snapshot. Quando `restorable` è `true`, un'azione di ripristino dalla dashboard può riportare il passaporto live a questa versione campo per campo. Quando è `false` (perché `rawFields` non è stato catturato, o è vuoto), lo snapshot è solo di evidenza — il JSON-LD è ancora preservato e verificabile, ma un ripristino automatizzato a livello di campo non è possibile.

Scoped per tenant: puoi leggere solo gli snapshot dei passaporti della tua azienda. Conta come una lettura v1 passaporto contro il limite giornaliero. Fornisci l'ID dello snapshot dai valori `entries[].id` restituiti da **Elencare gli snapshot del passaporto**.

Parametri di percorso

  • idobbligatorio

    ObjectId

    ID del passaporto.

  • snapshotIdobbligatorio

    ObjectId

    ID dello snapshot (dal campo entries[].id di Elencare gli snapshot del passaporto).

Header

  • Authorizationobbligatorio

    string

    `Bearer <token>` — una chiave API `tp_` (Developer → API Keys; più semplice, per server-to-server) oppure un access token OAuth 2.0 (Developer → OAuth Apps; per app autorizzate dall'utente, scoped e revocabili). La pagina Authentication contiene il flusso OAuth completo e l'elenco degli scopes.

    e.g. Bearer tp_REDACTED_xxxxxxxxxxxx

Richiesta

curl -sS "https://app.tracepass.eu/api/v1/passports/6650b2c3d4e5f6a7b8c9d0e1/snapshots/65a0f1b2c3d4e5f6a7b8c9d1" \
  -H "Authorization: Bearer tp_REDACTED_xxxxxxxxxxxx"

Risposta

{
  "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"
  }
}