Applications
Applications are Discord entities that represent games, services, and other integrations within Discord. Applications can be used for a variety of purposes, including OAuth2 authentication, rich presence, bots, and much more. Any external service that integrates with Discord in some way, including many first-party features like Stickers and Nitro, have an associated application.
Application Object
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 | 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 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? | 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 | 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) |
| bot_approximate_guild_count? | integer | Approximate count of guilds the application's bot is in |
| approximate_guild_count? | integer | Approximate count of guilds that have authorized the application with the applications.commands scope |
| 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 | What guilds the application can be authorized in |
| 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 event webhook types 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 |
| 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? | 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[integer, ?application integration type configuration object] | The configuration for each integration type supported by the application |
| connection_entrypoint_url? | string | The URL which users will be directed to when connecting their account in the application to their Discord account |
| 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 object | The configuration for the application's embedded activity |
| approved_consoles | array[integer] | The approved console types for social SDK builds |
| pricing_localization_strategy | string | The pricing localization strategy used for the application's store presence |
1 The primary_sku_id and slug fields can be combined to form a URL to the application's primary store page like so: https://discord.com/store/skus/{primary_sku_id}/{slug}.
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 integration_public and integration_require_code_grant. 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 CREATOR_MONETIZATION.
6 Only applicable for applications with the EMBEDDED 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 | 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 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 |
| 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 | 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? | 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[integer, ?application integration type configuration object] | The configuration for each integration type supported by the application |
| connection_entrypoint_url? | string | The URL which users will be directed to when connecting their account in the application to their Discord account |
| 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 | embedded activity config object | The configuration for the application's embedded activity |
| parent_id? | snowflake | The ID of the parent application |
1 The primary_sku_id and slug fields can be combined to form a URL to the application's primary store page like so: https://discord.com/store/skus/{primary_sku_id}/{slug}.
2 Only present when fetched from the Get Partial Application endpoint with with_guild set to true. 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 integration_public and integration_require_code_grant. These fields will not be present if the application does not have a bot.
5 Only applicable for applications with the EMBEDDED flag.
Application Type
| Value | Name | Description |
|---|---|---|
| 1 | DEPRECATED_GAME | A game integrating with Discord through the legacy GameSDK or sold on the defunct game store |
| 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 |
| 5 | GAME | A game integrating with Discord |
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 use the rpc scope without limitation | 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 | No |
| 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 | No |
| 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 | 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 << 33 | PARENT | Application is a parent of a child application | Yes |
| 1 << 34 | DISABLE_RELATIONSHIP_ACCESS | Application cannot access relationship information | Yes |
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 INTERNAL_EMPLOYEE_ONLY guild feature |
| 3 | JOIN_INTERNAL_ONLY | The application can only be authorized in guilds with the INTERNAL_EMPLOYEE_ONLY 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 |
| APPLICATION_DEAUTHORIZED | Sent when a user deauthorizes the application |
| ENTITLEMENT_CREATE | Sent when a user creates an entitlement |
| ENTITLEMENT_UPDATE | Sent when an entitlement is updated |
| ENTITLEMENT_DELETE | Sent when an entitlement is deleted |
| QUEST_USER_ENROLLMENT | Sent when a user enrolls in a quest |
| LOBBY_MESSAGE_CREATE | Sent when a user sends a message in a lobby |
| LOBBY_MESSAGE_UPDATE | Sent when a user updates a message in a lobby |
| LOBBY_MESSAGE_DELETE | Sent when a user deletes a message in a lobby |
| GAME_DIRECT_MESSAGE_CREATE | Sent when a user sends a direct message through the social layer SDK |
| GAME_DIRECT_MESSAGE_UPDATE | Sent when a user updates a direct message through the social layer SDK |
| GAME_DIRECT_MESSAGE_DELETE | Sent when a user deletes a direct message through the social layer SDK |
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 |
Pricing Localization Strategy
The values of this enum are currently unknown. Help us by figuring them out and submitting a pull request!
| Value | Description |
|---|---|
| localized_price_sets | Localized price for each currency |
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 }, "bot_approximate_guild_count": 100, "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 Object
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 Object
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 |
| microsoft | Microsoft Store |
| igdb | IGDB.com |
| glyph | Glyph.net |
| google_play | Google Play Store |
| nvidia_gdn_app | NVIDIA Cloud Gaming |
| gop | Gameopedia |
| roblox | Roblox Game |
| gdco | GameDiscover.co |
| xbox | Xbox Store |
| playstation | PlayStation Store |
Example Application SKU
{ "id": "445220", "sku": "445220", "distributor": "steam"}Application Install Params Object
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? | application install params object | The default in-app authorization link for the installation context |
Example Application Install Params
{ "scopes": ["applications.commands", "bot"], "permissions": "8"}Application Proxy Config Object
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_id>.discordsays.com/<prefix>.
Application Proxy Config Structure
| Field | Type | Description |
|---|---|---|
| url_map | array[application proxy mapping object] | 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 Object
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] | 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 |
| 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 | 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 |
| supported_locales 2 | array[string] | The ISO 3166-1 alpha-2 country codes the activity is available in |
| blocked_locales | array[string] | The ISO 3166-1 alpha-2 country codes the activity is blocked in |
1 Omitted in the application object.
2 If the field is empty, the activity is available in all countries.
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 ACTIVITIES_ALPHA guild feature |
| employee_release | The activity is available to guilds with the ACTIVITIES_EMPLOYEE guild feature |
| soft_launch | The activity is available to all guilds in Canada |
| soft_launch_multi_geo | The activity is available to all guilds in multiple countries |
| 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"}Embedded Activity Instance Object
Embedded Activity Instance Structure
| Field | Type | Description |
|---|---|---|
| application_id | snowflake | The ID of the application for this activity instance |
| composite_instance_id | string | The composite ID of the activity instance |
| instance_id | snowflake | The ID of the activity instance |
| launch_id | snowflake | The ID of the activity instance launch |
| location | embedded activity location object | The location the activity instance is running in |
| participants | array[embedded activity participant object] | The users participating in the activity instance |
Embedded Activity Instance ID
The composite ID of an activity instance is a globally unique identifier for an activity instance in a channel.
It is in the format i-<instance_id>-<location_kind>-<location_guild_id>-<location_channel_id>, where <location_guild_id> is omitted for private channels.
Embedded Activity Location Structure
| Field | Type | Description |
|---|---|---|
| id | string | The composite ID of the location |
| kind | string | The type of location the activity is running in |
| channel_id | snowflake | The ID of the channel the activity is running in |
| guild_id? | ?snowflake | The ID of the guild the activity is running in |
Embedded Activity Location ID
The composite ID of an activity location is a globally unique identifier for a channel.
It is in the format <location_kind>-<location_guild_id>-<location_channel_id>, where <location_guild_id> is omitted for private channels.
Embedded Activity Location Type
| Value | Description |
|---|---|
| gc | Guild channel |
| pc | Private channel |
Embedded Activity Participant Structure
| Field | Type | Description |
|---|---|---|
| user_id | snowflake | The ID of the user participating in the activity |
| member? | guild member object | The guild member data for the user, if in a guild |
| session_id | string | The session ID the participant is connected with |
| nonce | ?string | Unknown |
Example Embedded Activity Instance
{ "application_id": "1211781489931452447", "composite_instance_id": "i-1420621242070732950-pc-1386091138305359984", "instance_id": "1420621242070732950", "launch_id": "1420621242070732950", "location": { "channel_id": "1386091138305359984", "id": "pc-1386091138305359984", "kind": "pc" }, "participants": [ { "nonce": null, "session_id": "3b5d8906771b15af3346454c4e6cf9d5", "user_id": "852892297661906993" } ]}Application Asset Object
Application Asset Structure
| Field | Type | Description |
|---|---|---|
| id | string | The ID of the asset |
| type | integer | The type of the asset |
| 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"}Application Role Connection Object
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? | integration application object | The application that owns the role connection |
| application_metadata? | array[application role connection metadata object] | The metadata that the application has set for the role connection |
Application Role Connection Metadata Object
A representation of role connection metadata for an application.
When a guild has added an application integration and that integration has configured its role_connections_verification_url, 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 role_connections_verification_url, the integration will update a user's role connection with metadata using the OAuth2 role_connections.write scope.
Application Role Connection Metadata Structure
| Field | Type | Description |
|---|---|---|
| type | integer | The type of metadata value |
| 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 Object
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 <type>-<id> where type is the activity link type and id is the snowflake ID.
2 asset_path is only present on quick links, while asset_id 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"}Social SDK Release Object
Social SDK Release Structure
| Field | Type | Description |
|---|---|---|
| version | string | The version of the SDK |
| release_date_time | ISO8601 timestamp | When the SDK version released |
| artifacts 1 | array[social SDK release artifact object] | The SDK artifacts |
1 Only included when fetched from the Get Social SDK Release endpoint.
Social SDK Release Artifact Structure
| Field | Type | Description |
|---|---|---|
| download_url | string | The SDK download URL |
| filename | string | The filename |
| size_bytes | integer | The The size (in bytes) of the file |
Example Social SDK Release
{ "version": "1.2.8730", "release_date_time": "2025-05-08T12:00:00+00:00", "artifacts": [ { "download_url": "https://storage.googleapis.com/discord-slayer-sdk-artifacts/discord_partner_sdk/XXX/release/DiscordSocialSdk-1.2.8730.zip", "filename": "DiscordSocialSdk-1.2.8730.zip", "size_bytes": 156241906 }, { "download_url": "https://storage.googleapis.com/discord-slayer-sdk-artifacts/discord_partner_sdk/XXX/release/DiscordSocialSdk-UnityPlugin-1.2.8730.zip", "filename": "DiscordSocialSdk-UnityPlugin-1.2.8730.zip", "size_bytes": 67692124 }, { "download_url": "https://storage.googleapis.com/discord-slayer-sdk-artifacts/discord_partner_sdk/XXX/release/DiscordSocialSdk-UnitySample-1.2.8730.zip", "filename": "DiscordSocialSdk-UnitySample-1.2.8730.zip", "size_bytes": 67804418 }, { "download_url": "https://storage.googleapis.com/discord-slayer-sdk-artifacts/discord_partner_sdk/XXX/release/DiscordSocialSdk-UnrealPlugin-1.2.8730.zip", "filename": "DiscordSocialSdk-UnrealPlugin-1.2.8730.zip", "size_bytes": 81056342 }, { "download_url": "https://storage.googleapis.com/discord-slayer-sdk-artifacts/discord_partner_sdk/XXX/release/DiscordSocialSdk-UnrealSample-1.2.8730.zip", "filename": "DiscordSocialSdk-UnrealSample-1.2.8730.zip", "size_bytes": 81290780 } ]}Application External Identity Provider Configuration Structure
| Field | Type | Description |
|---|---|---|
| application_id | snowflake | The ID of the application |
| provider_type | integer | The type of the identity provider |
| client_id | string | The ID of the primary provider client |
| oidc_issuer_url | ?string | The primary URL of the OpenID Connect Issuer |
| clients | array[application external identity provider client object] | The provider clients |
Application Identity Provider Type
| Value | Description |
|---|---|
| OIDC | OpenID Connect |
| EPIC_ONLINE_SERVICES | Epic Online Services-based authentication |
| STEAM | Steam-based authentication |
| UNITY | Unity-based authentication |
| DISCORD_BOT 1 | Authentication via a Discord bot |
| APPLE | Apple ID-based authentication |
| PLAYSTATION_NETWORK | PlayStation Network-based authentication |
1 This provider type is not external and therefore cannot be created or modified.
Application External Identity Provider Client Structure
| Field | Type | Description |
|---|---|---|
| id | string | The ID of the provider client |
| oidc_issuer_url | ?string | The URL of the OpenID Connect Issuer |
| description? | ?string | The description of the client (max 250) |
| environment? | ?string | The environment for the client |
Example Application External Identity Provider Configuration
{ "application_id": "1169421761859833997", "provider_type": "UNITY", "client_id": "d360455e-2b56-4922-bf73-b64b157d5934", "oidc_issuer_url": null, "clients": [ { "id": "d360455e-2b56-4922-bf73-b64b157d5934", "oidc_issuer_url": null, "description": null, "environment": null } ]}Application Undeletable Reason
| Value | Name | Description |
|---|---|---|
| 0 | UNKNOWN | Unknown |
| 1 | USER_THRESHOLD_EXCEEDED | The application has over 500 active users |
| 2 | SOCIAL_SDK_APP_DELETION_ERROR | The application is not deletable for other reasons |
| 3 | PARENT_HAS_CHILD_APPLICATIONS | The application has child applications |
Approvable Console Type
| Value | Name | Description |
|---|---|---|
| 1 | XBOX | Xbox |
| 2 | PLAYSTATION_5 | PlayStation 5 |
| 3 | PLAYSTATION_4 | PlayStation 4 |
Endpoints
Get Applications
GET/applicationsReturns 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
GET/applications-with-assetsReturns 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 | array[application] | 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" } ] }}Create Application
POST/applicationsCreates 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? | ?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 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 Application
GET/applications/{application.id}Returns an application object for the given ID. User must be the owner of the application or member of the owning team.
Get Current Application
GET/applications/@meReturns the application object associated with the requestor.
Modify Application
PATCH/applications/{application.id}Modifies an application. User must be the owner of the application or developer of the owning 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? | ?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 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_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 |
| 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 |
| explicit_content_filter? | integer | Whether uploaded media content used in application commands is scanned and detected for explicit content |
| tags? | ?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[integer, ?application integration type configuration object] | The configuration for each integration type supported by the application |
| connection_entrypoint_url? | string | The URL which users will be directed to when connecting their account in the application to their Discord account |
| 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.
Modify Current Application
PATCH/applications/@meModifies 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? | ?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 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_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 detected for explicit content |
| tags? | ?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[integer, ?application integration type configuration object] | The configuration for each integration type supported by the application |
| connection_entrypoint_url? | string | The URL which users will be directed to when connecting their account in the application to their Discord account |
| max_participants? | ?integer | The maximum possible participants in the application's embedded activity (-1 for no limit) |
Delete Application
POST/applications/{application.id}/deleteDeletes an application permanently. User must be the owner of the application or owning team. Returns a 204 empty response on success.
Transfer Application
POST/applications/{application.id}/transferTransfers ownership of an application to a team. User must be the owner of the application or owning team. Returns an application object on success.
JSON Params
| Field | Type | Description |
|---|---|---|
| team_id | snowflake | The ID of the team to transfer ownership to |
Reset Application Secret
POST/applications/{application.id}/resetResets 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 owning team.
Response Body
| Field | Type | Description |
|---|---|---|
| secret | string | The client secret key of the application |
Example Response
{ "secret": "937it3ow87i4ery69876wqire"}Get Application Testers
GET/oauth2/applications/{application.id}/allowlistReturns 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 owning team.
Whitelisted User Structure
| Field | Type | Description |
|---|---|---|
| user | partial user object | The user that is whitelisted for the application |
| state | integer | The state of the whitelisted user |
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 |
Add Application Tester
POST/oauth2/applications/{application.id}/allowlistAdds a user to the application's list of testers. User must be the owner of the application or developer of the owning 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.
Accept Application Tester Invitation
POST/oauth2/allowlist/acceptAccepts 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. https://discord.com/oauth2/allowlist/accept?token=h9sYyrafnMhhObX4nGi9VOugCa9CSt). Returns a 204 empty response on success.
Query String Params
| Field | Type | Description |
|---|---|---|
| token | string | The verification token from the URL |
Remove Application Tester
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 owning team. Returns a 204 empty response on success.
Create Application Bot
POST/applications/{application.id}/botCreates and attaches a bot to the given application ID. User must be the owner of the application or developer of the owning 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"}Modify Application Bot
PATCH/applications/{application.id}/botModifies the application's bot. User must be the owner of the application or developer of the owning team. Returns the updated user object on success.
JSON Params
| 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 |
Reset Application Bot Token
POST/applications/{application.id}/bot/resetResets 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 owning team.
Response Body
| Field | Type | Description |
|---|---|---|
| token | string | The token of the bot |
Request Application Gateway Intents
POST/applications/{application.id}/request-additional-intentsSubmits a request for Gateway intents for a verified bot. User must be the owner of the application or developer of the owning 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 Application Discoverability State
GET/applications/{application.id}/discoverability-stateReturns information about the application's eligibility for application directory. User must be the owner of the application or member of the owning 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 |
Query Application Test Mode
GET/activities/{application.id}/test-modeQueries 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 owning team. Returns a 204 empty response on success.
Get Embedded Activities
GET/activities/shelfReturns 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 | 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 |
Set Application Embeddability
POST/applications/{application.id}/set-embeddedModifies whether the application is an embedded activity or not (determined by the EMBEDDED flag). User must be the owner of the application or developer of the owning team. Returns a 204 empty response on success.
JSON Params
| Field | Type | Description |
|---|---|---|
| embedded | boolean | Whether the application is embedded |
Get Embedded Activity Config
GET/applications/{application.id}/embedded-activity-configReturns the embedded activity config object for the given application ID. User must be the owner of the application or member of the owning team.
Modify Embedded Activity Config
PATCH/applications/{application.id}/embedded-activity-configModifies the embedded activity config for the given application ID. User must be the owner of the application or developer of the owning 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] | 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 Embedded Activity Instances
GET/activities/{application.id}/instances/{channel.id}Returns the currently active activity instances in a channel for the application. Useful for preventing unwanted activity sessions.
Response Body
| Field | Type | Description |
|---|---|---|
| instances | array[channel activity instance object] | The embedded activity instances in the channel |
Channel Activity Instance Structure
| Field | Type | Description |
|---|---|---|
| application_id | snowflake | The ID of the application |
| instance_id | string | The composite ID of the activity instance |
| channel_id | snowflake | The ID of the channel the activity is running in |
| guild_id? | snowflake | The ID of the guild the activity is running in |
| users | array[snowflake] | The IDs of the users participating in the activity |
Get Embedded Activity Instance
GET/applications/{application.id}/activity-instances/{instance.composite_instance_id}Returns an active activity instance for the application. Useful for preventing unwanted activity sessions.
Response Body
| Field | Type | Description |
|---|---|---|
| application_id | snowflake | The ID of the application |
| instance_id | string | The composite ID of the activity instance |
| launch_id | string | The ID of the activity instance |
| location | embedded activity location object | The location the activity instance is running in |
| users | array[snowflake] | The IDs of the users participating in the activity |
Launch Embedded Activity
POST/activities/{channel.id}/{application.id}Launches an embedded activity in a channel. Joins an existing activity instance if one exists, otherwise creates a new instance.
Requires the USE_EMBEDDED_ACTIVITIES permission, as well as the USE_EXTERNAL_APPS permission if the activity application is not authorized to the guild. Returns a 204 empty response on success.
JSON Params
| Field | Type | Description |
|---|---|---|
| session_id | string | The session ID of the user launching the activity |
Leave Embedded Activity Instance
POST/applications/{application.id}/activities/{instance.location.id}/instances/{instance.instance_id}/leaveLeaves an embedded activity instance. Returns an empty object on success.
JSON Params
| Field | Type | Description |
|---|---|---|
| session_id | string | The session ID of the user leaving the activity |
Get Application Proxy Config
GET/applications/{application.id}/proxy-configReturns the application's activity proxy config object for the given application ID. User must be the owner of the application or member of the owning team.
Modify Application Proxy Config
POST/applications/{application.id}/proxy-configReplaces the activity proxy config for the given application ID. User must be the owner of the application or developer of the owning 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
targetfield. - Parameter matching is supported in both the
prefixandtargetfields. For example, you can map/server/{id}toserver-{id}.example.com. - 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
/fooand/foo/bar, you must place the URL/foo/barbefore/fooor else the mapping for/foo/barwill never be reached.
JSON Params
| Field | Type | Description |
|---|---|---|
| url_map | array[application proxy mapping object] | The URLs mapped to the proxy |
Get Application Assets
GET/oauth2/applications/{application.id}/assetsReturns a list of application assets for the given application ID.
Query String Params
| Field | Type | Description |
|---|---|---|
| nocache? | boolean | Whether to bypass cache for the response (default false) |
Create Application Asset
POST/oauth2/applications/{application.id}/assetsCreates a new application asset for the given application ID. User must be the owner of the application or developer of the owning team. Returns an application asset object on success.
JSON Params
| Field | Type | Description |
|---|---|---|
| name | string | The name of the asset |
| type | integer | The type of the asset |
| image | image data | The asset's image |
Delete Application Asset
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 owning team. Returns a 204 empty response on success.
Proxy Application Assets
POST/applications/{application.id}/external-assetsProxies 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" }]Create Application Attachment
POST/applications/{application.id}/attachmentUploads an ephemeral attachment to the application. Must be a multipart/form-data body. Requires the EMBEDDED 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 Detectable Applications
GET/applications/detectableReturns 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 | array[application executable object] | 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 Partial Application
GET/applications/{application.id}/publicReturns 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 Partial Applications
GET/applications/publicReturns 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 Rich Presence Application
GET/applications/{application.id}/rpcReturns a partial application object for the given ID with rich presence-related fields.
Get Application Disclosures
GET/applications/{application.id}/disclosuresReturns 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}Acknowledge Application Disclosures
POST/applications/{application.id}/disclosuresAcknowledges 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 Guild Applications
GET/guilds/{guild.id}/applicationsReturns a list of application objects attached to the given guild ID. Requires the MANAGE_GUILD 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.
Report Unverified Application
POST/unverified-applicationsReports 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? | application distributor object | The distributor of the application SKU |
Application Distributor Structure
| Field | Type | Description |
|---|---|---|
| distributor | string | The application distributor |
| 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"]}Upload Unverified Application Icon
POST/unverified-applications/iconsUploads 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 | image data | The application's icon |
Get User Application Role Connections
GET/users/@me/applications/role-connectionsReturns a list of application role connection objects for the user.
Get User Application Role Connection
GET/users/@me/applications/{application.id}/role-connectionReturns an application role connection object for the user, without optional fields.
Modify User Application Role Connection
PUT/users/@me/applications/{application.id}/role-connectionReplaces 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 Application Managed Links
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 owning team.
Create Application Managed Link
POST/applications/{application.id}/managed-links/Creates a new activity managed link. User must be the owner of the application or developer of the owning 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 | image data | The activity link asset |
| title | string | The title of the activity link (1-32 characters) |
Get Application Managed Link
GET/applications/{application.id}/managed-links/{link_id}Returns an activity link object for the given ID.
Update Application Managed Link
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 owning team. Returns an activity link object on success.
Delete Application Managed Link
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 owning team. Returns a 204 empty response on success.
Create Application Quick Link
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 | image data | The activity link asset |
| title | string | The title of the activity link (1-32 characters) |
Get Application Quick Link
GET/applications/{application.id}/quick-links/{link_id}Returns an activity link object for the given ID.
Get Application Verification Eligibility
GET/applications/{application.id}/verificationChecks if an application is eligible to apply for verification. Returns an empty 204 response on success.
Verify Application
POST/applications/{application.id}/auto-verificationVerifies an application and allows it to scale past 100 servers. Returns a 204 empty response on success. User must be the owner of the owning 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
Get Social SDK Releases
GET/social-sdk/releasesReturns the currently available social SDK releases.
Response Body
| Field | Type | Description |
|---|---|---|
| releases | array[social SDK release object] | The SDK releases |
| latest_version | string | The latest version of the SDK |
Get Social SDK release
GET/social-sdk/releases/{release.version}Returns a social SDK release object for the given version.
Enable Social SDK
POST/applications/{application.id}/social-sdk/enableEnables social SDK features for the given application, applying the SOCIAL_LAYER_INTEGRATION_LIMITED application flag. Returns a 204 empty response on success.
JSON Params
| Field | Type | Description |
|---|---|---|
| name | string | The name of the company (1-100 characters) |
| business_email | string | The company business email (max 320 characters) |
| game_or_studio_name? | string | The name of the company (max 100 characters) |
| game_or_studio_url? | string | The URL of the company (max 512 characters) |
| email_updates_consent? | boolean | Whether to receive emails about the social SDK (default false) |
Get Application External Identity Provider Configurations
GET/applications/{application.id}/external-identity-provider-configurationsReturns a list of application external identity provider configuration objects for the given application.
Create Application External Identity Provider Configuration
PUT/applications/{application.id}/external-identity-provider-configurations/{identity_provider_type}Creates or updates a configuration for the given external identity provider type.
JSON Params
| Field | Type | Description |
|---|---|---|
| clients | array[application external identity provider client object] | The provider clients |
| oidc_issuer_url | ?string | The primary URL of the OpenID Connect Issuer |
Remove Application External Identity Provider Configuration
DELETE/applications/{application.id}/external-identity-provider-configurations/{identity_provider_type}Removes the given external identity provider. Returns a 204 empty response on success.
Get Application Undeletable Reason
GET/applications/{application.id}/can-deleteReturns a reason for why an application cannot be deleted.
Response Body
| Field | Type | Description |
|---|---|---|
| deletable? | ?boolean | Whether the application is deletable (default false) |
| reason? | ?integer | The reason why the application cannot be deleted |
Get Bulk Application Identities
POST/application-identitiesReturns a list of partial application identity objects connected to the authorized application.
JSON Params
| Field | Type | Description |
|---|---|---|
| user_ids 1 | array[snowflake] | The IDs of the users to retrieve identities for (1-100) |
1 Invalid IDs are ignored.
Partial Application Identity Structure
| Field | Type | Description |
|---|---|---|
| user_id | snowflake | The ID of the user |
| external_user_id | string | The ID of the user on the external identity provider |
Get User Application Profile
GET/applications/{application.id}/users/{user.id}/identities/{external_user_id}/profileReturns an user application profile object for the given application, user, and external user IDs.
Modify User Application Profile
PATCH/applications/{application.id}/users/{user.id}/identities/{external_user_id}/profileModifies the user's application profile. Returns an user application profile object on success.
JSON Params
| Field | Type | Description |
|---|---|---|
| username? | string | The username (max 1024) |
| metadata? | object | Custom metadata for the user application profile (max 25 keys, 1024 characters per key and value) |