---
title: "Search for Messages"
method: POST
path: "/channels/{target}/search"
tags: ["Messaging"]
---

# Search for Messages

`POST /channels/{target}/search`

This route searches for messages within the given parameters.

## Path parameters

- `target` string, required

## Request body

- DataMessageSearch — Options for searching for messages
  - `query` string, nullable — Full-text search query See [MongoDB documentation](https://docs.mongodb.com/manual/text-search/#-text-operator) for more information.
  - `pinned` boolean, nullable — Whether to only search for pinned messages, cannot be sent with `query`.
  - `limit` integer, nullable — Maximum number of messages to fetch
  - `before` string, nullable — Message id before which messages should be fetched
  - `after` string, nullable — Message id after which messages should be fetched
  - `sort` union — Message Sort Sort used for retrieving messages
    - 'Relevance' — Sort by the most relevant messages
    - 'Latest' — Sort by the newest messages first
    - 'Oldest' — Sort by the oldest messages first
  - `include_users` boolean, nullable — Whether to include user (and member, if server channel) objects

## Response `200`

- union — Bulk Message Response
  - Message[]
    - `_id` string, required — Unique Id
    - `nonce` string, nullable — Unique value generated by client sending this message
    - `channel` string, required — Id of the channel this message was sent in
    - `author` string, required — Id of the user or webhook that sent this message
    - `user` User — User
      - `_id` string, required — Unique Id
      - `username` string, required — Username
      - `discriminator` string, required — Discriminator
      - `display_name` string, nullable — Display name
      - `pronouns` string, nullable — User's pronouns
      - `avatar` File — File
        - `_id` string, required — Unique Id
        - `tag` string, required — Tag / bucket this file was uploaded to
        - `filename` string, required — Original filename
        - `metadata` union, required — Metadata associated with a file
          - object — File is just a generic uncategorised file
            - `type` 'File', required
          - object — File contains textual data and should be displayed as such
            - `type` 'Text', required
          - object — File is an image with specific dimensions, and may be animated
            - `type` 'Image', required
            - `width` integer, required
            - `height` integer, required
            - `thumbhash` integer[], nullable
            - `animated` boolean, nullable
          - object — File is a video with specific dimensions
            - `type` 'Video', required
            - `width` integer, required
            - `height` integer, required
          - object — File is audio
            - `type` 'Audio', required
        - `content_type` string, required — Raw content type of this file
        - `size` integer, required — Size of this file (in bytes)
        - `deleted` boolean, nullable — Whether this file was deleted
        - `reported` boolean, nullable — Whether this file was reported
        - `message_id` string, nullable
        - `user_id` string, nullable
        - `server_id` string, nullable
        - `object_id` string, nullable — Id of the object this file is associated with
      - `relations` Relationship[] — Relationships with other users
        - `_id` string, required — Other user's Id
        - `status` union, required — User's relationship with another user (or themselves)
          - 'None' — No relationship with other user
          - 'User' — Other user is us
          - 'Friend' — Friends with the other user
          - 'Outgoing' — Pending friend request to user
          - 'Incoming' — Incoming friend request from user
          - 'Blocked' — Blocked this user
          - 'BlockedOther' — Blocked by this user
      - `badges` integer — Bitfield of user badges https://docs.rs/revolt-models/latest/revolt_models/v0/enum.UserBadges.html
      - `status` UserStatus — User's active status
        - `text` string, nullable — Custom status text
        - `presence` union — Presence status
          - 'Online' — User is online
          - 'Idle' — User is not currently available
          - 'Focus' — User is focusing / will only receive mentions
          - 'Busy' — User is busy / will not receive any notifications
          - 'Invisible' — User appears to be offline
      - `flags` integer — Enum of user flags https://docs.rs/revolt-models/latest/revolt_models/v0/enum.UserFlags.html
      - `privileged` boolean — Whether this user is privileged
      - `bot` BotInformation — Bot information for if the user is a bot
        - `owner` string, required — Id of the owner of this bot
      - `relationship` union, required — User's relationship with another user (or themselves)
        - 'None' — No relationship with other user
        - 'User' — Other user is us
        - 'Friend' — Friends with the other user
        - 'Outgoing' — Pending friend request to user
        - 'Incoming' — Incoming friend request from user
        - 'Blocked' — Blocked this user
        - 'BlockedOther' — Blocked by this user
      - `online` boolean, required — Whether this user is currently online
    - `member` Member — Server Member
      - `_id` MemberCompositeKey, required — Composite primary key consisting of server and user id
        - `server` string, required — Server Id
        - `user` string, required — User Id
      - `joined_at` string, date-time, required — ISO8601 formatted timestamp
      - `nickname` string, nullable — Member's nickname
      - `pronouns` string, nullable — Member's pronouns
      - `avatar` File — File
        - `_id` string, required — Unique Id
        - `tag` string, required — Tag / bucket this file was uploaded to
        - `filename` string, required — Original filename
        - `metadata` union, required — Metadata associated with a file
          - object — File is just a generic uncategorised file
            - `type` 'File', required
          - object — File contains textual data and should be displayed as such
            - `type` 'Text', required
          - object — File is an image with specific dimensions, and may be animated
            - `type` 'Image', required
            - `width` integer, required
            - `height` integer, required
            - `thumbhash` integer[], nullable
            - `animated` boolean, nullable
          - object — File is a video with specific dimensions
            - `type` 'Video', required
            - `width` integer, required
            - `height` integer, required
          - object — File is audio
            - `type` 'Audio', required
        - `content_type` string, required — Raw content type of this file
        - `size` integer, required — Size of this file (in bytes)
        - `deleted` boolean, nullable — Whether this file was deleted
        - `reported` boolean, nullable — Whether this file was reported
        - `message_id` string, nullable
        - `user_id` string, nullable
        - `server_id` string, nullable
        - `object_id` string, nullable — Id of the object this file is associated with
      - `roles` string[] — Member's roles
      - `timeout` string, date-time — ISO8601 formatted timestamp
      - `can_publish` boolean — Whether the member is server-wide voice muted
      - `can_receive` boolean — Whether the member is server-wide voice deafened
    - `webhook` MessageWebhook — Information about the webhook bundled with Message
      - `name` string, required
      - `avatar` string, nullable
    - `content` string, nullable — Message content
    - `system` union — System Event
      - object
        - `type` 'text', required
        - `content` string, required
      - object
        - `type` 'user_added', required
        - `id` string, required
        - `by` string, required
      - object
        - `type` 'user_remove', required
        - `id` string, required
        - `by` string, required
      - object
        - `type` 'user_joined', required
        - `id` string, required
      - object
        - `type` 'user_left', required
        - `id` string, required
      - object
        - `type` 'user_kicked', required
        - `id` string, required
      - object
        - `type` 'user_banned', required
        - `id` string, required
      - object
        - `type` 'channel_renamed', required
        - `name` string, required
        - `by` string, required
      - object
        - `type` 'channel_description_changed', required
        - `by` string, required
      - object
        - `type` 'channel_icon_changed', required
        - `by` string, required
      - object
        - `type` 'channel_ownership_changed', required
        - `from` string, required
        - `to` string, required
      - object
        - `type` 'message_pinned', required
        - `id` string, required
        - `by` string, required
      - object
        - `type` 'message_unpinned', required
        - `id` string, required
        - `by` string, required
      - object
        - `type` 'call_started', required
        - `by` string, required
        - `finished_at` string, date-time — ISO8601 formatted timestamp
    - `attachments` File[], nullable — Array of attachments
      - `_id` string, required — Unique Id
      - `tag` string, required — Tag / bucket this file was uploaded to
      - `filename` string, required — Original filename
      - `metadata` union, required — Metadata associated with a file
        - object — File is just a generic uncategorised file
          - `type` 'File', required
        - object — File contains textual data and should be displayed as such
          - `type` 'Text', required
        - object — File is an image with specific dimensions, and may be animated
          - `type` 'Image', required
          - `width` integer, required
          - `height` integer, required
          - `thumbhash` integer[], nullable
          - `animated` boolean, nullable
        - object — File is a video with specific dimensions
          - `type` 'Video', required
          - `width` integer, required
          - `height` integer, required
        - object — File is audio
          - `type` 'Audio', required
      - `content_type` string, required — Raw content type of this file
      - `size` integer, required — Size of this file (in bytes)
      - `deleted` boolean, nullable — Whether this file was deleted
      - `reported` boolean, nullable — Whether this file was reported
      - `message_id` string, nullable
      - `user_id` string, nullable
      - `server_id` string, nullable
      - `object_id` string, nullable — Id of the object this file is associated with
    - `edited` string, date-time — ISO8601 formatted timestamp
    - `embeds` Embed[], nullable — Attached embeds to this message
      - union — Embed
        - object — Website metadata
          - `type` 'Website', required
          - `url` string, nullable — Direct URL to web page
          - `original_url` string, nullable — Original direct URL
          - `special` union — Information about special remote content
            - object — No remote content
              - …
            - object — Content hint that this contains a GIF Use metadata to find video or image to play
              - …
            - object — YouTube video
              - …
            - object — Lightspeed.tv stream
              - …
            - object — Twitch stream or clip
              - …
            - object — Spotify track
              - …
            - object — Soundcloud track
              - …
            - object — Bandcamp track
              - …
            - object
              - …
            - object — Streamable Video
              - …
          - `title` string, nullable — Title of website
          - `description` string, nullable — Description of website
          - `image` Image — Image
            - `url` string, required — URL to the original image
            - `width` integer, required — Width of the image
            - `height` integer, required — Height of the image
            - `size` union, required — Image positioning and size
              - …
          - `video` Video — Video
            - `url` string, required — URL to the original video
            - `width` integer, required — Width of the video
            - `height` integer, required — Height of the video
          - `site_name` string, nullable — Site name
          - `icon_url` string, nullable — URL to site icon
          - `colour` string, nullable — CSS Colour
        - object — Image
          - `type` 'Image', required
          - `url` string, required — URL to the original image
          - `width` integer, required — Width of the image
          - `height` integer, required — Height of the image
          - `size` union, required — Image positioning and size
            - 'Large' — Show large preview at the bottom of the embed
            - 'Preview' — Show small preview to the side of the embed
        - object — Video
          - `type` 'Video', required
          - `url` string, required — URL to the original video
          - `width` integer, required — Width of the video
          - `height` integer, required — Height of the video
        - object — Text Embed
          - `type` 'Text', required
          - `icon_url` string, nullable — URL to icon
          - `url` string, nullable — URL for title
          - `title` string, nullable — Title of text embed
          - `description` string, nullable — Description of text embed
          - `media` File — File
            - `_id` string, required — Unique Id
            - `tag` string, required — Tag / bucket this file was uploaded to
            - `filename` string, required — Original filename
            - `metadata` union, required — Metadata associated with a file
              - …
            - `content_type` string, required — Raw content type of this file
            - `size` integer, required — Size of this file (in bytes)
            - `deleted` boolean, nullable — Whether this file was deleted
            - `reported` boolean, nullable — Whether this file was reported
            - `message_id` string, nullable
            - `user_id` string, nullable
            - `server_id` string, nullable
            - `object_id` string, nullable — Id of the object this file is associated with
          - `colour` string, nullable — CSS Colour
        - object
          - `type` 'None', required
    - `mentions` string[], nullable — Array of user ids mentioned in this message
    - `role_mentions` string[], nullable — Array of role ids mentioned in this message
    - `replies` string[], nullable — Array of message ids this message is replying to
    - `reactions` object — Hashmap of emoji IDs to array of user IDs
    - `interactions` Interactions — Information to guide interactions on this message
      - `reactions` string[], nullable — Reactions which should always appear and be distinct
      - `restrict_reactions` boolean — Whether reactions should be restricted to the given list Can only be set to true if reactions list is of at least length 1
    - `masquerade` Masquerade — Name and / or avatar override information
      - `name` string, nullable — Replace the display name shown on this message
      - `avatar` string, nullable — Replace the avatar shown on this message (URL to image file)
      - `colour` string, nullable — Replace the display role colour shown on this message Must have `ManageRole` permission to use
    - `pinned` boolean, nullable — Whether or not the message in pinned
    - `flags` integer — Bitfield of message flags https://docs.rs/revolt-models/latest/revolt_models/v0/enum.MessageFlags.html
  - object
    - `messages` Message[], required — List of messages
      - `_id` string, required — Unique Id
      - `nonce` string, nullable — Unique value generated by client sending this message
      - `channel` string, required — Id of the channel this message was sent in
      - `author` string, required — Id of the user or webhook that sent this message
      - `user` User — User
        - `_id` string, required — Unique Id
        - `username` string, required — Username
        - `discriminator` string, required — Discriminator
        - `display_name` string, nullable — Display name
        - `pronouns` string, nullable — User's pronouns
        - `avatar` File — File
          - `_id` string, required — Unique Id
          - `tag` string, required — Tag / bucket this file was uploaded to
          - `filename` string, required — Original filename
          - `metadata` union, required — Metadata associated with a file
            - object — File is just a generic uncategorised file
              - …
            - object — File contains textual data and should be displayed as such
              - …
            - object — File is an image with specific dimensions, and may be animated
              - …
            - object — File is a video with specific dimensions
              - …
            - object — File is audio
              - …
          - `content_type` string, required — Raw content type of this file
          - `size` integer, required — Size of this file (in bytes)
          - `deleted` boolean, nullable — Whether this file was deleted
          - `reported` boolean, nullable — Whether this file was reported
          - `message_id` string, nullable
          - `user_id` string, nullable
          - `server_id` string, nullable
          - `object_id` string, nullable — Id of the object this file is associated with
        - `relations` Relationship[] — Relationships with other users
          - `_id` string, required — Other user's Id
          - `status` union, required — User's relationship with another user (or themselves)
            - 'None' — No relationship with other user
            - 'User' — Other user is us
            - 'Friend' — Friends with the other user
            - 'Outgoing' — Pending friend request to user
            - 'Incoming' — Incoming friend request from user
            - 'Blocked' — Blocked this user
            - 'BlockedOther' — Blocked by this user
        - `badges` integer — Bitfield of user badges https://docs.rs/revolt-models/latest/revolt_models/v0/enum.UserBadges.html
        - `status` UserStatus — User's active status
          - `text` string, nullable — Custom status text
          - `presence` union — Presence status
            - 'Online' — User is online
            - 'Idle' — User is not currently available
            - 'Focus' — User is focusing / will only receive mentions
            - 'Busy' — User is busy / will not receive any notifications
            - 'Invisible' — User appears to be offline
        - `flags` integer — Enum of user flags https://docs.rs/revolt-models/latest/revolt_models/v0/enum.UserFlags.html
        - `privileged` boolean — Whether this user is privileged
        - `bot` BotInformation — Bot information for if the user is a bot
          - `owner` string, required — Id of the owner of this bot
        - `relationship` union, required — User's relationship with another user (or themselves)
          - 'None' — No relationship with other user
          - 'User' — Other user is us
          - 'Friend' — Friends with the other user
          - 'Outgoing' — Pending friend request to user
          - 'Incoming' — Incoming friend request from user
          - 'Blocked' — Blocked this user
          - 'BlockedOther' — Blocked by this user
        - `online` boolean, required — Whether this user is currently online
      - `member` Member — Server Member
        - `_id` MemberCompositeKey, required — Composite primary key consisting of server and user id
          - `server` string, required — Server Id
          - `user` string, required — User Id
        - `joined_at` string, date-time, required — ISO8601 formatted timestamp
        - `nickname` string, nullable — Member's nickname
        - `pronouns` string, nullable — Member's pronouns
        - `avatar` File — File
          - `_id` string, required — Unique Id
          - `tag` string, required — Tag / bucket this file was uploaded to
          - `filename` string, required — Original filename
          - `metadata` union, required — Metadata associated with a file
            - object — File is just a generic uncategorised file
              - …
            - object — File contains textual data and should be displayed as such
              - …
            - object — File is an image with specific dimensions, and may be animated
              - …
            - object — File is a video with specific dimensions
              - …
            - object — File is audio
              - …
          - `content_type` string, required — Raw content type of this file
          - `size` integer, required — Size of this file (in bytes)
          - `deleted` boolean, nullable — Whether this file was deleted
          - `reported` boolean, nullable — Whether this file was reported
          - `message_id` string, nullable
          - `user_id` string, nullable
          - `server_id` string, nullable
          - `object_id` string, nullable — Id of the object this file is associated with
        - `roles` string[] — Member's roles
        - `timeout` string, date-time — ISO8601 formatted timestamp
        - `can_publish` boolean — Whether the member is server-wide voice muted
        - `can_receive` boolean — Whether the member is server-wide voice deafened
      - `webhook` MessageWebhook — Information about the webhook bundled with Message
        - `name` string, required
        - `avatar` string, nullable
      - `content` string, nullable — Message content
      - `system` union — System Event
        - object
          - `type` 'text', required
          - `content` string, required
        - object
          - `type` 'user_added', required
          - `id` string, required
          - `by` string, required
        - object
          - `type` 'user_remove', required
          - `id` string, required
          - `by` string, required
        - object
          - `type` 'user_joined', required
          - `id` string, required
        - object
          - `type` 'user_left', required
          - `id` string, required
        - object
          - `type` 'user_kicked', required
          - `id` string, required
        - object
          - `type` 'user_banned', required
          - `id` string, required
        - object
          - `type` 'channel_renamed', required
          - `name` string, required
          - `by` string, required
        - object
          - `type` 'channel_description_changed', required
          - `by` string, required
        - object
          - `type` 'channel_icon_changed', required
          - `by` string, required
        - object
          - `type` 'channel_ownership_changed', required
          - `from` string, required
          - `to` string, required
        - object
          - `type` 'message_pinned', required
          - `id` string, required
          - `by` string, required
        - object
          - `type` 'message_unpinned', required
          - `id` string, required
          - `by` string, required
        - object
          - `type` 'call_started', required
          - `by` string, required
          - `finished_at` string, date-time — ISO8601 formatted timestamp
      - `attachments` File[], nullable — Array of attachments
        - `_id` string, required — Unique Id
        - `tag` string, required — Tag / bucket this file was uploaded to
        - `filename` string, required — Original filename
        - `metadata` union, required — Metadata associated with a file
          - object — File is just a generic uncategorised file
            - `type` 'File', required
          - object — File contains textual data and should be displayed as such
            - `type` 'Text', required
          - object — File is an image with specific dimensions, and may be animated
            - `type` 'Image', required
            - `width` integer, required
            - `height` integer, required
            - `thumbhash` integer[], nullable
            - `animated` boolean, nullable
          - object — File is a video with specific dimensions
            - `type` 'Video', required
            - `width` integer, required
            - `height` integer, required
          - object — File is audio
            - `type` 'Audio', required
        - `content_type` string, required — Raw content type of this file
        - `size` integer, required — Size of this file (in bytes)
        - `deleted` boolean, nullable — Whether this file was deleted
        - `reported` boolean, nullable — Whether this file was reported
        - `message_id` string, nullable
        - `user_id` string, nullable
        - `server_id` string, nullable
        - `object_id` string, nullable — Id of the object this file is associated with
      - `edited` string, date-time — ISO8601 formatted timestamp
      - `embeds` Embed[], nullable — Attached embeds to this message
        - union — Embed
          - object — Website metadata
            - `type` 'Website', required
            - `url` string, nullable — Direct URL to web page
            - `original_url` string, nullable — Original direct URL
            - `special` union — Information about special remote content
              - …
            - `title` string, nullable — Title of website
            - `description` string, nullable — Description of website
            - `image` Image — Image
              - …
            - `video` Video — Video
              - …
            - `site_name` string, nullable — Site name
            - `icon_url` string, nullable — URL to site icon
            - `colour` string, nullable — CSS Colour
          - object — Image
            - `type` 'Image', required
            - `url` string, required — URL to the original image
            - `width` integer, required — Width of the image
            - `height` integer, required — Height of the image
            - `size` union, required — Image positioning and size
              - …
          - object — Video
            - `type` 'Video', required
            - `url` string, required — URL to the original video
            - `width` integer, required — Width of the video
            - `height` integer, required — Height of the video
          - object — Text Embed
            - `type` 'Text', required
            - `icon_url` string, nullable — URL to icon
            - `url` string, nullable — URL for title
            - `title` string, nullable — Title of text embed
            - `description` string, nullable — Description of text embed
            - `media` File — File
              - …
            - `colour` string, nullable — CSS Colour
          - object
            - `type` 'None', required
      - `mentions` string[], nullable — Array of user ids mentioned in this message
      - `role_mentions` string[], nullable — Array of role ids mentioned in this message
      - `replies` string[], nullable — Array of message ids this message is replying to
      - `reactions` object — Hashmap of emoji IDs to array of user IDs
      - `interactions` Interactions — Information to guide interactions on this message
        - `reactions` string[], nullable — Reactions which should always appear and be distinct
        - `restrict_reactions` boolean — Whether reactions should be restricted to the given list Can only be set to true if reactions list is of at least length 1
      - `masquerade` Masquerade — Name and / or avatar override information
        - `name` string, nullable — Replace the display name shown on this message
        - `avatar` string, nullable — Replace the avatar shown on this message (URL to image file)
        - `colour` string, nullable — Replace the display role colour shown on this message Must have `ManageRole` permission to use
      - `pinned` boolean, nullable — Whether or not the message in pinned
      - `flags` integer — Bitfield of message flags https://docs.rs/revolt-models/latest/revolt_models/v0/enum.MessageFlags.html
    - `users` User[], required — List of users
      - `_id` string, required — Unique Id
      - `username` string, required — Username
      - `discriminator` string, required — Discriminator
      - `display_name` string, nullable — Display name
      - `pronouns` string, nullable — User's pronouns
      - `avatar` File — File
        - `_id` string, required — Unique Id
        - `tag` string, required — Tag / bucket this file was uploaded to
        - `filename` string, required — Original filename
        - `metadata` union, required — Metadata associated with a file
          - object — File is just a generic uncategorised file
            - `type` 'File', required
          - object — File contains textual data and should be displayed as such
            - `type` 'Text', required
          - object — File is an image with specific dimensions, and may be animated
            - `type` 'Image', required
            - `width` integer, required
            - `height` integer, required
            - `thumbhash` integer[], nullable
            - `animated` boolean, nullable
          - object — File is a video with specific dimensions
            - `type` 'Video', required
            - `width` integer, required
            - `height` integer, required
          - object — File is audio
            - `type` 'Audio', required
        - `content_type` string, required — Raw content type of this file
        - `size` integer, required — Size of this file (in bytes)
        - `deleted` boolean, nullable — Whether this file was deleted
        - `reported` boolean, nullable — Whether this file was reported
        - `message_id` string, nullable
        - `user_id` string, nullable
        - `server_id` string, nullable
        - `object_id` string, nullable — Id of the object this file is associated with
      - `relations` Relationship[] — Relationships with other users
        - `_id` string, required — Other user's Id
        - `status` union, required — User's relationship with another user (or themselves)
          - 'None' — No relationship with other user
          - 'User' — Other user is us
          - 'Friend' — Friends with the other user
          - 'Outgoing' — Pending friend request to user
          - 'Incoming' — Incoming friend request from user
          - 'Blocked' — Blocked this user
          - 'BlockedOther' — Blocked by this user
      - `badges` integer — Bitfield of user badges https://docs.rs/revolt-models/latest/revolt_models/v0/enum.UserBadges.html
      - `status` UserStatus — User's active status
        - `text` string, nullable — Custom status text
        - `presence` union — Presence status
          - 'Online' — User is online
          - 'Idle' — User is not currently available
          - 'Focus' — User is focusing / will only receive mentions
          - 'Busy' — User is busy / will not receive any notifications
          - 'Invisible' — User appears to be offline
      - `flags` integer — Enum of user flags https://docs.rs/revolt-models/latest/revolt_models/v0/enum.UserFlags.html
      - `privileged` boolean — Whether this user is privileged
      - `bot` BotInformation — Bot information for if the user is a bot
        - `owner` string, required — Id of the owner of this bot
      - `relationship` union, required — User's relationship with another user (or themselves)
        - 'None' — No relationship with other user
        - 'User' — Other user is us
        - 'Friend' — Friends with the other user
        - 'Outgoing' — Pending friend request to user
        - 'Incoming' — Incoming friend request from user
        - 'Blocked' — Blocked this user
        - 'BlockedOther' — Blocked by this user
      - `online` boolean, required — Whether this user is currently online
    - `members` Member[], nullable — List of members
      - `_id` MemberCompositeKey, required — Composite primary key consisting of server and user id
        - `server` string, required — Server Id
        - `user` string, required — User Id
      - `joined_at` string, date-time, required — ISO8601 formatted timestamp
      - `nickname` string, nullable — Member's nickname
      - `pronouns` string, nullable — Member's pronouns
      - `avatar` File — File
        - `_id` string, required — Unique Id
        - `tag` string, required — Tag / bucket this file was uploaded to
        - `filename` string, required — Original filename
        - `metadata` union, required — Metadata associated with a file
          - object — File is just a generic uncategorised file
            - `type` 'File', required
          - object — File contains textual data and should be displayed as such
            - `type` 'Text', required
          - object — File is an image with specific dimensions, and may be animated
            - `type` 'Image', required
            - `width` integer, required
            - `height` integer, required
            - `thumbhash` integer[], nullable
            - `animated` boolean, nullable
          - object — File is a video with specific dimensions
            - `type` 'Video', required
            - `width` integer, required
            - `height` integer, required
          - object — File is audio
            - `type` 'Audio', required
        - `content_type` string, required — Raw content type of this file
        - `size` integer, required — Size of this file (in bytes)
        - `deleted` boolean, nullable — Whether this file was deleted
        - `reported` boolean, nullable — Whether this file was reported
        - `message_id` string, nullable
        - `user_id` string, nullable
        - `server_id` string, nullable
        - `object_id` string, nullable — Id of the object this file is associated with
      - `roles` string[] — Member's roles
      - `timeout` string, date-time — ISO8601 formatted timestamp
      - `can_publish` boolean — Whether the member is server-wide voice muted
      - `can_receive` boolean — Whether the member is server-wide voice deafened

## Other responses

- `default` — An error occurred.

---

[API](https://skmtc.net/revolt/apis/revolt-api.md) · [All operations](https://skmtc.net/revolt/apis/revolt-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/revolt/revolt-api/versions/a235e4654b18/schema)
