Skip to main content

chat.bsky.moderation.subscribeModEvents

#main​

Subscribe to stream of chat events targeted to moderation. Private endpoint.

Input​

PropertyTypeKnown ValuesRequiredDescription
cursorstring-❌The last known event seq number to backfill from. Use '2222222222222' to backfill from the beginning. Don't specify a cursor to listen only for new events.

Output​

PropertyTypeKnown ValuesRequiredDescription
refsunion of
#eventConvoFirstMessage
#eventGroupChatCreated
#eventGroupChatMemberAdded
#eventGroupChatMemberJoined
#eventGroupChatJoinRequest
#eventGroupChatJoinRequestApproved
#eventGroupChatJoinRequestRejected
#eventChatAccepted
#eventGroupChatMemberLeft
#eventGroupChatUpdated
#eventRateLimitExceeded
-✅-

#eventConvoFirstMessage​

Fired when the first message was sent on a convo.

PropertyTypeKnown ValuesRequiredDescription
convoIdstring-✅-
createdAtstring (datetime)-✅-
messageIdstring-❌-
recipientsarray of string-✅The list of DIDs message recipients. Does not include the sender, which is in the user field
revstring-✅-
userstring (did)-✅The DID of the message author.

#eventGroupChatCreated​

Fire when a group chat is created.

PropertyTypeKnown ValuesRequiredDescription
actorDidstring (did)-✅The DID of the actor performing the action. For this event, same as ownerDid.
convoCreatedAtstring (datetime)-✅When the group was originally created.
convoIdstring-✅-
createdAtstring (datetime)-✅-
groupMemberCountinteger-✅Current member count at the time of the event.
groupNamestring-✅The name set at creation time.
initialMemberDidsarray of string-✅DIDs of everyone added at creation time.
ownerDidstring (did)-✅The DID of the group chat owner.
revstring-✅-

#eventGroupChatMemberAdded​

Fired when a member is added to a group chat. Note that members are added in the 'request' state.

PropertyTypeKnown ValuesRequiredDescription
actorDidstring (did)-✅The DID of the actor performing the action. For this event, same as ownerDid.
convoCreatedAtstring (datetime)-✅When the group was originally created.
convoIdstring-✅-
createdAtstring (datetime)-✅-
groupMemberCountinteger-✅Current member count at the time of the event.
groupNamestring-✅-
ownerDidstring (did)-✅The DID of the group chat owner.
requestMembersCountinteger-✅The number of members who have not yet accepted the convo.
revstring-✅-
subjectDidstring (did)-✅The DID of the member who was added.
subjectFollowsOwnerboolean-✅Whether the added member follows the group owner.

#eventGroupChatMemberJoined​

Fired when a member joins a group chat via an join link that does not require approval.

PropertyTypeKnown ValuesRequiredDescription
actorDidstring (did)-✅The DID of the person joining.
convoCreatedAtstring (datetime)-✅When the group was originally created.
convoIdstring-✅-
createdAtstring (datetime)-✅-
groupMemberCountinteger-✅Current member count at the time of the event.
groupNamestring-✅-
joinLinkCodestring-✅The code of the join link used to join.
ownerDidstring (did)-✅The DID of the group chat owner.
revstring-✅-
subjectFollowsOwnerboolean-✅Whether the joining member follows the group owner.

#eventGroupChatJoinRequest​

Fired when a user requests to join a group chat via an join link that requires approval.

PropertyTypeKnown ValuesRequiredDescription
actorDidstring (did)-✅The DID of the person requesting to join.
convoCreatedAtstring (datetime)-✅When the group was originally created.
convoIdstring-✅-
createdAtstring (datetime)-✅-
groupMemberCountinteger-✅Current member count at the time of the event.
groupNamestring-✅-
joinLinkCodestring-✅The code of the join link used to request joining.
ownerDidstring (did)-✅The DID of the group chat owner.
revstring-✅-
subjectFollowsOwnerboolean-✅Whether the requesting member follows the group owner.

#eventGroupChatJoinRequestApproved​

Fired when a join request is approved by the group owner.

PropertyTypeKnown ValuesRequiredDescription
actorDidstring (did)-✅The DID of the owner approving the request.
convoCreatedAtstring (datetime)-✅When the group was originally created.
convoIdstring-✅-
createdAtstring (datetime)-✅-
groupMemberCountinteger-✅Current member count at the time of the event.
groupNamestring-✅-
ownerDidstring (did)-✅The DID of the group chat owner.
revstring-✅-
subjectDidstring (did)-✅The DID of the member whose request was approved.

#eventGroupChatJoinRequestRejected​

Fired when a join request is rejected by the group owner.

PropertyTypeKnown ValuesRequiredDescription
actorDidstring (did)-✅The DID of the owner rejecting the request.
convoCreatedAtstring (datetime)-✅When the group was originally created.
convoIdstring-✅-
createdAtstring (datetime)-✅-
groupMemberCountinteger-✅Current member count at the time of the event.
groupNamestring-✅-
ownerDidstring (did)-✅The DID of the group chat owner.
revstring-✅-
subjectDidstring (did)-✅The DID of the member whose request was rejected.

#eventChatAccepted​

Fired when a user accepts a chat convo, either explicitly or by sending a message.

PropertyTypeKnown ValuesRequiredDescription
actorDidstring (did)-✅The DID of the person accepting the convo.
convoCreatedAtstring (datetime)-✅When the convo was originally created.
convoIdstring-✅-
createdAtstring (datetime)-✅-
groupMemberCountinteger-❌Current member count at the time of the event. Only present for group convos.
groupNamestring-❌The name of the group chat. Only present for group convos.
methodstringexplicit
message
✅How the convo was accepted.
ownerDidstring (did)-❌The DID of the group chat owner. Only present for group convos.
revstring-✅-

#eventGroupChatMemberLeft​

Fired when a member leaves or is removed from a group chat.

PropertyTypeKnown ValuesRequiredDescription
actorDidstring (did)-✅The DID of the actor. For voluntary: the person leaving. For kicked: the owner.
convoCreatedAtstring (datetime)-✅When the group was originally created.
convoIdstring-✅-
createdAtstring (datetime)-✅-
groupMemberCountinteger-✅Current member count at the time of the event.
groupNamestring-✅-
leaveMethodstringvoluntary
kicked
✅How the member left.
ownerDidstring (did)-✅The DID of the group chat owner.
revstring-✅-
subjectDidstring (did)-✅The DID of the member who left or was removed.

#eventGroupChatUpdated​

Fired when a group chat's metadata or status changes.

PropertyTypeKnown ValuesRequiredDescription
actorDidstring (did)-✅The DID of the actor performing the action (the owner).
convoCreatedAtstring (datetime)-✅When the group was originally created.
convoIdstring-✅-
createdAtstring (datetime)-✅-
groupMemberCountinteger-✅Current member count at the time of the event.
groupNamestring-✅Current group name.
joinLinkCodestring-❌The code of the join link. Only present when updateType is join-link-related.
joinLinkFollowersOnlyboolean-❌Whether the join link is restricted to followers of the owner. Only present when updateType is join-link-related.
joinLinkRequiresApprovalboolean-❌Whether the join link requires owner approval to join. Only present when updateType is join-link-related.
lockReasonstringowner_action
owner_left
owner_deactivated
owner_deleted
owner_suspended
owner_taken_down
label_applied
convo_taken_down
❌Why the group was locked. Only present when updateType is 'locked'.
newNamestring-❌The new group name. Only present when updateType is 'name_changed'.
oldNamestring-❌The previous group name. Only present when updateType is 'name_changed'.
ownerDidstring (did)-✅The DID of the group chat owner.
revstring-✅-
updateTypestringname_changed
locked
locked_permanently
unlocked
join_link_created
join_link_disabled
join_link_settings_changed
✅What changed.

#eventRateLimitExceeded​

Fired when a user exceeds a rate limit.

PropertyTypeKnown ValuesRequiredDescription
actorDidstring (did)-✅The DID of the user who hit the rate limit.
createdAtstring (datetime)-✅-
endpointstring-✅The NSID of the endpoint that was rate limited.
revstring-✅-