Skip to main content

Lobby Object

Represents a lobby within Discord. See Managing Lobbies for more information.
Lobby Structure

Lobby Member Object

Represents a member of a lobby, including optional metadata and flags.
Lobby Member Structure
Lobby Member Flags
Example Lobby Object

Create Lobby

Creates a new lobby, adding any of the specified members to it, if provided. Returns a lobby object.
Discord Social SDK clients will not be able to join or leave a lobby created using this API, such as Client::CreateOrJoinLobby. See Managing Lobbies for more information.

JSON Params

Lobby Member JSON Params

Create or Join Lobby

Creates a new lobby for the application identified by a secret, or joins the calling user to the existing lobby with that secret if one already exists. Updates lobby metadata and the calling member’s metadata on join. Uses Bearer token for authorization with the sdk.social_layer scope. Returns a lobby object.

JSON Params

Get Lobby

Returns a lobby object for the specified lobby id, if it exists.

Modify Lobby

Modifies the specified lobby with new values, if provided. Returns the updated lobby object.

JSON Params

Delete Lobby

Deletes the specified lobby if it exists. It is safe to call even if the lobby is already deleted as well. Returns nothing.

Add a Member to a Lobby

Adds the provided user to the specified lobby. If called when the user is already a member of the lobby will update fields such as metadata on that user instead. Returns the lobby member object.

JSON Params

Bulk Update Lobby Members

Adds, updates, or removes up to 25 members from the specified lobby in a single request. Members with remove_member: false (the default) are upserted — added if not present, or updated with the provided metadata and flags if already a member. Members with remove_member: true are removed. Returns an array of lobby member objects for the upserted members. Removed members are not included in the response.
Users unknown to Discord will return a 404 UNKNOWN_USER error. Users that fail permission checks or who have already reached the maximum number of lobbies per application (and are not already a member of this lobby) are silently dropped from the upsert set.

JSON Params

An array of member objects. Minimum 1, maximum 25.

Remove a Member from a Lobby

Removes the provided user from the specified lobby. It is safe to call this even if the user is no longer a member of the lobby, but will fail if the lobby does not exist. Returns nothing.

Leave Lobby

Removes the current user from the specified lobby. It is safe to call this even if the user is no longer a member of the lobby, but will fail if the lobby does not exist. Uses Bearer token for authorization. Returns nothing. Links an existing text channel to a lobby. See Linked Channels for more information. Uses Bearer token for authorization and user must be a lobby member with CanLinkLobby lobby member flag. Returns a lobby object with a linked channel.

JSON Params

Unlinks any currently linked channels from the specified lobby. Send a request to this endpoint with an empty body to unlink any currently linked channels from the specified lobby. Uses Bearer token for authorization and user must be a lobby member with CanLinkLobby lobby member flag. Returns a lobby object without a linked channel.

Send Lobby Message

Sends a message to the specified lobby. The calling user must be a member of the lobby. Uses Bearer token for authorization with the sdk.social_layer scope. Returns the created lobby message object.
If the lobby has a linked channel, the message is also forwarded to that channel. If forwarding fails (for example, due to AutoMod), the lobby message is still delivered to other lobby members.

JSON Params

Lobby Message Object

Get Lobby Messages

Returns the most recent messages in the specified lobby. The calling user must be a member of the lobby. Uses Bearer token for authorization with the sdk.social_layer scope. Returns an array of lobby message objects (see Send Lobby Message for the object shape).

Query Params

Update Lobby Message Moderation Metadata

Sets the moderation metadata for a lobby message. The metadata is app-scoped and delivered to active game clients via the Social SDK as a realtime message update. See Integrate Moderation for the full moderation flow. Uses Bot token for authorization. Returns HTTP 204: No Content on success.

JSON Params

Create Lobby Channel Invite for Self

Creates a single-use guild invite to the lobby’s linked channel, targeted at the calling user. The lobby must have a linked channel and the caller must be a member of the lobby. The invite expires after one hour. Uses Bearer token for authorization with the sdk.social_layer scope. Returns a lobby invite object.

Create Lobby Channel Invite for User

Creates a single-use guild invite to the lobby’s linked channel on behalf of an application, targeted at the specified user. The lobby must have a linked channel. The invite expires after one hour. Uses Bot token for authorization. Returns a lobby invite object.
Lobby Invite Object

Development Rate Limits

Applications without increased rate limits for production releases are subject to the following application-wide development limits:
These are per-application rate limits, not per-user.
These limitations are designed to provide sufficient capacity for development, testing, and small-scale demos while ensuring system stability.