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.
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 The type of the application , if any 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 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 {/ 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? array[application executable object] 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 Unknown (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 user installations the application has 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_version integer The version of the application's interactions endpoint implementation interactions_event_types 4 array[string] The enabled Gateway events to send to the interaction endpoint event_webhooks_status? integer Whether event webhooks are enabled 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 (min 1) explicit_content_filter integer Whether uploaded media content used in application commands is scanned and deleted for explicit contenttags? array[string] Tags describing the content and functionality of the application (max 20 characters, max 5) install_params? application install params objectThe default in-app authorization link for the integration custom_install_url? string The default custom authorization link for the integration integration_types_config? map[int, ?application integration type configuration object] 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 embedded activity config objectThe 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 applications may have any combination of fields, depending on the context in which they are provided. Certain data may be included or omitted depending on what data is needed for the given operation. Fields marked as required will always be present.
Further complicating things, some optional fields may be omitted if their value is , even if the specific partial does include this data.
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 The type of the application , if any 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 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 {/ 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? array[application executable object] 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 Unknown (default false) bot? partial user object The bot attached to this 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 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 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? application install params objectThe default in-app authorization link for the integration custom_install_url? string The default custom authorization link for the integration integration_types_config? map[int, ?application integration type configuration object] 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? 4 integer The maximum possible participants in the application's embedded activity (-1 for no limit) embedded_activity_config? 4 embedded activity config objectThe 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 Guild Applications endpoint. You must own the application or be a member of the owning team to receive this information.
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 Only applicable for applications with the flag .
Value Name Description 1 GAME A game integrating with Discord 2MUSICA music service integrating with Discord3 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.
Value Name Description Public 1 << 1EMBEDDED_RELEASEDThis embedded application is released to the public (see release phases )Yes1 << 2 MANAGED_EMOJI This application can create managed emoji No 1 << 3 EMBEDDED_IAP This embedded application can use in-app purchases Yes 1 << 4 GROUP_DM_CREATE This application can create group DMs without limit No 1 << 5RPC_PRIVATE_BETAThis application can access the client RPC serverNo1 << 6 AUTO_MODERATION_RULE_CREATE_BADGE This application has created 100+ AutoMod rules Yes 1 << 7 GAME_PROFILE_DISABLED This application has its game profile page disabled Yes 1 << 8 PUBLIC_OAUTH2_CLIENT This application's OAuth2 credentials are public Yes 1 << 8ALLOW_ASSETSThis application can use activity assetsNo1 << 9ALLOW_ACTIVITY_ACTION_SPECTATEThis application can enable spectating activitiesNo1 << 10ALLOW_ACTIVITY_ACTION_JOIN_REQUESTThis application can enable activity join requestsNo1 << 11RPC_HAS_CONNECTEDThis application has accessed the client RPC server beforeYes1 << 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 This 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 This embedded application is created by Discord Yes 1 << 23 APPLICATION_COMMAND_BADGE This application has registered global application commands Yes 1 << 24 ACTIVE This application has had at least one global application command used in the last 30 days No 1 << 26 IFRAME_MODAL This application can use IFrames within modals Yes 1 << 27 SOCIAL_LAYER_INTEGRATION This application can use the social layer integration Yes 1 << 29 PROMOTED This application is promoted by Discord in the application directory Yes 1 << 30 PARTNER This application is a Discord partner Yes
Value Name Description 1 << 0 OUT_OF_PROCESS The overlay can be rendered out of process
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
Value Name Description 1 DISABLED Event webhooks are disabled 2 ENABLED Event webhooks are enabled
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
Value Name Description 0 INHERIT Inherits the guild's explicit content filter 1 ALWAYS Media content will always be scanned
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 SUCCEEDED This application has been verified
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
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
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
Value Name Description 1 << 0 VERIFIED This application is verified 1 << 1 TAG This application has at least one tag set 1 << 2 DESCRIPTION This application has a description 1 << 3 TERMS_OF_SERVICE This application has terms of service set 1 << 4 PRIVACY_POLICY This application has a privacy policy set 1 << 5 INSTALL_PARAMS This application has a custom install URL or install parameters 1 << 6 SAFE_NAME This application's name is safe for work 1 << 7 SAFE_DESCRIPTION This application's description is safe for work 1 << 8 APPROVED_COMMANDS This application has the message content intent approved or utilizes application commands 1 << 9 SUPPORT_GUILD This application has a support guild set 1 << 10 SAFE_COMMANDS This application's commands are safe for work 1 << 11 MFA This application's owner has MFA enabled 1 << 12 SAFE_DIRECTORY_OVERVIEW This application's directory long description is safe for work 1 << 13 SUPPORTED_LOCALES This application has at least one supported locale set 1 << 14 SAFE_SHORT_DESCRIPTION This application's directory short description is safe for work 1 << 15 SAFE_ROLE_CONNECTIONS This application's role connections metadata is safe for work
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
The values of this enum are currently unknown. Help us by figuring them out and submitting a pull request !
Value Name Description 1 << 0 VERIFIED This application is verified 1 << 1 HAS_TEAM This application is owned by a team 1 << 2 APPROVED_COMMANDS This application has the message content intent approved or utilizes application commands 1 << 3 TERMS_OF_SERVICE This application has terms of service set 1 << 4 PRIVACY_POLICY This application has a privacy policy set 1 << 5 SAFE_NAME This application's name is safe for work 1 << 6 SAFE_DESCRIPTION This application's description is safe for work 1 << 7 SAFE_ROLE_CONNECTIONS This application's role connections metadata is safe for work 1 << 8 USER_IS_TEAM_OWNER The user is the owner of the team that owns the application 1 << 9 NOT_QUARANTINED This application is not quarantined 1 << 10 USER_LOCALE_SUPPORTED The user's locale is supported by monetization 1 << 11 USER_AGE_SUPPORTED The user is old enough to use monetization 1 << 12 USER_DATE_OF_BIRTH_DEFINED The user has a date of birth defined on their account 1 << 13 USER_MFA_ENABLED The user has MFA enabled 1 << 14 USER_EMAIL_VERIFIED The 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 The team has a valid payout status
{
"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
}
{
"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 ,
"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
}
}
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
{
"os" : "win32" ,
"name" : "spaceship looter/spaceship_looter.exe" ,
"is_launcher" : false
}
Field Type Description id ?string The ID of the game sku ?string The SKU of the game distributor string The distributor of the game
Value Description discord Discord Store steam Steam twitch Twitch uplay Ubisoft Connect battle_net Battle.net origin Origin gog GOG.com epic_games Epic Games Store google_play Google Play Store
{
"id" : "445220" ,
"sku" : "445220" ,
"distributor" : "steam"
}
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
An application's supported installation contexts.
Value Name Description 0 GUILD_INSTALL Guild installation context 1 USER_INSTALL User installation context
Field Type Description oauth2_install_params? application install params objectThe default in-app authorization link for the installation context
{
"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 .
Field Type Description prefix string The prefix on the proxy target string The domain to proxy
{
"url_map" : [
{
"prefix" : "/api" ,
"target" : "api.example.com"
}
]
}
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] The platforms this activity is supported on 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 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 map[string, embedded activity platform config object] 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 .
Value Name Description 1 UNLOCKED Unrestricted orientation 2 PORTRAIT Portrait only 3 LANDSCAPE Landscape only
Value Description web Web android Android ios iOS
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
Value Name Description 0 NONE No special label 1 NEW The activity is new 2 UPDATED The activity has been recently updated
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 guilds with the guild feature global_launch The activity is available to all guilds
{
"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 ,
"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" } ,
"ios" : { "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_id" : "880218394199220334"
}
Field Type Description id string The ID of the asset type integer The type of the asset name string The name of the asset
Value Name Description 1 ONE Unknown 2 TWO Unknown
{
"id" : "1131721726514954381" ,
"type" : 1 ,
"name" : "alien"
}
The role connection object that an application has attached to a user.
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 -ified value (max 100 characters) for the user on the platform a bot has connected application? integration application objectThe application that owns the role connection application_metadata? array[application role connection 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.
Field Type Description type integer The [type of metadata value]](#application-role-connection-metadata-type) key string Key for the metadata field (1-50 characters, must be , , 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
Value Name Description 1 INTEGER_LESS_THAN_OR_EQUAL The metadata value () is less than or equal to the guild's configured value () 2 INTEGER_GREATER_THAN_OR_EQUAL The metadata value () is greater than or equal to the guild's configured value () 3 INTEGER_EQUAL The metadata value () is equal to the guild's configured value () 4 INTEGER_NOT_EQUAL The metadata value () is not equal to the guild's configured value () 5 DATETIME_LESS_THAN_OR_EQUAL The metadata value () is less than or equal to the guild's configured value (; ) 6 DATETIME_GREATER_THAN_OR_EQUAL The metadata value () is greater than or equal to the guild's configured value (; ) 7 BOOLEAN_EQUAL The metadata value () is equal to the guild's configured value (; ) 8 BOOLEAN_NOT_EQUAL The metadata value () is not equal to the guild's configured value (; )
Each metadata type offers a comparison operation that allows guilds to configure role requirements based on metadata values stored by the bot. Bots specify a for each user and guilds specify the required within the guild role settings.
GET
/applications
Returns a list of application objects that the current user has.
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.
Field Type Description with_team_applications? boolean Whether to include applications that a team the user is a part of owns
Field Type Description applications array[application ] The applications the user has assets map[snowflake, array[application asset ]] The assets for each application
{
"applications" : [
{
"id" : "891436243903728565" ,
"name" : "Lightbulb" ,
"icon" : "546242649e3b09a97af7e8f29983837b" ,
"description" : "\ud83d\udca1 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 ,
"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.
Field Type Description name string The name of the application type? integer The type of the application (only is supported) team_id? snowflake The ID of the team to create this application under description? ?string The description of the application icon? ?image data The application's icon cover_image? ?image data The application's default rich presence invite cover image flags? integer the application's flags (only , , and 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.
Field Type Description name? string The name of the application description? ?string The description of the application icon? ?image data The application's icon cover_image? ?image data The application's default rich presence invite cover image flags? integer The application's flags (only , , , and 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_version? integer The version of the application's interactions endpoint implementation 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 contenttags? ?array[string] Tags describing the content and functionality of the application (max 20 characters, max 5) install_params? ?application install params object The default in-app authorization link for the integration custom_install_url? ?string The default custom authorization link for the integration integration_types_config? map[int, ?application integration type configuration object] The configuration for each integration type supported by the application discoverability_state? integer The current application directory discoverability state of the application (only and is supported) monetization_state? integer The current application monetization state of the application (only and 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.
Field Type Description description? ?string The description of the application icon? ?image data The application's icon cover_image? ?image data The application's default rich presence invite cover image flags? integer The application's flags (only , , and 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_version? integer The version of the application's interactions endpoint implementation 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 contenttags? ?array[string] Tags describing the content and functionality of the application (max 20 characters, max 5) install_params? ?application install params object The default in-app authorization link for the integration custom_install_url? ?string The default custom authorization link for the integration integration_types_config? map[int, ?application integration type configuration object] 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.
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.
Field Type Description secret string The client secret key of the application
{
"secret" : "937it3ow87i4ery69876wqire"
}
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.
All newly-created applications have a bot attached by default, so this endpoint is only useful for older applications.
Field Type Description token ?string The token of the bot, if a bot was newly created
{
"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.
Field Type Description username? string The user's username (2-32 characters) avatar? ?image data The user's avatar banner? ?image data 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.
Field Type Description token string The token of the bot
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.
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/shelf
Returns the embedded activities available globally or in a particular guild.
Field Type Description guild_id? snowflake The ID to return embedded activities for
Field Type Description activities array[embedded activity config object] 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.
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.
Field Type Description activity_preview_video_asset_id? ?snowflake The ID of the application asset to preview the activity with supported_platforms? ?array[string] The platforms this activity is supported on 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? map[string, embedded activity platform config object] 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. GET
/oauth2/applications/{application.id}/assets
Returns a list of application assets for the given application ID.
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.
Due to caching, it may take a while for the asset to be retrievable after creation.
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}/attachment
Uploads an ephemeral attachment to the application. Must be a body.
Field Type Description file file contents The image file to upload, must be a JPEG, PNG, or GIF file
Field Type Description attachment attachment objectThe created ephemeral attachment
GET
/applications/detectable
Returns a list of detectable application objects representing games that can be detected by Discord for rich presence.
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? array[application executable object] The unique executables 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 Unknown (default false)
{
"aliases" : [ "PUBG" ] ,
"executables" : [
{
"is_launcher" : false ,
"name" : "tslgame.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
}
GET
/applications/public
Returns a list of partial application objects for the given IDs.
Field Type Description application_ids array[snowflake] The IDs of the applications to fetch (max 100); unknown IDs are ignored
GET
/applications/{application.id}/public
Returns a partial application object for the given ID with all public application fields.
GET
/applications/{application.id}/rpc
Returns a partial application object for the given ID with rich presence-related fields.
GET
/guilds/{guild.id}/applications
Returns a list of application objects attached to the given guild ID. Requires the permission.
An application is considered attached to a guild if the application's field is set to the guild's ID.
Field Type Description type? integer The type of applications to return include_team? 1 bool 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.
GET
/users/@me/applications/{application.id}/role-connection
Returns an application role connection object for the user, without optional fields.
This endpoint is only usable with an OAuth2 access token with the scope for the application specified in the path.
PUT
/users/@me/applications/{application.id}/role-connection
This endpoint is only usable with an OAuth2 access token with the scope for the application specified in the path.
Updates an application's role connection for the user. Returns the updated application role connection object on success.
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 -ified value (max 100 characters) for the user on the platform a bot has connected