diff --git a/assets/openapi.json b/assets/openapi.json
index a8a657b2..e1d5cfa4 100644
--- a/assets/openapi.json
+++ b/assets/openapi.json
@@ -1,6000 +1,6818 @@
{
- "openapi": "3.0.0",
- "servers": [
- {
- "url": "https://api.fosscord.com/api/v{version}",
- "description": "Official fosscord instance",
- "variables": {
- "version": {
- "default": "9",
- "enum": ["8", "9"]
- }
- }
- }
- ],
- "info": {
- "description": "Fosscord is a free open source selfhostable discord compatible chat, voice and video platform",
- "version": "1.0.0",
- "title": "Fosscord HTTP API Routes",
- "termsOfService": "",
- "contact": {
- "name": "Fosscord"
- },
- "license": {
- "name": "AGPLV3",
- "url": "https://www.gnu.org/licenses/agpl-3.0.en.html"
- }
- },
- "tags": [
- {
- "name": "auth"
- },
- {
- "name": "applications"
- },
- {
- "name": "channels"
- },
- {
- "name": "discoverable-guilds"
- },
- {
- "name": "experiments"
- },
- {
- "name": "guilds"
- },
- {
- "name": "gateway"
- },
- {
- "name": "invites"
- },
- {
- "name": "voice"
- },
- {
- "name": "users"
- },
- {
- "name": "outbound-promotions"
- },
- {
- "name": "ping"
- },
- {
- "name": "store"
- },
- {
- "name": "sticker-packs"
- },
- {
- "name": "science"
- }
- ],
- "paths": {
- "/users/{id}": {
- "get": {
- "summary": "",
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "user id"
- }
- ],
- "operationId": "",
- "responses": {
- "200": {
- "description": "User found",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/UserPublic"
- }
- }
- }
- },
- "404": {
- "description": "User not found",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/Error"
- }
- }
- }
- }
- },
- "security": [
- {
- "Token": []
- }
- ]
- }
- },
- "/users/@me": {
- "get": {
- "summary": "",
- "parameters": [],
- "operationId": "",
- "responses": {
- "200": {
- "description": "Authenticated user",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/UserPublic"
- }
- }
- }
- }
- },
- "security": [
- {
- "Token": []
- }
- ]
- }
- },
- "/voice/regions/": {
- "get": {
- "description": "",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "tags": ["voice"]
- }
- },
- "/users/@me/settings/": {
- "patch": {
- "description": "",
- "requestBody": {
- "required": true,
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/UserSettingsSchema"
- }
- }
- }
- },
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "tags": ["users"]
- }
- },
- "/users/@me/relationships/": {
- "get": {
- "description": "",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "tags": ["users", "relationships"]
- },
- "post": {
- "description": "",
- "requestBody": {
- "required": true,
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/RelationshipPostSchema"
- }
- }
- }
- },
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "tags": ["users"]
- }
- },
- "/users/@me/relationships/{id}": {
- "put": {
- "description": "",
- "requestBody": {
- "required": true,
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/RelationshipPutSchema"
- }
- }
- }
- },
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "id"
- }
- ],
- "tags": ["users"]
- },
- "delete": {
- "description": "",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "id"
- }
- ],
- "tags": ["users"]
- }
- },
- "/users/@me/library/": {
- "get": {
- "description": "",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "tags": ["users"]
- }
- },
- "/users/@me/": {
- "get": {
- "description": "",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "tags": ["users"]
- },
- "patch": {
- "description": "",
- "requestBody": {
- "required": true,
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/UserModifySchema"
- }
- }
- }
- },
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "tags": ["users"]
- }
- },
- "/users/@me/guilds/": {
- "get": {
- "description": "",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "tags": ["users"]
- }
- },
- "/users/@me/guilds/{id}": {
- "delete": {
- "description": "",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "id"
- }
- ],
- "tags": ["users"]
- }
- },
- "/users/@me/disable/": {
- "post": {
- "description": "",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "tags": ["users"]
- }
- },
- "/users/@me/devices/": {
- "post": {
- "description": "",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "tags": ["users"]
- }
- },
- "/users/@me/delete/": {
- "post": {
- "description": "",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "tags": ["users"]
- }
- },
- "/users/@me/connections/": {
- "get": {
- "description": "",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "tags": ["users"]
- }
- },
- "/users/@me/channels/": {
- "get": {
- "description": "",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "tags": ["users"]
- },
- "post": {
- "description": "",
- "requestBody": {
- "required": true,
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/DmChannelCreateSchema"
- }
- }
- }
- },
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "tags": ["users"]
- }
- },
- "/users/@me/billing/subscriptions/": {
- "get": {
- "description": "",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "tags": ["users"]
- }
- },
- "/users/@me/billing/country-code/": {
- "get": {
- "description": "",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "tags": ["users"]
- }
- },
- "/users/@me/applications/{app_id}/entitlements/": {
- "get": {
- "description": "",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "app_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "app_id"
- }
- ],
- "tags": ["users"]
- }
- },
- "/users/@me/affinities/users/": {
- "get": {
- "description": "",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "tags": ["users"]
- }
- },
- "/users/@me/affinities/guilds/": {
- "get": {
- "description": "",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "tags": ["users"]
- }
- },
- "/users/{id}/profile/": {
- "get": {
- "description": "",
- "responses": {
- "200": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/UserProfileResponse"
- }
- }
- },
- "description": ""
- }
- },
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "id"
- }
- ],
- "tags": ["users"]
- }
- },
- "/users/{id}/": {
- "get": {
- "description": "",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "id"
- }
- ],
- "tags": ["users"]
- }
- },
- "/store/skus/skus/{id}": {
- "get": {
- "description": "",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "id"
- }
- ],
- "tags": ["store"]
- }
- },
- "/store/applications/applications/{id}": {
- "get": {
- "description": "",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "id"
- }
- ],
- "tags": ["store"]
- }
- },
- "/sticker-packs/": {
- "get": {
- "description": "",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "tags": ["sticker", "sticker-packs"]
- }
- },
- "/sticker-packs/{id}/": {
- "get": {
- "description": "",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "id"
- }
- ],
- "tags": ["sticker", "sticker-packs"]
- }
- },
- "/science/": {
- "post": {
- "description": "",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "tags": ["science"]
- }
- },
- "/ping/": {
- "get": {
- "description": "",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "tags": ["ping"]
- }
- },
- "/outbound-promotions/": {
- "get": {
- "description": "",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "tags": ["outbound", "outbound-promotions"]
- }
- },
- "/invites/{code}": {
- "get": {
- "description": "",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "code",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "code"
- }
- ],
- "tags": ["invites"]
- },
- "post": {
- "description": "",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "code",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "code"
- }
- ],
- "tags": ["invites"]
- },
- "delete": {
- "description": "",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "code",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "code"
- }
- ],
- "tags": ["invites"]
- }
- },
- "/guilds/templates/{code}": {
- "get": {
- "description": "",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "code",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "code"
- }
- ],
- "tags": ["guilds"]
- },
- "post": {
- "description": "",
- "requestBody": {
- "required": true,
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/GuildTemplateCreateSchema"
- }
- }
- }
- },
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "code",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "code"
- }
- ],
- "tags": ["guilds"]
- }
- },
- "/guilds/": {
- "post": {
- "description": "",
- "requestBody": {
- "required": true,
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/GuildCreateSchema"
- }
- }
- }
- },
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "tags": ["guilds"]
- }
- },
- "/guilds/{guild_id}/widget.png/": {
- "get": {
- "description": "",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "guild_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "guild_id"
- }
- ],
- "tags": ["guilds"]
- }
- },
- "/guilds/{guild_id}/widget.json/": {
- "get": {
- "description": "",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "guild_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "guild_id"
- }
- ],
- "tags": ["guilds"]
- }
- },
- "/guilds/{guild_id}/widget/": {
- "get": {
- "description": "",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "guild_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "guild_id"
- }
- ],
- "tags": ["guilds"]
- },
- "patch": {
- "description": "##### Requires the ``MANAGE_GUILD`` permission\n",
- "requestBody": {
- "required": true,
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/WidgetModifySchema"
- }
- }
- }
- },
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "guild_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "guild_id"
- }
- ],
- "tags": ["guilds"]
- }
- },
- "/guilds/{guild_id}/welcome_screen/": {
- "get": {
- "description": "",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "guild_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "guild_id"
- }
- ],
- "tags": ["guilds"]
- },
- "patch": {
- "description": "##### Requires the ``MANAGE_GUILD`` permission\n",
- "requestBody": {
- "required": true,
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/GuildUpdateWelcomeScreenSchema"
- }
- }
- }
- },
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "guild_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "guild_id"
- }
- ],
- "tags": ["guilds"]
- }
- },
- "/guilds/{guild_id}/voice-states/{user_id}/": {
- "patch": {
- "description": "",
- "requestBody": {
- "required": true,
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/VoiceStateUpdateSchema"
- }
- }
- }
- },
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "guild_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "guild_id"
- },
- {
- "name": "user_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "user_id"
- }
- ],
- "tags": ["guilds"]
- }
- },
- "/guilds/{guild_id}/vanity-url/": {
- "get": {
- "description": "##### Requires the ``MANAGE_GUILD`` permission\n",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "guild_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "guild_id"
- }
- ],
- "tags": ["guilds"]
- },
- "patch": {
- "description": "##### Requires the ``MANAGE_GUILD`` permission\n",
- "requestBody": {
- "required": true,
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/VanityUrlSchema"
- }
- }
- }
- },
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "guild_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "guild_id"
- }
- ],
- "tags": ["guilds"]
- }
- },
- "/guilds/{guild_id}/templates/": {
- "get": {
- "description": "",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "guild_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "guild_id"
- }
- ],
- "tags": ["guilds"]
- },
- "post": {
- "description": "##### Requires the ``MANAGE_GUILD`` permission\n",
- "requestBody": {
- "required": true,
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/TemplateCreateSchema"
- }
- }
- }
- },
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "guild_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "guild_id"
- }
- ],
- "tags": ["guilds"]
- }
- },
- "/guilds/{guild_id}/templates/{code}": {
- "delete": {
- "description": "##### Requires the ``MANAGE_GUILD`` permission\n",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "guild_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "guild_id"
- },
- {
- "name": "code",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "code"
- }
- ],
- "tags": ["guilds"]
- },
- "put": {
- "description": "##### Requires the ``MANAGE_GUILD`` permission\n",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "guild_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "guild_id"
- },
- {
- "name": "code",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "code"
- }
- ],
- "tags": ["guilds"]
- },
- "patch": {
- "description": "##### Requires the ``MANAGE_GUILD`` permission\n",
- "requestBody": {
- "required": true,
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/TemplateModifySchema"
- }
- }
- }
- },
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "guild_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "guild_id"
- },
- {
- "name": "code",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "code"
- }
- ],
- "tags": ["guilds"]
- }
- },
- "/guilds/{guild_id}/roles/": {
- "get": {
- "description": "",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "guild_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "guild_id"
- }
- ],
- "tags": ["guilds"]
- },
- "post": {
- "description": "##### Requires the ``MANAGE_ROLES`` permission\n",
- "requestBody": {
- "required": true,
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/RoleModifySchema"
- }
- }
- }
- },
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "guild_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "guild_id"
- }
- ],
- "tags": ["guilds"]
- },
- "patch": {
- "description": "",
- "requestBody": {
- "required": true,
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/RolePositionUpdateSchema"
- }
- }
- }
- },
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "guild_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "guild_id"
- }
- ],
- "tags": ["guilds"]
- }
- },
- "/guilds/{guild_id}/roles/{role_id}": {
- "delete": {
- "description": "##### Requires the ``MANAGE_ROLES`` permission\n",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "guild_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "guild_id"
- },
- {
- "name": "role_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "role_id"
- }
- ],
- "tags": ["guilds"]
- },
- "patch": {
- "description": "##### Requires the ``MANAGE_ROLES`` permission\n",
- "requestBody": {
- "required": true,
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/RoleModifySchema"
- }
- }
- }
- },
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "guild_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "guild_id"
- },
- {
- "name": "role_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "role_id"
- }
- ],
- "tags": ["guilds"]
- }
- },
- "/guilds/{guild_id}/regions/": {
- "get": {
- "description": "",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "guild_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "guild_id"
- }
- ],
- "tags": ["guilds"]
- }
- },
- "/guilds/{guild_id}/members/": {
- "get": {
- "description": "",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "guild_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "guild_id"
- }
- ],
- "tags": ["guilds"]
- }
- },
- "/guilds/{guild_id}/members/{member_id}/nick/": {
- "patch": {
- "description": "",
- "requestBody": {
- "required": true,
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/MemberNickChangeSchema"
- }
- }
- }
- },
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "guild_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "guild_id"
- },
- {
- "name": "member_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "member_id"
- }
- ],
- "tags": ["guilds"]
- }
- },
- "/guilds/{guild_id}/members/{member_id}/": {
- "get": {
- "description": "",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "guild_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "guild_id"
- },
- {
- "name": "member_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "member_id"
- }
- ],
- "tags": ["guilds"]
- },
- "patch": {
- "description": "",
- "requestBody": {
- "required": true,
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/MemberChangeSchema"
- }
- }
- }
- },
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "guild_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "guild_id"
- },
- {
- "name": "member_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "member_id"
- }
- ],
- "tags": ["guilds"]
- },
- "put": {
- "description": "",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "guild_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "guild_id"
- },
- {
- "name": "member_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "member_id"
- }
- ],
- "tags": ["guilds"]
- },
- "delete": {
- "description": "##### Requires the ``KICK_MEMBERS`` permission\n",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "guild_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "guild_id"
- },
- {
- "name": "member_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "member_id"
- }
- ],
- "tags": ["guilds"]
- }
- },
- "/guilds/{guild_id}/invites/": {
- "get": {
- "description": "##### Requires the ``MANAGE_GUILD`` permission\n",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "guild_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "guild_id"
- }
- ],
- "tags": ["guilds"]
- }
- },
- "/guilds/{guild_id}/": {
- "get": {
- "description": "",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "guild_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "guild_id"
- }
- ],
- "tags": ["guilds"]
- },
- "patch": {
- "description": "##### Requires the ``MANAGE_GUILD`` permission\n",
- "requestBody": {
- "required": true,
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/GuildUpdateSchema"
- }
- }
- }
- },
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "guild_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "guild_id"
- }
- ],
- "tags": ["guilds"]
- }
- },
- "/guilds/{guild_id}/delete/": {
- "post": {
- "description": "",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "guild_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "guild_id"
- }
- ],
- "tags": ["guilds"]
- }
- },
- "/guilds/{guild_id}/channels/": {
- "get": {
- "description": "",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "guild_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "guild_id"
- }
- ],
- "tags": ["guilds"]
- },
- "post": {
- "description": "##### Requires the ``MANAGE_CHANNELS`` permission\n",
- "requestBody": {
- "required": true,
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ChannelModifySchema"
- }
- }
- }
- },
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "guild_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "guild_id"
- }
- ],
- "tags": ["guilds"]
- },
- "patch": {
- "description": "##### Requires the ``MANAGE_CHANNELS`` permission\n",
- "requestBody": {
- "required": true,
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ChannelReorderSchema"
- }
- }
- }
- },
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "guild_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "guild_id"
- }
- ],
- "tags": ["guilds"]
- }
- },
- "/guilds/{guild_id}/bans/": {
- "get": {
- "description": "##### Requires the ``BAN_MEMBERS`` permission\n",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "guild_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "guild_id"
- }
- ],
- "tags": ["guilds"]
- }
- },
- "/guilds/{guild_id}/bans/{user}": {
- "get": {
- "description": "##### Requires the ``BAN_MEMBERS`` permission\n",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "guild_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "guild_id"
- },
- {
- "name": "user",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "user"
- }
- ],
- "tags": ["guilds"]
- }
- },
- "/guilds/{guild_id}/bans/{user_id}": {
- "put": {
- "description": "##### Requires the ``BAN_MEMBERS`` permission\n",
- "requestBody": {
- "required": true,
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/BanCreateSchema"
- }
- }
- }
- },
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "guild_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "guild_id"
- },
- {
- "name": "user_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "user_id"
- }
- ],
- "tags": ["guilds"]
- },
- "delete": {
- "description": "##### Requires the ``BAN_MEMBERS`` permission\n",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "guild_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "guild_id"
- },
- {
- "name": "user_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "user_id"
- }
- ],
- "tags": ["guilds"]
- }
- },
- "/gateway/": {
- "get": {
- "description": "",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "tags": ["gateway"]
- }
- },
- "/gateway/bot": {
- "get": {
- "description": "",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "tags": ["gateway"]
- }
- },
- "/experiments/": {
- "get": {
- "description": "",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "tags": ["experiments"]
- }
- },
- "/discoverable-guilds/": {
- "get": {
- "description": "",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "tags": ["discoverable", "discoverable-guilds"]
- }
- },
- "/channels/{channel_id}/webhooks/": {
- "post": {
- "description": "##### Requires the ``MANAGE_WEBHOOKS`` permission\n",
- "requestBody": {
- "required": true,
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/WebhookCreateSchema"
- }
- }
- }
- },
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "channel_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "channel_id"
- }
- ],
- "tags": ["channels"]
- }
- },
- "/channels/{channel_id}/typing/": {
- "post": {
- "description": "##### Requires the ``SEND_MESSAGES`` permission\n",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "channel_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "channel_id"
- }
- ],
- "tags": ["channels"]
- }
- },
- "/channels/{channel_id}/recipients/{user_id}": {
- "put": {
- "description": "",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "channel_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "channel_id"
- },
- {
- "name": "user_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "user_id"
- }
- ],
- "tags": ["channels"]
- },
- "delete": {
- "description": "",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "channel_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "channel_id"
- },
- {
- "name": "user_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "user_id"
- }
- ],
- "tags": ["channels"]
- }
- },
- "/channels/{channel_id}/pins/{message_id}": {
- "put": {
- "description": "##### Requires the ``VIEW_CHANNEL`` permission\n",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "channel_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "channel_id"
- },
- {
- "name": "message_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "message_id"
- }
- ],
- "tags": ["channels"]
- },
- "delete": {
- "description": "##### Requires the ``VIEW_CHANNEL`` permission\n",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "channel_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "channel_id"
- },
- {
- "name": "message_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "message_id"
- }
- ],
- "tags": ["channels"]
- }
- },
- "/channels/{channel_id}/pins/": {
- "get": {
- "description": "##### Requires the ``READ_MESSAGE_HISTORY`` permission\n",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "channel_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "channel_id"
- }
- ],
- "tags": ["channels"]
- }
- },
- "/channels/{channel_id}/permissions/{overwrite_id}": {
- "put": {
- "description": "##### Requires the ``MANAGE_ROLES`` permission\n",
- "requestBody": {
- "required": true,
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ChannelPermissionOverwriteSchema"
- }
- }
- }
- },
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "channel_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "channel_id"
- },
- {
- "name": "overwrite_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "overwrite_id"
- }
- ],
- "tags": ["channels"]
- },
- "delete": {
- "description": "##### Requires the ``MANAGE_ROLES`` permission\n",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "channel_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "channel_id"
- },
- {
- "name": "overwrite_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "overwrite_id"
- }
- ],
- "tags": ["channels"]
- }
- },
- "/channels/{channel_id}/messages/bulk-delete/": {
- "post": {
- "description": "",
- "requestBody": {
- "required": true,
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/BulkDeleteSchema"
- }
- }
- }
- },
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "channel_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "channel_id"
- }
- ],
- "tags": ["channels"]
- }
- },
- "/channels/{channel_id}/messages/{message_id}/reactions/": {
- "delete": {
- "description": "##### Requires the ``MANAGE_MESSAGES`` permission\n",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "channel_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "channel_id"
- },
- {
- "name": "message_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "message_id"
- }
- ],
- "tags": ["channels"]
- }
- },
- "/channels/{channel_id}/messages/{message_id}/reactions/{emoji}": {
- "delete": {
- "description": "##### Requires the ``MANAGE_MESSAGES`` permission\n",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "channel_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "channel_id"
- },
- {
- "name": "message_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "message_id"
- },
- {
- "name": "emoji",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "emoji"
- }
- ],
- "tags": ["channels"]
- },
- "get": {
- "description": "##### Requires the ``VIEW_CHANNEL`` permission\n",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "channel_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "channel_id"
- },
- {
- "name": "message_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "message_id"
- },
- {
- "name": "emoji",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "emoji"
- }
- ],
- "tags": ["channels"]
- }
- },
- "/channels/{channel_id}/messages/{message_id}/reactions/{emoji}/{user_id}": {
- "put": {
- "description": "##### Requires the ``READ_MESSAGE_HISTORY`` permission\n",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "channel_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "channel_id"
- },
- {
- "name": "message_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "message_id"
- },
- {
- "name": "emoji",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "emoji"
- },
- {
- "name": "user_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "user_id"
- }
- ],
- "tags": ["channels"]
- },
- "delete": {
- "description": "",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "channel_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "channel_id"
- },
- {
- "name": "message_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "message_id"
- },
- {
- "name": "emoji",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "emoji"
- },
- {
- "name": "user_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "user_id"
- }
- ],
- "tags": ["channels"]
- }
- },
- "/channels/{channel_id}/messages/{message_id}/": {
- "patch": {
- "description": "##### Requires the ``SEND_MESSAGES`` permission\n",
- "requestBody": {
- "required": true,
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/MessageCreateSchema"
- }
- }
- }
- },
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "channel_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "channel_id"
- },
- {
- "name": "message_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "message_id"
- }
- ],
- "tags": ["channels"]
- },
- "delete": {
- "description": "",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "channel_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "channel_id"
- },
- {
- "name": "message_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "message_id"
- }
- ],
- "tags": ["channels"]
- }
- },
- "/channels/{channel_id}/messages/{message_id}/ack/": {
- "post": {
- "description": "",
- "requestBody": {
- "required": true,
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/MessageAcknowledgeSchema"
- }
- }
- }
- },
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "channel_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "channel_id"
- },
- {
- "name": "message_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "message_id"
- }
- ],
- "tags": ["channels"]
- }
- },
- "/channels/{channel_id}/invites/": {
- "post": {
- "description": "##### Requires the ``CREATE_INSTANT_INVITE`` permission\n",
- "requestBody": {
- "required": true,
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/InviteCreateSchema"
- }
- }
- }
- },
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "channel_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "channel_id"
- }
- ],
- "tags": ["channels"]
- },
- "get": {
- "description": "##### Requires the ``MANAGE_CHANNELS`` permission\n",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "channel_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "channel_id"
- }
- ],
- "tags": ["channels"]
- }
- },
- "/channels/{channel_id}/": {
- "get": {
- "description": "##### Requires the ``VIEW_CHANNEL`` permission\n",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "channel_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "channel_id"
- }
- ],
- "tags": ["channels"]
- },
- "delete": {
- "description": "##### Requires the ``MANAGE_CHANNELS`` permission\n",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "channel_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "channel_id"
- }
- ],
- "tags": ["channels"]
- },
- "patch": {
- "description": "##### Requires the ``MANAGE_CHANNELS`` permission\n",
- "requestBody": {
- "required": true,
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ChannelModifySchema"
- }
- }
- }
- },
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "channel_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "channel_id"
- }
- ],
- "tags": ["channels"]
- }
- },
- "/auth/register/": {
- "post": {
- "description": "",
- "requestBody": {
- "required": true,
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/RegisterSchema"
- }
- }
- }
- },
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "tags": ["auth"]
- }
- },
- "/applications/detectable/": {
- "get": {
- "description": "",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "tags": ["applications"]
- }
- },
- "/guilds/{guild_id}/members/{member_id}/roles/{role_id}/": {
- "delete": {
- "description": "##### Requires the ``MANAGE_ROLES`` permission\n",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "guild_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "guild_id"
- },
- {
- "name": "member_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "member_id"
- },
- {
- "name": "role_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "role_id"
- }
- ],
- "tags": ["guilds"]
- },
- "put": {
- "description": "##### Requires the ``MANAGE_ROLES`` permission\n",
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "parameters": [
- {
- "name": "guild_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "guild_id"
- },
- {
- "name": "member_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "member_id"
- },
- {
- "name": "role_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- },
- "description": "role_id"
- }
- ],
- "tags": ["guilds"]
- }
- },
- "/auth/login/": {
- "post": {
- "description": "",
- "requestBody": {
- "required": true,
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/LoginSchema"
- }
- }
- }
- },
- "responses": {
- "default": {
- "description": "not documented"
- }
- },
- "tags": ["auth"]
- }
- }
- },
- "externalDocs": {
- "url": "http://docs.fosscord.com/"
- },
- "components": {
- "schemas": {
- "Error": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer"
- },
- "message": {
- "type": "string"
- }
- },
- "required": ["code", "message"]
- },
- "RateLimit": {
- "type": "object",
- "properties": {
- "retry_after": {
- "type": "integer"
- },
- "message": {
- "type": "string"
- },
- "global": {
- "type": "boolean"
- }
- },
- "required": ["code", "message", "globa"]
- },
- "User": {
- "type": "object",
- "properties": {
- "username": {
- "type": "string"
- },
- "discriminator": {
- "type": "string"
- },
- "avatar": {
- "type": "string"
- },
- "accent_color": {
- "type": "integer"
- },
- "banner": {
- "type": "string"
- },
- "phone": {
- "type": "string"
- },
- "desktop": {
- "type": "boolean"
- },
- "mobile": {
- "type": "boolean"
- },
- "premium": {
- "type": "boolean"
- },
- "premium_type": {
- "type": "integer"
- },
- "bot": {
- "type": "boolean"
- },
- "bio": {
- "type": "string"
- },
- "system": {
- "type": "boolean"
- },
- "nsfw_allowed": {
- "type": "boolean"
- },
- "mfa_enabled": {
- "type": "boolean"
- },
- "created_at": {
- "type": "string",
- "format": "date-time"
- },
- "premium_since": {
- "type": "string",
- "format": "date-time"
- },
- "verified": {
- "type": "boolean"
- },
- "disabled": {
- "type": "boolean"
- },
- "deleted": {
- "type": "boolean"
- },
- "email": {
- "type": "string"
- },
- "flags": {
- "type": "string"
- },
- "public_flags": {
- "type": "string"
- },
- "relationships": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/Relationship"
- }
- },
- "connected_accounts": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/ConnectedAccount"
- }
- },
- "data": {
- "type": "object",
- "properties": {
- "valid_tokens_since": {
- "type": "string",
- "format": "date-time"
- },
- "hash": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": ["valid_tokens_since"]
- },
- "fingerprints": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "settings": {
- "$ref": "#/components/schemas/UserSettings"
- },
- "id": {
- "type": "string"
- }
- },
- "required": [
- "bio",
- "bot",
- "connected_accounts",
- "created_at",
- "data",
- "deleted",
- "desktop",
- "disabled",
- "discriminator",
- "fingerprints",
- "flags",
- "id",
- "mfa_enabled",
- "mobile",
- "nsfw_allowed",
- "premium",
- "premium_type",
- "public_flags",
- "relationships",
- "settings",
- "system",
- "username",
- "verified"
- ]
- },
- "Relationship": {
- "type": "object",
- "properties": {
- "user_id": {
- "type": "string"
- },
- "user": {
- "$ref": "#/components/schemas/User"
- },
- "nickname": {
- "type": "string"
- },
- "type": {
- "$ref": "#/components/schemas/RelationshipType"
- },
- "id": {
- "type": "string"
- }
- },
- "required": ["id", "type", "user", "user_id"]
- },
- "RelationshipType": {
- "enum": [1, 2, 3, 4],
- "type": "number"
- },
- "ConnectedAccount": {
- "type": "object",
- "properties": {
- "user_id": {
- "type": "string"
- },
- "user": {
- "$ref": "#/components/schemas/User"
- },
- "access_token": {
- "type": "string"
- },
- "friend_sync": {
- "type": "boolean"
- },
- "name": {
- "type": "string"
- },
- "revoked": {
- "type": "boolean"
- },
- "show_activity": {
- "type": "boolean"
- },
- "type": {
- "type": "string"
- },
- "verified": {
- "type": "boolean"
- },
- "visibility": {
- "type": "integer"
- },
- "id": {
- "type": "string"
- }
- },
- "required": [
- "access_token",
- "friend_sync",
- "id",
- "name",
- "revoked",
- "show_activity",
- "type",
- "user",
- "user_id",
- "verified",
- "visibility"
- ]
- },
- "UserSettings": {
- "type": "object",
- "properties": {
- "afk_timeout": {
- "type": "integer"
- },
- "allow_accessibility_detection": {
- "type": "boolean"
- },
- "animate_emoji": {
- "type": "boolean"
- },
- "animate_stickers": {
- "type": "integer"
- },
- "contact_sync_enabled": {
- "type": "boolean"
- },
- "convert_emoticons": {
- "type": "boolean"
- },
- "custom_status": {
- "type": "object",
- "properties": {
- "emoji_id": {
- "type": "string"
- },
- "emoji_name": {
- "type": "string"
- },
- "expires_at": {
- "type": "integer"
- },
- "text": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "default_guilds_restricted": {
- "type": "boolean"
- },
- "detect_platform_accounts": {
- "type": "boolean"
- },
- "developer_mode": {
- "type": "boolean"
- },
- "disable_games_tab": {
- "type": "boolean"
- },
- "enable_tts_command": {
- "type": "boolean"
- },
- "explicit_content_filter": {
- "type": "integer"
- },
- "friend_source_flags": {
- "type": "object",
- "properties": {
- "all": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": ["all"]
- },
- "gateway_connected": {
- "type": "boolean"
- },
- "gif_auto_play": {
- "type": "boolean"
- },
- "guild_folders": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "color": {
- "type": "integer"
- },
- "guild_ids": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "id": {
- "type": "integer"
- },
- "name": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": ["color", "guild_ids", "id", "name"]
- }
- },
- "guild_positions": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "inline_attachment_media": {
- "type": "boolean"
- },
- "inline_embed_media": {
- "type": "boolean"
- },
- "locale": {
- "type": "string"
- },
- "message_display_compact": {
- "type": "boolean"
- },
- "native_phone_integration_enabled": {
- "type": "boolean"
- },
- "render_embeds": {
- "type": "boolean"
- },
- "render_reactions": {
- "type": "boolean"
- },
- "restricted_guilds": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "show_current_game": {
- "type": "boolean"
- },
- "status": {
- "enum": ["dnd", "idle", "offline", "online", "invisible"],
- "type": "string"
- },
- "stream_notifications_enabled": {
- "type": "boolean"
- },
- "theme": {
- "enum": ["dark", "white"],
- "type": "string"
- },
- "timezone_offset": {
- "type": "integer"
- }
- },
- "required": [
- "afk_timeout",
- "allow_accessibility_detection",
- "animate_emoji",
- "animate_stickers",
- "contact_sync_enabled",
- "convert_emoticons",
- "custom_status",
- "default_guilds_restricted",
- "detect_platform_accounts",
- "developer_mode",
- "disable_games_tab",
- "enable_tts_command",
- "explicit_content_filter",
- "friend_source_flags",
- "gateway_connected",
- "gif_auto_play",
- "guild_folders",
- "guild_positions",
- "inline_attachment_media",
- "inline_embed_media",
- "locale",
- "message_display_compact",
- "native_phone_integration_enabled",
- "render_embeds",
- "render_reactions",
- "restricted_guilds",
- "show_current_game",
- "status",
- "stream_notifications_enabled",
- "theme",
- "timezone_offset"
- ]
- },
- "Team": {
- "type": "object",
- "properties": {
- "icon": {
- "type": "string"
- },
- "members": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/TeamMember"
- }
- },
- "name": {
- "type": "string"
- },
- "owner_user_id": {
- "type": "string"
- },
- "owner_user": {
- "$ref": "#/components/schemas/User"
- },
- "id": {
- "type": "string"
- }
- },
- "required": ["id", "members", "name", "owner_user", "owner_user_id"]
- },
- "TeamMember": {
- "type": "object",
- "properties": {
- "membership_state": {
- "$ref": "#/components/schemas/TeamMemberState"
- },
- "permissions": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "team_id": {
- "type": "string"
- },
- "team": {
- "$ref": "#/components/schemas/Team"
- },
- "user_id": {
- "type": "string"
- },
- "user": {
- "$ref": "#/components/schemas/User"
- },
- "id": {
- "type": "string"
- }
- },
- "required": ["id", "membership_state", "permissions", "team", "team_id", "user", "user_id"]
- },
- "TeamMemberState": {
- "enum": [1, 2],
- "type": "number"
- },
- "Guild": {
- "type": "object",
- "properties": {
- "afk_channel_id": {
- "type": "string"
- },
- "afk_channel": {
- "$ref": "#/components/schemas/Channel"
- },
- "afk_timeout": {
- "type": "integer"
- },
- "bans": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/Ban"
- }
- },
- "banner": {
- "type": "string"
- },
- "default_message_notifications": {
- "type": "integer"
- },
- "description": {
- "type": "string"
- },
- "discovery_splash": {
- "type": "string"
- },
- "explicit_content_filter": {
- "type": "integer"
- },
- "features": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "icon": {
- "type": "string"
- },
- "large": {
- "type": "boolean"
- },
- "max_members": {
- "type": "integer"
- },
- "max_presences": {
- "type": "integer"
- },
- "max_video_channel_users": {
- "type": "integer"
- },
- "member_count": {
- "type": "integer"
- },
- "presence_count": {
- "type": "integer"
- },
- "members": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/Member"
- }
- },
- "roles": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/Role"
- }
- },
- "channels": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/Channel"
- }
- },
- "template_id": {
- "type": "string"
- },
- "template": {
- "$ref": "#/components/schemas/Template"
- },
- "emojis": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/Emoji"
- }
- },
- "stickers": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/Sticker"
- }
- },
- "invites": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/Invite"
- }
- },
- "voice_states": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/VoiceState"
- }
- },
- "webhooks": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/Webhook"
- }
- },
- "mfa_level": {
- "type": "integer"
- },
- "name": {
- "type": "string"
- },
- "owner_id": {
- "type": "string"
- },
- "owner": {
- "$ref": "#/components/schemas/User"
- },
- "preferred_locale": {
- "type": "string"
- },
- "premium_subscription_count": {
- "type": "integer"
- },
- "premium_tier": {
- "type": "integer"
- },
- "public_updates_channel_id": {
- "type": "string"
- },
- "public_updates_channel": {
- "$ref": "#/components/schemas/Channel"
- },
- "rules_channel_id": {
- "type": "string"
- },
- "rules_channel": {
- "type": "string"
- },
- "region": {
- "type": "string"
- },
- "splash": {
- "type": "string"
- },
- "system_channel_id": {
- "type": "string"
- },
- "system_channel": {
- "$ref": "#/components/schemas/Channel"
- },
- "system_channel_flags": {
- "type": "integer"
- },
- "unavailable": {
- "type": "boolean"
- },
- "vanity_url_code": {
- "type": "string"
- },
- "vanity_url": {
- "$ref": "#/components/schemas/Invite"
- },
- "verification_level": {
- "type": "integer"
- },
- "welcome_screen": {
- "type": "object",
- "properties": {
- "enabled": {
- "type": "boolean"
- },
- "description": {
- "type": "string"
- },
- "welcome_channels": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "description": {
- "type": "string"
- },
- "emoji_id": {
- "type": "string"
- },
- "emoji_name": {
- "type": "string"
- },
- "channel_id": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": ["channel_id", "description", "emoji_name"]
- }
- }
- },
- "additionalProperties": false,
- "required": ["description", "enabled", "welcome_channels"]
- },
- "widget_channel_id": {
- "type": "string"
- },
- "widget_channel": {
- "$ref": "#/components/schemas/Channel"
- },
- "widget_enabled": {
- "type": "boolean"
- },
- "id": {
- "type": "string"
- }
- },
- "required": [
- "bans",
- "channels",
- "emojis",
- "features",
- "id",
- "invites",
- "members",
- "name",
- "owner",
- "owner_id",
- "public_updates_channel_id",
- "roles",
- "stickers",
- "template",
- "template_id",
- "voice_states",
- "webhooks",
- "welcome_screen"
- ]
- },
- "Channel": {
- "type": "object",
- "properties": {
- "created_at": {
- "type": "string",
- "format": "date-time"
- },
- "name": {
- "type": "string"
- },
- "type": {
- "$ref": "#/components/schemas/ChannelType"
- },
- "recipients": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/Recipient"
- }
- },
- "last_message_id": {
- "type": "string"
- },
- "last_message": {
- "$ref": "#/components/schemas/Message"
- },
- "guild_id": {
- "type": "string"
- },
- "guild": {
- "$ref": "#/components/schemas/Guild"
- },
- "parent_id": {
- "type": "string"
- },
- "parent": {
- "$ref": "#/components/schemas/Channel"
- },
- "owner_id": {
- "type": "string"
- },
- "owner": {
- "$ref": "#/components/schemas/User"
- },
- "last_pin_timestamp": {
- "type": "integer"
- },
- "default_auto_archive_duration": {
- "type": "integer"
- },
- "position": {
- "type": "integer"
- },
- "permission_overwrites": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/ChannelPermissionOverwrite"
- }
- },
- "video_quality_mode": {
- "type": "integer"
- },
- "bitrate": {
- "type": "integer"
- },
- "user_limit": {
- "type": "integer"
- },
- "nsfw": {
- "type": "boolean"
- },
- "rate_limit_per_user": {
- "type": "integer"
- },
- "topic": {
- "type": "string"
- },
- "id": {
- "type": "string"
- }
- },
- "required": [
- "created_at",
- "guild",
- "id",
- "last_message_id",
- "name",
- "owner",
- "owner_id",
- "parent_id",
- "permission_overwrites",
- "position",
- "type"
- ]
- },
- "ChannelType": {
- "enum": [0, 1, 2, 3, 4, 5, 6],
- "type": "number"
- },
- "Recipient": {
- "type": "object",
- "properties": {
- "channel_id": {
- "type": "string"
- },
- "channel": {
- "$ref": "#/components/schemas/Channel"
- },
- "user": {
- "$ref": "#/components/schemas/User"
- },
- "id": {
- "type": "string"
- }
- },
- "required": ["channel", "channel_id", "id", "user"]
- },
- "Message": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "channel_id": {
- "type": "string"
- },
- "channel": {
- "$ref": "#/components/schemas/Channel"
- },
- "guild_id": {
- "type": "string"
- },
- "guild": {
- "$ref": "#/components/schemas/Guild"
- },
- "author_id": {
- "type": "string"
- },
- "author": {
- "$ref": "#/components/schemas/User"
- },
- "member_id": {
- "type": "string"
- },
- "member": {
- "$ref": "#/components/schemas/Member"
- },
- "webhook_id": {
- "type": "string"
- },
- "webhook": {
- "$ref": "#/components/schemas/Webhook"
- },
- "application_id": {
- "type": "string"
- },
- "application": {
- "$ref": "#/components/schemas/Application"
- },
- "content": {
- "type": "string"
- },
- "timestamp": {
- "type": "string",
- "format": "date-time"
- },
- "edited_timestamp": {
- "type": "string",
- "format": "date-time"
- },
- "tts": {
- "type": "boolean"
- },
- "mention_everyone": {
- "type": "boolean"
- },
- "mentions": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/User"
- }
- },
- "mention_roles": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/Role"
- }
- },
- "mention_channels": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/Channel"
- }
- },
- "sticker_items": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/Sticker"
- }
- },
- "attachments": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/Attachment"
- }
- },
- "embeds": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/Embed"
- }
- },
- "reactions": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/Reaction"
- }
- },
- "nonce": {
- "type": "string"
- },
- "pinned": {
- "type": "boolean"
- },
- "type": {
- "$ref": "#/components/schemas/MessageType"
- },
- "activity": {
- "type": "object",
- "properties": {
- "type": {
- "type": "integer"
- },
- "party_id": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": ["party_id", "type"]
- },
- "flags": {
- "type": "string"
- },
- "message_reference": {
- "type": "object",
- "properties": {
- "message_id": {
- "type": "string"
- },
- "channel_id": {
- "type": "string"
- },
- "guild_id": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": ["message_id"]
- },
- "referenced_message": {
- "$ref": "#/components/schemas/Message"
- },
- "interaction": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "type": {
- "$ref": "#/components/schemas/InteractionType"
- },
- "name": {
- "type": "string"
- },
- "user_id": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": ["id", "name", "type", "user_id"]
- },
- "components": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/MessageComponent"
- }
- }
- },
- "required": [
- "application_id",
- "author_id",
- "channel",
- "channel_id",
- "embeds",
- "id",
- "member_id",
- "mention_channels",
- "mention_roles",
- "mentions",
- "reactions",
- "timestamp",
- "type",
- "webhook_id"
- ]
- },
- "Member": {
- "type": "object",
- "properties": {
- "user_id": {
- "type": "string"
- },
- "user": {
- "$ref": "#/components/schemas/User"
- },
- "guild_id": {
- "type": "string"
- },
- "guild": {
- "$ref": "#/components/schemas/Guild"
- },
- "nick": {
- "type": "string"
- },
- "roles": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/Role"
- }
- },
- "joined_at": {
- "type": "string",
- "format": "date-time"
- },
- "premium_since": {
- "type": "string",
- "format": "date-time"
- },
- "deaf": {
- "type": "boolean"
- },
- "mute": {
- "type": "boolean"
- },
- "pending": {
- "type": "boolean"
- },
- "settings": {
- "$ref": "#/components/schemas/UserGuildSettings"
- },
- "id": {
- "type": "string"
- }
- },
- "required": ["deaf", "guild", "guild_id", "id", "joined_at", "mute", "pending", "roles", "settings", "user", "user_id"]
- },
- "Role": {
- "type": "object",
- "properties": {
- "guild_id": {
- "type": "string"
- },
- "guild": {
- "$ref": "#/components/schemas/Guild"
- },
- "color": {
- "type": "integer"
- },
- "hoist": {
- "type": "boolean"
- },
- "managed": {
- "type": "boolean"
- },
- "mentionable": {
- "type": "boolean"
- },
- "name": {
- "type": "string"
- },
- "permissions": {
- "type": "string"
- },
- "position": {
- "type": "integer"
- },
- "tags": {
- "type": "object",
- "properties": {
- "bot_id": {
- "type": "string"
- },
- "integration_id": {
- "type": "string"
- },
- "premium_subscriber": {
- "type": "boolean"
- }
- },
- "additionalProperties": false
- },
- "id": {
- "type": "string"
- }
- },
- "required": ["color", "guild", "guild_id", "hoist", "id", "managed", "mentionable", "name", "permissions", "position"]
- },
- "UserGuildSettings": {
- "type": "object",
- "properties": {
- "channel_overrides": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "channel_id": {
- "type": "string"
- },
- "message_notifications": {
- "type": "integer"
- },
- "mute_config": {
- "$ref": "#/components/schemas/MuteConfig"
- },
- "muted": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": ["channel_id", "message_notifications", "mute_config", "muted"]
- }
- },
- "message_notifications": {
- "type": "integer"
- },
- "mobile_push": {
- "type": "boolean"
- },
- "mute_config": {
- "$ref": "#/components/schemas/MuteConfig"
- },
- "muted": {
- "type": "boolean"
- },
- "suppress_everyone": {
- "type": "boolean"
- },
- "suppress_roles": {
- "type": "boolean"
- },
- "version": {
- "type": "integer"
- }
- },
- "required": [
- "channel_overrides",
- "message_notifications",
- "mobile_push",
- "mute_config",
- "muted",
- "suppress_everyone",
- "suppress_roles",
- "version"
- ]
- },
- "MuteConfig": {
- "type": "object",
- "properties": {
- "end_time": {
- "type": "integer"
- },
- "selected_time_window": {
- "type": "integer"
- }
- },
- "required": ["end_time", "selected_time_window"]
- },
- "Webhook": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "type": {
- "$ref": "#/components/schemas/WebhookType"
- },
- "name": {
- "type": "string"
- },
- "avatar": {
- "type": "string"
- },
- "token": {
- "type": "string"
- },
- "guild_id": {
- "type": "string"
- },
- "guild": {
- "$ref": "#/components/schemas/Guild"
- },
- "channel_id": {
- "type": "string"
- },
- "channel": {
- "$ref": "#/components/schemas/Channel"
- },
- "application_id": {
- "type": "string"
- },
- "application": {
- "$ref": "#/components/schemas/Application"
- },
- "user_id": {
- "type": "string"
- },
- "user": {
- "$ref": "#/components/schemas/User"
- },
- "source_guild_id": {
- "type": "string"
- },
- "source_guild": {
- "$ref": "#/components/schemas/Guild"
- }
- },
- "required": [
- "application",
- "application_id",
- "channel",
- "channel_id",
- "guild",
- "guild_id",
- "id",
- "source_guild",
- "source_guild_id",
- "type",
- "user",
- "user_id"
- ]
- },
- "WebhookType": {
- "enum": [1, 2],
- "type": "number"
- },
- "Application": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "icon": {
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "rpc_origins": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "bot_public": {
- "type": "boolean"
- },
- "bot_require_code_grant": {
- "type": "boolean"
- },
- "terms_of_service_url": {
- "type": "string"
- },
- "privacy_policy_url": {
- "type": "string"
- },
- "owner": {
- "$ref": "#/components/schemas/User"
- },
- "summary": {
- "type": "string"
- },
- "verify_key": {
- "type": "string"
- },
- "team": {
- "$ref": "#/components/schemas/Team"
- },
- "guild": {
- "$ref": "#/components/schemas/Guild"
- },
- "primary_sku_id": {
- "type": "string"
- },
- "slug": {
- "type": "string"
- },
- "cover_image": {
- "type": "string"
- },
- "flags": {
- "type": "string"
- },
- "id": {
- "type": "string"
- }
- },
- "required": ["bot_public", "bot_require_code_grant", "description", "flags", "guild", "id", "name", "verify_key"]
- },
- "Sticker": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "tags": {
- "type": "string"
- },
- "pack_id": {
- "type": "string"
- },
- "guild_id": {
- "type": "string"
- },
- "guild": {
- "$ref": "#/components/schemas/Guild"
- },
- "type": {
- "$ref": "#/components/schemas/StickerType"
- },
- "format_type": {
- "$ref": "#/components/schemas/StickerFormatType"
- },
- "id": {
- "type": "string"
- }
- },
- "required": ["format_type", "id", "name", "pack_id", "tags", "type"]
- },
- "StickerType": {
- "enum": [1, 2],
- "type": "number"
- },
- "StickerFormatType": {
- "enum": [1, 2, 3],
- "type": "number"
- },
- "Attachment": {
- "type": "object",
- "properties": {
- "filename": {
- "type": "string"
- },
- "size": {
- "type": "integer"
- },
- "url": {
- "type": "string"
- },
- "proxy_url": {
- "type": "string"
- },
- "height": {
- "type": "integer"
- },
- "width": {
- "type": "integer"
- },
- "content_type": {
- "type": "string"
- },
- "message_id": {
- "type": "string"
- },
- "message": {
- "$ref": "#/components/schemas/Message"
- },
- "id": {
- "type": "string"
- }
- },
- "required": ["filename", "id", "message", "message_id", "proxy_url", "size", "url"]
- },
- "Embed": {
- "type": "object",
- "properties": {
- "title": {
- "type": "string"
- },
- "type": {
- "enum": ["article", "gifv", "image", "link", "rich", "video"],
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "timestamp": {
- "type": "string",
- "format": "date-time"
- },
- "color": {
- "type": "integer"
- },
- "footer": {
- "type": "object",
- "properties": {
- "text": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": ["text"]
- },
- "image": {
- "$ref": "#/components/schemas/EmbedImage"
- },
- "thumbnail": {
- "$ref": "#/components/schemas/EmbedImage"
- },
- "video": {
- "$ref": "#/components/schemas/EmbedImage"
- },
- "provider": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "author": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "fields": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "value": {
- "type": "string"
- },
- "inline": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": ["name", "value"]
- }
- }
- }
- },
- "EmbedType": {
- "enum": ["article", "gifv", "image", "link", "rich", "video"],
- "type": "string"
- },
- "EmbedImage": {
- "type": "object",
- "properties": {
- "url": {
- "type": "string"
- },
- "proxy_url": {
- "type": "string"
- },
- "height": {
- "type": "integer"
- },
- "width": {
- "type": "integer"
- }
- }
- },
- "Reaction": {
- "type": "object",
- "properties": {
- "count": {
- "type": "integer"
- },
- "emoji": {
- "$ref": "#/components/schemas/PartialEmoji"
- },
- "user_ids": {
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- },
- "required": ["count", "emoji", "user_ids"]
- },
- "PartialEmoji": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "name": {
- "type": "string"
- },
- "animated": {
- "type": "boolean"
- }
- },
- "required": ["name"]
- },
- "MessageType": {
- "enum": [0, 1, 10, 11, 12, 14, 15, 19, 2, 20, 3, 4, 5, 6, 7, 8, 9],
- "type": "number"
- },
- "InteractionType": {
- "enum": [1, 2],
- "type": "number"
- },
- "MessageComponent": {
- "type": "object",
- "properties": {
- "type": {
- "type": "integer"
- },
- "style": {
- "type": "integer"
- },
- "label": {
- "type": "string"
- },
- "emoji": {
- "$ref": "#/components/schemas/PartialEmoji"
- },
- "custom_id": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "disabled": {
- "type": "boolean"
- },
- "components": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/MessageComponent"
- }
- }
- },
- "required": ["components", "type"]
- },
- "ChannelPermissionOverwrite": {
- "type": "object",
- "properties": {
- "allow": {
- "type": "number"
- },
- "deny": {
- "type": "number"
- },
- "id": {
- "type": "string"
- },
- "type": {
- "$ref": "#/components/schemas/ChannelPermissionOverwriteType"
- }
- },
- "required": ["allow", "deny", "id", "type"]
- },
- "ChannelPermissionOverwriteType": {
- "enum": [0, 1],
- "type": "number"
- },
- "Ban": {
- "type": "object",
- "properties": {
- "user_id": {
- "type": "string"
- },
- "user": {
- "$ref": "#/components/schemas/User"
- },
- "guild_id": {
- "type": "string"
- },
- "guild": {
- "$ref": "#/components/schemas/Guild"
- },
- "executor_id": {
- "type": "string"
- },
- "executor": {
- "$ref": "#/components/schemas/User"
- },
- "ip": {
- "type": "string"
- },
- "reason": {
- "type": "string"
- },
- "id": {
- "type": "string"
- }
- },
- "required": ["executor", "executor_id", "guild", "guild_id", "id", "ip", "user", "user_id"]
- },
- "Template": {
- "type": "object",
- "properties": {
- "code": {
- "type": "string"
- },
- "name": {
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "usage_count": {
- "type": "integer"
- },
- "creator_id": {
- "type": "string"
- },
- "creator": {
- "$ref": "#/components/schemas/User"
- },
- "created_at": {
- "type": "string",
- "format": "date-time"
- },
- "updated_at": {
- "type": "string",
- "format": "date-time"
- },
- "source_guild_id": {
- "type": "string"
- },
- "source_guild": {
- "$ref": "#/components/schemas/Guild"
- },
- "serialized_source_guild": {
- "$ref": "#/components/schemas/Guild"
- },
- "id": {
- "type": "string"
- }
- },
- "required": [
- "code",
- "created_at",
- "creator",
- "creator_id",
- "id",
- "name",
- "serialized_source_guild",
- "source_guild",
- "source_guild_id",
- "updated_at"
- ]
- },
- "Emoji": {
- "type": "object",
- "properties": {
- "animated": {
- "type": "boolean"
- },
- "available": {
- "type": "boolean"
- },
- "guild_id": {
- "type": "string"
- },
- "guild": {
- "$ref": "#/components/schemas/Guild"
- },
- "managed": {
- "type": "boolean"
- },
- "name": {
- "type": "string"
- },
- "require_colons": {
- "type": "boolean"
- },
- "id": {
- "type": "string"
- }
- },
- "required": ["animated", "available", "guild", "guild_id", "id", "managed", "name", "require_colons"]
- },
- "Invite": {
- "type": "object",
- "properties": {
- "code": {
- "type": "string"
- },
- "temporary": {
- "type": "boolean"
- },
- "uses": {
- "type": "integer"
- },
- "max_uses": {
- "type": "integer"
- },
- "max_age": {
- "type": "integer"
- },
- "created_at": {
- "type": "string",
- "format": "date-time"
- },
- "expires_at": {
- "type": "string",
- "format": "date-time"
- },
- "guild_id": {
- "type": "string"
- },
- "guild": {
- "$ref": "#/components/schemas/Guild"
- },
- "channel_id": {
- "type": "string"
- },
- "channel": {
- "$ref": "#/components/schemas/Channel"
- },
- "inviter_id": {
- "type": "string"
- },
- "inviter": {
- "$ref": "#/components/schemas/User"
- },
- "target_user_id": {
- "type": "string"
- },
- "target_user": {
- "type": "string"
- },
- "target_user_type": {
- "type": "integer"
- },
- "id": {
- "type": "string"
- }
- },
- "required": [
- "channel",
- "channel_id",
- "code",
- "created_at",
- "expires_at",
- "guild",
- "guild_id",
- "id",
- "inviter",
- "inviter_id",
- "max_age",
- "max_uses",
- "target_user_id",
- "temporary",
- "uses"
- ]
- },
- "VoiceState": {
- "type": "object",
- "properties": {
- "guild_id": {
- "type": "string"
- },
- "guild": {
- "$ref": "#/components/schemas/Guild"
- },
- "channel_id": {
- "type": "string"
- },
- "channel": {
- "$ref": "#/components/schemas/Channel"
- },
- "user_id": {
- "type": "string"
- },
- "user": {
- "$ref": "#/components/schemas/User"
- },
- "session_id": {
- "type": "string"
- },
- "deaf": {
- "type": "boolean"
- },
- "mute": {
- "type": "boolean"
- },
- "self_deaf": {
- "type": "boolean"
- },
- "self_mute": {
- "type": "boolean"
- },
- "self_stream": {
- "type": "boolean"
- },
- "self_video": {
- "type": "boolean"
- },
- "suppress": {
- "type": "boolean"
- },
- "id": {
- "type": "string"
- }
- },
- "required": [
- "channel",
- "channel_id",
- "deaf",
- "guild_id",
- "id",
- "mute",
- "self_deaf",
- "self_mute",
- "self_video",
- "session_id",
- "suppress",
- "user",
- "user_id"
- ]
- },
- "AuditLogEvents": {
- "enum": [
- 1, 10, 11, 12, 13, 14, 15, 20, 21, 22, 23, 24, 25, 26, 27, 28, 30, 31, 32, 40, 41, 42, 50, 51, 52, 60, 61, 62, 72, 73,
- 74, 75, 80, 81, 82
- ],
- "type": "number"
- },
- "AuditLogChange": {
- "type": "object",
- "properties": {
- "new_value": {
- "$ref": "#/components/schemas/AuditLogChangeValue"
- },
- "old_value": {
- "$ref": "#/components/schemas/AuditLogChangeValue"
- },
- "key": {
- "type": "string"
- }
- },
- "required": ["key"]
- },
- "AuditLogChangeValue": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "icon_hash": {
- "type": "string"
- },
- "splash_hash": {
- "type": "string"
- },
- "discovery_splash_hash": {
- "type": "string"
- },
- "banner_hash": {
- "type": "string"
- },
- "owner_id": {
- "type": "string"
- },
- "region": {
- "type": "string"
- },
- "preferred_locale": {
- "type": "string"
- },
- "afk_channel_id": {
- "type": "string"
- },
- "afk_timeout": {
- "type": "integer"
- },
- "rules_channel_id": {
- "type": "string"
- },
- "public_updates_channel_id": {
- "type": "string"
- },
- "mfa_level": {
- "type": "integer"
- },
- "verification_level": {
- "type": "integer"
- },
- "explicit_content_filter": {
- "type": "integer"
- },
- "default_message_notifications": {
- "type": "integer"
- },
- "vanity_url_code": {
- "type": "string"
- },
- "$add": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {}
- }
- },
- "$remove": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {}
- }
- },
- "prune_delete_days": {
- "type": "integer"
- },
- "widget_enabled": {
- "type": "boolean"
- },
- "widget_channel_id": {
- "type": "string"
- },
- "system_channel_id": {
- "type": "string"
- },
- "position": {
- "type": "integer"
- },
- "topic": {
- "type": "string"
- },
- "bitrate": {
- "type": "integer"
- },
- "permission_overwrites": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/ChannelPermissionOverwrite"
- }
- },
- "nsfw": {
- "type": "boolean"
- },
- "application_id": {
- "type": "string"
- },
- "rate_limit_per_user": {
- "type": "integer"
- },
- "permissions": {
- "type": "string"
- },
- "color": {
- "type": "integer"
- },
- "hoist": {
- "type": "boolean"
- },
- "mentionable": {
- "type": "boolean"
- },
- "allow": {
- "type": "string"
- },
- "deny": {
- "type": "string"
- },
- "code": {
- "type": "string"
- },
- "channel_id": {
- "type": "string"
- },
- "inviter_id": {
- "type": "string"
- },
- "max_uses": {
- "type": "integer"
- },
- "uses": {
- "type": "integer"
- },
- "max_age": {
- "type": "integer"
- },
- "temporary": {
- "type": "boolean"
- },
- "deaf": {
- "type": "boolean"
- },
- "mute": {
- "type": "boolean"
- },
- "nick": {
- "type": "string"
- },
- "avatar_hash": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "type": {
- "type": "integer"
- },
- "enable_emoticons": {
- "type": "boolean"
- },
- "expire_behavior": {
- "type": "integer"
- },
- "expire_grace_period": {
- "type": "integer"
- },
- "user_limit": {
- "type": "integer"
- }
- }
- },
- "AuditLog": {
- "type": "object",
- "properties": {
- "target": {
- "$ref": "#/components/schemas/User"
- },
- "user_id": {
- "type": "string"
- },
- "user": {
- "$ref": "#/components/schemas/User"
- },
- "action_type": {
- "$ref": "#/components/schemas/AuditLogEvents"
- },
- "options": {
- "type": "object",
- "properties": {
- "delete_member_days": {
- "type": "string"
- },
- "members_removed": {
- "type": "string"
- },
- "channel_id": {
- "type": "string"
- },
- "messaged_id": {
- "type": "string"
- },
- "count": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "type": {
- "type": "string"
- },
- "role_name": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "changes": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/AuditLogChange"
- }
- },
- "reason": {
- "type": "string"
- },
- "id": {
- "type": "string"
- }
- },
- "required": ["action_type", "changes", "id", "user", "user_id"]
- },
- "ReadState": {
- "type": "object",
- "properties": {
- "channel_id": {
- "type": "string"
- },
- "channel": {
- "$ref": "#/components/schemas/Channel"
- },
- "user_id": {
- "type": "string"
- },
- "user": {
- "$ref": "#/components/schemas/User"
- },
- "last_message_id": {
- "type": "string"
- },
- "last_message": {
- "$ref": "#/components/schemas/Message"
- },
- "last_pin_timestamp": {
- "type": "string",
- "format": "date-time"
- },
- "mention_count": {
- "type": "integer"
- },
- "manual": {
- "type": "boolean"
- },
- "id": {
- "type": "string"
- }
- },
- "required": ["channel", "channel_id", "id", "last_message_id", "manual", "mention_count", "user", "user_id"]
- },
- "UserPublic": {
- "type": "object",
- "properties": {
- "username": {
- "type": "string"
- },
- "discriminator": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "public_flags": {
- "type": "integer"
- },
- "avatar": {
- "type": "string"
- },
- "accent_color": {
- "type": "integer"
- },
- "banner": {
- "type": "string"
- },
- "bio": {
- "type": "string"
- },
- "bot": {
- "type": "boolean"
- }
- },
- "required": ["bio", "bot", "discriminator", "id", "public_flags", "username"]
- },
- "UserPrivate": {
- "type": "object",
- "properties": {
- "locale": {
- "type": "string"
- },
- "disabled": {
- "type": "boolean"
- },
- "username": {
- "type": "string"
- },
- "discriminator": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "public_flags": {
- "type": "string"
- },
- "avatar": {
- "type": "string"
- },
- "accent_color": {
- "type": "integer"
- },
- "banner": {
- "type": "string"
- },
- "bio": {
- "type": "string"
- },
- "bot": {
- "type": "boolean"
- },
- "flags": {
- "type": "string"
- },
- "mfa_enabled": {
- "type": "boolean"
- },
- "email": {
- "type": "string"
- },
- "phone": {
- "type": "string"
- },
- "verified": {
- "type": "boolean"
- },
- "nsfw_allowed": {
- "type": "boolean"
- },
- "premium": {
- "type": "boolean"
- },
- "premium_type": {
- "type": "integer"
- }
- },
- "required": [
- "bio",
- "bot",
- "disabled",
- "discriminator",
- "flags",
- "id",
- "locale",
- "mfa_enabled",
- "nsfw_allowed",
- "premium",
- "premium_type",
- "public_flags",
- "username",
- "verified"
- ]
- },
- "BanCreateSchema": {
- "type": "object",
- "properties": {
- "delete_message_days": {
- "type": "string"
- },
- "reason": {
- "type": "string"
- }
- }
- },
- "DmChannelCreateSchema": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "recipients": {
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- },
- "required": ["recipients"]
- },
- "ChannelModifySchema": {
- "type": "object",
- "properties": {
- "name": {
- "maxLength": 100,
- "type": "string"
- },
- "type": {
- "enum": [0, 1, 10, 11, 12, 13, 2, 3, 4, 5, 6],
- "type": "number"
- },
- "topic": {
- "type": "string"
- },
- "icon": {
- "type": "string",
- "nullable": true
- },
- "bitrate": {
- "type": "integer"
- },
- "user_limit": {
- "type": "integer"
- },
- "rate_limit_per_user": {
- "type": "integer"
- },
- "position": {
- "type": "integer"
- },
- "permission_overwrites": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "type": {
- "$ref": "#/components/schemas/ChannelPermissionOverwriteType"
- },
- "allow": {
- "type": "number"
- },
- "deny": {
- "type": "number"
- }
- },
- "additionalProperties": false,
- "required": ["allow", "deny", "id", "type"]
- }
- },
- "parent_id": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "nsfw": {
- "type": "boolean"
- },
- "rtc_region": {
- "type": "string"
- },
- "default_auto_archive_duration": {
- "type": "integer"
- }
- }
- },
- "ChannelGuildPositionUpdateSchema": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "position": {
- "type": "integer"
- }
- },
- "additionalProperties": false,
- "required": ["id"]
- }
- },
- "EmojiCreateSchema": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "image": {
- "type": "string"
- },
- "roles": {
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- },
- "required": ["image", "name"]
- },
- "GuildCreateSchema": {
- "type": "object",
- "properties": {
- "name": {
- "maxLength": 100,
- "type": "string"
- },
- "region": {
- "type": "string"
- },
- "icon": {
- "type": "string",
- "nullable": true
- },
- "channels": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/ChannelModifySchema"
- }
- },
- "guild_template_code": {
- "type": "string"
- },
- "system_channel_id": {
- "type": "string"
- },
- "rules_channel_id": {
- "type": "string"
- }
- },
- "required": ["name"]
- },
- "GuildUpdateSchema": {
- "type": "object",
- "properties": {
- "banner": {
- "type": "string",
- "nullable": true
- },
- "splash": {
- "type": "string",
- "nullable": true
- },
- "description": {
- "type": "string"
- },
- "features": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "verification_level": {
- "type": "integer"
- },
- "default_message_notifications": {
- "type": "integer"
- },
- "system_channel_flags": {
- "type": "integer"
- },
- "explicit_content_filter": {
- "type": "integer"
- },
- "public_updates_channel_id": {
- "type": "string"
- },
- "afk_timeout": {
- "type": "integer"
- },
- "afk_channel_id": {
- "type": "string"
- },
- "preferred_locale": {
- "type": "string"
- },
- "name": {
- "maxLength": 100,
- "type": "string"
- },
- "region": {
- "type": "string"
- },
- "icon": {
- "type": "string",
- "nullable": true
- },
- "guild_template_code": {
- "type": "string"
- },
- "system_channel_id": {
- "type": "string"
- },
- "rules_channel_id": {
- "type": "string"
- }
- },
- "required": ["name"]
- },
- "GuildTemplateCreateSchema": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "avatar": {
- "type": "string",
- "nullable": true
- }
- },
- "required": ["name"]
- },
- "GuildUpdateWelcomeScreenSchema": {
- "type": "object",
- "properties": {
- "welcome_channels": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "channel_id": {
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "emoji_id": {
- "type": "string"
- },
- "emoji_name": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": ["channel_id", "description", "emoji_name"]
- }
- },
- "enabled": {
- "type": "boolean"
- },
- "description": {
- "type": "string"
- }
- }
- },
- "InviteCreateSchema": {
- "type": "object",
- "properties": {
- "target_user_id": {
- "type": "string"
- },
- "target_type": {
- "type": "string"
- },
- "validate": {
- "type": "string"
- },
- "max_age": {
- "type": "integer"
- },
- "max_uses": {
- "type": "integer"
- },
- "temporary": {
- "type": "boolean"
- },
- "unique": {
- "type": "boolean"
- },
- "target_user": {
- "type": "string"
- },
- "target_user_type": {
- "type": "integer"
- }
- }
- },
- "MemberCreateSchema": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "nick": {
- "type": "string"
- },
- "guild_id": {
- "type": "string"
- },
- "joined_at": {
- "type": "string",
- "format": "date-time"
- }
- },
- "required": ["guild_id", "id", "joined_at", "nick"]
- },
- "MemberNickChangeSchema": {
- "type": "object",
- "properties": {
- "nick": {
- "type": "string"
- }
- },
- "required": ["nick"]
- },
- "MemberChangeSchema": {
- "type": "object",
- "properties": {
- "roles": {
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- }
- },
- "MessageCreateSchema": {
- "type": "object",
- "properties": {
- "content": {
- "type": "string"
- },
- "nonce": {
- "type": "string"
- },
- "tts": {
- "type": "boolean"
- },
- "flags": {
- "type": "string"
- },
- "embeds": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/Embed"
- }
- },
- "embed": {
- "$ref": "#/components/schemas/Embed"
- },
- "allowed_mentions": {
- "type": "object",
- "properties": {
- "parse": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "roles": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "users": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "replied_user": {
- "type": "boolean"
- }
- },
- "additionalProperties": false
- },
- "message_reference": {
- "type": "object",
- "properties": {
- "message_id": {
- "type": "string"
- },
- "channel_id": {
- "type": "string"
- },
- "guild_id": {
- "type": "string"
- },
- "fail_if_not_exists": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": ["channel_id", "message_id"]
- },
- "payload_json": {
- "type": "string"
- },
- "file": {},
- "attachments": {
- "type": "array",
- "items": {}
- }
- }
- },
- "RoleModifySchema": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "permissions": {
- "type": "number"
- },
- "color": {
- "type": "integer"
- },
- "hoist": {
- "type": "boolean"
- },
- "mentionable": {
- "type": "boolean"
- },
- "position": {
- "type": "integer"
- }
- }
- },
- "TemplateCreateSchema": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "description": {
- "type": "string"
- }
- },
- "required": ["name"]
- },
- "TemplateModifySchema": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "description": {
- "type": "string"
- }
- },
- "required": ["name"]
- },
- "UserModifySchema": {
- "type": "object",
- "properties": {
- "username": {
- "minLength": 1,
- "maxLength": 100,
- "type": "string"
- },
- "avatar": {
- "type": "string",
- "nullable": true
- },
- "bio": {
- "maxLength": 1024,
- "type": "string"
- },
- "accent_color": {
- "type": "integer"
- },
- "banner": {
- "type": "string",
- "nullable": true
- },
- "password": {
- "type": "string"
- },
- "new_password": {
- "type": "string"
- },
- "code": {
- "type": "string"
- }
- }
- },
- "UserSettingsSchema": {
- "type": "object",
- "properties": {
- "afk_timeout": {
- "type": "integer"
- },
- "allow_accessibility_detection": {
- "type": "boolean"
- },
- "animate_emoji": {
- "type": "boolean"
- },
- "animate_stickers": {
- "type": "integer"
- },
- "contact_sync_enabled": {
- "type": "boolean"
- },
- "convert_emoticons": {
- "type": "boolean"
- },
- "custom_status": {
- "type": "object",
- "properties": {
- "emoji_id": {
- "type": "string"
- },
- "emoji_name": {
- "type": "string"
- },
- "expires_at": {
- "type": "integer"
- },
- "text": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "default_guilds_restricted": {
- "type": "boolean"
- },
- "detect_platform_accounts": {
- "type": "boolean"
- },
- "developer_mode": {
- "type": "boolean"
- },
- "disable_games_tab": {
- "type": "boolean"
- },
- "enable_tts_command": {
- "type": "boolean"
- },
- "explicit_content_filter": {
- "type": "integer"
- },
- "friend_source_flags": {
- "type": "object",
- "properties": {
- "all": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": ["all"]
- },
- "gateway_connected": {
- "type": "boolean"
- },
- "gif_auto_play": {
- "type": "boolean"
- },
- "guild_folders": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "color": {
- "type": "integer"
- },
- "guild_ids": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "id": {
- "type": "integer"
- },
- "name": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": ["color", "guild_ids", "id", "name"]
- }
- },
- "guild_positions": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "inline_attachment_media": {
- "type": "boolean"
- },
- "inline_embed_media": {
- "type": "boolean"
- },
- "locale": {
- "type": "string"
- },
- "message_display_compact": {
- "type": "boolean"
- },
- "native_phone_integration_enabled": {
- "type": "boolean"
- },
- "render_embeds": {
- "type": "boolean"
- },
- "render_reactions": {
- "type": "boolean"
- },
- "restricted_guilds": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "show_current_game": {
- "type": "boolean"
- },
- "status": {
- "enum": ["dnd", "idle", "offline", "online", "invisible"],
- "type": "string"
- },
- "stream_notifications_enabled": {
- "type": "boolean"
- },
- "theme": {
- "enum": ["dark", "white"],
- "type": "string"
- },
- "timezone_offset": {
- "type": "integer"
- }
- },
- "required": [
- "afk_timeout",
- "allow_accessibility_detection",
- "animate_emoji",
- "animate_stickers",
- "contact_sync_enabled",
- "convert_emoticons",
- "custom_status",
- "default_guilds_restricted",
- "detect_platform_accounts",
- "developer_mode",
- "disable_games_tab",
- "enable_tts_command",
- "explicit_content_filter",
- "friend_source_flags",
- "gateway_connected",
- "gif_auto_play",
- "guild_folders",
- "guild_positions",
- "inline_attachment_media",
- "inline_embed_media",
- "locale",
- "message_display_compact",
- "native_phone_integration_enabled",
- "render_embeds",
- "render_reactions",
- "restricted_guilds",
- "show_current_game",
- "status",
- "stream_notifications_enabled",
- "theme",
- "timezone_offset"
- ]
- },
- "WidgetModifySchema": {
- "type": "object",
- "properties": {
- "enabled": {
- "type": "boolean"
- },
- "channel_id": {
- "type": "string"
- }
- },
- "required": ["channel_id", "enabled"]
- },
- "RegisterSchema": {
- "type": "object",
- "properties": {
- "username": {
- "minLength": 2,
- "maxLength": 32,
- "type": "string"
- },
- "password": {
- "minLength": 1,
- "maxLength": 72,
- "type": "string"
- },
- "consent": {
- "type": "boolean"
- },
- "email": {
- "format": "email",
- "type": "string"
- },
- "fingerprint": {
- "type": "string"
- },
- "invite": {
- "type": "string"
- },
- "date_of_birth": {
- "type": "string"
- },
- "gift_code_sku_id": {
- "type": "string"
- },
- "captcha_key": {
- "type": "string"
- }
- },
- "required": ["consent", "username"]
- },
- "LoginSchema": {
- "type": "object",
- "properties": {
- "login": {
- "type": "string"
- },
- "password": {
- "type": "string"
- },
- "undelete": {
- "type": "boolean"
- },
- "captcha_key": {
- "type": "string"
- },
- "login_source": {
- "type": "string"
- },
- "gift_code_sku_id": {
- "type": "string"
- }
- },
- "required": ["login", "password"]
- },
- "MessageAcknowledgeSchema": {
- "type": "object",
- "properties": {
- "manual": {
- "type": "boolean"
- },
- "mention_count": {
- "type": "integer"
- }
- }
- },
- "BulkDeleteSchema": {
- "type": "object",
- "properties": {
- "messages": {
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- },
- "required": ["messages"]
- },
- "ChannelPermissionOverwriteSchema": {
- "type": "object",
- "properties": {
- "allow": {
- "type": "number"
- },
- "deny": {
- "type": "number"
- },
- "id": {
- "type": "string"
- },
- "type": {
- "$ref": "#/components/schemas/ChannelPermissionOverwriteType"
- }
- },
- "required": ["allow", "deny", "id", "type"]
- },
- "WebhookCreateSchema": {
- "type": "object",
- "properties": {
- "name": {
- "maxLength": 80,
- "type": "string"
- },
- "avatar": {
- "type": "string"
- }
- },
- "required": ["avatar", "name"]
- },
- "ChannelReorderSchema": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "position": {
- "type": "integer"
- },
- "lock_permissions": {
- "type": "boolean"
- },
- "parent_id": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": ["id"]
- }
- },
- "RolePositionUpdateSchema": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "position": {
- "type": "integer"
- }
- },
- "additionalProperties": false,
- "required": ["id", "position"]
- }
- },
- "VanityUrlSchema": {
- "type": "object",
- "properties": {
- "code": {
- "minLength": 1,
- "maxLength": 20,
- "type": "string"
- }
- }
- },
- "VoiceStateUpdateSchema": {
- "type": "object",
- "properties": {
- "channel_id": {
- "type": "string"
- },
- "guild_id": {
- "type": "string"
- },
- "suppress": {
- "type": "boolean"
- },
- "request_to_speak_timestamp": {
- "type": "string",
- "format": "date-time"
- },
- "self_mute": {
- "type": "boolean"
- },
- "self_deaf": {
- "type": "boolean"
- },
- "self_video": {
- "type": "boolean"
- }
- },
- "required": ["channel_id"]
- },
- "UserProfileResponse": {
- "type": "object",
- "properties": {
- "user": {
- "$ref": "#/components/schemas/UserPublic"
- },
- "connected_accounts": {
- "$ref": "#/components/schemas/PublicConnectedAccount"
- },
- "premium_guild_since": {
- "type": "string",
- "format": "date-time"
- },
- "premium_since": {
- "type": "string",
- "format": "date-time"
- }
- },
- "required": ["connected_accounts", "user"]
- },
- "RelationshipPutSchema": {
- "type": "object",
- "properties": {
- "type": {
- "enum": [1, 2, 3, 4],
- "type": "number"
- }
- }
- },
- "RelationshipPostSchema": {
- "type": "object",
- "properties": {
- "discriminator": {
- "type": "string"
- },
- "username": {
- "type": "string"
- }
- },
- "required": ["discriminator", "username"]
- },
- "PublicConnectedAccount": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "type": {
- "type": "string"
- },
- "verifie": {
- "type": "boolean"
- }
- },
- "required": ["name", "type", "verifie"]
- }
- },
- "requestBodies": {},
- "securitySchemes": {
- "Token": {
- "type": "apiKey",
- "name": "Authorization",
- "in": "header"
- }
- },
- "links": {},
- "callbacks": {}
- }
-}
+ "openapi": "3.0.0",
+ "servers": [
+ {
+ "url": "https://staging.fosscord.com/api/",
+ "description": "Official Fosscord Instance"
+ }
+ ],
+ "info": {
+ "description": "Fosscord is a free open source selfhostable discord compatible chat, voice and video platform",
+ "version": "1.0.0",
+ "title": "Fosscord HTTP API Routes",
+ "termsOfService": "",
+ "contact": {
+ "name": "Fosscord"
+ },
+ "license": {
+ "name": "AGPLV3",
+ "url": "https://www.gnu.org/licenses/agpl-3.0.en.html"
+ }
+ },
+ "components": {
+ "securitySchemes": {
+ "bearer": {
+ "type": "http",
+ "scheme": "bearer",
+ "description": "Bearer/Bot prefixes are not required."
+ }
+ },
+ "schemas": {
+ "SelectProtocolSchema": {
+ "type": "object",
+ "properties": {
+ "protocol": {
+ "enum": [
+ "udp",
+ "webrtc"
+ ],
+ "type": "string"
+ },
+ "data": {
+ "anyOf": [
+ {
+ "type": "object",
+ "properties": {
+ "address": {
+ "type": "string"
+ },
+ "port": {
+ "type": "integer"
+ },
+ "mode": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "address",
+ "mode",
+ "port"
+ ]
+ },
+ {
+ "type": "string"
+ }
+ ]
+ },
+ "sdp": {
+ "type": "string"
+ },
+ "codecs": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "enum": [
+ "H264",
+ "VP8",
+ "VP9",
+ "opus"
+ ],
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "audio",
+ "video"
+ ],
+ "type": "string"
+ },
+ "priority": {
+ "type": "integer"
+ },
+ "payload_type": {
+ "type": "integer"
+ },
+ "rtx_payload_type": {
+ "type": [
+ "null",
+ "integer"
+ ]
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "name",
+ "payload_type",
+ "priority",
+ "type"
+ ]
+ }
+ },
+ "rtc_connection_id": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "protocol"
+ ]
+ },
+ "LoginSchema": {
+ "type": "object",
+ "properties": {
+ "login": {
+ "type": "string"
+ },
+ "password": {
+ "type": "string"
+ },
+ "undelete": {
+ "type": "boolean"
+ },
+ "captcha_key": {
+ "type": "string"
+ },
+ "login_source": {
+ "type": "string"
+ },
+ "gift_code_sku_id": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "login",
+ "password"
+ ]
+ },
+ "RegisterSchema": {
+ "type": "object",
+ "properties": {
+ "username": {
+ "minLength": 2,
+ "maxLength": 32,
+ "type": "string"
+ },
+ "password": {
+ "minLength": 1,
+ "maxLength": 72,
+ "type": "string"
+ },
+ "consent": {
+ "type": "boolean"
+ },
+ "email": {
+ "format": "email",
+ "type": "string"
+ },
+ "fingerprint": {
+ "type": "string"
+ },
+ "invite": {
+ "type": "string"
+ },
+ "date_of_birth": {
+ "type": "string"
+ },
+ "gift_code_sku_id": {
+ "type": "string"
+ },
+ "captcha_key": {
+ "type": "string"
+ },
+ "promotional_email_opt_in": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "consent",
+ "username"
+ ]
+ },
+ "TotpSchema": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string"
+ },
+ "ticket": {
+ "type": "string"
+ },
+ "gift_code_sku_id": {
+ "type": "string",
+ "nullable": true
+ },
+ "login_source": {
+ "type": "string",
+ "nullable": true
+ }
+ },
+ "required": [
+ "code",
+ "ticket"
+ ]
+ },
+ "BackupCodesChallengeSchema": {
+ "type": "object",
+ "properties": {
+ "password": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "password"
+ ]
+ },
+ "ChannelPermissionOverwriteType": {
+ "enum": [
+ 0,
+ 1,
+ 2
+ ],
+ "type": "number"
+ },
+ "Embed": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "article",
+ "gifv",
+ "image",
+ "link",
+ "rich",
+ "video"
+ ],
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "timestamp": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "color": {
+ "type": "integer"
+ },
+ "footer": {
+ "type": "object",
+ "properties": {
+ "text": {
+ "type": "string"
+ },
+ "icon_url": {
+ "type": "string"
+ },
+ "proxy_icon_url": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "text"
+ ]
+ },
+ "image": {
+ "$ref": "#/components/schemas/EmbedImage"
+ },
+ "thumbnail": {
+ "$ref": "#/components/schemas/EmbedImage"
+ },
+ "video": {
+ "$ref": "#/components/schemas/EmbedImage"
+ },
+ "provider": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ },
+ "author": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "icon_url": {
+ "type": "string"
+ },
+ "proxy_icon_url": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ },
+ "fields": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "value": {
+ "type": "string"
+ },
+ "inline": {
+ "type": "boolean"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "name",
+ "value"
+ ]
+ }
+ }
+ }
+ },
+ "EmbedImage": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "proxy_url": {
+ "type": "string"
+ },
+ "height": {
+ "type": "integer"
+ },
+ "width": {
+ "type": "integer"
+ }
+ }
+ },
+ "ChannelModifySchema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ 0,
+ 1,
+ 10,
+ 11,
+ 12,
+ 13,
+ 14,
+ 15,
+ 2,
+ 255,
+ 3,
+ 33,
+ 34,
+ 35,
+ 4,
+ 5,
+ 6,
+ 64,
+ 7,
+ 8,
+ 9
+ ],
+ "type": "number"
+ },
+ "topic": {
+ "type": "string"
+ },
+ "icon": {
+ "type": "string",
+ "nullable": true
+ },
+ "bitrate": {
+ "type": "integer"
+ },
+ "user_limit": {
+ "type": "integer"
+ },
+ "rate_limit_per_user": {
+ "type": "integer"
+ },
+ "position": {
+ "type": "integer"
+ },
+ "permission_overwrites": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "type": {
+ "$ref": "#/components/schemas/ChannelPermissionOverwriteType"
+ },
+ "allow": {
+ "type": "string"
+ },
+ "deny": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "allow",
+ "deny",
+ "id",
+ "type"
+ ]
+ }
+ },
+ "parent_id": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "nsfw": {
+ "type": "boolean"
+ },
+ "rtc_region": {
+ "type": "string"
+ },
+ "default_auto_archive_duration": {
+ "type": "integer"
+ },
+ "default_reaction_emoji": {
+ "type": "string",
+ "nullable": true
+ },
+ "flags": {
+ "type": "integer"
+ },
+ "default_thread_rate_limit_per_user": {
+ "type": "integer"
+ },
+ "video_quality_mode": {
+ "type": "integer"
+ }
+ }
+ },
+ "ActivitySchema": {
+ "type": "object",
+ "properties": {
+ "afk": {
+ "type": "boolean"
+ },
+ "status": {
+ "$ref": "#/components/schemas/Status"
+ },
+ "activities": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Activity"
+ }
+ },
+ "since": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "status"
+ ]
+ },
+ "Status": {
+ "enum": [
+ "dnd",
+ "idle",
+ "invisible",
+ "offline",
+ "online"
+ ],
+ "type": "string"
+ },
+ "Activity": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "type": {
+ "$ref": "#/components/schemas/ActivityType"
+ },
+ "url": {
+ "type": "string"
+ },
+ "created_at": {
+ "type": "integer"
+ },
+ "timestamps": {
+ "type": "object",
+ "properties": {
+ "start": {
+ "type": "integer"
+ },
+ "end": {
+ "type": "integer"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "end",
+ "start"
+ ]
+ },
+ "application_id": {
+ "type": "string"
+ },
+ "details": {
+ "type": "string"
+ },
+ "state": {
+ "type": "string"
+ },
+ "emoji": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "animated": {
+ "type": "boolean"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "animated",
+ "name"
+ ]
+ },
+ "party": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "size": {
+ "type": "array",
+ "items": [
+ {
+ "type": "integer"
+ }
+ ],
+ "minItems": 1,
+ "maxItems": 1
+ }
+ },
+ "additionalProperties": false
+ },
+ "assets": {
+ "type": "object",
+ "properties": {
+ "large_image": {
+ "type": "string"
+ },
+ "large_text": {
+ "type": "string"
+ },
+ "small_image": {
+ "type": "string"
+ },
+ "small_text": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ },
+ "secrets": {
+ "type": "object",
+ "properties": {
+ "join": {
+ "type": "string"
+ },
+ "spectate": {
+ "type": "string"
+ },
+ "match": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ },
+ "instance": {
+ "type": "boolean"
+ },
+ "flags": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "sync_id": {
+ "type": "string"
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "context_uri": {
+ "type": "string"
+ },
+ "album_id": {
+ "type": "string"
+ },
+ "artist_ids": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "album_id",
+ "artist_ids"
+ ]
+ },
+ "session_id": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "flags",
+ "name",
+ "session_id",
+ "type"
+ ]
+ },
+ "ActivityType": {
+ "enum": [
+ 0,
+ 1,
+ 2,
+ 4,
+ 5
+ ],
+ "type": "number"
+ },
+ "Record<string,[number,number][]>": {
+ "type": "object"
+ },
+ "CustomStatus": {
+ "type": "object",
+ "properties": {
+ "emoji_id": {
+ "type": "string"
+ },
+ "emoji_name": {
+ "type": "string"
+ },
+ "expires_at": {
+ "type": "integer"
+ },
+ "text": {
+ "type": "string"
+ }
+ }
+ },
+ "FriendSourceFlags": {
+ "type": "object",
+ "properties": {
+ "all": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "all"
+ ]
+ },
+ "GuildFolder": {
+ "type": "object",
+ "properties": {
+ "color": {
+ "type": "integer"
+ },
+ "guild_ids": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "id": {
+ "type": "integer"
+ },
+ "name": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "color",
+ "guild_ids",
+ "id",
+ "name"
+ ]
+ },
+ "Partial<ChannelOverride>": {
+ "type": "object",
+ "properties": {
+ "message_notifications": {
+ "type": "integer"
+ },
+ "mute_config": {
+ "$ref": "#/components/schemas/MuteConfig"
+ },
+ "muted": {
+ "type": "boolean"
+ },
+ "channel_id": {
+ "type": "string",
+ "nullable": true
+ }
+ }
+ },
+ "MuteConfig": {
+ "type": "object",
+ "properties": {
+ "end_time": {
+ "type": "integer"
+ },
+ "selected_time_window": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "end_time",
+ "selected_time_window"
+ ]
+ },
+ "InviteCreateSchema": {
+ "type": "object",
+ "properties": {
+ "target_user_id": {
+ "type": "string"
+ },
+ "target_type": {
+ "type": "string"
+ },
+ "validate": {
+ "type": "string"
+ },
+ "max_age": {
+ "type": "integer"
+ },
+ "max_uses": {
+ "type": "integer"
+ },
+ "temporary": {
+ "type": "boolean"
+ },
+ "unique": {
+ "type": "boolean"
+ },
+ "target_user": {
+ "type": "string"
+ },
+ "target_user_type": {
+ "type": "integer"
+ }
+ }
+ },
+ "PurgeSchema": {
+ "type": "object",
+ "properties": {
+ "before": {
+ "type": "string"
+ },
+ "after": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "after",
+ "before"
+ ]
+ },
+ "WebhookCreateSchema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "maxLength": 80,
+ "type": "string"
+ },
+ "avatar": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "MessageCreateSchema": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "integer"
+ },
+ "content": {
+ "type": "string"
+ },
+ "nonce": {
+ "type": "string"
+ },
+ "channel_id": {
+ "type": "string"
+ },
+ "tts": {
+ "type": "boolean"
+ },
+ "flags": {
+ "type": "string"
+ },
+ "embeds": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Embed"
+ }
+ },
+ "embed": {
+ "$ref": "#/components/schemas/Embed"
+ },
+ "allowed_mentions": {
+ "type": "object",
+ "properties": {
+ "parse": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "roles": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "users": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "replied_user": {
+ "type": "boolean"
+ }
+ },
+ "additionalProperties": false
+ },
+ "message_reference": {
+ "type": "object",
+ "properties": {
+ "message_id": {
+ "type": "string"
+ },
+ "channel_id": {
+ "type": "string"
+ },
+ "guild_id": {
+ "type": "string"
+ },
+ "fail_if_not_exists": {
+ "type": "boolean"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "channel_id",
+ "message_id"
+ ]
+ },
+ "payload_json": {
+ "type": "string"
+ },
+ "file": {},
+ "attachments": {
+ "description": "TODO: we should create an interface for attachments\nTODO: OpenWAAO<-->attachment-style metadata conversion",
+ "type": "array",
+ "items": {}
+ },
+ "sticker_ids": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "MessageAcknowledgeSchema": {
+ "type": "object",
+ "properties": {
+ "manual": {
+ "type": "boolean"
+ },
+ "mention_count": {
+ "type": "integer"
+ }
+ }
+ },
+ "GuildCreateSchema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "region": {
+ "type": "string"
+ },
+ "icon": {
+ "type": "string",
+ "nullable": true
+ },
+ "channels": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ChannelModifySchema"
+ }
+ },
+ "guild_template_code": {
+ "type": "string"
+ },
+ "system_channel_id": {
+ "type": "string"
+ },
+ "rules_channel_id": {
+ "type": "string"
+ }
+ }
+ },
+ "BanCreateSchema": {
+ "type": "object",
+ "properties": {
+ "delete_message_days": {
+ "type": "string"
+ },
+ "reason": {
+ "type": "string"
+ }
+ }
+ },
+ "BanModeratorSchema": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "user_id": {
+ "type": "string"
+ },
+ "guild_id": {
+ "type": "string"
+ },
+ "executor_id": {
+ "type": "string"
+ },
+ "reason": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "executor_id",
+ "guild_id",
+ "id",
+ "user_id"
+ ]
+ },
+ "BanRegistrySchema": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "user_id": {
+ "type": "string"
+ },
+ "guild_id": {
+ "type": "string"
+ },
+ "executor_id": {
+ "type": "string"
+ },
+ "ip": {
+ "type": "string"
+ },
+ "reason": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "executor_id",
+ "guild_id",
+ "id",
+ "user_id"
+ ]
+ },
+ "EmojiCreateSchema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "image": {
+ "type": "string"
+ },
+ "require_colons": {
+ "type": "boolean",
+ "nullable": true
+ },
+ "roles": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "image"
+ ]
+ },
+ "EmojiModifySchema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "roles": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "ModifyGuildStickerSchema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "minLength": 2,
+ "maxLength": 30,
+ "type": "string"
+ },
+ "description": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "tags": {
+ "maxLength": 200,
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "tags"
+ ]
+ },
+ "TemplateCreateSchema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "TemplateModifySchema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "VanityUrlSchema": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "minLength": 1,
+ "maxLength": 20,
+ "type": "string"
+ }
+ }
+ },
+ "GuildUpdateWelcomeScreenSchema": {
+ "type": "object",
+ "properties": {
+ "welcome_channels": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "channel_id": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "emoji_id": {
+ "type": "string"
+ },
+ "emoji_name": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "channel_id",
+ "description"
+ ]
+ }
+ },
+ "enabled": {
+ "type": "boolean"
+ },
+ "description": {
+ "type": "string"
+ }
+ }
+ },
+ "WidgetModifySchema": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "channel_id": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "channel_id",
+ "enabled"
+ ]
+ },
+ "IdentifySchema": {
+ "type": "object",
+ "properties": {
+ "token": {
+ "type": "string"
+ },
+ "properties": {
+ "type": "object",
+ "properties": {
+ "os": {
+ "type": "string"
+ },
+ "os_atch": {
+ "type": "string"
+ },
+ "browser": {
+ "type": "string"
+ },
+ "device": {
+ "type": "string"
+ },
+ "$os": {
+ "type": "string"
+ },
+ "$browser": {
+ "type": "string"
+ },
+ "$device": {
+ "type": "string"
+ },
+ "browser_user_agent": {
+ "type": "string"
+ },
+ "browser_version": {
+ "type": "string"
+ },
+ "os_version": {
+ "type": "string"
+ },
+ "referrer": {
+ "type": "string"
+ },
+ "referring_domain": {
+ "type": "string"
+ },
+ "referrer_current": {
+ "type": "string"
+ },
+ "referring_domain_current": {
+ "type": "string"
+ },
+ "release_channel": {
+ "enum": [
+ "canary",
+ "dev",
+ "ptb",
+ "stable"
+ ],
+ "type": "string"
+ },
+ "client_build_number": {
+ "type": "integer"
+ },
+ "client_event_source": {},
+ "client_version": {
+ "type": "string"
+ },
+ "system_locale": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ },
+ "intents": {
+ "type": "number"
+ },
+ "presence": {
+ "$ref": "#/components/schemas/ActivitySchema"
+ },
+ "compress": {
+ "type": "boolean"
+ },
+ "large_threshold": {
+ "type": "integer"
+ },
+ "largeThreshold": {
+ "type": "integer"
+ },
+ "shard": {
+ "type": "array",
+ "items": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "number"
+ }
+ ],
+ "minItems": 2,
+ "maxItems": 2
+ },
+ "guild_subscriptions": {
+ "type": "boolean"
+ },
+ "capabilities": {
+ "type": "integer"
+ },
+ "client_state": {
+ "type": "object",
+ "properties": {
+ "guild_hashes": {},
+ "highest_last_message_id": {
+ "type": [
+ "string",
+ "integer"
+ ]
+ },
+ "read_state_version": {
+ "type": "integer"
+ },
+ "user_guild_settings_version": {
+ "type": "integer"
+ },
+ "user_settings_version": {
+ "type": "integer"
+ },
+ "useruser_guild_settings_version": {
+ "type": "integer"
+ },
+ "private_channels_version": {
+ "type": "integer"
+ },
+ "guild_versions": {},
+ "api_code_version": {
+ "type": "integer"
+ }
+ },
+ "additionalProperties": false
+ },
+ "clientState": {
+ "type": "object",
+ "properties": {
+ "guildHashes": {},
+ "highestLastMessageId": {
+ "type": [
+ "string",
+ "integer"
+ ]
+ },
+ "readStateVersion": {
+ "type": "integer"
+ },
+ "userGuildSettingsVersion": {
+ "type": "integer"
+ },
+ "useruserGuildSettingsVersion": {
+ "type": "integer"
+ },
+ "guildVersions": {},
+ "apiCodeVersion": {
+ "type": "integer"
+ }
+ },
+ "additionalProperties": false
+ },
+ "v": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "properties",
+ "token"
+ ]
+ },
+ "LazyRequestSchema": {
+ "type": "object",
+ "properties": {
+ "guild_id": {
+ "type": "string"
+ },
+ "channels": {
+ "$ref": "#/components/schemas/Record<string,[number,number][]>"
+ },
+ "activities": {
+ "type": "boolean"
+ },
+ "threads": {
+ "type": "boolean"
+ },
+ "typing": {
+ "enum": [
+ true
+ ],
+ "type": "boolean"
+ },
+ "members": {
+ "type": "array",
+ "items": {}
+ },
+ "thread_member_lists": {
+ "type": "array",
+ "items": {}
+ }
+ },
+ "required": [
+ "guild_id"
+ ]
+ },
+ "MemberChangeProfileSchema": {
+ "type": "object",
+ "properties": {
+ "banner": {
+ "type": "string",
+ "nullable": true
+ },
+ "nick": {
+ "type": "string"
+ },
+ "bio": {
+ "type": "string"
+ },
+ "pronouns": {
+ "type": "string"
+ },
+ "theme_colors": {
+ "type": "array",
+ "items": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "integer"
+ }
+ ],
+ "minItems": 2,
+ "maxItems": 2
+ }
+ }
+ },
+ "MemberChangeSchema": {
+ "type": "object",
+ "properties": {
+ "roles": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "nick": {
+ "type": "string"
+ },
+ "avatar": {
+ "type": "string",
+ "nullable": true
+ },
+ "bio": {
+ "type": "string"
+ }
+ }
+ },
+ "RoleModifySchema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "permissions": {
+ "type": "string"
+ },
+ "color": {
+ "type": "integer"
+ },
+ "hoist": {
+ "type": "boolean"
+ },
+ "mentionable": {
+ "type": "boolean"
+ },
+ "position": {
+ "type": "integer"
+ },
+ "icon": {
+ "type": "string"
+ },
+ "unicode_emoji": {
+ "type": "string"
+ }
+ }
+ },
+ "GuildTemplateCreateSchema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "avatar": {
+ "type": "string",
+ "nullable": true
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "DmChannelCreateSchema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "recipients": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "recipients"
+ ]
+ },
+ "UserModifySchema": {
+ "type": "object",
+ "properties": {
+ "username": {
+ "minLength": 1,
+ "maxLength": 100,
+ "type": "string"
+ },
+ "avatar": {
+ "type": "string",
+ "nullable": true
+ },
+ "bio": {
+ "maxLength": 1024,
+ "type": "string"
+ },
+ "accent_color": {
+ "type": "integer"
+ },
+ "banner": {
+ "type": "string",
+ "nullable": true
+ },
+ "password": {
+ "type": "string"
+ },
+ "new_password": {
+ "type": "string"
+ },
+ "code": {
+ "type": "string"
+ },
+ "email": {
+ "type": "string"
+ },
+ "discriminator": {
+ "type": "string"
+ }
+ }
+ },
+ "RelationshipPostSchema": {
+ "type": "object",
+ "properties": {
+ "discriminator": {
+ "type": "string"
+ },
+ "username": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "discriminator",
+ "username"
+ ]
+ },
+ "RelationshipPutSchema": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "enum": [
+ 1,
+ 2,
+ 3,
+ 4
+ ],
+ "type": "number"
+ }
+ }
+ },
+ "CodesVerificationSchema": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "nonce": {
+ "type": "string"
+ },
+ "regenerate": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "key",
+ "nonce"
+ ]
+ },
+ "MfaCodesSchema": {
+ "type": "object",
+ "properties": {
+ "password": {
+ "type": "string"
+ },
+ "regenerate": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "password"
+ ]
+ },
+ "TotpDisableSchema": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "code"
+ ]
+ },
+ "TotpEnableSchema": {
+ "type": "object",
+ "properties": {
+ "password": {
+ "type": "string"
+ },
+ "code": {
+ "type": "string"
+ },
+ "secret": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "password"
+ ]
+ },
+ "VoiceIdentifySchema": {
+ "type": "object",
+ "properties": {
+ "server_id": {
+ "type": "string"
+ },
+ "user_id": {
+ "type": "string"
+ },
+ "session_id": {
+ "type": "string"
+ },
+ "token": {
+ "type": "string"
+ },
+ "video": {
+ "type": "boolean"
+ },
+ "streams": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string"
+ },
+ "rid": {
+ "type": "string"
+ },
+ "quality": {
+ "type": "integer"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "quality",
+ "rid",
+ "type"
+ ]
+ }
+ }
+ },
+ "required": [
+ "server_id",
+ "session_id",
+ "token",
+ "user_id"
+ ]
+ },
+ "UserProfileModifySchema": {
+ "type": "object",
+ "properties": {
+ "bio": {
+ "type": "string"
+ },
+ "accent_color": {
+ "type": "integer",
+ "nullable": true
+ },
+ "banner": {
+ "type": "string",
+ "nullable": true
+ },
+ "pronouns": {
+ "type": "string"
+ },
+ "theme_colors": {
+ "type": "array",
+ "items": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "integer"
+ }
+ ],
+ "minItems": 2,
+ "maxItems": 2
+ }
+ }
+ },
+ "UserSettingsSchema": {
+ "type": "object",
+ "properties": {
+ "index": {
+ "type": "string"
+ },
+ "afk_timeout": {
+ "type": "integer"
+ },
+ "allow_accessibility_detection": {
+ "type": "boolean"
+ },
+ "animate_emoji": {
+ "type": "boolean"
+ },
+ "animate_stickers": {
+ "type": "integer"
+ },
+ "contact_sync_enabled": {
+ "type": "boolean"
+ },
+ "convert_emoticons": {
+ "type": "boolean"
+ },
+ "custom_status": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/CustomStatus"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "default_guilds_restricted": {
+ "type": "boolean"
+ },
+ "detect_platform_accounts": {
+ "type": "boolean"
+ },
+ "developer_mode": {
+ "type": "boolean"
+ },
+ "disable_games_tab": {
+ "type": "boolean"
+ },
+ "enable_tts_command": {
+ "type": "boolean"
+ },
+ "explicit_content_filter": {
+ "type": "integer"
+ },
+ "friend_source_flags": {
+ "$ref": "#/components/schemas/FriendSourceFlags"
+ },
+ "gateway_connected": {
+ "type": "boolean"
+ },
+ "gif_auto_play": {
+ "type": "boolean"
+ },
+ "guild_folders": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/GuildFolder"
+ }
+ },
+ "guild_positions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "inline_attachment_media": {
+ "type": "boolean"
+ },
+ "inline_embed_media": {
+ "type": "boolean"
+ },
+ "locale": {
+ "type": "string"
+ },
+ "message_display_compact": {
+ "type": "boolean"
+ },
+ "native_phone_integration_enabled": {
+ "type": "boolean"
+ },
+ "render_embeds": {
+ "type": "boolean"
+ },
+ "render_reactions": {
+ "type": "boolean"
+ },
+ "restricted_guilds": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "show_current_game": {
+ "type": "boolean"
+ },
+ "status": {
+ "enum": [
+ "dnd",
+ "idle",
+ "invisible",
+ "offline",
+ "online"
+ ],
+ "type": "string"
+ },
+ "stream_notifications_enabled": {
+ "type": "boolean"
+ },
+ "theme": {
+ "enum": [
+ "dark",
+ "light"
+ ],
+ "type": "string"
+ },
+ "timezone_offset": {
+ "type": "integer"
+ }
+ }
+ },
+ "VoiceStateUpdateSchema": {
+ "type": "object",
+ "properties": {
+ "guild_id": {
+ "type": "string"
+ },
+ "channel_id": {
+ "type": "string"
+ },
+ "self_mute": {
+ "type": "boolean"
+ },
+ "self_deaf": {
+ "type": "boolean"
+ },
+ "self_video": {
+ "type": "boolean"
+ },
+ "preferred_region": {
+ "type": "string"
+ },
+ "request_to_speak_timestamp": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "suppress": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "self_deaf",
+ "self_mute"
+ ]
+ },
+ "VoiceVideoSchema": {
+ "type": "object",
+ "properties": {
+ "audio_ssrc": {
+ "type": "integer"
+ },
+ "video_ssrc": {
+ "type": "integer"
+ },
+ "rtx_ssrc": {
+ "type": "integer"
+ },
+ "user_id": {
+ "type": "string"
+ },
+ "streams": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "enum": [
+ "audio",
+ "video"
+ ],
+ "type": "string"
+ },
+ "rid": {
+ "type": "string"
+ },
+ "ssrc": {
+ "type": "integer"
+ },
+ "active": {
+ "type": "boolean"
+ },
+ "quality": {
+ "type": "integer"
+ },
+ "rtx_ssrc": {
+ "type": "integer"
+ },
+ "max_bitrate": {
+ "type": "integer"
+ },
+ "max_framerate": {
+ "type": "integer"
+ },
+ "max_resolution": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string"
+ },
+ "width": {
+ "type": "integer"
+ },
+ "height": {
+ "type": "integer"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "height",
+ "type",
+ "width"
+ ]
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "active",
+ "max_bitrate",
+ "max_framerate",
+ "max_resolution",
+ "quality",
+ "rid",
+ "rtx_ssrc",
+ "ssrc",
+ "type"
+ ]
+ }
+ }
+ },
+ "required": [
+ "audio_ssrc",
+ "video_ssrc"
+ ]
+ },
+ "GuildUpdateSchema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "banner": {
+ "type": "string",
+ "nullable": true
+ },
+ "splash": {
+ "type": "string",
+ "nullable": true
+ },
+ "description": {
+ "type": "string"
+ },
+ "features": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "verification_level": {
+ "type": "integer"
+ },
+ "default_message_notifications": {
+ "type": "integer"
+ },
+ "system_channel_flags": {
+ "type": "integer"
+ },
+ "explicit_content_filter": {
+ "type": "integer"
+ },
+ "public_updates_channel_id": {
+ "type": "string"
+ },
+ "afk_timeout": {
+ "type": "integer"
+ },
+ "afk_channel_id": {
+ "type": "string"
+ },
+ "preferred_locale": {
+ "type": "string"
+ },
+ "premium_progress_bar_enabled": {
+ "type": "boolean"
+ },
+ "discovery_splash": {
+ "type": "string"
+ },
+ "region": {
+ "type": "string"
+ },
+ "icon": {
+ "type": "string",
+ "nullable": true
+ },
+ "guild_template_code": {
+ "type": "string"
+ },
+ "system_channel_id": {
+ "type": "string"
+ },
+ "rules_channel_id": {
+ "type": "string"
+ }
+ }
+ },
+ "ChannelPermissionOverwriteSchema": {
+ "type": "object",
+ "properties": {
+ "allow": {
+ "type": "string"
+ },
+ "deny": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "type": {
+ "$ref": "#/components/schemas/ChannelPermissionOverwriteType"
+ }
+ },
+ "required": [
+ "allow",
+ "deny",
+ "id",
+ "type"
+ ]
+ },
+ "UserGuildSettingsSchema": {
+ "type": "object",
+ "properties": {
+ "channel_overrides": {
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/components/schemas/Partial<ChannelOverride>"
+ }
+ },
+ "version": {
+ "type": "integer"
+ },
+ "guild_id": {
+ "type": "string",
+ "nullable": true
+ },
+ "flags": {
+ "type": "integer"
+ },
+ "message_notifications": {
+ "type": "integer"
+ },
+ "mobile_push": {
+ "type": "boolean"
+ },
+ "mute_config": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/MuteConfig"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "muted": {
+ "type": "boolean"
+ },
+ "suppress_everyone": {
+ "type": "boolean"
+ },
+ "suppress_roles": {
+ "type": "boolean"
+ },
+ "mute_scheduled_events": {
+ "type": "boolean"
+ },
+ "hide_muted_channels": {
+ "type": "boolean"
+ },
+ "notify_highlights": {
+ "enum": [
+ 0
+ ],
+ "type": "number"
+ }
+ }
+ },
+ "RolePositionUpdateSchema": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "position": {
+ "type": "integer"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "id",
+ "position"
+ ]
+ }
+ },
+ "ChannelReorderSchema": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "position": {
+ "type": "integer"
+ },
+ "lock_permissions": {
+ "type": "boolean"
+ },
+ "parent_id": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "id"
+ ]
+ }
+ },
+ "BotModifySchema": {
+ "type": "object",
+ "properties": {
+ "avatar": {
+ "type": "string"
+ },
+ "username": {
+ "type": "string"
+ }
+ }
+ },
+ "ApplicationModifySchema": {
+ "type": "object",
+ "properties": {
+ "description": {
+ "type": "string"
+ },
+ "icon": {
+ "type": "string"
+ },
+ "interactions_endpoint_url": {
+ "type": "string"
+ },
+ "max_participants": {
+ "type": "integer",
+ "nullable": true
+ },
+ "name": {
+ "type": "string"
+ },
+ "privacy_policy_url": {
+ "type": "string"
+ },
+ "role_connections_verification_url": {
+ "type": "string"
+ },
+ "tags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "terms_of_service_url": {
+ "type": "string"
+ },
+ "bot_public": {
+ "type": "boolean"
+ },
+ "bot_require_code_grant": {
+ "type": "boolean"
+ },
+ "flags": {
+ "type": "integer"
+ }
+ }
+ },
+ "ApplicationCreateSchema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "team_id": {
+ "type": [
+ "string",
+ "integer"
+ ]
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "ApplicationAuthorizeSchema": {
+ "type": "object",
+ "properties": {
+ "authorize": {
+ "type": "boolean"
+ },
+ "guild_id": {
+ "type": "string"
+ },
+ "permissions": {
+ "type": "string"
+ },
+ "captcha_key": {
+ "type": "string"
+ },
+ "code": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "authorize",
+ "guild_id",
+ "permissions"
+ ]
+ },
+ "BulkDeleteSchema": {
+ "type": "object",
+ "properties": {
+ "messages": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "messages"
+ ]
+ },
+ "MemberNickChangeSchema": {
+ "type": "object",
+ "properties": {
+ "nick": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "nick"
+ ]
+ },
+ "PruneSchema": {
+ "type": "object",
+ "properties": {
+ "days": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "days"
+ ]
+ }
+ }
+ },
+ "tags": [
+ {
+ "name": "voice"
+ },
+ {
+ "name": "users"
+ },
+ {
+ "name": "updates"
+ },
+ {
+ "name": "track"
+ },
+ {
+ "name": "teams"
+ },
+ {
+ "name": "store"
+ },
+ {
+ "name": "stop"
+ },
+ {
+ "name": "stickers"
+ },
+ {
+ "name": "sticker-packs"
+ },
+ {
+ "name": "stage-instances"
+ },
+ {
+ "name": "science"
+ },
+ {
+ "name": "scheduled-maintenances"
+ },
+ {
+ "name": "policies"
+ },
+ {
+ "name": "ping"
+ },
+ {
+ "name": "partners"
+ },
+ {
+ "name": "outbound-promotions"
+ },
+ {
+ "name": "oauth2"
+ },
+ {
+ "name": "invites"
+ },
+ {
+ "name": "guilds"
+ },
+ {
+ "name": "guild-recommendations"
+ },
+ {
+ "name": "gifs"
+ },
+ {
+ "name": "gateway"
+ },
+ {
+ "name": "experiments"
+ },
+ {
+ "name": "download"
+ },
+ {
+ "name": "discovery"
+ },
+ {
+ "name": "discoverable-guilds"
+ },
+ {
+ "name": "channels"
+ },
+ {
+ "name": "auth"
+ },
+ {
+ "name": "applications"
+ },
+ {
+ "name": "-"
+ }
+ ],
+ "paths": {
+ "/voice/regions/": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "tags": [
+ "voice"
+ ]
+ }
+ },
+ "/users/@me/settings/": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "tags": [
+ "users"
+ ]
+ },
+ "patch": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UserSettingsSchema"
+ }
+ }
+ }
+ },
+ "tags": [
+ "users"
+ ]
+ }
+ },
+ "/users/@me/relationships/": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "tags": [
+ "users"
+ ]
+ },
+ "post": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/RelationshipPostSchema"
+ }
+ }
+ }
+ },
+ "tags": [
+ "users"
+ ]
+ }
+ },
+ "/users/@me/relationships/{id}": {
+ "put": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/RelationshipPutSchema"
+ }
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "id"
+ }
+ ],
+ "tags": [
+ "users"
+ ]
+ },
+ "delete": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "id"
+ }
+ ],
+ "tags": [
+ "users"
+ ]
+ }
+ },
+ "/users/@me/notes/{id}": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "id"
+ }
+ ],
+ "tags": [
+ "users"
+ ]
+ },
+ "put": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "id"
+ }
+ ],
+ "tags": [
+ "users"
+ ]
+ }
+ },
+ "/users/@me/mfa/totp/enable/": {
+ "post": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TotpEnableSchema"
+ }
+ }
+ }
+ },
+ "tags": [
+ "users"
+ ]
+ }
+ },
+ "/users/@me/mfa/totp/disable/": {
+ "post": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TotpDisableSchema"
+ }
+ }
+ }
+ },
+ "tags": [
+ "users"
+ ]
+ }
+ },
+ "/users/@me/mfa/codes/": {
+ "post": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/MfaCodesSchema"
+ }
+ }
+ }
+ },
+ "tags": [
+ "users"
+ ]
+ }
+ },
+ "/users/@me/mfa/codes-verification/": {
+ "post": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CodesVerificationSchema"
+ }
+ }
+ }
+ },
+ "tags": [
+ "users"
+ ]
+ }
+ },
+ "/users/@me/library/": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "tags": [
+ "users"
+ ]
+ }
+ },
+ "/users/@me/": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "tags": [
+ "users"
+ ]
+ },
+ "patch": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UserModifySchema"
+ }
+ }
+ }
+ },
+ "tags": [
+ "users"
+ ]
+ }
+ },
+ "/users/@me/guilds/": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "tags": [
+ "users"
+ ]
+ }
+ },
+ "/users/@me/guilds/{guild_id}": {
+ "delete": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "guild_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "guild_id"
+ }
+ ],
+ "tags": [
+ "users"
+ ]
+ }
+ },
+ "/users/@me/guilds/premium/subscription-slots/": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "tags": [
+ "users"
+ ]
+ }
+ },
+ "/users/@me/guilds/{guild_id}/settings/": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "guild_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "guild_id"
+ }
+ ],
+ "tags": [
+ "users"
+ ]
+ },
+ "patch": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UserGuildSettingsSchema"
+ }
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "guild_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "guild_id"
+ }
+ ],
+ "tags": [
+ "users"
+ ]
+ }
+ },
+ "/users/@me/entitlements/gifts": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "tags": [
+ "users"
+ ]
+ }
+ },
+ "/users/@me/email-settings/": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "tags": [
+ "users"
+ ]
+ }
+ },
+ "/users/@me/disable/": {
+ "post": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "tags": [
+ "users"
+ ]
+ }
+ },
+ "/users/@me/devices/": {
+ "post": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "tags": [
+ "users"
+ ]
+ }
+ },
+ "/users/@me/delete/": {
+ "post": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "tags": [
+ "users"
+ ]
+ }
+ },
+ "/users/@me/connections/": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "tags": [
+ "users"
+ ]
+ }
+ },
+ "/users/@me/channels/": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "tags": [
+ "users"
+ ]
+ },
+ "post": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DmChannelCreateSchema"
+ }
+ }
+ }
+ },
+ "tags": [
+ "users"
+ ]
+ }
+ },
+ "/users/@me/billing/subscriptions/": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "tags": [
+ "users"
+ ]
+ }
+ },
+ "/users/@me/billing/payment-sources/": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "tags": [
+ "users"
+ ]
+ }
+ },
+ "/users/@me/billing/country-code/": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "tags": [
+ "users"
+ ]
+ }
+ },
+ "/users/@me/applications/{app_id}/entitlements/": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "app_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "app_id"
+ }
+ ],
+ "tags": [
+ "users"
+ ]
+ }
+ },
+ "/users/@me/affinities/users/": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "tags": [
+ "users"
+ ]
+ }
+ },
+ "/users/@me/affinities/guilds/": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "tags": [
+ "users"
+ ]
+ }
+ },
+ "/users/@me/activities/statistics/applications/": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "tags": [
+ "users"
+ ]
+ }
+ },
+ "/users/{id}/relationships/": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UserRelationsResponse"
+ }
+ }
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "id"
+ }
+ ],
+ "tags": [
+ "users"
+ ]
+ }
+ },
+ "/users/{id}/profile/": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UserProfileResponse"
+ }
+ }
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "id"
+ }
+ ],
+ "tags": [
+ "users"
+ ]
+ },
+ "patch": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UserProfileModifySchema"
+ }
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "id"
+ }
+ ],
+ "tags": [
+ "users"
+ ]
+ }
+ },
+ "/users/{id}/": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "id"
+ }
+ ],
+ "tags": [
+ "users"
+ ]
+ }
+ },
+ "/updates/": {
+ "get": {
+ "tags": [
+ "updates"
+ ]
+ }
+ },
+ "/track/": {
+ "post": {
+ "tags": [
+ "track"
+ ]
+ }
+ },
+ "/teams/": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "tags": [
+ "teams"
+ ]
+ }
+ },
+ "/store/published-listings/skus/{id}": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "id"
+ }
+ ],
+ "tags": [
+ "store"
+ ]
+ }
+ },
+ "/store/published-listings/skus/{sku_id}/subscription-plans/": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "sku_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "sku_id"
+ }
+ ],
+ "tags": [
+ "store"
+ ]
+ }
+ },
+ "/store/published-listings/applications/{id}": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "id"
+ }
+ ],
+ "tags": [
+ "store"
+ ]
+ }
+ },
+ "/store/published-listings/applications/{id}/subscription-plans/": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "id"
+ }
+ ],
+ "tags": [
+ "store"
+ ]
+ }
+ },
+ "/stop/": {
+ "post": {
+ "x-right-required": "OPERATOR",
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "tags": [
+ "stop"
+ ]
+ }
+ },
+ "/stickers/{sticker_id}/": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "sticker_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "sticker_id"
+ }
+ ],
+ "tags": [
+ "stickers"
+ ]
+ }
+ },
+ "/sticker-packs/": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "tags": [
+ "sticker-packs"
+ ]
+ }
+ },
+ "/stage-instances/": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "tags": [
+ "stage-instances"
+ ]
+ }
+ },
+ "/science/": {
+ "post": {
+ "tags": [
+ "science"
+ ]
+ }
+ },
+ "/scheduled-maintenances/upcoming_json/scheduled-maintenances/upcoming.json": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "tags": [
+ "scheduled-maintenances"
+ ]
+ }
+ },
+ "/policies/stats/": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "tags": [
+ "policies"
+ ]
+ }
+ },
+ "/policies/instance/limits/": {
+ "get": {
+ "tags": [
+ "policies"
+ ]
+ }
+ },
+ "/policies/instance/": {
+ "get": {
+ "tags": [
+ "policies"
+ ]
+ }
+ },
+ "/policies/instance/domains/": {
+ "get": {
+ "tags": [
+ "policies"
+ ]
+ }
+ },
+ "/ping/": {
+ "get": {
+ "tags": [
+ "ping"
+ ]
+ }
+ },
+ "/partners/{guild_id}/requirements/": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "guild_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "guild_id"
+ }
+ ],
+ "tags": [
+ "partners"
+ ]
+ }
+ },
+ "/outbound-promotions/": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "tags": [
+ "outbound-promotions"
+ ]
+ }
+ },
+ "/oauth2/tokens/": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "tags": [
+ "oauth2"
+ ]
+ }
+ },
+ "/oauth2/authorize/": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "tags": [
+ "oauth2"
+ ]
+ },
+ "post": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ApplicationAuthorizeSchema"
+ }
+ }
+ }
+ },
+ "tags": [
+ "oauth2"
+ ]
+ }
+ },
+ "/invites/{code}": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "code",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "code"
+ }
+ ],
+ "tags": [
+ "invites"
+ ]
+ },
+ "post": {
+ "x-right-required": "USE_MASS_INVITES",
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "code",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "code"
+ }
+ ],
+ "tags": [
+ "invites"
+ ]
+ },
+ "delete": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "code",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "code"
+ }
+ ],
+ "tags": [
+ "invites"
+ ]
+ }
+ },
+ "/guilds/templates/{code}": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "code",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "code"
+ }
+ ],
+ "tags": [
+ "guilds"
+ ]
+ },
+ "post": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/GuildTemplateCreateSchema"
+ }
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "code",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "code"
+ }
+ ],
+ "tags": [
+ "guilds"
+ ]
+ }
+ },
+ "/guilds/": {
+ "post": {
+ "x-right-required": "CREATE_GUILDS",
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/GuildCreateSchema"
+ }
+ }
+ }
+ },
+ "tags": [
+ "guilds"
+ ]
+ }
+ },
+ "/guilds/{guild_id}/widget.png/": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "guild_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "guild_id"
+ }
+ ],
+ "tags": [
+ "guilds"
+ ]
+ }
+ },
+ "/guilds/{guild_id}/widget.json/": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "guild_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "guild_id"
+ }
+ ],
+ "tags": [
+ "guilds"
+ ]
+ }
+ },
+ "/guilds/{guild_id}/widget/": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "guild_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "guild_id"
+ }
+ ],
+ "tags": [
+ "guilds"
+ ]
+ },
+ "patch": {
+ "x-permission-required": "MANAGE_GUILD",
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/WidgetModifySchema"
+ }
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "guild_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "guild_id"
+ }
+ ],
+ "tags": [
+ "guilds"
+ ]
+ }
+ },
+ "/guilds/{guild_id}/welcome-screen/": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "guild_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "guild_id"
+ }
+ ],
+ "tags": [
+ "guilds"
+ ]
+ },
+ "patch": {
+ "x-permission-required": "MANAGE_GUILD",
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/GuildUpdateWelcomeScreenSchema"
+ }
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "guild_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "guild_id"
+ }
+ ],
+ "tags": [
+ "guilds"
+ ]
+ }
+ },
+ "/guilds/{guild_id}/webhooks/": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "guild_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "guild_id"
+ }
+ ],
+ "tags": [
+ "guilds"
+ ]
+ }
+ },
+ "/guilds/{guild_id}/voice-states/{user_id}/": {
+ "patch": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VoiceStateUpdateSchema"
+ }
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "guild_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "guild_id"
+ },
+ {
+ "name": "user_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "user_id"
+ }
+ ],
+ "tags": [
+ "guilds"
+ ]
+ }
+ },
+ "/guilds/{guild_id}/vanity-url/": {
+ "get": {
+ "x-permission-required": "MANAGE_GUILD",
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "guild_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "guild_id"
+ }
+ ],
+ "tags": [
+ "guilds"
+ ]
+ },
+ "patch": {
+ "x-permission-required": "MANAGE_GUILD",
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VanityUrlSchema"
+ }
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "guild_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "guild_id"
+ }
+ ],
+ "tags": [
+ "guilds"
+ ]
+ }
+ },
+ "/guilds/{guild_id}/templates/": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "guild_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "guild_id"
+ }
+ ],
+ "tags": [
+ "guilds"
+ ]
+ },
+ "post": {
+ "x-permission-required": "MANAGE_GUILD",
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TemplateCreateSchema"
+ }
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "guild_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "guild_id"
+ }
+ ],
+ "tags": [
+ "guilds"
+ ]
+ }
+ },
+ "/guilds/{guild_id}/templates/{code}": {
+ "delete": {
+ "x-permission-required": "MANAGE_GUILD",
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "guild_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "guild_id"
+ },
+ {
+ "name": "code",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "code"
+ }
+ ],
+ "tags": [
+ "guilds"
+ ]
+ },
+ "put": {
+ "x-permission-required": "MANAGE_GUILD",
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "guild_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "guild_id"
+ },
+ {
+ "name": "code",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "code"
+ }
+ ],
+ "tags": [
+ "guilds"
+ ]
+ },
+ "patch": {
+ "x-permission-required": "MANAGE_GUILD",
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TemplateModifySchema"
+ }
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "guild_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "guild_id"
+ },
+ {
+ "name": "code",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "code"
+ }
+ ],
+ "tags": [
+ "guilds"
+ ]
+ }
+ },
+ "/guilds/{guild_id}/stickers/": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "guild_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "guild_id"
+ }
+ ],
+ "tags": [
+ "guilds"
+ ]
+ },
+ "post": {
+ "x-permission-required": "MANAGE_EMOJIS_AND_STICKERS",
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ModifyGuildStickerSchema"
+ }
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "guild_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "guild_id"
+ }
+ ],
+ "tags": [
+ "guilds"
+ ]
+ }
+ },
+ "/guilds/{guild_id}/stickers/{sticker_id}": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "guild_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "guild_id"
+ },
+ {
+ "name": "sticker_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "sticker_id"
+ }
+ ],
+ "tags": [
+ "guilds"
+ ]
+ },
+ "patch": {
+ "x-permission-required": "MANAGE_EMOJIS_AND_STICKERS",
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ModifyGuildStickerSchema"
+ }
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "guild_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "guild_id"
+ },
+ {
+ "name": "sticker_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "sticker_id"
+ }
+ ],
+ "tags": [
+ "guilds"
+ ]
+ },
+ "delete": {
+ "x-permission-required": "MANAGE_EMOJIS_AND_STICKERS",
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "guild_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "guild_id"
+ },
+ {
+ "name": "sticker_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "sticker_id"
+ }
+ ],
+ "tags": [
+ "guilds"
+ ]
+ }
+ },
+ "/guilds/{guild_id}/roles/": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "guild_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "guild_id"
+ }
+ ],
+ "tags": [
+ "guilds"
+ ]
+ },
+ "post": {
+ "x-permission-required": "MANAGE_ROLES",
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/RoleModifySchema"
+ }
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "guild_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "guild_id"
+ }
+ ],
+ "tags": [
+ "guilds"
+ ]
+ },
+ "patch": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/RolePositionUpdateSchema"
+ }
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "guild_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "guild_id"
+ }
+ ],
+ "tags": [
+ "guilds"
+ ]
+ }
+ },
+ "/guilds/{guild_id}/roles/{role_id}/": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "guild_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "guild_id"
+ },
+ {
+ "name": "role_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "role_id"
+ }
+ ],
+ "tags": [
+ "guilds"
+ ]
+ },
+ "delete": {
+ "x-permission-required": "MANAGE_ROLES",
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "guild_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "guild_id"
+ },
+ {
+ "name": "role_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "role_id"
+ }
+ ],
+ "tags": [
+ "guilds"
+ ]
+ },
+ "patch": {
+ "x-permission-required": "MANAGE_ROLES",
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/RoleModifySchema"
+ }
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "guild_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "guild_id"
+ },
+ {
+ "name": "role_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "role_id"
+ }
+ ],
+ "tags": [
+ "guilds"
+ ]
+ }
+ },
+ "/guilds/{guild_id}/regions/": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "guild_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "guild_id"
+ }
+ ],
+ "tags": [
+ "guilds"
+ ]
+ }
+ },
+ "/guilds/{guild_id}/prune/": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "guild_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "guild_id"
+ }
+ ],
+ "tags": [
+ "guilds"
+ ]
+ },
+ "post": {
+ "x-right-required": "KICK_BAN_MEMBERS",
+ "x-permission-required": "KICK_MEMBERS",
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "guild_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "guild_id"
+ }
+ ],
+ "tags": [
+ "guilds"
+ ]
+ }
+ },
+ "/guilds/{guild_id}/profile/{member_id}": {
+ "patch": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/MemberChangeProfileSchema"
+ }
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "guild_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "guild_id"
+ },
+ {
+ "name": "member_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "member_id"
+ }
+ ],
+ "tags": [
+ "guilds"
+ ]
+ }
+ },
+ "/guilds/{guild_id}/premium/subscriptions": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "guild_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "guild_id"
+ }
+ ],
+ "tags": [
+ "guilds"
+ ]
+ }
+ },
+ "/guilds/{guild_id}/messages/search/": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "guild_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "guild_id"
+ }
+ ],
+ "tags": [
+ "guilds"
+ ]
+ }
+ },
+ "/guilds/{guild_id}/members/": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "guild_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "guild_id"
+ }
+ ],
+ "tags": [
+ "guilds"
+ ]
+ }
+ },
+ "/guilds/{guild_id}/members/{member_id}/roles/{role_id}/": {
+ "delete": {
+ "x-permission-required": "MANAGE_ROLES",
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "guild_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "guild_id"
+ },
+ {
+ "name": "member_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "member_id"
+ },
+ {
+ "name": "role_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "role_id"
+ }
+ ],
+ "tags": [
+ "guilds"
+ ]
+ },
+ "put": {
+ "x-permission-required": "MANAGE_ROLES",
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "guild_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "guild_id"
+ },
+ {
+ "name": "member_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "member_id"
+ },
+ {
+ "name": "role_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "role_id"
+ }
+ ],
+ "tags": [
+ "guilds"
+ ]
+ }
+ },
+ "/guilds/{guild_id}/members/{member_id}/nick/": {
+ "patch": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/MemberNickChangeSchema"
+ }
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "guild_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "guild_id"
+ },
+ {
+ "name": "member_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "member_id"
+ }
+ ],
+ "tags": [
+ "guilds"
+ ]
+ }
+ },
+ "/guilds/{guild_id}/members/{member_id}/": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "guild_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "guild_id"
+ },
+ {
+ "name": "member_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "member_id"
+ }
+ ],
+ "tags": [
+ "guilds"
+ ]
+ },
+ "patch": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/MemberChangeSchema"
+ }
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "guild_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "guild_id"
+ },
+ {
+ "name": "member_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "member_id"
+ }
+ ],
+ "tags": [
+ "guilds"
+ ]
+ },
+ "put": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "guild_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "guild_id"
+ },
+ {
+ "name": "member_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "member_id"
+ }
+ ],
+ "tags": [
+ "guilds"
+ ]
+ },
+ "delete": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "guild_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "guild_id"
+ },
+ {
+ "name": "member_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "member_id"
+ }
+ ],
+ "tags": [
+ "guilds"
+ ]
+ }
+ },
+ "/guilds/{guild_id}/member-verification/": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "guild_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "guild_id"
+ }
+ ],
+ "tags": [
+ "guilds"
+ ]
+ }
+ },
+ "/guilds/{guild_id}/invites/": {
+ "get": {
+ "x-permission-required": "MANAGE_GUILD",
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "guild_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "guild_id"
+ }
+ ],
+ "tags": [
+ "guilds"
+ ]
+ }
+ },
+ "/guilds/{guild_id}/integrations/": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "guild_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "guild_id"
+ }
+ ],
+ "tags": [
+ "guilds"
+ ]
+ }
+ },
+ "/guilds/{guild_id}/": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "guild_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "guild_id"
+ }
+ ],
+ "tags": [
+ "guilds"
+ ]
+ },
+ "patch": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/GuildUpdateSchema"
+ }
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "guild_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "guild_id"
+ }
+ ],
+ "tags": [
+ "guilds"
+ ]
+ }
+ },
+ "/guilds/{guild_id}/emojis/": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "guild_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "guild_id"
+ }
+ ],
+ "tags": [
+ "guilds"
+ ]
+ },
+ "post": {
+ "x-permission-required": "MANAGE_EMOJIS_AND_STICKERS",
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/EmojiCreateSchema"
+ }
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "guild_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "guild_id"
+ }
+ ],
+ "tags": [
+ "guilds"
+ ]
+ }
+ },
+ "/guilds/{guild_id}/emojis/{emoji_id}": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "guild_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "guild_id"
+ },
+ {
+ "name": "emoji_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "emoji_id"
+ }
+ ],
+ "tags": [
+ "guilds"
+ ]
+ },
+ "patch": {
+ "x-permission-required": "MANAGE_EMOJIS_AND_STICKERS",
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/EmojiModifySchema"
+ }
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "guild_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "guild_id"
+ },
+ {
+ "name": "emoji_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "emoji_id"
+ }
+ ],
+ "tags": [
+ "guilds"
+ ]
+ },
+ "delete": {
+ "x-permission-required": "MANAGE_EMOJIS_AND_STICKERS",
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "guild_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "guild_id"
+ },
+ {
+ "name": "emoji_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "emoji_id"
+ }
+ ],
+ "tags": [
+ "guilds"
+ ]
+ }
+ },
+ "/guilds/{guild_id}/discovery-requirements/": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "guild_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "guild_id"
+ }
+ ],
+ "tags": [
+ "guilds"
+ ]
+ }
+ },
+ "/guilds/{guild_id}/delete/": {
+ "post": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "guild_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "guild_id"
+ }
+ ],
+ "tags": [
+ "guilds"
+ ]
+ }
+ },
+ "/guilds/{guild_id}/channels/": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "guild_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "guild_id"
+ }
+ ],
+ "tags": [
+ "guilds"
+ ]
+ },
+ "post": {
+ "x-permission-required": "MANAGE_CHANNELS",
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ChannelModifySchema"
+ }
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "guild_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "guild_id"
+ }
+ ],
+ "tags": [
+ "guilds"
+ ]
+ },
+ "patch": {
+ "x-permission-required": "MANAGE_CHANNELS",
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ChannelReorderSchema"
+ }
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "guild_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "guild_id"
+ }
+ ],
+ "tags": [
+ "guilds"
+ ]
+ }
+ },
+ "/guilds/{guild_id}/bans/": {
+ "get": {
+ "x-permission-required": "BAN_MEMBERS",
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "guild_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "guild_id"
+ }
+ ],
+ "tags": [
+ "guilds"
+ ]
+ }
+ },
+ "/guilds/{guild_id}/bans/{user}": {
+ "get": {
+ "x-permission-required": "BAN_MEMBERS",
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "guild_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "guild_id"
+ },
+ {
+ "name": "user",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "user"
+ }
+ ],
+ "tags": [
+ "guilds"
+ ]
+ }
+ },
+ "/guilds/{guild_id}/bans/{user_id}": {
+ "put": {
+ "x-permission-required": "BAN_MEMBERS",
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BanCreateSchema"
+ }
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "guild_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "guild_id"
+ },
+ {
+ "name": "user_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "user_id"
+ }
+ ],
+ "tags": [
+ "guilds"
+ ]
+ },
+ "delete": {
+ "x-permission-required": "BAN_MEMBERS",
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "guild_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "guild_id"
+ },
+ {
+ "name": "user_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "user_id"
+ }
+ ],
+ "tags": [
+ "guilds"
+ ]
+ }
+ },
+ "/guilds/{guild_id}/bans/@me": {
+ "put": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BanCreateSchema"
+ }
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "guild_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "guild_id"
+ }
+ ],
+ "tags": [
+ "guilds"
+ ]
+ }
+ },
+ "/guilds/{guild_id}/audit-logs/": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "guild_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "guild_id"
+ }
+ ],
+ "tags": [
+ "guilds"
+ ]
+ }
+ },
+ "/guild-recommendations/": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "tags": [
+ "guild-recommendations"
+ ]
+ }
+ },
+ "/gifs/trending/": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "tags": [
+ "gifs"
+ ]
+ }
+ },
+ "/gifs/trending-gifs/": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "tags": [
+ "gifs"
+ ]
+ }
+ },
+ "/gifs/search/": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "tags": [
+ "gifs"
+ ]
+ }
+ },
+ "/gateway/": {
+ "get": {
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/GatewayResponse"
+ }
+ }
+ }
+ }
+ },
+ "tags": [
+ "gateway"
+ ]
+ }
+ },
+ "/gateway/bot/": {
+ "get": {
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/GatewayBotResponse"
+ }
+ }
+ }
+ }
+ },
+ "tags": [
+ "gateway"
+ ]
+ }
+ },
+ "/experiments/": {
+ "get": {
+ "tags": [
+ "experiments"
+ ]
+ }
+ },
+ "/download/": {
+ "get": {
+ "tags": [
+ "download"
+ ]
+ }
+ },
+ "/discovery/categories": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "tags": [
+ "discovery"
+ ]
+ }
+ },
+ "/discoverable-guilds/": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "tags": [
+ "discoverable-guilds"
+ ]
+ }
+ },
+ "/channels/{channel_id}/webhooks/": {
+ "post": {
+ "x-permission-required": "MANAGE_WEBHOOKS",
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/WebhookCreateSchema"
+ }
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "channel_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "channel_id"
+ }
+ ],
+ "tags": [
+ "channels"
+ ]
+ },
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "channel_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "channel_id"
+ }
+ ],
+ "tags": [
+ "channels"
+ ]
+ }
+ },
+ "/channels/{channel_id}/typing/": {
+ "post": {
+ "x-permission-required": "SEND_MESSAGES",
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "channel_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "channel_id"
+ }
+ ],
+ "tags": [
+ "channels"
+ ]
+ }
+ },
+ "/channels/{channel_id}/recipients/{user_id}": {
+ "put": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "channel_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "channel_id"
+ },
+ {
+ "name": "user_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "user_id"
+ }
+ ],
+ "tags": [
+ "channels"
+ ]
+ },
+ "delete": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "channel_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "channel_id"
+ },
+ {
+ "name": "user_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "user_id"
+ }
+ ],
+ "tags": [
+ "channels"
+ ]
+ }
+ },
+ "/channels/{channel_id}/purge/": {
+ "post": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "channel_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "channel_id"
+ }
+ ],
+ "tags": [
+ "channels"
+ ]
+ }
+ },
+ "/channels/{channel_id}/pins/{message_id}": {
+ "put": {
+ "x-permission-required": "VIEW_CHANNEL",
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "channel_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "channel_id"
+ },
+ {
+ "name": "message_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "message_id"
+ }
+ ],
+ "tags": [
+ "channels"
+ ]
+ },
+ "delete": {
+ "x-permission-required": "VIEW_CHANNEL",
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "channel_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "channel_id"
+ },
+ {
+ "name": "message_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "message_id"
+ }
+ ],
+ "tags": [
+ "channels"
+ ]
+ }
+ },
+ "/channels/{channel_id}/pins/": {
+ "get": {
+ "x-permission-required": [
+ "READ_MESSAGE_HISTORY"
+ ],
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "channel_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "channel_id"
+ }
+ ],
+ "tags": [
+ "channels"
+ ]
+ }
+ },
+ "/channels/{channel_id}/permissions/{overwrite_id}": {
+ "put": {
+ "x-permission-required": "MANAGE_ROLES",
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ChannelPermissionOverwriteSchema"
+ }
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "channel_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "channel_id"
+ },
+ {
+ "name": "overwrite_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "overwrite_id"
+ }
+ ],
+ "tags": [
+ "channels"
+ ]
+ },
+ "delete": {
+ "x-permission-required": "MANAGE_ROLES",
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "channel_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "channel_id"
+ },
+ {
+ "name": "overwrite_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "overwrite_id"
+ }
+ ],
+ "tags": [
+ "channels"
+ ]
+ }
+ },
+ "/channels/{channel_id}/messages/bulk-delete/": {
+ "post": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BulkDeleteSchema"
+ }
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "channel_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "channel_id"
+ }
+ ],
+ "tags": [
+ "channels"
+ ]
+ }
+ },
+ "/channels/{channel_id}/messages/{message_id}/reactions/": {
+ "delete": {
+ "x-permission-required": "MANAGE_MESSAGES",
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "channel_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "channel_id"
+ },
+ {
+ "name": "message_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "message_id"
+ }
+ ],
+ "tags": [
+ "channels"
+ ]
+ }
+ },
+ "/channels/{channel_id}/messages/{message_id}/reactions/{emoji}": {
+ "delete": {
+ "x-permission-required": "MANAGE_MESSAGES",
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "channel_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "channel_id"
+ },
+ {
+ "name": "message_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "message_id"
+ },
+ {
+ "name": "emoji",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "emoji"
+ }
+ ],
+ "tags": [
+ "channels"
+ ]
+ },
+ "get": {
+ "x-permission-required": "VIEW_CHANNEL",
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "channel_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "channel_id"
+ },
+ {
+ "name": "message_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "message_id"
+ },
+ {
+ "name": "emoji",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "emoji"
+ }
+ ],
+ "tags": [
+ "channels"
+ ]
+ }
+ },
+ "/channels/{channel_id}/messages/{message_id}/reactions/{emoji}/{user_id}": {
+ "put": {
+ "x-right-required": "SELF_ADD_REACTIONS",
+ "x-permission-required": "READ_MESSAGE_HISTORY",
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "channel_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "channel_id"
+ },
+ {
+ "name": "message_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "message_id"
+ },
+ {
+ "name": "emoji",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "emoji"
+ },
+ {
+ "name": "user_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "user_id"
+ }
+ ],
+ "tags": [
+ "channels"
+ ]
+ },
+ "delete": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "channel_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "channel_id"
+ },
+ {
+ "name": "message_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "message_id"
+ },
+ {
+ "name": "emoji",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "emoji"
+ },
+ {
+ "name": "user_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "user_id"
+ }
+ ],
+ "tags": [
+ "channels"
+ ]
+ }
+ },
+ "/channels/{channel_id}/messages/{message_id}/": {
+ "patch": {
+ "x-right-required": "SEND_MESSAGES",
+ "x-permission-required": "SEND_MESSAGES",
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/MessageCreateSchema"
+ }
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "channel_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "channel_id"
+ },
+ {
+ "name": "message_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "message_id"
+ }
+ ],
+ "tags": [
+ "channels"
+ ]
+ },
+ "put": {
+ "x-right-required": "SEND_BACKDATED_EVENTS",
+ "x-permission-required": "SEND_MESSAGES",
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/MessageCreateSchema"
+ }
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "channel_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "channel_id"
+ },
+ {
+ "name": "message_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "message_id"
+ }
+ ],
+ "tags": [
+ "channels"
+ ]
+ },
+ "get": {
+ "x-permission-required": "VIEW_CHANNEL",
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "channel_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "channel_id"
+ },
+ {
+ "name": "message_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "message_id"
+ }
+ ],
+ "tags": [
+ "channels"
+ ]
+ },
+ "delete": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "channel_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "channel_id"
+ },
+ {
+ "name": "message_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "message_id"
+ }
+ ],
+ "tags": [
+ "channels"
+ ]
+ }
+ },
+ "/channels/{channel_id}/messages/{message_id}/crosspost/": {
+ "post": {
+ "x-permission-required": "MANAGE_MESSAGES",
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "channel_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "channel_id"
+ },
+ {
+ "name": "message_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "message_id"
+ }
+ ],
+ "tags": [
+ "channels"
+ ]
+ }
+ },
+ "/channels/{channel_id}/messages/{message_id}/ack/": {
+ "post": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/MessageAcknowledgeSchema"
+ }
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "channel_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "channel_id"
+ },
+ {
+ "name": "message_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "message_id"
+ }
+ ],
+ "tags": [
+ "channels"
+ ]
+ }
+ },
+ "/channels/{channel_id}/invites/": {
+ "post": {
+ "x-right-required": "CREATE_INVITES",
+ "x-permission-required": "CREATE_INSTANT_INVITE",
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/InviteCreateSchema"
+ }
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "channel_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "channel_id"
+ }
+ ],
+ "tags": [
+ "channels"
+ ]
+ },
+ "get": {
+ "x-permission-required": "MANAGE_CHANNELS",
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "channel_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "channel_id"
+ }
+ ],
+ "tags": [
+ "channels"
+ ]
+ }
+ },
+ "/channels/{channel_id}/": {
+ "get": {
+ "x-permission-required": "VIEW_CHANNEL",
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "channel_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "channel_id"
+ }
+ ],
+ "tags": [
+ "channels"
+ ]
+ },
+ "delete": {
+ "x-permission-required": "MANAGE_CHANNELS",
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "channel_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "channel_id"
+ }
+ ],
+ "tags": [
+ "channels"
+ ]
+ },
+ "patch": {
+ "x-permission-required": "MANAGE_CHANNELS",
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ChannelModifySchema"
+ }
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "channel_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "channel_id"
+ }
+ ],
+ "tags": [
+ "channels"
+ ]
+ }
+ },
+ "/auth/verify/view-backup-codes-challenge/": {
+ "post": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BackupCodesChallengeSchema"
+ }
+ }
+ }
+ },
+ "tags": [
+ "auth"
+ ]
+ }
+ },
+ "/auth/register/": {
+ "post": {
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/RegisterSchema"
+ }
+ }
+ }
+ },
+ "tags": [
+ "auth"
+ ]
+ }
+ },
+ "/auth/mfa/totp/": {
+ "post": {
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TotpSchema"
+ }
+ }
+ }
+ },
+ "tags": [
+ "auth"
+ ]
+ }
+ },
+ "/auth/logout/": {
+ "post": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "tags": [
+ "auth"
+ ]
+ }
+ },
+ "/auth/login/": {
+ "post": {
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/LoginSchema"
+ }
+ }
+ }
+ },
+ "tags": [
+ "auth"
+ ]
+ }
+ },
+ "/auth/location-metadata/": {
+ "get": {
+ "tags": [
+ "auth"
+ ]
+ }
+ },
+ "/auth/generate-registration-tokens/": {
+ "get": {
+ "x-right-required": "OPERATOR",
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "tags": [
+ "auth"
+ ]
+ }
+ },
+ "/applications/": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "tags": [
+ "applications"
+ ]
+ },
+ "post": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ApplicationCreateSchema"
+ }
+ }
+ }
+ },
+ "tags": [
+ "applications"
+ ]
+ }
+ },
+ "/applications/detectable/": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "tags": [
+ "applications"
+ ]
+ }
+ },
+ "/applications/{id}/skus/": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "id"
+ }
+ ],
+ "tags": [
+ "applications"
+ ]
+ }
+ },
+ "/applications/{id}/": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "id"
+ }
+ ],
+ "tags": [
+ "applications"
+ ]
+ },
+ "patch": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ApplicationModifySchema"
+ }
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "id"
+ }
+ ],
+ "tags": [
+ "applications"
+ ]
+ }
+ },
+ "/applications/{id}/delete": {
+ "post": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "id"
+ }
+ ],
+ "tags": [
+ "applications"
+ ]
+ }
+ },
+ "/applications/{id}/entitlements/": {
+ "get": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "id"
+ }
+ ],
+ "tags": [
+ "applications"
+ ]
+ }
+ },
+ "/applications/{id}/bot/": {
+ "post": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "id"
+ }
+ ],
+ "tags": [
+ "applications"
+ ]
+ },
+ "patch": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BotModifySchema"
+ }
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "id"
+ }
+ ],
+ "tags": [
+ "applications"
+ ]
+ }
+ },
+ "/applications/{id}/bot/reset": {
+ "post": {
+ "security": [
+ {
+ "bearer": true
+ }
+ ],
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "id"
+ }
+ ],
+ "tags": [
+ "applications"
+ ]
+ }
+ },
+ "/-/readyz/": {
+ "get": {
+ "tags": [
+ "-"
+ ]
+ }
+ },
+ "/-/healthz/": {
+ "get": {
+ "tags": [
+ "-"
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/package.json b/package.json
index 2dfdfcb4..1a6b9f6f 100644
--- a/package.json
+++ b/package.json
@@ -17,6 +17,7 @@
"generate:client": "node scripts/client.js",
"generate:changelog": "node scripts/changelog.js",
"generate:migration": "node -r dotenv/config -r module-alias/register node_modules/typeorm/cli.js migration:generate -d dist/util/util/Database.js",
+ "generate:openapi": "node scripts/openapi.js",
"migrate-from-staging": "node -r dotenv/config -r module-alias/register scripts/stagingMigration/index.js"
},
"main": "dist/bundle/index.js",
diff --git a/scripts/openapi.js b/scripts/openapi.js
new file mode 100644
index 00000000..6f066e94
--- /dev/null
+++ b/scripts/openapi.js
@@ -0,0 +1,169 @@
+require("module-alias/register");
+const getRouteDescriptions = require("./util/getRouteDescriptions");
+const path = require("path");
+const fs = require("fs");
+const {
+ NO_AUTHORIZATION_ROUTES,
+} = require("../dist/api/middlewares/Authentication");
+require("missing-native-js-functions");
+
+const openapiPath = path.join(__dirname, "..", "assets", "openapi.json");
+const SchemaPath = path.join(__dirname, "..", "assets", "schemas.json");
+const schemas = JSON.parse(fs.readFileSync(SchemaPath, { encoding: "utf8" }));
+const specification = JSON.parse(
+ fs.readFileSync(openapiPath, { encoding: "utf8" }),
+);
+
+function combineSchemas(schemas) {
+ var definitions = {};
+
+ for (const name in schemas) {
+ definitions = {
+ ...definitions,
+ ...schemas[name].definitions,
+ [name]: {
+ ...schemas[name],
+ definitions: undefined,
+ $schema: undefined,
+ },
+ };
+ }
+
+ for (const key in definitions) {
+ specification.components = specification.components || {};
+ specification.components.schemas =
+ specification.components.schemas || {};
+ specification.components.schemas[key] = definitions[key];
+ delete definitions[key].additionalProperties;
+ delete definitions[key].$schema;
+ const definition = definitions[key];
+
+ if (typeof definition.properties === "object") {
+ for (const property of Object.values(definition.properties)) {
+ if (Array.isArray(property.type)) {
+ if (property.type.includes("null")) {
+ property.type = property.type.find((x) => x !== "null");
+ property.nullable = true;
+ }
+ }
+ }
+ }
+ }
+
+ return definitions;
+}
+
+function getTag(key) {
+ return key.match(/\/([\w-]+)/)[1];
+}
+
+function apiRoutes() {
+ const routes = getRouteDescriptions();
+
+ const tags = Array.from(routes.keys()).map((x) => getTag(x));
+ specification.tags = specification.tags || [];
+ specification.tags = [...specification.tags.map((x) => x.name), ...tags]
+ .unique()
+ .map((x) => ({ name: x }));
+
+ specification.components = specification.components || {};
+ specification.components.securitySchemes = {
+ bearer: {
+ type: "http",
+ scheme: "bearer",
+ description: "Bearer/Bot prefixes are not required.",
+ },
+ };
+
+ routes.forEach((route, pathAndMethod) => {
+ const [p, method] = pathAndMethod.split("|");
+ const path = p.replace(/:(\w+)/g, "{$1}");
+
+ specification.paths = specification.paths || {};
+ let obj = specification.paths[path]?.[method] || {};
+ obj["x-right-required"] = route.right;
+ obj["x-permission-required"] = route.permission;
+ obj["x-fires-event"] = route.test?.event;
+
+ if (
+ !NO_AUTHORIZATION_ROUTES.some((x) => {
+ if (typeof x === "string") return path.startsWith(x);
+ return x.test(path);
+ })
+ ) {
+ obj.security = [{ bearer: true }];
+ }
+
+ if (route.body) {
+ obj.requestBody = {
+ required: true,
+ content: {
+ "application/json": {
+ schema: { $ref: `#/components/schemas/${route.body}` },
+ },
+ },
+ }.merge(obj.requestBody);
+ }
+
+ if (route.test?.response) {
+ const status = route.test.response.status || 200;
+ let schema = {
+ allOf: [
+ {
+ $ref: `#/components/schemas/${route.test.response.body}`,
+ },
+ {
+ example: route.test.body,
+ },
+ ],
+ };
+ if (!route.test.body) schema = schema.allOf[0];
+
+ obj.responses = {
+ [status]: {
+ ...(route.test.response.body
+ ? {
+ description:
+ obj?.responses?.[status]?.description || "",
+ content: {
+ "application/json": {
+ schema: schema,
+ },
+ },
+ }
+ : {}),
+ },
+ }.merge(obj.responses);
+ delete obj.responses.default;
+ }
+ if (p.includes(":")) {
+ obj.parameters = p.match(/:\w+/g)?.map((x) => ({
+ name: x.replace(":", ""),
+ in: "path",
+ required: true,
+ schema: { type: "string" },
+ description: x.replace(":", ""),
+ }));
+ }
+ obj.tags = [...(obj.tags || []), getTag(p)].unique();
+
+ specification.paths[path] = {
+ ...specification.paths[path],
+ [method]: obj,
+ };
+ });
+}
+
+function main() {
+ combineSchemas(schemas);
+ apiRoutes();
+
+ fs.writeFileSync(
+ openapiPath,
+ JSON.stringify(specification, null, 4)
+ .replaceAll("#/definitions", "#/components/schemas")
+ .replaceAll("bigint", "number"),
+ );
+}
+
+main();
diff --git a/scripts/util/getRouteDescriptions.js b/scripts/util/getRouteDescriptions.js
new file mode 100644
index 00000000..21c36ca7
--- /dev/null
+++ b/scripts/util/getRouteDescriptions.js
@@ -0,0 +1,63 @@
+const { traverseDirectory } = require("lambert-server");
+const path = require("path");
+const express = require("express");
+const RouteUtility = require("../../dist/api/util/handlers/route.js");
+const Router = express.Router;
+
+const routes = new Map();
+let currentPath = "";
+let currentFile = "";
+const methods = ["get", "post", "put", "delete", "patch"];
+
+function registerPath(file, method, prefix, path, ...args) {
+ const urlPath = prefix + path;
+ const sourceFile = file.replace("/dist/", "/src/").replace(".js", ".ts");
+ const opts = args.find((x) => typeof x === "object");
+ if (opts) {
+ routes.set(urlPath + "|" + method, opts); // @ts-ignore
+ opts.file = sourceFile;
+ // console.log(method, urlPath, opts);
+ } else {
+ console.log(
+ `${sourceFile}\nrouter.${method}("${path}") is missing the "route()" description middleware\n`,
+ );
+ }
+}
+
+function routeOptions(opts) {
+ return opts;
+}
+
+// @ts-ignore
+RouteUtility.route = routeOptions;
+
+express.Router = (opts) => {
+ const path = currentPath;
+ const file = currentFile;
+ const router = Router(opts);
+
+ for (const method of methods) {
+ router[method] = registerPath.bind(null, file, method, path);
+ }
+
+ return router;
+};
+
+module.exports = function getRouteDescriptions() {
+ const root = path.join(__dirname, "..", "..", "dist", "api", "routes", "/");
+ traverseDirectory({ dirname: root, recursive: true }, (file) => {
+ currentFile = file;
+ let path = file.replace(root.slice(0, -1), "");
+ path = path.split(".").slice(0, -1).join("."); // trancate .js/.ts file extension of path
+ path = path.replaceAll("#", ":").replaceAll("\\", "/"); // replace # with : for path parameters and windows paths with slashes
+ if (path.endsWith("/index")) path = path.slice(0, "/index".length * -1); // delete index from path
+ currentPath = path;
+
+ try {
+ require(file);
+ } catch (error) {
+ console.error("error loading file " + file, error);
+ }
+ });
+ return routes;
+};
|