System DMs
Each recipient gets the message in their direct message channel with the system account, whatever their privacy settings or blocks.
Create system DM broadcast
Section titled “Create system DM broadcast”POST/v1/admin/system-dmsQueues a sendSystemDm job that delivers the message. You need system_dm:send.
To follow or stop the broadcast, find the job with List jobs and task_type=sendSystemDm, then cancel it. A failed delivery doesn't stop the job.
JSON body
Section titled “JSON body”| Field | Type | Description |
|---|---|---|
| content | string | The message sent to every recipient (1-4000 characters) |
| user_ids? | array[snowflake] | The recipients (1-10,000 entries) |
| all_users?1 | boolean | Whether to send to every user |
1 Send exactly one of user_ids or all_users: true. Fluxer doesn't deduplicate user_ids, so a repeated ID gets the message once per entry. A broadcast to every user skips bots, system accounts and deleted or disabled accounts.
Response body
Section titled “Response body”| Field | Type | Description |
|---|---|---|
| recipient_count | ?integer | The number of entries in user_ids, or null for a broadcast to every user |
Response
Section titled “Response”| Status | Body | Condition |
|---|---|---|
| 200 | response body | The job was queued |
| 400 | error response | DIRECT_MESSAGES_DISABLED when the instance has direct messages turned off |
Side effects
Section titled “Side effects”Each recipient gets Channel Create if the channel wasn't open for them, then Message Create. The system_dm.send audit entry doesn't include the message content.
The rate limit is 100 requests per minute, on the admin:message:operation bucket.