---
title: "List messages from multiple channels"
method: POST
path: "/channels/messages/bulk"
tags: ["Channels", "Messages"]
---

# List messages from multiple channels

`POST /channels/messages/bulk`

Fetches bounded message windows from multiple channels in one request. Each entry uses the same pagination semantics as the single-channel message list endpoint.

## Request body

- BulkMessageFetchRequest
  - `requests` object[], required — Per-channel message windows to fetch in one request
    - `channel_id` string, snowflake, required
    - `limit` integer, required — Number of messages to return for this channel (1-50)
    - `before` string, snowflake
    - `after` string, snowflake
    - `around` string, snowflake

## Response `200`

Success

- BulkMessageFetchResponse
  - `channels` object[], required
    - `channel_id` string, required — The ID of the channel whose messages were fetched
    - `messages` MessageResponseSchema[], required — Messages fetched for this channel
      - `id` string, required — The unique identifier (snowflake) for this message
      - `channel_id` string, required — The ID of the channel this message was sent in
      - `author` UserPartialResponse, required
        - `id` string, required — The unique identifier (snowflake) for this user
        - `username` string, required — The username of the user, not unique across the platform
        - `discriminator` string, required — The four-digit discriminator tag of the user
        - `global_name` string, nullable, required — The display name of the user, if set
        - `avatar` string, nullable, required — The hash of the user avatar image
        - `avatar_color` integer, required
        - `bot` boolean — Whether the user is a bot account
        - `system` boolean — Whether the user is an official system user
        - `flags` integer, required — The public flags on the user account
        - `mention_flags` 0 | 1 | 2 — Reply mention preference
      - `webhook_id` string, snowflake
      - `type` 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 19, required — The type of message
      - `flags` integer, required — Message flags bitfield
      - `content` string, required — The text content of the message
      - `timestamp` string, date-time, required — The ISO 8601 timestamp of when the message was created
      - `edited_timestamp` string, date-time, nullable — The ISO 8601 timestamp of when the message was last edited
      - `pinned` boolean, required — Whether the message is pinned
      - `mention_everyone` boolean, required — Whether the message mentions @everyone
      - `tts` boolean, required — Whether the message was sent as text-to-speech
      - `mentions` UserPartialResponse[], required — The users mentioned in the message
        - `id` string, required — The unique identifier (snowflake) for this user
        - `username` string, required — The username of the user, not unique across the platform
        - `discriminator` string, required — The four-digit discriminator tag of the user
        - `global_name` string, nullable, required — The display name of the user, if set
        - `avatar` string, nullable, required — The hash of the user avatar image
        - `avatar_color` integer, required
        - `bot` boolean — Whether the user is a bot account
        - `system` boolean — Whether the user is an official system user
        - `flags` integer, required — The public flags on the user account
        - `mention_flags` 0 | 1 | 2 — Reply mention preference
      - `mention_roles` string[], required — The role IDs mentioned in the message
      - `mention_channels` MessageChannelMentionResponse[], nullable — Channels mentioned in the message that are visible to @everyone
        - `id` string, required — The ID of the mentioned channel
        - `name` string, required — The name of the mentioned channel
        - `type` integer, required — The type of the mentioned channel
      - `users` UserPartialResponse[], nullable — Users referenced from non-notifying content, embed, and snapshot text, included for client-side resolution
        - `id` string, required — The unique identifier (snowflake) for this user
        - `username` string, required — The username of the user, not unique across the platform
        - `discriminator` string, required — The four-digit discriminator tag of the user
        - `global_name` string, nullable, required — The display name of the user, if set
        - `avatar` string, nullable, required — The hash of the user avatar image
        - `avatar_color` integer, required
        - `bot` boolean — Whether the user is a bot account
        - `system` boolean — Whether the user is an official system user
        - `flags` integer, required — The public flags on the user account
        - `mention_flags` 0 | 1 | 2 — Reply mention preference
      - `embeds` MessageEmbedResponse[], nullable — The embeds attached to the message
        - `type` string, required — The type of embed (e.g., rich, image, video, gifv, article, link)
        - `url` string, uri, nullable — The URL of the embed
        - `title` string, nullable — The title of the embed
        - `color` integer
        - `timestamp` string, date-time, nullable — The ISO 8601 timestamp of the embed content
        - `description` string, nullable — The description of the embed
        - `author` EmbedAuthorResponse
          - `name` string, required — The name of the author
          - `url` string, uri, nullable — The URL of the author
          - `icon_url` string, uri, nullable — The URL of the author icon
          - `proxy_icon_url` string, uri, nullable — The proxied URL of the author icon
        - `image` EmbedMediaResponse
          - `url` string, required — The URL of the media
          - `proxy_url` string, uri, nullable — The proxied URL of the media
          - `content_type` string, nullable — The MIME type of the media
          - `content_hash` string, nullable — The hash of the media content
          - `width` integer
          - `height` integer
          - `description` string, nullable — The description of the media
          - `placeholder` string, nullable — The base64 encoded placeholder image for lazy loading
          - `duration` integer
          - `flags` integer, required — The bitwise flags for this media
        - `thumbnail` EmbedMediaResponse
          - `url` string, required — The URL of the media
          - `proxy_url` string, uri, nullable — The proxied URL of the media
          - `content_type` string, nullable — The MIME type of the media
          - `content_hash` string, nullable — The hash of the media content
          - `width` integer
          - `height` integer
          - `description` string, nullable — The description of the media
          - `placeholder` string, nullable — The base64 encoded placeholder image for lazy loading
          - `duration` integer
          - `flags` integer, required — The bitwise flags for this media
        - `footer` EmbedFooterResponse
          - `text` string, required — The footer text
          - `icon_url` string, uri, nullable — The URL of the footer icon
          - `proxy_icon_url` string, uri, nullable — The proxied URL of the footer icon
        - `fields` EmbedFieldResponse[], nullable — The fields of the embed
          - `name` string, required — The name of the field
          - `value` string, required — The value of the field
          - `inline` boolean, required — Whether the field should be displayed inline
        - `provider` EmbedAuthorResponse
          - `name` string, required — The name of the author
          - `url` string, uri, nullable — The URL of the author
          - `icon_url` string, uri, nullable — The URL of the author icon
          - `proxy_icon_url` string, uri, nullable — The proxied URL of the author icon
        - `video` EmbedMediaResponse
          - `url` string, required — The URL of the media
          - `proxy_url` string, uri, nullable — The proxied URL of the media
          - `content_type` string, nullable — The MIME type of the media
          - `content_hash` string, nullable — The hash of the media content
          - `width` integer
          - `height` integer
          - `description` string, nullable — The description of the media
          - `placeholder` string, nullable — The base64 encoded placeholder image for lazy loading
          - `duration` integer
          - `flags` integer, required — The bitwise flags for this media
        - `audio` EmbedMediaResponse
          - `url` string, required — The URL of the media
          - `proxy_url` string, uri, nullable — The proxied URL of the media
          - `content_type` string, nullable — The MIME type of the media
          - `content_hash` string, nullable — The hash of the media content
          - `width` integer
          - `height` integer
          - `description` string, nullable — The description of the media
          - `placeholder` string, nullable — The base64 encoded placeholder image for lazy loading
          - `duration` integer
          - `flags` integer, required — The bitwise flags for this media
        - `html` string, nullable — Sanitized oEmbed HTML for trusted specialized embed renderers
        - `html_width` integer
        - `html_height` integer
        - `nsfw` boolean, nullable — Whether the embed is flagged as NSFW
        - `children` MessageEmbedChildResponse[], nullable — Internal nested embeds generated by unfurlers
          - `type` string, required — The type of embed (e.g., rich, image, video, gifv, article, link)
          - `url` string, uri, nullable — The URL of the embed
          - `title` string, nullable — The title of the embed
          - `color` integer
          - `timestamp` string, date-time, nullable — The ISO 8601 timestamp of the embed content
          - `description` string, nullable — The description of the embed
          - `author` EmbedAuthorResponse
            - `name` string, required — The name of the author
            - `url` string, uri, nullable — The URL of the author
            - `icon_url` string, uri, nullable — The URL of the author icon
            - `proxy_icon_url` string, uri, nullable — The proxied URL of the author icon
          - `image` EmbedMediaResponse
            - `url` string, required — The URL of the media
            - `proxy_url` string, uri, nullable — The proxied URL of the media
            - `content_type` string, nullable — The MIME type of the media
            - `content_hash` string, nullable — The hash of the media content
            - `width` integer
            - `height` integer
            - `description` string, nullable — The description of the media
            - `placeholder` string, nullable — The base64 encoded placeholder image for lazy loading
            - `duration` integer
            - `flags` integer, required — The bitwise flags for this media
          - `thumbnail` EmbedMediaResponse
            - `url` string, required — The URL of the media
            - `proxy_url` string, uri, nullable — The proxied URL of the media
            - `content_type` string, nullable — The MIME type of the media
            - `content_hash` string, nullable — The hash of the media content
            - `width` integer
            - `height` integer
            - `description` string, nullable — The description of the media
            - `placeholder` string, nullable — The base64 encoded placeholder image for lazy loading
            - `duration` integer
            - `flags` integer, required — The bitwise flags for this media
          - `footer` EmbedFooterResponse
            - `text` string, required — The footer text
            - `icon_url` string, uri, nullable — The URL of the footer icon
            - `proxy_icon_url` string, uri, nullable — The proxied URL of the footer icon
          - `fields` EmbedFieldResponse[], nullable — The fields of the embed
            - `name` string, required — The name of the field
            - `value` string, required — The value of the field
            - `inline` boolean, required — Whether the field should be displayed inline
          - `provider` EmbedAuthorResponse
            - `name` string, required — The name of the author
            - `url` string, uri, nullable — The URL of the author
            - `icon_url` string, uri, nullable — The URL of the author icon
            - `proxy_icon_url` string, uri, nullable — The proxied URL of the author icon
          - `video` EmbedMediaResponse
            - `url` string, required — The URL of the media
            - `proxy_url` string, uri, nullable — The proxied URL of the media
            - `content_type` string, nullable — The MIME type of the media
            - `content_hash` string, nullable — The hash of the media content
            - `width` integer
            - `height` integer
            - `description` string, nullable — The description of the media
            - `placeholder` string, nullable — The base64 encoded placeholder image for lazy loading
            - `duration` integer
            - `flags` integer, required — The bitwise flags for this media
          - `audio` EmbedMediaResponse
            - `url` string, required — The URL of the media
            - `proxy_url` string, uri, nullable — The proxied URL of the media
            - `content_type` string, nullable — The MIME type of the media
            - `content_hash` string, nullable — The hash of the media content
            - `width` integer
            - `height` integer
            - `description` string, nullable — The description of the media
            - `placeholder` string, nullable — The base64 encoded placeholder image for lazy loading
            - `duration` integer
            - `flags` integer, required — The bitwise flags for this media
          - `html` string, nullable — Sanitized oEmbed HTML for trusted specialized embed renderers
          - `html_width` integer
          - `html_height` integer
          - `nsfw` boolean, nullable — Whether the embed is flagged as NSFW
      - `attachments` MessageAttachmentResponse[], nullable — The files attached to the message
        - `id` string, required — The unique identifier for this attachment
        - `filename` string, required — The name of the attached file
        - `title` string, nullable — The title of the attachment
        - `description` string, nullable — The description of the attachment
        - `content_type` string, nullable — The MIME type of the attachment
        - `content_hash` string, nullable — The hash of the attachment content
        - `size` integer, required — The size of the attachment in bytes
        - `url` string, nullable — The URL of the attachment
        - `proxy_url` string, nullable — The proxied URL of the attachment
        - `width` integer
        - `height` integer
        - `placeholder` string, nullable — The base64 encoded placeholder image for lazy loading
        - `flags` integer, required — Attachment flags
        - `nsfw` boolean, nullable — Whether the attachment is flagged as NSFW
        - `duration` integer
        - `waveform` string, nullable — The base64 encoded audio waveform data
        - `expires_at` string, nullable — The ISO 8601 timestamp when the attachment URL expires
        - `expired` boolean, nullable — Whether the attachment URL has expired
      - `stickers` MessageStickerResponse[], nullable — The stickers sent with the message
        - `id` string, required — The unique identifier of the sticker
        - `name` string, required — The name of the sticker
        - `animated` boolean, required — Whether the sticker is animated
        - `nsfw` boolean — Whether this sticker is classified as NSFW
      - `nsfw_emojis` SnowflakeType[] — IDs of custom emojis in this message that are classified as NSFW
      - `reactions` MessageReactionResponse[], nullable — The reactions on the message
        - `emoji` object, required — The emoji used for the reaction
          - `id` string, snowflake
          - `name` string, required — The name of the emoji (or Unicode character for standard emojis)
          - `animated` boolean, nullable — Whether the emoji is animated
        - `count` integer, required — The total number of times this reaction has been used
        - `me` boolean, nullable — Whether the current user has reacted with this emoji
      - `message_reference` object, nullable — Reference data for replies or forwards
        - `channel_id` string, required — The ID of the channel containing the referenced message
        - `message_id` string, required — The ID of the referenced message
        - `guild_id` string, snowflake
        - `type` 0 | 1, required — The type of message reference
      - `message_snapshots` MessageSnapshotResponse[], nullable — Snapshots of forwarded messages
        - `content` string, nullable — The text content of the snapshot
        - `timestamp` string, date-time, required — The ISO 8601 timestamp of when the original message was created
        - `edited_timestamp` string, date-time, nullable — The ISO 8601 timestamp of when the original message was last edited
        - `mentions` string[], nullable — The user IDs mentioned in the snapshot
        - `mention_roles` string[], nullable — The role IDs mentioned in the snapshot
        - `mention_channels` MessageChannelMentionResponse[], nullable — Channels mentioned in the snapshot that are visible to @everyone
          - `id` string, required — The ID of the mentioned channel
          - `name` string, required — The name of the mentioned channel
          - `type` integer, required — The type of the mentioned channel
        - `embeds` MessageEmbedResponse[], nullable — The embeds included in the snapshot
          - `type` string, required — The type of embed (e.g., rich, image, video, gifv, article, link)
          - `url` string, uri, nullable — The URL of the embed
          - `title` string, nullable — The title of the embed
          - `color` integer
          - `timestamp` string, date-time, nullable — The ISO 8601 timestamp of the embed content
          - `description` string, nullable — The description of the embed
          - `author` EmbedAuthorResponse
            - `name` string, required — The name of the author
            - `url` string, uri, nullable — The URL of the author
            - `icon_url` string, uri, nullable — The URL of the author icon
            - `proxy_icon_url` string, uri, nullable — The proxied URL of the author icon
          - `image` EmbedMediaResponse
            - `url` string, required — The URL of the media
            - `proxy_url` string, uri, nullable — The proxied URL of the media
            - `content_type` string, nullable — The MIME type of the media
            - `content_hash` string, nullable — The hash of the media content
            - `width` integer
            - `height` integer
            - `description` string, nullable — The description of the media
            - `placeholder` string, nullable — The base64 encoded placeholder image for lazy loading
            - `duration` integer
            - `flags` integer, required — The bitwise flags for this media
          - `thumbnail` EmbedMediaResponse
            - `url` string, required — The URL of the media
            - `proxy_url` string, uri, nullable — The proxied URL of the media
            - `content_type` string, nullable — The MIME type of the media
            - `content_hash` string, nullable — The hash of the media content
            - `width` integer
            - `height` integer
            - `description` string, nullable — The description of the media
            - `placeholder` string, nullable — The base64 encoded placeholder image for lazy loading
            - `duration` integer
            - `flags` integer, required — The bitwise flags for this media
          - `footer` EmbedFooterResponse
            - `text` string, required — The footer text
            - `icon_url` string, uri, nullable — The URL of the footer icon
            - `proxy_icon_url` string, uri, nullable — The proxied URL of the footer icon
          - `fields` EmbedFieldResponse[], nullable — The fields of the embed
            - `name` string, required — The name of the field
            - `value` string, required — The value of the field
            - `inline` boolean, required — Whether the field should be displayed inline
          - `provider` EmbedAuthorResponse
            - `name` string, required — The name of the author
            - `url` string, uri, nullable — The URL of the author
            - `icon_url` string, uri, nullable — The URL of the author icon
            - `proxy_icon_url` string, uri, nullable — The proxied URL of the author icon
          - `video` EmbedMediaResponse
            - `url` string, required — The URL of the media
            - `proxy_url` string, uri, nullable — The proxied URL of the media
            - `content_type` string, nullable — The MIME type of the media
            - `content_hash` string, nullable — The hash of the media content
            - `width` integer
            - `height` integer
            - `description` string, nullable — The description of the media
            - `placeholder` string, nullable — The base64 encoded placeholder image for lazy loading
            - `duration` integer
            - `flags` integer, required — The bitwise flags for this media
          - `audio` EmbedMediaResponse
            - `url` string, required — The URL of the media
            - `proxy_url` string, uri, nullable — The proxied URL of the media
            - `content_type` string, nullable — The MIME type of the media
            - `content_hash` string, nullable — The hash of the media content
            - `width` integer
            - `height` integer
            - `description` string, nullable — The description of the media
            - `placeholder` string, nullable — The base64 encoded placeholder image for lazy loading
            - `duration` integer
            - `flags` integer, required — The bitwise flags for this media
          - `html` string, nullable — Sanitized oEmbed HTML for trusted specialized embed renderers
          - `html_width` integer
          - `html_height` integer
          - `nsfw` boolean, nullable — Whether the embed is flagged as NSFW
          - `children` MessageEmbedChildResponse[], nullable — Internal nested embeds generated by unfurlers
            - `type` string, required — The type of embed (e.g., rich, image, video, gifv, article, link)
            - `url` string, uri, nullable — The URL of the embed
            - `title` string, nullable — The title of the embed
            - `color` integer
            - `timestamp` string, date-time, nullable — The ISO 8601 timestamp of the embed content
            - `description` string, nullable — The description of the embed
            - `author` EmbedAuthorResponse
              - …
            - `image` EmbedMediaResponse
              - …
            - `thumbnail` EmbedMediaResponse
              - …
            - `footer` EmbedFooterResponse
              - …
            - `fields` EmbedFieldResponse[], nullable — The fields of the embed
              - …
            - `provider` EmbedAuthorResponse
              - …
            - `video` EmbedMediaResponse
              - …
            - `audio` EmbedMediaResponse
              - …
            - `html` string, nullable — Sanitized oEmbed HTML for trusted specialized embed renderers
            - `html_width` integer
            - `html_height` integer
            - `nsfw` boolean, nullable — Whether the embed is flagged as NSFW
        - `attachments` MessageAttachmentResponse[], nullable — The attachments included in the snapshot
          - `id` string, required — The unique identifier for this attachment
          - `filename` string, required — The name of the attached file
          - `title` string, nullable — The title of the attachment
          - `description` string, nullable — The description of the attachment
          - `content_type` string, nullable — The MIME type of the attachment
          - `content_hash` string, nullable — The hash of the attachment content
          - `size` integer, required — The size of the attachment in bytes
          - `url` string, nullable — The URL of the attachment
          - `proxy_url` string, nullable — The proxied URL of the attachment
          - `width` integer
          - `height` integer
          - `placeholder` string, nullable — The base64 encoded placeholder image for lazy loading
          - `flags` integer, required — Attachment flags
          - `nsfw` boolean, nullable — Whether the attachment is flagged as NSFW
          - `duration` integer
          - `waveform` string, nullable — The base64 encoded audio waveform data
          - `expires_at` string, nullable — The ISO 8601 timestamp when the attachment URL expires
          - `expired` boolean, nullable — Whether the attachment URL has expired
        - `stickers` MessageStickerResponse[], nullable — The stickers included in the snapshot
          - `id` string, required — The unique identifier of the sticker
          - `name` string, required — The name of the sticker
          - `animated` boolean, required — Whether the sticker is animated
          - `nsfw` boolean — Whether this sticker is classified as NSFW
        - `type` 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 19, required — The type of message
        - `flags` integer, required — Message flags bitfield
      - `nonce` string, nullable — A client-provided value for message deduplication
      - `call` object, nullable — Call information if this message represents a call
        - `participants` string[], required — The user IDs of participants in the call
        - `ended_timestamp` string, date-time, nullable — The ISO 8601 timestamp of when the call ended
      - `referenced_message` object, nullable — The reply target. Present and populated when the target resolved, present and null when the target is gone, absent when this message carries no default reference. Clients must tell null apart from absent by key presence.
        - `id` string, required — The unique identifier (snowflake) for this message
        - `channel_id` string, required — The ID of the channel this message was sent in
        - `author` UserPartialResponse, required
          - `id` string, required — The unique identifier (snowflake) for this user
          - `username` string, required — The username of the user, not unique across the platform
          - `discriminator` string, required — The four-digit discriminator tag of the user
          - `global_name` string, nullable, required — The display name of the user, if set
          - `avatar` string, nullable, required — The hash of the user avatar image
          - `avatar_color` integer, required
          - `bot` boolean — Whether the user is a bot account
          - `system` boolean — Whether the user is an official system user
          - `flags` integer, required — The public flags on the user account
          - `mention_flags` 0 | 1 | 2 — Reply mention preference
        - `webhook_id` string, snowflake
        - `type` 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 19, required — The type of message
        - `flags` integer, required — Message flags bitfield
        - `content` string, required — The text content of the message
        - `timestamp` string, date-time, required — The ISO 8601 timestamp of when the message was created
        - `edited_timestamp` string, date-time, nullable — The ISO 8601 timestamp of when the message was last edited
        - `pinned` boolean, required — Whether the message is pinned
        - `mention_everyone` boolean, required — Whether the message mentions @everyone
        - `tts` boolean, required — Whether the message was sent as text-to-speech
        - `mentions` UserPartialResponse[], required — The users mentioned in the message
          - `id` string, required — The unique identifier (snowflake) for this user
          - `username` string, required — The username of the user, not unique across the platform
          - `discriminator` string, required — The four-digit discriminator tag of the user
          - `global_name` string, nullable, required — The display name of the user, if set
          - `avatar` string, nullable, required — The hash of the user avatar image
          - `avatar_color` integer, required
          - `bot` boolean — Whether the user is a bot account
          - `system` boolean — Whether the user is an official system user
          - `flags` integer, required — The public flags on the user account
          - `mention_flags` 0 | 1 | 2 — Reply mention preference
        - `mention_roles` string[], required — The role IDs mentioned in the message
        - `mention_channels` MessageChannelMentionResponse[], nullable — Channels mentioned in the message that are visible to @everyone
          - `id` string, required — The ID of the mentioned channel
          - `name` string, required — The name of the mentioned channel
          - `type` integer, required — The type of the mentioned channel
        - `users` UserPartialResponse[], nullable — Users referenced from non-notifying content, embed, and snapshot text, included for client-side resolution
          - `id` string, required — The unique identifier (snowflake) for this user
          - `username` string, required — The username of the user, not unique across the platform
          - `discriminator` string, required — The four-digit discriminator tag of the user
          - `global_name` string, nullable, required — The display name of the user, if set
          - `avatar` string, nullable, required — The hash of the user avatar image
          - `avatar_color` integer, required
          - `bot` boolean — Whether the user is a bot account
          - `system` boolean — Whether the user is an official system user
          - `flags` integer, required — The public flags on the user account
          - `mention_flags` 0 | 1 | 2 — Reply mention preference
        - `embeds` MessageEmbedResponse[], nullable — The embeds attached to the message
          - `type` string, required — The type of embed (e.g., rich, image, video, gifv, article, link)
          - `url` string, uri, nullable — The URL of the embed
          - `title` string, nullable — The title of the embed
          - `color` integer
          - `timestamp` string, date-time, nullable — The ISO 8601 timestamp of the embed content
          - `description` string, nullable — The description of the embed
          - `author` EmbedAuthorResponse
            - `name` string, required — The name of the author
            - `url` string, uri, nullable — The URL of the author
            - `icon_url` string, uri, nullable — The URL of the author icon
            - `proxy_icon_url` string, uri, nullable — The proxied URL of the author icon
          - `image` EmbedMediaResponse
            - `url` string, required — The URL of the media
            - `proxy_url` string, uri, nullable — The proxied URL of the media
            - `content_type` string, nullable — The MIME type of the media
            - `content_hash` string, nullable — The hash of the media content
            - `width` integer
            - `height` integer
            - `description` string, nullable — The description of the media
            - `placeholder` string, nullable — The base64 encoded placeholder image for lazy loading
            - `duration` integer
            - `flags` integer, required — The bitwise flags for this media
          - `thumbnail` EmbedMediaResponse
            - `url` string, required — The URL of the media
            - `proxy_url` string, uri, nullable — The proxied URL of the media
            - `content_type` string, nullable — The MIME type of the media
            - `content_hash` string, nullable — The hash of the media content
            - `width` integer
            - `height` integer
            - `description` string, nullable — The description of the media
            - `placeholder` string, nullable — The base64 encoded placeholder image for lazy loading
            - `duration` integer
            - `flags` integer, required — The bitwise flags for this media
          - `footer` EmbedFooterResponse
            - `text` string, required — The footer text
            - `icon_url` string, uri, nullable — The URL of the footer icon
            - `proxy_icon_url` string, uri, nullable — The proxied URL of the footer icon
          - `fields` EmbedFieldResponse[], nullable — The fields of the embed
            - `name` string, required — The name of the field
            - `value` string, required — The value of the field
            - `inline` boolean, required — Whether the field should be displayed inline
          - `provider` EmbedAuthorResponse
            - `name` string, required — The name of the author
            - `url` string, uri, nullable — The URL of the author
            - `icon_url` string, uri, nullable — The URL of the author icon
            - `proxy_icon_url` string, uri, nullable — The proxied URL of the author icon
          - `video` EmbedMediaResponse
            - `url` string, required — The URL of the media
            - `proxy_url` string, uri, nullable — The proxied URL of the media
            - `content_type` string, nullable — The MIME type of the media
            - `content_hash` string, nullable — The hash of the media content
            - `width` integer
            - `height` integer
            - `description` string, nullable — The description of the media
            - `placeholder` string, nullable — The base64 encoded placeholder image for lazy loading
            - `duration` integer
            - `flags` integer, required — The bitwise flags for this media
          - `audio` EmbedMediaResponse
            - `url` string, required — The URL of the media
            - `proxy_url` string, uri, nullable — The proxied URL of the media
            - `content_type` string, nullable — The MIME type of the media
            - `content_hash` string, nullable — The hash of the media content
            - `width` integer
            - `height` integer
            - `description` string, nullable — The description of the media
            - `placeholder` string, nullable — The base64 encoded placeholder image for lazy loading
            - `duration` integer
            - `flags` integer, required — The bitwise flags for this media
          - `html` string, nullable — Sanitized oEmbed HTML for trusted specialized embed renderers
          - `html_width` integer
          - `html_height` integer
          - `nsfw` boolean, nullable — Whether the embed is flagged as NSFW
          - `children` MessageEmbedChildResponse[], nullable — Internal nested embeds generated by unfurlers
            - `type` string, required — The type of embed (e.g., rich, image, video, gifv, article, link)
            - `url` string, uri, nullable — The URL of the embed
            - `title` string, nullable — The title of the embed
            - `color` integer
            - `timestamp` string, date-time, nullable — The ISO 8601 timestamp of the embed content
            - `description` string, nullable — The description of the embed
            - `author` EmbedAuthorResponse
              - …
            - `image` EmbedMediaResponse
              - …
            - `thumbnail` EmbedMediaResponse
              - …
            - `footer` EmbedFooterResponse
              - …
            - `fields` EmbedFieldResponse[], nullable — The fields of the embed
              - …
            - `provider` EmbedAuthorResponse
              - …
            - `video` EmbedMediaResponse
              - …
            - `audio` EmbedMediaResponse
              - …
            - `html` string, nullable — Sanitized oEmbed HTML for trusted specialized embed renderers
            - `html_width` integer
            - `html_height` integer
            - `nsfw` boolean, nullable — Whether the embed is flagged as NSFW
        - `attachments` MessageAttachmentResponse[], nullable — The files attached to the message
          - `id` string, required — The unique identifier for this attachment
          - `filename` string, required — The name of the attached file
          - `title` string, nullable — The title of the attachment
          - `description` string, nullable — The description of the attachment
          - `content_type` string, nullable — The MIME type of the attachment
          - `content_hash` string, nullable — The hash of the attachment content
          - `size` integer, required — The size of the attachment in bytes
          - `url` string, nullable — The URL of the attachment
          - `proxy_url` string, nullable — The proxied URL of the attachment
          - `width` integer
          - `height` integer
          - `placeholder` string, nullable — The base64 encoded placeholder image for lazy loading
          - `flags` integer, required — Attachment flags
          - `nsfw` boolean, nullable — Whether the attachment is flagged as NSFW
          - `duration` integer
          - `waveform` string, nullable — The base64 encoded audio waveform data
          - `expires_at` string, nullable — The ISO 8601 timestamp when the attachment URL expires
          - `expired` boolean, nullable — Whether the attachment URL has expired
        - `stickers` MessageStickerResponse[], nullable — The stickers sent with the message
          - `id` string, required — The unique identifier of the sticker
          - `name` string, required — The name of the sticker
          - `animated` boolean, required — Whether the sticker is animated
          - `nsfw` boolean — Whether this sticker is classified as NSFW
        - `nsfw_emojis` SnowflakeType[] — IDs of custom emojis in this message that are classified as NSFW
        - `reactions` MessageReactionResponse[], nullable — The reactions on the message
          - `emoji` object, required — The emoji used for the reaction
            - `id` string, snowflake
            - `name` string, required — The name of the emoji (or Unicode character for standard emojis)
            - `animated` boolean, nullable — Whether the emoji is animated
          - `count` integer, required — The total number of times this reaction has been used
          - `me` boolean, nullable — Whether the current user has reacted with this emoji
        - `message_reference` object, nullable — Reference data for replies or forwards
          - `channel_id` string, required — The ID of the channel containing the referenced message
          - `message_id` string, required — The ID of the referenced message
          - `guild_id` string, snowflake
          - `type` 0 | 1, required — The type of message reference
        - `message_snapshots` MessageSnapshotResponse[], nullable — Snapshots of forwarded messages
          - `content` string, nullable — The text content of the snapshot
          - `timestamp` string, date-time, required — The ISO 8601 timestamp of when the original message was created
          - `edited_timestamp` string, date-time, nullable — The ISO 8601 timestamp of when the original message was last edited
          - `mentions` string[], nullable — The user IDs mentioned in the snapshot
          - `mention_roles` string[], nullable — The role IDs mentioned in the snapshot
          - `mention_channels` MessageChannelMentionResponse[], nullable — Channels mentioned in the snapshot that are visible to @everyone
            - `id` string, required — The ID of the mentioned channel
            - `name` string, required — The name of the mentioned channel
            - `type` integer, required — The type of the mentioned channel
          - `embeds` MessageEmbedResponse[], nullable — The embeds included in the snapshot
            - `type` string, required — The type of embed (e.g., rich, image, video, gifv, article, link)
            - `url` string, uri, nullable — The URL of the embed
            - `title` string, nullable — The title of the embed
            - `color` integer
            - `timestamp` string, date-time, nullable — The ISO 8601 timestamp of the embed content
            - `description` string, nullable — The description of the embed
            - `author` EmbedAuthorResponse
              - …
            - `image` EmbedMediaResponse
              - …
            - `thumbnail` EmbedMediaResponse
              - …
            - `footer` EmbedFooterResponse
              - …
            - `fields` EmbedFieldResponse[], nullable — The fields of the embed
              - …
            - `provider` EmbedAuthorResponse
              - …
            - `video` EmbedMediaResponse
              - …
            - `audio` EmbedMediaResponse
              - …
            - `html` string, nullable — Sanitized oEmbed HTML for trusted specialized embed renderers
            - `html_width` integer
            - `html_height` integer
            - `nsfw` boolean, nullable — Whether the embed is flagged as NSFW
            - `children` MessageEmbedChildResponse[], nullable — Internal nested embeds generated by unfurlers
              - …
          - `attachments` MessageAttachmentResponse[], nullable — The attachments included in the snapshot
            - `id` string, required — The unique identifier for this attachment
            - `filename` string, required — The name of the attached file
            - `title` string, nullable — The title of the attachment
            - `description` string, nullable — The description of the attachment
            - `content_type` string, nullable — The MIME type of the attachment
            - `content_hash` string, nullable — The hash of the attachment content
            - `size` integer, required — The size of the attachment in bytes
            - `url` string, nullable — The URL of the attachment
            - `proxy_url` string, nullable — The proxied URL of the attachment
            - `width` integer
            - `height` integer
            - `placeholder` string, nullable — The base64 encoded placeholder image for lazy loading
            - `flags` integer, required — Attachment flags
            - `nsfw` boolean, nullable — Whether the attachment is flagged as NSFW
            - `duration` integer
            - `waveform` string, nullable — The base64 encoded audio waveform data
            - `expires_at` string, nullable — The ISO 8601 timestamp when the attachment URL expires
            - `expired` boolean, nullable — Whether the attachment URL has expired
          - `stickers` MessageStickerResponse[], nullable — The stickers included in the snapshot
            - `id` string, required — The unique identifier of the sticker
            - `name` string, required — The name of the sticker
            - `animated` boolean, required — Whether the sticker is animated
            - `nsfw` boolean — Whether this sticker is classified as NSFW
          - `type` 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 19, required — The type of message
          - `flags` integer, required — Message flags bitfield
        - `nonce` string, nullable — A client-provided value for message deduplication
        - `call` object, nullable — Call information if this message represents a call
          - `participants` string[], required — The user IDs of participants in the call
          - `ended_timestamp` string, date-time, nullable — The ISO 8601 timestamp of when the call ended

## 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)
