Cancel a pending account deletion
Cancels a self-initiated deletion that's still inside the 30-day grace window. Restores the user's routes and clears the pending status. No-op if the user is not in a pending state.
JWT-authAuthorizationBearer <token>application/json- response
id*numberemail*stringname*stringhandle*stringPublic address of the user's Profile (see CONTEXT.md 'Handle').
avatar?stringisEmailVerified*booleanrole*string"user""admin"preferences?|nullidHash*stringPseudonymous user identifier for client-side ProductEvent tracking. See ADR-0020.
deletionStatus*stringDeletion lifecycle. 'pending_hard_delete' means the user has requested self-deletion and is in the 30-day grace window before permanent erasure. The web app should redirect such users to a cancel screen.
"active""pending_hard_delete"deletionRequestedAt?|When self-deletion was requested. Hard-delete fires 30 days after this timestamp.
hasPassword*booleanWhether the user has an active email/password credential. Drives password-change UI affordances.
statistics*curl -X POST 'https://api.routess.com/users/me/cancel-deletion'{ "id": 1, "email": "[email protected]", "name": "Jane Doe", "handle": "jane-doe", "avatar": "https://example.com/avatar.jpg", "isEmailVerified": true, "role": "user", "preferences": { "units": "km", "showPois": true, "terrain3d": false, "autoSnap": true, "defaultActivity": "Cycling", "selectedSports": [ "cycle", "run" ], "sportSpeeds": { "run": 10, "cycle": 25, "walk": 5 }, "mapStyle": "outdoors", "overlays": { "heatmap": true, "contour": false, "bike": true, "surface": false, "wind": false, "hikingNodes": false, "cyclingNodes": false }, "defaultRouteVisibility": "private", "routingDefaults": { "cycle": { "surfacePreference": "mixed", "avoidFerries": true, "avoidHighways": true }, "run": { "surfacePreference": "mixed", "avoidFerries": true, "avoidHighways": true }, "walk": { "surfacePreference": "mixed", "avoidFerries": true, "avoidHighways": true } } }, "idHash": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08", "deletionStatus": "active", "deletionRequestedAt": "2026-05-09T08:00:00.000Z", "hasPassword": true, "statistics": { "totalRoutes": 12, "totalDistance": 42350 }}Export account data as ZIP
Returns a ZIP containing routess-export.json (full account dump) and one GPX file per Route. Soft-capped at 1000 routes; accounts above the cap get a 400 and should contact support. GDPR Art. 15 right of access.
Google OAuth authentication
Authenticates user using a Google OAuth2 authorization code from the popup auth-code flow