/api/v1/passports/{id}Einzelnen Pass lesen
Liest einen Pass per ID. Die Standardantwort enthält den vollständigen Pass — übersetzbare Felder tragen ihren `sourceLocale` und eine `translations`-Karte pro Locale. Mit `?lang=<locale>` löst der Server jedes Feld über die Public-Viewer-Kette auf (Viewer-Locale-Übersetzung → Quelllocale-Wert → Englisch → erste angewandte → universelle Quelle) und gibt einen aufgelösten Wert pro Feld zurück; die `translations`-Karte entfällt bei lang-aufgelösten Antworten.
Mit `?format=full` werden zusätzlich Template-abgeleitete Feldbezeichnungen, Einheiten und Zugriffsebenen pro Wert mitgeliefert — nützlich für einen eigenen Viewer oder Audit-Report. Beide Query-Parameter lassen sich kombinieren: `?format=full&lang=de` liefert Bezeichnungen in DE plus auf DE aufgelöste Werte.
Alternative Adressierung: `GET /api/v1/passports/by-serial/{serial}` liefert dieselbe Form und akzeptiert dieselben Query-Params. Es gibt auch `GET /api/v1/passports/{id}/qr`, das ein frisch gerendertes SVG / PNG des QR-Codes zurückgibt — nützlich, wenn Sie unseren Renderer statt eigener Kodierung von `gs1.digitalLinkUri` möchten.
Pfad-Parameter
- iderforderlich
ObjectId
Pass-ID.
Query-Parameter
- format
string
Auf `full` setzen, um Template-Feldbezeichnungen, Einheiten und Zugriffsebenen einzubeziehen.
- lang
string (ISO 639-1)
Löst Feldwerte serverseitig auf einen Locale auf. Einer der 24 EU-Locales.
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
# Default response — full data, consumer resolves locales itself
curl -sS https://app.tracepass.eu/api/v1/passports/6650b2c3d4e5f6a7b8c9d0e1 \
-H "Authorization: Bearer tp_REDACTED_xxxxxxxxxxxx"
# Single-locale response with template labels
curl -sS \
"https://app.tracepass.eu/api/v1/passports/6650b2c3d4e5f6a7b8c9d0e1?format=full&lang=de" \
-H "Authorization: Bearer tp_REDACTED_xxxxxxxxxxxx"Antwort
{
"_id": "6650b2c3d4e5f6a7b8c9d0e1",
"gs1": {
"gtin": "04012345000016",
"serialNumber": "BP-48V-100-000001",
"digitalLinkUri": "https://id.tracepass.eu/p/01/04012345000016/21/BP-48V-100-000001"
},
"status": "published",
"completionPercentage": 87,
"fields": {
"batteryChemistry": {
"value": "NMC",
"source": "manual",
"status": "approved",
"accessLevel": "public",
"sourceLocale": "en",
"translations": {
"de": { "value": "NMC", "source": "ai-haiku-4.5", "generatedAt": "2026-05-02T10:00:00.000Z" }
}
}
}
}