Emoji Resource

Emoji are small images that can be used to convey an idea or emotion. Discord allows users to upload custom emoji to guilds and use them like normal emoji in-chat and when reacting to messages.

Emoji Object

Emoji Structure
FieldTypeDescription
id?snowflakeThe ID of the emoji
name 2stringThe name of the emoji (2-32 characters)
roles?array[snowflake]The roles allowed to use the emoji
user? 1partial user objectThe user that uploaded the emoji
require_colons?booleanWhether this emoji must be wrapped in colons
managed?booleanWhether this emoji is managed
animated?booleanWhether this emoji is animated
available?booleanWhether this emoji can be used; may be false due to loss of premium subscriptions (boosts)

1 Only included for emoji when fetched through the Get Guild Emojis or Get Guild Emoji endpoints by a user with the MANAGE_EXPRESSIONS permission. Always included when fetched from Get Application Emojis or Get Application Emoji.

2 This may be null in the case of a custom emoji that has been deleted.

Premium Emoji

Roles with the integration_id tag being the guild's guild_subscription integration are considered subscription roles.
An emoji cannot have both subscription roles and non-subscription roles.
Emoji with subscription roles are considered premium emoji, and count toward a separate limit of 25.
Emoji cannot be converted between normal and premium after creation.

Appication Emoji

An application can own up to 2000 emoji that can only be used by the app. The USE_EXTERNAL_EMOJIS permission is not required to use these emoji. These emoji do not support role-locking and always require colons. They are never managed or unavailable.

Emoji Example
{
"id": "41771983429993937",
"name": "LUL",
"roles": ["41771983429993000", "41771983429993111"],
"user": {
"id": "306810730055729152",
"username": "owoer",
"avatar": "b3028be18dc56db5722bd750cf69df4e",
"discriminator": "0",
"public_flags": 4194816,
"banner": null,
"accent_color": null,
"global_name": "Eon",
"avatar_decoration_data": null,
"primary_guild": null
},
"require_colons": true,
"managed": false,
"animated": false
}
Gateway Reaction Standard Emoji Example
{
"id": null,
"name": "🔥"
}
Gateway Reaction Custom Emoji Examples
{
"id": "41771983429993937",
"name": "LUL",
"animated": true
}
{
"id": "41771983429993937",
"name": null
}

Endpoints

Get Emoji Guild

GET/emojis/{emoji.id}/guild

Returns a discoverable guild object for the guild that owns the given emoji. This endpoint requires the guild to be discoverable, not be auto-removed, and have emoji/sticker discoverability enabled.

Get Emoji Source

GET/emojis/{emoji.id}/source

Returns an object containing information on the guild or application that owns the given emoji. If the source is a guild, this endpoint requires the guild to be discoverable, not be auto-removed, and have emoji/sticker discoverability enabled.

Response Body
FieldTypeDescription
typestringThe type of emoji source
guild?emoji guild objectThe guild that owns the given emoji
application?emoji application objectThe application that owns the given emoji
Emoji Source Type
ValueDescription
GUILDThe emoji is uploaded to a guild
APPLICATIONThe emoji is uploaded to an application
Emoji Guild Structure
FieldTypeDescription
idsnowflakeThe ID of the guild
namestringThe name of the guild (2-100 characters)
icon?stringThe guild's icon hash
description?stringThe description for the guild
featuresarray[string]Enabled guild features
emojisarray[emoji object]Custom guild emojis
premium_tierintegerThe guild's premium tier (boost level)
premium_subscription_countintegerThe number of premium subscriptions (boosts) the guild currently has
approximate_member_countintegerApproximate number of total members in the guild
approximate_presence_countintegerApproximate number of non-offline members in the guild
Emoji Application Structure
FieldTypeDescription
idsnowflakeThe ID of the application
namestringThe name of the application
Example Response
{
"guild": {
"id": "322850917248663552",
"name": "Official Fortnite",
"icon": "39e9f70c87a3d20dfe02e5f013b417f4",
"emojis": [],
"approximate_member_count": 1068003,
"approximate_presence_count": 163598,
"description": "The Official Fortnite Discord Server! Join to follow news & updates, LFG, and chat about Fortnite Battle Royale.",
"features": [
"ANIMATED_BANNER",
"ANIMATED_ICON",
"AUTO_MODERATION",
"BANNER",
"CHANNEL_ICON_EMOJIS_GENERATED",
"COMMUNITY",
"COMMUNITY_EXP_LARGE_UNGATED",
"DISCOVERABLE",
"FEATURABLE",
"GUILD_MEMBER_VERIFICATION_EXPERIMENT",
"GUILD_WEB_PAGE_VANITY_URL",
"INVITE_SPLASH",
"MEMBER_PROFILES",
"MEMBER_VERIFICATION_GATE_ENABLED",
"NEWS",
"NEW_THREAD_PERMISSIONS",
"PREVIEW_ENABLED",
"PRIVATE_THREADS",
"ROLE_ICONS",
"SEVEN_DAY_THREAD_ARCHIVE",
"SOUNDBOARD",
"THREADS_ENABLED",
"THREE_DAY_THREAD_ARCHIVE",
"VANITY_URL",
"VERIFIED",
"VIP_REGIONS"
],
"premium_subscription_count": 378,
"premium_tier": 3
},
"application": null,
"type": "GUILD"
}

Get Guild Emojis

GET/guilds/{guild.id}/emojis

Returns a list of emoji objects for the given guild. Includes the user field if the user has the MANAGE_EXPRESSIONS permission.

Get Guild Emoji

GET/guilds/{guild.id}/emojis/{emoji.id}

Returns an emoji object for the given guild and emoji IDs. Includes the user field if the user has the MANAGE_EXPRESSIONS permission.

Get Guild Top Emojis

GET/guilds/{guild.id}/top-emojis

Returns the most-used emojis for the given guild.

Response Body
FieldTypeDescription
itemsarray[top emoji object]The most-used emojis for the guild
Top Emoji Structure
FieldTypeDescription
emoji_idsnowflakeThe ID of the emoji
emoji_rankintegerThe overall rank of the emoji
Example Response
{
"items": [
{
"emoji_id": "1145727546747535412",
"emoji_rank": 1
},
{
"emoji_id": "1174435954090594505",
"emoji_rank": 2
},
{
"emoji_id": "1029462631163117629",
"emoji_rank": 3
},
{
"emoji_id": "1030570693903011921",
"emoji_rank": 4
},
{
"emoji_id": "1077714345825407067",
"emoji_rank": 5
}
]
}

Create Guild Emoji

POST/guilds/{guild.id}/emojis

Creates a new emoji for the guild. Requires the MANAGE_EXPRESSIONS permission. Returns the new emoji object on success. Fires a Guild Emojis Update Gateway event.

JSON Params
FieldTypeDescription
namestringThe name of the emoji (2-32 characters)
imageimage data128x128 emoji image
roles?array[snowflake]The roles allowed to use this emoji

Modify Guild Emoji

PATCH/guilds/{guild.id}/emojis/{emoji.id}

Modifies the given emoji. Requires the MANAGE_EXPRESSIONS permission. Returns the updated emoji object on success. Fires a Guild Emojis Update Gateway event.

JSON Params
FieldTypeDescription
name?stringThe name of the emoji (2-32 characters)
roles??array[snowflake]The roles allowed to use this emoji

Delete Guild Emoji

DELETE/guilds/{guild.id}/emojis/{emoji.id}

Deletes the given emoji. Requires the MANAGE_EXPRESSIONS permission. Returns a 204 empty response on success. Fires a Guild Emojis Update Gateway event.

Get Application Emojis

GET/applications/{application.id}/emojis

Returns an object containing a list of emoji objects for the given application under the items key. Includes the user field.

Response Body
FieldTypeDescription
itemsarray[emoji object]The emojis uploaded to the application

Get Application Emoji

GET/applications/{application.id}/emojis/{emoji.id}

Returns an emoji object for the given application and emoji IDs. Includes the user field.

Create Application Emoji

POST/applications/{application.id}/emojis

Creates a new emoji for the application. Returns the new emoji object on success.

JSON Params
FieldTypeDescription
name 1stringThe name of the emoji (2-32 characters)
imageimage data128x128 emoji image

1 The names of application emoji must be unique.

Modify Application Emoji

PATCH/applications/{application.id}/emojis/{emoji.id}

Modifies the given emoji. Returns the updated emoji object on success.

JSON Params
FieldTypeDescription
name? 1stringThe name of the emoji (2-32 characters)

Delete Application Emoji

DELETE/applications/{application.id}/emojis/{emoji.id}

Delete the given emoji. Returns a 204 empty response on success.