Skip to main content

Overview

Servers (guilds) are communities with multiple channels for organized conversations.

Server Features

Text Channels

Organized text conversations

Voice Channels

Real-time voice communication

Categories

Group channels together

Permissions

Role-based access control

Creating a Server

POST /api/guilds
{
  "name": "My Server",
  "icon": "https://...",
  "is_public": false
}

Channels

Text Channels

Create organized text channels:
POST /api/guilds/:guild_id/channels
{
  "name": "general",
  "type": "text",
  "category_id": null
}

Voice Channels

Create voice channels:
POST /api/guilds/:guild_id/channels
{
  "name": "Voice Chat",
  "type": "voice"
}

Categories

Group channels into categories:
POST /api/guilds/:guild_id/categories
{
  "name": "Text Channels",
  "position": 0
}

Permissions

Channel Permissions

Set permissions per channel:
POST /api/guilds/:guild_id/channels/:channel_id/permissions
{
  "role_id": "...",
  "allow": ["VIEW_CHANNEL", "SEND_MESSAGES"],
  "deny": ["MANAGE_MESSAGES"]
}

Available Permissions

  • VIEW_CHANNEL - See the channel
  • SEND_MESSAGES - Send messages
  • MANAGE_MESSAGES - Delete others’ messages
  • MANAGE_CHANNELS - Edit channel settings
  • MANAGE_GUILD - Edit server settings
  • KICK_MEMBERS - Kick members
  • BAN_MEMBERS - Ban members

Invites

Create invite links:
POST /api/guilds/:guild_id/invites
{
  "max_uses": 10,
  "expires_at": "2024-12-31T23:59:59Z"
}

Server Discovery

Public servers appear in discovery:
GET /api/guilds/public

Next Steps