io.atcr.hold.exportUserData
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"crewExport": {
"properties": {
"addedAt": {
"format": "datetime",
"type": "string"
},
"permissions": {
"items": {
"maxLength": 64,
"type": "string"
},
"type": "array"
},
"role": {
"maxLength": 32,
"type": "string"
},
"tier": {
"maxLength": 32,
"type": "string"
}
},
"type": "object"
},
"layerExport": {
"properties": {
"createdAt": {
"format": "datetime",
"type": "string"
},
"digest": {
"maxLength": 128,
"type": "string"
},
"manifest": {
"format": "at-uri",
"type": "string"
},
"mediaType": {
"maxLength": 256,
"type": "string"
},
"size": {
"type": "integer"
}
},
"type": "object"
},
"main": {
"description": "Export all user data from this hold (GDPR compliance). Returns all records stored on this hold's PDS that reference the authenticated user's DID.",
"errors": [
{
"name": "AuthRequired"
}
],
"output": {
"encoding": "application/json",
"schema": {
"properties": {
"blueskyPosts": {
"description": "Bluesky posts that mention the user",
"items": {
"ref": "#postExport",
"type": "ref"
},
"type": "array"
},
"crewRecord": {
"description": "User's crew record (if they are a crew member)",
"ref": "#crewExport",
"type": "ref"
},
"exportedAt": {
"description": "RFC3339 timestamp of when the export was generated",
"format": "datetime",
"type": "string"
},
"holdDid": {
"description": "DID of this hold service",
"format": "did",
"type": "string"
},
"isCaptain": {
"description": "Whether the user is the captain (owner) of this hold",
"type": "boolean"
},
"layerRecords": {
"description": "Layer records uploaded by the user",
"items": {
"ref": "#layerExport",
"type": "ref"
},
"type": "array"
},
"statsRecords": {
"description": "Repository stats records owned by the user",
"items": {
"ref": "#statsExport",
"type": "ref"
},
"type": "array"
},
"userDid": {
"description": "DID of the user whose data was exported",
"format": "did",
"type": "string"
}
},
"required": [
"exportedAt",
"holdDid",
"userDid",
"isCaptain",
"layerRecords",
"statsRecords",
"blueskyPosts"
],
"type": "object"
}
},
"parameters": {
"properties": {},
"type": "params"
},
"type": "query"
},
"postExport": {
"properties": {
"createdAt": {
"format": "datetime",
"type": "string"
},
"text": {
"maxGraphemes": 3000,
"maxLength": 30000,
"type": "string"
},
"uri": {
"format": "at-uri",
"type": "string"
}
},
"type": "object"
},
"statsExport": {
"properties": {
"lastPull": {
"format": "datetime",
"type": "string"
},
"lastPush": {
"format": "datetime",
"type": "string"
},
"pullCount": {
"type": "integer"
},
"pushCount": {
"type": "integer"
},
"repository": {
"maxLength": 256,
"type": "string"
},
"updatedAt": {
"format": "datetime",
"type": "string"
}
},
"type": "object"
}
},
"id": "io.atcr.hold.exportUserData",
"lexicon": 1
}
Metadata
- DID
-
did:web:lexicon.atcr.io - CID
-
bafyreicstoas6yz7a2qsf5shobx4olu523qqy2uc7opjaewopain7kemey - Indexed At
- 2026-08-27 01:50 UTC
- AT-URI
-
at://did:web:lexicon.atcr.io/com.atproto.lexicon.schema/io.atcr.hold.exportUserData
Similar Lexicons
Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
io.atcr.hold.deleteUserData procedure
Delete all user data from this hold (GDPR compliance). Deletes crew record (if not captain), layer records, and stats records. Does NOT delete actual blob data from S3 - only PDS records.