# social.dracome.actor.profile

> Published by [dracome.social](https://lexicon.garden/identity/did:plc:66dyrt2bmghwlmdteyizs5l3)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:66dyrt2bmghwlmdteyizs5l3/social.dracome.actor.profile)
- [Documentation](https://lexicon.garden/lexicon/did:plc:66dyrt2bmghwlmdteyizs5l3/social.dracome.actor.profile/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:66dyrt2bmghwlmdteyizs5l3/social.dracome.actor.profile/examples)

## Definitions

### `social.dracome.actor.profile`

**Type**: `record`

A shared base profile for any Dracome user, published to the user's own PDS as a singleton record. Carries the user's display name and optional biographical information.

**Key**: `literal:self`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `avatar` | `ref` → `social.dracome.embed.defs#image` | No | Optional profile avatar image. Aspect-ratio enforcement (square) happens client-side, pre-upload; no aspectRatio field is carried on the lexicon. |
| `banner` | `ref` → `social.dracome.embed.defs#image` | No | Optional profile banner image. Aspect-ratio enforcement (wide) happens client-side, pre-upload; no aspectRatio field is carried on the lexicon. |
| `bio` | `string` | No | Optional free-text biography. |
| `createdAt` | `string` (datetime) | Yes | ISO 8601 UTC datetime with trailing Z when this profile was created. |
| `mood` | `string` | No | Optional short, frequently-updated free text distinct from bio (e.g. current read or mood). |
| `name` | `string` | Yes | Display name in natural reading order (given name(s) before family name, e.g. 'Jane Doe', not library-cataloging order 'Doe, Jane'). |
| `personalName` | `string` | No | Optional full or legal name if different from the display name, also in natural reading order. |
| `updatedAt` | `string` (datetime) | No | Optional ISO 8601 UTC datetime with trailing Z when this profile was last updated. |

## Raw Schema

```json
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "A shared base profile for any Dracome user, published to the user's own PDS as a singleton record. Carries the user's display name and optional biographical information.",
      "key": "literal:self",
      "record": {
        "properties": {
          "avatar": {
            "description": "Optional profile avatar image. Aspect-ratio enforcement (square) happens client-side, pre-upload; no aspectRatio field is carried on the lexicon.",
            "ref": "social.dracome.embed.defs#image",
            "type": "ref"
          },
          "banner": {
            "description": "Optional profile banner image. Aspect-ratio enforcement (wide) happens client-side, pre-upload; no aspectRatio field is carried on the lexicon.",
            "ref": "social.dracome.embed.defs#image",
            "type": "ref"
          },
          "bio": {
            "description": "Optional free-text biography.",
            "maxGraphemes": 2048,
            "maxLength": 8192,
            "type": "string"
          },
          "createdAt": {
            "description": "ISO 8601 UTC datetime with trailing Z when this profile was created.",
            "format": "datetime",
            "type": "string"
          },
          "mood": {
            "description": "Optional short, frequently-updated free text distinct from bio (e.g. current read or mood).",
            "maxGraphemes": 60,
            "maxLength": 600,
            "type": "string"
          },
          "name": {
            "description": "Display name in natural reading order (given name(s) before family name, e.g. 'Jane Doe', not library-cataloging order 'Doe, Jane').",
            "maxGraphemes": 256,
            "maxLength": 1024,
            "type": "string"
          },
          "personalName": {
            "description": "Optional full or legal name if different from the display name, also in natural reading order.",
            "maxGraphemes": 512,
            "maxLength": 2048,
            "type": "string"
          },
          "updatedAt": {
            "description": "Optional ISO 8601 UTC datetime with trailing Z when this profile was last updated.",
            "format": "datetime",
            "type": "string"
          }
        },
        "required": [
          "name",
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "id": "social.dracome.actor.profile",
  "lexicon": 1
}
```
