Skip to content

Lexicons

Colibri defines a set of AT Protocol lexicons for its data types and AppView endpoints. They are grouped below by kind.

Persisted records that live in a user’s or community’s repository.

social.colibri.actor.data

lexicon v1revision 1
mainRECORDkey: literal:self

The main actor data used in Colibri

$typestringformatnsid

The type of the record.

statusstringrequireddefaultmaxLength32

The status for the user, displayed on their profile.

emojistring

The emoji displayed next to status.

communitiesarray<string>required

The DIDs of the communities this user is a member of, in the user's preferred sidebar order. Read back by `social.colibri.actor.listCommunities` to restore ordering.

social.colibri.actor.profile

lexicon v1revision 2
mainRECORDkey: literal:self

A Colibri-specific user profile. Singleton record on the user's own repo, kept separate from app.bsky.actor.profile so Colibri never needs write access to the Bluesky record.

$typestringformatnsid

The type of the record.

displayNamestringmaxLength640maxGraphemes64

The user's display name.

descriptionstringmaxLength2560maxGraphemes256

The user's profile description / bio.

avatarblobacceptimage/jpeg, image/png, image/gif, image/webp

The user's avatar image.

bannerblobacceptimage/jpeg, image/png, image/gif, image/webp

The user's profile banner image.

syncBlueskybooleandefaultfalse

When true, the AppView serves displayName/avatar/banner/description from the user's app.bsky.actor.profile record (Bluesky stays the live source); these mirrored fields may be omitted here.

Colibri-only profile theming. Always sourced from this record regardless of syncBluesky.

presenceServicestringformatdid

DID of the AppView authorized to emit off-protocol presence (status, typing, voice) for this user via Humming. A receiving AppView MUST drop any Hum about this user whose authenticated origin does not equal this value. Absent means the user has not opted into cross-instance presence.

preferredBadgestringmaxLength64

Label value of the badge the user chose to display as their primary badge. Absent means automatic (highest-priority badge).

#themeOBJECT

Colibri-only profile theming.

accentColorstringmaxLength7

Accent color as a #rrggbb hex string.

Two-color gradient profile theme.

bannerColorstringmaxLength7

Solid fallback banner color as #rrggbb, used when no banner image is set.

#themeGradientOBJECT

Two-color gradient profile theme.

primarystringmaxLength7

Primary gradient color as #rrggbb.

secondarystringmaxLength7

Secondary gradient color as #rrggbb.

social.colibri.community

lexicon v1revision 4
mainRECORDkey: literal:self

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

$typestringformatnsid

The type of the record.

namestringrequireddefaultNew CommunityminLength1maxLength32

The name of the community.

descriptionstringrequireddefaultmaxLength256

A description of the community.

pictureblobacceptimage/jpeg, image/png, image/gif, image/webp

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

bannerblobacceptimage/jpeg, image/png, image/gif, image/webp

A banner for the community that will be shown to users.

categoryOrderarray<string>required

The order of the categories in this community.

requiresApprovalToJoinbooleanrequireddefaulttrue

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

migratedTostringformatat-uri

Set on a legacy community record once it has been migrated. Points at the new community record that replaces it; consumers treat this community as retired and hide it.

migratedFromstringformatat-uri

Set on a community created by migrating a legacy community. Points at the legacy community record this one replaces.

appviewstringformatdid

DID of the AppView that administers this community and acts as its off-protocol hub (Humming presence relay and voice SFU host). Written by the credential-holding AppView. Consumers that find this field absent fall back to did:web:api.colibri.social.

social.colibri.category

lexicon v1revision 1
mainRECORDkey: tid

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

$typestringformatnsid

The type of the record.

namestringrequireddefaultNew categoryminLength1maxLength32

The name of the category.

channelOrderarray<string>required

The order of the channels in this category.

communitystringrequiredformatrecord-key

The community this category belongs to.

social.colibri.channel

lexicon v1revision 4
mainRECORDkey: tid

A channel that belongs to a category on Colibri.

$typestringformatnsid

The type of the record.

namestringrequireddefaultNew channelminLength1maxLength32

The name of the channel.

descriptionstringdefaultmaxLength256

A description of the channel.

typestringrequiredformatnsid

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

categorystringrequiredformatrecord-key

The category this channel belongs to.

communitystringrequiredformatrecord-key

The record key of the community this channel belongs to.

ownerOnlybooleandefaultfalse

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

allowedRolesarray<string>

Role record-keys allowed to post in this channel. Empty/absent means no role restriction.

allowedMembersarray<string>

Member DIDs explicitly allowed to post in this channel, in addition to allowedRoles.

migratedFromstringformatat-uri

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.

social.colibri.channel.read

lexicon v1revision 1
mainRECORDkey: tid

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

$typestringformatnsid

The type of the record.

channelstringrequiredformatat-uri

The channel this message was sent in.

cursorstringrequiredformatdatetime

The timestamp the channel was last read at.

social.colibri.message

lexicon v1revision 2
mainRECORDkey: tid

A message sent in a channel on Colibri

$typestringformatnsid

The type of the record.

textstringrequiredmaxLength2048

The message content.

facetsarray<richtext.facet>

Annotations of sections of the text.

createdAtstringrequiredformatdatetime

When the message was sent.

channelstringrequiredformatat-uri

The channel this message was sent in.

editedbooleandefaultfalse

Whether this message has been edited.

parentstringformatrecord-key

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

attachmentsarray<colibri.message#attachment>

An array of attachment objects for this message.

#attachmentOBJECT

A file attached to a message.

blobblobrequired

The attached file.

namestringmaxLength256

The original filename.

social.colibri.reaction

lexicon v1revision 1
mainRECORDkey: tid

A reaction on a Colibri message.

$typestringformatnsid

The type of the record.

emojistringrequired

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

parentstringrequiredformatat-uri

The AT-URI of the message this reaction belongs to.

social.colibri.membership

lexicon v1
mainRECORDkey: tid
communitystringrequiredformatat-uri

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

createdAtstringrequiredformatdatetime

social.colibri.approval

lexicon v1
mainRECORDkey: tid
membershipstringrequiredformatat-uri

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

communitystringrequiredformatat-uri

AT-URI of the social.colibri.community record

createdAtstringrequiredformatdatetime

social.colibri.role

lexicon v1revision 2
mainRECORDkey: tid

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

$typestringformatnsid

The type of the record.

namestringrequiredminLength1maxLength32

Display name of the role.

colorstring

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

permissionsarray<string>required

Permission identifiers granted by this role.

positionintegerrequired

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

hoistedbooleandefaultfalse

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

mentionablebooleandefaultfalse

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

protectedbooleandefaultfalse

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`).

channelOverridesarray<colibri.role#channelOverride>

Per-channel permission overrides for this role.

#channelOverrideOBJECT

Allow / deny lists scoped to a single channel.

channelstringrequiredformatrecord-key

The channel this override applies to.

allowarray<string>

Permissions granted within this channel.

denyarray<string>

Permissions denied within this channel. Deny wins over base permissions and overrides allow.

social.colibri.member

lexicon v1revision 1
mainRECORDkey: tid

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.

$typestringformatnsid

The type of the record.

subjectstringrequiredformatdid

DID of the admitted user.

rolesarray<string>

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

joinedAtstringrequiredformatdatetime
nicknamestringmaxLength32

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

fromMembershipstringformatat-uri

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

social.colibri.moderation

lexicon v1revision 1
mainRECORDkey: tid

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.

$typestringformatnsid

The type of the record.

actionstringrequiredknownban | unban | hideMessage | unhideMessage | kick

The moderation action being recorded.

reasonstringmaxLength512

Optional human-readable reason for the action.

createdBystringrequiredformatdid

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

createdAtstringrequiredformatdatetime
#subjectOBJECT

Target of the moderation action. Use `did` for user-targeted actions, `uri` for content-targeted actions.

didstringformatdid
uristringformatat-uri

social.colibri.labeler.service

lexicon v1revision 1
mainRECORDkey: literal:self

Declares that this account operates a Colibri labeler and describes the badges it issues. The Colibri equivalent of `app.bsky.labeler.service`. Labels themselves stay standard `com.atproto.label` labels, served from the `#atproto_labeler` service endpoint in this account's DID document.

$typestringformatnsid

The type of the record.

badgeDefinitionsarray<labeler.service#badgeDefinition>requiredmaxLength100

Every badge this labeler can issue. A label value absent from this list is not a recognised badge.

createdAtstringrequiredformatdatetime
#badgeDefinitionOBJECT

Metadata for a single badge. `identifier` is the `val` carried by the corresponding label.

identifierstringrequiredmaxLength100

The label value, lowercase kebab-case, as it appears in `com.atproto.label` records.

namestringrequiredmaxLength64

Short display name shown on the badge itself.

descriptionstringrequiredmaxLength512

What holding this badge means.

precedenceintegermin0

Sort order when a user holds several badges. Lower sorts first, so the lowest value is the default primary badge.

Reusable object definitions (*.defs) referenced by records, queries, and events across the other lexicons.

social.colibri.richtext.facet

lexicon v1revision 4
#byteSliceOBJECT

Specifies the sub-string range a facet feature applies to. Start index is inclusive, end index is exclusive. Indices are zero-based, counting bytes of the UTF-8 encoded text.

byteStartintegerrequiredmin0

The start index of the byte slice (inclusive).

byteEndintegerrequiredmin0

The end index of the byte slice (exclusive).

#channelOBJECT

A facet feature for a channel reference.

channelstringrequiredformatat-uri

The record key of the referenced channel.

#boldOBJECT

A facet feature for bold text.

#italicOBJECT

A facet feature for italic text.

#underlineOBJECT

A facet feature for underlined text.

#strikethroughOBJECT

A facet feature for strikethrough text.

#codeOBJECT

A facet feature for inline code text.

#codeblockOBJECT

A facet feature for a multi-line code block.

langstring

The language of the code block, if specified.

#quoteOBJECT

A facet feature for a block quote.

#headingOBJECT

A facet feature for a heading line (levels 1–3).

levelintegerrequiredmin1max3

The heading level.

#listOBJECT

A facet feature for a single list item line.

orderedbooleanrequired

Whether the item belongs to an ordered (numbered) list.

#subtextOBJECT

A facet feature for a subtext line (small, muted).

#spoilerOBJECT

A facet feature for inline spoiler text.

#mentionOBJECT

A facet feature for a user mention.

didstringrequiredformatdid

The DID of the mentioned user.

#roleOBJECT

A facet feature for a role mention. Resolves to a community role, at index time the AppView notifies every member holding the role (gated by the role's `mentionable` flag or the author's `mention.roles` permission).

rolestringrequiredformatat-uri

The AT-URI of the mentioned role record.

#timeOBJECT

A facet feature for a timestamp.

datetimestringrequiredformatdatetime

The ISO 8601 timestamp.

stylestringknowntime-short | time-long | date-short | date-long | datetime-short | datetime-long | relative

Display style for the timestamp (mirrors Discord-style formats).

social.colibri.actor.defs

lexicon v1
#actorViewOBJECT

A hydrated Colibri actor: identity plus profile data.

didstringrequiredformatdid
handlestringrequiredformathandle
#actorDataOBJECT

The profile and presence data for a Colibri actor.

displayNamestringrequired
avatarblob
bannerblob
descriptionstring
isBotbooleanrequired
onlineStatestringrequiredknownonline | away | dnd | offline
syncBlueskybooleanrequired
preferredBadgestring
#actorStatusOBJECT

A user's Colibri status line.

textstringrequired
emojistring
#profileThemeOBJECT

Colibri-only profile theming.

accentColorstring
bannerColorstring
#profileGradientOBJECT

Two-color gradient profile theme.

primarystring
secondarystring

social.colibri.channel.defs

lexicon v1
#messageOBJECT

A hydrated message as served by the AppView.

uristringrequiredformatat-uri
textstringrequired
facetsarray<richtext.facet>required
channelstringrequiredformatat-uri
communitystringrequiredformatat-uri
authoractor.defs#actorViewrequired

The message this one replies to, if any. Never itself nested (the parent's own parent is omitted).

attachmentsarray<channel.defs#attachment>required
reactionsarray<channel.defs#reactionView>required
createdAtstringrequiredformatdatetime
editedbooleanrequired
#attachmentOBJECT

A file attached to a message.

blobblobrequired
namestring
widthinteger

Pixel width of the attachment's intrinsic dimensions, when it is a decodable image or video. Lets a client reserve the correct box before the bytes arrive.

heightinteger

Pixel height of the attachment's intrinsic dimensions, when it is a decodable image or video.

#reactionViewOBJECT

An aggregated reaction on a message.

emojistringrequired
countintegerrequired
reactorDIDsarray<string>required
#readCursorOBJECT

The authenticated user's read cursor for a channel.

uristringrequiredformatat-uri
cursorstringrequired
channelstringrequiredformatat-uri
#unreadStatusOBJECT

Per-channel unread state for the authenticated user.

channelUristringrequiredformatat-uri
hasUnreadMessagesbooleanrequired
unreadPingCountintegerrequired

social.colibri.community.defs

lexicon v1
#communityInfoOBJECT

Core community record data, hydrated with its AT-URI.

uristringrequiredformatat-uri
namestringrequired
descriptionstringrequired
pictureblob
bannerblob
categoryOrderarray<string>required
requiresApprovalToJoinbooleanrequired
appviewstringrequiredformatdid
#categoryViewOBJECT
uristringrequiredformatat-uri
namestringrequired
channelOrderarray<string>required
#channelViewOBJECT
uristringrequiredformatat-uri
namestringrequired
typestringrequiredformatnsid
categorystringrequiredformatat-uri
descriptionstring
ownerOnlyboolean
allowedRolesarray<string>
allowedMembersarray<string>
#roleViewOBJECT
uristringrequiredformatat-uri
namestringrequired
colorstring
permissionsarray<string>required
positionintegerrequired
hoistedboolean
mentionableboolean
protectedboolean
channelOverridesarray<community.defs#channelOverrideView>
#channelOverrideViewOBJECT
channelstringrequiredformatat-uri
allowarray<string>
denyarray<string>
#memberViewOBJECT

A community member, hydrated with their actor data.

didstringrequiredformatdid
handlestringrequiredformathandle
rolesarray<string>required
vcstringformatat-uri

AT-URI of the voice channel the member is currently connected to, if any.

vcMutedboolean

Whether the member's microphone is muted in the voice channel.

vcDeafenedboolean

Whether the member is deafened in the voice channel.

vcServerMutedboolean

Whether the member has been server-muted by a moderator in the voice channel.

vcServerDeafenedboolean

Whether the member has been server-deafened by a moderator in the voice channel.

#applicationViewOBJECT

A pending or dismissed membership application.

didstringrequiredformatdid
handlestringrequiredformathandle
membershipstringrequiredformatat-uri
createdAtstringrequiredformatdatetime
#invitationViewOBJECT

An invitation with its creator as a bare DID.

codestringrequired
communitystringrequiredformatat-uri
createdBystringrequiredformatdid
activebooleanrequired
#invitationProfileViewOBJECT

An invitation with its creator hydrated as an actor.

codestringrequired
communitystringrequiredformatat-uri
createdByactor.defs#actorViewrequired
activebooleanrequired
#resolvedInvitationViewOBJECT

An invitation hydrated with its community's public details, for the invite accept screen.

codestringrequired
communitystringrequiredformatat-uri
createdBystringrequiredformatdid
activebooleanrequired
namestringrequired
pictureblob
bannerblob
memberCountintegerrequired
onlineCountintegerrequired
requiresApprovalToJoinbooleanrequired

social.colibri.embed.defs

lexicon v1
#gifItemOBJECT

A single GIF result.

idstringrequired
mediaUrlstringrequiredformaturi
previewUrlstringrequiredformaturi
widthinteger
heightinteger
#embedImageOBJECT

An image referenced by link metadata.

urlstringrequiredformaturi
altstring
widthinteger

Pixel width declared by the source page, when it publishes one.

heightinteger

Pixel height declared by the source page, when it publishes one.

social.colibri.notification.defs

lexicon v1
#notificationViewOBJECT

A notification in the authenticated user's feed.

idintegerrequired
recipientDidstringrequiredformatdid
kindstringrequired
messageUristringrequiredformatat-uri
authorDidstringrequiredformatdid
channelUristringrequiredformatat-uri
indexedAtstringrequiredformatdatetime
seenAtstringformatdatetime
mentionRoleNamestring

Display name of the role that triggered this notification, when it was a role mention rather than a direct mention.

#notificationMessageOBJECT

The message a notification refers to.

textstringrequired
facetsarray<richtext.facet>required
createdAtstringrequiredformatdatetime
parentstringformatat-uri
attachmentsarray<channel.defs#attachment>required
editedboolean
#unseenNotificationOBJECT

A minimal unseen-notification pointer.

idintegerrequired
messageUristringrequiredformatat-uri
indexedAtstringrequiredformatdatetime

Read-only GET endpoints served by the AppView.

social.colibri.actor.getData

lexicon v1
mainQUERY

Resolves an identifier (DID or handle) to its hydrated Colibri actor data.

identifierstringrequired

The DID or handle to resolve.

encodingapplication/json

social.colibri.actor.listCommunities

lexicon v1
mainQUERY

Lists the communities the authenticated user is a member of, in their preferred sidebar order.

encodingapplication/json
communitiesarray<actor.listCommunities#communityView>required
AuthRequired

Missing, malformed, or unverifiable service auth.

#communityViewOBJECT

A community summary as seen from the member's perspective.

namestringrequired
pictureblob
bannerblob
descriptionstring
categoryOrderarray<string>
requiresApprovalToJoinbooleanrequired
uristringformatat-uri
isLegacyboolean
isOwnerboolean

social.colibri.actor.listMutes

lexicon v1
mainQUERY

Lists the subjects the authenticated user has muted.

encodingapplication/json
mutesarray<actor.listMutes#mute>required
AuthRequired

Missing, malformed, or unverifiable service auth.

#muteOBJECT
uristringrequiredformatat-uri

AT-URI of the mute record.

subjectstringrequired

The muted subject (a DID).

social.colibri.actor.getNotificationPreference

lexicon v1
mainQUERY

Returns the authenticated user's notification level, defaulting to 'all' when they haven't set one.

encodingapplication/json
levelstringrequiredknownall | mentionsAndReplies
AuthRequired

Missing, malformed, or unverifiable service auth.

social.colibri.actor.getDeletionStatus

lexicon v1
mainQUERY

Reports whether the authenticated user's Colibri data can be deleted, and how much data deletion would remove.

encodingapplication/json
soleOwnedCommunitiesarray<actor.getDeletionStatus#soleOwnedCommunity>required

Communities the user is the only owner of. Deletion is blocked while this is non-empty.

pdsAccountPagestringformaturi

The account page the caller's PDS serves at /account, when it serves one. Absent otherwise.

AuthRequired

Missing, malformed, or unverifiable service auth.

#soleOwnedCommunityOBJECT
uristringrequiredformatat-uri
namestringrequired
pictureblob
memberCountintegerrequired
#deletionCountsOBJECT

Row counts the AppView holds for the authenticated user.

recordsintegerrequired
notificationsintegerrequired
pushSubscriptionsintegerrequired
invitationsintegerrequired

social.colibri.channel.getChannelView

lexicon v1
mainQUERY

Returns the initial view of a channel: recent messages, the read cursor, and unseen notifications.

channelstringrequiredformatat-uri
limitinteger
encodingapplication/json
cursorstring
messagesarray<channel.defs#message>required
AuthRequired

Missing, malformed, or unverifiable service auth.

InvalidRequest

A parameter or body field was missing or malformed.

social.colibri.channel.getReadCursor

lexicon v1
mainQUERY

Returns the authenticated user's read cursor for a channel.

channelstringrequiredformatat-uri
encodingapplication/json
AuthRequired

Missing, malformed, or unverifiable service auth.

InvalidRequest

A parameter or body field was missing or malformed.

NotFound

The referenced record does not exist.

social.colibri.channel.listMessages

lexicon v1
mainQUERY

Lists messages in a channel, newest first, paginated.

channelstringrequiredformatat-uri
limitinteger
cursorstring
allboolean

Include hidden (moderated) messages.

encodingapplication/json
cursorstring
messagesarray<channel.defs#message>required
InvalidRequest

A parameter or body field was missing or malformed.

social.colibri.channel.listReactions

lexicon v1
mainQUERY

Lists the aggregated reactions on a message.

messagestringrequiredformatat-uri
encodingapplication/json
reactionsarray<channel.defs#reactionView>required
InvalidRequest

A parameter or body field was missing or malformed.

social.colibri.channel.listUnreadStatus

lexicon v1
mainQUERY

Lists the unread status of every channel in a community for the authenticated user.

communitystringrequiredformatat-uri
encodingapplication/json
channelsarray<channel.defs#unreadStatus>required
AuthRequired

Missing, malformed, or unverifiable service auth.

Forbidden

The caller lacks the permission this method requires.

InvalidRequest

A parameter or body field was missing or malformed.

social.colibri.community.getData

lexicon v1
mainQUERY

Returns the full state of a community: metadata, categories, channels, roles, and members.

communitystringrequiredformatat-uri
encodingapplication/json
categoriesarray<community.defs#categoryView>required
channelsarray<community.defs#channelView>required
rolesarray<community.defs#roleView>required
membersarray<community.defs#memberView>required
didstringrequiredformatdid
InvalidRequest

A parameter or body field was missing or malformed.

NotFound

The referenced record does not exist.

social.colibri.community.listCategories

lexicon v1
mainQUERY

Lists the categories of a community.

communitystringrequiredformatat-uri
encodingapplication/json
categoriesarray<community.defs#categoryView>required
InvalidRequest

A parameter or body field was missing or malformed.

social.colibri.community.listChannels

lexicon v1
mainQUERY

Lists the channels of a community.

communitystringrequiredformatat-uri
encodingapplication/json
channelsarray<community.defs#channelView>required
InvalidRequest

A parameter or body field was missing or malformed.

social.colibri.community.listMembers

lexicon v1
mainQUERY

Lists the members of a community.

communitystringrequiredformatat-uri
encodingapplication/json
membersarray<community.defs#memberView>required
InvalidRequest

A parameter or body field was missing or malformed.

social.colibri.community.listRoles

lexicon v1
mainQUERY

Lists the roles of a community.

communitystringrequiredformatat-uri
encodingapplication/json
rolesarray<community.defs#roleView>required
InvalidRequest

A parameter or body field was missing or malformed.

social.colibri.community.listApplications

lexicon v1
mainQUERY

Lists pending and dismissed membership applications for a community.

communitystringrequiredformatat-uri
encodingapplication/json
applicationsarray<community.defs#applicationView>required
dismissedApplicationsarray<community.defs#applicationView>required
AuthRequired

Missing, malformed, or unverifiable service auth.

Forbidden

The caller lacks the permission this method requires.

InvalidRequest

A parameter or body field was missing or malformed.

social.colibri.community.listBannedUsers

lexicon v1
mainQUERY

Lists the banned users of a community.

communitystringrequiredformatat-uri
encodingapplication/json
usersarray<actor.defs#actorView>required
AuthRequired

Missing, malformed, or unverifiable service auth.

Forbidden

The caller lacks the permission this method requires.

InvalidRequest

A parameter or body field was missing or malformed.

social.colibri.community.getInvitation

lexicon v1
mainQUERY

Resolves an invitation code to its community, hydrated with the community's public details for the invite accept screen.

codestringrequired
AuthRequired

Missing, malformed, or unverifiable service auth.

Forbidden

The caller lacks the permission this method requires.

InvalidRequest

A parameter or body field was missing or malformed.

NotFound

The referenced record does not exist.

social.colibri.embed.getMetadata

lexicon v1
mainQUERY

Fetches Open Graph-style link preview metadata for a URL.

uristringrequired
encodingapplication/json
titlestring
descriptionstring
siteNamestring
themeColorstring
imagearray<embed.defs#embedImage>required
largeImageboolean
AuthRequired

Missing, malformed, or unverifiable service auth.

InvalidRequest

A parameter or body field was missing or malformed.

social.colibri.embed.getImage

lexicon v1
mainQUERY

Proxies and returns an external image, guarding against SSRF.

urlstringrequiredformaturi
encoding*/*The proxied image bytes (Content-Type is image/*).
NotAnImage

The linked resource is not an image type the AppView serves.

RateLimited

The caller exceeded its rate budget.

social.colibri.embed.searchGifs

lexicon v1
mainQUERY

Searches GIFs by query.

qstringrequired
pageinteger
encodingapplication/json
itemsarray<embed.defs#gifItem>required
pageintegerrequired
hasNextbooleanrequired
AuthRequired

Missing, malformed, or unverifiable service auth.

InvalidRequest

A parameter or body field was missing or malformed.

social.colibri.embed.trendingGifs

lexicon v1
mainQUERY

Returns trending GIFs.

pageinteger
encodingapplication/json
itemsarray<embed.defs#gifItem>required
pageintegerrequired
hasNextbooleanrequired
AuthRequired

Missing, malformed, or unverifiable service auth.

social.colibri.embed.gifCategories

lexicon v1
mainQUERY

Lists GIF categories for the picker.

encodingapplication/json
categoriesarray<embed.gifCategories#gifCategory>required
AuthRequired

Missing, malformed, or unverifiable service auth.

#gifCategoryOBJECT
namestringrequired
querystring
previewUrlstringformaturi

social.colibri.notification.listNotifications

lexicon v1
mainQUERY

Lists the authenticated user's notifications, paginated.

limitinteger
cursorstring
encodingapplication/json
cursorstring
notificationsarray<notification.defs#notificationView>required
AuthRequired

Missing, malformed, or unverifiable service auth.

social.colibri.notification.getUnreadCount

lexicon v1
mainQUERY

Returns the count of unread notifications.

encodingapplication/json
countintegerrequired
AuthRequired

Missing, malformed, or unverifiable service auth.

social.colibri.notification.getUnseen

lexicon v1
mainQUERY

Returns unseen notifications for a specific channel.

channelstringrequiredformatat-uri
encodingapplication/json
notificationsarray<notification.defs#unseenNotification>required
AuthRequired

Missing, malformed, or unverifiable service auth.

social.colibri.server.describeServer

lexicon v1
mainQUERY

Returns metadata describing the Colibri AppView deployment. Public and side-effect free.

encodingapplication/json
softwarestringrequired
flavorstringrequired
versionstringrequired

Mutating POST endpoints served by the AppView.

social.colibri.actor.setState

lexicon v1
mainPROCEDURE

Sets the authenticated user's online presence state.

statestringrequiredknownonline | away | dnd | offline

The presence state to set.

encodingapplication/json
onlineStatestringrequired
AuthRequired

Missing, malformed, or unverifiable service auth.

InvalidState

The given state is not one of the accepted values.

social.colibri.actor.deleteAccount

lexicon v1
mainPROCEDURE

Deletes everything the AppView holds for the authenticated user.

encodingapplication/json
AuthRequired

Missing, malformed, or unverifiable service auth.

InvalidState

The request is not valid for the current state.

#deletedCountsOBJECT

What the purge removed, per storage area.

recordDataintegerrequired
communityRecordsintegerrequired
notificationsintegerrequired
pushSubscriptionsintegerrequired
userStateintegerrequired
invitationsintegerrequired
dismissedApplicationsintegerrequired

social.colibri.channel.create

lexicon v1
mainPROCEDURE

Creates a channel in a category of a community.

communitystringrequiredformatat-uri
categorystringrequiredformatat-uri
namestringrequired
typestringrequiredformatnsid

The channel type, e.g. social.colibri.channel.text.

descriptionstring
allowedRolesarray<string>
allowedMembersarray<string>
encodingapplication/json
uristringrequiredformatat-uri
AuthRequired

Missing, malformed, or unverifiable service auth.

CommunityCredentialsUnrecoverable

The AppView cannot write to the community's repo and could not repair its own access.

Forbidden

The caller lacks the permission this method requires.

InvalidRequest

A parameter or body field was missing or malformed.

PdsUnavailable

The PDS this operation needs is unreachable or is not a PDS.

social.colibri.channel.update

lexicon v1
mainPROCEDURE

Updates a channel's settings.

channelstringrequiredformatat-uri
categorystringformatat-uri
namestring
descriptionstring
ownerOnlyboolean
allowedRolesarray<string>
clearAllowedRolesboolean
allowedMembersarray<string>
clearAllowedMembersboolean
encodingapplication/json
uristringrequiredformatat-uri
AuthRequired

Missing, malformed, or unverifiable service auth.

CommunityCredentialsUnrecoverable

The AppView cannot write to the community's repo and could not repair its own access.

Forbidden

The caller lacks the permission this method requires.

InvalidRequest

A parameter or body field was missing or malformed.

PdsUnavailable

The PDS this operation needs is unreachable or is not a PDS.

social.colibri.channel.delete

lexicon v1
mainPROCEDURE

Deletes a channel.

channelstringrequiredformatat-uri
encodingapplication/json
uristringrequiredformatat-uri
AuthRequired

Missing, malformed, or unverifiable service auth.

CommunityCredentialsUnrecoverable

The AppView cannot write to the community's repo and could not repair its own access.

Forbidden

The caller lacks the permission this method requires.

InvalidRequest

A parameter or body field was missing or malformed.

PdsUnavailable

The PDS this operation needs is unreachable or is not a PDS.

social.colibri.community.create

lexicon v1
mainPROCEDURE

Creates a community, bootstrapping its DID repo with a default category, channel, owner role, and member record.

namestringrequired
descriptionstring
requiresApprovalToJoinboolean
pdsstring

Bring-your-own PDS endpoint.

identifierstring

Bring-your-own DID or handle.

passwordstring

Bring-your-own account password.

encodingmultipart/form-dataOptional community image blobs, as `picture` and `banner` parts.
encodingapplication/json
didstringrequiredformatdid
communitystringrequiredformatat-uri
categorystringrequiredformatat-uri
channelstringrequiredformatat-uri
ownerRolestringrequiredformatat-uri
memberstringrequiredformatat-uri
AuthRequired

Missing, malformed, or unverifiable service auth.

InvalidRequest

A parameter or body field was missing or malformed.

PdsUnavailable

The PDS this operation needs is unreachable or is not a PDS.

UpstreamFailure

A service outside this AppView failed.

social.colibri.community.migrate

lexicon v1
mainPROCEDURE

Migrates a source record into a fresh community, cloning its structure and importing its members. The 'kind' discriminator selects the migration; today only legacy communities are supported, but the endpoint is designed to host future migrations. Provisioning mirrors community.create (managed when no PDS credentials are supplied, bring-your-own otherwise).

kindstringrequiredknownlegacy-community

The migration to run. 'legacy-community' migrates a pre-rework community record.

sourcestringrequiredformatat-uri

The record being migrated (e.g. the legacy community).

namestring
descriptionstring
requiresApprovalToJoinboolean
pdsstring

Bring-your-own PDS endpoint.

identifierstring

Bring-your-own DID or handle.

passwordstring

Bring-your-own account password.

encodingmultipart/form-dataOptional replacement community picture blob, as a `picture` part. Migrated communities have no banner.
encodingapplication/json
didstringrequiredformatdid
communitystringrequiredformatat-uri
channelMaparray<community.migrate#channelMapping>required

Maps each cloned channel from its old AT-URI to its new AT-URI.

AuthRequired

Missing, malformed, or unverifiable service auth.

Forbidden

The caller lacks the permission this method requires.

InvalidRequest

A parameter or body field was missing or malformed.

NotFound

The referenced record does not exist.

UpstreamFailure

A service outside this AppView failed.

#channelMappingOBJECT

A single channel's old AT-URI mapped to its new AT-URI.

oldstringrequiredformatat-uri
newstringrequiredformatat-uri

social.colibri.community.update

lexicon v1
mainPROCEDURE

Updates a community's metadata and optionally its picture and banner.

communitystringrequiredformatat-uri
namestring
descriptionstring
requiresApprovalToJoinboolean
removePictureboolean

Drops the community's current picture. Cannot be combined with a new picture blob.

removeBannerboolean

Drops the community's current banner. Cannot be combined with a new banner blob.

encodingmultipart/form-dataOptional replacement community image blobs, as `picture` and `banner` parts.
encodingapplication/json
uristringrequiredformatat-uri
AuthRequired

Missing, malformed, or unverifiable service auth.

CommunityCredentialsUnrecoverable

The AppView cannot write to the community's repo and could not repair its own access.

Forbidden

The caller lacks the permission this method requires.

InvalidRequest

A parameter or body field was missing or malformed.

PdsUnavailable

The PDS this operation needs is unreachable or is not a PDS.

social.colibri.community.delete

lexicon v1
mainPROCEDURE

Deletes a community.

communitystringrequiredformatat-uri
encodingapplication/json
didstringrequiredformatdid
AuthRequired

Missing, malformed, or unverifiable service auth.

Forbidden

The caller lacks the permission this method requires.

InvalidRequest

A parameter or body field was missing or malformed.

NotFound

The referenced record does not exist.

UpstreamFailure

A service outside this AppView failed.

social.colibri.community.approveMembership

lexicon v1
mainPROCEDURE

Approves a pending membership application, minting the member record.

membershipstringrequiredformatat-uri
encodingapplication/json
didstringrequiredformatdid
communitystringrequiredformatat-uri
memberstringformatat-uri
AuthRequired

Missing, malformed, or unverifiable service auth.

Forbidden

The caller lacks the permission this method requires.

InvalidRequest

A parameter or body field was missing or malformed.

social.colibri.community.dismissApplication

lexicon v1
mainPROCEDURE

Dismisses a membership application without approving it.

communitystringrequiredformatat-uri
didstringrequiredformatdid
encodingapplication/json
didstringrequiredformatdid
communitystringrequiredformatat-uri
AuthRequired

Missing, malformed, or unverifiable service auth.

Forbidden

The caller lacks the permission this method requires.

InvalidRequest

A parameter or body field was missing or malformed.

social.colibri.community.undismissApplication

lexicon v1
mainPROCEDURE

Restores a previously dismissed membership application.

communitystringrequiredformatat-uri
didstringrequiredformatdid
encodingapplication/json
didstringrequiredformatdid
communitystringrequiredformatat-uri
AuthRequired

Missing, malformed, or unverifiable service auth.

Forbidden

The caller lacks the permission this method requires.

InvalidRequest

A parameter or body field was missing or malformed.

social.colibri.community.registerCredentials

lexicon v1
mainPROCEDURE

Registers bring-your-own PDS credentials for a community DID.

didstringrequiredformatdid
pdsstringrequired
identifierstringrequired
passwordstringrequired
encodingapplication/json
didstringrequiredformatdid
sourcestringrequired
AuthRequired

Missing, malformed, or unverifiable service auth.

CommunityCredentialsUnrecoverable

The AppView cannot write to the community's repo and could not repair its own access.

InvalidRequest

A parameter or body field was missing or malformed.

PdsUnavailable

The PDS this operation needs is unreachable or is not a PDS.

UpstreamFailure

A service outside this AppView failed.

social.colibri.community.setMemberRoles

lexicon v1
mainPROCEDURE

Replaces the set of roles assigned to a member.

communitystringrequiredformatat-uri
memberstringrequiredformatdid
rolesarray<string>required
encodingapplication/json
didstringrequiredformatdid
rolesarray<string>required
AuthRequired

Missing, malformed, or unverifiable service auth.

CommunityCredentialsUnrecoverable

The AppView cannot write to the community's repo and could not repair its own access.

Forbidden

The caller lacks the permission this method requires.

InvalidRequest

A parameter or body field was missing or malformed.

PdsUnavailable

The PDS this operation needs is unreachable or is not a PDS.

social.colibri.community.reorderChannels

lexicon v1
mainPROCEDURE

Reorders the channels within a category.

categorystringrequiredformatat-uri
channelOrderarray<string>required
encodingapplication/json
uristringrequiredformatat-uri
AuthRequired

Missing, malformed, or unverifiable service auth.

CommunityCredentialsUnrecoverable

The AppView cannot write to the community's repo and could not repair its own access.

Forbidden

The caller lacks the permission this method requires.

InvalidRequest

A parameter or body field was missing or malformed.

PdsUnavailable

The PDS this operation needs is unreachable or is not a PDS.

social.colibri.community.reorderCategories

lexicon v1
mainPROCEDURE

Reorders the categories within a community.

communitystringrequiredformatat-uri
categoryOrderarray<string>required
encodingapplication/json
uristringrequiredformatat-uri
AuthRequired

Missing, malformed, or unverifiable service auth.

CommunityCredentialsUnrecoverable

The AppView cannot write to the community's repo and could not repair its own access.

Forbidden

The caller lacks the permission this method requires.

InvalidRequest

A parameter or body field was missing or malformed.

PdsUnavailable

The PDS this operation needs is unreachable or is not a PDS.

social.colibri.community.banUser

lexicon v1
mainPROCEDURE

Bans a user from a community.

communitystringrequiredformatat-uri
identifierstringrequired

DID or handle of the user to ban.

encodingapplication/json
didstringrequiredformatdid
handlestringrequiredformathandle
AuthRequired

Missing, malformed, or unverifiable service auth.

Forbidden

The caller lacks the permission this method requires.

InvalidRequest

A parameter or body field was missing or malformed.

social.colibri.community.unbanUser

lexicon v1
mainPROCEDURE

Lifts a ban on a user.

communitystringrequiredformatat-uri
identifierstringrequired

DID or handle of the user to unban.

encodingapplication/json
didstringrequiredformatdid
handlestringrequiredformathandle
AuthRequired

Missing, malformed, or unverifiable service auth.

Forbidden

The caller lacks the permission this method requires.

InvalidRequest

A parameter or body field was missing or malformed.

social.colibri.community.kickUser

lexicon v1
mainPROCEDURE

Kicks a user from a community by DID or handle.

communitystringrequiredformatat-uri
identifierstringrequired

DID or handle of the user to kick.

encodingapplication/json
didstringrequiredformatdid
handlestringrequiredformathandle
AuthRequired

Missing, malformed, or unverifiable service auth.

Forbidden

The caller lacks the permission this method requires.

InvalidRequest

A parameter or body field was missing or malformed.

social.colibri.community.kick

lexicon v1
mainPROCEDURE

Kicks a member from a community by member record.

communitystringrequiredformatat-uri
memberstringrequiredformatat-uri
encodingapplication/json
didstringrequiredformatdid
handlestringrequiredformathandle
AuthRequired

Missing, malformed, or unverifiable service auth.

Forbidden

The caller lacks the permission this method requires.

InvalidRequest

A parameter or body field was missing or malformed.

social.colibri.community.blockMessage

lexicon v1
mainPROCEDURE

Hides (moderates) a message within a community.

communitystringrequiredformatat-uri
messagestringrequiredformatat-uri
encodingapplication/json
messagestringrequiredformatat-uri
AuthRequired

Missing, malformed, or unverifiable service auth.

Forbidden

The caller lacks the permission this method requires.

InvalidRequest

A parameter or body field was missing or malformed.

social.colibri.community.createInvitation

lexicon v1
mainPROCEDURE

Creates an invitation code for a community.

communitystringrequiredformatat-uri
encodingapplication/json
AuthRequired

Missing, malformed, or unverifiable service auth.

Forbidden

The caller lacks the permission this method requires.

InvalidRequest

A parameter or body field was missing or malformed.

NotFound

The referenced record does not exist.

social.colibri.community.listInvitations

lexicon v1
mainPROCEDURE

Lists the active invitations of a community.

uristringrequiredformatat-uri
encodingapplication/json
AuthRequired

Missing, malformed, or unverifiable service auth.

Forbidden

The caller lacks the permission this method requires.

InvalidRequest

A parameter or body field was missing or malformed.

NotFound

The referenced record does not exist.

social.colibri.community.deleteInvitation

lexicon v1
mainPROCEDURE

Deletes an invitation code.

uristringrequiredformatat-uri
codestringrequired
encodingapplication/json
codestringrequired
AuthRequired

Missing, malformed, or unverifiable service auth.

Forbidden

The caller lacks the permission this method requires.

InvalidRequest

A parameter or body field was missing or malformed.

NotFound

The referenced record does not exist.

social.colibri.community.leave

lexicon v1
mainPROCEDURE

Leaves a community, removing the authenticated user's membership.

communitystringrequiredformatat-uri
encodingapplication/json
AuthRequired

Missing, malformed, or unverifiable service auth.

social.colibri.category.create

lexicon v1
mainPROCEDURE

Creates a category in a community.

communitystringrequiredformatat-uri
namestringrequired
encodingapplication/json
uristringrequiredformatat-uri
AuthRequired

Missing, malformed, or unverifiable service auth.

CommunityCredentialsUnrecoverable

The AppView cannot write to the community's repo and could not repair its own access.

Forbidden

The caller lacks the permission this method requires.

InvalidRequest

A parameter or body field was missing or malformed.

PdsUnavailable

The PDS this operation needs is unreachable or is not a PDS.

social.colibri.category.update

lexicon v1
mainPROCEDURE

Renames a category.

categorystringrequiredformatat-uri
namestring
encodingapplication/json
uristringrequiredformatat-uri
AuthRequired

Missing, malformed, or unverifiable service auth.

CommunityCredentialsUnrecoverable

The AppView cannot write to the community's repo and could not repair its own access.

Forbidden

The caller lacks the permission this method requires.

InvalidRequest

A parameter or body field was missing or malformed.

PdsUnavailable

The PDS this operation needs is unreachable or is not a PDS.

social.colibri.category.delete

lexicon v1
mainPROCEDURE

Deletes a category.

categorystringrequiredformatat-uri
encodingapplication/json
uristringrequiredformatat-uri
AuthRequired

Missing, malformed, or unverifiable service auth.

CommunityCredentialsUnrecoverable

The AppView cannot write to the community's repo and could not repair its own access.

Forbidden

The caller lacks the permission this method requires.

InvalidRequest

A parameter or body field was missing or malformed.

PdsUnavailable

The PDS this operation needs is unreachable or is not a PDS.

social.colibri.role.create

lexicon v1
mainPROCEDURE

Creates a role in a community.

communitystringrequiredformatat-uri
namestringrequired
colorstring
permissionsarray<string>required
positionintegerrequired
hoistedboolean
mentionableboolean
encodingapplication/json
uristringrequiredformatat-uri
AuthRequired

Missing, malformed, or unverifiable service auth.

CommunityCredentialsUnrecoverable

The AppView cannot write to the community's repo and could not repair its own access.

Forbidden

The caller lacks the permission this method requires.

InvalidRequest

A parameter or body field was missing or malformed.

PdsUnavailable

The PDS this operation needs is unreachable or is not a PDS.

social.colibri.role.update

lexicon v1
mainPROCEDURE

Updates a role.

rolestringrequiredformatat-uri
namestring
colorstring
permissionsarray<string>
positioninteger
hoistedboolean
mentionableboolean
encodingapplication/json
uristringrequiredformatat-uri
AuthRequired

Missing, malformed, or unverifiable service auth.

CommunityCredentialsUnrecoverable

The AppView cannot write to the community's repo and could not repair its own access.

Forbidden

The caller lacks the permission this method requires.

InvalidRequest

A parameter or body field was missing or malformed.

PdsUnavailable

The PDS this operation needs is unreachable or is not a PDS.

social.colibri.role.delete

lexicon v1
mainPROCEDURE

Deletes a role.

rolestringrequiredformatat-uri
encodingapplication/json
uristringrequiredformatat-uri
AuthRequired

Missing, malformed, or unverifiable service auth.

CommunityCredentialsUnrecoverable

The AppView cannot write to the community's repo and could not repair its own access.

Forbidden

The caller lacks the permission this method requires.

InvalidRequest

A parameter or body field was missing or malformed.

PdsUnavailable

The PDS this operation needs is unreachable or is not a PDS.

social.colibri.notification.updateSeen

lexicon v1
mainPROCEDURE

Marks all notifications up to a timestamp as seen.

seenAtstringformatdatetime

Defaults to now if omitted.

encodingapplication/json
updatedintegerrequired
AuthRequired

Missing, malformed, or unverifiable service auth.

social.colibri.notification.updateSeenForMessage

lexicon v1
mainPROCEDURE

Marks notifications for a specific message as seen.

messagestringrequiredformatat-uri
encodingapplication/json
updatedintegerrequired
AuthRequired

Missing, malformed, or unverifiable service auth.

social.colibri.notification.registerPush

lexicon v1
mainPROCEDURE

Registers a push subscription (Web Push or FCM) for the authenticated user.

encodingapplication/json
platformstringrequiredknownweb | tauri | android
encodingapplication/json
registeredbooleanrequired
AuthRequired

Missing, malformed, or unverifiable service auth.

InvalidRequest

A parameter or body field was missing or malformed.

#webPushSubscriptionOBJECT

A browser Web Push subscription.

endpointstringrequiredformaturi
#fcmSubscriptionOBJECT

A Firebase Cloud Messaging registration token.

tokenstringrequired

FCM registration token from FirebaseMessaging.getInstance().token.

#pushKeysOBJECT

Web Push subscription keys.

p256dhstringrequired
authstringrequired

social.colibri.notification.unregisterPush

lexicon v1
mainPROCEDURE

Removes a push subscription.

encodingapplication/json
providerstringknownweb | fcm

Defaults to "web" if omitted.

endpointstringrequired

The Web Push endpoint URL or FCM registration token to remove.

encodingapplication/json
unregisteredbooleanrequired
AuthRequired

Missing, malformed, or unverifiable service auth.

social.colibri.sync.sendHum

lexicon v1
mainPROCEDURE

Informs this AppView of an off-protocol event that occurred on a peer AppView. Requires inter-service auth: a JWT signed by the caller's AppView signing key, aud = this AppView's did:web, lxm = social.colibri.sync.sendHum. The receiver drops the Hum unless the JWT issuer equals both the envelope `origin` and the `subject`'s declared presenceService.

encodingapplication/json
AuthRequired

Missing or invalid service-auth JWT.

Forbidden

A trust-model check failed (origin is not the subject's declared presenceService, subject is not a community member, origin is not an AppView, or a channel does not belong to the community).

InvalidRequest

A parameter or body field was missing or malformed.

NotEnabled

Humming is disabled on this AppView.

RateLimited

The peer exceeded its per-peer sendHum rate budget.

social.colibri.voice.moderate

lexicon v1revision 1
mainPROCEDURE

Moderates a member's participation in a voice channel: server-mute, server-deafen, or force-disconnect. Requires the `voice.moderate` community permission and the caller must outrank the target. Server-mute/deafen are enforced by the SFU and persist for the room's lifetime, disconnect is transient (the target may rejoin).

communitystringrequiredformatat-uri

AT-URI of the community the channel belongs to.

channelstringrequiredformatat-uri

AT-URI of the voice channel.

targetstringrequiredformatdid

DID of the member to moderate.

actionstringrequiredknownmute | unmute | deafen | undeafen | disconnect

The moderation action to apply.

encodingapplication/json
didstringrequiredformatdid

DID of the moderated member.

AuthRequired

Missing, malformed, or unverifiable service auth.

Forbidden

The caller lacks the permission this method requires.

InvalidRequest

A parameter or body field was missing or malformed.

WebSocket event streams.

social.colibri.sync.subscribeEvents

lexicon v1revision 1
#ackOBJECT

Sent in response to a heartbeat message.

typestringrequiredconstack
#communityEventOBJECT

Sent when a community has been updated or deleted.

typestringrequiredconstcommunity_event
#communityEventDataOBJECT
eventstringrequiredknownupsert | delete
uristringrequiredformatat-uri
namestring
descriptionstring
pictureblob
bannerblob
categoryOrderarray<string>
requiresApprovalToJoinboolean
#memberEventOBJECT

Sent when a member has joined or left a community.

typestringrequiredconstmember_event
#memberEventDataOBJECT
eventstringrequiredknownjoin | leave | roles_updated
communitystringrequiredformatat-uri
membershipstringformatat-uri

The affected member, hydrated. Present on `join` and `roles_updated`.

memberDidstringformatdid

DID of the member who left. Present on `leave`.

#memberEventMemberOBJECT

The affected member as carried by a member event. Mirrors `social.colibri.community.defs#memberView`, including the member's current voice channel state so a receiving client can place them in a voice channel without refetching.

didstringrequiredformatdid
handlestringrequiredformathandle
rolesarray<string>required
joinedAtstringformatdatetime
nicknamestring
vcstringformatat-uri

AT-URI of the voice channel the member is currently connected to, if any. Only set when that channel belongs to `community`.

vcMutedboolean
vcDeafenedboolean
#categoryEventOBJECT

Sent when a category has been created, updated, or deleted.

typestringrequiredconstcategory_event
#categoryEventDataOBJECT
eventstringrequiredknownupsert | delete
uristringrequiredformatat-uri
communitystringrequiredformatat-uri
namestring
channelOrderarray<string>
#channelEventOBJECT

Sent when a channel has been created, updated, or deleted.

typestringrequiredconstchannel_event
#channelEventDataOBJECT
eventstringrequiredknownupsert | delete
uristringrequiredformatat-uri
communitystringrequiredformatat-uri
categorystringformatat-uri
namestring
descriptionstring
typestring
#messageEventOBJECT

Sent when a message has been sent, edited, or deleted.

typestringrequiredconstmessage_event
#messageEventDataOBJECT
eventstringrequiredknownupsert | delete
uristringrequiredformatat-uri
channelstringrequiredformatat-uri
textstring
facetsarray<richtext.facet>
createdAtstringformatdatetime
indexedAtstringformatdatetime
editedboolean
parentstringformatat-uri
attachmentsarray<blob>
#reactionEventOBJECT

Sent when a reaction has been added to or removed from a message.

typestringrequiredconstreaction_event
#reactionEventDataOBJECT
eventstringrequiredknownadded | removed
uristringrequiredformatat-uri
emojistringrequired
targetstringrequiredformatat-uri
channelstringrequiredformatat-uri
#userEventOBJECT

Sent when a known user has updated their profile or Colibri status.

typestringrequiredconstuser_event
#userEventDataOBJECT
didstringrequiredformatdid
#userStatusOBJECT
emojistring
textstringrequired
statestringrequiredknownonline | away | dnd | offline
#userProfileOBJECT
displayNamestring
avatarblob
bannerblob
descriptionstring
handlestringrequiredformathandle
#typingEventOBJECT

Sent when a user is typing in a channel the client is viewing.

typestringrequiredconsttyping_event
#typingEventDataOBJECT
eventstringrequiredknownstart | stop
channelstringrequiredformatat-uri
didstringrequiredformatdid
#voicePresenceEventOBJECT

Sent when a user joins or leaves a voice channel.

typestringrequiredconstvoice_presence_event
#voicePresenceEventDataOBJECT
eventstringrequiredknownjoin | leave
channelstringrequiredformatat-uri
didstringrequiredformatdid
#voiceStateEventOBJECT

Sent when a user's voice state changes within a voice channel. `muted` and `deafened` are the user's own choices; `serverMuted` and `serverDeafened` are moderator-applied and enforced by the SFU. Each field is absent when unchanged.

typestringrequiredconstvoice_state_event
#voiceStateEventDataOBJECT
channelstringrequiredformatat-uri
didstringrequiredformatdid
mutedboolean
deafenedboolean
serverMutedboolean
serverDeafenedboolean
#humEnvelopeOBJECT

An off-protocol event relayed between AppViews. The authenticated sender (inter-service auth JWT: aud = receiving AppView did:web, lxm = social.colibri.sync.sendHum) is the origin of record; `origin` is echoed for relay/loop control and MUST match the JWT issuer. Only off-protocol event types are permitted — on-protocol events are never carried by a Hum and are derived from the firehose instead.

originstringrequiredformatdid

DID of the AppView that first emitted this Hum.

idstringrequiredmaxLength64

Unique id for this Hum, used by receivers to dedup across relay paths.

ttlintegerrequiredmin0max8

Remaining relay hops. Decremented on each forward; a Hum at ttl 0 is delivered locally but never relayed.

subjectstringrequiredformatdid

The user this event is about. Receiver MUST verify origin equals subject's declared presenceService before trusting or relaying.

communitystringrequiredformatat-uri

Community the event is scoped to. Receiver relays to local clients only if they are members of this community.

Ephemeral event payload. Only off-protocol types are permitted.

social.colibri.sync.subscribeHums

lexicon v1
mainSUBSCRIPTION

Egress-only WebSocket stream of Hums this AppView is relaying. Peers subscribe to receive off-protocol events for shared communities, optionally narrowing to declared `communities` (repeated query param). Requires inter-service auth (subprotocol-carried, as with subscribeEvents). Clients cannot send messages on this stream.

communitiesarray<string>

DIDs of the communities the peer wants Hums for, repeated once per community. Narrowing only: the intersection with what the peer is authorised for is what gets streamed, so declaring a community grants nothing. Omit it entirely to receive every authorised community.

AuthRequired

Missing, malformed, or unverifiable service auth.

NotEnabled

Humming is disabled on this AppView.

TooManySubscribers

The hub is at its subscribeHums connection limit.

social.colibri.voice.signal

lexicon v1revision 1
mainSUBSCRIPTION

Opens a WebSocket to the community hub AppView's embedded voice SFU (mediasoup) for a single voice channel. Bidirectional signaling: the client sends transport/produce/consume requests and the server replies and pushes producer and active-speaker events. Media itself flows over WebRTC (SRTP), not this socket. Requires service auth (aud = the community hub AppView's did:web, lxm = social.colibri.voice.signal), carried via the Sec-WebSocket-Protocol subprotocol as with subscribeEvents.

channelstringrequiredformatat-uri

AT-URI of the voice channel to join.

AuthRequired

Missing, malformed, or unverifiable service auth.

Forbidden

The caller lacks the permission this method requires.

SfuError

The SFU could not create the channel router or a transport.

#signalMessageOBJECT

A mediasoup signaling frame. `action` discriminates the frame; the remaining fields carry opaque mediasoup structures (transport options, RTP parameters/capabilities, DTLS parameters) that the client's mediasoup-client library interprets. The AppView does not validate the nested payloads.

actionstringrequiredknowninit | connectProducerTransport | connectedProducerTransport | produce | produced | connectConsumerTransport | connectedConsumerTransport | consume | consumed | consumerResume | producerAdded | producerRemoved | activeSpeakers | serverMuted | serverDeafened | kicked | superseded | error

OAuth permission sets bundling the scopes a client can request.

social.colibri.permissionAccount

lexicon v1
mainPERMISSION-SETAccount & profile

Manage your Colibri profile, status, and mutes, and receive realtime updates.

repocreateupdatedelete
  • social.colibri.actor.data
  • social.colibri.actor.profile
  • social.colibri.actor.mute
  • social.colibri.actor.notificationPreference
  • social.colibri.actor.gifFavorites
rpcinheritAud
  • social.colibri.actor.getData
  • social.colibri.actor.listCommunities
  • social.colibri.actor.listMutes
  • social.colibri.actor.getNotificationPreference
  • social.colibri.actor.setState
  • social.colibri.actor.getDeletionStatus
  • social.colibri.actor.deleteAccount
  • social.colibri.sync.subscribeEvents
  • social.colibri.sync.sendHum

social.colibri.permissionCommunity

lexicon v1
mainPERMISSION-SETCommunities & channels

Create and manage communities, categories, channels, and roles, including moderation and invitations.

repocreateupdatedelete
  • social.colibri.community
  • social.colibri.category
  • social.colibri.channel
  • social.colibri.role
repocreateupdatedelete
  • social.colibri.channel.read
rpcinheritAud
  • social.colibri.community.create
  • social.colibri.community.migrate
  • social.colibri.community.update
  • social.colibri.community.delete
  • social.colibri.community.registerCredentials
  • social.colibri.community.approveMembership
  • social.colibri.community.listApplications
  • social.colibri.community.dismissApplication
  • social.colibri.community.undismissApplication
  • social.colibri.community.kick
  • social.colibri.community.kickUser
  • social.colibri.community.setMemberRoles
  • social.colibri.community.leave
  • social.colibri.community.reorderChannels
  • social.colibri.community.reorderCategories
  • social.colibri.community.blockMessage
  • social.colibri.community.banUser
  • social.colibri.community.unbanUser
  • social.colibri.community.createInvitation
  • social.colibri.community.listInvitations
  • social.colibri.community.deleteInvitation
  • social.colibri.category.create
  • social.colibri.category.update
  • social.colibri.category.delete
  • social.colibri.channel.create
  • social.colibri.channel.update
  • social.colibri.channel.delete
  • social.colibri.channel.getReadCursor
  • social.colibri.channel.listUnreadStatus
  • social.colibri.role.create
  • social.colibri.role.update
  • social.colibri.role.delete
  • social.colibri.embed.getMetadata
  • social.colibri.embed.searchGifs
  • social.colibri.embed.trendingGifs
  • social.colibri.embed.gifCategories
  • social.colibri.community.getData
  • social.colibri.community.listBannedUsers
  • social.colibri.community.listCategories
  • social.colibri.community.listChannels
  • social.colibri.community.listMembers
  • social.colibri.community.listRoles
  • social.colibri.community.getInvitation
  • social.colibri.channel.listMessages
  • social.colibri.channel.getChannelView

social.colibri.permissionMessaging

lexicon v1
mainPERMISSION-SETMessages & membership

Send and edit messages, react, join communities, and submit membership applications.

repocreateupdatedelete
  • social.colibri.message
  • social.colibri.reaction
repocreatedelete
  • social.colibri.membership
  • social.colibri.approval
rpcinheritAud
  • social.colibri.channel.listReactions

social.colibri.permissionNotification

lexicon v1
mainPERMISSION-SETNotifications

Read your notifications and mark them as seen.

rpcinheritAud
  • social.colibri.notification.listNotifications
  • social.colibri.notification.getUnreadCount
  • social.colibri.notification.updateSeen
  • social.colibri.notification.updateSeenForMessage
  • social.colibri.notification.getUnseen

social.colibri.permissionPush

lexicon v1
mainPERMISSION-SETPush notifications

Manage your push notification subscriptions.

rpcinheritAud
  • social.colibri.notification.registerPush
  • social.colibri.notification.unregisterPush