I think Mark's suggestions make sense and it looks good to me after those are in!
#github-notifications
1 messages ยท Page 18 of 1
b94637b Improve message formatting docs (#7959) - AlmostSuspense
245c737 Add missing collectibles field to Guild Member ... - Soheab
Pending update from @advaith1 (?) whether this field will be supported for bots (#1364628999762083921 message).
d891f0e Document shared client theme (#7952) - Droid00000
Also looking at the failing tests - run npm run fix:tables from the tools directory -- that'll reformat your markdown tables nicely.
Thanks for your work on this!
@elainemckinley I did notice this earlier. It's impossible to get to the "Remove" link on the right side of a team member in portrait mode, even by zooming. Changing the orientation to landscape wasn't working for me earlier, but it is now. (Safari; iOS 26.3.1)
@meditationmind thanks for sharing! I am able to repro that. I think it's a separate issue from what the OP is calling out (only get what you're talking about in non-desktop mode) but I'll check into that
Also looking at the failing tests - run
npm run fix:tablesfrom thetoolsdirectory -- that'll reformat your markdown tables nicely.Thanks for your work on this!
alright, will do ๐๐ป
I think Mark's suggestions make sense and it looks good to me after those are in!
Alright, I will do tomorrow ๐๐ป Thanks for the responses
Currently, the base theme hyperlink at https://docs.discord.com/developers//resources/message#shared-client-theme-object redirects to https://docs.discord.com/developers/docs/resources/message#base-theme-types which doesn't exist.
This PR fixes it.
e036486 added additional proof step for game claiming p... - meka
Added additional proof step for game claiming process.
Minor tone nits also addressed.
we'll hold off on documenting this until the holdout has ended.
a78a2a1 Fix link from merge conflict - colinloretz
d2e4ed7 Fix link from merge conflict (#8218) - colinloretz
@meka-ddev give this a rebase from main and itll fix the link check
[discord-api-docs] Branch game-claim-proof-req was force-pushed to `995e1e8`
de313e6 added additional proof step for game claiming p... - meka-ddev
This feature would be very useful for me. I want to create a configuration modal for adding a new airport, where the user can enter the airport code and use autocomplete to select the airport if he doesn't know the code. For now, I will stick with slash command.
Corrected spelling error in comment from "parsig" to "parsing"
0375331 Fix mobile auth redirect - one slash - colinloretz
[discord-api-docs] Branch fix-mobile-redirect-uri was force-pushed to `7fc9fb5`
discord-YOUR_APP_ID://authorize/callback -> discord-YOUR_APP_ID:/authorize/callback
d9fa720 fix: reference link to base theme types (#8216) - kshitijanurag
7afa91f Fix mobile auth redirect - one slash (#8220) - colinloretz
4d06578 Fix table formatting. - markmandel
Description
From the webhook resource, guild_id and channel_id are null. There is an example linked below:
{
"type": 3,
"id": "658822586720976555",
"name": "Clyde",
"avatar": "689161dc90ac261d00f1608694ac6bfd",
"channel_id": null,
"guild_id": null,
"application_id": "658822586720976555"
}
The pull request that added this was #2926, stating that one can simply get such a webhook. Howe...
These webhooks technically exist, even if you're not supposed to be able to fetch them.
IMO, it may be better to keep guild_id/channel_id documented as nullable as a safeguard since it's not 100% excluded that these webooks could "leak" in some API responses, either due to a bug, or a feature.
I see no harm in having them documented as nullable.
Description
Markdown is not parsing correctly in the updated "Delete Application" modal.
CC @advaith1
Steps to Reproduce
Not applicable
Expected Behavior
Not applicable
Current Behavior
Not applicable
Screenshots/Videos
Client and System Information
Not applicable
For context, see this Discord Developers thread: https://discord.com/channels/613425648685547541/1483657588137656420
I would like to have the ability to edit a previously posted interaction reply by the bot. This is currently not possible in DM channels as a "Missing Access" error is sent by the API whenever an app tries to edit or delete its own message through normal means, and the method using the interaction token is only valid for up to 15 minutes.
In my case, I want to be able to ...
Hey @ssesfahani ! ๐ We shipped a possible fix for this yesterday, do you mind testing again? Thanks!
Hi @skidder, I'm still seeing it on Desktop unfortunately.
stable 513422 (9040598) Host 0.0.381 arm64 Build Override: N/A macOS 26 (25.3.0)
Hey there, Zoddo's comment above is pretty much correct. Webhooks as a whole are modeled to have those fields as nullable for that case, and keeping them documented as such keeps our docs as close to the underlying modeling as possible.
This seems to be missing the contents, command_id and command_name search fields
{
"name": "contents",
"in": "query",
"schema": {
"type": "array",
"items": {
"type": "string",
"maxLength": 1024
},
"maxItems": 100
}
},
{
"name": "command_id",
"in": "query",
"schema": {
"$ref": "#/components/schemas/SnowflakeType"
}
},
{
"name": "command_name",
"in": "query",
"schema": {
"type": "string",
"maxL...
How about this?
| 50278 | You can not message this user (you don't share a mutual guild and/or aren't friends with them) |
@milosworks would you please check whether this issue still occurs? We've made infrastructure changes since your initial report that should have fixed this.
The missing fields are intentional as those are not ready for use and will be removed from the spec.
randomly tested one 7 days ago and it went through with no errors. changed the command and had 70/70 successful requests since then.
0cdffab Bump flatted from 3.3.1 to 3.4.2 in /tools - dependabot[bot]
Bumps flatted from 3.3.1 to 3.4.2.
Commits
3bf0909 3.4.2
885ddcc fix CWE-1321
0bdba70 added flatted-view to the benchmark
2a02dce 3.4.1
fba4e8f Merge pull request #89 from WebReflection/python-fix
5fe8648 added "when in Rome" also a test for PHP
53517ad some minor improvement
b3e2a0c Fixing recursion issue in Python too
c4b46db Add SECURITY.md for security policy and reporting
f86d071 Create dependabot.yml for version updates
Additional ...
this was fixed a few months ago
this was fixed last year - we now enforce a maximum item limit instead of 500ing.
looks like this was fixed in 2024
c318e92 fix user global_name description - advaith1
fixed #6977
bots do not have a global_name
892416e remove period for consistency - advaith1
I believe skipping this feat was a mistake
Best tool for generating Timestamps for Discord events. https://timestampconverter.app/discord/
Description
Looks like roles_ids added to guild invites are not provided in invites creation audit logs.
Is it planned? It seems like it could pose a "security" risk, as it could serve as a backdoor for someone who wants to regain access through a secondary account after being demoted.
Even if there's not much we can do about it, it would be nice to have the information in logs
Steps to Reproduce
Create a invite with roles
Expected Behavior
roles_ids property in audit log
...
or you could just use the built in @time feature
Best tool for generating Timestamps for Discord events. https://timestampconverter.app/discord/
Is it the best because you own it, or is it because you own it that it's the best?
or you could just use the built in
@timefeature
The point is to have a date & time picker component in slash command inputs so that people don't have to manually type dates
or you could just use the built in
@timefeatureThe point is to have a date & time picker component in slash command inputs so that people don't have to manually type dates
My response wasn't directed towards the original suggestion, it was purely related to the comment here which has nothing to do with the suggestion and you can do better with the built in feature, especially since their website doesn't handle things like "tomorrow" which @time does
duplicate error message which I understand is not the best, but aligned on this internally
49bf68b fix user global_name description (#8227) - advaith1
[discord-api-docs] Branch dependabot/github_actions/actions/setup-node-6 was force-pushed to `847ae11`
[discord-api-docs] Branch dependabot/github_actions/actions/checkout-6 was force-pushed to `a0c3cfc`
2ca01e3 Bump actions/checkout from 5 to 6 (#8003) - dependabot[bot]
[discord-api-docs] Branch dependabot/github_actions/actions/setup-node-6 was force-pushed to `045e389`
5b3c305 Bump actions/setup-node from 5 to 6 (#7913) - dependabot[bot]
56a5866 Bump flatted from 3.3.1 to 3.4.2 in /tools (#8226) - dependabot[bot]
Looks like the description for Error code 50007 and 50278 are same. How are these Error codes different?
https://github.com/discord/discord-api-docs/blob/56a5866ee506472641d1a6192dfc1a7d0b6062eb/developers/topics/opcodes-and-status-codes.mdx?plain=1#L262
https://github.com/discord/discord-api-docs/blob/56a5866ee506472641d1a6192dfc1a7d0b6062eb/developers/topics/opcodes-and-status-codes.mdx?plain=1#L326
That is intentional and effectively the same outcome: you cannot send messages to this user.
@maukkis if you can run this, itll clean up this PR with just your change and we'll get it in!
git reset --hard {your_upstream_remote_here}/main
git cherry-pick febc0b095ef9cfd588c10f4b14c7316dd9d9b6f7
@ssesfahani I've been unable to repro this on my Pixel 6a on Android 16. Can you please share which version of Android OS you're using, as well as try to repro again?
@skidder I'd believe it works on older devices, actually. I was briefly RMA-ing my Pixel 10 and swapped to an older phone and the issue wasn't present.
But I'm still able to repro Mar 20, 2026 on my Pixel 10 Pro XL on Android 16.
Just use the new @time-feature. And even before that https://hammertime.djdavid98.art/ was way better
Description
Error payload for invalid hex in shared_client_theme.colors is malformed.
Steps to Reproduce
- POST to Create Message with the following payload:
"shared_client_theme": {
"colors": ["1"]
}
- Observe the response
Pithon code:
import asyncio
import json
import aiohttp
channel_id = "..."
headers = {
"Content-Type": "application/json",
"Authorization": "Bot ..."
...
@Tolga1452 which ones are you next considering? Having multiple modals one by one, or pages could be great..
{
message: 'Access to joining new servers has been limited for the user',
code: 340015
}
Hey, I'm building a multiplayer action game as a Discord Activity and running into a wall with networking.
My game uses QUIC/WebTransport for the netcode. Would it be possible to allow Activities to make WebTransport connections?
This would open the door for anyone wanting to build competitive real time games on Discord, stuff that feels like League or Valorant where every millisecond matters. Right now that kind of game just isn't really possible as an Activity.
Thanks
9d47cdb tweak intent text in search changelog - advaith1
<!-- mintlify-preview-comment-discord-search-changelog-intent -->
Preview deployment for your docs. Learn more about Mintlify Previews.
| Project | Status | Preview | Updated (UTC) |
|---|---|---|---|
| Discord | ๐ก Building | โ | Mar 22, 2026, 10:24 PM |
looks like none of these link to actual sections, should prob be removed from this PR
should probably put the WS part into an Accordion (collapsible) since it is not relevant to most users
the linux/mac system is actually based on env vars, the docs should reflect that.
function getIPCPath(id) {
if (process.platform === 'win32') {
return `\\\\?\\pipe\\discord-ipc-${id}`;
}
const { env: { XDG_RUNTIME_DIR, TMPDIR, TMP, TEMP } } = process;
const prefix = XDG_RUNTIME_DIR || TMPDIR || TMP || TEMP || '/tmp';
return `${prefix.replace(/\/$/, '')}/discord-ip...
Description
The client RPC server returns many payloads that break the contract established by the docs and activity SDK schemas:
- https://docs.discord.com/developers/topics/rpc#commands-and-events
- https://docs.discord.com/developers/developer-tools/embedded-app-sdk#sdk-interfaces
- https://github.com/discord/embedded-app-sdk/blob/main/src/schema/common.ts
Steps to Reproduce
- Connect to RPC through whatever transport you wish
- Try out any of the below command/events
Exp...
Description
Searching for messages in a guild (https://docs.discord.com/developers/resources/message#search-guild-messages) does not return thread channel and thread member objects if the channel filter is set to a thread's ID.
Steps to Reproduce
- Send message search request, filtering on a thread ID =>
https://discord.com/api/v10/guilds/{guild_id}/messages/search?channel_id={thread_id} - See the response does not include
threadsormembers
Expected Behavior
The ...
hello discord,
iโm glad that you launched game claiming on your platform, itโs actually a pretty cool update. but i kinda want to talk about something.
why are games that we build on discord not appreciated as much as games that are separated?
i mean yeah, they are not โreal gamesโ and can be cheated, but some of us are loyal to building and developing games just to make discord a better place, and we really put effort into it.
so i have a suggestion.
i think bot owners should ...
@time is good for current time but not previous times.
@time is good for current time but not previous times.
FYI @time has an input field so you can specify any time/date, including past and future. :)
**Hi,
I've reached the application command limit while developing a Discord bot.
The current limit makes it difficult to continue expanding the bot with additional commands and features.
Are there any plans to increase this limit in the future, or allow developers to request a higher limit?
Thanks!**
5d4ded9 Add partner-sdk/ to unmerge path - colinloretz
- missing
/partner-sdk/in path for unmerge
<!-- mintlify-preview-comment-discord-fix-unmerge-provisional -->
Preview deployment for your docs. Learn more about Mintlify Previews.
| Project | Status | Preview | Updated (UTC) |
|---|---|---|---|
| Discord | ๐ก Building | โ | Mar 23, 2026, 8:36 PM |
7276fee tweak intent text in search changelog (#8232) - advaith1
Description
Following up on the comments inside of #8212, both error codes currently return a generic HTTP 403 with the same user-facing message. However, based on testing, these codes represent distinct scenarios that should be handled (or rather explained) separately to improve debugging and developer feedback.
| Code | Reason |
|---|---|
| 50007 | User has blocked the bot |
| 50278 | Cannot send messages to this user |
Instead of mapping both codes to the identical "Access D...
7dcabbc Update images - anthonydiscord
We updated how they show up in the context menu so these images better represent how they look now.
<!-- mintlify-preview-comment-discord-anthony-context-commands -->
Preview deployment for your docs. Learn more about Mintlify Previews.
| Project | Status | Preview | Updated (UTC) |
|---|---|---|---|
| Discord | ๐ก Building | โ | Mar 23, 2026, 9:13 PM |
b6c0df5 fix: set correct permission for bypassing voice... - anthonydiscord
Fixes the voice channel user limit bypass permission โ MOVE_MEMBERS is the correct permission, not MANAGE_CHANNELS.
Closes #7454
<!-- mintlify-preview-comment-discord-fix-voice-channel-move-members-permission -->
Preview deployment for your docs. Learn more about Mintlify Previews.
| Project | Status | Preview | Updated (UTC) |
|---|---|---|---|
| Discord | ๐ก Building | โ | Mar 23, 2026, 10:44 PM |
This is still an issue in 2026 and is not resolved despite these issues being marked as resolved and closed ๐
Currently we can only use autocomplete in slash commands. Sometimes it would be useful to use autocomplete in messages and modals though.
For example In one bot I have a feature where I would need the user to provide a message and an autocomplete input. If I wanted to use a context menu command to select the message, then there's currently no way to follow up this interaction with an autocomplete input.
Another example would be bots that make their dashboard using message compon...
Description
For some context I run the Honeypot bot and for a while have noticed that banning spammers doesn't always delete all their messages. My current "fix" is to just ban twice but that's not that good of a solution for my side.
I believe this is due to a race condition of the msg being allowed ...
I have also experienced this issue multiple times. I run a bot designed to catch these crypto scams that spam in multiple channels in a guild. Every once in a while this issue happens. My solution has also been to ban the user twice. Itโs just quite unreliable to try to use this feature as of now.
I'm still praying for the paged modals! I'd love it if there was a "continue" button to click on that would swipe to the next page on the modal.
I believe pagination as the event creating layout would be a better pick rather than numeric page creation.
This also good for accessibility:
<img width="920" height="760" alt="56153" src="https://github.com/user-attachments/assets/2b0f2c16-f7cc-4799-a60c-bc833f37c578" />
The v10 docs describes avatar in WidgetMember to be optional and nullable string:
https://docs.discord.com/developers/resources/guild#guild-member-object
The openapi spec describes avatar as null and required.
"WidgetMember": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"username": {
"type": "string"
},
"discriminator": {
"$ref": "#/components/schemas/WidgetUserDi...
This is intended. The actual value of null (present for backwards compatibility) satisfies both the spec and the docs. Integrations should read avatar_url and ignore avatar.
@ManHatos can you please attach some screenshots showing the behavior you're seeing, along with a detailed description of what's expected?
Iโve long fixed this issue from my side, but errors in the debugger are still vague afaik. @kernelstub may be able to.
f837939 update with more descriptive err str - cycp
[discord-api-docs] Branch err-str/no-mutual-guilds was force-pushed to `c2edd28`
<!-- mintlify-preview-comment-discord-err-str-no-mutual-guilds -->
Preview deployment for your docs. Learn more about Mintlify Previews.
| Project | Status | Preview | Updated (UTC) |
|---|---|---|---|
| Discord | ๐ก Building | โ | Mar 24, 2026, 8:50 PM |
3653fa2 update error 50278 with more descriptive string... - cycp
The updated error string in the API is also being deployed.
I fixed mine aswell, it's because InfinityFree didn't support those embeddeds on https, only http.
I added cloudflare to Proxy and they show up now even at https, my issue is fixed!
Not a bad concept, but this might limit the functionality for X pages unless limited to like <= 5 pages. But certainly, if there is a limit between 3-5, this is not a bad layout/concept to use.
Description
HTTP-Interaction bots are displayed under a role if they have a role.
But when they are inside a thread/post, they are displayed under โofflineโ section in member list.
Steps to Reproduce
- Have a HTTP-interaction app.
- Install it as a bot.
- Invite it to a thread.
- Itโs in offline member section.
Expected Behavior
As in online member list.
Current Behavior
In offline member list.
Screenshots/Videos
Client and System Information
319.0 (95...
<!-- a2abench-source-resolution:cmn52p894008cvcxyhie0bnfa -->
A2ABench has an accepted answer for this imported thread.
- Thread: https://a2abench-api.web.app/q/cmn52p894008cvcxyhie0bnfa
- Accepted at: 2026-03-25T17:17:03.462Z
- Accepted answer agent:
ai village - Answer preview: "Valid Feature Request: Distinguish Error Messages for Discord API Codes 50007 and 50278 This is a legitimate API documentation/behavior improvement request. Currently, both Discord API error codes return the same ...
I opened new PR, because of new codebase. I edited everything you commented and moved to mdx
@advaith1 #8087
I agree, and love the idea for a few pages!
I don't know if Discord would be open to large numbers of modal pages in the first place, in which case this design would cover every use case
3800fc7 Bump picomatch from 2.3.1 to 2.3.2 in /tools - dependabot[bot]
Bumps picomatch from 2.3.1 to 2.3.2.
Release notes
Sourced from picomatch's releases.
2.3.2
This is a security release fixing several security relevant issues.
What's Changed
fix: exception when glob pattern contains constructor by @โJason3S in micromatch/picomatch#144
Fix for CVE-2026-33671
Fix for CVE-2026-33672
Full Changelog: https://github.com/micromatch/picomatch/compare/2.3.1...2.3.2
Changelog
Sourced from picomatch's changelog.
Releas...
<!-- mintlify-preview-comment-discord-dependabot-npm-and-yarn-tools-picomatch-2-3-2 -->
Preview deployment for your docs. Learn more about Mintlify Previews.
| Project | Status | Preview | Updated (UTC) |
|---|---|---|---|
| Discord | ๐ก Building | โ | Mar 25, 2026, 10:34 PM |
[discord-api-docs] Branch fix/voice-channel-move-members-permission was force-pushed to `d895348`
bbf627c fix: set correct permission (#8240) - anthonydiscord
Description
Here's the thing:
- When a member is inside a voice channel and they drag themselves to another voice channel, the audit logs are missing a target and instead they pin the blame on the first most recent executor they can find. (or the server owner, can't tell)
- This is the oceanic result reflecting the audit log seen inside discord
`AuditLogEntry { id: '1486489573688082656', actionType: 26, options: { applicationID: undefined, autoModerationRuleName: undefined, autoM...
It should have been fixed now! Thanks for the reporting and free feel to reopen if you still see the issue.
This badge is no longer available.
Description
I encountered a strange issue while using the โWatch Togetherโ activity. I had temporarily changed my deviceโs date/time to a future year for unrelated reasons, and when I tried to watch a video in โWatch Together,โ it displayed this message:
โYou have reached your playback limit. Playback will resume in 15778061:35.โ
Obviously, that is an extremely long wait time and likely a bug caused by the time change. Could you please look into this? It might be worth checking if the ...
Hi @Qjuh, it can be reproduced with an invited bot, the permissions of an member do not include moderation permissions as soon "Require 2FA for moderator actions" is enabled.
Giving a user (which has 2FA enabled) a role with all permissions I get:
2FA option disabled: 9007199254740991
2FA option enabled: 9003874144739265
Interestingly, if the tested member is the owner of the MFA enabled server, then I get 9007199254740991 which is correct. Just a user who got a role with all permissi...
843c0f3 Fix image sizes - anthonydiscord
<!-- mintlify-preview-comment-discord-anthony-images -->
Preview deployment for your docs. Learn more about Mintlify Previews.
| Project | Status | Preview | Updated (UTC) |
|---|---|---|---|
| Discord | ๐ก Building | โ | Mar 27, 2026, 6:28 PM |
6be3b5b Fix image sizes (#8251) - anthonydiscord
Currently, file name of a CV2 File Component can only be ASCII characters and without spaces (spaces will be convert to dashes). Unlike file names in standard message attachments can use non-ASCII characters and spaces by using Content-Disposition filename*=UTF-8'' or .attachments[].title.
It seems like attachment:// urls doesn't support non-ASCII characters and CV2 ignores the .attachments field.
Related pos...
The interaction_metadata on messages includes a name property that is both undocumented and not part of this API Spec. Since the interaction property is deprecated, the name should be part of the interaction_metadata that replaces it.
Example interaction_metadata from a message:
{
"command_type" : 3, // undocumented and missing in spec
"target_message_id" : "1487457967820505199", // undocumented and missing in spec
"name" : "Pin Message", // undocumented and m...
I fully support the request here.
Actually accessing the arguments is a duplicate of my own request that got ignored for 3.5 years now: #5586
And I also need the command name and optimally also arguments for processing slash command responses by another bot.
e84e22f Teams can now have up to 75 apps - colinloretz
<!-- mintlify-preview-comment-discord-docs-team-app-limit -->
Preview deployment for your docs. Learn more about Mintlify Previews.
| Project | Status | Preview | Updated (UTC) |
|---|---|---|---|
| Discord | ๐ก Building | โ | Mar 30, 2026, 9:28 PM |
ad645a8 Bump picomatch from 2.3.1 to 2.3.2 in /tools (#... - dependabot[bot]
98604e2 Add missing code_verifier in s2s account linking - colinloretz
<!-- mintlify-preview-comment-discord-docs-fix-verifier-code -->
Preview deployment for your docs. Learn more about Mintlify Previews.
| Project | Status | Preview | Updated (UTC) |
|---|---|---|---|
| Discord | ๐ก Building | โ | Mar 30, 2026, 9:38 PM |
@The-LukeZ - just gently bumping you on the above -- was in my inbox to give you a reminder ๐
10f9a02 Remove ACTIVE_DEVELOPER from user flags (#8249) - reinacchi
f479f74 Teams can now have up to 75 apps (#8253) - colinloretz
@markmandel Thanks, I was busy again - I got too much stuff to do ๐
Anyways, I did fix the tables and also resolved the other things you've requested. It should be good now.
d1e16e5 :memo: Add ? to event_webhooks_status? in A... - Paillat-dev
357ab95 Add notes for min_values requirement for requir... - The-LukeZ
name is intentionally undocumented because its an implementation detail that our UI relies on, but not part of the API contract we want to guarantee never changes
as for interacted_message_id.. probably just an old example?
1cf7826 Add Setting Buttons section to Rich Presence So... - markmandel
Documents ActivityButton usage with C++, Unity, and Unreal examples, and notes that buttons are only visible to other users โ not yourself.
[discord-api-docs] Branch markm/rich-presence-buttons was force-pushed to `1656439`
<!-- mintlify-preview-comment-discord-markm-rich-presence-buttons -->
Preview deployment for your docs. Learn more about Mintlify Previews.
| Project | Status | Preview | Updated (UTC) |
|---|---|---|---|
| Discord | ๐ก Building | โ | Mar 30, 2026, 11:03 PM |
thanks mate ^^
Appreciate the patience
565dd42 Social SDK Release: 1.8.14856 - markmandel
Also caught some autogenerated reference link updates as well.
<!-- mintlify-preview-comment-discord-markm-social-sdk-1-8-14856 -->
Preview deployment for your docs. Learn more about Mintlify Previews.
| Project | Status | Preview | Updated (UTC) |
|---|---|---|---|
| Discord | ๐ก Building | โ | Mar 30, 2026, 11:31 PM |
a6a8a25 Social SDK Release: 1.8.14856 (#8256) - markmandel
Sorry - these aren't supported fields (you'll notice they aren't in https://github.com/discord/discord-api-spec/blob/main/specs/openapi.json) so, we won't be documenting them.
Appreciate the submission though!
Sent when a user is banned from a guild. This event is only sent to bots with the `BAN_MEMBERS` or `VIEW_AUDIT_LOG` permission.
Sent when a user is unbanned from a guild. This event is only sent to bots with the `BAN_MEMBERS` or `VIEW_AUDIT_LOG` permission.
214f0ee Add clarification for the permission needed for... - maukkis
name is intentionally undocumented because its an implementation detail that our UI relies on
Then how can you access it without using the deprecated interaction object?
Description
while implementing Search Guild Messages in my library, i noticed many of the parameters take arrays, but there is no syntax shown on how to encode an array. either an example of how to call the endpoint would be good, or a place in the documentation similar to Boolean Query Strings!
Steps to Reproduce
N/A
Expected Be...
FYI: this was a lift out of the "getting your game seen" guide.
dd542ab Fix redirect for moderation guide - colinloretz
<!-- mintlify-preview-comment-discord-fix-moderation-redirect -->
Preview deployment for your docs. Learn more about Mintlify Previews.
| Project | Status | Preview | Updated (UTC) |
|---|---|---|---|
| Discord | ๐ก Building | โ | Mar 31, 2026, 9:38 PM |
f1ca98f Fix redirect for moderation guide (#8258) - colinloretz
b2ae518 Add Setting Buttons section to Rich Presence So... - markmandel
79a2632 Add more redirects for moved content - colinloretz
Fixing some load bearing 404s
d68b90f Add more redirects for moved content (#8259) - colinloretz
<!-- mintlify-preview-comment-discord-fix-more-redirects -->
Preview deployment for your docs. Learn more about Mintlify Previews.
| Project | Status | Preview | Updated (UTC) |
|---|---|---|---|
| Discord | ๐ก Building | โ | Mar 31, 2026, 10:37 PM |
I haven't played too much with RPC, but there's no reference for this -- we should add one if we are going to include it.
I'm actually not sure this is an event - I can't get a subscription to it to work.
Then how can you access it without using the deprecated interaction object?
Its a bit of a gray area right now where we're ok with people using it, but we dont want to officially support it. We've accepted that in the future people will not be able to access it, though I cant tell you when (or if) that future will happen.
as for interacted_message_id.. probably just an old example?
Sorry I thought you meant this was an example from the docs, I didnt carefully read it. Very strange th...
Oh wait, I misread again lol. interacted_message_id is required on [MessageComponentInteractionMetadataResponse](https://github.com/discord/discord-api-spec/blob/main/specs/openapi.json#L30344C8-L30344C51), but your payload is a [ApplicationCommandInteractionMetadataResponse](https://github.com/discord/discord-api-spec/blob/main/specs/openapi.json#L16768)
Thanks for the report, this is now fixed!
5f4bd4b Document array query string format - advaith1
Fixes https://github.com/discord/discord-api-docs/issues/8257
Documents the array query string format, and links to it in the Search Guild Messages params. Also links to the boolean section, like we usually do for boolean query string params.
<!-- mintlify-preview-comment-discord-array-qs -->
Preview deployment for your docs. Learn more about Mintlify Previews.
| Project | Status | Preview | Updated (UTC) |
|---|---|---|---|
| Discord | ๐ก Building | โ | Apr 1, 2026, 5:32 AM |
I had this issue but it doesnt go away when I refreshed the app. This ping symbol on a discord server is visible on other devices I am logged into.
I had this issue but it doesnt go away when I refreshed the app. This ping symbol on a discord server is visible on other devices I am logged into.
Have you considered that you may be looking at an (overdone) April Fools prank? :)
Well I already made the bug report and also probably didnt notice/remember the last times this happened lol
I had this issue but it doesnt go away when I refreshed the app. This ping symbol on a discord server is visible on other devices I am logged into.
Have you considered that you may be looking at an (overdone) April Fools prank? :)
Well I already made a bug report and probably didnt notice the last times or remember when this happened.
I had this issue but it doesnt go away when I refreshed the app. This ping symbol on a discord server is visible on other devices I am logged into.
Have you considered that you may be looking at an (overdone) April Fools prank? :)
Okay you were right. But not in the way I thought. I thought you meant Discord did this, and much later took a close look at the server's profile picture and realised that the ping element was a part of it 0_0
Description
Discord Support is the most useless thing in this world, so I write my issue here, maybe i'll find someone responsive. My server started to lose people, just for no reason. It has lost already ~250 people. And it's still happening. I'm not sure but, it probably kicks people who weren't active or didn't enter my server in 180 days. I removed my bot, removed admins' permission to kick or ban people. The most interesting thing is that i got nothing in my audit log. People are ju...
is this a poorly executed april fools joke or are you being seriois
Radio and Checkbox group just got released into Discord.js v14.26.0!
<img width="321" height="423" alt="image" src="https://mintcdn.com/discord/UBWk_VuhqVLZ-Wxx/images/components/modal-radio-group.webp?w=840&fit=max&auto=format&n=UBWk_VuhqVLZ-Wxx&q=85&s=fd23531b88892306b2a5e7920802382c" />
<img width="321" height="423" alt="image" src="https://mintcdn.com/discord/UBWk_VuhqVLZ-Wxx/images/components/modal-checkbox-group.webp?w=84...
I'm actually not sure this is an event - I can't get a subscription to it to work.
Maybe someone deprecated it, but it exists in all rpc clients
I can subscribe but I'm not receiving any data. Prob. because I have no scope enabled
<img width="540" height="169" alt="image" src="https://github.com/user-attachments/assets/e4296771-2810-4e0a-9cef-cfa968824ddf" />
Digging in - let's remove this.
We don't have references for these. I believe they work, but haven't been able to test them.
Do we want to remove them for now, and come back around when someone is ready to write a reference for
ENTITLEMENT_CREATE and ENTITLEMENT_DELETE ?
@advaith1 @5XS WDYT?
@advaith1 we could probably add in the references for these in a fast follow in these docs though after this PR is merged?
Any particular reason to remove all the anchor links? I don't have super strong opinions on this, but they seem handy to have.
Yeah I can get VOICE_SETTINGS_UPDATE subscribed, but VOICE_SETTINGS_UPDATE_2 does nothing. We should remove it.
If you are interesting (and write Rust), this is the test bed I was using: https://github.com/markmandel/discord-ipc-example
2d2670d fix links to legacy GameSDK docs - advaith1
<!-- mintlify-preview-comment-discord-fix-gamesdk-doc-links -->
Preview deployment for your docs. Learn more about Mintlify Previews.
| Project | Status | Preview | Updated (UTC) |
|---|---|---|---|
| Discord | ๐ก Building | โ | Apr 1, 2026, 11:21 PM |
advaith1 said to remove them since they led to nowhere
aaand it was before you changed the structure. So I can probably return it (or maybe I misunderstood something)
The ones that don't have references to link to - definitely remove, but we could keep the ones that do point to existing links.
https://docs.discord.com/developers/topics/rpc#getchannels works for example (drops a little low, but better than not having) - so I'd advocate for putthing this back in -- they are handy.
If it makes things easier - for the items that don't have references, I'm happy to take on implementing that after this PR is done.
So - I'm happy to merge with:
- Add back in the anchor links for those items that have references to point to.
- Remove the listed items that I've highlighted above.
๐๐ป thanks for this work as well!
aaand it was before you changed the structure. So I can probably return it (or maybe I misunderstood something)
heh, yeah there was that too ๐
All good, easy enough to diff and put it back.
is this description right? the comment says this:
// We add an embed version of the content inventory entry as a fallback for older clients
// that can't render the content inventory entry component. For newer clients, we can
// filter out this embed
export function isContentInventoryFallbackEmbed(embed: Embed) {
return hasFlag(embed.flags ?? 0, MessageEmbedFlags.IS_CONTENT_INVENTORY_ENTRY);
}
yeah up to date clients ignore this embed and just render from the component. tbh we should probably just kill the embeds
can you point me to a doc or somethin saying this one is deprecated? i still see some code around for it so im not sure here
3fd79f6 Add more redirects for deprecated game sdk - colinloretz
<!-- mintlify-preview-comment-discord-game-sdk-redirects -->
Preview deployment for your docs. Learn more about Mintlify Previews.
| Project | Status | Preview | Updated (UTC) |
|---|---|---|---|
| Discord | ๐ก Building | โ | Apr 2, 2026, 8:55 PM |
0b0ae83 fix links to legacy GameSDK docs (#8262) - advaith1
a9f0f7e docs(rpc): add reference documentation for new ... - markmandel
[discord-api-docs] Branch markm/missing-ipc-reference was force-pushed to `51c9646`
[discord-api-docs] Branch markm/missing-ipc-reference was force-pushed to `3efbbc7`
Add anchor links and full dispatch data structure documentation for ACTIVITY_INVITE, CURRENT_USER_UPDATE, RELATIONSHIP_UPDATE, ENTITLEMENT_CREATE, and ENTITLEMENT_DELETE, which were added to the RPC Events table without reference sections.
Also did some minor cleanup of text, and linked to the Social SDK.
Continuation of work in #8246
f95f2c2 Add bots and companion apps guide - anthonydiscord
Adding a new guide giving concrete examples for how to use a companion app/bot as part of your game development strategy.
<!-- mintlify-preview-comment-discord-anthony-engage -->
Preview deployment for your docs. Learn more about Mintlify Previews.
| Project | Status | Preview | Updated (UTC) |
|---|---|---|---|
| Discord | ๐ก Building | โ | Apr 2, 2026, 9:17 PM |
<!-- mintlify-preview-comment-discord-markm-missing-ipc-reference -->
Preview deployment for your docs. Learn more about Mintlify Previews.
| Project | Status | Preview | Updated (UTC) |
|---|---|---|---|
| Discord | ๐ก Building | โ | Apr 2, 2026, 9:10 PM |
c907637 Add more redirects for deprecated game sdk (#8263) - colinloretz
Seems to be messing with page height calculation of anchor links
<!-- mintlify-preview-comment-discord-disable-new-banner -->
Preview deployment for your docs. Learn more about Mintlify Previews.
| Project | Status | Preview | Updated (UTC) |
|---|---|---|---|
| Discord | ๐ก Building | โ | Apr 2, 2026, 9:57 PM |
[discord-api-docs] Branch markm/publisher-auth-chat was force-pushed to `fe1eeac`
[discord-api-docs] Branch markm/publisher-auth-chat was force-pushed to `0a18c7e`
[discord-api-docs] Branch markm/publisher-auth-chat was force-pushed to `dea1479`
[discord-api-docs] Branch markm/publisher-auth-chat was force-pushed to `dd90f57`
Adds an "Is This Right for You?" section covering good fit vs poor fit, key architectural constraints (all-or-nothing auth scope, publisher-level friend lists, one-way migration), and an alternatives section for publishers without a shared social graph.
<!-- mintlify-preview-comment-discord-markm-publisher-auth-chat -->
Preview deployment for your docs. Learn more about Mintlify Previews.
| Project | Status | Preview | Updated (UTC) |
|---|---|---|---|
| Discord | ๐ก Building | โ | Apr 2, 2026, 10:59 PM |
Added a section about memes through emoji, stickers, and soundboards. 2X'd the image sizes so they scale better
<!-- mintlify-preview-comment-discord-anthony-guide-community-update -->
Preview deployment for your docs. Learn more about Mintlify Previews.
| Project | Status | Preview | Updated (UTC) |
|---|---|---|---|
| Discord | ๐ก Building | โ | Apr 2, 2026, 11:04 PM |
[discord-api-docs] Branch anthony/guide-community-update was force-pushed to `2d59656`
2d11b37 Fix images - anthonydiscord
2Xd the image sizes and set reasonable widths for them all
Question I had: Should I make a changelog entry for the IPC work? ๐ค
You might need to add what the {n} in the path means. I had it in mind, but then forgot ๐ข. Without it, it's unclear what the n means until you look at example code, which is not present
The most memorable communities develop their own culture, inside jokes, shared references, and memes. This can't be created artificially, your players need to latch onto something in your game that resonates with them and then build on it. Your role is to recognize when they're having fun and help amplify it. Don't attempt to force trendy memes into your community. Pay attention to the language, reactions, and jokes your players are creating and have fun with it.
You might need to add what the {n} in the path means. I had it in mind, but then forgot ๐ข. Without it, it's unclear what the n means until you look at example code, which is also not present
Want to file a PR to update what we have? Seems like you have a description in mind? ๐
[discord-api-docs] Branch markm/missing-ipc-reference was force-pushed to `e6119f9`
Added a changelog. This should be good for review!
guilds.join should provide a server-list scope for one, a use case is that I am planning on having an application system on a site im working on where I will request the user uses Oauth2 to join a discord, except I wanted it, for the least user friction, to make it so that the user can give me the permission to add them to a server, I still plan on implementing this but you should still VERY much have a scope that can optionally be defined and shown to the user, example being, an amount of se...
Wow this was requested 5 years ago.
Anyways, I dont think that this should completely replace guilds.join, rather its an optional scope that can be added on top of that, and rather than a single server, you can define a list of servers it can join for you, and how many servers it can join, things like that would bring back user confidence in using Oauth2 where they know exactly what it it can do with more specific actions it can do.
๐ค do we need something in here about how to Account Link? Either through browser oauth, or (ideally ๐) the Social SDK in the game?
Could be just be some links in a callout or similar?
Something like:
<Note>
To link your in game account to your players' Discord account, look into the Discord Social SDK for Account Linking features, and bringing Discord features into your game.
If that's not technically feasible for your game, you can also look at web based oauth authentication.
</Not...
Is there better wording from this? It sounds like this means if you deatuhorize in one game it deauthorizes in all of them with publisher level account linking (by nature of authorizing in one across all)
I think since this just points to the bots & apps guide we don't need to call it out here. In the guide itself I have a whole section on the importance of account linking
It sounds like this means if you deatuhorize in one game it deauthorizes in all of them with publisher level account linking (by nature of authorizing in one across all)
That's 100% correct. If you disconnect your Discord account from any game from that publisher authentication - you are removed from the whole set. (You do get a provisional account though -- maybe that part should be clearer)
eff633d docs(rpc): add reference documentation for new ... - markmandel
[discord-api-docs] Branch markm/publisher-auth-chat was force-pushed to `b5a6bc2`
Made a small tweak to the language, should be a bit nicer.
Feel free to close this if ? was meant as a placeholder, but the correct path for discovering pipes on Windows is \\.\pipe, not \\?\pipe.
\\?\ is a prefix on Windows for larger paths and to disable string parsing on the path. Source.
\\?\is a prefix on Windows for larger paths and to disable string parsing on the path. Source.\\.\is for devices, but I'm pretty sure this is not what the path is meant to point to since they're not physical devices.
I'm good with y'all closing if this is "as intended". I'm working on my own IPC implementation, and \\.\ has been working, but \\?\ did not ๐คท
existing implementations use \\?\:
- https://github.com/discord/discord-rpc/blob/963aa9f3e5ce81a4682c6ca3d136cddda614db33/src/connection_win.cpp#L33
- https://github.com/discordjs/RPC/blob/9e7de2a6d917591f10a66389e62e1dc053c04fec/src/transports/ipc.js#L16
- https://github.com/qwertyquerty/pypresence/blob/168c0fc3c00d8b974017cfcd18a4e801b6b78dae/pypresence/utils.py#L52
I'm good with y'all closing if this is "as intended". I'm working on my own IPC implementation, and
\\.\has been working, but\\?\did not ๐คท
You're actually right here, named pipes do use \\.\ paths on Windows.
existing implementations use
\\?\:* [discord/discord-rpc@`963aa9f`/src/connection_win.cpp#L33](https://github.com/discord/discord-rpc/blob/963aa9f3e5ce81a4682c6ca3d136cddda614db33/src/connection_win.cpp#L33) * [discordjs/RPC@`9e7de2a`/src/transports/ipc.js#L16](https://github.com/discordjs/RPC/blob/9e7de2a6d917591f10a66389e62e1dc053c04fec/src/transports/ipc.js#L16) * [qwertyquerty/pypresence@`168c0fc`/pypresence/utils.py#L52](https://github.com/qwertyquer...
https://en.wikipedia.org/wiki/Law_of_triviality
every impl to ever exist of discord IPC uses \\?\, just say you can try either/or if its really that important
Description
On mobile Discord clients, string select menus inside modals cannot be fully deselected when they include default selected values.
If the select menu does not specify min_values and is marked as required: false, mobile users are forced to keep at least one value selected before submitting. This contradicts the expected behavior of optional inputs.
On desktop Discord, users can deselect all values and submit the modal without issue.
Description
When adding a bot to a server, the expected system join message (e.g. โBotName joined the serverโ) is not sent if server onboarding is enabled.
It appears that bots are placed into a pending/onboarding state and thus never trigger the join message unlike normal users. Since onboarding requires members to accept rules before being fully joined/visible, this behavior is understandable for users but bots cannot complete onboarding.
As a result, there is no visible indication i...
every impl to ever exist of discord IPC uses
"since every implementation of discord uses ?\ we should continue using it, and ignore all other software that follow correct patterns"
Welcome to the world of windows where reading MSDN is important
Just because every implementation uses it doesn't mean its correct, and comment about "Law_of_triviality" makes no sense in this context either, named pipes do not fall under ?\ and sho...
Description
Back in the days it did contain, now it simply includes my id and "deleted user" without id, i've had a dm with my friend open for the last 5 months, he's deleted account 2 years ago, i accidentally closed it, trying to reopen it using
https://discord.com/api/v9/content-inventory/users/userId/outbox
x
fetch("https://discord.com/api/v9/users/@me/channels", {
"body": "{\"recipients\":[\"userId\"]}",
"method": "POST",
});
receiving `{"message": "Invalid R...
What's your friend's ID?
If your friend's ID is 456226577798135808, then it's not your friend's ID. This ID is used in messages from deleted users to hide the real author of the message.
bro obviously i've checked the ids across other records to exclude that its some "common service user id", and no its not, i even found the id in "add reaction" service messages (user id aka message author id) and after i try to it still returns 400
<img width="696" height="588" alt="Image" src="https://github.com/user-attachments/assets/0fb9c181-0038-4e23-8827-a40fc4306487" />
I forgot to merge this ๐คฆ
14d7de8 Add bots and companion apps guide (#8265) - anthonydiscord
3d8bd70 Add Discord Social SDK 1.8.14985 to changelog - markmandel
<!-- mintlify-preview-comment-discord-markm-social-sdk-1-8-14985 -->
Preview deployment for your docs. Learn more about Mintlify Previews.
| Project | Status | Preview | Updated (UTC) |
|---|---|---|---|
| Discord | ๐ก Building | โ | Apr 6, 2026, 9:03 PM |
ef0ed3a Add Discord Social SDK 1.8.14985 to changelog (... - markmandel
[discord-api-docs] Branch anthony/guide-community-update was force-pushed to `2259603`
ebf3d7e Add memes to the community guide and fix images... - anthonydiscord
[discord-api-docs] Branch anthony/guide-game-seen-images was force-pushed to `00217d1`
718e727 Add fit guidance & alternatives to Publisher Le... - markmandel
ee18229 Add missing code_verifier in s2s account linkin... - colinloretz
Doing some cleanup - this has a lot of conflicts now, and references some super old stuff, so I'm going to close it.
If you want to capture any of this that you feel is relevant still and resubmit as a new PR, that would be great.
Description
https://discord.com/api/download/development?platform=linux&format=tar.gz
The contents of this download (discord-development-0.0.235.tar.gz) appear to be broken.
When compared to a download of the PTB client (discord-ptb-0.0.185.tar.gz) the issue seems clear.
https://discord.com/api/download/ptb?platform=linux&format=tar.gz
Steps to Reproduce
Download https://discord.com/api/download/development?platform=linux&format=tar.gz
Expected Behavior
The full app fi...
This is intentional - the development client is not supported and is only used for internal testing.
Description
When sending a message with attachments where those attachments are used inside V2 Components, the response object attachments array is empty; however the components themselves have the correct urls in their respective media items.
Steps to Reproduce
When sending the message, I read the response object:
var sent = await client.Rest.SendMessageAsync(ThreadSf, Message);
logger.LogDebug("Attachments {Attachments}", JsonSerializer.Serialize(sent.Attachments));
...
Bump. Has the stance changed on after two years?
Currently, server-specific profile customization only allows you to swap between cosmetics, you can only change your decoration, effect, nameplate, or style to a different one if you already have something selected globally. There is no way to simply opt out of showing these cosmetics in a specific server without having them appear everywhere.
It would be great to have the ability to fully disable any or all of these cosmetics on a per-server level, so users have more granular control over...
47af3e5 update attachments description - foxfirecodes
this is a tiny PR to update the docs to clarify behavior of attachments in messages with components. this is in response to https://github.com/discord/discord-api-docs/issues/8277
i'm not sure if this is the best way to communicate this behavior, open to suggestions. but it is intentional behavior that attachments is an empty array for messages with components, as the attachments are instead embedded within the components structure
I think we should instead say something like "attachments used in embeds and components are not included in the attachments array". as this behavior is not specific to components
a360c27 update wording - foxfirecodes
is this reformatting intentional/consistent with other pages?
im actually not sure why this change was made, its presumably due to prettier, but it is inconsistent with other files... im just surprised that eslint didnt catch this when i ran lint:fix
ill revert it manually
78e5732 revert formatting change - foxfirecodes
96aa1fa referenced, not included - foxfirecodes
fe1f5b2 [message] update attachments description to cla... - foxfirecodes
this is actually intentional behavior, messages with components dont include the attachments in the response, but rather include attachment_id on any attachment media referenced by components. i've updated the docs accordingly in https://github.com/discord/discord-api-docs/pull/8279
eb7a5e9 Document supported image formats for Rich Prese... - markmandel
Clarifies that uploaded assets support PNG, JPEG, and WebP only (no animated), while external URLs also support GIF and animated WebP.
<!-- mintlify-preview-comment-discord-markm-rich-presence-animated -->
Preview deployment for your docs. Learn more about Mintlify Previews.
| Project | Status | Preview | Updated (UTC) |
|---|---|---|---|
| Discord | ๐ก Building | โ | Apr 7, 2026, 11:01 PM |
e594f38 Add AVIF to supported external URL image format... - markmandel
[discord-api-docs] Branch markm/rich-presence-animated was force-pushed to `d27e3b3`
28b6c94 Document supported image formats for Rich Prese... - markmandel
@foxfirecodes thanks for confirming, glad to hear its already getting into the docs
the previous fix was part of the issue but i discovered the other half of the issue and shipped a fix yesterday! @ssesfahani could you confirm that the issue is resolved?
@foxfirecodes Still the same issue :/
stable 525145 (63bcfc0) Host 1.0.9232 x64 (79319) Build Override: N/A Windows 11 64-bit (10.0.26200)
This is definitely needed & would genuinely help towards improving and automating applications formats on Discord.
Thank you for the report! We've just deployed a change that should make cleanup of messages more reliable when banning an active spammer.
Description
I'm working on some code to handle message create/update/delete events off the gateway, and I know the gateway is not guaranteed to always emit these events in order, so I am trying to work out how I can put the events in the proper order based on their properties.
When I send a youtube URL (example) to a channel, the MESSAGE_CREATE event has no embeds, just the youtube URL.
Almost immediately afterward, I get a `MESSAGE_UPDA...
The same thing happens with guild members.
But this isn't likely a bug; the first timestamp also contains nanoseconds, but the server doesn't store them and rounds them down to milliseconds.
You don't need nanoseconds to sort messages
ea7809e Document SDK account merge rate limit for provi... - markmandel
Adds a note to the Merging Provisional Accounts section explaining that the merge operation has a strict per-user rate limit (unlike typical throughput limits), and advises developers to use App Testers for QA to avoid hitting it during testing.
<!-- mintlify-preview-comment-discord-markm-account-link-rates -->
Preview deployment for your docs. Learn more about Mintlify Previews.
| Project | Status | Preview | Updated (UTC) |
|---|---|---|---|
| Discord | ๐ก Building | โ | Apr 9, 2026, 9:43 PM |
๐ก Tip: Enable Workflows to autom...
3555835 Document SDK account merge rate limit for provi... - markmandel
Sure, but the server is sending timestamps with that level of precision; I shouldn't have to discard incoming data to get a good ordering, right?
Sure, but the server is sending timestamps with that level of precision; I shouldn't have to discard incoming data to get a good ordering, right?
Discard nanoseconds.
I'm using nodejs and Date.parse() automatically discard nanoseconds.
this behavior isn't a bug, but i understand it's a bit confusing. so i did some digging in the codebase and hopefully this helps clarify some things:
edited_timestampis used to indicate a change in the content of the message. usually by the author, but some internal systems change this too- in the app
edited_timestampis almost exclusively used to determine whether to show(edited)on messages - not all updates to a message model change the
edited_timestamp - embed unfurling is...
Thank you for this explanation.
So the official client behavior is simply "last MESSAGE_UPDATE wins"?
@RiskyMH i was able to repro and i believe i found the solution, can you verify whether this is still an issue?
0f5c8fc Add search keywords for account unlinking/unmer... - markmandel
Adds Mintlify keywords frontmatter so users searching for "unlinking accounts" find the provisional accounts page, which uses the term "unmerging".
<!-- mintlify-preview-comment-discord-markm-unmerge-unlink-keywords -->
Preview deployment for your docs. Learn more about Mintlify Previews.
| Project | Status | Preview | Updated (UTC) |
|---|---|---|---|
| Discord | ๐ก Building | โ | Apr 10, 2026, 6:48 PM |
๐ก Tip: Enable Workflows to...
@RiskyMH i was able to repro and i believe i found the solution, can you verify whether this is still an issue?
Thank you! I did see the join messages yesterday and was excited!
I'll close this as completed.
Summary
Add support for controlling the rendered display size of images in MediaGalleryComponent, independent of the image's native resolution.
Problem
Currently, images rendered inside a MediaGalleryComponent are displayed at a size derived from their native resolution. This means a high-resolution image (e.g. 1920ร1080) can expand the component's container to an unintended size, while a low-resolution image may render too small - with no way to control either f...
Seemingly after this fix there is a chance the first message by the user does not get deleted. We have experienced this once and seemingly someone else has too.
This is stupid and is needed. I'm the owner developer of D-Security, an antiscam bot protecting 500 guilds. It does detect the NSFW scam since its public release few years ago.
Now, this scam evolved. The compromissed accounts set this scam server as their bio, which is not exposed for bots, so now this scam is out of scope for my bot. Bios just show social medias and links, which are already exposed via oauth, so not exposing bios is pointless.
Description
The width of the components goes out of the screen (of the popover), and the user can't interact with it.
Steps to Reproduce
Open a voice channel chat on tablets
Use a bot that sends container components with accessories or media components
See the image and accessory buttons go off-popover.
Expected Behavior
Not go off-popover and be able to interact with them.
Current Behavior
Goes off-popover, and you can't interact with them because of that
Screensh...
Currently, users can spam/raid servers using External or Internal Applications by abusing slash commands since bot-generated content is not pruned when the user is banned.
When a server allows External Apps, a raider can use a slash command that outputs multiple follow-up messages with obscene content, then deletes the original command message. This makes it very difficult to identify the executor. Banning the External App from the server also does not clear its messages.
Raiders can also ...
If the bot is used via user installed app context it is deleted*. If the bot is also installed via server it isn't (right now that i know of).
* so basically if user can manually delete it via context menu, this will delete it right now.
<sub>(note I'm not discord staff and just have made this observation</sub>
The Team Member Object lists the user field as being a "partial user object", but the API actually returns a complete user object.
https://github.com/discord/discord-api-docs/blob/3a8b0ebdfb991b5c5e8b5e86790a6318d8eea479/developers/topics/teams.mdx?plain=1#L79
The API spec supports this, as it lists the user as a complete UserResponse too
https://github.com/discord/discord-api-spec/blob/6e3eabccc96cb50157fd7d780a59eb5618a2b66f/specs/openapi.json#L36465
Can this be safely changed t...
ah i discovered a couple issues i missed in my last pass. its content-scanning-whack-a-mole lolol. ive pushed what i believe should be the final fixes for this, which will go out in today's production deploy. with your exact payload i can repro in prod on stable (w/o the fixes) and i can no longer repro in canary (which has the fixes)
i'd appreciate if you could test one last time! either with canary or if you wait a few hours you will get the fix in stable as well
@ssesfahani sorry i missed this! i think its unlikely we will expose this as a dev setting but there may be some simple heuristics we can use to determine which components media is indexed. if you're still interested in this, could you open a new issue for this? i'd like to have this tracked somewhere so we can discuss as a team
Original issue: https://github.com/discord/discord-api-docs/issues/8056#issuecomment-4238184292
Currently, for a CV2 message, all media gets indexed into the Mobile "Media" tab.
Would it be possible as a developer to specify exclusions on which images to not index also, or perhaps just by default not index a section image?
I have a bot that will show media from social media posts and the section avatar accessory feels unnecessary to index as it's often just a supplementary image and ...
@foxfirecodes Sure, I've started that discussion here: https://github.com/discord/discord-api-docs/discussions/8288
fb93982 Clarify Merging Provisional Accounts for Server... - markmandel
Add parameter tables, explain grant_type values, link to OAuth2 reference, document bot token merge using DISCORD_BOT_ISSUED_ACCESS_TOKEN.
<!-- mintlify-preview-comment-discord-markm-better-bot-docs -->
Preview deployment for your docs. Learn more about Mintlify Previews.
| Project | Status | Preview | Updated (UTC) |
|---|---|---|---|
| Discord | ๐ก Building | โ | Apr 13, 2026, 6:33 PM |
๐ก Tip: Enable Workflows to automat...
Hm. I hadn't considered that when I added indexing for thumbnails previously.
It seems.... reasonable to exclusive thumbnails from indexing as they're typically not critical visual information like MediaGallery items are.
{
message: 'The write action you are performing on the channel has hit the write rate limit.',
retry_after: 0.3,
global: false,
code: 20028
}
Here are some links that we've found to not be working:
Description
When connecting a bot to a voice channel with DAVE encryption enabled, audio packets are received initially but the DAVE session reinitializes mid-stream, causing:
- Ring buffer to drain (12/12 โ 0/12)
- Audio decoding to stop (decoded=X โ decoded=0)
- Plaintext frames mixed with encrypted frames ("Accepted plaintext frame during DAVE session")
- High packet loss (60%+ PLC rate before failure)
- Complete audio loss after ~10 seconds
Logs attached show DAVE reinitializing, im...
This issue occurs with any bot using Discord's current DAVE voice protocol.
If this was true, a lot of bots would be having issues. Like maukkis said, this is likely an issue with how your implementation of DAVE or more likely the library you use.
Also codeblocks are a god send when posting logs as the way your logs are structure make it incredibly difficult to read anything
This seems like an issue with your DAVE implementation rather than an issue with the protocol or discordโs api.
a4f83d2 Add spatial audio guide - anthonydiscord
This guide shows how to create a spatial audio game using the Social SDK in Unity.
<!-- mintlify-preview-comment-discord-anthony-spatial-audio -->
Preview deployment for your docs. Learn more about Mintlify Previews.
| Project | Status | Preview | Updated (UTC) |
|---|---|---|---|
| Discord | ๐ก Building | โ | Apr 14, 2026, 5:29 PM |
๐ก Tip: Enable Workflows to automat...
[discord/discord-api-docs] New comment on pull request #8290: update description of error code 20028
Verified that is the message we respond with, looks good to me!
c262bd0 update description of error code 20028 (#8290) - AwesomeStickz
The /docs/ paths from the old docs disappeared somewhere upstream.
Fixes #8291 and some additional redirects that needed to be readded.
<!-- mintlify-preview-comment-discord-fix-docs-redirects -->
Preview deployment for your docs. Learn more about Mintlify Previews.
| Project | Status | Preview | Updated (UTC) |
|---|---|---|---|
| Discord | ๐ก Building | โ | Apr 14, 2026, 6:52 PM |
๐ก Tip: Enable Workflows to automatica...
Sorry, I forget about formatting because I don't submit that many bugs.
I will look into it more sorry to bother you.
e6cbbee Document message forwarding requires message co... - markmandel
Add changelog entry and error code 160014 for the
restriction that apps must be able to read a
message's content in order to forward it.
<!-- mintlify-preview-comment-discord-markm-message-forwarding -->
Preview deployment for your docs. Learn more about Mintlify Previews.
| Project | Status | Preview | Updated (UTC) |
|---|---|---|---|
| Discord | ๐ก Building | โ | Apr 14, 2026, 8:48 PM |
๐ก Tip: Enable Workflows to auto...
2b0371d Document message forwarding requires message co... - markmandel
@foxfirecodes Still the same issue, unfortunately. From Macbook:
stable 526941 (5366f7c) Host 0.0.385 arm64 Build Override: N/A macOS 26 (25.3.0)
My discord tag is _sam100 if you would like to collaborate on debugging this in real time further. Let me know if there's anything I can do to help.
b6dc4dd Clarify provisional account token refresh flow - markmandel
[discord/discord-api-docs] Pull request opened: #8296 Clarify provisional account token refresh flow
Adds a dedicated "Refreshing Provisional Account Tokens" subsection that explicitly calls out that provisional accounts have no refresh token, and shows a code example of using SetTokenExpirationCallback to re-acquire a token via GetProvisionalToken and pass it to UpdateToken.
<!-- mintlify-preview-comment-discord-markm-refresh-prov-token -->
Preview deployment for your docs. Learn more about Mintlify Previews.
| Project | Status | Preview | Updated (UTC) |
|---|---|---|---|
| Discord | ๐ก Building | โ | Apr 14, 2026, 10:22 PM |
๐ก Tip: Enable Workflows to aut...
Add changelog entry and error code 160014 for the
restriction that apps must be able to read a
message's content in order to forward it.
It would be very useful if you could set the default value for a text input component and String Select, just like you can with user/channel/role select menus.
This would be nice if you want to, e.g., implement an edit pop-up for some configurations where a user may only want to change one of multiple options in the modal.
Right now they would need to type out the previous value instead. Setting a placeholder does not solve this problem either.
These both already exist. Text inputs have a value field, and string select menu options can be set as default: true.
These both already exist. Text inputs have a value field, and string select menu options can be set as default: true.
Oh, it seems I missed those. Sorry about that and thanks for the quick response โค๏ธ
Unlike full Discord accounts, **provisional accounts do not support refresh tokens**. When the token expires, you must re-acquire a new token by calling the same method you used originally (e.g. the [Server Authentication with Bot Token Endpoint](#server-authentication-with-bot-token-endpoint) or [`Client::GetProvisionalToken`]), and then pass the new access token to [`Client::UpdateToken`].
218dd32 Fix up some redirects (#8294) - colinloretz
0ea2999 Update developers/discord-social-sdk/developmen... - markmandel
The Problem
Currently, when bot developers want to create a toggleable view within a single message (e.g., switching between a "Raw" and "Decoded" view of the same data), the only viable workaround is using a row of standard Button components.
To indicate the active state, developers must rely on changing button styles (such as setting the active button to Primary and inactive ones to Secondary). While this works functionally, it feels like a hack and fails to visually communic...
bots should be able to use sounds from other guilds. if they get that error it's a bug
What it is?
Docs say shared_client_theme will fail if provided alongside the IS_COMPONENTS_V2 flag, which is not the case.
What?
Currently, you can only send shared_client_theme over the Create Message endpoint.
This feature lacks the ability to be sent over an interaction/webhook.
Why?
- Allows Apps to reply with themes based on command inputs or other data
This is how Custom Themes look currently sent over the Create Message endpoint, with a text component.
deeb4e6 files can be included in components v2 messages - advaith1
fixes a footnote which was not accurate
<!-- mintlify-preview-comment-discord-cv2-files -->
Preview deployment for your docs. Learn more about Mintlify Previews.
| Project | Status | Preview | Updated (UTC) |
|---|---|---|---|
| Discord | ๐ก Building | โ | Apr 16, 2026, 1:31 AM |
๐ก Tip: Enable Workflows to automatically gener...
Do you found a workaround to suppress the current behavior?
I manually force cached it to only per server by adding that guild ID to the modal custom ID lol
f6a322c Deprecate OAuth2 refresh_token grant for OIDC p... - markmandel
[discord-api-docs] Branch markm/prov-account-bugfix was force-pushed to `a07f850`
Using the refresh_token grant for provisional account token refresh is deprecated. All methods should now re-authenticate via a fresh provider token. Updates the provisional accounts guide and adds a changelog entry.
<!-- mintlify-preview-comment-discord-markm-prov-account-bugfix -->
Preview deployment for your docs. Learn more about Mintlify Previews.
| Project | Status | Preview | Updated (UTC) |
|---|---|---|---|
| Discord | ๐ก Building | โ | Apr 16, 2026, 8:43 PM |
๐ก Tip: Enable Workflows to aut...
Bumped this up in visibility, since this is our favourite provisional account endpoint.
a387c5b Document app role connection platform_username - advaith1
[discord/discord-api-docs] Pull request opened: #8303 Document app role connection platform_username
This was included in the PUT request body but not the response object.
<!-- mintlify-preview-comment-discord-platform-username -->
Preview deployment for your docs. Learn more about Mintlify Previews.
| Project | Status | Preview | Updated (UTC) |
|---|---|---|---|
| Discord | ๐ก Building | โ | Apr 16, 2026, 11:38 PM |
๐ก Tip: Enable Workflows to automatica...
59fae73 Recurring scheduled event docs fixes - advaith1
fixes broken section links and this broken table:
<!-- mintlify-preview-comment-discord-scheduled-event-fixes -->
Preview deployment for your docs. Learn more about Mintlify Previews.
| Project | Status | Preview | Updated (UTC) |
|---|---|---|---|
| Discord | ๐ก Building | โ | Apr 17, 2026, 6:28 AM |
๐ก Tip: Enable Workflows to automat...
I've still seen reports of this sometimes (albeit rare) occurring. @brad-discord thanks for the initial fix, my main testing hasn't been able to manually repo any issues! But would it be possible for you to have a look at this again to see how its possible to still have a message left?
I'm not sure the cases for this new bug to occur, but I do know it has still repo'd even with double softbanning with sec gap between. Also worth noting before this fix took place I'm not aware of any messages...
This PR overhauls our guides section to remove sub-pages and place all of the guides in one place. Having the sub-pages didn't feel super necessary yet and we can revisit that as the amount of guides grow.
It also introduces a new ImageCard component to make cards look prettier and give a preview of what they're linking to.
Nit: break up the paragraph
Spatial audio in multiplayer games has become a genre-defining feature. Hearing a friend's voice fade as they disappear around a corner, or listening to a teammate call out from across the map, makes a multiplayer game feel alive in a way that flat voice chat canโt.
In this guide, you will learn how to combine the Discord Social SDK's voice chat with Unity's 3D audio system to build proximity voice chat for a multiplayer game.
Discord handles eve...
Did you want real dates on here?
I feel like I want some some sort of final line - something like:
Congratuations! Now you have a working proximity voice solution combining the power of the Discord Social SDK and Unity's 3D audio system.
Lobbies feels odd since you already told people that they should know this to do this. I'd pick something else.
Does enabling the "VOICE_CHANNEL_START_TIME_UPDATE" intent mean that the bots will receive an event each second of any active voice channel or any other time interval ?
no, it's only for when the start time changes, so when the voice session starts or ends. we would not send an event every second lol
and it's part of the GUILDS intent
@markmandel I added the getting started guide and these three guides for the Social SDK but there are a ton to choose from. Do you feel strongly about any specific guides we should have here? Should we add them all?
Hmn... so there are probably a lot - it might be worth a conversation (or maybe some aren't considered guide-y enough).
- Using Provisional Accounts
- Creating a Unified Friends List
- Managing Relationships in Your Game (maybe)
- Sending Direct Messages (probably)
- Creating and Managing Lobbies
- Integrate Moderation(maybe?)
How many guides do you want per section? Do you want to prioritise? what would be priority ๐ I have questions.
the cross-guild sound bug has been fixed, you shouldn't get that error on soundboard anymore.
hmm currently this section is only for images, but nameplates are videos.
I saw that this object was already in the API spec, but I couldn't find anything in the docs. Bots can only GET the home settings, but not PATCH them
Thank you! Want me to undocument 20015?
50167 is still relevant. Would be good to have it imo
I also have this issue and I tested different browsers on windows 11 - Firefox, Chrome, Edge - all have the same problem.
On console i get
Das Cookie "__cflb" wurde abgelehnt, weil es sich in einem seitenรผbergreifenden Kontext befindet und sein "SameSite" auf "Lax" oder "Strict" gesetzt ist.
Description
If you request a messsage from the API (either a single one or as part of a batch of messages), the embed fields miss the author field.
This is really bad for bots that process other bots messages that are using embeds and need to process pre-existing message or messages sent while the bot was offline.
Steps to Reproduce
- Send a message with embed with author.
- Try to request it from the API individually and as part of a batch
Expected Behavior
embed field conta...
[discord/discord-api-docs] New comment on issue #8307: Embed author missing when requesting messages
Unable to reproduce the issue.
Are you sure the issue is with the API and not your library?
[discord/discord-api-docs] New comment on issue #8307: Embed author missing when requesting messages
I also can't reproduce, so this is probably an issue on your end. I'm gonna close this out, but if you find a consistent reproduction on the raw API please let us know.
[discord/discord-api-docs] New comment on issue #8307: Embed author missing when requesting messages
Before opening this request I tested with a raw http request to get one of those messages and also that one missed the embed author information.
[discord/discord-api-docs] New comment on issue #8307: Embed author missing when requesting messages
Before opening this request I tested with a raw http request to get one of those messages and also that one missed the embed author information.
Could you provide the exact request and result, please?
[discord/discord-api-docs] New comment on issue #8307: Embed author missing when requesting messages
Before opening this request I tested with a raw http request to get one of those messages and also that one missed the embed author information.
Maybe your problem is related to the fact that you specified the invalid author and the API did not recognize this field?
[discord/discord-api-docs] New comment on issue #8307: Embed author missing when requesting messages
Hm, it indeed seems to be some edge case.
I was not yet able to reproduce the issue with sending an own message and retrieving it.
It is not about invalid author field or similar.
In the websocket MESSAGE_CREATE event the embed author is present, but if you request the message by id from the API it is missing.
Steps to reproduce:
- Invite Myuu to your server: https://myuu.xyz/
- Do command
/route number:1 - Do command
/pokedex dimensions weight-or-height:weight - Request the two respo...
[discord/discord-api-docs] New comment on issue #8307: Embed author missing when requesting messages
Indeed, this behavior is observed, but I cannot reproduce it using my bot.
[discord/discord-api-docs] New comment on issue #8307: Embed author missing when requesting messages
I did some research and noticed that the author field is preserved in the embed, but for some reason it's not displayed in HTTP requests.
Using message forward, I learned that the author field remains in the gateway event, but is missing from the post request.
[discord/discord-api-docs] New comment on issue #8307: Embed author missing when requesting messages
I just noticed, even the client does not display it properly.
If I Ctrl+R the desktop client for example, the author field is also no longer shown in the affected embeds.
[discord/discord-api-docs] New comment on issue #8307: Embed author missing when requesting messages
found the issue - this happens when apps set invalid embed author icon data. will fix
[discord/discord-api-docs] New comment on issue #8307: Embed author missing when requesting messages
found the issue - this happens when apps set invalid embed author icon data. will fix
What data is invalid? (I'm just curious because I still haven't been able to reproduce the issue with my bot)
I took a closer look at this and did some testing. Turns out bots simply canโt use this endpoint - the API responds with:
{'message': 'Bots cannot use this endpoint', 'code': 20001}
I tried using a user account token instead, and that works without issues. So for now, it looks like this endpoint is only accessible on behalf of a user, not a bot. As a quick workaround, I put together a small prototype that actually works and demonstrates the behavior:
https://github.com/Kaerion0/discord...
I took a closer look at this and did some testing. Turns out bots simply canโt use this endpoint - the API responds with:
{'message': 'Bots cannot use this endpoint', 'code': 20001}
I tried using a user account token instead, and that works without issues. So for now, it looks like this endpoint is only accessible on behalf of a user, not a bot. As a quick workaround, I put together a small prototype that actually works and demonstrates the behavior:
Super old, but I had a look - authorizing_integration_owners is Always present in the serialized payload, although it's empty.
So I'm going to close this PR! Thanks though!
2509f9a Update Approval-required OAuth2 scopes - markmandel
Updated the documentation to specify that Oauth scopes that require approval are only available to select partners.
[discord/discord-api-docs] New comment on pull request #8308: Update Approval-required OAuth2 scopes
<!-- mintlify-preview-comment-discord-markm-scopes-update -->
Preview deployment for your docs. Learn more about Mintlify Previews.
| Project | Status | Preview | Updated (UTC) |
|---|---|---|---|
| Discord | ๐ก Building | โ | Apr 20, 2026, 7:13 PM |
๐ก Tip: Enable Workflows to automatic...
@foxfirecodes Not sure if anything changed since last week, but I checked just now on latest build and it's working now! Thanks again.
stable 529845 (367aef8) Host 0.0.386 arm64 Build Override: N/A macOS 26 (25.3.0)
46923a7 Update Approval-required OAuth2 scopes (#8308) - markmandel
We intentionally do not document 204 responses anymore, to give us the flexibility to change it in the future.
We have done similar benchmarking with similar issues.
There definitely seems to be something systemic happening here.
[discord/discord-api-docs] New comment on issue #8307: Embed author missing when requesting messages
Okay, I figured out how to reproduce it.
In the author icon field, need to enter attachment://123, but don't need to embed the attachment.
I also noticed another error with this field.
https://github.com/discord/discord-api-docs/blob/46923a7278ea555a72603262965470b38f8615e9/developers/resources/message.mdx?plain=1#L580
It says the field only supports http(s) and attachments, but I can enter test://test.com.
f64dffd Fix incorrect library filenames in C++ Getting ... - markmandel
Linux and macOS SDK libraries require the lib prefix (libdiscord_partner_sdk.so / libdiscord_partner_sdk.dylib).
<!-- mintlify-preview-comment-discord-markm-c---fix -->
Preview deployment for your docs. Learn more about Mintlify Previews.
| Project | Status | Preview | Updated (UTC) |
|---|---|---|---|
| Discord | ๐ก Building | โ | Apr 20, 2026, 11:46 PM |
๐ก Tip: Enable Workflows to automatically ...
ad1a650 Document message create channel_type - advaith1
<!-- mintlify-preview-comment-discord-channel-type -->
Preview deployment for your docs. Learn more about Mintlify Previews.
| Project | Status | Preview | Updated (UTC) |
|---|---|---|---|
| Discord | ๐ก Building | โ | Apr 21, 2026, 2:06 AM |
๐ก Tip: Enable Workflows to automatically ge...
Description
If you upload a animated profile picture to your bot and use a slash command, the response message won't animate it. If you were to directly send a message however it does show.
Also another thing is: you can't upload a transparent animated profile picture without direct api (as app one doesn't support it you have to use bot one which has an editor that makes it black instead)
Steps to Reproduce
- make sure your bot has animated pfp
- make slash command and use it
3....
<img width="760" height="208" alt="Image" src="https://github.com/user-attachments/assets/a2d299d4-22a1-446f-9652-d588bb267f6c" />
animated avatars do work in interaction responses
https://github.com/user-attachments/assets/d8efe3bd-6b3f-4238-8e42-9a1427ec5be4
1478485035752362096 in case the bot id is any help
Description
Anytime I attempt to change my bot's permissions, it will not have those permissions and the box will be unchecked next time I go to the bot tab
Steps to Reproduce
- Change any permission in the bot
- Exit the bot tab
- Enter the bot tab again
Expected Behavior
The permissions should be saved even if the page is exited
Current Behavior
The permissions are not saved or work.
Screenshots/Videos
Before exiting page:
After exiting page:
Client...
This tab is for calculating permissions, not the required permissions for the bot.
Oh I'm sorry ๐ญ. I'm new to bot developing so I didn't know that.
This is not a bug.
To change the bot's permissions, go to https://discord.com/developers/applications/{APP_ID}/installation.
[discord/discord-api-docs] New comment on issue #8307: Embed author missing when requesting messages
thanks for the report, this has been fixed!
thanks for the report, this has been fixed!
b95ac82 Document OIDC integration requirements for prov... - markmandel
098c738 Fix incorrect library filenames in C++ Getting ... - markmandel
Adds a new OIDC Integration Requirements section covering issuer URL rules, discovery document requirements, supported signing algorithms, and ID token claim requirements.
Also updates the OIDC error table with improved solution text and the previously undocumented 530027 (missing kid header) error.
Also added changelog to make people aware of the changes and provide a path for testing and integrating.
<!-- mintlify-preview-comment-discord-markm-oidc-docs -->
Preview deployment for your docs. Learn more about Mintlify Previews.
| Project | Status | Preview | Updated (UTC) |
|---|---|---|---|
| Discord | ๐ก Building | โ | Apr 22, 2026, 4:55 PM |
๐ก Tip: Enable Workflows to automatically...
[discord-api-docs] Branch anthony/guides was force-pushed to `5bbc12a`
[discord-api-docs] Branch anthony/guides was force-pushed to `1dcb3ed`
Thanks, Matthew. This refers to Companion Apps for games and other apps. IE: how games extend their experience into Discord via bots and account linking. Good callout and this will become more clear with some guides we're been working on.
52d3868 Bump uuid and @actions/core in /tools - dependabot[bot]
Removes uuid. It's no longer used after updating ancestor dependency @actions/core. These dependencies need to be updated together.
Removes uuid
Updates @actions/core from 1.10.1 to 1.11.1
Changelog
Sourced from @โactions/core's changelog.
1.11.1
Fix uses of crypto.randomUUID on Node 18 and earlier #1842
1.11.0
Add platform info utilities #1551
Remove dependency on uuid package #1824
...
<!-- mintlify-preview-comment-discord-dependabot-npm-and-yarn-tools-multi-2b9612f831 -->
Preview deployment for your docs. Learn more about Mintlify Previews.
| Project | Status | Preview | Updated (UTC) |
|---|---|---|---|
| Discord | ๐ก Building | โ | Apr 23, 2026, 1:47 AM |
๐ก Tip: Enable [Workflows](https://www.mintlify.com/docs/ag...
37ac242 Overhaul of Guides section (#8305) - anthonydiscord
[discord-api-docs] Branch anthony/prox-audio-updates was force-pushed to `8eaeed3`
Adds a changelog for the proximity audio guide and fixes a few minor spelling errors.
<!-- mintlify-preview-comment-discord-anthony-prox-audio-updates -->
Preview deployment for your docs. Learn more about Mintlify Previews.
| Project | Status | Preview | Updated (UTC) |
|---|---|---|---|
| Discord | ๐ก Building | โ | Apr 23, 2026, 8:29 PM |
๐ก Tip: Enable Workflows to au...
Yes I know, this is probably gonna be a bit of a hot/controversial suggestion, but hear me out ๐
Ever since the Bot/App Verification system was made to be easy-to-do & automated, it has caused a massive increase in malicious Bots taking advance of the checkmark to trick less knowledgeable Users into falling for phishing/etc scams to steal accounts and/or Servers.
This is still seen today, and only seems to be a problem getting worse.
Common examples of such scams abusing the checkmark...
[Client::UserAudioReceivedCallback] should be able to link - why not link it?
Description
The /channels/{channel.id}/threads/search endpoint unexpectedly returns a 200 OK response instead of a 202 accepted response when the index isn't ready.
Steps to Reproduce
-
Create a brand new guild.
-
Add a bot account to the guild.
-
Create a forum channel and make a request to the endpoint.
The response body will contain the following, but the...
It wasn't getting picked up for some reason and then I noticed another spot we use it in our docs also doesn't link either. I meant to ask you about this and just now remembered. Should all of the callbacks auto-link? I made sure the naming was right and everything else linked properly
I have seen this first hand. I spend a lot of time on Discord ๐ but not as often on the api side of things and was shocked when a clone of another bot was verified. (Using the same profile picture, status, about me, same commands and replies, etc). I only recently learned that the current verified check-mark is automated and still have a hard time not viewing it as a symbol of a reputable application. Since the verification system is automated and could allow dangerous bots to seem safe, I do...
Is this endpoint even documented in the Discord API?
Is this endpoint even documented in the Discord API?
If you had clicked the hyperlink at the very-top, you would've seen the link to the API spec.
This isn't /guilds/{guild.id}/messages/search.
I checked discord-api-spec and there's nothing about code 202 in /channels/{channel.id}/threads/search.
Code 202 only in message search, not in thread search.
Code 202 only in message search, not in thread search.
You should re-read the description. That's what the issue is reporting.
When Discord receives and decodes voice audio from a remote player, it calls the callback in [`Client::StartCallWithAudioCallbacks`]. The callback in this function hands you the raw PCM audio data along with the user ID of the speaker. It also gives you an `outShouldMute` flag. Setting this to `true` tells Discord not to play the audio through its normal output and allows you to control where it gets played.
85c50e7 Update developers/game-development/how-to-add-p... - anthonydiscord
Or we could fix the linking tool ๐
You should re-read the description. That's what the issue is reporting.
I reread the issue description, and you say that the endpoint should return 202 during indexing, not 200.
However, nothing is documented about this endpoint, so this behavior may be expected.
I reread the issue description, and you say that the endpoint should return 202 during indexing, not 200. However, nothing is documented about this endpoint, so this behavior may be expected.
You're missing some very important context: https://github.com/discord/discord-api-docs/issues/7341#issuecomment-2675592232.
Ah yep your fix did it, thank you!
Did you create this issue because it's a bug?
Or do you mean it's not a bug, but thread indexing should return a 202 code?
this discussion is not going anywhere, let's stop.
this does seem to be an issue, investigating
ed17452 Document voice muting based on player blocks guide - markmandel
Adds a new how-to guide covering bi-directional voice muting in lobby voice calls based on block relationships. Covers two approaches for populating per-member mute lists โ client-side using any client-accessible block signal (Discord relationships, in-game block lists, etc.) and server-side via lobby member metadata set at lobby creation โ with a shared C++ implementation that applies mutes in both directions using lobby member metadata.
Also documents the POST /lobbies/{lobby.id}/members...
<!-- mintlify-preview-comment-discord-markm-muting-lobbies -->
Preview deployment for your docs. Learn more about Mintlify Previews.
| Project | Status | Preview | Updated (UTC) |
|---|---|---|---|
| Discord | ๐ก Building | โ | Apr 24, 2026, 12:02 AM |
๐ก Tip: Enable Workflows to automat...
f7e87b1 Add Discord Social SDK 1.9.15332 release to cha... - markmandel
Adds changelog entry for Discord Social SDK version 1.9.15332 (released 2026-04-23), which adds PlayStation 5 OS 13.000 support.
<!-- mintlify-preview-comment-discord-markm-1-9-15332 -->
Preview deployment for your docs. Learn more about Mintlify Previews.
| Project | Status | Preview | Updated (UTC) |
|---|---|---|---|
| Discord | ๐ก Building | โ | Apr 24, 2026, 12:15 AM |
๐ก Tip: Enable Workflows to automaticall...
Same as #8232 but for the list guild members endpoint
b126939 Update warning about the members Intent (#8321) - AlmostSuspense
ffe6b58 Add Discord Social SDK 1.9.15332 release to cha... - markmandel
f1a870f Amendment for release 1.9.15332 - markmandel
We missed a bit on this changelog, so adding in the updates to publisher authentication.
[discord-api-docs] Branch markm/release-1.9.15332-update was force-pushed to `8f932d6`
<!-- mintlify-preview-comment-discord-markm-release-1-9-15332-update -->
Preview deployment for your docs. Learn more about Mintlify Previews.
| Project | Status | Preview | Updated (UTC) |
|---|---|---|---|
| Discord | ๐ก Building | โ | Apr 24, 2026, 8:51 PM |
๐ก Tip: Enable Workflows t...
426409f Amendment for release 1.9.15332 (#8322) - markmandel
fixed, thanks for the report!
77fde5f Update Lobby Create/Join rate limit from 20 to ... - markmandel
Note: these are development limits.
<!-- mintlify-preview-comment-discord-markm-lobby-dev-limits -->
Preview deployment for your docs. Learn more about Mintlify Previews.
| Project | Status | Preview | Updated (UTC) |
|---|---|---|---|
| Discord | ๐ก Building | โ | Apr 24, 2026, 9:39 PM |
๐ก Tip: Enable Workflows to automa...
45d3490 Update Lobby Create/Join rate limit from 20 to ... - markmandel
i think it might confuse a lot of people but its not a bad idea! maybe bots that have been verified for years and are used in 100's of thousands of servers could keep the checkmark (e. g. Dyno, Carl-bot, MEE6, etc.)
Coming back with some updates to this, I recently fixed a flaw in my library, which would at some point reply to a webhook request, but before properly closing the connection, it would then try to followup, making the bug appear more often. This has now been resolved but, rather than being able to close the issue and call it a day, I see rather the same issue still appearing, but now with worse delays instead.
<img width="634" height="85" alt="Image" src="https://github.com/user-attachments/...
Summary
The OpenAPI spec at specs/openapi.json contains properties with "enum": [] (empty enum arrays). This is invalid per the JSON Schema specification, which requires that an enum keyword, if present, must contain at least one value.
Strict validators โ including pydantic v2 (used by FastMCP) โ reject the schema outright, making it impossible to consume the spec...
Massive miss on this one. Message Streaming should happen. Discord is one of the only surfaces that does communication so fucking well, enabling bots to stream output would elevate this.
+1 as a bump, attaching multiple documents with one command would make use much more ergonomic. Establishing sane limits to the number of uploadable files/options also sounds reasonable.
- add
integration_typeas query param - show which params are optional
- mention how you don't need to specify anything other than
client_id
We are using discord voice in a custom audio processing pipeline (3D proximity chat inside our game via the social SDK). We would love to be able to highlight discord as the solution that enables echo cancellation with proximity chat, something I don't see in other games. Well we would love to have echo cancellation support. Right now this is not possible because when we get the audio stream and disable standard discord audio out, it disables echo cancellation. Is it possible to get access to...
If you only provide the client_id parameter (with optionally permissions, guild_id, or disable_guild_select), the authorization will use the [default install settings](/developers/resources/application#configuring-an-install-link-and-default-install-settings) configured in the developer portal. Specifying scope, integration_type, or redirect_uri will override this behavior.
This should be more accurate - since it's a touch more nuanced than this.
(I need to document this), but for echo cancellation/noise suppression etc - the Social SDK uses standard webrtc echo cancellation.
You are right though, when we hand you the audio via Client::StartCallWithAudioCallbacks, you are kinda on your own, since it's just raw audio.
I haven't dug in too deeply to see if you could lift the webrtc AEC3 implementation directly out of libWebRTC, but I'd probably recommend giving that a shot (looks like it should be possible), and then looking at ...
Fwiw you can accept 0-10 attachments in modals (also users/roles/channels via select menu)
https://docs.discord.com/developers/components/reference#file-upload
Okay, we will give this a try! ๐ค
0810a52 Add rate limit documentation and Handle Rate Li... - markmandel
- Add new how-to page covering ClientResult::Retryable and RetryAfter for detecting and retrying rate limited SDK requests
- Add development rate limit tables to managing-lobbies, sending- direct-messages, and lobby API reference
- Update decoration tool to run across full repo; re-run to pick up a few additional reference link updates
I was doing stuff in the /snippets directory, and then I decided not to, but I had updated it anyway - so I left it in as a sneaky addition.
<!-- mintlify-preview-comment-discord-markm-update-rate-limits -->
Preview deployment for your docs. Learn more about Mintlify Previews.
| Project | Status | Preview | Updated (UTC) |
|---|---|---|---|
| Discord | ๐ก Building | โ | Apr 27, 2026, 10:10 PM |
๐ก Tip: Enable Workflows to aut...
I remember this being an issue, but I think it's fixed these days.
Currently:
My bots don't "track" message content data. Please either specify what is meant by "tracked" or add a 3rd option for "No message content data is being tracked".
Yeah I had the same confusion lol, wasn't really sure how to answer as you can't track something that doesn't exist but at same how do you opt out of nothing...
hmmm im not aware of anything related to this changing between those two messages, although its possible the prod deploy was delayed and didn't go out until after you tested. either way, glad it's working now! going to close this out, feel free to re-open in the future if you encounter this again!
closing this out now, feel free to re-open if you have further questions! :3
In #8281, I asked about ordering MESSAGE_UPDATE events, and the answer is that there is no canonical order; the last-received update wins.
This seems like it could lead to problems in certain edge cases; for example if a user sends a message with a link, and then the Discord infrastructure is preparing embed info and sending a MESSAGE_UPDATE with the embed, but the user edits the message at just the right time to have the user's edit MESSAGE_UPDATE arrive just before the `MESSAGE_UPD...
This seems like it could lead to problems in certain edge cases; for example if a user sends a message with a link, and then the Discord infrastructure is preparing embed info and sending a
MESSAGE_UPDATEwith the embed, but the user edits the message at just the right time to have the user's editMESSAGE_UPDATEarrive just before theMESSAGE_UPDATEwith the embed info.
Are you sure this behavior is possible?
I think that even if this problem existed, it was fixed long ago.
No, I'm not sure that it's possible. But in the absence of documentation saying it can't happen, I have to assume it is possible.
I think this behavior is impossible, otherwise if it is possible then it is a bug.
Respectfully, in the absence of documentation stating otherwise, I must assume a race is possible; that's how distributed systems work.
Respectfully, in the absence of documentation stating otherwise, I must assume a race is possible; that's how distributed systems work.
If there is no documentation, then it follows that race conditions are also possible in GUILD_MEMBER_UPDATE, CHANNEL_UPDATE, THREAD_UPDATE, GUILD_ROLE_UPDATE, and other ..._UPDATE events?
Because there is no documentation stating otherwise.
Is everything correct, based on what you're saying?
Description
The GET /users/@me/guilds (and other guild-returning) endpoints return guilds whose features array contains the value TIERLESS_BOOSTING_SYSTEM_MESSAGE, but this value is not declared in the OpenAPI spec's enum for guild features.
Tools and MCP servers that strictly validate API responses against this spec reject the entire response with a schema validation error:
Output validation error: 'TIERLESS_BOOSTING_SYSTEM_MESSAGE' is not valid under any of the given schemas...
Description
The schema for GET /users/@me (and other user-returning endpoints) defines a collectibles object containing a nameplate field, whose palette property has an empty anyOf: [] array. JSON Schema requires anyOf to contain at least one subschema (minItems: 1), so this is a malformed schema that causes strict validators to reject the spec itself.
Error observed
When calling GET /users/@me, MCP servers and other tools that validate against this spec fail with:
`...
It's common to receive undocumented values from the API, you need to support that. The docs and spec will never include all fields and values that can be returned by the API
According to Discord, validation of responses by using the schema is unsupported so you're better off not doing it.
After some investigation, I believe the audit log behavior here is confusing but does not actually misreport the executor. Key facts:
- When a user does not have
MOVE_MEMBERS, moving themselves between channels does not create an audit log entry. - When a user does have
MOVE_MEMBERS, dragging users between channels creates a member move audit log entry. These are "bulk" entries - they have a nulltargetIDby design and only include a count. They are merged keyed on executor and target ...
Also want to cross-reference an older issue that led to the current behavior: https://github.com/discord/discord-api-docs/issues/1195
@brad-discord I appreciate you taking the time, after a re-test, it seems that you are right, there are audit logs created that report moving multiple (unnamed) users even if only one user is moved multiple times.
<img width="433" height="190" alt="Image" src="https://github.com/user-attachments/assets/0242f402-f98f-4c69-b998-45c21beb3c9c" />
In this audit log, I have only ever moved myself - yet it says I moved three people;
I hope I'm not overreaching, but would you happen to know why the...
** The `requires_colons` field is only set to `false` for synced subscriber emotes when the [Twitch Integration](https://support.discord.com/hc/en-us/articles/212112068-Twitch-Integration-FAQ) is set up.
the current docs use both emoji and emojis for some reason
Merriam-Webster list both as well: https://www.merriam-webster.com/dictionary/emoji
Returns an [emoji](/developers/resources/emoji#emoji-object) object for the provided emoji id and the given application. Includes the `user` field.
Description
So it seems that the DELETE /channels/:channelId/messages/:messageId endpoint ratelimiting is broken.
Currently these are the buckets:
Older than 2 weeks = b5e35274c6fd5cfec77fe9bfaf059ad6 (30 per 4 seconds)
Older than 10 seconds = c51d12acd501bc2e6c76ab191408bd45 (3 per 0.333 seconds)
Younger than 10 seconds = 9a4e05a217afd885787cb9f6f7d71853 (5 per 1 second)
404 for any message = 9a4e05a217afd885787cb9f6f7d71853 (5 per 1 second)
If you try to delete more than 5...
3c316a3 CreateOrJoinLobbyWithMetadata can't be used wit... - markmandel
<!-- mintlify-preview-comment-discord-markm-lobby-server-side -->
Preview deployment for your docs. Learn more about Mintlify Previews.
| Project | Status | Preview | Updated (UTC) |
|---|---|---|---|
| Discord | ๐ก Building | โ | May 1, 2026, 7:25 PM |
๐ก Tip: Enable Workflows to automa...
Description
Hello. Discord API has caused multiple public known bots such as Wick to think people are joining (multiple times) even though they are already in the server. This has caused the bots to think theres 200 members more than the server actually possesses.
Steps to Reproduce
Affected certain servers according to Wick and Circle support - simply have a glitched discord server where the member join event is broken.
Expected Behavior
Spam ping members that have alrea...
Are you sure the problem is with the Discord API and not with the bot developers?
I think the problem with welcome message spam is caused by bots, not the Discord API.
For example, if the welcome message is sent not when a user joins the server, but when the user accepts the rules.
I encountered this error with a popular bot a long time ago, two years ago, but the bot's developer seems to have fixed it and the welcome message no longer duplicates.
So, based on this, I suspect the error is with the bot, not the Discord API.
@meka-ddev I don't think I will, but what I will do is make sure the link anchors to the "Server-Side Lobby Management" section, so it can point directly the singular reference.
3ad7daa Review updates! - markmandel
Description
My bot supports commands but dont have the badge
Steps to Reproduce
Like up to discord
Expected Behavior
j
Current Behavior
.
Screenshots/Videos
.
Client and System Information
.
How has this not been fixed in years? An incredible amount of people are using OLED monitors with HDR on. This should have been a priority.
This repo is only for feedback relating to the API, and this request is not related to the API. You can submit general feedback at https://feedback.discord.com.
267b29e CreateOrJoinLobbyWithMetadata can't be used wit... - markmandel
The RPC server is working as intended, but if you're experiencing discrepancies in the embedded-app-sdk please feel free to contribute or patch the schemas to match the behavior you're observing. I'll be adding a notice to the docs to more explicitly clarify that RPC payload models broadly align with the API but are undocumented beyond that.
3bd45c1 add clarification about rpc responses - appellation
Adds a sentence to clarify that RPC server responses are not equivalent to the API.
<!-- mintlify-preview-comment-discord-will-clarify-rpc -->
Preview deployment for your docs. Learn more about Mintlify Previews.
| Project | Status | Preview | Updated (UTC) |
|---|---|---|---|
| Discord | ๐ก Building | โ | May 4, 2026, 4:49 PM |
๐ก Tip: Enable Workflows to automatically...
While the docs do currently say that this event is only emitted when new members are added to the server, that's actually not true. I'll be updating the docs to reflect that GUILD_MEMBER_ADD can be emitted for members that are already members of the server.
<Warning>
The structure of responses from the RPC server is similar to the HTTP API but may not be exactly equivalent.
</Warning>
Just to make it stand out a touch more.
583db40 Update developers/topics/rpc.mdx - appellation
ad0de39 Add clarification about RPC responses (#8334) - appellation
fb58fd2 Add voice logging section to debug & log guide - markmandel
[discord-api-docs] Branch markm/enhance-debug was force-pushed to `94f70ef`
[discord/discord-api-docs] Pull request opened: #8335 Add voice logging section to debug & log guide
Documents AddVoiceLogCallback and SetVoiceLogDir, including the initialization ordering constraint (SetVoiceLogDir must be called before anything that triggers the voice subsystem).
<!-- mintlify-preview-comment-discord-markm-enhance-debug -->
Preview deployment for your docs. Learn more about Mintlify Previews.
| Project | Status | Preview | Updated (UTC) |
|---|---|---|---|
| Discord | ๐ก Building | โ | May 4, 2026, 7:48 PM |
๐ก Tip: Enable Workflows to automatica...
[discord-api-docs] Branch markm/enhance-debug was force-pushed to `b5a9536`
934d63e Add voice logging section to debug & log guide ... - markmandel
This pull request adds a new resource to the community resources section, providing an additional tool for making links have nice Discord embeds easier.
Community resources update:
- Added a link to "AshMW's Embed Previewer" (
https://embedl.ink) for embed HTML generation in the community resources documentation.
AshMW asked me to make this PR for him
b26b247 clarify GUILD_MEMBER_ADD behavior - appellation
GUILD_MEMBER_ADD will sometimes be emitted even if the member is already in the guild.
<!-- mintlify-preview-comment-discord-will-gma -->
Preview deployment for your docs. Learn more about Mintlify Previews.
| Project | Status | Preview | Updated (UTC) |
|---|---|---|---|
| Discord | ๐ก Building | โ | May 4, 2026, 10:34 PM |
๐ก Tip: Enable Workflows to automatically genera...
Description
When a user who was quarantined by AutoMod is given the admin or moderator role, AutoMod does not return them from quarantine.
Steps to Reproduce
- Create an automod rule (trigger_type:
MEMBER_PROFILE). (You can add.as a regular expression to make the automod quarantine everyone) - Quarantine the second account with AutoMod.
- Give the second account the admin role.
Expected Behavior
Automod returns a second account from quarantine.
Current Behavior
...
the trailing : prob doesn't make as much sense here anymore
also is there any context you can share on how often this (member add for already present) could occur and for what reason
And one more detail: I tried to update the second account's profile, but due to optimization, automod did not return the account from quarantine.
Only disabling the automod rule removes the admin from quarantine.
I can help peek under the hood a little and give the case that motivated this docs change.
In our backend, we can have an inconsistency between "guild thinks this user is a member" and "user thinks we are member of this guilds". In the scenario where the guild thinks the user is a member, but the user does not, we chose to reprocess the guild join for this user to remediate. A second GUILD_MEMBER_ADD is dispatched as part of the reprocessing.
I can help peek under the hood a little and give the case that motivated this docs change.
In our backend, we can have an inconsistency between "guild thinks this user is a member" and "user thinks we are member of this guilds". In the scenario where the guild thinks the user is a member, but the user does not, we chose to reprocess the guild join for this user to remediate. A second
GUILD_MEMBER_ADDis dispatched as part of the reprocessing.
That is, this will not happen to tho...
Description
/api/updates/distributions/app/manifests/latest does not accept platform=linux, which is causing "Update failed" loops with the new Linux updater.
https://updates.discord.com/distributions/app/manifests/latest accepts platform=linux just fine.
Steps to Reproduce
curl https://discord.com/api/updates/distributions/app/manifests/latest?channel=stable&platform=linux&arch=x64
Expected Behavior
JSON with latest module versions, URLs and hashes
Current Be...
causing "Update failed" loops with the new Linux updater
can you elaborate on this? our clients don't currently use this endpoint so this shouldn't be causing issues.
our clients don't currently use this endpoint so this shouldn't be causing issues.
Output to stdout has errors from the new rust updater showing that it is using this endpoint
our clients don't currently use this endpoint so this shouldn't be causing issues.
Output to stdout has errors from the new rust updater showing that it is using this endpoint
I can't reproduce this. Do you have NEW_UPDATE_ENDPOINT defined in your settings.json by any chance? Does this problem go away if you remove it?
I can't reproduce this. Do you have
NEW_UPDATE_ENDPOINTdefined in your settings.json by any chance? Does this problem go away if you remove it?
As I said, I'm just a messenger for something that was forwarded to me. But thinking over it after the "our clients don't currently use this endpoint" line, that is probably the problem.
<sub>I use NixOS, so none of this applies to me nor am I able to test easily</sub>
Even though its not in use anymore, it doesn't fully make sense why its not ...
Changelog
The premium_type field on the User object will return 0 for applications that have not been approved for the identify.premium scope. To receive nitro subscription level, you must request the identify.premium scope during OAuth authorization. Without this scope, the field returns 0 regardless of the user's actual subscription status.
<!-- mintlify-preview-comment-discord-premium-type -->
Preview deployment for your docs. Learn more about Mintlify Previews.
| Project | Status | Preview | Updated (UTC) |
|---|---|---|---|
| Discord | ๐ก Building | โ | May 5, 2026, 6:55 PM |
๐ก Tip: Enable Workflows to automatically gen...
78c8cb1 user.premium_type and identify.premium scope (#... - colinloretz
(non blocking phrasing nit):
Sent when a user joins a guild. This event may also be sent for users who are already members of the guild. The inner payload is a [guild member](/developers/resources/guild#guild-member-object) object with an extra `guild_id` key:
968d606 Update developers/events/gateway-events.mdx - appellation
0e227c5 Clarify GUILD_MEMBER_ADD behavior (#8337) - appellation
I understand the concerns with mobile compatibility but I would like to bring up the argument that there is a strong use-case for some implementation of columns/tables/inline fields in Components V2, even if mobile renders it vertically.
I help maintain an RPG information bot, and one of the embeds we used needs to display 16 separate stats, various character information, and related metadata. With the standard embed, this worked very well: desktop users saw a compact horizontal layout, ...
fdeba6d Add game detection requirement to claim-your-ga... - markmandel
Documents that Discord must have an official record of a game before it can be claimed, explains that recognition grows with playerbase and playtime, and clarifies that Rich Presence is separate from automatic game detection. Directs developers to the Step 2 dropdown as the definitive way to check whether their game is eligible.
<!-- mintlify-preview-comment-discord-markm-claim-detected -->
Preview deployment for your docs. Learn more about Mintlify Previews.
| Project | Status | Preview | Updated (UTC) |
|---|---|---|---|
| Discord | ๐ก Building | โ | May 6, 2026, 8:37 PM |
๐ก Tip: Enable Workflows to automatic...
355ff6b Review updates. - markmandel
3ec2ada Add game detection requirement to claim-your-ga... - markmandel
3414694 Fix cmake bug in C++ getting started guide - markmandel
There was a bug in the old docs platform that required this.
I forgot about it with the switchover, but it came up recently - so fixing it!
<!-- mintlify-preview-comment-discord-markm-fix-cmake-bug -->
Preview deployment for your docs. Learn more about Mintlify Previews.
| Project | Status | Preview | Updated (UTC) |
|---|---|---|---|
| Discord | ๐ก Building | โ | May 6, 2026, 11:48 PM |
๐ก Tip: Enable Workflows to automatic...
My idea for its implementation would be that it is sent to the bot as a string, but Discord on their end performs validation to ensure it is a valid integer. It would support min_value and max_value.
There are just some cases where numbers below 253 are just not enough.
In my specific case my bot has an input for a bitfield, but I had to switch it to use strings as there grew a need for huge bitfields, and in my opinion it's bad UX to not tell the user their input is invalid until after...
I found a workaround--Discord requires fields to have a name, but if you leave the name field blank ("name": "โ",) then the name won't take up any space.
So:
{
"name": "Fieldname",
"value": "Fieldvalue",
"inline": true
}
is almost identical to
{
"name": "",
"value": "**Fieldname**\nFieldvalue",
"inline": true
}
And if you want to add a ...
1a54d39 Document flags_new field on Application object - markmandel
[discord/discord-api-docs] Pull request opened: #8345 Document flags_new field on Application object
Adds a callout under the Application Flags heading explaining that new flag bits beyond bit 30 only appear in flags_new (a stringified integer), updates the example Application JSON to show both fields, and publishes a changelog entry. Mirrors the precedent set by permissions_new/allow_new/deny_new.
<!-- mintlify-preview-comment-discord-markm-flag-new -->
Preview deployment for your docs. Learn more about Mintlify Previews.
| Project | Status | Preview | Updated (UTC) |
|---|---|---|---|
| Discord | ๐ก Building | โ | May 7, 2026, 9:46 PM |
๐ก Tip: Enable Workflows to automatically g...
Description
The documentation is missing on how to delete the Application Role Connection.
It seems PUT /users/@me/applications/{application.id}/role-connection with an empty object ({}) deletes the role connection.
DELETE /users/@me/applications/{application.id}/role-connection also seems to work, although not documented.
Steps to Reproduce
N/A
Expected Behavior
N/A
Current Behavior
N/A
Screenshots/Videos
No response
Client and System Information
N/A
Description
This has been a long-standing issue, iOS server subscriptions do not generate the usual renewal/upgrade/purchase notifications in the server's system messages channel that subscriptions purchased on web/desktop generate.
(Example of what I mean below:)
This has been a huge issue for trying to make sure iOS subscribers get the rewards they paid for as the only nudge we get of them subscribing is when they first subscribe through the audit log of them receiving the roles.
I wo...
547e363 add DELETE /users/@me/applications/{application... - afgiel
<!-- mintlify-preview-comment-discord-afgiel-delete-current-app-role-connection -->
Preview deployment for your docs. Learn more about Mintlify Previews.
| Project | Status | Preview | Updated (UTC) |
|---|---|---|---|
| Discord | ๐ก Building | โ | May 8, 2026, 2:23 PM |
๐ก Tip: Enable [Workflows](https://www.mintlify.com/docs/agent/wo...
It's starting to look like everything is working as intended I recommend waiting and seeing what others say
Je veux avoir un bot sur mon serv discord stp donne moi un lien pour que je le fasse directement
Description
On iOS, the last button on each row is now wrapping to the next row. It appears that the button sizes have changed.
I've attached two screenshots before and after I noticed the problem.
I first observed this change a week or two ago.
I scoured my code, but I have not made any changes that should affect the size of my buttons.
Did Discord change the padding or button sizes for mobile devices?
All my buttons on every message are messed up now.
Steps to Rep...
We don't promise specific button sizes - they may change due to layout or design updates.
Description
So, I built a "streak" system where you get an icon and a number added after your nameโand the thing is, it works for everyone except the server owner; for them, it says "missing permission."
Steps to Reproduce
just try changing the server owner nickname
Expected Behavior
own behavior: name is changed
Current Behavior
Error with "permission missing"
Screenshots/Videos
No response
Client and System Information
- Discord V14
This is intended. The server owner is considered to be above all roles in the role list, so nobody can moderate them.
from Permission Hierarchy docs:
A bot can only kick, ban, and edit nicknames for users whose highest role is lower than the botโs highest role.
Description
When a user with a gradient role runs a slash command on iOS (maybe Android too?), their name above the command's reply does not use the gradient color. Instead the member's name with a solid color is shown.
Steps to Reproduce
-
Give yourself a role, with gradient colors, and make it your highest role.
-
Run a slash command on iOS while you have said role.
-
Observe that your name does not have a gradient, and instead uses a solid color.
Expected Behavior
Fo...
Yeah android has it the same - it also doesn't show the custom font thing either
Description
Whenever I try to disable friend requests or message requests on my Discord account, I get this error when using this endpoint.
My account ID: 689901021199204467
(I usually reported this through the support portal, but itโs been a long time and itโs still marked as โresolved.โ I canโt adjust the settings I mentioned for my account.)
Steps to Reproduce
I have no idea how it was reproduced; it looks like there's a problem with my account.
Expected Behavior
I sho...
What does the server send you in response? (Unless it contains confidential information, of course)
What does the server send you in response? (Unless it contains confidential information, of course)
@vakiliner Missing Access
Does this issue affect just one of your accounts or all of them?
Does this issue affect just one of your accounts or all of them?
@vakiliner just one
My only guess is that your account is limited.
For example, Family Center, although I couldn't reproduce the issue with Family Center because the buttons were disabled, it's possible it's a client-side bug.
My only guess is that your account is limited.
For example, Family Center, although I couldn't reproduce the issue with Family Center because the buttons were disabled, it's possible it's a client-side bug.
My account is not restricted @vakiliner
000540d Add Discord Social SDK 1.9.15780 release notes ... - markmandel
Adds Xbox GDK 260400 support and Krisp noise suppression integration across Android, iOS, macOS, and Windows.
<!-- mintlify-preview-comment-discord-markm-release-1-9-15780 -->
Preview deployment for your docs. Learn more about Mintlify Previews.
| Project | Status | Preview | Updated (UTC) |
|---|---|---|---|
| Discord | ๐ก Building | โ | May 13, 2026, 5:03 PM |
๐ก Tip: Enable Workflows to autom...
b6077f9 Document noise suppression, cancellation, and n... - markmandel
Adds three new sections to the Managing Voice Chat guide covering audio processing capabilities exposed by the Social SDK Client:
- "Detecting No Audio Input" โ Client::SetNoAudioInputThreshold and SetNoAudioInputCallback for surfacing "your mic appears silent" UX.
- "Noise Suppression & Cancellation" โ splits the WebRTC defaults (SetNoiseSuppression, SetEchoCancellation, SetAutomaticGainControl) from the optional Krisp-powered SetNoiseCancellation, and includes guidance on excluding Kris...
<!-- mintlify-preview-comment-discord-markm-social-sdk-krisp -->
Preview deployment for your docs. Learn more about Mintlify Previews.
| Project | Status | Preview | Updated (UTC) |
|---|---|---|---|
| Discord | ๐ก Building | โ | May 13, 2026, 8:39 PM |
๐ก Tip: Enable Workflows to automa...
[discord-api-docs] Branch markm/social-sdk-krisp was force-pushed to `7fd0d18`
Thanks for these efforts, however none of these endpoints are referenced in https://github.com/discord/discord-api-spec/blob/main/specs/openapi.json and therefore not ready to be documented or stable -- so I'm going to close this issue.
Since I haven't encountered your problem and have no idea how to reproduce it, I may not be able to help you.
Of course, I can continue to interrogate you, but I can't promise I'll be able to help.
To solve the problem, need to wait for an answer from the developers.
Since I haven't encountered your problem and have no idea how to reproduce it, I may not be able to help you.
Of course, I can continue to interrogate you, but I can't promise I'll be able to help.
To solve the problem, need to wait for an answer from the developers.
@vakiliner No problem, thank you for your help
<img width="695" height="275" alt="Image" src="https://github.com/user-attachments/assets/95a2e6fd-6024-45e2-abf2-7d473d8de3b6" />
https://github.com/user-attachments/assets/236ceb3d-257a-41c6-998f-a76e182c288a
I don't have this problem on any of my other accounts, but it occurs on my main account.
https://github.com/user-attachments/assets/236ceb3d-257a-41c6-998f-a76e182c288a I don't have this problem on any of my other accounts, but it occurs on my main account.
Based on the new attachments, I was able to partially reproduce the issue.
However, in this case, I was receiving a 429 error (Too Many Requests), not a 403.
The changes don't have time to apply, and refreshing the page resets the changes.
Based on the new attachments, I was able to partially reproduce the issue.
However, in this case, I was receiving a 429 error (Too Many Requests), not a 403.
The changes don't have time to apply, and refreshing the page resets the changes.
@vakiliner idk; I haven't changed the settings in a week. I'm still getting the same error, and the problem is only with one of my accounts.
Did you have the experiment-only favorites feature enabled on that account?
Discord has since made the feature nitro-only, which might cause issues when your proto still has your non-nitro favorites and the client is trying to sync them to the server.
@bignutty
Did you have the experiment-only favorites feature enabled on that account?
Probly no
Discord has since made the feature nitro-only, which might cause issues when your proto still has your non-nitro favorites and the client is trying to sync them to the server. (Assuming you don't have Nitro on the account)
I'm already a Nitro subscriber
I just checked the experiments, and yes, they all appear to be turned off
Summary
- Replace the empty
NameplatePalette.oneOfin both published specs with the documented palette constants. - Keep
UserNameplateResponse.paletteas a string enum schema instead of an empty union.
Fixes #53
Verification
- Parsed
specs/openapi.jsonandspecs/openapi_preview.jsonwith Node.js. - Checked
NameplatePalettecontains:crimson,berry,sky,teal,forest,bubble_gum,violet,cobalt,clover,lemon,white. - Checked there are no empty
oneOf/...
The spec is automatically generated from source. This will eventually get fixed internally.
The spec is automatically generated from source. This will eventually get fixed internally.
Is there a way to disable pull request creation or restrict it to collaborators only?
Or do need pull requests for other purposes?
Good idea, restricted PR creation to collaborators.
The issue was favorites, and this has been fixed
The issue was favorites, and this has been fixed
@advaith1 yea, my problem was resolved yesterday, thanks! โค
I worked around the issue by shortening the text. And I had all my buttons lined up in one row once again. Ah, I was satisfied with the workaround.
Until today.
Today I see the problem once again!
My emoji button at the end seems to have grown extra padding on its right side, causing it to wrap to the second row (see attachment). Not only does the wrap mess things up for me, but the button itself looks quite awkward now.
I understand you can't guarantee specific button sizes, but can ...
Button sizes can't be guaranteed even when there are no frontend changes. Accessibility settings such as "Zoom Level" will effect the button sizes and cause different layouts.
The mismatched padding is a bug and we will fix it.
Description
Basically #8243 isn't fully solved yet sadly. While it is better, it overall is actually worse because my double softbanning doesn't solve this new issue. I'm not sure on the reproduction steps this time as it doesn't work in isolation but there is a seemingly growing chance that it will leave a message behind.
This is across different bots and many servers that I've seen this reported. Sorr...
Iโve experienced this issue happen multiple times too. Seemingly the banned user can send a message even 5 seconds after the ban atleast from my logging. It definitely is better than what it was as it happens a lot less.
after being resolved last year this has become an issue again starting sometime this month. I've first had this error on May 2nd when sending a single attachment over ~200MiB. The Server would respond with HTTP 504 or HTTP 503 on both POST and PATCH when calling /webhooks/{webhook.id}/{webhook.token}
Description
When changing the SKU icons it just says failed like the size is wrong when it isnt, im even using the same picture to test it.
Steps to Reproduce
just change any SKU icon idk
Expected Behavior
to change normally without complaining
Current Behavior
Error telling you that you must use the correct size even when it is the correct size (?)
https://github.com/user-attachments/assets/09128551-f503-4043-812b-48ccaa41f40c
Screenshots/Videos
No response
...
Allow Forum Threads to have individual permissions rather than only allowing to edit the forum parent channel permissions.
Hi,
I wanted to suggest official API support for Discord Quests.
I was working on a bot that notifies servers whenever new quests release, but there's currently no official way to access quest data. Because of that, developers usually end up monitoring internal client requests, which can break unexpectedly whenever Discord changes something internally.
I think having a public read-only endpoint or webhook for quests would be really useful for community bots and dashboards. Even somet...
I'd like to point out an important point: some tasks are not available to everyone.
Task availability may vary by region and other factors.
Yeah, that's true. Quest availability can definitely vary depending on region, account eligibility, experiments, or other factors.
If Discord ever adds official support for Quest integrations, it would be nice if the API also included availability information or visibility flags so bots and dashboards could handle that properly.
Hi, i get the same error when modify the guild nick of a member.
This also affects client where if try to edit a member the save button does nothing.
Client:
{
"message": "Cuerpo del formulario no v\u00e1lido",
"code": 50035,
"errors": {
"guild_tag": {
"_errors": [
{
"code": "AUTO_MODERATION_USER_PROFILES_INVALID_GUILD_TAG",
"message": "La etiqueta contiene palabras marcadas por la comunidad"
...
Heyo, just to get some extra info to try to narrow down what might be happening here, does there seem to be any pattern when this happens? For instance does it tend to happen more often at a certain time of day, in certain channels or servers of a certain size, or is there anything else about it that happens with this but not other bans, like the other message deletions taking longer?
I've really only seen this happen (way less frequently than stated by OP) with spam bots.
Our spam detection bans the user and we still have 1 or 2 lingering messages that get additional mod pings for cleanup.
My (purely speculative) working theory was that the request was already accepted by the API but delayed or propagation through replicas took longer than usual, so the message fully "arrives" after the user was already banned and cleanup has already happened.
I have never seen this in ...
Yeah, I haven't had too many reports but from one server they have told me it is getting worse. For context ive done 80k bans overall, so it's still very minor. And haven't seen any correlation as of yet.
I don't think its due to server size because my small server has gotten this.
My theory is it could be due to discords own load and maybe things get delayed or skipped.
But as I said earlier, ive tried to manually reproduce this and haven't had any success. The original issue was really ...
the current component limit for Modals is 5 as of now, it's great but in some cases i have to add more than 5 components for various purposes, so i work around that by sending an ephemeral text message with a button containing another modal, which is kind of a hassle for the user.
so i suggest adding one of the following:
- Increasing the Component limit to 10 components per Modal
- Adding Pages to Modals, each page having a 5 Component limit
- Giving Devs the ability to stack mod...
49bd00e Update required C++ standard to C++20 for Socia... - markmandel
The Standalone C++ getting-started guide stated C++17 as the minimum, but as of SDK 1.9 the default target is C++20 on all platforms except PlayStation 4 / PS5 with SDK older than 13.000, which still uses C++17. Updates the prereq bullet, the CMakeLists.txt starter snippet, and adds an Info callout flagging the PS exception.
<!-- mintlify-preview-comment-discord-markm-c--version -->
Preview deployment for your docs. Learn more about Mintlify Previews.
| Project | Status | Preview | Updated (UTC) |
|---|---|---|---|
| Discord | ๐ก Building | โ | May 20, 2026, 8:17 PM |
๐ก Tip: Enable Workflows to automatically gene...
Maybe add a short parenthetical? like (SDK versions prior to 1.9 support C++17)
I'm going to make a new table on the platform compatibility page for engine/language support. had an offline chat, and it's going to be easier that way, and then guide can stick to just C++20, since it's a guide, not a reference.
More stuff coming to this PR shortly.
d63d1eb Add Game Engine and Language section to Platfor... - markmandel
And done! Had a chat with other devrel foiks, doing this properly with a reference of which engines and languages we support felt like the right call - and give us some space to be able to document changes over time.
ec1a271 Document Discord account bans, token revocation... - markmandel
Expanded coverage across the Social SDK guides for what happens when the Discord-to-game link is severed โ by ban, explicit unmerge, or OAuth2 token revocation. Adds Ban-Driven Unmerge, Out-of-Band Revocation, When Refresh Fails, and Recommended Integration Path sections, plus a Discord Social SDK Considerations subsection on the APPLICATION_DEAUTHORIZED webhook event. Moves ban-lifecycle detail out of the moderation guide, which is no longer the natural home for it.
@SinisterRectus is correct; the rate limit on guild role creation is 48 hours. This does sound like a case of the library doing an excellent job in handling the rate limit :)
I agree that documenting more type-based guarantees for fields would be helpful (I mentioned this in #1382), but Discord has historically avoided treating even the actual message types and channel types as different objects. This was noticeable when news channels were added (see #881), where the mutability of the `typ...
We have special syntax for linking to other docs pages; we don't do absolute URLs. In this case, it should be DOCS_GAME_SDK_ACTIVITIES/
You can update the link in this PR instead; that'd be great.
Update these in the one PR over here if you could: https://github.com/discord/discord-api-docs/pull/1474
b9cf7cd Fix typo in info tip for reaction endpoints (#1... - Nevvulo
Of course, but at least documenting what keys are present in each object would help.
With Scala and circe, I can define it so that type designates what kind of message object the Json can be; even if the internal representation isn't changed, implementing it on my end would be incredibly more efficient.
Add a full stop/period.
actually, not sure if its #DOCS_GAME_SDK_ACTIVITIES or ""/activities. Assuming it's the former.
It should be possible to make it as a adt we have do so in Serenity with channel types, you may need to use deserialzation of a tag though. Or is it more that you want the docs to specify exactly when fields are null or something like that?
Great to know! So to confirm, that's 250 roles in 48 hours, which would
explain my situation clearly.
Is it also correct that, on hitting that limit, no error is thrown for
subsequent role requests? I'd suggest that as a qol measure - I'll mention
on discord.js tooโ๏ธ
On Tue, 7 Apr 2020, 03:41 Mason Sciotti, notifications@github.com wrote:
@SinisterRectus https://github.com/SinisterRectus is correct; the rate
limit on guild role creation is 48 hours. This does sound like a case of...
Is it also correct that, on hitting that limit, no error is thrown for
subsequent role requests?
My guess is that you are hitting this and discord.js is waiting for the ratelimit to expire. Increase logging to confirm.
A 429 error should be encountered if the request was attempted. Your library is probably seeing that 0 requests are remaining and is naively waiting for the limit to expire, which would take up to 48 hours. Check with discord.js people.
I am suggesting that the docs to be more specific in the different subsets of Messages and what fields they define. Channels would also be nice too (category vs voice vs text vs shop vs etc) but they're not as confusing with the current docs as Message is.
There issue is not that these types are not documented. The issue is that there is only one message object and one channel object to document. As far as the API is concerned, there is no such concept as a "DM Message", for example.
HTTP Error 30015 : Maximum number of allowed in a message reached (10).
It's also undocumented.

I'm creating a service that polls from the invite API (https://discordapp.com/developers/docs/resources/invite). I'm testing it right now, so I'm probably sending a request about once a minute. However, I somehow got rate limited and can't use the API. It's been at least a few hours since my last query, and I'm still limited. Is there something I'm missing? (I'm sending GET requests to https://discordapp.com/api/invites/my-invite-code).
Note: I'm not getting any of the headers described here with my failed requests.
In the context described in the API server, I assume you are making unauthenticated requests to this endpoint.
Unauthenticated requests do not receive rate-limit headers as described, and may not follow the same rate limiting rules / rates described.
Is there a way to authenticate that request?
https://discordapp.com/developers/docs/reference#authentication
This still may be unrelated to your error rate if you otherwise triggered a response based on some bad behaviour.
Thank you for your suggestion.
I set the header Authorization: Bearer <my access token> along with my request and got a 1015 error from Cloudflare, same as before. I'll contact discord again about the issue, hopefully it gets resolved soon. Thanks!
Just so you know, you should be prefixing the token with Bot rather than Bearer as you are not using OAuth.
6d65308 gamesdk help server --> devs server - msciotti
Not sure of the technical implications here, but adding member_count to these events would help to encourage stateless bots.
My particular use-case: DiscordServers needs member counts. We currently have to keep track of every servers member count and update based on these events. Would much rather stop tracking every server and just update the count when the event comes in.
Something to add, with the potential update coming out that will restrict bots that use the guild members intent to 100 guilds, large bots (specifically server list bots) will be unable to reliably track the number of members in a guild. I don't care about the member in these events, I just want a reliable count when it changes
What if I want to delete specific messages of specific user on a specific channel older than 2 week? Judging by your suggestion above "delete and clone channel" - should I then ban the user with "prune message" option?
This has a faint smell of hypocrisy and double-speak in the light of:
https://blog.discordapp.com/the-future-of-bots-on-discord-4e6e050ab52e
@Kein you can still delete them one by one, just not batched, it's a lot slower but still works
But aren't these events not dispatched for those bots?
Just have some feedback on the new bot verification feature. I think it's overall a pretty good idea due to the influx of Nitro/other scam bots DMing users and attempting to get added. However, I do have some suggestions and feedback I'd like to give regarding the feature:
- Add a setting to disable DMs/mentions from non-verified bots. This can prevent bot DM spam on the user's side and could overall be used to help improve security for users who don't want to receive direct messages f...
With the latest blog referring to new interaction features that maybe coming to bots, I would really like to drive home that Adaptive Cards would be an excellent solution. Their formatting options are bountiful with support of way more complex designs with fairly straight forward JSON, even collapsible cards.
They not only allow for more customisation in formatting, but allows for more interaction with actions. These actions would really bring Discord's bot support way up there and avoid h...
I am fine/agree with all of the above except locking the name. I think bots should be allowed to re-brand or anything of the sort. 100 guilds, while may seem like a lot to some people now, is very early in a growing bot's life and having to lock down its identity at that point can be damaging. All systems are prone to abuse but the verification makes it much more difficult for someone to do once and even harder to repeat offend.
This could allow a bot owner to change their bot's name to ...
Regarding locking up name: maybe allow editing it but require to provide reason and someone on discord side would need to approve it, would be some middle ground between full lock and security
To add to all that one more useful feature in my opinion would be to add who owns bot on verified bots profile, what I have in mind is something like this, small popup with owner username.
. I've also changed the value of the flags property in the example object (adds the MFA_SMS user flag which is not public), so that it's clear that public_flags exposes less user flags (hence the name).
I'm seeing some public_flags that are undefined, and some that are 0. Is there a difference?
Is it correct to reuse the "User Flags" table as a resource for public_flags? If the values are different, does that not that imply different values are in use?
Earlier Mason said that all the currently documented flags are "public":

The bot public_flags property seems to be the same as the flags property from OAuth, but is different from (less than) the internal flags in the client. From my testing, the public_flags/OAuth flags uses the same flag values as the internal flags, but it only includes the documented flags (testing with the documented flags gives the same result, but t...
I feel like at this point with the way those Figma links showed more Discord integration, I feel like verified bots should have their own application page within Discord. It feels odd that now a bot can be verified, but they still haev to go to 3rd party bot list sites or "landing pages" for bots to find out any more info on them.