---
title: "Create Group"
method: POST
path: "/channels/create"
tags: ["Groups"]
---

# Create Group

`POST /channels/create`

Create a new group channel.

## Request body

- DataCreateGroup — Create new group
  - `name` string, required — Group name
  - `description` string, nullable — Group description
  - `icon` string, nullable — Group icon
  - `users` string[] — Array of user IDs to add to the group Must be friends with these users.
  - `nsfw` boolean, nullable — Whether this group is age-restricted

## Response `200`

- 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/versions/a235e4654b18/schema)
