/api/v1/passports/{id}Pass dauerhaft löschen
**Dauerhaft und unumkehrbar** — die Pass-Zeile plus alle kaskadierten Abhängigkeiten werden aus der Datenbank entfernt. Die Kaskade umfasst KI-Extraktionen, Agent-Session-Zustand, ausschließlich an diesen Pass gebundene Lieferantenanfragen, Scan- und Serviceereignisse sowie hochgeladene Dokumente, deren einzige Referenz dieser Pass war (Dokumente, die mit anderen Pässen/Produkten geteilt werden, bleiben erhalten). Der R2-Speicher unter dem Ordner des Passes wird ebenfalls bereinigt.
**Nur nie-veröffentlichte Pässe sind berechtigt.** Ein Pass mit Status `draft` oder `in_review` und `publishedAt: null` kann gelöscht werden; alles andere gibt `409 Conflict` mit einem `reason`-Feld zurück, das die Richtlinie benennt. Das ist beabsichtigt: Der Compliance-Schutz für gedruckte QR-Codes im Umlauf bleibt erhalten — ein Pass, der jemals öffentlich aufgelöst wurde, kann nicht leise zerstört werden.
**Bezahlplan-Funktion.** Der Endpoint gibt auf Free-Plänen `403 Forbidden` mit `reason` zurück; verwenden Sie stattdessen `POST /api/v1/passports/{id}/archive` — Archivieren behält die Zeile in Ihrer Audit-Spur und funktioniert auf jedem Plan.
Zählt als ein v1-Schreibvorgang. Unterstützt `Idempotency-Key`. Kein Webhook wird ausgelöst (der `billingEvents`-Audit-Eintrag ist die Spur).
Pfad-Parameter
- iderforderlich
ObjectId
Pass-ID.
Header
- Authorizationerforderlich
string
`Bearer <api-key>`.
- Idempotency-Key
string
UUID v4.
Anfrage
curl -sS -X DELETE \
https://app.tracepass.eu/api/v1/passports/6650b2c3d4e5f6a7b8c9d0e1 \
-H "Authorization: Bearer tp_REDACTED_xxxxxxxxxxxx"Antwort
{
"message": "Passport permanently deleted",
"summary": {
"passportId": "6650b2c3d4e5f6a7b8c9d0e1",
"serialNumber": "SN-001",
"gtin": "09506000134369",
"deletedCounts": {
"extractions": 3,
"agentSessions": 1,
"serviceEvents": 0,
"scanEvents": 0,
"ownershipTransfers": 0,
"supplierRequestRefsRemoved": 0,
"supplierRequestsDeleted": 0,
"epcisEventRefsRemoved": 0,
"epcisEventsDeleted": 0,
"documentRefsRemoved": 1,
"documentsDeleted": 1,
"r2ObjectsDeleted": 4,
"documentR2ObjectsDeleted": 1
},
"dppsActiveDelta": -1
}
}