{
"id": "social.coves.actor.defs",
"defs": {
"profileView": {
"type": "object",
"required": [
"did"
],
"properties": {
"did": {
"type": "string",
"format": "did"
},
"avatar": {
"type": "string",
"format": "uri",
"description": "URL to avatar image"
},
"handle": {
"type": "string",
"format": "handle",
"description": "Current handle resolved from DID"
},
"displayName": {
"type": "string",
"maxLength": 640,
"maxGraphemes": 64
}
},
"description": "Basic profile view with essential information"
},
"viewerState": {
"type": "object",
"properties": {
"blocked": {
"type": "boolean",
"description": "Whether the viewer has blocked this user"
},
"blocking": {
"type": "string",
"format": "at-uri",
"description": "AT-URI of the block record if the viewer has blocked this user"
},
"blockedBy": {
"type": "boolean",
"description": "Whether the viewer is blocked by this user"
}
},
"description": "The viewing user's relationship to this profile"
},
"profileStats": {
"type": "object",
"properties": {
"postCount": {
"type": "integer",
"minimum": 0,
"description": "Total number of posts created"
},
"reputation": {
"type": "integer",
"description": "Global reputation score"
},
"commentCount": {
"type": "integer",
"minimum": 0,
"description": "Total number of comments made"
},
"communityCount": {
"type": "integer",
"minimum": 0,
"description": "Number of communities subscribed to"
},
"membershipCount": {
"type": "integer",
"minimum": 0,
"description": "Number of communities with membership status"
}
},
"description": "Aggregated statistics for a user profile"
},
"profileViewDetailed": {
"type": "object",
"required": [
"did"
],
"properties": {
"did": {
"type": "string",
"format": "did"
},
"stats": {
"ref": "#profileStats",
"type": "ref",
"description": "Aggregated statistics"
},
"avatar": {
"type": "string",
"format": "uri",
"description": "URL to avatar image"
},
"banner": {
"type": "string",
"format": "uri",
"description": "URL to banner image"
},
"handle": {
"type": "string",
"format": "handle",
"description": "Current handle resolved from DID"
},
"viewer": {
"ref": "#viewerState",
"type": "ref",
"description": "Viewer's relationship to this profile"
},
"createdAt": {
"type": "string",
"format": "datetime"
},
"description": {
"type": "string",
"maxLength": 2560,
"maxGraphemes": 256
},
"displayName": {
"type": "string",
"maxLength": 640,
"maxGraphemes": 64
},
"descriptionFacets": {
"type": "array",
"items": {
"ref": "social.coves.richtext.facet",
"type": "ref"
},
"maxLength": 50,
"description": "Rich text annotations for the description"
}
},
"description": "Detailed profile view with stats and viewer state"
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1
}