{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "#/components/schemas/OAuth2Scopes", "title": "OAuth2Scopes", "type": "string", "oneOf": [ { "title": "IDENTIFY", "description": "allows /users/@me without email", "const": "identify" }, { "title": "EMAIL", "description": "enables /users/@me to return an email", "const": "email" }, { "title": "CONNECTIONS", "description": "allows /users/@me/connections to return linked third-party accounts", "const": "connections" }, { "title": "GUILDS", "description": "allows /users/@me/guilds to return basic information about all of a user's guilds", "const": "guilds" }, { "title": "GUILDS_JOIN", "description": "allows /guilds/{guild.id}/members/{user.id} to be used for joining users to a guild", "const": "guilds.join" }, { "title": "GUILDS_MEMBERS_READ", "description": "allows /users/@me/guilds/{guild.id}/member to return a user's member information in a guild", "const": "guilds.members.read" }, { "title": "GDM_JOIN", "description": "allows your app to join users to a group dm", "const": "gdm.join" }, { "title": "BOT", "description": "for oauth2 bots, this puts the bot in the user's selected guild by default", "const": "bot" }, { "title": "RPC", "description": "for local rpc server access, this allows you to control a user's local Discord client - requires Discord approval", "const": "rpc" }, { "title": "RPC_NOTIFICATIONS_READ", "description": "for local rpc server access, this allows you to receive notifications pushed out to the user - requires Discord approval", "const": "rpc.notifications.read" }, { "title": "RPC_VOICE_READ", "description": "for local rpc server access, this allows you to read a user's voice settings and listen for voice events - requires Discord approval", "const": "rpc.voice.read" }, { "title": "RPC_VOICE_WRITE", "description": "for local rpc server access, this allows you to update a user's voice settings - requires Discord approval", "const": "rpc.voice.write" }, { "title": "RPC_VIDEO_READ", "description": "for local rpc server access, this allows you to read a user's video status - requires Discord approval", "const": "rpc.video.read" }, { "title": "RPC_VIDEO_WRITE", "description": "for local rpc server access, this allows you to update a user's video settings - requires Discord approval", "const": "rpc.video.write" }, { "title": "RPC_SCREENSHARE_READ", "description": "for local rpc server access, this allows you to read a user's screenshare status- requires Discord approval", "const": "rpc.screenshare.read" }, { "title": "RPC_SCREENSHARE_WRITE", "description": "for local rpc server access, this allows you to update a user's screenshare settings- requires Discord approval", "const": "rpc.screenshare.write" }, { "title": "RPC_ACTIVITIES_WRITE", "description": "for local rpc server access, this allows you to update a user's activity - requires Discord approval", "const": "rpc.activities.write" }, { "title": "WEBHOOK_INCOMING", "description": "this generates a webhook that is returned in the oauth token response for authorization code grants", "const": "webhook.incoming" }, { "title": "MESSAGES_READ", "description": "for local rpc server api access, this allows you to read messages from all client channels (otherwise restricted to channels/guilds your app creates)", "const": "messages.read" }, { "title": "APPLICATIONS_BUILDS_UPLOAD", "description": "allows your app to upload/update builds for a user's applications - requires Discord approval", "const": "applications.builds.upload" }, { "title": "APPLICATIONS_BUILDS_READ", "description": "allows your app to read build data for a user's applications", "const": "applications.builds.read" }, { "title": "APPLICATIONS_COMMANDS", "description": "allows your app to use commands in a guild", "const": "applications.commands" }, { "title": "APPLICATIONS_COMMANDS_PERMISSIONS_UPDATE", "description": "allows your app to update permissions for its commands in a guild a user has permissions to", "const": "applications.commands.permissions.update" }, { "title": "APPLICATIONS_COMMANDS_UPDATE", "description": "allows your app to update its commands using a Bearer token - client credentials grant only", "const": "applications.commands.update" }, { "title": "APPLICATIONS_STORE_UPDATE", "description": "allows your app to read and update store data (SKUs, store listings, achievements, etc.) for a user's applications", "const": "applications.store.update" }, { "title": "APPLICATIONS_ENTITLEMENTS", "description": "allows your app to read entitlements for a user's applications", "const": "applications.entitlements" }, { "title": "ACTIVITIES_READ", "description": "allows your app to fetch data from a user's \"Now Playing/Recently Played\" list - requires Discord approval", "const": "activities.read" }, { "title": "ACTIVITIES_WRITE", "description": "allows your app to update a user's activity - requires Discord approval (NOT REQUIRED FOR GAMESDK ACTIVITY MANAGER)", "const": "activities.write" }, { "title": "RELATIONSHIPS_READ", "description": "allows your app to know a user's friends and implicit relationships - requires Discord approval", "const": "relationships.read" }, { "title": "VOICE", "description": "allows your app to connect to voice on user's behalf and see all the voice members - requires Discord approval", "const": "voice" }, { "title": "DM_CHANNELS_READ", "description": "allows your app to see information about the user's DMs and group DMs - requires Discord approval", "const": "dm_channels.read" }, { "title": "ROLE_CONNECTIONS_WRITE", "description": "allows your app to update a user's connection and metadata for the app", "const": "role_connections.write" }, { "title": "OPENID", "description": "for OpenID Connect, this allows your app to receive user id and basic profile information", "const": "openid" } ] }