> ## Documentation Index
> Fetch the complete documentation index at: https://docs.discord.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Soundboard Resource

> Reference for Discord soundboard objects and management endpoints.

export const Route = ({method, children}) => {
  return <div className="MDXRoute">
      <span className={"verb" + " " + method.toLowerCase()}>{method}</span>
      <span className="url">{children}</span>
    </div>;
};

export const ManualAnchor = ({id}) => {
  return <div className="MDXManualAnchor" id={id}></div>;
};

Users can play soundboard sounds in voice channels, triggering a [Voice Channel Effect Send](/developers/events/gateway-events#voice-channel-effect-send) Gateway event for users connected to the voice channel.

There is a set of [default sounds](/developers/resources/soundboard#list-default-soundboard-sounds) available to all users. Soundboard sounds can also be [created in a guild](/developers/resources/soundboard#create-guild-soundboard-sound); users will be able to use the sounds in the guild, and Nitro subscribers can use them in all guilds.

Soundboard sounds in a set of guilds can be retrieved over the Gateway using [Request Soundboard Sounds](/developers/events/gateway-events#request-soundboard-sounds).

### Soundboard Sound Object

<ManualAnchor id="soundboard-sound-object-soundboard-sound-structure" />

###### Soundboard Sound Structure

| Field       | Type                                                  | Description                                                               |
| ----------- | ----------------------------------------------------- | ------------------------------------------------------------------------- |
| name        | string                                                | the name of this sound                                                    |
| sound\_id   | snowflake                                             | the id of this sound                                                      |
| volume      | double                                                | the volume of this sound, from 0 to 1                                     |
| emoji\_id   | ?snowflake                                            | the id of this sound's custom emoji                                       |
| emoji\_name | ?string                                               | the unicode character of this sound's standard emoji                      |
| guild\_id?  | snowflake                                             | the id of the guild this sound is in                                      |
| available   | boolean                                               | whether this sound can be used, may be false due to loss of Server Boosts |
| user?       | [user](/developers/resources/user#user-object) object | the user who created this sound                                           |

<ManualAnchor id="soundboard-sound-object-example-default-soundboard-sound" />

###### Example Default Soundboard Sound

```json theme={"system"}
{
  "name": "quack",
  "sound_id": "1",
  "volume": 1.0,
  "emoji_id": null,
  "emoji_name": "🦆",
  "available": true
}
```

<ManualAnchor id="soundboard-sound-object-example-guild-soundboard-sound" />

###### Example Guild Soundboard Sound

```json theme={"system"}
{
  "name": "Yay",
  "sound_id": "1106714396018884649",
  "volume": 1,
  "emoji_id": "989193655938064464",
  "emoji_name": null,
  "guild_id": "613425648685547541",
  "available": true
}
```

### Sound Files

A soundboard sound can be retrieved in MP3 or Ogg format at the URL:

```
https://cdn.discordapp.com/soundboard-sounds/{sound_id}
```

## Send Soundboard Sound

<Route method="POST">/channels/[\{channel.id}](/developers/resources/channel#channel-object)/send-soundboard-sound</Route>

Send a soundboard sound to a voice channel the user is connected to. Fires a [Voice Channel Effect Send](/developers/events/gateway-events#voice-channel-effect-send) Gateway event.

Requires the `SPEAK` and `USE_SOUNDBOARD` permissions, and also the `USE_EXTERNAL_SOUNDS` permission if the sound is from a different server. Additionally, requires the user to be connected to the voice channel, having a [voice state](/developers/resources/voice#voice-state-object) without `deaf`, `self_deaf`, `mute`, or `suppress` enabled.

<ManualAnchor id="send-soundboard-sound-json-params" />

###### JSON Params

| Field              | Type      | Description                                                                                      |
| ------------------ | --------- | ------------------------------------------------------------------------------------------------ |
| sound\_id          | snowflake | the id of the soundboard sound to play                                                           |
| source\_guild\_id? | snowflake | the id of the guild the soundboard sound is from, required to play sounds from different servers |

## List Default Soundboard Sounds

<Route method="GET">/soundboard-default-sounds</Route>

Returns an array of [soundboard sound](/developers/resources/soundboard#soundboard-sound-object) objects that can be used by all users.

## List Guild Soundboard Sounds

<Route method="GET">/guilds/[\{guild.id}](/developers/resources/guild#guild-object)/soundboard-sounds</Route>

Returns a list of the guild's soundboard sounds. Includes `user` fields if the bot has the `CREATE_GUILD_EXPRESSIONS` or `MANAGE_GUILD_EXPRESSIONS` permission.

<ManualAnchor id="list-guild-soundboard-sounds-response-structure" />

###### Response Structure

| Field | Type                                                                                          |
| ----- | --------------------------------------------------------------------------------------------- |
| items | array of [soundboard sound](/developers/resources/soundboard#soundboard-sound-object) objects |

## Get Guild Soundboard Sound

<Route method="GET">/guilds/[\{guild.id}](/developers/resources/guild#guild-object)/soundboard-sounds/[\{sound.id}](/developers/resources/soundboard#soundboard-sound-object)</Route>

Returns a [soundboard sound](/developers/resources/soundboard#soundboard-sound-object) object for the given sound id. Includes the `user` field if the bot has the `CREATE_GUILD_EXPRESSIONS` or `MANAGE_GUILD_EXPRESSIONS` permission.

## Create Guild Soundboard Sound

<Route method="POST">/guilds/[\{guild.id}](/developers/resources/guild#guild-object)/soundboard-sounds</Route>

Create a new soundboard sound for the guild. Requires the `CREATE_GUILD_EXPRESSIONS` permission. Returns the new [soundboard sound](/developers/resources/soundboard#soundboard-sound-object) object on success. Fires a [Guild Soundboard Sound Create](/developers/events/gateway-events#guild-soundboard-sound-create) Gateway event.

<Info>
  Soundboard sounds have a max file size of 512kb and a max duration of 5.2 seconds.
</Info>

<Info>
  This endpoint supports the `X-Audit-Log-Reason` header.
</Info>

###### JSON <ManualAnchor id="create-guild-soundboard-sound-json-params" />

###### JSON Params

| Field        | Type       | Description                                                                                          |
| ------------ | ---------- | ---------------------------------------------------------------------------------------------------- |
| name         | string     | name of the soundboard sound (2-32 characters)                                                       |
| sound        | data uri   | the mp3 or ogg sound data, base64 encoded, similar to [image data](/developers/reference#image-data) |
| volume?      | ?double    | the volume of the soundboard sound, from 0 to 1, defaults to 1                                       |
| emoji\_id?   | ?snowflake | the id of the custom emoji for the soundboard sound                                                  |
| emoji\_name? | ?string    | the unicode character of a standard emoji for the soundboard sound                                   |

## Modify Guild Soundboard Sound

<Route method="PATCH">/guilds/[\{guild.id}](/developers/resources/guild#guild-object)/soundboard-sounds/[\{sound.id}](/developers/resources/soundboard#soundboard-sound-object)</Route>

Modify the given soundboard sound. For sounds created by the current user, requires either the `CREATE_GUILD_EXPRESSIONS` or `MANAGE_GUILD_EXPRESSIONS` permission. For other sounds, requires the `MANAGE_GUILD_EXPRESSIONS` permission. Returns the updated [soundboard sound](/developers/resources/soundboard#soundboard-sound-object) object on success. Fires a [Guild Soundboard Sound Update](/developers/events/gateway-events#guild-soundboard-sound-update) Gateway event.

<Note>
  All parameters to this endpoint are optional.
</Note>

<Info>
  This endpoint supports the `X-Audit-Log-Reason` header.
</Info>

<ManualAnchor id="modify-guild-soundboard-sound-json-params" />

###### JSON Params

| Field       | Type       | Description                                                        |
| ----------- | ---------- | ------------------------------------------------------------------ |
| name        | string     | name of the soundboard sound (2-32 characters)                     |
| volume      | ?double    | the volume of the soundboard sound, from 0 to 1                    |
| emoji\_id   | ?snowflake | the id of the custom emoji for the soundboard sound                |
| emoji\_name | ?string    | the unicode character of a standard emoji for the soundboard sound |

## Delete Guild Soundboard Sound

<Route method="DELETE">/guilds/[\{guild.id}](/developers/resources/guild#guild-object)/soundboard-sounds/[\{sound.id}](/developers/resources/soundboard#soundboard-sound-object)</Route>

Delete the given soundboard sound. For sounds created by the current user, requires either the `CREATE_GUILD_EXPRESSIONS` or `MANAGE_GUILD_EXPRESSIONS` permission. For other sounds, requires the `MANAGE_GUILD_EXPRESSIONS` permission. Returns `204 No Content` on success. Fires a [Guild Soundboard Sound Delete](/developers/events/gateway-events#guild-soundboard-sound-delete) Gateway event.

<Info>
  This endpoint supports the `X-Audit-Log-Reason` header.
</Info>
