{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "A channel that belongs to a category on Colibri.",
      "key": "tid",
      "record": {
        "properties": {
          "$type": {
            "description": "The type of the record.",
            "format": "nsid",
            "type": "string"
          },
          "allowedMembers": {
            "description": "Member DIDs explicitly allowed to post in this channel, in addition to allowedRoles.",
            "items": {
              "format": "did",
              "type": "string"
            },
            "type": "array"
          },
          "allowedRoles": {
            "description": "Role record-keys allowed to post in this channel. Empty/absent means no role restriction.",
            "items": {
              "format": "record-key",
              "type": "string"
            },
            "type": "array"
          },
          "category": {
            "description": "The category this channel belongs to.",
            "format": "record-key",
            "type": "string"
          },
          "community": {
            "description": "The record key of the community this channel belongs to.",
            "format": "record-key",
            "type": "string"
          },
          "description": {
            "default": "",
            "description": "A description of the channel.",
            "maxLength": 256,
            "type": "string"
          },
          "linkEmbeds": {
            "description": "Whether link previews are displayed in this channel. Absent means the community default applies.",
            "type": "boolean"
          },
          "migratedFrom": {
            "description": "Set on a channel created by migrating a legacy community. Points at the legacy channel record this one replaces, so message history for the old channel can be surfaced here.",
            "format": "at-uri",
            "type": "string"
          },
          "name": {
            "default": "New channel",
            "description": "The name of the channel.",
            "maxLength": 32,
            "minLength": 1,
            "type": "string"
          },
          "ownerOnly": {
            "default": false,
            "description": "Whether the owner of the community is the only one allowed to post in the channel or not.",
            "type": "boolean"
          },
          "type": {
            "description": "The type of the channel. Colibri provides social.colibri.channel.text, social.colibri.channel.forum, social.colibri.channel.link, and social.colibri.channel.voice.",
            "format": "nsid",
            "type": "string"
          }
        },
        "required": [
          "name",
          "type",
          "category",
          "community"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "id": "social.colibri.channel",
  "lexicon": 1,
  "revision": 5
}
