{
"$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"
}
]
}