---
title: Ottenere uno snapshot del passaporto
description: "Registro archivistico di uno snapshot: payload JSON-LD in quel momento, autore della modifica, ri-verifica dell'hash e idoneità al ripristino."
canonical: "https://www.tracepass.eu/it/docs/get-passport-snapshot"
locale: it
source: "https://www.tracepass.eu/it/docs/get-passport-snapshot"
---

# Ottenere uno snapshot del passaporto

> Registro archivistico di uno snapshot: payload JSON-LD in quel momento, autore della modifica, ri-verifica dell'hash e idoneità al ripristino.

```http
GET /api/v1/passports/{id}/snapshots/{snapshotId}
```

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**.

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `Authorization` | header | string | yes | `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. |
| `id` | path | ObjectId | yes | ID del passaporto. |
| `snapshotId` | path | ObjectId | yes | ID dello snapshot (dal campo entries\[\].id di Elencare gli snapshot del passaporto). |

## Examples

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

```typescript
const res = await fetch(
  `https://app.tracepass.eu/api/v1/passports/${passportId}/snapshots/${snapshotId}`,
  { headers: { Authorization: `Bearer ${process.env.TRACEPASS_API_KEY}` } },
);
const snapshot = await res.json();
// { id, version, reason, snapshotAt, contentHash, hashValid, restorable, fieldCount, jsonLd }
```

```python
import os, requests
res = requests.get(
    f"https://app.tracepass.eu/api/v1/passports/{passport_id}/snapshots/{snapshot_id}",
    headers={"Authorization": f"Bearer {os.environ['TRACEPASS_API_KEY']}"},
)
res.raise_for_status()
snapshot = res.json()  # { id, version, reason, actor?, snapshotAt, contentHash, hashValid, restorable, fieldCount, jsonLd }
```

## Responses

### 200 — Successo

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

### 404 — Non trovato

```json
{ "error": "Snapshot not found" }
```

## Related

- [Ottenere un passaporto](https://www.tracepass.eu/it/docs/get-passport.md)
- [Elencare gli snapshot](https://www.tracepass.eu/it/docs/list-passport-snapshots.md)
