Skip to main content
Dispatch events are sent by the gateway to notify the client of state changes. These events are sent with opcode 0 (DISPATCH) and include an event name and associated data.

Event scopes

Events are delivered based on their scope:
ScopeDescription
sessionSent only to the current session
presenceSent to all sessions of the current user
guildSent to all users in a guild who have permission to receive it
channelSent based on channel type (guild channels use guild scope, DMs use presence scope)

Event reference

EventScopeDescription
READYsessionContains initial state information sent after identifying. This is the first event received after a successful IDENTIFY.
RESUMEDsessionResponse to a successful resume request. The client should replay any missed events from the buffer.
SESSIONS_REPLACEpresenceUser sessions have been replaced. Sent when sessions are updated across devices.
USER_UPDATEpresenceProperties about the current user changed.
USER_PINNED_DMS_UPDATEpresenceUser pinned DMs have been updated.
USER_SETTINGS_UPDATEpresenceUser settings have been updated.
USER_GUILD_SETTINGS_UPDATEpresenceUser guild settings have been updated.
USER_NOTE_UPDATEpresenceUser note for a target user has been updated.
RECENT_MENTION_DELETEpresenceA recent mention was deleted from the user’s mentions list.
SAVED_MESSAGE_CREATEpresenceA message was saved to the user’s saved messages.
SAVED_MESSAGE_DELETEpresenceA saved message was deleted from the user’s saved messages.
FAVORITE_MEME_CREATEpresenceA favourite meme was added to the user’s collection.
FAVORITE_MEME_UPDATEpresenceA favourite meme was updated in the user’s collection.
FAVORITE_MEME_DELETEpresenceA favourite meme was deleted from the user’s collection.
AUTH_SESSION_CHANGEpresenceAuthentication session has changed. Sent when the user’s token is rotated due to a security-sensitive operation like password change.
PRESENCE_UPDATEpresenceUser presence was updated. Sent when a friend’s or group DM member’s status changes.
GUILD_CREATEguildSent when a guild becomes available, when the user joins a new guild, or for lazy-loading of unavailable guilds.
GUILD_UPDATEguildSent when a guild is updated.
GUILD_DELETEguildSent when a guild becomes unavailable or the user is removed from a guild.
GUILD_MEMBER_ADDguildSent when a new user joins a guild.
GUILD_MEMBER_UPDATEguildSent when a guild member is updated.
GUILD_MEMBER_REMOVEguildSent when a user is removed from a guild (leave, kick, or ban).
GUILD_ROLE_CREATEguildSent when a guild role is created.
GUILD_ROLE_UPDATEguildSent when a guild role is updated.
GUILD_ROLE_UPDATE_BULKguildSent when multiple guild roles are updated (e.g. reordering or hoist position changes).
GUILD_ROLE_DELETEguildSent when a guild role is deleted.
GUILD_EMOJIS_UPDATEguildSent when guild emojis were updated.
GUILD_STICKERS_UPDATEguildSent when guild stickers were updated.
GUILD_BAN_ADDguildSent when a user is banned from a guild.
GUILD_BAN_REMOVEguildSent when a user is unbanned from a guild.
CHANNEL_CREATEchannelSent when a new channel is created or opened for a user.
CHANNEL_UPDATEchannelSent when a channel is updated.
CHANNEL_UPDATE_BULKguildSent when multiple channels are updated (e.g. reordering).
CHANNEL_DELETEchannelSent when a channel is deleted or closed for a user.
CHANNEL_PINS_UPDATEchannelSent when a message is pinned or unpinned.
CHANNEL_PINS_ACKpresenceSent when channel pins were acknowledged by the user.
CHANNEL_RECIPIENT_ADDpresenceSent when a user is added to a group DM. Dispatched to existing members only (the new user receives CHANNEL_CREATE instead).
CHANNEL_RECIPIENT_REMOVEpresenceSent when a user is removed from a group DM.
MESSAGE_CREATEchannelSent when a message is created.
MESSAGE_UPDATEchannelSent when a message is edited or updated (e.g., embeds added).
MESSAGE_DELETEchannelSent when a message is deleted.
MESSAGE_DELETE_BULKchannelSent when multiple messages are deleted at once.
MESSAGE_REACTION_ADDchannelSent when a user adds a reaction to a message.
MESSAGE_REACTION_REMOVEchannelSent when a user removes a reaction from a message.
MESSAGE_REACTION_REMOVE_ALLchannelSent when all reactions are removed from a message.
MESSAGE_REACTION_REMOVE_EMOJIchannelSent when all reactions for a specific emoji are removed from a message.
MESSAGE_ACKpresenceSent when a message is acknowledged (marked as read).
TYPING_STARTchannelSent when a user starts typing in a channel.
WEBHOOKS_UPDATEguildSent when a guild channel webhook is created, updated, or deleted. Indicates that webhooks for the channel should be re-fetched.
INVITE_CREATEguildSent when an invite to a channel or pack is created. The payload structure varies based on invite type.
INVITE_DELETEguildSent when an invite to a channel is deleted.
RELATIONSHIP_ADDpresenceSent when a user relationship is added (friend request sent/received, blocked).
RELATIONSHIP_UPDATEpresenceSent when a user relationship is updated (friend request accepted, nickname changed).
RELATIONSHIP_REMOVEpresenceSent when a user relationship is removed (unfriended, unblocked, request cancelled, or replaced by a block).
VOICE_STATE_UPDATEguildSent when a user’s voice state is updated (join/leave/move voice channel, mute/deafen).
VOICE_SERVER_UPDATEpresenceSent when the voice server for a guild or call is updated.
CALL_CREATEpresenceSent when a DM or group DM call is started.
CALL_UPDATEpresenceSent when a DM or group DM call is updated (participants join/leave, ringing state changes).
CALL_DELETEpresenceSent when a DM or group DM call ends.

Gateway types

These types are used in gateway event payloads but are not exposed through the HTTP API.

VoiceStateResponse

Represents a user’s voice connection state.
FieldTypeDescription
guild_id?snowflakeThe guild ID this voice state is for, null if in a DM call
channel_id?snowflakeThe channel ID the user is connected to, null if disconnected
user_idsnowflakeThe user ID this voice state is for
connection_id??stringThe unique connection identifier
session_id?stringThe session ID for this voice state
member?GuildMemberResponseThe guild member data, if in a guild voice channel
mutebooleanWhether the user is server muted
deafbooleanWhether the user is server deafened
self_mutebooleanWhether the user has muted themselves
self_deafbooleanWhether the user has deafened themselves
self_video?booleanWhether the user has their camera enabled
self_stream?booleanWhether the user is streaming
is_mobile?booleanWhether the user is connected from a mobile device
viewer_stream_keys?string[]An array of stream keys the user is currently viewing
version?integerThe voice state version for ordering updates

PresenceResponse

Represents a user’s presence (online status and activity).
FieldTypeDescription
userUserPartialResponseThe user this presence is for
statusstringThe current online status (online, idle, dnd, invisible, offline)
mobilebooleanWhether the user is on a mobile device
afkbooleanWhether the user is marked as AFK
custom_status?CustomStatusResponseThe custom status set by the user

CustomStatusResponse

Represents a user’s custom status.
FieldTypeDescription
textstringThe custom status text
emoji_id?snowflakeThe ID of the custom emoji used in the status
emoji_name?stringThe name of the emoji used in the status
expires_at?stringISO8601 timestamp when the custom status expires

SessionResponse

Represents a user’s gateway session.
FieldTypeDescription
session_idstringThe session identifier, or “all” for the aggregate session
statusstringThe status for this session (online, idle, dnd, invisible, offline)
mobilebooleanWhether this session is on a mobile device
afkbooleanWhether this session is marked as AFK

ReadStateResponse

Represents read state for a channel.
FieldTypeDescription
idsnowflakeThe channel ID for this read state
mention_countintegerNumber of unread mentions in the channel
last_message_id?snowflakeThe ID of the last message read
last_pin_timestamp?stringISO8601 timestamp of the last pinned message acknowledged

GuildReadyResponse

Partial guild data sent in the READY event.
FieldTypeDescription
idsnowflakeThe unique identifier for this guild
unavailable?booleanWhether the guild is unavailable due to an outage
name?stringThe name of the guild
icon??stringThe hash of the guild icon
owner_id?snowflakeThe ID of the guild owner
member_count?integerTotal number of members in the guild
lazy?booleanWhether this guild uses lazy loading
large?booleanWhether this guild is considered large
joined_at?stringISO8601 timestamp of when the user joined

Event details

Session events

READY

Contains initial state information sent after identifying. This is the first event received after a successful IDENTIFY. Scope: session Dispatched by: Gateway (internal) Payload:
FieldTypeDescription
versionintegerGateway protocol version
session_idstringSession ID for resuming
userUserPrivateResponseThe current user
guildsGuildReadyResponse[]Guilds the user is in (includes full guild data for non-bots, unavailable placeholders for bots)
private_channels?ChannelResponse[]DM and group DM channels
relationships?object[]User relationships (friends, blocked, pending) with user objects stripped
users?UserPartialResponse[]Users referenced by relationships, channels, and guild members (deduped)
presences?PresenceResponse[]Presences of friends and group DM recipients
sessions?object[]Active gateway sessions for the current user
user_settings?UserSettingsResponseUser settings
user_guild_settings?UserGuildSettingsResponse[]Per-guild notification settings
read_states?ReadStateResponse[]Channel read state (last read message IDs)
notes?objectUser notes keyed by user ID
country_code?stringTwo-letter country code based on IP geolocation
pinned_dms?string[]Array of pinned DM channel IDs
favorite_memes?FavoriteMemeResponse[]User’s favourite memes
auth_session_id_hash?stringHash of the authentication session ID

RESUMED

Response to a successful resume request. The client should replay any missed events from the buffer. Scope: session Dispatched by: Gateway (internal) Payload: Null payload; presence of this event indicates successful resume

SESSIONS_REPLACE

User sessions have been replaced. Sent when sessions are updated across devices. Scope: presence Dispatched by: Gateway (internal) Payload: Payload is an object[].

User events

USER_UPDATE

Properties about the current user changed. Scope: presence Dispatched by: Payload: See UserPrivateResponse for payload structure.

USER_PINNED_DMS_UPDATE

User pinned DMs have been updated. Scope: presence Dispatched by: Payload: Payload is an string[].

USER_SETTINGS_UPDATE

User settings have been updated. Scope: presence Dispatched by: Payload: See UserSettingsResponse for payload structure.

USER_GUILD_SETTINGS_UPDATE

User guild settings have been updated. Scope: presence Dispatched by: Payload: See UserGuildSettingsResponse for payload structure.

USER_NOTE_UPDATE

User note for a target user has been updated. Scope: presence Dispatched by: Payload:
FieldTypeDescription
idstringUser ID the note is about
notestringThe note content

User content events

RECENT_MENTION_DELETE

A recent mention was deleted from the user’s mentions list. Scope: presence Dispatched by: Payload:
FieldTypeDescription
message_idstringID of the deleted mention’s message

SAVED_MESSAGE_CREATE

A message was saved to the user’s saved messages. Scope: presence Dispatched by: Payload: See MessageResponse for payload structure.

SAVED_MESSAGE_DELETE

A saved message was deleted from the user’s saved messages. Scope: presence Dispatched by: Payload:
FieldTypeDescription
message_idstringID of the deleted saved message

Favourite memes events

FAVORITE_MEME_CREATE

A favourite meme was added to the user’s collection. Scope: presence Dispatched by: Payload: See FavoriteMemeResponse for payload structure.

FAVORITE_MEME_UPDATE

A favourite meme was updated in the user’s collection. Scope: presence Dispatched by: Payload: See FavoriteMemeResponse for payload structure.

FAVORITE_MEME_DELETE

A favourite meme was deleted from the user’s collection. Scope: presence Dispatched by: Payload:
FieldTypeDescription
meme_idstringID of the deleted favourite meme

Authentication events

AUTH_SESSION_CHANGE

Authentication session has changed. Sent when the user’s token is rotated due to a security-sensitive operation like password change. Scope: presence Dispatched by: Payload:
FieldTypeDescription
old_auth_session_id_hashstringBase64url-encoded hash of the old session ID
new_auth_session_id_hashstringBase64url-encoded hash of the new session ID
new_tokenstringThe new authentication token

Presence events

PRESENCE_UPDATE

User presence was updated. Sent when a friend’s or group DM member’s status changes. Scope: presence Dispatched by: Gateway (internal)
Dispatched to users who are subscribed to the target user’s presence (friends, group DM members)
Payload:
FieldTypeDescription
userobjectNormalized user object
statusstringUser’s current status
mobilebooleanWhether the user has any mobile session active
afkbooleanWhether the user is marked as AFK
custom_status?objectUser’s custom status (null if offline/invisible or not set)

Guild events

GUILD_CREATE

Sent when a guild becomes available, when the user joins a new guild, or for lazy-loading of unavailable guilds. Scope: guild Dispatched by: Payload: See GuildResponse for payload structure. Additional fields:
FieldTypeDescription
channelsChannelResponse[]Channels in the guild
membersGuildMemberResponse[]Members in the guild (user field contains only id for deduplication)
presencesPresenceResponse[]Presences of online members
voice_statesVoiceStateResponse[]Voice states of members in voice channels
joined_atstringWhen the current user joined the guild

GUILD_UPDATE

Sent when a guild is updated. Scope: guild Dispatched by: Payload: See GuildResponse for payload structure.

GUILD_DELETE

Sent when a guild becomes unavailable or the user is removed from a guild. Scope: guild Dispatched by: Payload:
FieldTypeDescription
idstringGuild ID
unavailable?booleanTrue if the guild is unavailable due to an outage (not a leave/kick)

Guild members events

GUILD_MEMBER_ADD

Sent when a new user joins a guild. Scope: guild Dispatched by: Payload: See GuildMemberResponse for payload structure.

GUILD_MEMBER_UPDATE

Sent when a guild member is updated. Scope: guild Dispatched by: Payload: See GuildMemberResponse for payload structure.

GUILD_MEMBER_REMOVE

Sent when a user is removed from a guild (leave, kick, or ban). Scope: guild Dispatched by: Payload:
FieldTypeDescription
userobjectPartial user object containing only the user ID

Guild roles events

GUILD_ROLE_CREATE

Sent when a guild role is created. Scope: guild Dispatched by: Payload:
FieldTypeDescription
roleGuildRoleResponseThe created role

GUILD_ROLE_UPDATE

Sent when a guild role is updated. Scope: guild Dispatched by: Payload:
FieldTypeDescription
roleGuildRoleResponseThe updated role

GUILD_ROLE_UPDATE_BULK

Sent when multiple guild roles are updated (e.g. reordering or hoist position changes). Scope: guild Dispatched by: Payload:
FieldTypeDescription
rolesGuildRoleResponse[]The updated roles

GUILD_ROLE_DELETE

Sent when a guild role is deleted. Scope: guild Dispatched by: Payload:
FieldTypeDescription
role_idstringID of the deleted role

Guild content events

GUILD_EMOJIS_UPDATE

Sent when guild emojis were updated. Scope: guild Dispatched by: Payload:
FieldTypeDescription
emojisGuildEmojiResponse[]Array of all emojis in the guild

GUILD_STICKERS_UPDATE

Sent when guild stickers were updated. Scope: guild Dispatched by: Payload:
FieldTypeDescription
stickersGuildStickerResponse[]Array of all stickers in the guild

Guild moderation events

GUILD_BAN_ADD

Sent when a user is banned from a guild. Scope: guild Dispatched by: Payload:
FieldTypeDescription
guild_idstringGuild ID
userobjectPartial user object

GUILD_BAN_REMOVE

Sent when a user is unbanned from a guild. Scope: guild Dispatched by: Payload:
FieldTypeDescription
guild_idstringGuild ID
userobjectPartial user object

Channel events

CHANNEL_CREATE

Sent when a new channel is created or opened for a user. Scope: channel – Guild channels dispatch to guild scope; DMs dispatch to presence scope for each recipient Dispatched by: Payload: See ChannelResponse for payload structure.

CHANNEL_UPDATE

Sent when a channel is updated. Scope: channel – Guild channels dispatch to guild scope; DMs dispatch to presence scope Dispatched by: Payload: See ChannelResponse for payload structure.

CHANNEL_UPDATE_BULK

Sent when multiple channels are updated (e.g. reordering). Scope: guild Dispatched by: Payload:
FieldTypeDescription
channelsChannelResponse[]Array of updated channels (filtered by user permissions)

CHANNEL_DELETE

Sent when a channel is deleted or closed for a user. Scope: channel – Guild channels dispatch to guild scope; DMs dispatch to presence scope for each recipient Dispatched by: Payload: See ChannelResponse for payload structure.

CHANNEL_PINS_UPDATE

Sent when a message is pinned or unpinned. Scope: channel – Guild channels dispatch to guild scope; DMs dispatch to presence scope Dispatched by: Payload:
FieldTypeDescription
channel_idstringChannel ID
last_pin_timestamp?stringISO 8601 timestamp of the last pinned message, or null if no pins remain

CHANNEL_PINS_ACK

Sent when channel pins were acknowledged by the user. Scope: presence Dispatched by: Payload:
FieldTypeDescription
channel_idstringChannel ID
timestampstringTimestamp of acknowledgement

Group DM events

CHANNEL_RECIPIENT_ADD

Sent when a user is added to a group DM. Dispatched to existing members only (the new user receives CHANNEL_CREATE instead). Scope: presence Dispatched by: Payload:
FieldTypeDescription
channel_idstringChannel ID of the group DM
userUserPartialResponseThe user that was added

CHANNEL_RECIPIENT_REMOVE

Sent when a user is removed from a group DM. Scope: presence Dispatched by: Payload:
FieldTypeDescription
channel_idstringChannel ID of the group DM
userUserPartialResponseThe user that was removed

Message events

MESSAGE_CREATE

Sent when a message is created. Scope: channel – Guild channels dispatch to guild scope; DMs dispatch to presence scope; personal notes dispatch to presence scope Dispatched by: Payload: See MessageResponse for payload structure. Additional fields:
FieldTypeDescription
channel_typeintegerType of the channel the message was sent in

MESSAGE_UPDATE

Sent when a message is edited or updated (e.g., embeds added). Scope: channel – Guild channels dispatch to guild scope; DMs dispatch to presence scope Dispatched by: Payload: See MessageResponse for payload structure.

MESSAGE_DELETE

Sent when a message is deleted. Scope: channel – Guild channels dispatch to guild scope; DMs dispatch to presence scope Dispatched by: Payload:
FieldTypeDescription
idstringID of the deleted message
channel_idstringChannel ID
content?stringContent of the deleted message (for audit purposes)
author_id?stringID of the message author

MESSAGE_DELETE_BULK

Sent when multiple messages are deleted at once. Scope: channel – Guild channels dispatch to guild scope; DMs dispatch to presence scope Dispatched by: Payload:
FieldTypeDescription
idsstring[]IDs of the deleted messages
channel_idstringChannel ID

Message reactions events

MESSAGE_REACTION_ADD

Sent when a user adds a reaction to a message. Scope: channel – Guild channels dispatch to guild scope; DMs dispatch to presence scope. Dispatched by: Payload:
FieldTypeDescription
channel_idstringChannel ID
message_idstringMessage ID
emojiobjectThe emoji used
user_idstringID of the user who reacted
session_id?stringSession ID of the user who reacted
guild_id?stringGuild ID (only present for guild channels)
member?GuildMemberResponseGuild member object (only present for guild channels)

MESSAGE_REACTION_REMOVE

Sent when a user removes a reaction from a message. Scope: channel – Guild channels dispatch to guild scope; DMs dispatch to presence scope. Dispatched by: Payload:
FieldTypeDescription
channel_idstringChannel ID
message_idstringMessage ID
emojiobjectThe emoji that was removed
user_idstringID of the user whose reaction was removed
session_id?stringSession ID of the user whose reaction was removed
guild_id?stringGuild ID (only present for guild channels)
member?GuildMemberResponseGuild member object (only present for guild channels)

MESSAGE_REACTION_REMOVE_ALL

Sent when all reactions are removed from a message. Scope: channel – Guild channels dispatch to guild scope; DMs dispatch to presence scope. Dispatched by: Payload:
FieldTypeDescription
channel_idstringChannel ID
message_idstringMessage ID

MESSAGE_REACTION_REMOVE_EMOJI

Sent when all reactions for a specific emoji are removed from a message. Scope: channel – Guild channels dispatch to guild scope; DMs dispatch to presence scope. Dispatched by: Payload:
FieldTypeDescription
channel_idstringChannel ID
message_idstringMessage ID
emojiobjectThe emoji that was removed

Read state events

MESSAGE_ACK

Sent when a message is acknowledged (marked as read). Scope: presence – Always dispatched to the user’s presence scope only Dispatched by: Payload:
FieldTypeDescription
channel_idstringChannel ID
message_idstringID of the last read message
mention_countintegerRemaining unread mention count after this acknowledgement
manual?booleanWhether this was a manual acknowledgement

Typing events

TYPING_START

Sent when a user starts typing in a channel. Scope: channel – Guild channels dispatch to guild scope; DMs dispatch to presence scope. May be disabled per-guild via guild settings. Dispatched by: Payload:
FieldTypeDescription
channel_idstringChannel ID
user_idstringID of the user who started typing
timestampintegerUnix timestamp (milliseconds) when typing started
guild_id?stringGuild ID (only present for guild channels)
member?GuildMemberResponseGuild member object (only present for guild channels)

Webhooks events

WEBHOOKS_UPDATE

Sent when a guild channel webhook is created, updated, or deleted. Indicates that webhooks for the channel should be re-fetched. Scope: guild Dispatched by: Payload:
FieldTypeDescription
channel_idstringChannel ID whose webhooks were updated

Invites events

INVITE_CREATE

Sent when an invite to a channel or pack is created. The payload structure varies based on invite type. Scope: guild – Guild scope for guild invites (MANAGE_CHANNELS permission required), presence scope for group DM invites (sent to all recipients) Dispatched by: Payload: Empty payload.

INVITE_DELETE

Sent when an invite to a channel is deleted. Scope: guild – Guild scope for guild invites (MANAGE_CHANNELS permission required), presence scope for group DM invites (sent to all recipients) Dispatched by: Payload:
FieldTypeDescription
codestringThe invite code that was deleted
channel_id?stringChannel ID the invite was for (present for guild and group DM invites)
guild_id?stringGuild ID (present for guild invites only)

Relationships events

RELATIONSHIP_ADD

Sent when a user relationship is added (friend request sent/received, blocked). Scope: presence Dispatched by: Payload: See RelationshipResponse for payload structure.

RELATIONSHIP_UPDATE

Sent when a user relationship is updated (friend request accepted, nickname changed). Scope: presence Dispatched by: Payload: See RelationshipResponse for payload structure.

RELATIONSHIP_REMOVE

Sent when a user relationship is removed (unfriended, unblocked, request cancelled, or replaced by a block). Scope: presence Dispatched by: Payload:
FieldTypeDescription
idstringID of the user whose relationship was removed

Voice events

VOICE_STATE_UPDATE

Sent when a user’s voice state is updated (join/leave/move voice channel, mute/deafen). Scope: guild Dispatched by: Gateway (internal)
Triggered by client sending VOICE_STATE_UPDATE opcode (4)
Payload:
FieldTypeDescription
guild_id?stringGuild ID (only present for guild voice, not for DM calls)
channel_id??stringChannel ID the user is in (null if disconnected)
user_idstringUser ID
connection_idstringConnection ID for this voice state
session_id?stringSession ID for this voice state
member?GuildMemberResponseGuild member object (if guild voice)
deafbooleanWhether the user is server deafened
mutebooleanWhether the user is server muted
self_deafbooleanWhether the user is self deafened
self_mutebooleanWhether the user is self muted
self_videobooleanWhether the user’s camera is on
self_streambooleanWhether the user is streaming
is_mobilebooleanWhether the user is connected from a mobile device
viewer_stream_keys?string[]An array of stream keys the user is currently viewing
versionintegerVoice state version number, incremented on each update

VOICE_SERVER_UPDATE

Sent when the voice server for a guild or call is updated. Scope: presence Dispatched by: Gateway (internal)
Sent after joining a voice channel or when the voice server changes. For guild voice, includes guild_id. For DM calls, includes channel_id.
Payload:
FieldTypeDescription
tokenstringVoice connection token for authenticating with the voice server
endpointstringVoice server host (hostname:port)
connection_idstringConnection ID for this voice connection
guild_id?stringGuild ID (present for guild voice channels)
channel_id?stringChannel ID (present for DM calls)

Calls events

CALL_CREATE

Sent when a DM or group DM call is started. Scope: presence Dispatched by: Gateway (internal)
Dispatched to all recipients of the DM/group DM when a call is initiated
Payload:
FieldTypeDescription
channel_idstringChannel ID of the call
message_idstringID of the call message
region??stringVoice region for the call
ringingstring[]Array of user IDs currently being rung
voice_statesVoiceStateResponse[]Voice states of current participants in the call

CALL_UPDATE

Sent when a DM or group DM call is updated (participants join/leave, ringing state changes). Scope: presence Dispatched by: Gateway (internal)
Dispatched to all recipients when call state changes
Payload:
FieldTypeDescription
channel_idstringChannel ID of the call
message_idstringID of the call message
region??stringVoice region for the call
ringingstring[]Array of user IDs currently being rung
voice_statesVoiceStateResponse[]Voice states of current participants in the call

CALL_DELETE

Sent when a DM or group DM call ends. Scope: presence Dispatched by: Gateway (internal)
Dispatched to all recipients when the call terminates (all participants leave or timeout)
Payload:
FieldTypeDescription
channel_idstringChannel ID of the ended call