---
title: "Delete my messages with optional filters"
method: POST
path: "/users/@me/messages/bulk-delete-mine"
tags: ["Users"]
---

# Delete my messages with optional filters

`POST /users/@me/messages/bulk-delete-mine`

Immediately deletes messages the caller has authored, subject to optional date-range and per-context filters (DMs, group DMs, guilds, with optional guild exclusions; or an inaccessible-only mode for contexts the caller is no longer a member of). Requires sudo mode verification. The deletion runs asynchronously; the caller receives a system DM with totals when it completes.

## Request body

- BulkDeleteSelfMessagesRequest
  - `scope` 'selected' | 'inaccessible_only' — Which set of contexts the deletion targets
  - `include_dms` boolean — Include 1:1 direct messages the caller still has open.
  - `include_dms_closed` boolean — Include 1:1 direct messages the caller has previously closed. Independent of include_dms — set include_dms=false and include_dms_closed=true to target closed DMs only.
  - `include_group_dms` boolean — Include group DMs the caller is still a member of.
  - `include_guilds` boolean — Include text channels in guilds the caller is a member of.
  - `guild_filter_mode` 'exclude' | 'include_only' — How the guild filter list is interpreted when include_guilds is true.
  - `excluded_guild_ids` SnowflakeType[] — Guild IDs to leave untouched. Used when include_guilds is true, guild_filter_mode is exclude, and scope is selected.
  - `included_guild_ids` SnowflakeType[] — The only guild IDs to apply this operation to. Used when include_guilds is true, guild_filter_mode is include_only, and scope is selected.
  - `start_date` string, date-time, nullable — Inclusive ISO8601 lower bound for message timestamps. Null/omitted means unbounded in the past.
  - `end_date` string, date-time, nullable — Exclusive ISO8601 upper bound for message timestamps. Null/omitted means unbounded in the future.
  - `password` string
  - `mfa_method` 'totp' | 'webauthn' — MFA method to use for verification
  - `mfa_code` string — MFA verification code from an authenticator app
  - `webauthn_response` object — WebAuthn authentication response
  - `webauthn_challenge` string — WebAuthn challenge string

## Response `204`

No Content

## Other responses

- `400` — Bad Request - The request was malformed or contained invalid data
- `401` — Unauthorized - Authentication is required or the token is invalid
- `403` — Forbidden - You do not have permission to perform this action
- `429` — Too Many Requests - You are being rate limited
- `500` — Internal Server Error - An unexpected error occurred

---

[API](https://skmtc.dev/fluxer/apis/fluxer-api.md) · [All operations](https://skmtc.dev/fluxer/apis/fluxer-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/fluxer/fluxer-api/revisions/d9c706133cc5/schema)
