social.colibri.beta.sync.defs

colibri.social

{
  "id": "social.colibri.beta.sync.defs",
  "defs": {
    "ack": {
      "type": "object",
      "required": [],
      "properties": {},
      "description": "Answers a heartbeat."
    },
    "error": {
      "type": "object",
      "required": [
        "error"
      ],
      "properties": {
        "error": {
          "type": "string",
          "description": "Error name.",
          "knownValues": [
            "InvalidFrame",
            "Forbidden",
            "NotFound",
            "RateLimited"
          ]
        },
        "message": {
          "type": "string",
          "description": "Human-readable detail."
        }
      },
      "description": "Something the client sent could not be acted on."
    },
    "typing": {
      "type": "object",
      "required": [
        "channel"
      ],
      "properties": {
        "channel": {
          "type": "string",
          "format": "space-ref",
          "description": "The channel being typed in."
        }
      },
      "description": "Reports that the user is typing in a channel."
    },
    "heartbeat": {
      "type": "object",
      "required": [],
      "properties": {},
      "description": "Keeps the connection alive and tells the AppView the user is still present. The server answers with an ack."
    },
    "roleEvent": {
      "type": "object",
      "required": [
        "event",
        "community"
      ],
      "properties": {
        "rkey": {
          "type": "string",
          "format": "record-key",
          "description": "Which role, for deletes."
        },
        "role": {
          "ref": "social.colibri.beta.community.defs#roleView",
          "type": "ref",
          "description": "The role. Absent on delete."
        },
        "event": {
          "type": "string",
          "description": "What happened.",
          "knownValues": [
            "create",
            "update",
            "delete"
          ]
        },
        "community": {
          "type": "string",
          "format": "did",
          "description": "The community it belongs to."
        }
      },
      "description": "A role was created, changed, or deleted."
    },
    "seenEvent": {
      "type": "object",
      "required": [
        "unread"
      ],
      "properties": {
        "seenAt": {
          "type": "string",
          "format": "datetime",
          "description": "The point everything was marked seen up to."
        },
        "unread": {
          "type": "integer",
          "description": "The user's remaining unread count."
        },
        "channel": {
          "type": "string",
          "format": "space-ref",
          "description": "The channel that was marked seen, when it was a single channel."
        }
      },
      "description": "The connected user marked notifications seen somewhere else, so this client should clear the same badges."
    },
    "subscribe": {
      "type": "object",
      "required": [],
      "properties": {
        "channels": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "space-ref",
            "description": "A channel."
          },
          "description": "Channels to start receiving messages for."
        },
        "communities": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "did",
            "description": "A community."
          },
          "description": "Communities to start receiving events for."
        }
      },
      "description": "Adds communities and channels to what this connection receives. Subscription is explicit: a connection is sent nothing it did not ask for."
    },
    "labelEvent": {
      "type": "object",
      "required": [
        "event",
        "space",
        "subject",
        "val",
        "src"
      ],
      "properties": {
        "src": {
          "type": "string",
          "format": "did",
          "description": "The labeler."
        },
        "val": {
          "type": "string",
          "description": "The label value."
        },
        "event": {
          "type": "string",
          "description": "What happened.",
          "knownValues": [
            "create",
            "negate"
          ]
        },
        "space": {
          "type": "string",
          "format": "space-ref",
          "description": "The space the labelled record lives in."
        },
        "subject": {
          "ref": "social.colibri.beta.label#subject",
          "type": "ref",
          "description": "The labelled record."
        }
      },
      "description": "A label was applied or retracted on a record in a subscribed space."
    },
    "subscribed": {
      "type": "object",
      "required": [
        "communities",
        "channels"
      ],
      "properties": {
        "channels": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "space-ref",
            "description": "A channel."
          },
          "description": "Channels being received."
        },
        "communities": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "did",
            "description": "A community."
          },
          "description": "Communities being received."
        }
      },
      "description": "Confirms what this connection is now receiving, after a subscribe or unsubscribe. Anything the user is not entitled to read is silently absent."
    },
    "voiceEvent": {
      "type": "object",
      "required": [
        "event",
        "channel",
        "did"
      ],
      "properties": {
        "did": {
          "type": "string",
          "format": "did",
          "description": "Who."
        },
        "event": {
          "type": "string",
          "description": "What happened.",
          "knownValues": [
            "join",
            "leave",
            "update",
            "speaking"
          ]
        },
        "voice": {
          "ref": "social.colibri.beta.actor.defs#voiceState",
          "type": "ref",
          "description": "Their voice state. Absent on leave."
        },
        "channel": {
          "type": "string",
          "format": "space-ref",
          "description": "The voice channel."
        },
        "speaking": {
          "type": "boolean",
          "description": "Whether they are currently speaking, on speaking events."
        }
      },
      "description": "A voice channel's participants changed."
    },
    "memberEvent": {
      "type": "object",
      "required": [
        "event",
        "community"
      ],
      "properties": {
        "event": {
          "type": "string",
          "description": "What happened. A kick or a ban arrives as a leave.",
          "knownValues": [
            "join",
            "leave",
            "update"
          ]
        },
        "member": {
          "ref": "social.colibri.beta.community.defs#memberView",
          "type": "ref",
          "description": "The member. Absent on leave."
        },
        "subject": {
          "type": "string",
          "format": "did",
          "description": "Who, for leaves."
        },
        "community": {
          "type": "string",
          "format": "did",
          "description": "The community."
        }
      },
      "description": "Someone joined, left, or had their roles changed."
    },
    "setPresence": {
      "type": "object",
      "required": [],
      "properties": {
        "voice": {
          "ref": "#voiceSelfState",
          "type": "ref",
          "description": "The user's own voice state, when connected to a voice channel."
        },
        "onlineState": {
          "type": "string",
          "description": "Requested online state.",
          "knownValues": [
            "online",
            "away",
            "dnd",
            "offline"
          ]
        }
      },
      "description": "Updates the user's own presence over the socket."
    },
    "typingEvent": {
      "type": "object",
      "required": [
        "did",
        "channel"
      ],
      "properties": {
        "did": {
          "type": "string",
          "format": "did",
          "description": "Who is typing."
        },
        "channel": {
          "type": "string",
          "format": "space-ref",
          "description": "Where."
        }
      },
      "description": "Someone is typing in a subscribed channel."
    },
    "unsubscribe": {
      "type": "object",
      "required": [],
      "properties": {
        "channels": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "space-ref",
            "description": "A channel."
          },
          "description": "Channels to stop receiving messages for."
        },
        "communities": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "did",
            "description": "A community."
          },
          "description": "Communities to stop receiving events for."
        }
      },
      "description": "Removes communities and channels from what this connection receives."
    },
    "viewChannel": {
      "type": "object",
      "required": [],
      "properties": {
        "channel": {
          "type": "string",
          "format": "space-ref",
          "description": "The channel now in view."
        }
      },
      "description": "Reports which channel the user is looking at, which drives read state and away detection. An absent channel means they are looking at none."
    },
    "channelEvent": {
      "type": "object",
      "required": [
        "event",
        "community"
      ],
      "properties": {
        "event": {
          "type": "string",
          "description": "What happened.",
          "knownValues": [
            "create",
            "update",
            "delete"
          ]
        },
        "space": {
          "type": "string",
          "format": "space-ref",
          "description": "Which channel, for deletes."
        },
        "channel": {
          "ref": "social.colibri.beta.community.defs#channelView",
          "type": "ref",
          "description": "The channel. Absent on delete."
        },
        "community": {
          "type": "string",
          "format": "did",
          "description": "The community it belongs to."
        }
      },
      "description": "A channel was created, changed, or deleted."
    },
    "messageEvent": {
      "type": "object",
      "required": [
        "event",
        "channel"
      ],
      "properties": {
        "event": {
          "type": "string",
          "description": "What happened.",
          "knownValues": [
            "create",
            "update",
            "delete"
          ]
        },
        "channel": {
          "type": "string",
          "format": "space-ref",
          "description": "The channel it happened in."
        },
        "message": {
          "ref": "social.colibri.beta.channel.defs#messageView",
          "type": "ref",
          "description": "The message. Absent on delete, where the reference alone identifies it."
        },
        "subject": {
          "ref": "social.colibri.beta.defs#recordRef",
          "type": "ref",
          "description": "Which message, for deletes."
        }
      },
      "description": "A message was written, edited, or deleted in a subscribed channel."
    },
    "categoryEvent": {
      "type": "object",
      "required": [
        "event",
        "community"
      ],
      "properties": {
        "rkey": {
          "type": "string",
          "format": "record-key",
          "description": "Which category, for deletes."
        },
        "event": {
          "type": "string",
          "description": "What happened.",
          "knownValues": [
            "create",
            "update",
            "delete"
          ]
        },
        "category": {
          "ref": "social.colibri.beta.community.defs#categoryView",
          "type": "ref",
          "description": "The category. Absent on delete."
        },
        "community": {
          "type": "string",
          "format": "did",
          "description": "The community it belongs to."
        }
      },
      "description": "A category was created, changed, or deleted."
    },
    "presenceEvent": {
      "type": "object",
      "required": [
        "did",
        "presence"
      ],
      "properties": {
        "did": {
          "type": "string",
          "format": "did",
          "description": "Whose presence changed."
        },
        "presence": {
          "ref": "social.colibri.beta.actor.defs#presence",
          "type": "ref",
          "description": "Their new presence."
        }
      },
      "description": "Someone's presence changed."
    },
    "reactionEvent": {
      "type": "object",
      "required": [
        "event",
        "channel",
        "target",
        "emoji",
        "actor"
      ],
      "properties": {
        "actor": {
          "type": "string",
          "format": "did",
          "description": "Who reacted."
        },
        "emoji": {
          "type": "string",
          "description": "The emoji or custom shortcode."
        },
        "event": {
          "type": "string",
          "description": "What happened.",
          "knownValues": [
            "create",
            "delete"
          ]
        },
        "target": {
          "ref": "social.colibri.beta.defs#recordRef",
          "type": "ref",
          "description": "The message reacted to."
        },
        "channel": {
          "type": "string",
          "format": "space-ref",
          "description": "The channel it happened in."
        }
      },
      "description": "A reaction was added or removed in a subscribed channel."
    },
    "communityEvent": {
      "type": "object",
      "required": [
        "event",
        "community"
      ],
      "properties": {
        "view": {
          "ref": "social.colibri.beta.community.defs#communityView",
          "type": "ref",
          "description": "The community. Absent on delete."
        },
        "event": {
          "type": "string",
          "description": "What happened.",
          "knownValues": [
            "update",
            "delete"
          ]
        },
        "community": {
          "type": "string",
          "format": "did",
          "description": "The community."
        }
      },
      "description": "A community's profile or settings changed."
    },
    "voiceSelfState": {
      "type": "object",
      "required": [
        "channel"
      ],
      "properties": {
        "muted": {
          "type": "boolean",
          "description": "Whether the microphone is muted."
        },
        "channel": {
          "type": "string",
          "format": "space-ref",
          "description": "The voice channel."
        },
        "deafened": {
          "type": "boolean",
          "description": "Whether the user has deafened themselves."
        }
      },
      "description": "A user's own voice state."
    },
    "moderationEvent": {
      "type": "object",
      "required": [
        "community",
        "entry"
      ],
      "properties": {
        "entry": {
          "ref": "social.colibri.beta.community.defs#moderationView",
          "type": "ref",
          "description": "The log entry."
        },
        "community": {
          "type": "string",
          "format": "did",
          "description": "The community."
        }
      },
      "description": "A moderation action was logged. Only sent to members who can read the log."
    },
    "applicationEvent": {
      "type": "object",
      "required": [
        "event",
        "community",
        "subject"
      ],
      "properties": {
        "event": {
          "type": "string",
          "description": "What happened.",
          "knownValues": [
            "create",
            "approve",
            "dismiss",
            "undismiss"
          ]
        },
        "subject": {
          "type": "string",
          "format": "did",
          "description": "The applicant."
        },
        "community": {
          "type": "string",
          "format": "did",
          "description": "The community."
        },
        "application": {
          "ref": "social.colibri.beta.community.defs#applicationView",
          "type": "ref",
          "description": "The application. Absent on approve."
        }
      },
      "description": "The pending-application queue changed. Only sent to members who can manage approvals."
    },
    "preferencesEvent": {
      "type": "object",
      "required": [
        "preferences"
      ],
      "properties": {
        "preferences": {
          "ref": "social.colibri.beta.actor.defs#preferences",
          "type": "ref",
          "description": "Their preferences as they now stand."
        }
      },
      "description": "The connected user changed their own preferences somewhere else."
    },
    "notificationEvent": {
      "type": "object",
      "required": [
        "notification"
      ],
      "properties": {
        "notification": {
          "ref": "social.colibri.beta.notification.defs#notificationView",
          "type": "ref",
          "description": "The notification."
        }
      },
      "description": "A notification was raised for the connected user."
    },
    "communityProgressEvent": {
      "type": "object",
      "required": [
        "step",
        "completed",
        "total"
      ],
      "properties": {
        "step": {
          "type": "string",
          "description": "What the AppView is doing now.",
          "knownValues": [
            "creatingAccount",
            "creatingSpaces",
            "writingProfile",
            "creatingOwnerRole",
            "creatingStarterChannels",
            "done",
            "failed"
          ]
        },
        "total": {
          "type": "integer",
          "description": "Steps in total."
        },
        "message": {
          "type": "string",
          "description": "Human-readable detail, set on failure."
        },
        "community": {
          "type": "string",
          "format": "did",
          "description": "The community, once its account exists."
        },
        "completed": {
          "type": "integer",
          "description": "Steps finished."
        }
      },
      "description": "Progress while a community is being created, which takes several PDS round-trips."
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}

Validate Record

Validate a record against social.colibri.beta.sync.defs

Validation Options
Automatically resolve and include external schemas for full validation
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:mprdjqjluoswa7awzggaggj3
CID
bafyreicxg2ihgymztl4snzaw55f6qqz2lcv62qhatfh33jwdmu7u4g2kve
Indexed At
2026-08-24 08:22 UTC
AT-URI
at://did:plc:mprdjqjluoswa7awzggaggj3/com.atproto.lexicon.schema/social.colibri.beta.sync.defs

Version History (2 versions)

Referenced Schemas (14)

Lexicon Garden

@