Team & Application Resources
Teams group the developers who build bots. A team owns applications, and an application can have one bot user and slash command manifests, and receives interactions. The endpoints are in Teams & Applications.
Team Object
| Field | Type | Description |
|---|
id | string | The team's UUID (v7, time-ordered) |
name | string | Team name |
owner_id | string | User who created the team, and its only admin |
created_at | ISO 8601 | When the team was created |
updated_at | ISO 8601 | When the team was last updated |
deleted_at | string? | ISO 8601 soft-delete timestamp |
Example
{
"id": "019d2a41-7c10-7b3e-9a52-1f6c0d8e4b21",
"name": "Night Shift",
"owner_id": "019cf96a-3d5b-72c5-830f-75e85355d078",
"created_at": "2026-04-02T18:20:11.000Z",
"updated_at": "2026-04-02T18:20:11.000Z",
"deleted_at": null
}
Team Member Object
| Field | Type | Description |
|---|
team_id | string | The team |
user_id | string | The member's user ID |
role | integer | 0 = admin (the team's creator), 1 = member |
created_at | ISO 8601 | When the user joined the team |
username | string | The member's username |
alias | string? | The member's display name |
avatar | string? | Avatar attachment ID |
Example
{
"team_id": "019d2a41-7c10-7b3e-9a52-1f6c0d8e4b21",
"user_id": "019cf96a-3d5b-72c5-830f-75e85355d078",
"role": 0,
"created_at": "2026-04-02T18:20:11.000Z",
"username": "MARCROCK22",
"alias": null,
"avatar": "9bd6da82-c850-424b-89a0-9e4733263a45"
}
Team Invite Object
| Field | Type | Description |
|---|
id | string | The invite's ID |
team_id | string | The team the user is invited to |
user_id | string | The invited user |
invited_by | string | The admin who sent the invite |
created_at | ISO 8601 | When the invite was sent |
Pending Team Invite Object
A Team Invite as the invited user sees it, with two more fields:
| Field | Type | Description |
|---|
id | string | The invite's ID |
team_id | string | The team the user is invited to |
user_id | string | The invited user |
invited_by | string | The admin who sent the invite |
created_at | ISO 8601 | When the invite was sent |
team_name | string | The team's name |
invited_by_username | string | Username of the admin who sent the invite |
Example
{
"id": "6f1c2e9a-4b7d-4e21-9c3a-2d8f5b0e7a14",
"team_id": "019d2a41-7c10-7b3e-9a52-1f6c0d8e4b21",
"user_id": "019cf96a-4a1c-72c5-830f-8b2e44a19c03",
"invited_by": "019cf96a-3d5b-72c5-830f-75e85355d078",
"created_at": "2026-04-03T09:12:40.000Z",
"team_name": "Night Shift",
"invited_by_username": "MARCROCK22"
}
Application Object
| Field | Type | Description |
|---|
id | string | The application's UUID (v7, time-ordered) |
team_id | string | The team that owns the application |
name | string | Application name |
description | string? | Application description |
icon | string? | Icon, stored as the team set it |
bot_user_id | string? | The bot's user ID, or null until a bot is created |
public | boolean | Whether anyone with ManageBots in a space can add the bot there. A private bot can only be added by members of its team |
created_at | ISO 8601 | When the application was created |
updated_at | ISO 8601 | When the application was last updated |
deleted_at | string? | ISO 8601 soft-delete timestamp |
Field bot_token_hash is never included in API responses.
Example
{
"id": "019d2a45-0b9e-7d41-8f63-5a2c7e1d9b30",
"team_id": "019d2a41-7c10-7b3e-9a52-1f6c0d8e4b21",
"name": "Moderator",
"description": "Keeps the peace",
"icon": null,
"bot_user_id": "019d2a46-2f4a-7c88-b1d5-7e9a3c6f0d12",
"public": true,
"created_at": "2026-04-02T18:25:03.000Z",
"updated_at": "2026-04-05T10:02:47.000Z",
"deleted_at": null
}
Application Command Object
A slash command manifest: a named list of slash commands an application provides.
| Field | Type | Description |
|---|
id | string | The manifest's UUID (v7, time-ordered) |
name | string | Manifest name, unique within the application |
description ? | string | Manifest description; omitted when not set |
version | ISO 8601 | When the manifest last changed: set on creation and on every update |
application_id | string | The application that owns the manifest |
commands | SlashCommandData[] | The slash commands in the manifest |
Example
{
"id": "019d2a50-61c3-7a0e-9d24-0c8b5f3e2a77",
"name": "moderation",
"description": "Moderation commands",
"version": "2026-04-08T03:45:12.000Z",
"application_id": "019d2a45-0b9e-7d41-8f63-5a2c7e1d9b30",
"commands": [
{
"name": "warn",
"options": [
{ "name": "user", "type": "user" },
{ "name": "reason", "type": "string" }
]
}
]
}
Slash Command Data Object
Describes a slash command in a manifest, and the command a user invoked in an Interaction.
| Field | Type | Description |
|---|
name | string | Command name |
subcommand_group_name ? | string | Subcommand group, for nested commands |
subcommand_name ? | string | Subcommand name |
options ? | CommandOption[] | The command's options |
Command Option Object
| Field | Type | Description |
|---|
name | string | Option name |
type | string | Option type, for example string, integer, boolean, user, channel, role or mentionable. The API doesn't check it |
value ? | string | The value the user gave, in interactions |
options ? | CommandOption[] | Nested options |
Interaction Object
Something a user did that an application should handle, like invoking one of its slash commands. Bots receive it from Get Next Interaction.
| Field | Type | Description |
|---|
id | string | The interaction's UUID (v7, time-ordered) |
application_id | string | The application that receives it |
type | integer | 0 = command, 1 = input from a component |
context | integer | Where it happened: 0 = space, 1 = private chat with the bot, 2 = private room |
input_data ? | InteractionInputData | The component input, for type 1 |
slash_command ? | SlashCommandData | The invoked command, for type 0 |
member ? | InteractionMember | The author's membership in the space, when the interaction happened in one |
space ? | InteractionSpace | The space, when the interaction happened in one |
room ? | InteractionRoom | The room, when one was given |
author | InteractionUser? | The user who triggered it (always present) |
Example
{
"id": "019d3b10-8e42-7f15-a3c9-6d1e0b7f4c58",
"application_id": "019d2a45-0b9e-7d41-8f63-5a2c7e1d9b30",
"type": 0,
"context": 0,
"slash_command": {
"name": "warn",
"options": [
{ "name": "user", "type": "user", "value": "019cf96a-4a1c-72c5-830f-8b2e44a19c03" },
{ "name": "reason", "type": "string", "value": "spam" }
]
},
"member": {
"id": "019cf96a-5c3d-74e2-a1b3-8d4f6e2a9c01",
"space_id": "019cf96a-1a2b-71d4-920e-5c3a7b8d4f60",
"user_id": "019cf96a-3d5b-72c5-830f-75e85355d078",
"alias": "Marc"
},
"space": {
"id": "019cf96a-1a2b-71d4-920e-5c3a7b8d4f60",
"name": "Duvet HQ",
"description": null,
"owner_id": "019cf96a-3d5b-72c5-830f-75e85355d078",
"banner": null,
"locale": "en-US"
},
"room": {
"id": "019cf96a-4a1c-72c5-830f-8b2e44a19c10",
"space_id": "019cf96a-1a2b-71d4-920e-5c3a7b8d4f60",
"parent_id": null,
"type": 1,
"name": "general",
"description": null,
"position": 0,
"nsfw": false
},
"author": {
"id": "019cf96a-3d5b-72c5-830f-75e85355d078",
"username": "MARCROCK22",
"verified": true,
"alias": null,
"avatar": "9bd6da82-c850-424b-89a0-9e4733263a45",
"banner": null,
"custom": "",
"is_bot": false
}
}
| Field | Type | Description |
|---|
custom_id | string | ID of the component that was used, like a button or a select menu |
values ? | string[] | The selected or submitted values |
Interaction User Object
The author of an interaction. It has fewer fields than the full User object.
| Field | Type | Description |
|---|
id | string | The user's ID |
username | string | Username |
verified | boolean | Whether the user verified their email |
alias | string? | Display name |
avatar | string? | Avatar attachment ID |
banner | string? | Banner attachment ID |
custom | string | Custom status text |
is_bot | boolean | Whether the user is a bot |
Interaction Member Object
| Field | Type | Description |
|---|
id | string | The member's ID |
space_id | string | The space |
user_id | string | The user's ID |
alias | string? | Server-specific nickname |
Interaction Space Object
| Field | Type | Description |
|---|
id | string | The space's ID |
name | string | Space name |
description | string? | Space description |
owner_id | string | The space owner's user ID |
banner | string? | Banner attachment ID |
locale | string? | The space's preferred locale |
Interaction Room Object
| Field | Type | Description |
|---|
id | string | The room's ID |
space_id | string? | The room's space |
parent_id | string? | The category the room is in |
type | integer | Room type (see Room Type in the introduction) |
name | string | Room name |
description | string? | Room description |
position | integer | Sorting position within its parent |
nsfw | boolean | Whether the room is marked as NSFW |