TracePass
Pässe

Passport-Snapshots auflisten

Gibt eine seitenweise Liste von Unveränderlichkeits-**Snapshots** eines Passes zurück, neueste zuerst. Ein Snapshot wird bei der Veröffentlichung und nach jeder Änderung eines veröffentlichten, ausgesetzten, abgelaufenen oder archivierten Passes geschrieben — Feldwerte, Übersetzungen, Beteiligte, Statuswechsel, Lieferantenantworten, KI-Schreibvorgänge, Wiederherstellungen —, sofern sich der Inhalt des Passes tatsächlich geändert hat (EN 18221:2026, 4.2). Jeder Eintrag enthält die Snapshot-ID, Versionsnummer, Grund (z. B. `published`, `field_edit`, `status_change`, `baseline`), den Verursacher (`actor`, sofern bekannt), Zeitstempel, Content-Hash und ob der Hash noch stimmt — `hashValid: false` zeigt eine At-Rest-Manipulation an.

GET/api/v1/passports/{id}/snapshots
OpenAPI 3.1 herunterladen
GET/api/v1/passports/{id}/snapshots

Passport-Snapshots auflisten

Gibt eine seitenweise Liste von Unveränderlichkeits-**Snapshots** eines Passes zurück, neueste zuerst. Ein Snapshot wird bei der Veröffentlichung und nach jeder Änderung eines veröffentlichten, ausgesetzten, abgelaufenen oder archivierten Passes geschrieben — Feldwerte, Übersetzungen, Beteiligte, Statuswechsel, Lieferantenantworten, KI-Schreibvorgänge, Wiederherstellungen —, sofern sich der Inhalt des Passes tatsächlich geändert hat (EN 18221:2026, 4.2). Jeder Eintrag enthält die Snapshot-ID, Versionsnummer, Grund (z. B. `published`, `field_edit`, `status_change`, `baseline`), den Verursacher (`actor`, sofern bekannt), Zeitstempel, Content-Hash und ob der Hash noch stimmt — `hashValid: false` zeigt eine At-Rest-Manipulation an.

Snapshots tragen auch `restorable` (ob `rawFields` erfasst wurde, sodass eine feldgenaue Wiederherstellung möglich ist) und `fieldCount` (Anzahl der Felder in `rawFields`, oder `null` für reine Beweissnapshots vor Einführung von `rawFields`). Pässe aus der Zeit vor den Snapshots haben einen `baseline`-Snapshot aus dem ersten nächtlichen Durchlauf; Verlauf vor diesem Zeitpunkt wurde nie erfasst.

**Zeitpunktabfrage:** Mit `?at=<ISO 8601>` erhalten Sie statt der Liste den einen Snapshot, der zu diesem Zeitpunkt gültig war — den vollständigen Datensatz plus `validFrom` und `validUntil` (null, solange aktuell). 404, wenn der Zeitpunkt vor dem ersten Snapshot des Passes liegt.

Mandanten-Scoping: Nur die Pässe Ihres Unternehmens sind sichtbar. Zählt als ein v1-Pass-Lesevorgang gegen das Tageslimit. Paginierung mit `?page` (1-basiert, Standard 1) und `?limit` (1–100, Standard 20).

Pfad-Parameter

  • iderforderlich

    ObjectId

    Pass-ID.

Query-Parameter

  • page

    integer

    Seitennummer (1-basiert, Standard 1).

  • at

    string (ISO 8601)

    Liefert statt der Liste den zu diesem Zeitpunkt gültigen Snapshot.

    e.g. 2026-09-29T12:00:00Z

  • limit

    integer

    Seitengröße (1–100, Standard 20).

Header

  • Authorizationerforderlich

    string

    `Bearer <token>` — entweder ein `tp_` API-Schlüssel (Developer → API Keys; am einfachsten, für Server-zu-Server) oder ein OAuth-2.0-Access-Token (Developer → OAuth Apps; für nutzerautorisierte Apps, scoped und widerrufbar). Die Authentication-Seite enthält den vollständigen OAuth-Flow und die Scope-Liste.

    e.g. Bearer tp_REDACTED_xxxxxxxxxxxx

Anfrage

curl -sS "https://app.tracepass.eu/api/v1/passports/6650b2c3d4e5f6a7b8c9d0e1/snapshots?limit=5" \
  -H "Authorization: Bearer tp_REDACTED_xxxxxxxxxxxx"

Antwort

{
  "entries": [
    {
      "id": "65a0f1b2c3d4e5f6a7b8c9d1",
      "version": 3,
      "reason": "republished",
      "snapshotAt": "2026-09-15T14:32:00.000Z",
      "contentHash": "a3f1c2d4e5b6a7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2",
      "hashValid": true,
      "restorable": true,
      "fieldCount": 124
    },
    {
      "id": "65a0f1b2c3d4e5f6a7b8c9d0",
      "version": 1,
      "reason": "published",
      "snapshotAt": "2026-08-01T09:00:00.000Z",
      "contentHash": "b4e2d3c5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2c3",
      "hashValid": true,
      "restorable": false,
      "fieldCount": null
    }
  ],
  "total": 2,
  "page": 1,
  "limit": 20,
  "totalPages": 1
}