{
"id": "app.tempomusic.actor.restoreAccount",
"defs": {
"main": {
"type": "procedure",
"errors": [
{
"name": "ExpiredWindow",
"description": "The 30-day restoration window has elapsed since deleteAccount was called. The profile has been hard-deleted and cannot be restored."
},
{
"name": "NotDeleted",
"description": "The viewer's profile is not in the soft-deleted state; nothing to restore."
},
{
"name": "NotRestorable",
"description": "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."
}
],
"output": {
"schema": {
"type": "object",
"properties": {}
},
"encoding": "application/json"
},
"parameters": {
"type": "params",
"required": [
"viewer"
],
"properties": {
"viewer": {
"type": "string",
"format": "did",
"description": "DID of the requesting viewer whose account is being restored. Must match the authenticated principal."
}
}
},
"description": "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."
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1
}