Skip to main content

Voice State Object

Used to represent a user’s voice connection status.
Voice State Structure
Example Voice State

Voice Region Object

Voice Region Structure

List Voice Regions

GET/voice/regions
Returns an array of voice region objects that can be used when setting a voice or stage channel’s rtc_region.

Get Current User Voice State

GET/guilds/{guild.id}/voice-states/@me
Returns the current user’s voice state in the guild.

Get User Voice State

GET/guilds/{guild.id}/voice-states/{user.id}
Returns the specified user’s voice state in the guild.

Modify Current User Voice State

PATCH/guilds/{guild.id}/voice-states/@me
Updates the current user’s voice state. Returns 204 No Content on success. Fires a Voice State Update Gateway event.
JSON Params
Caveats
There are currently several caveats for this endpoint:
  • channel_id must currently point to a stage channel.
  • current user must already have joined channel_id.
  • You must have the MUTE_MEMBERS permission to unsuppress yourself. You can always suppress yourself.
  • You must have the REQUEST_TO_SPEAK permission to request to speak. You can always clear your own request to speak.
  • You are able to set request_to_speak_timestamp to any present or future time.

Modify User Voice State

PATCH/guilds/{guild.id}/voice-states/{user.id}
Updates another user’s voice state. Returns 204 No Content on success. Fires a Voice State Update Gateway event.
JSON Params
Caveats
There are currently several caveats for this endpoint:
  • channel_id must currently point to a stage channel.
  • User must already have joined channel_id.
  • You must have the MUTE_MEMBERS permission. (Since suppression is the only thing that is available currently.)
  • When unsuppressed, non-bot users will have their request_to_speak_timestamp set to the current time. Bot users will not.
  • When suppressed, the user will have their request_to_speak_timestamp removed.