# lol.folk.profile

> Published by [folk.lol](https://lexicon.garden/identity/did:plc:ijmfftrkmxdxndel5hbxhzn3)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:ijmfftrkmxdxndel5hbxhzn3/lol.folk.profile)
- [Documentation](https://lexicon.garden/lexicon/did:plc:ijmfftrkmxdxndel5hbxhzn3/lol.folk.profile/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:ijmfftrkmxdxndel5hbxhzn3/lol.folk.profile/examples)

## Definitions

### `lol.folk.profile`

**Type**: `record`

A player's FOLK profile, stored in the player's own repository. The collection identifies the game: the NSID authority reverses to folk.lol, whose repo holds the lol.folk.game record. Presence of this record is itself the signal that the account plays FOLK, so every field is optional.

**Key**: `literal:self`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `avatar` | `blob` | No | The player's portrait, already composited over its background. A rendered image rather than the traits behind it, so any client can draw a FOLK player with one fetch and no knowledge of our art. The traits themselves stay in the game's own database, where the editor needs them. |
| `updatedAt` | `string` (datetime) | No | When this record last changed. The record is rewritten in place on every rename or avatar edit, so without this a reader cannot tell a current profile from a stale one. |
| `displayName` | `string` | No | In-game display name. |

## Raw Schema

```json
{
  "id": "lol.folk.profile",
  "defs": {
    "main": {
      "key": "literal:self",
      "type": "record",
      "record": {
        "type": "object",
        "properties": {
          "avatar": {
            "type": "blob",
            "accept": [
              "image/webp",
              "image/png"
            ],
            "maxSize": 262144,
            "description": "The player's portrait, already composited over its background. A rendered image rather than the traits behind it, so any client can draw a FOLK player with one fetch and no knowledge of our art. The traits themselves stay in the game's own database, where the editor needs them."
          },
          "updatedAt": {
            "type": "string",
            "format": "datetime",
            "description": "When this record last changed. The record is rewritten in place on every rename or avatar edit, so without this a reader cannot tell a current profile from a stale one."
          },
          "displayName": {
            "type": "string",
            "maxLength": 640,
            "description": "In-game display name.",
            "maxGraphemes": 64
          }
        }
      },
      "description": "A player's FOLK profile, stored in the player's own repository. The collection identifies the game: the NSID authority reverses to folk.lol, whose repo holds the lol.folk.game record. Presence of this record is itself the signal that the account plays FOLK, so every field is optional."
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}
```
