Discord connector
OAuth 2.0CommunicationCollaborationConnect to Discord. Read user profile, guilds, roles, manage bots, and perform interactions.
Discord connector
-
Install the SDK
Section titled “Install the SDK”Terminal window npm install @scalekit-sdk/nodeTerminal window pip install scalekit -
Set your credentials
Section titled “Set your credentials”Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret> -
Set up the connector
Section titled “Set up the connector”Register your Discord credentials with Scalekit so it handles the token lifecycle. You do this once per environment.
Dashboard setup steps
Register your Scalekit environment with the Discord connector so Scalekit handles the OAuth 2.0 (PKCE) flow and token lifecycle for you. The connection name you create will be used to identify and invoke the connection programmatically.
-
Create a Discord application
-
Go to the Discord Developer Portal and sign in with your Discord account.
-
Click New Application, enter a name for your app (e.g.,
My Agent), accept the terms, and click Create.
-
-
Set up the OAuth2 redirect URI
-
In Scalekit dashboard, go to AgentKit > Connections > Create Connection. Find Discord and click Create. Copy the redirect URI shown — it looks like:
https://<SCALEKIT_ENVIRONMENT_URL>/sso/v1/oauth/<CONNECTION_ID>/callback
-
Back in the Discord Developer Portal, open your application and go to OAuth2 in the left sidebar.
-
Under Redirects, click Add Redirect, paste the URI from Scalekit, and click Save Changes.

-
-
Copy your credentials
-
On the OAuth2 page, copy the Client ID.
-
Click Reset Secret to generate a Client Secret and copy it immediately. It will not be shown again.
-
-
Add credentials in Scalekit
-
In Scalekit dashboard, go to AgentKit > Connections and open the connection you created.
-
Enter the credentials you copied:
-
Client ID
-
Client Secret
-
Scopes — select the scopes your agent needs. Common scopes:
Scope What it grants identifyRead basic user profile (username, avatar, discriminator) emailRead the user’s email address guildsList the guilds the user belongs to guilds.members.readRead the user’s member data within a guild connectionsRead third-party accounts linked to the user’s Discord profile openidUse Discord as an OpenID Connect provider applications.entitlementsRead premium entitlements for your application

-
-
Click Save.
-
-
Configure the bot scope (optional)
If your agent needs to act as a bot in a server — sending messages, managing channels, or reacting to events — include the
botscope when you request authorization. Discord then asks the installing user to also grant a set of bot permissions.-
In the Scalekit connection settings, set:
- Bot Permissions — a bitfield describing what your bot can do in the server. Use the permissions calculator on your application’s Bot page to generate this value, or use the recommended default
2260657982483703for common read/write access. - Pre-selected Guild ID — optional. Pre-fills Discord’s server picker with a specific server ID during authorization.
- Disable Guild Select — optional. When enabled with a Pre-selected Guild ID, the user cannot pick a different server.
- Installation Context — optional. Controls whether
applications.commandsinstalls to a server or to the authorizing user’s account.

- Bot Permissions — a bitfield describing what your bot can do in the server. Use the permissions calculator on your application’s Bot page to generate this value, or use the recommended default
-
-
-
Authorize and make your first call
Section titled “Authorize and make your first call”quickstart.ts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENV_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'discord'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Discord:', link)process.stdout.write('Press Enter after authorizing...')await new Promise(r => process.stdin.once('data', r))// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'discord_get_gateway',toolInput: {},})console.log(result)quickstart.py import osfrom scalekit.client import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENV_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "discord"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Discord:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="discord_get_gateway",connection_name=connection_name,identifier=identifier,)print(result)
What you can do
Section titled “What you can do”Connect this agent connector to let your agent:
- Entitlement consume — For one-time purchase consumable SKUs, mark a given entitlement for the user as consumed
- Create lobby channel invite for self, or join lobby — Create a single-use guild invite to a lobby’s linked channel, targeted at the calling user
- Delete current user application role connection, test entitlement — Deletes the application role connection for the current user and the given application
- Permissions edit application command — Edit the permissions for a specific application command in a guild
- Get application command permissions, current user application entitlements, current user application role connection — Fetch permissions for a specific application command in a guild
- Lobby leave, link channel to — Remove the calling user from the specified Discord lobby
Common workflows
Section titled “Common workflows”Proxy API call
const user = await actions.request({ connectionName: 'discord', identifier: 'user_123', path: '/api/users/@me', method: 'GET',});console.log(user);user = actions.request( connection_name='discord', identifier='user_123', path="/api/users/@me", method="GET",)print(user)Execute a tool
const result = await actions.executeTool({ connector: 'discord', identifier: 'user_123', toolName: 'discord_get_current_user_application_entitlements', toolInput: {},});console.log(result);result = actions.execute_tool( connection_name='discord', identifier='user_123', tool_name='discord_get_current_user_application_entitlements', tool_input={},)print(result)Tool list
Section titled “Tool list”Use the exact tool names from the Tool list below when you call execute_tool. If you’re not sure which name to use, list the tools available for the current user first.
discord_consume_entitlement#For one-time purchase consumable SKUs, mark a given entitlement for the user as consumed. The entitlement will have consumed: true when listed afterward. This action cannot be undone. Returns 204 No Content on success. Per Discord's official OpenAPI spec, this endpoint also accepts an OAuth2 Bearer token with the `applications.entitlements` scope (in addition to Bot Token) — use this tool for user-authorized OAuth connections, or the equivalent discordbot_* tool for bot-token connections.2 params
For one-time purchase consumable SKUs, mark a given entitlement for the user as consumed. The entitlement will have consumed: true when listed afterward. This action cannot be undone. Returns 204 No Content on success. Per Discord's official OpenAPI spec, this endpoint also accepts an OAuth2 Bearer token with the `applications.entitlements` scope (in addition to Bot Token) — use this tool for user-authorized OAuth connections, or the equivalent discordbot_* tool for bot-token connections.
application_idstringrequiredThe ID of the application that owns the entitlement.entitlement_idstringrequiredThe ID of the entitlement to mark as consumed.discord_create_lobby_channel_invite_for_self#Create a single-use guild invite to a lobby's linked channel, targeted at the calling user. The lobby must have a linked channel and the caller must be a member of the lobby. The invite expires after one hour. Uses a Bearer token with the sdk.social_layer scope. Per Discord's official OpenAPI spec, this endpoint also accepts a Bot Token (in addition to OAuth2) — use this tool for user-authorized OAuth connections, or the equivalent discordbot_* tool for bot-token connections. Returns a lobby invite object.1 param
Create a single-use guild invite to a lobby's linked channel, targeted at the calling user. The lobby must have a linked channel and the caller must be a member of the lobby. The invite expires after one hour. Uses a Bearer token with the sdk.social_layer scope. Per Discord's official OpenAPI spec, this endpoint also accepts a Bot Token (in addition to OAuth2) — use this tool for user-authorized OAuth connections, or the equivalent discordbot_* tool for bot-token connections. Returns a lobby invite object.
lobby_idstringrequiredThe ID of the lobby to create a channel invite for.discord_create_or_join_lobby#Create a new lobby identified by a secret, or join the calling user to the existing lobby with that secret if one already exists. Updates lobby metadata and the calling member's metadata on join. Uses a Bearer token with the sdk.social_layer scope. Per Discord's official OpenAPI spec, this endpoint also accepts a Bot Token (in addition to OAuth2) — use this tool for user-authorized OAuth connections, or the equivalent discordbot_* tool for bot-token connections. Returns a lobby object.4 params
Create a new lobby identified by a secret, or join the calling user to the existing lobby with that secret if one already exists. Updates lobby metadata and the calling member's metadata on join. Uses a Bearer token with the sdk.social_layer scope. Per Discord's official OpenAPI spec, this endpoint also accepts a Bot Token (in addition to OAuth2) — use this tool for user-authorized OAuth connections, or the equivalent discordbot_* tool for bot-token connections. Returns a lobby object.
secretstringrequiredSecret used to identify the lobby. If a lobby for this application already exists with this secret, the caller joins it; otherwise a new lobby is created. Max 250 characters.idle_timeout_secondsintegeroptionalSeconds to wait before shutting down the lobby after it becomes idle. Between 5 and 604800 (7 days).lobby_metadataobjectoptionalOptional dictionary of string key/value pairs to set on the lobby. Max total length 1000. Overwrites any existing lobby metadata.member_metadataobjectoptionalOptional dictionary of string key/value pairs to set on the calling user's lobby member. Max total length 1000.discord_delete_current_user_application_role_connection#Deletes the application role connection for the current user and the given application. Requires an OAuth2 access token with the role_connections.write scope for the application specified in the path.1 param
Deletes the application role connection for the current user and the given application. Requires an OAuth2 access token with the role_connections.write scope for the application specified in the path.
application_idstringrequiredThe ID of the application to delete the role connection for.discord_delete_test_entitlement#Delete a currently-active test entitlement. Discord will act as though that user or guild no longer has entitlement to your premium offering. Returns 204 No Content on success. Per Discord's official OpenAPI spec, this endpoint also accepts an OAuth2 Bearer token with the `applications.entitlements` scope (in addition to Bot Token) — use this tool for user-authorized OAuth connections, or the equivalent discordbot_* tool for bot-token connections.2 params
Delete a currently-active test entitlement. Discord will act as though that user or guild no longer has entitlement to your premium offering. Returns 204 No Content on success. Per Discord's official OpenAPI spec, this endpoint also accepts an OAuth2 Bearer token with the `applications.entitlements` scope (in addition to Bot Token) — use this tool for user-authorized OAuth connections, or the equivalent discordbot_* tool for bot-token connections.
application_idstringrequiredThe ID of the application that owns the entitlement.entitlement_idstringrequiredThe ID of the test entitlement to delete.discord_edit_application_command_permissions#Edit the permissions for a specific application command in a guild. Requires OAuth2 bearer token with applications.commands.permissions.update scope. Returns a guild application command permissions object.4 params
Edit the permissions for a specific application command in a guild. Requires OAuth2 bearer token with applications.commands.permissions.update scope. Returns a guild application command permissions object.
application_idstringrequiredThe ID of the application.command_idstringrequiredThe ID of the command to edit permissions for.guild_idstringrequiredThe ID of the guild.permissionsarrayrequiredArray of application command permission objects specifying who can use the command.discord_get_application_command_permissions#Fetch permissions for a specific application command in a guild. Returns a guild application command permissions object.3 params
Fetch permissions for a specific application command in a guild. Returns a guild application command permissions object.
application_idstringrequiredThe ID of the application.command_idstringrequiredThe ID of the command to get permissions for.guild_idstringrequiredThe ID of the guild.discord_get_current_user_application_entitlements#Retrieves entitlements for the current user for a given application. Use when you need to check what premium offerings or subscriptions the authenticated user has access to. Requires the applications.entitlements OAuth2 scope.9 params
Retrieves entitlements for the current user for a given application. Use when you need to check what premium offerings or subscriptions the authenticated user has access to. Requires the applications.entitlements OAuth2 scope.
application_idstringrequiredThe ID of the application to retrieve entitlements for.afterstringoptionalRetrieve entitlements after this entitlement ID (for pagination).beforestringoptionalRetrieve entitlements before this entitlement ID (for pagination).exclude_deletedbooleanoptionalWhether to exclude deleted entitlements.exclude_endedbooleanoptionalWhether to exclude ended entitlements.guild_idstringoptionalThe ID of the guild to look up entitlements for.limitintegeroptionalMaximum number of entitlements to return (1–100).sku_idsstringoptionalComma-delimited list of SKU IDs to check entitlements for.user_idstringoptionalThe ID of the user to look up entitlements for.discord_get_current_user_application_role_connection#Returns the application role connection for the current user and the given application. Requires an OAuth2 access token with the role_connections.write scope for the application specified in the path.1 param
Returns the application role connection for the current user and the given application. Requires an OAuth2 access token with the role_connections.write scope for the application specified in the path.
application_idstringrequiredThe ID of the application to get the role connection for.discord_get_entitlement#Retrieve a single entitlement for an application by ID. Use to check whether a specific entitlement is active, its type, and its expiration window. Per Discord's official OpenAPI spec, this endpoint also accepts an OAuth2 Bearer token with the `applications.entitlements` scope (in addition to Bot Token) — use this tool for user-authorized OAuth connections, or the equivalent discordbot_* tool for bot-token connections.2 params
Retrieve a single entitlement for an application by ID. Use to check whether a specific entitlement is active, its type, and its expiration window. Per Discord's official OpenAPI spec, this endpoint also accepts an OAuth2 Bearer token with the `applications.entitlements` scope (in addition to Bot Token) — use this tool for user-authorized OAuth connections, or the equivalent discordbot_* tool for bot-token connections.
application_idstringrequiredThe ID of the application that owns the entitlement.entitlement_idstringrequiredThe ID of the entitlement to retrieve.discord_get_gateway#Retrieves a valid WebSocket (wss) URL for establishing a Gateway connection to Discord. Use when you need to connect to the Discord Gateway for real-time events. No authentication required.0 params
Retrieves a valid WebSocket (wss) URL for establishing a Gateway connection to Discord. Use when you need to connect to the Discord Gateway for real-time events. No authentication required.
discord_get_guild_application_command_permissions#Fetch permissions for all commands in a guild. Returns an array of guild application command permissions objects. Per Discord's official OpenAPI spec, this endpoint also accepts an OAuth2 Bearer token with the `applications.commands.permissions.update` scope (in addition to Bot Token) — use this tool for user-authorized OAuth connections, or the equivalent discordbot_* tool for bot-token connections.2 params
Fetch permissions for all commands in a guild. Returns an array of guild application command permissions objects. Per Discord's official OpenAPI spec, this endpoint also accepts an OAuth2 Bearer token with the `applications.commands.permissions.update` scope (in addition to Bot Token) — use this tool for user-authorized OAuth connections, or the equivalent discordbot_* tool for bot-token connections.
application_idstringrequiredThe ID of the application.guild_idstringrequiredThe ID of the guild.discord_get_guild_template#Retrieves information about a Discord guild template using its unique template code. Use when you need to get details about a guild template for creating new servers.1 param
Retrieves information about a Discord guild template using its unique template code. Use when you need to get details about a guild template for creating new servers.
template_codestringrequiredThe unique code of the guild template.discord_get_guild_widget#Retrieves the guild widget in JSON format. Returns public information about a Discord guild's widget including online member count and invite URL. The widget must be enabled in the guild's server settings.1 param
Retrieves the guild widget in JSON format. Returns public information about a Discord guild's widget including online member count and invite URL. The widget must be enabled in the guild's server settings.
guild_idstringrequiredThe ID of the Discord guild (server) to retrieve the widget for.discord_get_guild_widget_png#Retrieves a PNG image widget for a Discord guild. Returns a visual representation of the guild widget that can be embedded on external websites. The widget must be enabled in the guild's server settings.2 params
Retrieves a PNG image widget for a Discord guild. Returns a visual representation of the guild widget that can be embedded on external websites. The widget must be enabled in the guild's server settings.
guild_idstringrequiredThe ID of the Discord guild (server) to retrieve the widget image for.stylestringoptionalStyle of the widget image.discord_get_invite_deprecated#Retrieves information about a specific invite code, including guild and channel details. Use discord_resolve_invite instead, which supports additional query parameters such as guild_scheduled_event_id.3 params
Retrieves information about a specific invite code, including guild and channel details. Use discord_resolve_invite instead, which supports additional query parameters such as guild_scheduled_event_id.
invite_codestringrequiredThe unique invite code to look up.guild_scheduled_event_idstringoptionalGuild scheduled event ID to include event details in the response.with_countsbooleanoptionalWhether to include approximate member and presence counts.discord_get_lobby_messages#Retrieve the most recent messages in a Discord lobby. The calling user must be a member of the lobby. Uses a Bearer token with the sdk.social_layer scope. Per Discord's official OpenAPI spec, this endpoint also accepts a Bot Token (in addition to OAuth2) — use this tool for user-authorized OAuth connections, or the equivalent discordbot_* tool for bot-token connections. Returns an array of lobby message objects.2 params
Retrieve the most recent messages in a Discord lobby. The calling user must be a member of the lobby. Uses a Bearer token with the sdk.social_layer scope. Per Discord's official OpenAPI spec, this endpoint also accepts a Bot Token (in addition to OAuth2) — use this tool for user-authorized OAuth connections, or the equivalent discordbot_* tool for bot-token connections. Returns an array of lobby message objects.
lobby_idstringrequiredThe ID of the lobby to retrieve messages from.limitintegeroptionalMaximum number of messages to return (1-200). Defaults to 50.discord_get_my_guild_member#Retrieves the guild member object for the currently authenticated user within a specified guild, provided they are a member of that guild. Requires the guilds.members.read OAuth2 scope.1 param
Retrieves the guild member object for the currently authenticated user within a specified guild, provided they are a member of that guild. Requires the guilds.members.read OAuth2 scope.
guild_idstringrequiredThe ID of the guild to retrieve the current user's member object from.discord_get_my_oauth2_authorization#Retrieves current OAuth2 authorization details for the application, including app info, granted scopes, token expiration date, and user data (contingent on scopes like 'identify'). Useful for verifying what access the current token has.0 params
Retrieves current OAuth2 authorization details for the application, including app info, granted scopes, token expiration date, and user data (contingent on scopes like 'identify'). Useful for verifying what access the current token has.
discord_get_my_user#Fetches comprehensive profile information for the currently authenticated Discord user, including username, avatar, discriminator, locale, and email if the 'email' OAuth2 scope is granted.0 params
Fetches comprehensive profile information for the currently authenticated Discord user, including username, avatar, discriminator, locale, and email if the 'email' OAuth2 scope is granted.
discord_get_openid_connect_userinfo#Retrieves OpenID Connect compliant user information for the authenticated user. Returns standardized OIDC claims (sub, email, nickname, picture, locale, etc.) following the OpenID Connect specification. Requires an OAuth2 access token with the 'openid' scope; additional fields require 'identify' and 'email' scopes.0 params
Retrieves OpenID Connect compliant user information for the authenticated user. Returns standardized OIDC claims (sub, email, nickname, picture, locale, etc.) following the OpenID Connect specification. Requires an OAuth2 access token with the 'openid' scope; additional fields require 'identify' and 'email' scopes.
discord_get_public_keys#Retrieves Discord OAuth2 public keys (JWKS). Use when you need to verify OAuth2 tokens or access public keys for cryptographic operations such as signature verification.0 params
Retrieves Discord OAuth2 public keys (JWKS). Use when you need to verify OAuth2 tokens or access public keys for cryptographic operations such as signature verification.
discord_get_sku_subscription#Retrieve a single subscription for a SKU by its ID. Returns a subscription object with its status, current billing period, and the entitlements it grants. Per Discord's official OpenAPI spec, this endpoint also accepts an OAuth2 Bearer token (in addition to Bot Token) — use this tool for user-authorized OAuth connections, or the equivalent discordbot_* tool for bot-token connections.3 params
Retrieve a single subscription for a SKU by its ID. Returns a subscription object with its status, current billing period, and the entitlements it grants. Per Discord's official OpenAPI spec, this endpoint also accepts an OAuth2 Bearer token (in addition to Bot Token) — use this tool for user-authorized OAuth connections, or the equivalent discordbot_* tool for bot-token connections.
sku_idstringrequiredThe ID of the SKU the subscription belongs to.subscription_idstringrequiredThe ID of the subscription to retrieve.user_idstringoptionalOptional user ID to verify the subscription belongs to.discord_get_user#Retrieve information about a Discord user. With OAuth Bearer token, use '@me' as user_id to return the authenticated user's information. With a Bot token, you can query any user by their ID. Returns username, avatar, discriminator, locale, premium status, and email (if email scope is granted).1 param
Retrieve information about a Discord user. With OAuth Bearer token, use '@me' as user_id to return the authenticated user's information. With a Bot token, you can query any user by their ID. Returns username, avatar, discriminator, locale, premium status, and email (if email scope is granted).
user_idstringrequiredThe ID of the user to retrieve. Use '@me' to get the authenticated user's information.discord_leave_lobby#Remove the calling user from the specified Discord lobby. Safe to call even if the user is no longer a member, but fails if the lobby does not exist. Uses a Bearer token for authorization. Per Discord's official OpenAPI spec, this endpoint also accepts a Bot Token (in addition to OAuth2) — use this tool for user-authorized OAuth connections, or the equivalent discordbot_* tool for bot-token connections. Returns nothing.1 param
Remove the calling user from the specified Discord lobby. Safe to call even if the user is no longer a member, but fails if the lobby does not exist. Uses a Bearer token for authorization. Per Discord's official OpenAPI spec, this endpoint also accepts a Bot Token (in addition to OAuth2) — use this tool for user-authorized OAuth connections, or the equivalent discordbot_* tool for bot-token connections. Returns nothing.
lobby_idstringrequiredThe ID of the lobby to leave.discord_link_channel_to_lobby#Link an existing guild text channel to a Discord lobby, or unlink any currently linked channel by omitting channel_id. Uses a Bearer token for authorization; the caller must be a lobby member with the CanLinkLobby lobby member flag. Per Discord's official OpenAPI spec, this endpoint also accepts a Bot Token (in addition to OAuth2) — use this tool for user-authorized OAuth connections, or the equivalent discordbot_* tool for bot-token connections. Returns the updated lobby object.2 params
Link an existing guild text channel to a Discord lobby, or unlink any currently linked channel by omitting channel_id. Uses a Bearer token for authorization; the caller must be a lobby member with the CanLinkLobby lobby member flag. Per Discord's official OpenAPI spec, this endpoint also accepts a Bot Token (in addition to OAuth2) — use this tool for user-authorized OAuth connections, or the equivalent discordbot_* tool for bot-token connections. Returns the updated lobby object.
lobby_idstringrequiredThe ID of the lobby to link or unlink a channel for.channel_idstringoptionalThe ID of the channel to link to the lobby. If omitted, any currently linked channel is unlinked from the lobby.discord_list_guild_channels#Retrieve all channels in a Discord guild (server). Returns a list of channel objects including text channels, voice channels, categories, and threads. Per Discord's official OpenAPI spec, this endpoint also accepts a plain OAuth2 Bearer token (no specific scope required beyond a valid authorization) in addition to Bot Token — use this tool for user-authorized OAuth connections, or the equivalent discordbot_* tool for bot-token connections.1 param
Retrieve all channels in a Discord guild (server). Returns a list of channel objects including text channels, voice channels, categories, and threads. Per Discord's official OpenAPI spec, this endpoint also accepts a plain OAuth2 Bearer token (no specific scope required beyond a valid authorization) in addition to Bot Token — use this tool for user-authorized OAuth connections, or the equivalent discordbot_* tool for bot-token connections.
guild_idstringrequiredThe ID of the guild to retrieve channels for.discord_list_my_guilds#Lists the current user's guilds, returning partial data (id, name, icon, owner, permissions, features) for each. Primarily used for displaying server lists or verifying guild memberships. Requires the 'guilds' OAuth2 scope.4 params
Lists the current user's guilds, returning partial data (id, name, icon, owner, permissions, features) for each. Primarily used for displaying server lists or verifying guild memberships. Requires the 'guilds' OAuth2 scope.
afterstringoptionalGet guilds after this guild ID (for pagination).beforestringoptionalGet guilds before this guild ID (for pagination).limitintegeroptionalMaximum number of guilds to return (1–200, default 200).with_countsbooleanoptionalWhether to include approximate member and presence counts for each guild.discord_list_sku_subscriptions#Retrieve all subscriptions containing a given SKU, filtered by user. Returns a list of subscription objects representing recurring payments for that SKU. Per Discord's official OpenAPI spec, this endpoint also accepts an OAuth2 Bearer token (in addition to Bot Token) — use this tool for user-authorized OAuth connections, or the equivalent discordbot_* tool for bot-token connections. When called with an OAuth2 token, user_id is optional and defaults to the authorizing user; it is required for Bot Token requests. Supports cursor-based pagination via before/after and limit.5 params
Retrieve all subscriptions containing a given SKU, filtered by user. Returns a list of subscription objects representing recurring payments for that SKU. Per Discord's official OpenAPI spec, this endpoint also accepts an OAuth2 Bearer token (in addition to Bot Token) — use this tool for user-authorized OAuth connections, or the equivalent discordbot_* tool for bot-token connections. When called with an OAuth2 token, user_id is optional and defaults to the authorizing user; it is required for Bot Token requests. Supports cursor-based pagination via before/after and limit.
sku_idstringrequiredThe ID of the SKU to list subscriptions for.afterstringoptionalList subscriptions after this subscription ID (for pagination).beforestringoptionalList subscriptions before this subscription ID (for pagination).limitintegeroptionalNumber of results to return (1-100). Defaults to 50.user_idstringoptionalThe ID of the user to return subscriptions for. Optional for OAuth2 requests (defaults to the authorizing user).discord_list_sticker_packs#Retrieves all available Discord Nitro sticker packs. Returns official Discord sticker packs including pack name, description, stickers, cover sticker, and banner asset.0 params
Retrieves all available Discord Nitro sticker packs. Returns official Discord sticker packs including pack name, description, stickers, cover sticker, and banner asset.
discord_resolve_invite#Resolves and retrieves information about a Discord invite code, including the associated guild, channel, event, and inviter. Prefer this over the deprecated Get Invite tool for new integrations.3 params
Resolves and retrieves information about a Discord invite code, including the associated guild, channel, event, and inviter. Prefer this over the deprecated Get Invite tool for new integrations.
invite_codestringrequiredThe unique invite code to resolve.guild_scheduled_event_idstringoptionalGuild scheduled event ID to include event details in the response.with_countsbooleanoptionalWhether to include approximate member and presence counts.discord_retrieve_user_connections#Retrieves a list of the authenticated user's connected third-party accounts on Discord, such as Twitch, YouTube, GitHub, Steam, and others. Requires the 'connections' OAuth2 scope.0 params
Retrieves a list of the authenticated user's connected third-party accounts on Discord, such as Twitch, YouTube, GitHub, Steam, and others. Requires the 'connections' OAuth2 scope.
discord_send_lobby_message#Send a message to a Discord lobby. The calling user must be a member of the lobby. Uses a Bearer token with the sdk.social_layer scope. Per Discord's official OpenAPI spec, this endpoint also accepts a Bot Token (in addition to OAuth2) — use this tool for user-authorized OAuth connections, or the equivalent discordbot_* tool for bot-token connections. If the lobby has a linked channel, the message is also forwarded there; if forwarding fails (for example due to AutoMod), the lobby message is still delivered to other lobby members. Returns the created lobby message object.4 params
Send a message to a Discord lobby. The calling user must be a member of the lobby. Uses a Bearer token with the sdk.social_layer scope. Per Discord's official OpenAPI spec, this endpoint also accepts a Bot Token (in addition to OAuth2) — use this tool for user-authorized OAuth connections, or the equivalent discordbot_* tool for bot-token connections. If the lobby has a linked channel, the message is also forwarded there; if forwarding fails (for example due to AutoMod), the lobby message is still delivered to other lobby members. Returns the created lobby message object.
contentstringrequiredMessage content. Must be non-empty.lobby_idstringrequiredThe ID of the lobby to send the message to.flagsintegeroptionalOptional message flags combined as a bitfield. Only flags creatable by the Social SDK are accepted.metadataobjectoptionalOptional dictionary of string key/value pairs delivered alongside the message to active clients via the Social SDK. Not persisted on the linked channel message.discord_update_current_user_application_role_connection#Updates and returns the application role connection for the current user and the given application. Requires an OAuth2 access token with the role_connections.write scope for the application specified in the path.4 params
Updates and returns the application role connection for the current user and the given application. Requires an OAuth2 access token with the role_connections.write scope for the application specified in the path.
application_idstringrequiredThe ID of the application to update the role connection for.metadataobjectoptionalObject mapping application role connection metadata keys to their stringified value (max 100 characters) for the user on the platform a bot has connected.platform_namestringoptionalThe vanity name of the platform a bot has connected (max 50 characters).platform_usernamestringoptionalThe username on the platform a bot has connected (max 100 characters).