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