Stage Instance Resource

A stage instance holds information about a live stage. For more information on stages, see the channel object.

Definitions

Below are some definitions related to stages.

  • Liveness: A stage channel is considered live when there is an associated stage instance. Conversely, a stage channel is not live when there is no associated stage instance.
  • Speakers: A participant of a stage channel is a speaker when their voice state is not suppressed, and has no request_to_speak_timestamp.
  • Moderators: A member of the guild is a moderator of a stage channel if they have all of the following permissions:
    • MANAGE_CHANNELS
    • MUTE_MEMBERS
    • MOVE_MEMBERS
  • Topic: This is the blurb that gets shown below the channel's name, among other places.
  • Public: A stage instance is public when it has a privacy_level of PUBLIC. While a guild has a public stage instance:
    • Lurkers may join any stage channel with a public stage instance.
    • Users in the stage can have the stage show in their activities.
    • Invites to the stage channel will have the stage_instance field.

Auto Closing

When a stage channel has no speakers for a certain period of time (on the order of minutes) the stage instance will be automatically deleted.

Stage Instance Object

Stage Instance Structure
FieldTypeDescription
idsnowflakeThe ID of the stage instance
guild_idsnowflakeThe guild ID of the associated stage channel
channel_idsnowflakeThe ID of the associated stage channel
topicstringThe topic of the stage instance (1-120 characters)
privacy_levelintegerThe privacy level of the stage instance
invite_code?stringThe invite code that can be used to join the stage channel, if the stage instance is public
discoverable_disabled (deprecated)booleanWhether or not stage Discovery is disabled
guild_scheduled_event_id?snowflakeThe ID of the scheduled event for this stage instance
Example Stage Instance
{
"id": "840647391636226060",
"guild_id": "197038439483310086",
"channel_id": "733488538393510049",
"topic": "Testing, Testing, 123",
"privacy_level": 1,
"discoverable_disabled": false,
"guild_scheduled_event_id": "947656305244532806",
"invite_code": "xdMaxHJqp8"
}

Create Stage Instance

POST/stage-instances

Creates a new stage instance associated to a stage channel. Returns a stage instance object. Fires a Stage Instance Create and may fire an Invite Create Gateway event.

Requires the user to be a moderator of the stage channel.

JSON Params
FieldTypeDescription
channel_idsnowflakeThe ID of the stage channel
topicstringThe topic of the stage instance (1-120 characters)
privacy_level?integerThe privacy level of the stage instance (default GUILD_ONLY)
guild_scheduled_event_id?snowflakeThe ID of the scheduled event for this stage instance
send_start_notification? 1booleanNotify @everyone that a stage instance has started (default false)

1 The stage moderator must have the MENTION_EVERYONE permission for this notification to be sent.

Endpoints

Get Stage Instance

GET/stage-instances/{channel.id}

Gets the stage instance associated with the stage channel, if it exists. Returns a stage instance object.

Modify Stage Instance

PATCH/stage-instances/{channel.id}

Updates fields of an existing stage instance. Returns the updated stage instance object on success. Fires a Stage Instance Update Gateway event.

Requires the user to be a moderator of the stage channel.

JSON Params
FieldTypeDescription
topic?stringThe topic of the stage instance (1-120 characters)
privacy_level?integerThe privacy level of the stage instance

Delete Stage Instance

DELETE/stage-instances/{channel.id}

Deletes the stage instance and associated invite. Returns a 204 empty response on success. Fires a Stage Instance Delete and may fire an Invite Delete Gateway event.

Requires the user to be a moderator of the stage channel.