Skip to main content

Get User Guilds

Get all guilds the authenticated user is a member of.
GET /api/guilds
Authorization: Bearer TOKEN

Response

[
  {
    "id": "guild-uuid",
    "name": "My Server",
    "icon": "https://...",
    "owner_id": "user-uuid",
    "member_count": 42,
    "is_verified": false
  }
]

Create Guild

Create a new guild.
POST /api/guilds
Authorization: Bearer TOKEN

Request Body

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

Update Guild

Update guild settings.
PATCH /api/guilds/:guild_id
Authorization: Bearer TOKEN

Request Body

{
  "name": "Updated Name",
  "icon": "https://...",
  "banner": "https://..."
}

Delete Guild

Delete a guild (owner only).
DELETE /api/guilds/:guild_id
Authorization: Bearer TOKEN

Get Channels

Get all channels in a guild.
GET /api/guilds/:guild_id/channels
Authorization: Bearer TOKEN

Response

[
  {
    "id": "channel-uuid",
    "name": "general",
    "type": "text",
    "position": 0,
    "category_id": null
  }
]

Create Channel

Create a new channel.
POST /api/guilds/:guild_id/channels
Authorization: Bearer TOKEN

Request Body

{
  "name": "general",
  "type": "text",
  "category_id": null,
  "position": 0
}

Delete Channel

Delete a channel.
DELETE /api/guilds/:guild_id/channels/:channel_id
Authorization: Bearer TOKEN

Get Members

Get guild members.
GET /api/guilds/:guild_id/members
Authorization: Bearer TOKEN

Create Invite

Create an invite link.
POST /api/guilds/:guild_id/invites
Authorization: Bearer TOKEN

Request Body

{
  "max_uses": 10,
  "expires_at": "2024-12-31T23:59:59Z"
}

Response

{
  "code": "abc123",
  "url": "https://wryft.chat/invite/abc123",
  "max_uses": 10,
  "uses": 0,
  "expires_at": "2024-12-31T23:59:59Z"
}

Join Guild

Join a guild via invite code.
POST /api/invites/:code/join
Authorization: Bearer TOKEN

Leave Guild

Leave a guild.
POST /api/guilds/:guild_id/leave
Authorization: Bearer TOKEN

Permissions

Get Channel Permissions

GET /api/guilds/:guild_id/channels/:channel_id/permissions
Authorization: Bearer TOKEN

Create Permission Override

POST /api/guilds/:guild_id/channels/:channel_id/permissions
Authorization: Bearer TOKEN

Request Body

{
  "role_id": "role-uuid",
  "allow": ["VIEW_CHANNEL", "SEND_MESSAGES"],
  "deny": ["MANAGE_MESSAGES"]
}

Next Steps