---
title: "Fetch Direct Message Channels"
method: GET
path: "/users/dms"
tags: ["Direct Messaging"]
---

# Fetch Direct Message Channels

`GET /users/dms`

This fetches your direct messages, including any DM and group DM conversations.

## Response `200`

- Channel[]
  - union — Channel
    - object — Personal "Saved Notes" channel which allows users to save messages
      - `channel_type` 'SavedMessages', required
      - `_id` string, required — Unique Id
      - `user` string, required — Id of the user this channel belongs to
    - object — Direct message channel between two users
      - `channel_type` 'DirectMessage', required
      - `_id` string, required — Unique Id
      - `active` boolean, required — Whether this direct message channel is currently open on both sides
      - `recipients` string[], required — 2-tuple of user ids participating in direct message
      - `last_message_id` string, nullable — Id of the last message sent in this channel
    - object — Group channel between 1 or more participants
      - `channel_type` 'Group', required
      - `_id` string, required — Unique Id
      - `name` string, required — Display name of the channel
      - `owner` string, required — User id of the owner of the group
      - `description` string, nullable — Channel description
      - `recipients` string[], required — Array of user ids participating in channel
      - `icon` 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
      - `last_message_id` string, nullable — Id of the last message sent in this channel
      - `permissions` integer, nullable — Permissions assigned to members of this group (does not apply to the owner of the group)
      - `nsfw` boolean — Whether this group is marked as not safe for work
    - object — Text channel belonging to a server
      - `channel_type` 'TextChannel', required
      - `_id` string, required — Unique Id
      - `server` string, required — Id of the server this channel belongs to
      - `name` string, required — Display name of the channel
      - `description` string, nullable — Channel description
      - `icon` 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
      - `last_message_id` string, nullable — Id of the last message sent in this channel
      - `default_permissions` OverrideField — Representation of a single permission override as it appears on models and in the database
        - `a` integer, required — Allow bit flags
        - `d` integer, required — Disallow bit flags
      - `role_permissions` object — Permissions assigned based on role to this channel
      - `nsfw` boolean — Whether this channel is marked as not safe for work
      - `voice` VoiceInformation — Voice information for a channel
        - `max_users` integer, nullable — Maximium amount of users allowed in the voice channel at once
      - `slowmode` integer, nullable — The channel's slowmode delay in seconds

## 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/revisions/fee80de86d4d/schema)
