# app.protoimsg.chat.community

> Published by [lexicons.protoimsg.app](https://lexicon.garden/identity/did:plc:xk3xpcauatfephlieonmluh4)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:xk3xpcauatfephlieonmluh4/app.protoimsg.chat.community)
- [Documentation](https://lexicon.garden/lexicon/did:plc:xk3xpcauatfephlieonmluh4/app.protoimsg.chat.community/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:xk3xpcauatfephlieonmluh4/app.protoimsg.chat.community/examples)

## Definitions

### `app.protoimsg.chat.community`

**Type**: `record`

The user's community list. Portable across any app implementing the Lexicon.

**Key**: `literal:self`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `groups` | `array` | Yes | Named groups of community members, like AIM's buddy list categories. |

### `app.protoimsg.chat.community#communityGroup`

**Type**: `object`

A named group of community members.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `name` | `string` | Yes | Group label. |
| `members` | `array` | Yes | DIDs of group members. |
| `isInnerCircle` | `boolean` | No | Whether this is an inner circle group for presence visibility. |

### `app.protoimsg.chat.community#communityMember`

**Type**: `object`

A member in a community group.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `did` | `string` (did) | Yes | The member's DID. |
| `addedAt` | `string` (datetime) | Yes | When this member was added. |

## Raw Schema

```json
{
  "id": "app.protoimsg.chat.community",
  "defs": {
    "main": {
      "key": "literal:self",
      "type": "record",
      "record": {
        "type": "object",
        "required": [
          "groups"
        ],
        "properties": {
          "groups": {
            "type": "array",
            "items": {
              "ref": "#communityGroup",
              "type": "ref"
            },
            "maxLength": 50,
            "description": "Named groups of community members, like AIM's buddy list categories."
          }
        }
      },
      "description": "The user's community list. Portable across any app implementing the Lexicon."
    },
    "communityGroup": {
      "type": "object",
      "required": [
        "name",
        "members"
      ],
      "properties": {
        "name": {
          "type": "string",
          "maxLength": 100,
          "description": "Group label."
        },
        "members": {
          "type": "array",
          "items": {
            "ref": "#communityMember",
            "type": "ref"
          },
          "maxLength": 500,
          "description": "DIDs of group members."
        },
        "isInnerCircle": {
          "type": "boolean",
          "default": false,
          "description": "Whether this is an inner circle group for presence visibility."
        }
      },
      "description": "A named group of community members."
    },
    "communityMember": {
      "type": "object",
      "required": [
        "did",
        "addedAt"
      ],
      "properties": {
        "did": {
          "type": "string",
          "format": "did",
          "description": "The member's DID."
        },
        "addedAt": {
          "type": "string",
          "format": "datetime",
          "description": "When this member was added."
        }
      },
      "description": "A member in a community group."
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}
```
