app.tempomusic.actor.getDeletionState

lexicons.tempomusic.fan

Documentation

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.

main query

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

Encodingapplication/json
deleted boolean Required

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).

deletedAt stringdatetime Optional

Timestamp at which the account was soft-deleted (`deleteAccount` day 0). Absent when `deleted` is false.

purgeAt stringdatetime Optional

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.

restorable boolean Optional

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).

Try It

Requests are sent directly from your browser. Some servers may block requests due to CORS.

Base URL for XRPC calls (e.g., https://api.bsky.social)
View raw schema
{
  "type": "query",
  "output": {
    "schema": {
      "type": "object",
      "required": [
        "deleted"
      ],
      "properties": {
        "deleted": {
          "type": "boolean",
          "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)."
        },
        "purgeAt": {
          "type": "string",
          "format": "datetime",
          "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."
        },
        "deletedAt": {
          "type": "string",
          "format": "datetime",
          "description": "Timestamp at which the account was soft-deleted (`deleteAccount` day 0). Absent when `deleted` is false."
        },
        "restorable": {
          "type": "boolean",
          "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)."
        }
      }
    },
    "encoding": "application/json"
  },
  "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."
}

Lexicon Garden

@