Skip to content
Fluxer API

System DMs

A system DM broadcast delivers one identical message, authored by the system account, to each supplied recipient or to every user. A recipient receives a normal message in a normal direct message channel.

The Jobs resource reports delivery progress. Cancelling that job stops an in-flight broadcast.

POST/v1/admin/system-dmsAudit reason

Queues one message for delivery to every supplied recipient, or to every user when all_users is set. Requires system_dm:send. Returns the number of recipients queued.

FieldTypeDescription
content1stringThe message delivered to every recipient (1-4000 characters)
user_ids?2array[snowflake]The recipients of the broadcast (1-10,000 entries)
all_users?3booleanWhether to deliver to every user instead of user_ids

1 Content with no visible character is accepted and then fails for every recipient

2 Fluxer keeps duplicate IDs, so a repeated recipient receives the message once per occurrence. An ID naming no account is accepted here and skipped at delivery time

3 Supply exactly one of user_ids or all_users: true. A broadcast to every user skips bots, the system account, and accounts that are deleted, self-deleted, or disabled

FieldTypeDescription
recipient_count?integerThe number of entries in the submitted user_ids array, or null for a broadcast to every user
StatusBodyCondition
200response bodyThe delivery job was queued
500error responseThe broadcast could not be scheduled

For each recipient the job opens the direct message channel between the system account and that recipient, then sends the message. Channel Create reaches a recipient only when the channel is newly created or was closed on that recipient’s side. A recipient who already has the channel open observes only Message Create.

Recipients need not have interacted with the system account before. Fluxer skips the direct message permission checks for the system account. A block, no friendship, no mutual guild, and the recipient’s direct message privacy settings do not stop delivery.

Cancellation stops remaining deliveries and leaves sent messages in place. The job then reports cancelled.

The operation records one Admin audit entry with the action system_dm.send, the target type system_dm, and the target ID 0. Its metadata has recipient_count and content_length as decimal strings, with recipient_count set to all for a broadcast to every user. The content itself is not recorded.

100 requests per minute for each authenticated user, on the admin:message:operation bucket.