# social.colibri.beta.community

> Published by [colibri.social](https://lexicon.garden/identity/did:plc:mprdjqjluoswa7awzggaggj3)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:mprdjqjluoswa7awzggaggj3/social.colibri.beta.community)
- [Documentation](https://lexicon.garden/lexicon/did:plc:mprdjqjluoswa7awzggaggj3/social.colibri.beta.community/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:mprdjqjluoswa7awzggaggj3/social.colibri.beta.community/examples)

## Definitions

### `social.colibri.beta.community`

**Type**: `record`

A community's public identity. Lives in the community's profile space, which is readable without membership unless the community is private.

**Key**: `literal:self`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `name` | `string` | Yes | The community's name. |
| `banner` | `blob` | No | Wide image shown at the top of the community. |
| `picture` | `blob` | No | Square image shown as the community's icon. |
| `description` | `string` | No | A short description. |
| `managingApp` | `string` (did) | Yes | The AppView that manages this community's spaces, named without a service fragment. Clients read it here rather than from the space policy, because com.atproto.simplespace.getSpace only serves a policy to a caller already authorized for that space, which a prospective member is not. |
| `migratedFrom` | `string` (at-uri) | No | Set on a community created by migrating a repo-backed community. Points at the legacy community record it replaces, so its history can be served alongside. |

## Raw Schema

```json
{
  "id": "social.colibri.beta.community",
  "defs": {
    "main": {
      "key": "literal:self",
      "type": "record",
      "record": {
        "type": "object",
        "required": [
          "name",
          "managingApp"
        ],
        "properties": {
          "name": {
            "type": "string",
            "maxLength": 32,
            "minLength": 1,
            "description": "The community's name."
          },
          "banner": {
            "type": "blob",
            "accept": [
              "image/jpeg",
              "image/png",
              "image/gif",
              "image/webp"
            ],
            "maxSize": 4194304,
            "description": "Wide image shown at the top of the community."
          },
          "picture": {
            "type": "blob",
            "accept": [
              "image/jpeg",
              "image/png",
              "image/gif",
              "image/webp"
            ],
            "maxSize": 1048576,
            "description": "Square image shown as the community's icon."
          },
          "description": {
            "type": "string",
            "maxLength": 256,
            "description": "A short description."
          },
          "managingApp": {
            "type": "string",
            "format": "did",
            "description": "The AppView that manages this community's spaces, named without a service fragment. Clients read it here rather than from the space policy, because com.atproto.simplespace.getSpace only serves a policy to a caller already authorized for that space, which a prospective member is not."
          },
          "migratedFrom": {
            "type": "string",
            "format": "at-uri",
            "description": "Set on a community created by migrating a repo-backed community. Points at the legacy community record it replaces, so its history can be served alongside."
          }
        }
      },
      "description": "A community's public identity. Lives in the community's profile space, which is readable without membership unless the community is private."
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}
```
