Uh oh!
There was an error while loading. Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork 0
Home
Welcome to the rigel-server-rs wiki!
/ping
Returns information about the Rigel instance.
Response
{
"ping": "pong!",
"instance": {
"name": "My Rigel Instance",
"description": "A self-hosted Rigel server",
"image": "https://example.com/logo.png",
"correspondenceEmail": "contact@example.com",
"correspondenceUserID": "123456789012345678",
"frontPage": "https://example.com",
"tosPage": "https://example.com/tos"
} }/auth/discord-callback
Authenticates a user via Discord OAuth2 and returns a session token.
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
code | string | ✅ | OAuth2 authorization code |
redirect_uri | string | ✅ | OAuth2 redirect URI (must be valid URL) |
Response
{
"token": "MTIzNDU2Nzg5MDEyMzQ1Njc4OQ.XXXXXX.XXXXXXXXXXXXXXXXXXXXXXXX"
}/auth/sessions
Returns all active sessions for the authenticated user.
Headers
| Header | Type | Required | Description |
|---|---|---|---|
Authorization | string | ✅ | User token |
Response
{
"user_sessions": [
{
"id_hash": "abc123",
"approx_last_used_time": 1701878400000,
"client_info": {
"os": "Windows",
"platform": "Desktop",
"location": "France"
}
}
]
}/auth/sessions/logout
Logs out one or more sessions by their ID hashes.
Headers
| Header | Type | Required | Description |
|---|---|---|---|
Authorization | string | ✅ | User token |
Request Body
{
"session_id_hashes": ["abc123", "def456"]
}| Field | Type | Required | Description |
|---|---|---|---|
session_id_hashes | string[] | ✅ | Array of session IDs to logout (1-100) |
Response
204 No Content
/gateway
Returns the WebSocket URL for connecting to the gateway.
Response
{
"url": "wss://gateway.example.com/gateway"
}/gateway/bot
Returns the WebSocket URL and sharding information for bots.
Response
{
"url": "wss://gateway.example.com/gateway",
"shards": 1,
"session_start_limit": {
"remaining": 0,
"total": 1,
"max_concurrency": 1,
"reset_after": 14400000
}
}/discoverable-guilds
Returns a list of all discoverable guilds.
Headers
| Header | Type | Required | Description |
|---|---|---|---|
Authorization | string | ✅ | User token |
Response
{
"guilds": [
{
"id": "123456789012345678",
"name": "My Server",
"icon": "a_1234567890abcdef",
"banner": null,
"description": "A cool server",
"vanity_url_code": "myserver",
"approximate_member_count": 150,
"approximate_presence_count": 42
}
],
"offset": 0,
"limit": 10,
"total": 1
}/guilds
Creates a new guild. Requires Staff flag.
Request Body
{
"name": "My New Server",
"icon": "data:image/png;base64,..."
}| Field | Type | Required | Description |
|---|---|---|---|
name | string | ✅ | Guild name (2-100 characters) |
icon | string? | ❌ | Base64 encoded image (png/jpg/gif/webp) |
Response
Returns a complete Guild object with channels, roles, and members.
/guilds/{guild.id}
Modifies a guild's settings. Requires MANAGE_GUILD permission.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
guild.id | snowflake | Guild ID |
Request Body
{
"name": "New Name",
"icon": "data:image/png;base64,...",
"banner": null,
"description": "A cool server description",
"system_channel_id": "123456789012345678",
"rules_channel_id": null
}| Field | Type | Required | Description |
|---|---|---|---|
name | string | ❌ | Guild name (2-100 characters) |
icon | string? | ❌ | Base64 image or null to remove |
banner | string? | ❌ | Base64 image or null to remove |
description | string? | ❌ | Guild description (max 1000 chars) |
system_channel_id | snowflake? | ❌ | System messages channel ID |
rules_channel_id | snowflake? | ❌ | Rules channel ID |
/guilds/{guild.id}/delete
Permanently deletes a guild. Must be the guild owner.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
guild.id | snowflake | Guild ID |
Response
204 No Content
/guilds/{guild.id}/members/{user.id}
Kicks a member from the guild. Requires KICK_MEMBERS permission.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
guild.id | snowflake | Guild ID |
user.id | snowflake | User ID to kick |
Response
204 No Content
/guilds/{guild.id}/members/{user.id}/roles/{role.id}
Adds a role to a guild member. Requires MANAGE_ROLES permission.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
guild.id | snowflake | Guild ID |
user.id | snowflake | User ID |
role.id | snowflake | Role ID |
Response
204 No Content
/guilds/{guild.id}/members/{user.id}/roles/{role.id}
Removes a role from a guild member. Requires MANAGE_ROLES permission.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
guild.id | snowflake | Guild ID |
user.id | snowflake | User ID |
role.id | snowflake | Role ID |
Response
204 No Content
/guilds/{guild.id}/roles
Creates a new role in the guild. Requires MANAGE_ROLES permission.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
guild.id | snowflake | Guild ID |
Request Body
{
"name": "Moderators",
"color": 3447003,
"hoist": true,
"unicode_emoji": "🛡️",
"permissions": "1099511627775",
"mentionable": true
}| Field | Type | Required | Description |
|---|---|---|---|
name | string | ❌ | Role name (default: "new role") |
color | integer | ❌ | RGB color value |
hoist | boolean | ❌ | Display separately in sidebar |
unicode_emoji | string? | ❌ | Unicode emoji for role icon |
permissions | string | ❌ | Permission bit set as string |
mentionable | boolean | ❌ | Allow anyone to @mention role |
/guilds/{guild.id}/roles
Modifies the positions of roles in the guild. Requires MANAGE_ROLES permission.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
guild.id | snowflake | Guild ID |
Request Body
[
{ "id": "123456789012345678", "position": 1 },
{ "id": "234567890123456789", "position": 2 }
]/guilds/{guild.id}/roles/{role.id}
Modifies a role's settings. Requires MANAGE_ROLES permission.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
guild.id | snowflake | Guild ID |
role.id | snowflake | Role ID |
Request Body
Same as Create Guild Role.
/invites/{invite.code}
Joins a guild using its vanity URL code.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
invite.code | string | Vanity URL code (1-32 chars) |
Request Body
{
"session_id": "abc123def456"
}| Field | Type | Required | Description |
|---|---|---|---|
session_id | string | ❌ | Gateway session ID |
Response
{
"id": 0,
"type": 0,
"code": "myserver",
"expires_at": null,
"flags": 0,
"guild_id": "123456789012345678",
"guild": null,
"channel": null,
"new_member": true
}/channels/{channel.id}/messages
Returns messages from a channel. Requires VIEW_CHANNEL and READ_MESSAGE_HISTORY permissions.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
channel.id | snowflake | Channel ID |
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
limit | integer | ❌ | Number of messages (1-100, default: 50) |
before | snowflake | ❌ | Get messages before this ID |
after | snowflake | ❌ | Get messages after this ID |
around | snowflake | ❌ | Get messages around this ID |
Response
[
{
"id": "123456789012345678",
"type": 0,
"timestamp": "2024-12-06T12:00:00.000Z",
"edited_timestamp": null,
"channel_id": "234567890123456789",
"content": "Hello, world!",
"flags": 0,
"author": {
"id": "345678901234567890",
"username": "User",
"global_name": "Display Name",
"avatar": "a_1234567890abcdef",
"banner": null,
"public_flags": 0
}
}
]/channels/{channel.id}/messages
Sends a message to a channel. Requires VIEW_CHANNEL and SEND_MESSAGES permissions.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
channel.id | snowflake | Channel ID |
Request Body
{
"content": "Hello, world!",
"nonce": "unique-id-123",
"tts": false
}| Field | Type | Required | Description |
|---|---|---|---|
content | string | ✅ | Message content (1-4000 chars) |
nonce | string | ❌ | Nonce for message deduplication |
tts | boolean | ❌ | Text-to-speech (default: false) |
Response
Returns a Message object.
/channels/{channel.id}/messages/{message.id}
Edits a previously sent message. Only the author can edit their messages.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
channel.id | snowflake | Channel ID |
message.id | snowflake | Message ID |
Request Body
{
"content": "Edited message content"
}| Field | Type | Required | Description |
|---|---|---|---|
content | string | ✅ | New message content (1-4000 chars) |
/channels/{channel.id}/messages/{message.id}
Deletes a message. Authors can delete their own messages, or requires MANAGE_MESSAGES permission.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
channel.id | snowflake | Channel ID |
message.id | snowflake | Message ID |
Response
204 No Content
/users/@me/guilds/{guild.id}
Leaves a guild. Cannot leave if you are the owner.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
guild.id | snowflake | Guild ID |
Response
204 No Content
/users/@me/settings
Updates the authenticated user's settings.
Request Body
{
"status": "online",
"locale": "fr",
"theme": "dark",
"developer_mode": true,
"background_gradient_preset": "midnight-blurple"
}| Field | Type | Required | Description |
|---|---|---|---|
status | string | ❌ | online, idle, dnd, invisible |
locale | string | ❌ | User locale (2-6 chars) |
theme | string | ❌ | dark or light |
developer_mode | boolean | ❌ | Enable developer mode |
background_gradient_preset | string? | ❌ | Background gradient preset name |
Available Gradient Presets
mint-apple · citrus-sherbert · retro-raincloud · hanami · sunrise · cotton-candy · lofi-vibes · desert-khaki · sunset · chroma-glow · forest · crimson-moon · midnight-blurple · mars · dusk · under-the-sea · retro-storm · neon-nights · strawberry-lemonade · aurora · sepia · blurple-twilight
/users/{user.id}/profile
Returns a user's profile information.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
user.id | snowflake | User ID |
Response
{
"user_profile": {
"bio": "Hello, I'm a cool user!",
"pronouns": "they/them",
"accent_color": 16711680,
"theme_colors": [16711680, 255]
}
}
⚠️ Staff Only - These endpoints require theStaffuser flag.
/bots
Creates a new bot account.
Request Body
{
"username": "MyBot",
"avatar": "data:image/png;base64,...",
"banner": null
}| Field | Type | Required | Description |
|---|---|---|---|
username | string | ✅ | Bot username (2-32 characters) |
avatar | string? | ❌ | Base64 encoded avatar image |
banner | string? | ❌ | Base64 encoded banner image |
Response
{
"id": "123456789012345678",
"username": "MyBot",
"discriminator": "0",
"avatar": null,
"banner": null,
"bot": true,
"public_flags": 0,
"token": "MTIzNDU2Nzg5MDEyMzQ1Njc4OQ.XXXXXX.XXXXXXXXXXXXXXXXXXXXXXXX"
}/bots/{bot.id}/reset
Regenerates the token for a bot.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
bot.id | snowflake | Bot ID |
Response
{
"token": "MTIzNDU2Nzg5MDEyMzQ1Njc4OQ.YYYYYY.YYYYYYYYYYYYYYYYYYYYYYYY"
}/bots/{bot.id}
Returns information about a bot.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
bot.id | snowflake | Bot ID |
Response
{
"id": "123456789012345678",
"username": "MyBot",
"discriminator": "0",
"avatar": null,
"banner": null,
"bot": true,
"public_flags": 0
}/bots/{bot.id}
Permanently deletes a bot account.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
bot.id | snowflake | Bot ID |
Response
204 No Content
/bots/{bot.id}/guilds/{guild.id}
Adds a bot to a guild.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
bot.id | snowflake | Bot ID |
guild.id | snowflake | Guild ID |
Response
204 No Content
Made with ❤️ by the Rigel Team