---
title: Списък на моментните снимки на паспорт
description: "Страничен списък с моментни снимки на паспорт, от най-нов. Повторна проверка на хеша при четене — hashValid: false показва подправяне на данните."
canonical: "https://www.tracepass.eu/bg/docs/list-passport-snapshots"
locale: bg
source: "https://www.tracepass.eu/bg/docs/list-passport-snapshots"
---

# Списък на моментните снимки на паспорт

> Страничен списък с моментни снимки на паспорт, от най-нов. Повторна проверка на хеша при четене — hashValid: false показва подправяне на данните.

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

Връща страничен списък с моментни снимки на паспорт, от най-нов към най-стар. Снимка се записва при публикуване и след всяка промяна на публикуван, спрян, изтекъл или архивиран паспорт — стойности на полета, преводи, страни, смяна на статус, отговори на доставчици, записи от ИИ, възстановявания — когато съдържанието на паспорта действително се е променило (EN 18221:2026, т. 4.2). Всеки запис включва id на снимката, номер на версията, причина (напр. `published`, `field_edit`, `status_change`, `baseline`), кой е направил промяната (`actor`, когато е известно), времеви печат, хеш на съдържанието и дали хешът все още потвърждава — `hashValid: false` показва подправяне на данните.

Снимките носят и `restorable` (дали `rawFields` е заснет, така че е възможно възстановяване на ниво поле) и `fieldCount` (брой полета в `rawFields`, или `null` за само-доказателствени снимки, направени преди `rawFields` да е съществувал). Паспортите отпреди функцията за снимки имат снимка `baseline` от първото нощно обхождане; историята преди нея не е записана.

**Към момент във времето:** добавете `?at=<ISO 8601>`, за да получите единствената снимка, валидна към този момент — пълния запис плюс `validFrom` и `validUntil` (null, докато е текуща) — вместо списъка. Връща 404, ако моментът е преди първата снимка на паспорта.

Обхват на наемателя: видими са само паспортите на вашата компания. Брои се като едно v1 четене на паспорт спрямо дневния лимит. Страницирайте с `?page` (1-базиран, по подразбиране 1) и `?limit` (1–100, по подразбиране 20).

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `Authorization` | header | string | yes | `Bearer <token>` — или `tp_` API ключ (Developer → API Keys; най-просто, за server-to-server), или OAuth 2.0 access token (Developer → OAuth Apps; за приложения, авторизирани от потребител, scoped и отзоваеми). Страницата Authentication съдържа пълния OAuth поток и списъка със scopes. |
| `id` | path | ObjectId | yes | ID на паспорта. |
| `page` | query | integer | no | Номер на страница (1-базиран, по подразбиране 1). |
| `at` | query | string (ISO 8601) | no | Връща снимката, валидна към този момент, вместо списъка. |
| `limit` | query | integer | no | Размер на страницата (1–100, по подразбиране 20). |

## Examples

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

```typescript
const res = await fetch(
  `https://app.tracepass.eu/api/v1/passports/${passportId}/snapshots?limit=5`,
  { headers: { Authorization: `Bearer ${process.env.TRACEPASS_API_KEY}` } },
);
const { entries, total, page, totalPages } = await res.json();
```

```python
import os, requests
res = requests.get(
    f"https://app.tracepass.eu/api/v1/passports/{passport_id}/snapshots",
    headers={"Authorization": f"Bearer {os.environ['TRACEPASS_API_KEY']}"},
    params={"limit": 5},
)
res.raise_for_status()
data = res.json()  # { entries, total, page, limit, totalPages }
```

## Responses

### 200 — Успех

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

### 404 — Не е намерен

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

## Related

- [Вземане на паспорт](https://www.tracepass.eu/bg/docs/get-passport.md)
- [Вземане на снимка](https://www.tracepass.eu/bg/docs/get-passport-snapshot.md)
