Aplicaciones

Applications are Discord entities that represent games, services, and other integrations that can be added to a guild. Applications can be used for a variety of purposes, including OAuth2 authentication, rich presence, bots, and much more.

Application Structure

Field
Type
Description

id

snowflake

The ID of the application

name

string

The name of the application

description

string

The description of the application

icon

?string

The application's icon hash

cover_image?

string

The application's default rich presence invite cover image hash

splash?

string

The application's splash hash

type

?integer

flags

integer

The application's flags (including private)

primary_sku_id? 1

snowflake

The ID of the application's primary SKU (game, application subscription, etc.)

verify_key

string

The hex encoded client public key for verification in interactions and the GameSDK's GetTicket

guild_id?

snowflake

The ID of the guild linked to the application

eula_id?

snowflake

The ID of the EULA required to play the application's game

slug? 1

string

The URL slug that links to the primary store page of the application

aliases?

array[string]

Other names the application's game is associated with

executables?

The unique executables of the application's game

third_party_skus?

array[application SKU object]

The third party SKUs of the application's game

hook

boolean

Whether the Discord client is allowed to hook into the application's game directly

overlay?

boolean

Whether the application's game supports the Discord overlay (default false)

overlay_methods?

integer

The methods of overlaying that the application's game supports

overlay_warn?

boolean

Whether the Discord overlay is known to be problematic with this application's game (default false)

overlay_compatibility_hook?

boolean

Whether to use the compatibility hook for the overlay (default false)

bot?

partial user object

The bot attached to this application

owner

partial user object

The owner of the application

team? 2

?team object

The team that owns the application

developers?

array[company object]

The companies that developed the application

publishers?

array[company object]

The companies that published the application

rpc_origins?

array[string]

The whitelisted RPC origin URLs for the application, if RPC is enabled

redirect_uris

array[string]

The whitelisted URLs for redirecting to during OAuth2 authorization (max 10)

deeplink_uri?

string

The URL used for deep linking during OAuth2 authorization on mobile devices

integration_public

boolean

Whether only the application owner can add the integration

integration_require_code_grant

boolean

Whether the integration will only be added upon completion of a full OAuth2 token exchange

bot_public? 3 (deprecated)

boolean

Whether only the application owner can add the bot

bot_require_code_grant? 3 (deprecated)

boolean

Whether the application's bot will only be added upon completion of a full OAuth2 token exchange

bot_disabled?

boolean

Whether the application's bot is disabled by Discord (default false)

bot_quarantined?

boolean

Whether the application's bot is quarantined by Discord; quarantined bots cannot join more guilds or start new direct messages (default false)

approximate_guild_count?

integer

Approximate count of guilds the application's bot is in

approximate_user_install_count

integer

Approximate count of users that have authorized the application with the applications.commands scope

approximate_user_authorization_count

integer

Approximate count of users that have OAuth2 authorizations for the application

internal_guild_restriction

integer

terms_of_service_url?

string

The URL to the application's terms of service

privacy_policy_url?

string

The URL to the application's privacy policy

role_connections_verification_url

?string

The role connection verification entry point of the integration; when configured, this will render the application as a verification method in guild role verification configuration

interactions_endpoint_url

string

The URL of the application's interactions endpoint

interactions_event_types 4

array[string]

The enabled event webhook types to send to the interaction endpoint

event_webhooks_status?

integer

event_webhooks_url?

string

The URL of the application's event webhooks endpoint

event_webhooks_types?

array[string]

The enabled event webhook types to send to the event webhooks endpoint

explicit_content_filter

integer

Whether uploaded media content used in application commands is scanned and deleted for explicit content

tags?

array[string]

Tags describing the content and functionality of the application (max 20 characters, max 5)

install_params?

The default in-app authorization link for the integration

custom_install_url?

string

The default custom authorization link for the integration

integration_types_config?

The configuration for each integration type supported by the application

is_verified

boolean

Whether the application is verified

verification_state

integer

The current verification state of the application

store_application_state

integer

The current store approval state of the commerce application

rpc_application_state

integer

The current RPC approval state of the application

creator_monetization_state 5

integer

The current guild creator monetization state of the application

is_discoverable

boolean

Whether the application is discoverable in the application directory

discoverability_state

integer

The current application directory discoverability state of the application

discovery_eligibility_flags

integer

The current application directory eligibility flags for the application

is_monetized

boolean

Whether the application has monetization enabled

storefront_available

boolean

Whether the application has public subscriptions or products available for purchase

monetization_state

integer

The current application monetization state of the application

monetization_eligibility_flags? 2

integer

The current application monetization eligibility flags for the application

max_participants? 6

integer

The maximum possible participants in the application's embedded activity (-1 for no limit)

embedded_activity_config? 6

The configuration for the application's embedded activity

1 The and fields can be combined to form a URL to the application's primary store page like so: .

2 Only present when fetched from the Get Current Application, Get Application, or Transfer Application endpoints.

3 In some cases, these fields may still be provided instead of and . These fields will not be present if the application does not have a bot.

4 The sending of Gateway events over the interactions endpoint requires interactions version 2.

5 Only applicable for applications of type.

6 Only applicable for applications with the flag.

Partial Application Structure

Field
Type
Description

id

snowflake

The ID of the application

name

string

The name of the application

description

string

The description of the application

icon

?string

The application's icon hash

cover_image?

string

The application's default rich presence invite cover image hash

splash?

string

The application's splash hash

type

?integer

flags

integer

The application's flags (including private)

primary_sku_id? 1

snowflake

The ID of the application's primary SKU (game, application subscription, etc.)

verify_key

string

The hex encoded client public key for verification in interactions and the GameSDK's GetTicket

guild_id?

snowflake

The ID of the guild linked to the application

guild? 2

partial guild object

The guild linked to the application

eula_id?

snowflake

The ID of the EULA required to play the application's game {/ todo: link this here /}

slug? 1

string

The URL slug that links to the primary store page of the application

aliases?

array[string]

Other names the application's game is associated with

executables?

The unique executables of the application's game

third_party_skus?

array[application SKU object]

The third party SKUs of the application's game

hook

boolean

Whether the Discord client is allowed to hook into the application's game directly

overlay?

boolean

Whether the application's game supports the Discord overlay (default false)

overlay_methods?

integer

The methods of overlaying that the application's game supports

overlay_warn?

boolean

Whether the Discord overlay is known to be problematic with this application's game (default false)

overlay_compatibility_hook?

boolean

Whether to use the compatibility hook for the overlay (default false)

bot?

partial user object

The bot attached to this application

team? 3

?team object

The team that owns the application

developers?

array[company object]

The companies that developed the application

publishers?

array[company object]

The companies that published the application

rpc_origins?

array[string]

The whitelisted RPC origin URLs for the application, if RPC is enabled

deeplink_uri?

string

The URL used for deep linking during OAuth2 authorization on mobile devices

integration_public?

boolean

Whether only the application owner can add the integration

integration_require_code_grant?

boolean

Whether the integration will only be added upon completion of a full OAuth2 token exchange

bot_public? 4 (deprecated)

boolean

Whether only the application owner can add the bot

bot_require_code_grant? 4 (deprecated)

boolean

Whether the application's bot will only be added upon completion of a full OAuth2 token exchange

terms_of_service_url?

?string

The URL to the application's terms of service

privacy_policy_url?

?string

The URL to the application's privacy policy

tags?

array[string]

Tags describing the content and functionality of the application (max 20 characters, max 5)

install_params?

The default in-app authorization link for the integration

custom_install_url?

string

The default custom authorization link for the integration

integration_types_config?

The configuration for each integration type supported by the application

is_verified

boolean

Whether the application is verified

is_discoverable

boolean

Whether the application is discoverable in the application directory

is_monetized

boolean

Whether the application has monetization enabled

storefront_available

boolean

Whether the application has public subscriptions or products available for purchase

max_participants? 5

integer

The maximum possible participants in the application's embedded activity (-1 for no limit)

embedded_activity_config? 5

The configuration for the application's embedded activity

1 The and fields can be combined to form a URL to the application's primary store page like so: .

2 Only present when fetched from the Get Partial Application endpoint with set to . The guild must be discoverable.

3 Only present when fetched from the Get Guild Applications endpoint. You must own the application or be a member of the owning team to receive this information.

4 In some cases, these fields may still be provided instead of and . These fields will not be present if the application does not have a bot.

5 Only applicable for applications with the flag.

Application Type

Value
Name
Description

1

GAME

A game integrating with Discord

2

MUSIC

A music service integrating with Discord

3 1

TICKETED_EVENTS

A limited application used for ticketed event SKUs

4 1

CREATOR_MONETIZATION

A limited application used for creator monetization (e.g. role subscription) SKUs

1 Applications of these types cannot be used through most of the regular applications APIs outlined here.

Application Flags

Value
Name
Description
Public

1 << 1

EMBEDDED_RELEASED

Embedded application is released to the public (see also release phases)

Yes

1 << 2

MANAGED_EMOJI

Application can create managed emoji

No

1 << 3

EMBEDDED_IAP

Embedded application can use in-app purchases

Yes

1 << 4

GROUP_DM_CREATE

Application can create group DMs without limit

No

1 << 5

RPC_PRIVATE_BETA

Application can access the client RPC server

No

1 << 6

AUTO_MODERATION_RULE_CREATE_BADGE

Application has created 100+ AutoMod rules

Yes

1 << 7

GAME_PROFILE_DISABLED

Application has its game profile page disabled

Yes

1 << 8

PUBLIC_OAUTH2_CLIENT

Application's OAuth2 credentials are considered public and a client secret is not required

Yes

1 << 9

CONTEXTLESS_ACTIVITY

Embedded application's activity can be launched without a context

Yes

1 << 10

SOCIAL_LAYER_INTEGRATION_LIMITED

Application has limited access to the social layer SDK

Yes

1 << 11

CLOUD_GAMING_DEMO

Application is trialing cloud gaming features

Yes

1 << 12

GATEWAY_PRESENCE

Intent required for bots in 100 or more guilds to receive Presence Update Gateway events

Yes

1 << 13

GATEWAY_PRESENCE_LIMITED

Intent required for bots in under 100 guilds to receive Presence Update Gateway events

Yes

1 << 14

GATEWAY_GUILD_MEMBERS

Intent required for bots in 100 or more guilds to receive guild member-related events like Guild Member Add

Yes

1 << 15

GATEWAY_GUILD_MEMBERS_LIMITED

Intent required for bots in under 100 guilds to receive guild member-related events like Guild Member Add

Yes

1 << 16

VERIFICATION_PENDING_GUILD_LIMIT

Indicates unusual growth of an application that prevents verification

Yes

1 << 17

EMBEDDED

Application can be embedded within the Discord client

Yes

1 << 18

GATEWAY_MESSAGE_CONTENT

Intent required for bots in 100 or more guilds to receive message content

Yes

1 << 19

GATEWAY_MESSAGE_CONTENT_LIMITED

Intent required for bots in under 100 guilds to receive message content

Yes

1 << 20

EMBEDDED_FIRST_PARTY

Embedded application is created by Discord

Yes

1 << 21

APPLICATION_COMMAND_MIGRATED

Unknown

Yes

1 << 23

APPLICATION_COMMAND_BADGE

Application has registered global application commands

Yes

1 << 24

ACTIVE

Application has had at least one global application command used in the last 30 days

No

1 << 25

ACTIVE_GRACE_PERIOD 1

Application has not had any global application commands used in the last 30 days and has lost the ACTIVE flag

No

1 << 26

IFRAME_MODAL

Application can use IFrames within modals

Yes

1 << 27

SOCIAL_LAYER_INTEGRATION

Application can use the social layer SDK

Yes

1 << 29

PROMOTED

Application is promoted by Discord in the application directory

Yes

1 << 30

PARTNER

Application is a Discord partner

Yes

1 << 8

ALLOW_ASSETS

Application can use activity assets

No

1 << 9

ALLOW_ACTIVITY_ACTION_SPECTATE

Application can enable spectating activities

No

1 << 10

ALLOW_ACTIVITY_ACTION_JOIN_REQUEST

Application can enable activity join requests

No

1 << 11

RPC_HAS_CONNECTED

Application has accessed the client RPC server before

Yes

1 The active grace period lasts for 30 days, after which the user flag will be removed from developers that claimed it.

Overlay Method Flags

Value
Name
Description

1 << 0

OUT_OF_PROCESS

Overlay can be rendered out of process

Internal Guild Restriction

Value
Name
Description

1

JOIN_ALL

The application can be authorized in any guild

2

JOIN_EXTERNAL_ONLY

The application can only be authorized in guilds without the guild feature

3

JOIN_INTERNAL_ONLY

The application can only be authorized in guilds with the guild feature

Application Interactions Version

Value
Name
Description

1

VERSION_1

Only Interaction Create events are sent as documented (default)

2

VERSION_2

A selection of chosen events are sent

Event Webhooks Status

Value
Name
Description

1

DISABLED

Event webhooks are disabled

2

ENABLED

Event webhooks are enabled

Event Webhooks Type

Value
Description

APPLICATION_AUTHORIZED

Sent when a user authorizes the application

ENTITLEMENT_CREATE

Sent when a user creates an entitlement

QUEST_USER_ENROLLMENT

Sent when a user enrolls in a quest

Explicit Content Filter Level

Value
Name
Description

0

INHERIT

Inherits the guild's explicit content filter

1

ALWAYS

Media content will always be scanned

Application Verification State

Value
Name
Description

1

INELIGIBLE

This application is ineligible for verification

2

UNSUBMITTED

This application has not yet been applied for verification

3

SUBMITTED

This application has submitted a verification request

4

APPROVED_MANUALLY

This application has been verified manually from Discord staff or using the old verification process

5

BLOCKED

This application is blocked and cannot be verified

6

APPROVED_AUTOMATICALLY

This application has been verified automatically through the Stripe identity verification process

Store Application State

Value
Name
Description

1

NONE

This application does not have a commerce license

2

PAID

This application has a commerce license but has not yet submitted a store approval request

3

SUBMITTED

This application has submitted a store approval request

4

APPROVED

This application has been approved for the store

5

REJECTED

This application has been rejected from the store

RPC Application State

Value
Name
Description

0

DISABLED

This application does not have access to RPC

1

UNSUBMITTED

This application has not yet been applied for RPC access

2

SUBMITTED

This application has submitted a RPC access request

3

APPROVED

This application has been approved for RPC access

4

REJECTED

This application has been rejected from RPC access

Application Discoverability State

Value
Name
Description

1

INELIGIBLE

This application is ineligible for the application directory

2

NOT_DISCOVERABLE

This application is not listed in the application directory

3

DISCOVERABLE

This application is listed in the application directory

4

FEATUREABLE

This application is featurable in the application directory

5

BLOCKED

This application has been blocked from appearing in the application directory

Application Discovery Eligibility Flags

Value
Name
Description

1 << 0

VERIFIED

Application is verified

1 << 1

TAG

Application has at least one tag set

1 << 2

DESCRIPTION

Application has a description

1 << 3

TERMS_OF_SERVICE

Application has terms of service set

1 << 4

PRIVACY_POLICY

Application has a privacy policy set

1 << 5

INSTALL_PARAMS

Application has a custom install URL or install parameters

1 << 6

SAFE_NAME

Application's name is safe for work

1 << 7

SAFE_DESCRIPTION

Application's description is safe for work

1 << 8

APPROVED_COMMANDS

Application has the message content intent approved or utilizes application commands

1 << 9

SUPPORT_GUILD

Application has a support guild set

1 << 10

SAFE_COMMANDS

Application's commands are safe for work

1 << 11

MFA

Application's owner has MFA enabled

1 << 12

SAFE_DIRECTORY_OVERVIEW

Application's directory long description is safe for work

1 << 13

SUPPORTED_LOCALES

Application has at least one supported locale set

1 << 14

SAFE_SHORT_DESCRIPTION

Application's directory short description is safe for work

1 << 15

SAFE_ROLE_CONNECTIONS

Application's role connections metadata is safe for work

Application Monetization State

Value
Name
Description

1

NONE

This application does not have monetization set up

2

ENABLED

This application has monetization set up

3

BLOCKED

This application has been blocked from monetizing

Creator Monetization State

The values of this enum are currently unknown. Help us by figuring them out and submitting a pull request!

Application Monetization Eligibility Flags

Value
Name
Description

1 << 0

VERIFIED

Application is verified

1 << 1

HAS_TEAM

Application is owned by a team

1 << 2

APPROVED_COMMANDS

Application has the message content intent approved or utilizes application commands

1 << 3

TERMS_OF_SERVICE

Application has terms of service set

1 << 4

PRIVACY_POLICY

Application has a privacy policy set

1 << 5

SAFE_NAME

Application's name is safe for work

1 << 6

SAFE_DESCRIPTION

Application's description is safe for work

1 << 7

SAFE_ROLE_CONNECTIONS

Application's role connections metadata is safe for work

1 << 8

USER_IS_TEAM_OWNER

User is the owner of the team that owns the application

1 << 9

NOT_QUARANTINED

Application is not quarantined

1 << 10

USER_LOCALE_SUPPORTED

User's locale is supported by monetization

1 << 11

USER_AGE_SUPPORTED

User is old enough to use monetization

1 << 12

USER_DATE_OF_BIRTH_DEFINED

User has a date of birth defined on their account

1 << 13

USER_MFA_ENABLED

User has MFA enabled

1 << 14

USER_EMAIL_VERIFIED

User's email is verified

1 << 15

TEAM_MEMBERS_EMAIL_VERIFIED

All members of the team that owns the application have verified emails

1 << 16

TEAM_MEMBERS_MFA_ENABLED

All members of the team that owns the application have MFA enabled

1 << 17

NO_BLOCKING_ISSUES

This application has no issues blocking monetization

1 << 18

VALID_PAYOUT_STATUS

Owning team has a valid payout status

Example Application

{  "id": "891436243903728565",  "name": "Socket",  "icon": "26f3dcdc6e6371b52c384c812c30546c",  "description": "Socket",  "type": null,  "is_monetized": false,  "is_verified": false,  "is_discoverable": false,  "bot": {    "id": "891436243903728565",    "username": "Socket",    "avatar": "26f3dcdc6e6371b52c384c812c30546c",    "discriminator": "0001",    "public_flags": 0,    "bot": true,    "banner": null,    "accent_color": null,    "global_name": null,    "avatar_decoration_data": null,    "primary_guild": null  },  "deeplink_uri": "https://google.com/search?q=power+sockets+near+me",  "bot_public": true,  "bot_require_code_grant": false,  "verify_key": "852634a9ed80c0c5ac81e3c46d4b10a05400cb71898ea0484e7b63ac3a27096a",  "flags": 27828224,  "tags": ["60hz", "AC", "", "120v"],  "hook": true,  "storefront_available": false,  "redirect_uris": ["http://localhost:5000/callback"],  "interactions_endpoint_url": null,  "role_connections_verification_url": "https://google.com/search?q=power+sockets+near+me",  "owner": {    "id": "1110738998453837384",    "username": "team1110738998453837384",    "avatar": null,    "discriminator": "0000",    "public_flags": 1024,    "banner": null,    "accent_color": null,    "global_name": null,    "avatar_decoration_data": null,    "primary_guild": null  },  "approximate_guild_count": 100,  "approximate_user_install_count": 1000,  "interactions_event_types": [],  "interactions_version": 1,  "explicit_content_filter": 1,  "rpc_application_state": 0,  "store_application_state": 1,  "creator_monetization_state": 1,  "verification_state": 1,  "integration_public": true,  "integration_require_code_grant": false,  "discoverability_state": 1,  "discovery_eligibility_flags": 36294,  "monetization_state": 1,  "monetization_eligibility_flags": 0,  "publishers": [{ "id": "1058932127820939295", "name": "AlienTec" }],  "developers": [{ "id": "1058932084854509568", "name": "Alien Games" }],  "team": {    "id": "1110738998453837384",    "icon": null,    "name": "Power",    "owner_user_id": "852892297661906993",    "members": [      {        "user": {          "id": "852892297661906993",          "username": "dolfies",          "avatar": "c78ef8fb1db15a3d5f1b4c057856c5c9",          "discriminator": "0",          "public_flags": 136,          "banner": null,          "accent_color": null,          "global_name": "Dolfies",          "avatar_decoration_data": null,          "primary_guild": null        },        "team_id": "1110738998453837384",        "membership_state": 2,        "role": "admin"      }    ]  },  "internal_guild_restriction": 1}

Example Partial Application

{  "id": "880218394199220334",  "name": "Watch Together",  "icon": "ec48acbad4c32efab4275cb9f3ca3a58",  "description": "Create and watch a playlist of YouTube videos with your friends. Your choice to share the remote or not. ",  "type": null,  "is_monetized": false,  "is_verified": false,  "is_discoverable": false,  "cover_image": "3cc9446876ae9eec6e06ff565703c292",  "bot": {    "id": "880218394199220334",    "username": "Watch Together",    "avatar": "fe2b7fa334817b0346d57416ad75e93b",    "discriminator": "5319",    "public_flags": 0,    "bot": true,    "banner": null,    "accent_color": null,    "global_name": null,    "avatar_decoration_data": null,    "primary_guild": null  },  "summary": "",  "bot_public": false,  "bot_require_code_grant": false,  "terms_of_service_url": "https://discord.com/terms",  "privacy_policy_url": "https://discord.com/privacy",  "verify_key": "e2aaf50fbe2fd9d025ac669035f5efb89099931690fba9dc28efb7eaade7f96d",  "flags": 1179648,  "max_participants": -1,  "tags": ["Video Player", "Watch"],  "hook": true,  "storefront_available": false,  "embedded_activity_config": {    "activity_preview_video_asset_id": "1104184163201990836",    "supported_platforms": ["web", "ios", "android"],    "default_orientation_lock_state": 2,    "tablet_default_orientation_lock_state": 1,    "requires_age_gate": false,    "legacy_responsive_aspect_ratio": false,    "premium_tier_requirement": null,    "free_period_starts_at": null,    "free_period_ends_at": null,    "client_platform_config": {      "ios": { "label_type": 0, "label_until": null, "release_phase": "global_launch" },      "android": { "label_type": 0, "label_until": null, "release_phase": "global_launch" },      "web": { "label_type": 0, "label_until": null, "release_phase": "global_launch" }    },    "shelf_rank": 3,    "has_csp_exception": false,    "displays_advertisements": false  }}

Application Executable Structure

Field
Type
Description

os

string

The operating system the executable can be found on

name

string

The name of the executable

is_launcher

boolean

Whether the executable is for a game launcher

Example Application Executable

{  "os": "win32",  "name": "spaceship looter/spaceship_looter.exe",  "is_launcher": false}

Application SKU Structure

Field
Type
Description

id

?string

The ID of the game

sku

?string

The SKU of the game

distributor

string

The distributor of the game

Distributor Type

Value
Description

discord

Discord Store

steam

Steam

twitch

Twitch

uplay

Ubisoft Connect

battlenet

Battle.net

origin

Origin

gog

GOG.com

epic

Epic Games Store

google_play

Google Play Store

nvidia_gdn_app

NVIDIA Cloud Gaming

Example Application SKU

{  "id": "445220",  "sku": "445220",  "distributor": "steam"}

Application Install Params Structure

Field
Type
Description

scopes

array[string]

The scopes to authorize the integration with

permissions

string

The permissions to request for the application's bot integration role

Application Integration Type

An application's supported installation contexts.

Value
Name
Description

0

GUILD_INSTALL

Guild installation context

1

USER_INSTALL

User installation context

Application Integration Type Configuration Structure

Field
Type
Description

oauth2_install_params?

The default in-app authorization link for the installation context

Example Application Install Params

{  "scopes": ["applications.commands", "bot"],  "permissions": "8"}

The application proxy makes it possible to proxy requests to a domain through the Discord activity proxy. This is used by embedded activities to be able to make requests without being blocked by Discord's content security policy (CSP).

Mapped URLs are available at .

Application Proxy Config Structure

Field
Type
Description

url_map

The URLs mapped to the proxy

Application Proxy Mapping Structure

Field
Type
Description

prefix

string

The prefix on the proxy

target

string

The domain to proxy

Example Application Proxy Config

{  "url_map": [    {      "prefix": "/api",      "target": "api.example.com"    }  ]}

Embedded Activity Config Structure

Field
Type
Description

application_id? 1

snowflake

The ID of the application this embedded activity is for

activity_preview_video_asset_id

?snowflake

The ID of the application asset to preview the activity with

supported_platforms

array[string]

default_orientation_lock_state

integer

The default orientation lock state for the activity on mobile

tablet_default_orientation_lock_state

integer

The default orientation lock state for the activity on tablets

requires_age_gate

boolean

Whether the activity is age gated

legacy_responsive_aspect_ratio

boolean

Whether the activity uses a responsive aspect ratio instead of a dynamic aspect ratio

premium_tier_requirement (deprecated)

?integer

The minimum guild premium tier required to use the activity, if any

free_period_starts_at (deprecated)

?ISO8601 timestamp

When the current free period for the activity starts, if any

free_period_ends_at (deprecated)

?ISO8601 timestamp

When the current free period for the activity ends, if any

client_platform_config

The release configuration for the activity on each platform

shelf_rank

integer

The rank of the activity in the activity shelf sort order

has_csp_exception

boolean

Whether the activity is not routed through the Discord activity proxy

displays_advertisements

boolean

Whether the activity displays advertisements

1 Omitted in the application object.

Embedded Activity Orientation Lock State Type

Value
Name
Description

1

UNLOCKED

Unrestricted orientation

2

PORTRAIT

Portrait only

3

LANDSCAPE

Landscape only

Embedded Activity Platform Type

Value
Description

web

Web

android

Android

ios

iOS

Embedded Activity Platform Config Structure

Field
Type
Description

label_type

integer

The type of release label for the platform

label_until?

?ISO8601 timestamp

When the release label expires

release_phase

string

The release phase for the platform

omit_badge_from_surfaces

array[string]

The surfaces to omit the activity badge from

Embedded Activity Label Type

Value
Name
Description

0

NONE

No special label

1

NEW

The activity is new

2

UPDATED

The activity has been recently updated

Embedded Activity Release Phase

Value
Description

in_development

The activity is still in development

activities_team

The activity is available to guilds with the guild feature

employee_release

The activity is available to guilds with the guild feature

soft_launch

The activity is available to all guilds

soft_launch_multi_geo

The activity is available to all guilds

global_launch

The activity is available to all guilds

Embedded Activity Surface

Value
Description

voice_launcher

The activity launcher in the voice channel interface

text_launcher

The activity launcher in the text channel interface

Example Embedded Activity Config

{  "activity_preview_video_asset_id": "1104184163201990836",  "supported_platforms": ["web", "ios", "android"],  "default_orientation_lock_state": 2,  "tablet_default_orientation_lock_state": 1,  "requires_age_gate": false,  "legacy_responsive_aspect_ratio": false,  "premium_tier_requirement": null,  "free_period_starts_at": null,  "free_period_ends_at": null,  "client_platform_config": {    "android": {      "label_type": 0,      "label_until": null,      "release_phase": "global_launch",      "omit_badge_from_surfaces": []    },    "ios": {      "label_type": 0,      "label_until": null,      "release_phase": "global_launch",      "omit_badge_from_surfaces": []    },    "web": {      "label_type": 0,      "label_until": null,      "release_phase": "global_launch",      "omit_badge_from_surfaces": []    }  },  "shelf_rank": 3,  "has_csp_exception": false,  "displays_advertisements": false,  "application_id": "880218394199220334"}

Application Asset Structure

Field
Type
Description

id

string

The ID of the asset

type

integer

name

string

The name of the asset

Application Asset Type

Value
Name
Description

1

ONE

Unknown

2

TWO

Unknown

Example Application Asset

{  "id": "1131721726514954381",  "type": 1,  "name": "alien"}

The role connection object that an application has attached to a user.

Application Role Connection Structure

Field
Type
Description

platform_name

?string

The vanity name of the platform a bot has connected (max 50 characters)

platform_username

?string

The username on the platform a bot has connected (max 100 characters)

metadata

object

Object mapping application role connection metadata keys to their string-ified value (max 100 characters) for the user on the platform a bot has connected

application?

The application that owns the role connection

application_metadata?

The metadata that the application has set for the role connection

A representation of role connection metadata for an application.

When a guild has added an application integration and that integration has configured its, the application will render as a potential verification method in the guild's role verification configuration.

If an application has configured role connection metadata, its metadata will appear in the role verification configuration when the application has been added as a verification method to the role.

When a user connects their account using the integration's, the integration will update a user's role connection with metadata using the OAuth2 scope.

Application Role Connection Metadata Structure

Field
Type
Description

type

integer

key

string

Key for the metadata field (1-50 characters, must be a-z, 0-9, or _)

name

string

The name of the metadata field (1-100 characters)

name_localizations?

map[str, str]

Translations of the name with keys in available locales

description

string

The description of the metadata field (1-200 characters)

description_localizations?

map[str, str]

Translations of the description with keys in available locales

Activity Link Structure

Field
Type
Description

application_id

snowflake

The application ID

link_id 1

string

The link ID

asset_path? 2

string

The hash of the application quick link asset

asset_id? 2

snowflake

The ID of the application asset

title

string

The title of the activity link

description

string

The description of the activity link

custom_id?

?string

A custom ID for the activity link

primary_cta? (deprecated)

?string

The primary call to action for the activity link

1 The link ID is in the format where is the activity link type and is the snowflake ID.

2 is only present on quick links, while is only present on managed links.

Activity Link Type

Value
Name
Description

0

MANAGED_LINK

Managed by the application and last indefinitely

1

QUICK_LINK

Made by the user and last for 30 days

Example Activity Link

{  "application_id": "891436233903964161",  "link_id": "1-1385320255148003439",  "asset_path": "74420086a1aee57564cd6fc9a28461b1",  "title": "Alien",  "description": "aliens",  "primary_cta": null,  "custom_id": "button"}

GET/applications

Returns a list of application objects that the current user has.

Query String Params

Field
Type
Description

with_team_applications?

boolean

Whether to include applications that a team the user is a part of owns

GET/applications-with-assets

Returns a list of application objects that the current user has, additionally including the application's assets.

Query String Params

Field
Type
Description

with_team_applications?

boolean

Whether to include applications that a team the user is a part of owns

Response Body

Field
Type
Description

applications

The applications the user has

assets

map[snowflake, array[application asset object]]

The assets for each application

Example Response

{  "applications": [    {      "id": "891436243903728565",      "name": "Lightbulb",      "icon": "546242649e3b09a97af7e8f29983837b",      "description": "💡 Let there be light",      "summary": "",      "type": null,      "is_monetized": false,      "is_verified": false,      "is_discoverable": false,      "cover_image": "75bc61df60fc74c46b32fde3532f662b",      "deeplink_uri": "https://google.com/search?q=lightbulbs+near+me",      "hook": true,      "guild_id": "1029315212005888060",      "storefront_available": false,      "bot_public": true,      "bot_require_code_grant": false,      "terms_of_service_url": "https://google.com/search?q=lightbulbs+near+me",      "privacy_policy_url": "https://google.com/search?q=lightbulbs+near+me",      "integration_types_config": {        "0": {},        "1": {}      },      "verify_key": "852634a9ed80c0c5ac81e3c46d4b10a05400cb71898ea0484e7b63ac3a27096a",      "owner": {        "id": "1110738998453837384",        "username": "team1110738998453837384",        "global_name": null,        "avatar": null,        "avatar_decoration_data": null,        "discriminator": "0000",        "public_flags": 1024,        "primary_guild": null,        "flags": 1024      },      "flags": 27959296,      "redirect_uris": ["http://localhost:5000/callback"],      "rpc_application_state": 0,      "store_application_state": 1,      "verification_state": 1,      "interactions_endpoint_url": null,      "interactions_event_types": [],      "interactions_version": 1,      "integration_public": true,      "integration_require_code_grant": false,      "explicit_content_filter": 1,      "discoverability_state": 1,      "discovery_eligibility_flags": 36830,      "monetization_state": 1,      "role_connections_verification_url": "https://google.com/search?q=lightbulbs+near+me",      "internal_guild_restriction": 1,      "bot": {        "id": "891436243903728565",        "username": "Lightbulb",        "global_name": null,        "avatar": "546242649e3b09a97af7e8f29983837b",        "avatar_decoration_data": null,        "discriminator": "5312",        "public_flags": 0,        "primary_guild": null,        "bot": true      },      "approximate_guild_count": 100,      "approximate_user_install_count": 1000,      "max_participants": -1,      "embedded_activity_config": {        "activity_preview_video_asset_id": "1131721726514954381",        "supported_platforms": ["web", "android", "ios"],        "default_orientation_lock_state": 1,        "tablet_default_orientation_lock_state": 1,        "requires_age_gate": false,        "legacy_responsive_aspect_ratio": false,        "premium_tier_requirement": null,        "free_period_starts_at": null,        "free_period_ends_at": null,        "client_platform_config": {          "web": {            "label_type": 0,            "label_until": null,            "release_phase": "in_development"          },          "android": {            "label_type": 0,            "label_until": null,            "release_phase": "in_development"          },          "ios": {            "label_type": 0,            "label_until": null,            "release_phase": "in_development"          }        },        "shelf_rank": 2147483647,        "has_csp_exception": false,        "displays_advertisements": false      },      "tags": ["", "100W", "EnergyStar", "LED"]    }  ],  "assets": {    "891436243903728565": [      {        "id": "1223782285833273507",        "type": 1,        "name": "embedded_background"      },      {        "id": "1223782287091564634",        "type": 1,        "name": "embedded_cover"      }    ]  }}

POST/applications

Creates a new application. Returns an application object on success. Users can have a maximum of 50 applications, with each team able to have a maximum of 25.

JSON Params

Field
Type
Description

name

string

The name of the application

type?

integer

The type of the application (only CREATOR_MONETIZATION is supported)

team_id?

snowflake

The ID of the team to create this application under

description?

?string

The description of the application

icon?

The application's icon

cover_image?

The application's default rich presence invite cover image

flags?

integer

the application's flags (only GATEWAY_GUILD_MEMBERS_LIMITED, GATEWAY_PRESENCE_LIMITED, and GATEWAY_MESSAGE_CONTENT_LIMITED can be set)

guild_id?

?snowflake

The ID of the guild linked to the application

redirect_uris?

?array[string]

The whitelisted URLs for redirecting to during OAuth2 authorization (max 10)

deeplink_uri?

?string

The URL used for deep linking during OAuth2 authorization on mobile devices

GET/applications/{application.id}

Returns an application object for the given ID. User must be the owner of the application or member of the current team.

GET/applications/@me

Returns the application object associated with the requestor.

PATCH/applications/{application.id}

Modifies an application. User must be the owner of the application or developer of the current team. Returns the updated application object on success.

JSON Params

Field
Type
Description

name?

string

The name of the application

description?

?string

The description of the application

icon?

The application's icon

cover_image?

The application's default rich presence invite cover image

flags?

integer

The application's flags (only PUBLIC_OAUTH2_CLIENT, GATEWAY_GUILD_MEMBERS_LIMITED, GATEWAY_PRESENCE_LIMITED, and GATEWAY_MESSAGE_CONTENT_LIMITED can be set)

guild_id?

?snowflake

The ID of the guild linked to the application

developer_ids?

?array[snowflake]

The IDs of the companies that developed the application

publisher_ids?

?array[snowflake]

The IDs of the companies that published the application

rpc_origins?

?array[string]

The whitelisted RPC origin URLs for the application, if RPC is enabled

redirect_uris?

?array[string]

The whitelisted URLs for redirecting to during OAuth2 authorization (max 10)

deeplink_uri?

?string

The URL used for deep linking during OAuth2 authorization on mobile devices

integration_public?

boolean

Whether only the application owner can add the integration

integration_require_code_grant?

boolean

Whether the integration will only be added upon completion of a full OAuth2 token exchange

bot_public? (deprecated)

boolean

Whether only the application owner can add the bot

bot_require_code_grant? (deprecated)

boolean

Whether the application's bot will only be added upon completion of a full OAuth2 token exchange

terms_of_service_url?

?string

The URL to the application's terms of service

privacy_policy_url?

?string

The URL to the application's privacy policy

role_connections_verification_url

?string

The role connection verification entry point of the integration; when configured, this will render the application as a verification method in guild role verification configuration

interactions_endpoint_url?

string

The URL of the application's interactions endpoint

interactions_event_types? 1

?array[string]

The enabled Gateway events to send to the interaction endpoint

explicit_content_filter?

integer

Whether uploaded media content used in application commands is scanned and deleted for explicit content

tags?

?array[string]

Tags describing the content and functionality of the application (max 20 characters, max 5)

install_params?

The default in-app authorization link for the integration

custom_install_url?

?string

The default custom authorization link for the integration

integration_types_config?

The configuration for each integration type supported by the application

discoverability_state?

integer

The current application directory discoverability state of the application (only NOT_DISCOVERABLE and DISCOVERABLE is supported)

monetization_state?

integer

The current application monetization state of the application (only NONE and ENABLED is supported)

max_participants?

?integer

The maximum possible participants in the application's embedded activity (-1 for no limit)

1 The sending of Gateway events over the interactions endpoint requires interactions version 2.

PATCH/applications/@me

Modifies the requestor's application information. Returns the updated application object on success.

JSON Params

Field
Type
Description

description?

?string

The description of the application

icon?

The application's icon

cover_image?

The application's default rich presence invite cover image

flags?

integer

The application's flags (only GATEWAY_GUILD_MEMBERS_LIMITED, GATEWAY_PRESENCE_LIMITED, and GATEWAY_MESSAGE_CONTENT_LIMITED can be set)

rpc_origins?

?array[string]

The whitelisted RPC origin URLs for the application, if RPC is enabled

deeplink_uri?

?string

The URL used for deep linking during OAuth2 authorization on mobile devices

role_connections_verification_url?

?string

The role connection verification entry point of the integration; when configured, this will render the application as a verification method in guild role verification configuration

interactions_endpoint_url?

?string

The URL of the application's interactions endpoint

interactions_event_types? 1

?array[string]

The enabled Gateway events to send to the interaction endpoint

explicit_content_filter?

integer

Whether uploaded media content used in application commands is scanned and deleted for explicit content

tags?

?array[string]

Tags describing the content and functionality of the application (max 20 characters, max 5)

install_params?

The default in-app authorization link for the integration

custom_install_url?

?string

The default custom authorization link for the integration

integration_types_config?

The configuration for each integration type supported by the application

max_participants?

?integer

The maximum possible participants in the application's embedded activity (-1 for no limit)

POST/applications/{application.id}/delete

Deletes an application permanently. User must be the owner of the application or current team. Returns a 204 empty response on success.

POST/applications/{application.id}/transfer

Transfers ownership of an application to a team. User must be the owner of the application or current team. Returns an application object on success.

JSON Params

Field
Type
Description

team_id

snowflake

The ID of the team to transfer ownership to

POST/applications/{application.id}/reset

Resets the application's client secret. This revokes all previous secrets and returns a new secret. User must be the owner of the application or developer of the current team.

Response Body

Field
Type
Description

secret

string

The client secret key of the application

Example Response

{  "secret": "937it3ow87i4ery69876wqire"}

GET/oauth2/applications/{application.id}/allowlist

Returns a list of whitelisted user objects representing the invited testers for the given application ID. User must be the owner of the application or member of the current team.

Whitelisted User Structure

Field
Type
Description

user

partial user object

The user that is whitelisted for the application

Application Membership State

Value
Name
Description

1

INVITED

The user has been invited to the application but has not yet accepted

2

ACCEPTED

The user has accepted the invitation to the application and is whitelisted

POST/oauth2/applications/{application.id}/allowlist

Adds a user to the application's list of testers. User must be the owner of the application or developer of the current team. Returns a whitelisted user object on success.

JSON Params

Field
Type
Description

username

string

The username of the user to add

discriminator? 1

?string

The discriminator of the user to add

1 Not applicable for migrated users. See the section on Discord's new username system for more information.

POST/oauth2/allowlist/accept

Accepts an application tester invitation received via email. Invited users will receive an email with a link that redirects to the official Discord client with a verification token present in the URL's query (e.g. ). Returns a 204 empty response on success.

Query String Params

Field
Type
Description

token

string

The verification token from the URL

DELETE/oauth2/applications/{application.id}/allowlist/{user.id}

Removes a user from the application's list of testers. User must be the owner of the application or developer of the current team. Returns a 204 empty response on success.

POST/applications/{application.id}/bot

Creates and attaches a bot to the given application ID. User must be the owner of the application or developer of the current team.

Response Body

Field
Type
Description

token

?string

The token of the bot, if a bot was newly created

Example Response

{  "token": "NzIyNDUwMzAzOTE5NTg3NDA5.GRj2Bt.cPbrvvjxglZXK4dTcIPDMvfq0LxJcilsIYW01A"}

PATCH/applications/{application.id}/bot

Modifies the application's bot. User must be the owner of the application or developer of the current team. Returns the updated user object on success.

JSON Params

Field
Type
Description

username?

string

The user's username (2-32 characters)

avatar?

The user's avatar

banner?

The user's banner

POST/applications/{application.id}/bot/reset

Resets the application's bot token. This revokes all previous tokens and returns a new token. User must be the owner of the application or developer of the current team.

Response Body

Field
Type
Description

token

string

The token of the bot

POST/applications/{application.id}/request-additional-intents

Submits a request for Gateway intents for a verified bot. User must be the owner of the application or developer of the current team. Returns a 204 empty response on success.

JSON Params

Field
Type
Description

application_description

string

The description of the application (50-2000 characters)

intents_flags_requested?

integer

The application flags representing the requested Gateway intents (only GATEWAY_PRESENCE, GATEWAY_GUILD_MEMBERS, and GATEWAY_MESSAGE_CONTENT are supported)

intents_gateway_presence_use_case_description? 1

?string

The use case for requesting the presence intent (50-2000 characters)

intents_gateway_presence_use_case_supplemental_material_description? 1

?string

The supplemental material for the requested Gateway presence intent (5-2000 characters)

intents_gateway_presence_store_off_platform? 1

?boolean

Whether the application stores presence data off-platform

intents_gateway_presence_retention?

?boolean

Whether the application retains presence data for 30 days or less

intents_gateway_presence_encrypted?

?boolean

Whether the application encrypts stored presence data at rest

intents_gateway_presence_opt_out_stored?

?boolean

Whether application users can opt out of having their presence data stored

intents_gateway_presence_contact_deletion? 1

?string

How application users can request the deletion of their presence data (25-2000 characters)

intents_gateway_guild_members_use_case_description? 1

?string

The use case for requesting the guild members intent (50-2000 characters)

intents_gateway_guild_members_use_case_supplemental_material_description? 1

?string

The supplemental material for the requested Gateway guild members intent (5-2000 characters)

intents_gateway_guild_members_store_off_platform? 1

?boolean

Whether the application stores guild member data off-platform

intents_gateway_guild_members_retention?

?boolean

Whether the application retains guild member datafor 30 days or less

intents_gateway_guild_members_encrypted?

?boolean

Whether the application encrypts stored guild member data at rest

intents_gateway_guild_members_contact_deletion?

?string

How application users can request the deletion of their guild member data (25-2000 characters)

intents_gateway_message_content_use_case_description? 1

?string

The use case for requesting the message content intent (50-2000 characters)

intents_gateway_message_content_use_case_supplemental_material_description? 1

?string

The supplemental material for the requested Gateway message content intent (5-2000 characters)

intents_gateway_message_content_store_off_platform? 1

?boolean

Whether the application stores message content data off-platform

intents_gateway_message_content_retention?

?boolean

Whether the application retains message content data for 30 days or less

intents_gateway_message_content_encrypted?

?boolean

Whether the application encrypts stored message content data at rest

intents_gateway_message_content_opt_out_stored?

?boolean

Whether application users can opt out of having their message content data stored

intents_gateway_message_content_ai_training?

?boolean

Whether the application uses message content data for AI training

intents_gateway_message_content_privacy_policy_public?

?boolean

Whether the application has a public privacy policy detailing how message content data is used

intents_gateway_message_content_privacy_policy_location?

?string

Where the application's privacy policy can be found (25-2000 characters)

intents_gateway_message_content_privacy_policy_example?

?string

A link to or screenshots of the application's privacy policy (25-2000 characters)

intents_gateway_message_content_contact_deletion?

?string

How application users can request the deletion of their message content data (25-2000 characters)

1 Required if the corresponding intent is requested.

GET/applications/{application.id}/discoverability-state

Returns information about the application's eligibility for application directory. User must be the owner of the application or member of the current team.

Response Body

Field
Type
Description

discoverability_state

integer

The current application directory discoverability state of the application

discovery_eligibility_flags

integer

The current application directory eligibility flags for the application

bad_commands

array[application command object]

Not safe for work commands that are not allowed in the application directory

GET/activities/{application.id}/test-mode

Queries whether the user can use test mode for the application. Test mode allows completing purchases without payment. User must be the owner of the application or developer of the current team. Returns a 204 empty response on success.

GET/activities/shelf

Returns the embedded activities available globally or in a particular guild.

Query String Params

Field
Type
Description

guild_id?

snowflake

The ID to return embedded activities for

Response Body

Field
Type
Description

activities

The available embedded activities

applications

array[partial application object]

Applications representing the available embedded activities

assets

map[snowflake, array[application asset]]

The assets for each application

POST/applications/{application.id}/set-embedded

Modifies whether the application is an embedded activity or not (determined by the flag). User must be the owner of the application or developer of the current team. Returns a 204 empty response on success.

JSON Params

Field
Type
Description

embedded

boolean

Whether the application is embedded

GET/applications/{application.id}/embedded-activity-config

Returns the embedded activity config object for the given application ID. User must be the owner of the application or member of the current team.

PATCH/applications/{application.id}/embedded-activity-config

Modifies the embedded activity config for the given application ID. User must be the owner of the application or developer of the current team. Returns the updated embedded activity config object on success.

JSON Params

Field
Type
Description

activity_preview_video_asset_id?

?snowflake

The ID of the application asset to preview the activity with

supported_platforms?

?array[string]

default_orientation_lock_state?

integer

The default orientation lock state for the activity on mobile

tablet_default_orientation_lock_state?

integer

The default orientation lock state for the activity on tablets

requires_age_gate?

boolean

Whether the activity is age gated

free_period_starts_at? (deprecated)

?ISO8601 timestamp

When the current free period for the activity starts, if any

free_period_ends_at? (deprecated)

?ISO8601 timestamp

When the current free period for the activity ends, if any

client_platform_config?

The release configuration for the activity on each platform

shelf_rank?

integer

The rank of the activity in the activity shelf sort order

GET/applications/{application.id}/proxy-config

Returns the application's activity proxy config object for the given application ID. User must be the owner of the application or member of the current team.

POST/applications/{application.id}/proxy-config

Replaces the activity proxy config for the given application ID. User must be the owner of the application or developer of the current team. Returns the updated application proxy config object on success.

Notes:

  • URL mappings can utilize any protocol, so the protocol should be omitted from the field.

  • Parameter matching is supported in both the and fields. For example, you can map to .

  • Because of how URL globbing works, the order of the mappings is important. The most specific mappings should be at the top of the list as the first match is used. For example, if you have and , you must place the URL before or else the mapping for will never be reached.

JSON Params

Field
Type
Description

url_map

The URLs mapped to the proxy

GET/oauth2/applications/{application.id}/assets

Returns a list of application assets for the given application ID.

Query String Params

Field
Type
Description

nocache?

boolean

Whether to bypass the Cloudflare cache for the response (default false)

POST/oauth2/applications/{application.id}/assets

Creates a new application asset for the given application ID. User must be the owner of the application or developer of the current team. Returns an application asset object on success.

JSON Params

Field
Type
Description

name

string

The name of the asset

type

integer

image

The asset's image

DELETE/oauth2/applications/{application.id}/assets/{asset.id}

Deletes an application asset permanently. User must be the owner of the application or developer of the current team. Returns a 204 empty response on success.

POST/applications/{application.id}/external-assets

Proxies a list of URLs for the given application ID. Returns a list of external asset objects on success.

JSON Params

Field
Type
Description

urls

array[string]

The URLs of the assets to proxy (max 256 characters, 1-2)

External Asset Structure

Field
Type
Description

url

string

The URL of the asset

external_asset_path

string

The path to the asset on the media proxy (https://media.discordapp.net/)

Example External Asset

[  {    "url": "https://google.com/favicon.ico",    "external_asset_path": "external/OCZzr1eoglei1yFsfSMClt6B95EI9W-dOhq7fbnn5aY/https/google.com/favicon.ico"  }]

POST/applications/{application.id}/attachment

Uploads an ephemeral attachment to the application. Must be a body. Requires the application flag.

Form Params

Field
Type
Description

file

file contents

The image file to upload, must be a JPEG, PNG, or GIF file

Response Body

Field
Type
Description

attachment

attachment object

The created ephemeral attachment

GET/applications/detectable

Returns a list of detectable application objects representing games that can be detected by Discord for rich presence.

Detectable Application Structure

Field
Type
Description

id

snowflake

The ID of the application

name

string

The name of the application

aliases

array[string]

Other names the application's game is associated with

executables

The unique executables of the application's game

themes

array[string]

The themes of the application's game

hook

boolean

Whether the Discord client is allowed to hook into the application's game directly

overlay

boolean

Whether the application's game supports the Discord overlay (default false)

overlay_methods

?integer

The methods of overlaying that the application's game supports

overlay_warn

boolean

Whether the Discord overlay is known to be problematic with this application's game (default false)

overlay_compatibility_hook

boolean

Whether to use the compatibility hook for the overlay (default false)

Example Detectable Application

{  "aliases": ["PUBG: BATTLEGROUNDS", "PUBG"],  "executables": [    {      "is_launcher": false,      "name": "win64/tslgame_be.exe",      "os": "win32"    },    {      "is_launcher": false,      "name": "win64/tslgame.exe",      "os": "win32"    },    {      "is_launcher": false,      "name": "tslgame.exe",      "os": "win32"    },    {      "is_launcher": false,      "name": "win64/tslgame_uc.exe",      "os": "win32"    },    {      "is_launcher": false,      "name": "tslgame_be.exe",      "os": "win32"    }  ],  "hook": true,  "id": "356873622985506820",  "name": "PLAYERUNKNOWN'S BATTLEGROUNDS",  "overlay": true,  "overlay_compatibility_hook": true,  "overlay_methods": null,  "overlay_warn": false,  "themes": ["Action", "Warfare"]}

GET/applications/public

Returns a list of partial application objects for the given IDs.

Query String Params

Field
Type
Description

application_ids

array[snowflake]

The IDs of the applications to fetch; unknown IDs are ignored

GET/applications/{application.id}/public

Returns a partial application object for the given ID with all public application fields.

Query String Params

Field
Type
Description

with_guild?

boolean

Whether to include the guild object in the response if the guild is discoverable (default false)

GET/applications/{application.id}/rpc

Returns a partial application object for the given ID with rich presence-related fields.

GET/applications/{application.id}/disclosures

Returns an object representing additional safety disclosures for the application.

Response Body

Field
Type
Description

disclosures

array[integer]

The disclosures of the application

acked_disclosures

array[integer]

The disclosures that have been acknowledged by the user

all_acked

boolean

Whether all disclosures have been acknowledged by the user

Application Disclosure Type

Value
Name
Description

0

UNSPECIFIED_DISCLOSURE

Unspecified disclosure

1

IP_LOCATION

Application may access the user's IP address

2

DISPLAYS_ADVERTISEMENTS

Application may display advertisements

3

PARTNER_SDK_DATA_SHARING_MESSAGE

Application's game uses the social layer SDK's messaging features, which surface in-game messages on Discord

Example Response

{  "disclosures": [1, 2],  "acked_disclosures": [1, 2],  "all_acked": true}

POST/applications/{application.id}/disclosures

Acknowledges a list of disclosures for the application.

JSON Params

Field
Type
Description

disclosures

array[integer]

The disclosures to acknowledge for the user

Response Body

Field
Type
Description

disclosures

array[integer]

The disclosures that have been acknowledged by the user

GET/guilds/{guild.id}/applications

Returns a list of application objects attached to the given guild ID. Requires the permission.

Query String Params

Field
Type
Description

type?

integer

The type of applications to return

include_team? 1

boolean

Whether to include team information for owned applications (default false)

channel_id?

snowflake

The ID of the channel to filter by (TODO: what the fuck does this do)

1 You must own the application or be a member of the owning team to receive this information.

POST/unverified-applications

Reports a game not detected and tracked to Discord. Returns an unverified application object on success.

JSON Params

Field
Type
Description

report_version?

integer

The version of the report (currently 3)

name

string

The name of the application (2-100 characters)

icon

string

The MD5 hash of the application's icon (32 characters)

os

string

The operating system the application is found on

executable?

string

The executable of the application (max 1024 characters)

publisher?

string

The publisher of the application (2-100 characters)

distributor_application?

The distributor of the application SKU

Application Distributor Structure

Field
Type
Description

distributor

string

sku?

string

The SKU of the application (max 256 characters)

Operating System

Value
Description

win32

Windows

darwin

macOS

linux

Linux

Response Body

Field
Type
Description

name

string

The name of the application

hash

string

The unique hash of the application

missing_data

array[string]

The missing data for the application

Application Missing Data Type

Value
Description

icon

The application's icon hash is not found and should be uploaded using the Upload Unverified Application Icon endpoint

Example Response

{  "name": "Alien Simulator",  "hash": "0312ce2c94e1fa8257fefbade4587fb3",  "missing_data": ["icon"]}

POST/unverified-applications/icons

Uploads an unverified application's icon to Discord. Returns a 204 empty response on success.

JSON Params

Field
Type
Description

application_name

string

The name of the application

application_hash

string

The unique hash of the application

icon

The application's icon

GET/users/@me/applications/role-connections

Returns a list of application role connection objects for the user.

GET/users/@me/applications/{application.id}/role-connection

Returns an application role connection object for the user, without optional fields.

PUT/users/@me/applications/{application.id}/role-connection

Updates an application's role connection for the user. Returns the updated application role connection object on success.

JSON Params

Field
Type
Description

platform_name?

string

The vanity name of the platform a bot has connected (max 50 characters)

platform_username?

string

The username on the platform a bot has connected (max 100 characters)

metadata?

map[string, string]

Object mapping application role connection metadata keys to their string-ified value (max 100 characters) for the user on the platform a bot has connected

GET/applications/{application.id}/managed-links/

Returns a list of activity link objects for the given application ID. User must be the owner of the application or developer of the current team.

POST/applications/{application.id}/managed-links/

Creates a new activity managed link. User must be the owner of the application or developer of the current team. Returns an activity link object on success.

JSON Params

Field
Type
Description

custom_id?

?string

A custom id for the activity link (1-256 characters)

description

string

The description of the activity link (1-64 characters)

image

The activity link asset

title

string

The title of the activity link (1-32 characters)

GET/applications/{application.id}/managed-links/{link_id}

Returns an activity link object for the given ID.

PATCH/applications/{application.id}/managed-links/{link_id}

Updates the specified activity link for the given application ID. User must be the owner of the application or developer of the current team. Returns an activity link object on success.

DELETE/applications/{application.id}/managed-links/{link_id}

Deletes the specified activity link for the given application ID. User must be the owner of the application or developer of the current team. Returns a 204 empty response on success.

POST/applications/{application.id}/quick-links/

Creates a new activity quick link. Returns an activity link object on success.

JSON Params

Field
Type
Description

custom_id?

?string

A custom id for the activity link (1-256 characters)

description

string

The description of the activity link (1-64 characters)

image

The activity link asset

title

string

The title of the activity link (1-32 characters)

GET/applications/{application.id}/quick-links/{link_id}

Returns an activity link object for the given ID.

GET/applications/{application.id}/verification

Checks if an application is eligible to apply for verification. Returns an empty 204 response on success.

POST/applications/{application.id}/auto-verification

Verifies an application and allows it to scale past 100 servers. Returns a 204 empty response on success. User must be the owner of the current team. The application must meet the following criteria to be eligible for verification:

  • It must belong to a team

  • It must not contain any harmful or bad language in its name, description, commands or role connection metadata

  • It must have links to its Terms of Service and Privacy Policy

  • It must have an install link

  • All its team members must have a verified email and MFA set up, with the team owner additionally having to undergo identity verification