---
title: "Create Server"
method: POST
path: "/servers/create"
tags: ["Server Information"]
---

# Create Server

`POST /servers/create`

Create a new server.

## Request body

- DataCreateServer — Information about new server to create
  - `name` string, required — Server name
  - `description` string, nullable — Server description
  - `nsfw` boolean, nullable — Whether this server is age-restricted

## Response `200`

- CreateServerLegacyResponse — Information returned when creating server
  - `server` Server, required — Server
    - `_id` string, required — Unique Id
    - `owner` string, required — User id of the owner
    - `name` string, required — Name of the server
    - `description` string, nullable — Description for the server
    - `channels` string[], required — Channels within this server
    - `categories` Category[], nullable — Categories for this server
      - `id` string, required — Unique ID for this category
      - `title` string, required — Title for this category
      - `channels` string[], required — Channels in this category
    - `system_messages` SystemMessageChannels — System message channel assignments
      - `user_joined` string, nullable — ID of channel to send user join messages in
      - `user_left` string, nullable — ID of channel to send user left messages in
      - `user_kicked` string, nullable — ID of channel to send user kicked messages in
      - `user_banned` string, nullable — ID of channel to send user banned messages in
    - `roles` object — Roles for this server
    - `default_permissions` integer, required — Default set of server and channel permissions
    - `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
    - `banner` 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
    - `flags` integer — Bitfield of server flags
    - `nsfw` boolean — Whether this server is flagged as not safe for work
    - `analytics` boolean — Whether to enable analytics
    - `discoverable` boolean — Whether this server should be publicly discoverable
    - `approximate_member_count` integer, required — Approximate amount of members in the server
  - `channels` Channel[], required — Default channels
    - 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
              - …
            - 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
        - `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
              - …
            - 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
        - `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/a235e4654b18/schema)
