TracePass
Passaporti

Eliminare un passaporto definitivamente

**Permanente e irreversibile** — la riga del passaporto più ogni dipendenza in cascata vengono rimosse dal database. La cascata include estrazioni IA, stato della sessione dell'agente, richieste ai fornitori collegate solo a questo passaporto, eventi di scansione + assistenza, e qualsiasi documento caricato la cui unica referenza era questo passaporto (i documenti condivisi con altri passaporti/prodotti restano). Anche lo storage R2 sotto la cartella del passaporto viene ripulito.

DELETE/api/v1/passports/{id}
Scarica OpenAPI 3.1
DELETE/api/v1/passports/{id}

Eliminare un passaporto definitivamente

**Permanente e irreversibile** — la riga del passaporto più ogni dipendenza in cascata vengono rimosse dal database. La cascata include estrazioni IA, stato della sessione dell'agente, richieste ai fornitori collegate solo a questo passaporto, eventi di scansione + assistenza, e qualsiasi documento caricato la cui unica referenza era questo passaporto (i documenti condivisi con altri passaporti/prodotti restano). Anche lo storage R2 sotto la cartella del passaporto viene ripulito.

**Solo i passaporti mai pubblicati sono idonei.** Un passaporto con stato `draft` o `in_review` e `publishedAt: null` può essere eliminato; tutto il resto restituisce `409 Conflict` con un campo `reason` che nomina la policy. Questo è intenzionale: la protezione di conformità per i codici QR stampati in circolazione viene preservata — un passaporto che ha mai risolto pubblicamente non può essere distrutto silenziosamente.

**Funzione del piano a pagamento.** L'endpoint restituisce `403 Forbidden` con `reason` sui piani Free; utilizzare invece `POST /api/v1/passports/{id}/archive` — l'archiviazione mantiene la riga nella traccia di controllo e funziona su ogni piano.

Conta come una scrittura v1. Rispetta `Idempotency-Key`. Nessun webhook viene attivato (la voce di audit in `billingEvents` è la traccia).

Parametri di percorso

  • idobbligatorio

    ObjectId

    ID del passaporto.

Header

  • Authorizationobbligatorio

    string

    `Bearer <api-key>`.

  • Idempotency-Key

    string

    UUID v4.

Richiesta

curl -sS -X DELETE \
  https://app.tracepass.eu/api/v1/passports/6650b2c3d4e5f6a7b8c9d0e1 \
  -H "Authorization: Bearer tp_REDACTED_xxxxxxxxxxxx"

Risposta

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