---
title: "Annullare un esito dell'EU DPP Registry annotato per errore"
description: "Annulla un esito dell'EU DPP Registry annotato per errore su un passaporto della batteria, produzione o test. Non cambia nulla nel registro. A pagamento."
canonical: "https://www.tracepass.eu/it/docs/undo-passport-registration"
locale: it
source: "https://www.tracepass.eu/it/docs/undo-passport-registration"
---

# Annullare un esito dell'EU DPP Registry annotato per errore

> Annulla un esito dell'EU DPP Registry annotato per errore su un passaporto della batteria, produzione o test. Non cambia nulla nel registro. A pagamento.

```http
DELETE /api/v1/passports/{id}/registration
```

Cancella un esito annotato con `POST /api/v1/passports/{id}/registration`; il parametro di query obbligatorio `environment` indica quale. Non cambia nulla nell'EU DPP Registry stesso: corregge ciò che TracePass conserva per il passaporto. L'annullamento viene registrato.

**`environment=acceptance`** rimuove il test annotato nell'ambiente di accettazione (`registryAcceptanceTest`).

**`environment=production`** riporta il passaporto allo stato "preparato": `placeOnMarketStatus`, `placedOnMarketAt`, `registrationId` e `registrationMode` vengono cancellati, l'indirizzo congelato (`registryUpi`) e la preparazione restano, e le parti dell'operatore vengono sbloccate. Si può annullare solo un'annotazione con `registrationMode: "website"`, mai una registrazione confermata da un registro EN 18222.

Se non c'è un'annotazione di quel tipo da annullare, la chiamata risponde **409** `nothing_to_undo`. **Solo piani a pagamento** (`402` su Free). Le chiamate OAuth devono agire per un amministratore o un proprietario. Restituisce il passaporto dopo l'annullamento. Conta come una scrittura v1.

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `Authorization` | header | string | yes | `Bearer <token>` — una chiave API `tp_` (Developer → API Keys; più semplice, per server-to-server) oppure un access token OAuth 2.0 (Developer → OAuth Apps; per app autorizzate dall'utente, scoped e revocabili). La pagina Authentication contiene il flusso OAuth completo e l'elenco degli scopes. |
| `id` | path | string (24 hex chars) | yes | ID del passaporto. |
| `environment` | query | "production" \| "acceptance" | yes | Quale esito annotato annullare. |

## Examples

```bash
curl -sS -X DELETE \
  "https://app.tracepass.eu/api/v1/passports/6650b2c3d4e5f6a7b8c9d0e1/registration?environment=production" \
  -H "Authorization: Bearer tp_REDACTED_xxxxxxxxxxxx"
```

```typescript
const res = await fetch(
  `https://app.tracepass.eu/api/v1/passports/${id}/registration?environment=production`,
  {
    method: "DELETE",
    headers: { Authorization: `Bearer ${process.env.TRACEPASS_API_KEY}` },
  },
);
if (res.status === 409) {
  console.warn("Nothing to undo"); // no website record of this kind
} else {
  const { passport } = await res.json();
  console.log(passport.placeOnMarketStatus ?? "prepared", passport.registryUpi);
}
```

```python
import os, requests
res = requests.delete(
    f"https://app.tracepass.eu/api/v1/passports/{passport_id}/registration",
    params={"environment": "acceptance"},
    headers={"Authorization": f"Bearer {os.environ['TRACEPASS_API_KEY']}"},
)
if res.status_code == 409:
    print("Nothing to undo")
else:
    res.raise_for_status()
```

## Responses

### 200 — Di nuovo preparato

```json
{
  "passport": {
    "_id": "6650b2c3d4e5f6a7b8c9d0e1",
    "status": "published",
    "registryUpi": "https://id.tracepass.eu/01/04012345000016/21/A1B2C3",
    "registrationPreparedAt": "2027-02-26T09:12:00.000Z",
    "registrationPreparedVia": "form"
  }
}
```

### 409 — Niente da annullare

```json
{ "error": "nothing_to_undo" }
```

### 400 — environment mancante

```json
{
  "error": "Validation failed",
  "details": { "environment": ["Invalid option: expected one of \"production\"|\"acceptance\""] }
}
```

## Related

- [Annotare l'esito del registro](https://www.tracepass.eu/it/docs/record-passport-registration.md)
- [Leggere un passaporto](https://www.tracepass.eu/it/docs/get-passport.md)
