dev.knotless.deleteAccountData

lexicons.knotless.dev

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "Deletes the asking account's knotless data a part at a time, as `knotless delete-data` does: first the spaces of its private repositories, then each public repository as dev.knotless.deleteRepo deletes one, then whatever is left in its dev.knotless.* collections. Asked by the pages' session cookie, it deletes with the session the appview keeps for the account, up to `limit` records and spaces a call, and answers whether it is done; the pages ask again until it is, and a run cut short carries on where it stopped. Once nothing is left, the appview drops what it indexed from the account, as for one deleted at its PDS, keeping its takedowns and reports about it, and ends the account's sessions here, the pages' and MCP's, logging the browser out. Asked with a service token, as the command line asks once it has deleted the records itself, it deletes nothing, and forgets the account only once its PDS holds no knotless records. The atproto account itself, and other apps' records in it, are untouched. Only the account itself can ask.",
      "errors": [
        {
          "description": "No account asks, or the pages' session for it has ended.",
          "name": "AuthenticationRequired"
        },
        {
          "description": "The account asking is not the one named.",
          "name": "Forbidden"
        },
        {
          "description": "Asked with a service token while the account's PDS still holds knotless records: delete them first.",
          "name": "RecordsRemain"
        }
      ],
      "input": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "did": {
              "description": "The account whose data goes: the one asking, named again so that no call deletes it by mistake.",
              "format": "did",
              "type": "string"
            },
            "limit": {
              "default": 400,
              "description": "The most records and spaces to delete in this call.",
              "maximum": 1000,
              "minimum": 1,
              "type": "integer"
            }
          },
          "required": [
            "did"
          ],
          "type": "object"
        }
      },
      "output": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "deleted": {
              "description": "How many records and spaces this call deleted.",
              "minimum": 0,
              "type": "integer"
            },
            "done": {
              "description": "Whether nothing is left: the appview has then forgotten the account, and logged it out.",
              "type": "boolean"
            }
          },
          "required": [
            "deleted",
            "done"
          ],
          "type": "object"
        }
      },
      "type": "procedure"
    }
  },
  "description": "Deletes every knotless record from the asking account, then has the appview forget it.",
  "id": "dev.knotless.deleteAccountData",
  "lexicon": 1
}

Validate Record

Validate a record against dev.knotless.deleteAccountData

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:yqsg7znbbhfmj3a2nrpnaerk
CID
bafyreicjlyuqokxpo5vzyvcvjabwdhdrr4kqzz4mofgilemrqgm7rv4ndq
Indexed At
2026-10-28 21:21 UTC
AT-URI
at://did:plc:yqsg7znbbhfmj3a2nrpnaerk/com.atproto.lexicon.schema/dev.knotless.deleteAccountData

Similar Lexicons

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

Lexicon Garden

@