Skip to content

Lexicons

Colibri includes a few lexicons for various data types. You can find each of them below.

social.colibri.actor.data

Lexicon version: 1

Main Definition RECORD

The main actor data used in Colibri

$type
string
format: nsid

The type of the record.

status
string
required
maxLength: 32

The status for the user, displayed on their profile.

emoji
string

The emoji displayed next to status.

communities
array
required

A list of references to communities this user has joined and does not own.

social.colibri.community

Lexicon version: 1

Main Definition RECORD

A community, or "server", is where users join to interact with each other on Colibri. Singleton record on the community DID's repo.

$type
string
format: nsid

The type of the record.

name
string
required
minLength: 1
maxLength: 32
default: New Community

The name of the community.

description
string
required
maxLength: 256

A description of the community.

picture
blob
accept: image/jpeg, image/png, image/gif

An image for the community that will be shown to users.

categoryOrder
array
required

The order of the categories in this community.

requiresApprovalToJoin
boolean
required
default: true

Whether users can chat in this community without the owner having to create an acknowledgement record.

social.colibri.category

Lexicon version: 1

Main Definition RECORD

A category belongs to a community and contains multiple channels on Colibri.

$type
string
format: nsid

The type of the record.

name
string
required
minLength: 1
maxLength: 32
default: New category

The name of the category.

channelOrder
array
required

The order of the channels in this category.

community
string
required
format: record-key

The community this category belongs to.

social.colibri.channel

Lexicon version: 1

Main Definition RECORD

A channel that belongs to a category on Colibri.

$type
string
format: nsid

The type of the record.

name
string
required
minLength: 1
maxLength: 32
default: New channel

The name of the channel.

description
string
maxLength: 256

A description of the channel.

type
string
required
format: nsid

The type of the channel. Colibri provides social.colibri.channel.text, social.colibri.channel.forum, social.colibri.channel.link, and social.colibri.channel.voice.

category
string
required
format: record-key

The category this channel belongs to.

community
string
required
format: record-key

The record key of the community this channel belongs to.

ownerOnly
boolean

Whether the owner of the community is the only one allowed to post in the channel or not.

social.colibri.message

Lexicon version: 1

Main Definition RECORD

A message sent in a channel on Colibri

$type
string
format: nsid

The type of the record.

text
string
required
maxLength: 2048

The message content.

facets
array

Annotations of sections of the text.

createdAt
string
required
format: datetime

When the message was sent.

channel
string
required
format: record-key

The channel this message was sent in.

edited
boolean

Whether this message has been edited.

parent
string
format: record-key

The record key of a message this message is replying to.

attachments
array

An array of attachment objects for this message.

social.colibri.reaction

Lexicon version: 1

Main Definition RECORD

A reaction on a Colibri message.

$type
string
format: nsid

The type of the record.

emoji
string
required

The emoji of the reaction. This allows for any string to support for custom emojis later down the line.

targetMessage
string
required
format: record-key

The message this relation belongs to.

social.colibri.membership

Lexicon version: 1

Main Definition RECORD

community
string
required
format: at-uri

AT-URI of the social.colibri.community record being joined

createdAt
string
required
format: datetime

social.colibri.approval

Lexicon version: 1

Main Definition RECORD

membership
string
required
format: at-uri

AT-URI of the user's social.colibri.membership record

community
string
required
format: at-uri

AT-URI of the social.colibri.community record

createdAt
string
required
format: datetime

social.colibri.channel.read

Lexicon version: 1

Main Definition RECORD

A read cursor for a Colibri channel, indicating the last read message by a user.

$type
string
format: nsid

The type of the record.

channel
string
required
format: at-uri

The channel this message was sent in.

cursor
string
required
format: datetime

The timestamp the channel was last read at.

social.colibri.role

Lexicon version: 1

Main Definition RECORD

A named bundle of permissions assignable to community members. Lives on the community repo.

$type
string
format: nsid

The type of the record.

name
string
required
minLength: 1
maxLength: 32

Display name of the role.

color
string

Optional hex color displayed alongside the role (e.g. '#ff8800').

permissions
array
required

Permission identifiers granted by this role.

position
integer
required

Hierarchy position. Higher values sit higher in the role hierarchy and outrank lower values.

hoisted
boolean

Whether members of this role are displayed separately in the member list.

mentionable
boolean

Whether `@role`-style mentions resolve to this role.

protected
boolean

Whether this role is protected from modification or deletion. Set true for system-managed roles (e.g. the bootstrap 'Owner' role minted by `community.create`).

channelOverrides
array

Per-channel permission overrides for this role.

social.colibri.member

Lexicon version: 1

Main Definition RECORD

A community-side member record granting a user roles within the community. Lives on the community repo and is written when an admission is finalized.

$type
string
format: nsid

The type of the record.

subject
string
required
format: did

DID of the admitted user.

roles
array

Role record-keys assigned to this member on the same community repo.

joinedAt
string
required
format: datetime

nickname
string
maxLength: 32

Optional per-community display-name override for this member.

fromMembership
string
format: at-uri

Optional AT-URI of the user's `social.colibri.membership` declaration this admission was based on.

social.colibri.moderation

Lexicon version: 1

Main Definition RECORD

A moderation event scoped to the community that owns this repo. Acts as an append-only audit log; current state is derived from the action history per subject.

$type
string
format: nsid

The type of the record.

action
string
required

The moderation action being recorded.

subject
ref
required

reason
string
maxLength: 512

Optional human-readable reason for the action.

createdBy
string
required
format: did

DID of the issuer (typically a member with the required permission).

createdAt
string
required
format: datetime