Subscribe to stream of chat events targeted to moderation. Private endpoint.
Parameters
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.
Errors
FutureCursor
ConsumerTooSlow
If the consumer of the stream can not keep up with events, and a backlog gets too large, the server will drop the connection.
View raw schema
{
"description": "Subscribe to stream of chat events targeted to moderation. Private endpoint.",
"errors": [
{
"name": "FutureCursor"
},
{
"description": "If the consumer of the stream can not keep up with events, and a backlog gets too large, the server will drop the connection.",
"name": "ConsumerTooSlow"
}
],
"message": {
"schema": {
"refs": [
"#eventConvoFirstMessage",
"#eventGroupChatCreated",
"#eventGroupChatMemberAdded",
"#eventGroupChatMemberJoined",
"#eventGroupChatJoinRequest",
"#eventGroupChatJoinRequestApproved",
"#eventGroupChatJoinRequestRejected",
"#eventChatAccepted",
"#eventGroupChatMemberLeft",
"#eventGroupChatUpdated",
"#eventRateLimitExceeded"
],
"type": "union"
}
},
"parameters": {
"properties": {
"cursor": {
"description": "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.",
"type": "string"
}
},
"type": "params"
},
"type": "subscription"
}
Fired when a user accepts a chat convo, either explicitly or by sending a message.
Properties
The DID of the person accepting the convo.
When the convo was originally created.
No description available.
An RFC 3339 formatted timestamp.
Current member count at the time of the event. Only present for group convos.
The name of the group chat. Only present for group convos.
How the convo was accepted.
Known values: explicit, message
The DID of the group chat owner. Only present for group convos.
No description available.
View raw schema
{
"description": "Fired when a user accepts a chat convo, either explicitly or by sending a message.",
"properties": {
"actorDid": {
"description": "The DID of the person accepting the convo.",
"format": "did",
"type": "string"
},
"convoCreatedAt": {
"description": "When the convo was originally created.",
"format": "datetime",
"type": "string"
},
"convoId": {
"type": "string"
},
"createdAt": {
"format": "datetime",
"type": "string"
},
"groupMemberCount": {
"description": "Current member count at the time of the event. Only present for group convos.",
"type": "integer"
},
"groupName": {
"description": "The name of the group chat. Only present for group convos.",
"type": "string"
},
"method": {
"description": "How the convo was accepted.",
"knownValues": [
"explicit",
"message"
],
"type": "string"
},
"ownerDid": {
"description": "The DID of the group chat owner. Only present for group convos.",
"format": "did",
"type": "string"
},
"rev": {
"type": "string"
}
},
"required": [
"actorDid",
"convoCreatedAt",
"convoId",
"createdAt",
"method",
"rev"
],
"type": "object"
}
Fired when the first message was sent on a convo.
Properties
No description available.
An RFC 3339 formatted timestamp.
No description available.
The list of DIDs message recipients. Does not include the sender, which is in the `user` field
No description available.
The DID of the message author.
View raw schema
{
"description": "Fired when the first message was sent on a convo.",
"properties": {
"convoId": {
"type": "string"
},
"createdAt": {
"format": "datetime",
"type": "string"
},
"messageId": {
"type": "string"
},
"recipients": {
"description": "The list of DIDs message recipients. Does not include the sender, which is in the `user` field",
"items": {
"format": "did",
"type": "string"
},
"type": "array"
},
"rev": {
"type": "string"
},
"user": {
"description": "The DID of the message author.",
"format": "did",
"type": "string"
}
},
"required": [
"createdAt",
"rev",
"convoId",
"user",
"recipients"
],
"type": "object"
}
Fire when a group chat is created.
Properties
The DID of the actor performing the action. For this event, same as ownerDid.
When the group was originally created.
No description available.
An RFC 3339 formatted timestamp.
Current member count at the time of the event.
The name set at creation time.
DIDs of everyone added at creation time.
The DID of the group chat owner.
No description available.
View raw schema
{
"description": "Fire when a group chat is created.",
"properties": {
"actorDid": {
"description": "The DID of the actor performing the action. For this event, same as ownerDid.",
"format": "did",
"type": "string"
},
"convoCreatedAt": {
"description": "When the group was originally created.",
"format": "datetime",
"type": "string"
},
"convoId": {
"type": "string"
},
"createdAt": {
"format": "datetime",
"type": "string"
},
"groupMemberCount": {
"description": "Current member count at the time of the event.",
"type": "integer"
},
"groupName": {
"description": "The name set at creation time.",
"type": "string"
},
"initialMemberDids": {
"description": "DIDs of everyone added at creation time.",
"items": {
"format": "did",
"type": "string"
},
"type": "array"
},
"ownerDid": {
"description": "The DID of the group chat owner.",
"format": "did",
"type": "string"
},
"rev": {
"type": "string"
}
},
"required": [
"actorDid",
"convoCreatedAt",
"convoId",
"createdAt",
"groupMemberCount",
"groupName",
"initialMemberDids",
"ownerDid",
"rev"
],
"type": "object"
}
Fired when a user requests to join a group chat via an join link that requires approval.
Properties
The DID of the person requesting to join.
When the group was originally created.
No description available.
An RFC 3339 formatted timestamp.
Current member count at the time of the event.
No description available.
The code of the join link used to request joining.
The DID of the group chat owner.
No description available.
Whether the requesting member follows the group owner.
View raw schema
{
"description": "Fired when a user requests to join a group chat via an join link that requires approval.",
"properties": {
"actorDid": {
"description": "The DID of the person requesting to join.",
"format": "did",
"type": "string"
},
"convoCreatedAt": {
"description": "When the group was originally created.",
"format": "datetime",
"type": "string"
},
"convoId": {
"type": "string"
},
"createdAt": {
"format": "datetime",
"type": "string"
},
"groupMemberCount": {
"description": "Current member count at the time of the event.",
"type": "integer"
},
"groupName": {
"type": "string"
},
"joinLinkCode": {
"description": "The code of the join link used to request joining.",
"type": "string"
},
"ownerDid": {
"description": "The DID of the group chat owner.",
"format": "did",
"type": "string"
},
"rev": {
"type": "string"
},
"subjectFollowsOwner": {
"description": "Whether the requesting member follows the group owner.",
"type": "boolean"
}
},
"required": [
"actorDid",
"convoCreatedAt",
"convoId",
"createdAt",
"groupMemberCount",
"groupName",
"joinLinkCode",
"ownerDid",
"rev",
"subjectFollowsOwner"
],
"type": "object"
}
Fired when a join request is approved by the group owner.
Properties
The DID of the owner approving the request.
When the group was originally created.
No description available.
An RFC 3339 formatted timestamp.
Current member count at the time of the event.
No description available.
The DID of the group chat owner.
No description available.
The DID of the member whose request was approved.
View raw schema
{
"description": "Fired when a join request is approved by the group owner.",
"properties": {
"actorDid": {
"description": "The DID of the owner approving the request.",
"format": "did",
"type": "string"
},
"convoCreatedAt": {
"description": "When the group was originally created.",
"format": "datetime",
"type": "string"
},
"convoId": {
"type": "string"
},
"createdAt": {
"format": "datetime",
"type": "string"
},
"groupMemberCount": {
"description": "Current member count at the time of the event.",
"type": "integer"
},
"groupName": {
"type": "string"
},
"ownerDid": {
"description": "The DID of the group chat owner.",
"format": "did",
"type": "string"
},
"rev": {
"type": "string"
},
"subjectDid": {
"description": "The DID of the member whose request was approved.",
"format": "did",
"type": "string"
}
},
"required": [
"actorDid",
"convoCreatedAt",
"convoId",
"createdAt",
"groupMemberCount",
"groupName",
"ownerDid",
"rev",
"subjectDid"
],
"type": "object"
}
Fired when a join request is rejected by the group owner.
Properties
The DID of the owner rejecting the request.
When the group was originally created.
No description available.
An RFC 3339 formatted timestamp.
Current member count at the time of the event.
No description available.
The DID of the group chat owner.
No description available.
The DID of the member whose request was rejected.
View raw schema
{
"description": "Fired when a join request is rejected by the group owner.",
"properties": {
"actorDid": {
"description": "The DID of the owner rejecting the request.",
"format": "did",
"type": "string"
},
"convoCreatedAt": {
"description": "When the group was originally created.",
"format": "datetime",
"type": "string"
},
"convoId": {
"type": "string"
},
"createdAt": {
"format": "datetime",
"type": "string"
},
"groupMemberCount": {
"description": "Current member count at the time of the event.",
"type": "integer"
},
"groupName": {
"type": "string"
},
"ownerDid": {
"description": "The DID of the group chat owner.",
"format": "did",
"type": "string"
},
"rev": {
"type": "string"
},
"subjectDid": {
"description": "The DID of the member whose request was rejected.",
"format": "did",
"type": "string"
}
},
"required": [
"actorDid",
"convoCreatedAt",
"convoId",
"createdAt",
"groupMemberCount",
"groupName",
"ownerDid",
"rev",
"subjectDid"
],
"type": "object"
}
Fired when a member is added to a group chat. Note that members are added in the 'request' state.
Properties
The DID of the actor performing the action. For this event, same as ownerDid.
When the group was originally created.
No description available.
An RFC 3339 formatted timestamp.
Current member count at the time of the event.
No description available.
The DID of the group chat owner.
The number of members who have not yet accepted the convo.
No description available.
The DID of the member who was added.
Whether the added member follows the group owner.
View raw schema
{
"description": "Fired when a member is added to a group chat. Note that members are added in the 'request' state.",
"properties": {
"actorDid": {
"description": "The DID of the actor performing the action. For this event, same as ownerDid.",
"format": "did",
"type": "string"
},
"convoCreatedAt": {
"description": "When the group was originally created.",
"format": "datetime",
"type": "string"
},
"convoId": {
"type": "string"
},
"createdAt": {
"format": "datetime",
"type": "string"
},
"groupMemberCount": {
"description": "Current member count at the time of the event.",
"type": "integer"
},
"groupName": {
"type": "string"
},
"ownerDid": {
"description": "The DID of the group chat owner.",
"format": "did",
"type": "string"
},
"requestMembersCount": {
"description": "The number of members who have not yet accepted the convo.",
"type": "integer"
},
"rev": {
"type": "string"
},
"subjectDid": {
"description": "The DID of the member who was added.",
"format": "did",
"type": "string"
},
"subjectFollowsOwner": {
"description": "Whether the added member follows the group owner.",
"type": "boolean"
}
},
"required": [
"actorDid",
"convoCreatedAt",
"convoId",
"createdAt",
"groupMemberCount",
"groupName",
"ownerDid",
"requestMembersCount",
"rev",
"subjectDid",
"subjectFollowsOwner"
],
"type": "object"
}
Fired when a member joins a group chat via an join link that does not require approval.
Properties
The DID of the person joining.
When the group was originally created.
No description available.
An RFC 3339 formatted timestamp.
Current member count at the time of the event.
No description available.
The code of the join link used to join.
The DID of the group chat owner.
No description available.
Whether the joining member follows the group owner.
View raw schema
{
"description": "Fired when a member joins a group chat via an join link that does not require approval.",
"properties": {
"actorDid": {
"description": "The DID of the person joining.",
"format": "did",
"type": "string"
},
"convoCreatedAt": {
"description": "When the group was originally created.",
"format": "datetime",
"type": "string"
},
"convoId": {
"type": "string"
},
"createdAt": {
"format": "datetime",
"type": "string"
},
"groupMemberCount": {
"description": "Current member count at the time of the event.",
"type": "integer"
},
"groupName": {
"type": "string"
},
"joinLinkCode": {
"description": "The code of the join link used to join.",
"type": "string"
},
"ownerDid": {
"description": "The DID of the group chat owner.",
"format": "did",
"type": "string"
},
"rev": {
"type": "string"
},
"subjectFollowsOwner": {
"description": "Whether the joining member follows the group owner.",
"type": "boolean"
}
},
"required": [
"actorDid",
"convoCreatedAt",
"convoId",
"createdAt",
"groupMemberCount",
"groupName",
"joinLinkCode",
"ownerDid",
"rev",
"subjectFollowsOwner"
],
"type": "object"
}
Fired when a member leaves or is removed from a group chat.
Properties
The DID of the actor. For voluntary: the person leaving. For kicked: the owner.
When the group was originally created.
No description available.
An RFC 3339 formatted timestamp.
Current member count at the time of the event.
No description available.
How the member left.
Known values: voluntary, kicked
The DID of the group chat owner.
No description available.
The DID of the member who left or was removed.
View raw schema
{
"description": "Fired when a member leaves or is removed from a group chat.",
"properties": {
"actorDid": {
"description": "The DID of the actor. For voluntary: the person leaving. For kicked: the owner.",
"format": "did",
"type": "string"
},
"convoCreatedAt": {
"description": "When the group was originally created.",
"format": "datetime",
"type": "string"
},
"convoId": {
"type": "string"
},
"createdAt": {
"format": "datetime",
"type": "string"
},
"groupMemberCount": {
"description": "Current member count at the time of the event.",
"type": "integer"
},
"groupName": {
"type": "string"
},
"leaveMethod": {
"description": "How the member left.",
"knownValues": [
"voluntary",
"kicked"
],
"type": "string"
},
"ownerDid": {
"description": "The DID of the group chat owner.",
"format": "did",
"type": "string"
},
"rev": {
"type": "string"
},
"subjectDid": {
"description": "The DID of the member who left or was removed.",
"format": "did",
"type": "string"
}
},
"required": [
"actorDid",
"convoCreatedAt",
"convoId",
"createdAt",
"groupMemberCount",
"groupName",
"leaveMethod",
"ownerDid",
"rev",
"subjectDid"
],
"type": "object"
}
Fired when a group chat's metadata or status changes.
Properties
The DID of the actor performing the action (the owner).
When the group was originally created.
No description available.
An RFC 3339 formatted timestamp.
Current member count at the time of the event.
The code of the join link. Only present when updateType is join-link-related.
Whether the join link is restricted to followers of the owner. Only present when updateType is join-link-related.
Whether the join link requires owner approval to join. Only present when updateType is join-link-related.
Why the group was locked. Only present when updateType is 'locked'.
Known values: owner_action, owner_left, owner_deactivated, owner_deleted, owner_suspended, owner_taken_down, label_applied, convo_taken_down
The new group name. Only present when updateType is 'name_changed'.
The previous group name. Only present when updateType is 'name_changed'.
The DID of the group chat owner.
No description available.
What changed.
Known values: name_changed, locked, locked_permanently, unlocked, join_link_created, join_link_disabled, join_link_settings_changed
View raw schema
{
"description": "Fired when a group chat's metadata or status changes.",
"properties": {
"actorDid": {
"description": "The DID of the actor performing the action (the owner).",
"format": "did",
"type": "string"
},
"convoCreatedAt": {
"description": "When the group was originally created.",
"format": "datetime",
"type": "string"
},
"convoId": {
"type": "string"
},
"createdAt": {
"format": "datetime",
"type": "string"
},
"groupMemberCount": {
"description": "Current member count at the time of the event.",
"type": "integer"
},
"groupName": {
"description": "Current group name.",
"type": "string"
},
"joinLinkCode": {
"description": "The code of the join link. Only present when updateType is join-link-related.",
"type": "string"
},
"joinLinkFollowersOnly": {
"description": "Whether the join link is restricted to followers of the owner. Only present when updateType is join-link-related.",
"type": "boolean"
},
"joinLinkRequiresApproval": {
"description": "Whether the join link requires owner approval to join. Only present when updateType is join-link-related.",
"type": "boolean"
},
"lockReason": {
"description": "Why the group was locked. Only present when updateType is 'locked'.",
"knownValues": [
"owner_action",
"owner_left",
"owner_deactivated",
"owner_deleted",
"owner_suspended",
"owner_taken_down",
"label_applied",
"convo_taken_down"
],
"type": "string"
},
"newName": {
"description": "The new group name. Only present when updateType is 'name_changed'.",
"type": "string"
},
"oldName": {
"description": "The previous group name. Only present when updateType is 'name_changed'.",
"type": "string"
},
"ownerDid": {
"description": "The DID of the group chat owner.",
"format": "did",
"type": "string"
},
"rev": {
"type": "string"
},
"updateType": {
"description": "What changed.",
"knownValues": [
"name_changed",
"locked",
"locked_permanently",
"unlocked",
"join_link_created",
"join_link_disabled",
"join_link_settings_changed"
],
"type": "string"
}
},
"required": [
"actorDid",
"convoCreatedAt",
"convoId",
"createdAt",
"groupMemberCount",
"groupName",
"ownerDid",
"rev",
"updateType"
],
"type": "object"
}
Fired when a user exceeds a rate limit.
Properties
The DID of the user who hit the rate limit.
An RFC 3339 formatted timestamp.
The NSID of the endpoint that was rate limited.
No description available.
View raw schema
{
"description": "Fired when a user exceeds a rate limit.",
"properties": {
"actorDid": {
"description": "The DID of the user who hit the rate limit.",
"format": "did",
"type": "string"
},
"createdAt": {
"format": "datetime",
"type": "string"
},
"endpoint": {
"description": "The NSID of the endpoint that was rate limited.",
"type": "string"
},
"rev": {
"type": "string"
}
},
"required": [
"actorDid",
"createdAt",
"endpoint",
"rev"
],
"type": "object"
}