app.tempomusic.actor.getDeletionState
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"main": {
"description": "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 — intentional; a purged account IS effectively gone). `purgeAt` is the **earliest** possible purge date: profiles under moderation hold or with an open account report (TEM-416) survive past this timestamp until the guard clears, so the client-side date is a lower bound.",
"output": {
"encoding": "application/json",
"schema": {
"properties": {
"deleted": {
"description": "True when `actor_profiles.deleted_at IS NOT NULL` for the viewer. False both when the account is live AND when the profile row has been hard-deleted at day 30 (the two are indistinguishable — purged accounts do not carry a marker).",
"type": "boolean"
},
"deletedAt": {
"description": "Timestamp at which the account was soft-deleted (`deleteAccount` day 0). Absent when `deleted` is false.",
"format": "datetime",
"type": "string"
},
"purgeAt": {
"description": "Earliest possible day-30 hard-delete timestamp (`deletedAt + APPVIEW_RETENTION_PROFILES_DAYS`). Absent when `deleted` is false. Note: profiles under an active moderation hold or an open account report survive past this timestamp until the guard clears.",
"format": "datetime",
"type": "string"
},
"restorable": {
"description": "TEM-518: false when the soft deletion originated from a PDS-direct account destruction (self-service PDS account page, `delete_origin = PDS_DIRECT`) — the repo no longer exists upstream, `restoreAccount` refuses with `NotRestorable`, and the client gate must render the terminal variant instead of a dated restoration promise. Absent when `deleted` is false; clients default an absent field to true (rolling-deploy compat).",
"type": "boolean"
}
},
"required": [
"deleted"
],
"type": "object"
}
},
"type": "query"
}
},
"id": "app.tempomusic.actor.getDeletionState",
"lexicon": 1
}
Metadata
- DID
-
did:plc:pxsuqmultto34oks44m2lgxm - CID
-
bafyreigslcc5m3dhqpb2ablt535qrhm3jnlphsxhhgwx3ob5u77ets56qy - Indexed At
- 2026-08-24 09:06 UTC
- AT-URI
-
at://did:plc:pxsuqmultto34oks44m2lgxm/com.atproto.lexicon.schema/app.tempomusic.actor.getDeletionState
Similar Lexicons
Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
app.tempomusic.actor.restoreAccount procedure
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 individu…
-
app.tempomusic.actor.deleteAccount procedure
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 da…