API Spider

Check what parts of Discord implemented in Kiscord

...

Written by Kiscord CI

227 minute read

Published at August 01, 2021

Last modified at January 06, 2023

Endpoints

This sections represent status of REST methods, implemented by Kiscord.

Total operations in Kiscord: 170 (98%)
Total operations in Discord API: 173 (100%)

Structures

This sections represent all structures, defined by Kiscord.

Questing mark before the name means field is optional.
Questing mark after the name means field is nullable.

Activity100%

User's current activity

name
type
?url?
created_at
?timestamps
?application_id
?details?
?state?
?emoji?
?party
?assets
?secrets
?instance
?flags
?buttons

Activity.Assets100%

Activity assets

?large_image
?large_text
?small_image
?small_text

Activity.Button100%

Activity button

label
url

Activity.Emoji100%

Activity emoji

name
?id
?animated

Activity.Party100%

Activity party

?id
?size

Activity.Secrets100%

Activity secrets

?join
?spectate
?match

Activity.TimeStamps100%

Activity timestamps

?start
?end

AllowedMentions100%

parse
roles
users
replied_user

Application100%

id
name
icon?
description
?rpc_origins
bot_public
bot_require_code_grant
?terms_of_service_url
?privacy_policy_url
?owner
verify_key
team?
?guild_id
?primary_sku_id
?slug
?cover_image
?flags
?tags
?install_params
?custom_install_url
?role_connections_verification_url

Application.InstallParams100%

scopes
permissions

ApplicationCommand93%

id
?type
application_id
?guild_id
name
?name_localizations?
description
?description_localizations?
?options
default_member_permissions?
?dm_permission
?nsfw
version
?default_permission?

ApplicationCommand.Permission100%

Application command permissions allow you to enable or disable commands for specific users or roles within a guild.

id
type
permission

ApplicationCommandOption100%

type
name
?name_localizations?
description
?description_localizations?
?required
?choices
?options
?channel_types
?min_value
?max_value
?autocomplete
?min_length
?max_length

ApplicationCommandOptionChoice100%

name
?name_localizations?
value

ApplicationRoleConnection100%

platform_name?
platform_username?
metadata

ApplicationRoleConnectionMetadata100%

type
key
name
?name_localizations
description
?description_localizations

Attachment100%

id
filename
?description
?content_type
size
url
proxy_url
?width?
?height?
?ephemeral

AuditLogChange100%

?new_value
?old_value
key

AuditLogEntry86%

target_id?
?changes
user_id?
id
action_type
?reason
?options

AutoModerationAction100%

type
?metadata

AutoModerationAction.Metadata100%

channel_id
duration_seconds

AutoModerationRule100%

id
guild_id
name
creator_id
event_type
trigger_type
trigger_metadata
actions
enabled
exempt_roles
exempt_channels

AutoModerationRule.TriggerMetadata80%

keyword_filter
presets
allow_list
mention_total_limit
regex_patterns

AutoModerationRuleCreateData100%

Sent when a rule is created

id
guild_id
name
creator_id
event_type
trigger_type
trigger_metadata
actions
enabled
exempt_roles
exempt_channels

AutoModerationRuleDeleteData100%

Sent when a rule is deleted

id
guild_id
name
creator_id
event_type
trigger_type
trigger_metadata
actions
enabled
exempt_roles
exempt_channels

AutoModerationRuleUpdateData100%

Sent when a rule is updated

id
guild_id
name
creator_id
event_type
trigger_type
trigger_metadata
actions
enabled
exempt_roles
exempt_channels

Ban100%

Ban object

reason?
user

Channel76%

Represents a guild or DM channel within Discord.

id
type
?guild_id
?position
?permission_overwrites
?name?
?topic?
?nsfw
?last_message_id?
?bitrate
?user_limit
?rate_limit_per_user
?recipients
?icon?
?owner_id
?application_id
?parent_id?
?last_pin_timestamp?
?rtc_region?
?video_quality_mode
?message_count
?member_count
?thread_metadata
?member
?default_auto_archive_duration
?permissions
?flags
?total_message_sent
?available_tags
?applied_tags
?default_reaction_emoji?
?default_thread_rate_limit_per_user
?default_sort_order?
?default_forum_layout

ChannelCreateData76%

Sent when a new channel is created, relevant to the current user.

id
type
?guild_id
?position
?permission_overwrites
?name?
?topic?
?nsfw
?last_message_id?
?bitrate
?user_limit
?rate_limit_per_user
?recipients
?icon?
?owner_id
?application_id
?parent_id?
?last_pin_timestamp?
?rtc_region?
?video_quality_mode
?message_count
?member_count
?thread_metadata
?member
?default_auto_archive_duration
?permissions
?flags
?total_message_sent
?available_tags
?applied_tags
?default_reaction_emoji?
?default_thread_rate_limit_per_user
?default_sort_order?
?default_forum_layout

ChannelDeleteData76%

Sent when a channel relevant to the current user is deleted.

id
type
?guild_id
?position
?permission_overwrites
?name?
?topic?
?nsfw
?last_message_id?
?bitrate
?user_limit
?rate_limit_per_user
?recipients
?icon?
?owner_id
?application_id
?parent_id?
?last_pin_timestamp?
?rtc_region?
?video_quality_mode
?message_count
?member_count
?thread_metadata
?member
?default_auto_archive_duration
?permissions
?flags
?total_message_sent
?available_tags
?applied_tags
?default_reaction_emoji?
?default_thread_rate_limit_per_user
?default_sort_order?
?default_forum_layout

ChannelPinsUpdateData100%

Sent when a message is pinned or unpinned in a text channel. This is not sent when a pinned message is deleted.

?guild_id
channel_id
?last_pin_timestamp?

ChannelUpdateData76%

Sent when a channel is updated. The inner payload is a channel object. This is not sent when the field `last_message_id` is altered. To keep track of the `last_message_id` changes, you must listen for Message Create events.

id
type
?guild_id
?position
?permission_overwrites
?name?
?topic?
?nsfw
?last_message_id?
?bitrate
?user_limit
?rate_limit_per_user
?recipients
?icon?
?owner_id
?application_id
?parent_id?
?last_pin_timestamp?
?rtc_region?
?video_quality_mode
?message_count
?member_count
?thread_metadata
?member
?default_auto_archive_duration
?permissions
?flags
?total_message_sent
?available_tags
?applied_tags
?default_reaction_emoji?
?default_thread_rate_limit_per_user
?default_sort_order?
?default_forum_layout

CommandApi.ApplicationCommandInfo60%

Object used to create/patch/edit application commands

name
?name_localizations?
description
?description_localizations?
?options
?default_member_permissions
?dm_permission
?type
?nsfw
?default_permission

CommandApi.GuildPermissions100%

Returned when fetching the permissions for a command in a guild.

id
application_id
guild_id
permissions

Component.Button100%

type
?custom_id
?disabled
style
?label
?emoji
?url

Component.SelectMenu75%

type
custom_id
?disabled
options
?placeholder
?min_values
?max_values
?channel_types

Component.SelectMenu.Option100%

label
value
?description
?emoji
?default

Component.TextInput100%

type
custom_id
style
label
?min_length
?max_length
?required
?value
?placeholder

Component.TextInput.Value33%

type
custom_id
?value
style
label
?min_length
?max_length
?required
?placeholder

CreateMessage75%

?content
?tts
?embeds
?allowed_mentions
?message_reference
?components
?flags
?sticker_ids
?attachments
?nonce
?files[n]
?payload_json

EditMessage0%

?content?
?embeds?
?allowed_mentions?
?components?
?flags?
?attachments?
files[n]
payload_json

Embed100%

?title
?type
?description
?url
?timestamp
?color
?footer
?image
?thumbnail
?video
?provider
?author
?fields

Embed.Author100%

name
?url
?icon_url
?proxy_icon_url

Embed.Field100%

name
value
?inline
text
?icon_url
?proxy_icon_url

Embed.Image100%

url
?proxy_url
?width
?height

Embed.Provider100%

?name
?url

Embed.Thumbnail100%

url
?proxy_url
?width
?height

Embed.Video100%

?url
?proxy_url
?width
?height

Emoji100%

id?
name?
?roles
?user
?require_colons
?managed
?animated
?available

ExecuteWebhook8%

?content
?username
?avatar_url
?tts
?embeds
?allowed_mentions
?components
?attachments
files[n]
payload_json
flags
thread_name

FollowedChannel100%

channel_id
webhook_id

GatewayPayload0%

op
s?
t?
d?

GetGateway100%

url

GetGateway.Bot100%

url
shards
session_start_limit

Guild80%

id
name
icon?
?icon_hash?
splash?
discovery_splash?
?owner
owner_id
?permissions
afk_channel_id?
afk_timeout
?widget_enabled
?widget_channel_id?
verification_level
default_message_notifications
explicit_content_filter
roles
emojis
features
mfa_level
application_id?
system_channel_id?
system_channel_flags
rules_channel_id?
?joined_at
?large
?unavailable
?member_count
?voice_states
?members
?channels
?threads
?max_presences?
?max_members
vanity_url_code?
description?
banner?
premium_tier
?premium_subscription_count
preferred_locale
public_updates_channel_id?
?max_video_channel_users
?approximate_member_count
?approximate_presence_count
?welcome_screen
nsfw_level
?stage_instances
?stickers
?guild_scheduled_events
premium_progress_bar_enabled

GuildApi.ModifyGuildMFALevel100%

A new state of the guild mfa level

level

GuildBanAddData100%

Sent when a user is banned from a guild.

guild_id
user

GuildBanRemoveData100%

Sent when a user is unbanned from a guild.

guild_id
user

GuildCreateData80%

This event can be sent in three different scenarios: * When a user is initially connecting, to lazily load and backfill information for all unavailable guilds sent in the Ready event. * When a Guild becomes available again to the client. * When the current user joins a new Guild.

id
name
icon?
?icon_hash?
splash?
discovery_splash?
?owner
owner_id
?permissions
afk_channel_id?
afk_timeout
?widget_enabled
?widget_channel_id?
verification_level
default_message_notifications
explicit_content_filter
roles
emojis
features
mfa_level
application_id?
system_channel_id?
system_channel_flags
rules_channel_id?
?joined_at
?large
?unavailable
?member_count
?voice_states
?members
?channels
?threads
?max_presences?
?max_members
vanity_url_code?
description?
banner?
premium_tier
?premium_subscription_count
preferred_locale
public_updates_channel_id?
?max_video_channel_users
?approximate_member_count
?approximate_presence_count
?welcome_screen
nsfw_level
?stage_instances
?stickers
?guild_scheduled_events
premium_progress_bar_enabled

GuildDeleteData0%

Sent when a guild becomes unavailable during a guild outage, or when the user leaves or is removed from a guild. The inner payload is an unavailable guild object. If the unavailable field is not set, the user was removed from the guild.

id
name
icon?
?icon_hash?
splash?
discovery_splash?
?owner
owner_id
?permissions
afk_channel_id?
afk_timeout
?widget_enabled
?widget_channel_id?
verification_level
default_message_notifications
explicit_content_filter
roles
emojis
features
mfa_level
application_id?
system_channel_id?
system_channel_flags
rules_channel_id?
?joined_at
?large
?unavailable
?member_count
?voice_states
?members
?channels
?threads
?max_presences?
?max_members
vanity_url_code?
description?
banner?
premium_tier
?premium_subscription_count
preferred_locale
public_updates_channel_id?
?max_video_channel_users
?approximate_member_count
?approximate_presence_count
?welcome_screen
nsfw_level
?stage_instances
?stickers
?guild_scheduled_events
premium_progress_bar_enabled
?id

GuildMember82%

?user
?nick?
?avatar?
roles
joined_at
?premium_since?
?deaf
?mute
?pending
?permissions
?communication_disabled_until?

GuildMemberAddData83%

Sent when a new user joins a guild.

?user
?nick?
?avatar?
roles
joined_at
?premium_since?
?deaf
?mute
?pending
?permissions
?communication_disabled_until?
guild_id

GuildMemberRemoveData100%

Sent when a user is removed from a guild (leave/kick/ban).

guild_id
user

GuildMembersChunkData100%

Sent in response to Guild Request Members. You can use the chunk_index and chunk_count to calculate how many chunks are left for your request.

guild_id
members
chunk_index
chunk_count
?not_found
?presences
?nonce

GuildPreview100%

id
name
icon?
splash?
discovery_splash?
emojis
features
approximate_member_count
approximate_presence_count
description?
stickers

GuildRoleCreateData100%

Sent when a guild role is created.

guild_id
role

GuildRoleDeleteData100%

Sent when a guild role is deleted.

guild_id
role_id

GuildRoleUpdateData100%

Sent when a guild role is updated.

guild_id
role

GuildScheduledEvent81%

A representation of a scheduled event in a guild.

id
guild_id
channel_id?
creator_id?
name
?description
scheduled_start_time
scheduled_end_time?
privacy_level
status
entity_type
entity_id?
entity_metadata?
?creator
?user_count
?image?

GuildScheduledEvent.Metadata100%

?location

GuildScheduledEvent.User100%

guild_scheduled_event_id
user
?member

GuildTemplate100%

code
name
description?
usage_count
creator_id
creator
created_at
updated_at
source_guild_id
serialized_source_guild
is_dirty?

GuildUpdateData80%

Sent when a guild is updated

id
name
icon?
?icon_hash?
splash?
discovery_splash?
?owner
owner_id
?permissions
afk_channel_id?
afk_timeout
?widget_enabled
?widget_channel_id?
verification_level
default_message_notifications
explicit_content_filter
roles
emojis
features
mfa_level
application_id?
system_channel_id?
system_channel_flags
rules_channel_id?
?joined_at
?large
?unavailable
?member_count
?voice_states
?members
?channels
?threads
?max_presences?
?max_members
vanity_url_code?
description?
banner?
premium_tier
?premium_subscription_count
preferred_locale
public_updates_channel_id?
?max_video_channel_users
?approximate_member_count
?approximate_presence_count
?welcome_screen
nsfw_level
?stage_instances
?stickers
?guild_scheduled_events
premium_progress_bar_enabled

Hello100%

Used to maintain an active gateway connection.

heartbeat_interval

Identify100%

token
properties
?compress
?large_threshold
?shard
?presence
intents

Integration88%

id
name
type
enabled
?syncing
?role_id
?enable_emoticons
?expire_behavior
?expire_grace_period
?user
account
?synced_at
?subscriber_count
?revoked
?application
?scopes

Interaction93%

id
application_id
type
?data
?guild_id
?channel_id
?member
?user
token
version
?message
?locale
?guild_locale
?app_permissions

Interaction.Data0%

id
name
type
?resolved
?target_id
?options
?guild_id
?custom_id
?component_type
?values
custom_id
components

Interaction.ResolvedData100%

?users
?members
?roles
?channels
?messages
?attachments

Interaction.Response100%

type
?data

Interaction.Response.Data.Autocomplete100%

choices

Interaction.Response.Data.Message100%

?tts
?content
?embeds
?allowed_mentions
?flags
?components
?attachments

Interaction.Response.Data.Modal100%

custom_id
title
components

InteractionCreateData93%

Sent when a user in a guild uses an Application Command.

id
application_id
type
?data
?guild_id
?channel_id
?member
?user
token
version
?message
?locale
?guild_locale
?app_permissions

InteractionDataOption0%

name
type
?value
?options
?focused

Invite75%

code
?guild
channel?
?inviter
?target_type
?target_user
?approximate_presence_count
?approximate_member_count
?expires_at?
?stage_instance
?target_application
?guild_scheduled_event

Invite.Metadata33%

code
?guild
channel?
?inviter
?target_type
?target_user
?approximate_presence_count
?approximate_member_count
?expires_at?
?stage_instance
uses
max_uses
max_age
temporary
created_at

Message74%

id
channel_id
?guild_id
author
?member
content
timestamp
edited_timestamp?
tts
mention_everyone
mentions
mention_roles
?mention_channels
attachments
embeds
?reactions
pinned
?webhook_id
type
?activity
?application
?application_id
?message_reference
?flags
?referenced_message?
?nonce
?interaction
?thread
?components
?sticker_items
?position

Message.Activity100%

type
?party_id

MessageCreateData74%

Sent when a message is created.

id
channel_id
?guild_id
author
?member
content
timestamp
edited_timestamp?
tts
mention_everyone
mentions
mention_roles
?mention_channels
attachments
embeds
?reactions
pinned
?webhook_id
type
?activity
?application
?application_id
?message_reference
?flags
?referenced_message?
?nonce
?interaction
?thread
?components
?sticker_items
?position

MessageDeleteBulkData100%

Sent when multiple messages are deleted at once.

ids
channel_id
?guild_id

MessageDeleteData100%

Sent when a message is deleted.

id
channel_id
?guild_id

MessageReactionAddData100%

Sent when a user adds a reaction to a message.

user_id
channel_id
message_id
?guild_id
?member
emoji

MessageReactionRemoveAllData100%

Sent when a user explicitly removes all reactions from a message.

channel_id
message_id
?guild_id

MessageReference100%

?message_id
?channel_id
?guild_id
?fail_if_not_exists

MessageUpdateData74%

Sent when a message is updated.

id
channel_id
?guild_id
author
?member
content
timestamp
edited_timestamp?
tts
mention_everyone
mentions
mention_roles
?mention_channels
attachments
embeds
?reactions
pinned
?webhook_id
type
?activity
?application
?application_id
?message_reference
?flags
?referenced_message?
?nonce
?interaction
?thread
?components
?sticker_items
?position

PermissionOverwrite100%

id
type
allow
deny

Presence0%

user
guild_id
?status
?activities
?client_status

Presence.ClientStatus0%

user's platform-dependent status

?desktop
?mobile
?web

PresenceUpdateData40%

A user's presence is their current state on a guild. This event is sent when a user's presence or info, such as name or avatar, is updated.

user
guild_id
?status
?activities
?client_status

Reaction0%

count
me
emoji

ReadyData0%

The ready event is dispatched when a client has completed the initial handshake with the gateway (for new sessions). The ready event can be the largest and most complex event the gateway will send, as it contains all the state required for a client to begin interacting with the rest of the platform.

v
user
guilds
session_id
resume_gateway_url
?shard
application

RequestGuildMembers100%

guild_id
?query
limit
?presences
?user_ids
?nonce

Resume100%

Used to replay missed events when a disconnected client resumes.

token
session_id
seq

Role100%

Roles represent a set of permissions attached to a group of users. Roles have unique names, colors, and can be "pinned" to the side bar, causing their members to be listed separately. Roles are unique per guild, and can have separate permission profiles for the global context (guild) and channel context. The @everyone role has the same ID as the guild it belongs to.

id
name
color
hoist
?icon?
?unicode_emoji?
position
permissions
managed
mentionable
?tags

Role.Tags40%

?bot_id
?integration_id
?premium_subscriber
?subscription_listing_id
?available_for_purchase

StageInstance71%

id
guild_id
channel_id
topic
privacy_level
discoverable_disabled
guild_scheduled_event_id?

Sticker100%

id
?pack_id
name
description?
tags
type
format_type
?available
?guild_id
?user
?sort_value

StickerPack100%

id
stickers
name
description
sku_id
?cover_sticker_id
?banner_asset_id

Team100%

Teams are groups of developers on Discord who want to collaborate on apps.

id
name
icon?
members
owner_user_id

Team.Member100%

user
membership_state
permissions
team_id

ThreadCreateData76%

Sent when a thread is created, relevant to the current user, or when the current user is added to a thread.

id
type
?guild_id
?position
?permission_overwrites
?name?
?topic?
?nsfw
?last_message_id?
?bitrate
?user_limit
?rate_limit_per_user
?recipients
?icon?
?owner_id
?application_id
?parent_id?
?last_pin_timestamp?
?rtc_region?
?video_quality_mode
?message_count
?member_count
?thread_metadata
?member
?default_auto_archive_duration
?permissions
?flags
?total_message_sent
?available_tags
?applied_tags
?default_reaction_emoji?
?default_thread_rate_limit_per_user
?default_sort_order?
?default_forum_layout

ThreadDeleteData76%

Sent when a thread relevant to the current user is deleted.

id
type
?guild_id
?position
?permission_overwrites
?name?
?topic?
?nsfw
?last_message_id?
?bitrate
?user_limit
?rate_limit_per_user
?recipients
?icon?
?owner_id
?application_id
?parent_id?
?last_pin_timestamp?
?rtc_region?
?video_quality_mode
?message_count
?member_count
?thread_metadata
?member
?default_auto_archive_duration
?permissions
?flags
?total_message_sent
?available_tags
?applied_tags
?default_reaction_emoji?
?default_thread_rate_limit_per_user
?default_sort_order?
?default_forum_layout

ThreadMember100%

A thread member is used to indicate whether a user has joined a thread or not.

flags
?id
join_timestamp
?user_id

ThreadMetadata83%

The thread metadata object contains a number of thread-specific channel fields that are not needed by other channel types.

archived
auto_archive_duration
archive_timestamp
locked
?invitable
?create_timestamp?

ThreadUpdateData76%

Sent when a thread is updated. This is not sent when the field `last_message_id` is altered. To keep track of the last_message_id changes, you must listen for Message Create events.

id
type
?guild_id
?position
?permission_overwrites
?name?
?topic?
?nsfw
?last_message_id?
?bitrate
?user_limit
?rate_limit_per_user
?recipients
?icon?
?owner_id
?application_id
?parent_id?
?last_pin_timestamp?
?rtc_region?
?video_quality_mode
?message_count
?member_count
?thread_metadata
?member
?default_auto_archive_duration
?permissions
?flags
?total_message_sent
?available_tags
?applied_tags
?default_reaction_emoji?
?default_thread_rate_limit_per_user
?default_sort_order?
?default_forum_layout

TypingStartData100%

Sent when a user starts typing in a channel.

channel_id
?guild_id
user_id
timestamp
?member

UpdatePresence100%

since?
activities
status
afk

UpdateVoiceState100%

guild_id
channel_id?
self_mute
self_deaf

User87%

Users in Discord are generally considered the base entity. Users can spawn across the entire platform, be members of guilds, participate in text and voice chat, and much more. Users are separated by a distinction of "bot" vs "normal". Although they are similar, bot users are automated users that are "owned" by another user. Unlike normal users, bot users do not have a limitation on the number of Guilds they can be a part of.

id
username
discriminator
avatar?
?bot
?system
?mfa_enabled
?locale
?verified
?email?
?flags
?premium_type
?public_flags
?banner?
?accent_color?

User.Connection100%

The connection object that the user has attached.

id
name
type
?revoked
?integrations
verified
friend_sync
show_activity
two_way_link
visibility

VoiceRegion100%

id
name
optimal
deprecated
custom

VoiceState100%

?guild_id
channel_id?
user_id
?member
session_id
deaf
mute
self_deaf
self_mute
?self_stream
self_video
suppress
request_to_speak_timestamp?

Webhook100%

id
type
?guild_id?
channel_id?
?user
name?
avatar?
?token
application_id?
?source_guild
?source_channel
?url

WelcomeScreen100%

description?
welcome_channels

WelcomeScreen.Channel100%

channel_id
description
emoji_id?
emoji_name?