Skip to content
Fluxer API

User content collections

Recent mentions and saved messages are private lists that only the account that owns them can read. Two more routes delete the messages you wrote. For data archives see Data harvests.

Only user tokens can call these routes, and Fluxer rejects a bot or OAuth2 bearer token with 403 ACCESS_DENIED.

A saved message is a private bookmark that pairs a message with the channel it was saved from. It stores no copy of the message, and Fluxer checks your permissions each time you list saved messages.

FieldTypeDescription
idsnowflakeThe ID of the saved entry, always equal to message_id
channel_idsnowflakeThe channel the message was saved from
message_idsnowflakeThe ID of the saved message
statusstringThe saved message status of the entry
message?message objectThe message as you can see it, null when status is missing_permissions
ValueDescription
availableThe message is included in the entry
missing_permissionsYou can't view the channel or read the message

The scope field of Delete current user's messages.

ValueDescription
selectedThe include_* fields and the guild filter decide which messages are deleted
inaccessible_onlyOnly guilds you have left and group DMs you are no longer in

The guild_filter_mode field of the same endpoint.

ValueDescription
excludeEvery eligible guild except excluded_guild_ids
include_onlyOnly included_guild_ids
GET/v1/users/@me/mentions

Returns messages from your recent mention history that you can still read, newest first. Fluxer records only mentions in guild channels. A deleted message or a channel you can no longer view is left out, and a page can have fewer messages than limit.

An entry in a thread, forum channel or media channel is left out unless the session declares the channel_threads client capability.

FieldTypeDescription
limit?integerThe maximum number of mentions to look up (1-100, default 25)
roles?booleanWhether role mentions are included (default true)
everyone?booleanWhether @everyone and @here mentions are included (default true)
guilds?booleanWhether mentions in guild channels are included (default true)
before?snowflakeOnly return mentions with a message ID below this

Only true, True and 1 count as true for the boolean fields. Setting guilds to false always returns an empty array.

StatusBodyCondition
200array[message object]Readable mentions were returned
403error responseMISSING_ACCESS fails the whole list when an entry is in a thread you can no longer view

The rate limit is 40 requests per 10 seconds, on the user:mentions:read bucket.

POST/v1/users/@me/mentions/read

Removes entries from your recent mention history and returns 204. Sends a Recent Mention Delete event for each entry removed. It doesn't change the channel's unread mention count, which is part of its read state.

FieldTypeDescription
message_idsarray[snowflake]The message IDs of the entries to remove (1-100 entries)
StatusBodyCondition
204emptyThe entries were removed, and unknown IDs are ignored

The rate limit is 60 requests per 10 seconds, on the user:mentions:delete bucket.

DELETE/v1/users/@me/mentions/{message_id}

Removes one entry from your recent mention history and returns 204, whether or not the entry existed. Sends a Recent Mention Delete event when an entry is removed.

The rate limit is 60 requests per 10 seconds, on the user:mentions:delete bucket.

GET/v1/users/@me/saved-messages

Returns an array of saved messages, newest first. An entry whose message you can no longer read comes back with status missing_permissions. An entry whose message was deleted is removed from your saved messages and left out, and a page can have fewer entries than limit.

An entry saved from a thread, forum channel or media channel is left out unless the session declares the channel_threads client capability.

FieldTypeDescription
limit?integerThe maximum number of entries to look up (1-100, default 25)
before?snowflakeOnly return entries with a message ID below this
StatusBodyCondition
200array[saved message object]Saved entries were returned
403error responseMISSING_ACCESS fails the whole list when an entry is in a thread you can no longer view

The rate limit is 40 requests per 10 seconds, on the user:saved_messages:read bucket.

POST/v1/users/@me/saved-messages

Saves a message and returns 204 when you can view its channel and the message itself, and sends a Saved Message Create event to your sessions.

An account can save at most the max_bookmarks instance limit, 50 by default.

FieldTypeDescription
channel_idsnowflakeThe channel containing the message
message_idsnowflakeThe ID of the message to save
StatusBodyCondition
204emptyThe message is in your saved messages
400error responseMAX_BOOKMARKS when you are at the limit, even for a message already saved
403error responseNSFW_CONTENT_AGE_RESTRICTED when the channel needs age verification

The rate limit is 30 requests per 10 seconds, on the user:saved_messages:write bucket.

DELETE/v1/users/@me/saved-messages/{message_id}

Removes a message from your saved messages and returns 204, whether or not it was saved. You don't need access to the channel. Sends a Saved Message Delete event to your sessions.

The rate limit is 30 requests per 10 seconds, on the user:saved_messages:write bucket.

POST/v1/users/@me/messages/bulk-delete-mineMFA

Deletes the messages you wrote that the filter selects, and needs sudo mode. Returns 202 before deletion starts. Fluxer sends Message Delete Bulk events as it works and then a direct message from the system account with the totals. Personal notes are never deleted.

The sudo fields are the sudo verification object, and you can send an existing proof in the X-Fluxer-Sudo-Mode-JWT header instead. The selected scope needs at least one of include_dms, include_dms_closed, include_group_dms and include_guilds to be true. The inaccessible_only scope ignores them and the guild filter.

FieldTypeDescription
scope?stringThe deletion scope, default selected
include_dms?booleanWhether open one-to-one DMs are included (default true)
include_dms_closed?booleanWhether closed one-to-one DMs are included (default true)
include_group_dms?booleanWhether group DMs you are still in are included (default true)
include_guilds?booleanWhether guilds you are still in are included (default true)
guild_filter_mode?stringThe guild filter mode, default exclude
excluded_guild_ids?array[snowflake]The guilds to skip in exclude mode (max 500 IDs)
included_guild_ids?array[snowflake]The only guilds to delete from in include_only mode (max 500 IDs)
start_date??ISO8601 timestampOnly messages at or after this time
end_date??ISO8601 timestampOnly messages before this time, and it must be later than start_date
password?stringThe account password (8-256 characters)
mfa_method?stringThe sudo MFA method, one of totp, webauthn or email_code
mfa_code?stringThe sudo authenticator code or an unused backup code (1-32 characters)
webauthn_response?WebAuthn assertion objectThe sudo WebAuthn assertion
webauthn_challenge?stringThe sudo WebAuthn challenge (1-256 characters)
email_code_ticket?stringThe ticket from send a sudo email code (1-128 characters)
email_code?stringThe 6-digit code from that email
StatusBodyCondition
202emptyDeletion was accepted
400error responseAn end_date not after start_date, no include_* field true, or a wrong sudo proof
403error responseSUDO_MODE_REQUIRED when no accepted proof is present

The rate limit is 5 requests per 30 minutes, on the user:messages:bulk_delete_mine_filtered bucket.

POST/v1/users/@me/messages/deleteMFA

Schedules deletion of every message you have sent, to run one day later, and needs sudo mode. Returns 204 and sends a User Update event. The user object shows the schedule in pending_bulk_message_deletion, and a new request replaces it.

The body is the sudo verification object. You can send an existing proof in the X-Fluxer-Sudo-Mode-JWT header instead.

StatusBodyCondition
204emptyThe deletion was scheduled
400error responseA wrong sudo proof (INVALID_PASSWORD, PASSWORD_NOT_SET, INVALID_MFA_CODE)
403error responseSUDO_MODE_REQUIRED when no accepted proof is present

The rate limit is 6 requests per minute, on the user:messages:bulk_delete bucket.

DELETE/v1/users/@me/messages/delete

Cancels a pending bulk message deletion and sends a User Update event with pending_bulk_message_deletion set to null. It returns 200 even when nothing is pending. Once the deletion has started, the deleted messages are not restored.

FieldTypeDescription
successbooleanAlways true
StatusBodyCondition
200response bodyThe pending deletion, if any, was cancelled

The rate limit is 6 requests per minute, on the user:messages:bulk_delete bucket.