app.tempomusic.actor.restoreAccount

Restore the requesting viewer's previously soft-deleted account. Clears deleted_at on the profile and unconditionally on every post, reply and like owned by the viewer (including content the viewer soft-deleted individually before the account cascade). Moderation-held content stays in moderation hold. Only valid within the 30-day restoration window opened by deleteAccount; outside the window the profile has been hard-deleted and the cascade content is anonymised, so restoration is impossible. See ADR-009 for the full retention lifecycle.

Details · procedure
Kindprocedure
Authorityactor.tempomusic.app
Indexed

Procedure

procedure · POST

Parameters

query string

viewer

requiredstring · did

DID of the requesting viewer whose account is being restored. Must match the authenticated principal.

Output

application/json

Errors

ExpiredWindow

The 30-day restoration window has elapsed since deleteAccount was called. The profile has been hard-deleted and cannot be restored.

NotDeleted

The viewer's profile is not in the soft-deleted state; nothing to restore.

NotRestorable

TEM-518: the soft deletion originated from a PDS-direct account destruction (self-service PDS account page). The AT Protocol repo no longer exists upstream, so restoring the appview projection would resurrect an orphan; the deletion proceeds to the day-30 hard delete.

Similar lexicons

semantic match

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

  • Schedule the requesting viewer's account for deletion. Soft-deletes the profile and cascades soft-delete on every post, reply and like owned by the viewer in a single transaction. The viewer can log back in within 30 days and call restoreAccount to undo. After 30 days the account is hard-deleted irreversibly and the content is anonymised. See ADR-009 for the full retention lifecycle.

  • Return the requesting viewer's account-deletion state so the client's bootstrap gate can decide between showing the app, the dated restoration screen, or the terminal 'window passed' variant (TEM-492). The viewer DID is read from the service-auth JWT (`iss` claim) — no explicit parameter, matching the appview's `getAnalyticsConsent` convention. When the profile row has been hard-deleted at day 30 the endpoint returns `deleted: false` (indistinguishable from an account that was never deleted — in

  • Restore an account to active.