# chat.yakka.channel.info

> Published by [yakka.chat](https://lexicon.garden/identity/did:plc:wpjoy2orkqq5m65vq7gg7liz)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:wpjoy2orkqq5m65vq7gg7liz/chat.yakka.channel.info)
- [Documentation](https://lexicon.garden/lexicon/did:plc:wpjoy2orkqq5m65vq7gg7liz/chat.yakka.channel.info/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:wpjoy2orkqq5m65vq7gg7liz/chat.yakka.channel.info/examples)

## Definitions

### `chat.yakka.channel.info`

**Type**: `record`

A channel's presentation and its gate. Authority-written into the directory space via the space host (ADR 0006). The gate here is the same policy the mint enforces (ADR 0007) — an open and a gated channel are structurally identical spaces, so toggling `allowedRoles` is a policy edit and never a data migration (ADR 0002).

**Key**: `tid`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `kind` | `string` | Yes |  |
| `name` | `string` | Yes |  |
| `group` | `string` | No | Sidebar grouping label. Purely presentational. |
| `topic` | `string` | No |  |
| `createdAt` | `string` (datetime) | Yes |  |
| `allowedRoles` | `array` | No | Roles whose holders may be minted a credential for this channel. Absent or empty means any member of the server — which is what an 'open' channel is. Presence of this field is the only difference between an open channel and a gated one. |

## Raw Schema

```json
{
  "id": "chat.yakka.channel.info",
  "defs": {
    "main": {
      "key": "tid",
      "type": "record",
      "record": {
        "type": "object",
        "required": [
          "name",
          "kind",
          "createdAt"
        ],
        "properties": {
          "kind": {
            "type": "string",
            "knownValues": [
              "text",
              "voice"
            ]
          },
          "name": {
            "type": "string",
            "maxLength": 512,
            "maxGraphemes": 64
          },
          "group": {
            "type": "string",
            "maxLength": 512,
            "description": "Sidebar grouping label. Purely presentational.",
            "maxGraphemes": 64
          },
          "topic": {
            "type": "string",
            "maxLength": 2048,
            "maxGraphemes": 256
          },
          "createdAt": {
            "type": "string",
            "format": "datetime"
          },
          "allowedRoles": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "at-uri"
            },
            "description": "Roles whose holders may be minted a credential for this channel. Absent or empty means any member of the server — which is what an 'open' channel is. Presence of this field is the only difference between an open channel and a gated one."
          }
        }
      },
      "description": "A channel's presentation and its gate. Authority-written into the directory space via the space host (ADR 0006). The gate here is the same policy the mint enforces (ADR 0007) — an open and a gated channel are structurally identical spaces, so toggling `allowedRoles` is a policy edit and never a data migration (ADR 0002)."
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}
```
