# social.coves.actor.defs

> Published by [coves.social](https://lexicon.garden/identity/did:web:coves.social)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:web:coves.social/social.coves.actor.defs)
- [Documentation](https://lexicon.garden/lexicon/did:web:coves.social/social.coves.actor.defs/docs)
- [Examples](https://lexicon.garden/lexicon/did:web:coves.social/social.coves.actor.defs/examples)

## Definitions

### `social.coves.actor.defs#profileView`

**Type**: `object`

Basic profile view with essential information

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `did` | `string` (did) | Yes |  |
| `avatar` | `string` (uri) | No | URL to avatar image |
| `handle` | `string` (handle) | No | Current handle resolved from DID |
| `displayName` | `string` | No |  |

### `social.coves.actor.defs#viewerState`

**Type**: `object`

The viewing user's relationship to this profile

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `blocked` | `boolean` | No | Whether the viewer has blocked this user |
| `blocking` | `string` (at-uri) | No | AT-URI of the block record if the viewer has blocked this user |
| `blockedBy` | `boolean` | No | Whether the viewer is blocked by this user |

### `social.coves.actor.defs#profileStats`

**Type**: `object`

Aggregated statistics for a user profile

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `postCount` | `integer` | No | Total number of posts created |
| `reputation` | `integer` | No | Global reputation score |
| `commentCount` | `integer` | No | Total number of comments made |
| `communityCount` | `integer` | No | Number of communities subscribed to |
| `membershipCount` | `integer` | No | Number of communities with membership status |

### `social.coves.actor.defs#profileViewDetailed`

**Type**: `object`

Detailed profile view with stats and viewer state

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `did` | `string` (did) | Yes |  |
| `stats` | `ref` → `#profileStats` | No | Aggregated statistics |
| `avatar` | `string` (uri) | No | URL to avatar image |
| `banner` | `string` (uri) | No | URL to banner image |
| `handle` | `string` (handle) | No | Current handle resolved from DID |
| `viewer` | `ref` → `#viewerState` | No | Viewer's relationship to this profile |
| `createdAt` | `string` (datetime) | No |  |
| `description` | `string` | No |  |
| `displayName` | `string` | No |  |
| `descriptionFacets` | `array` | No | Rich text annotations for the description |

## Raw Schema

```json
{
  "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
}
```
