/api/v1/passports/{id}/registrationUndo a mistaken EU DPP Registry record
Clears a result recorded with POST /api/v1/passports/{id}/registration; the required environment query parameter says which one. This changes nothing in the EU DPP Registry itself: it corrects what TracePass holds for the passport. The undo is recorded.
environment=acceptance removes the recorded acceptance test (registryAcceptanceTest).
environment=production returns the passport to prepared: placeOnMarketStatus, placedOnMarketAt, registrationId and registrationMode are cleared, the frozen address (registryUpi) and the preparation stay, and the operator parties unlock. Only a record with registrationMode: "website" can be undone, never a registration an EN 18222 registry confirmed.
With no record of that kind to undo, the call answers 409 nothing_to_undo. Paid plans only (402 on Free). OAuth callers must act for an admin or owner. Returns the passport after the undo. Counts as one v1 write.
Path parameters
- idrequired
string (24 hex chars)
Passport ID.
Query parameters
- environmentrequired
"production" | "acceptance"
Which recorded result to undo.
e.g. production
Headers
- Authorizationrequired
string
Bearer <token>— either atp_API key (Developer → API Keys; simplest, for server-to-server) or an OAuth 2.0 access token (Developer → OAuth Apps; for user-authorized apps, scoped + revocable). The Authentication page has the full OAuth flow and scope list.e.g. Bearer tp_REDACTED_xxxxxxxxxxxx
Request
curl -sS -X DELETE \
"https://app.tracepass.eu/api/v1/passports/6650b2c3d4e5f6a7b8c9d0e1/registration?environment=production" \
-H "Authorization: Bearer tp_REDACTED_xxxxxxxxxxxx"Response
{
"passport": {
"_id": "6650b2c3d4e5f6a7b8c9d0e1",
"status": "published",
"registryUpi": "https://id.tracepass.eu/01/04012345000016/21/A1B2C3",
"registrationPreparedAt": "2027-02-26T09:12:00.000Z",
"registrationPreparedVia": "form"
}
}