diff --git a/api/assets/openapi.json b/api/assets/openapi.json
index a92fe706..15e55bf9 100644
--- a/api/assets/openapi.json
+++ b/api/assets/openapi.json
@@ -1,6598 +1,5995 @@
{
- "openapi": "3.0.0",
- "servers": [
- {
- "url": "https://api.fosscord.com/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": "voice"
- },
- {
- "name": "users"
- },
- {
- "name": "store"
- },
- {
- "name": "sticker-packs"
- },
- {
- "name": "science"
- },
- {
- "name": "ping"
- },
- {
- "name": "outbound-promotions"
- },
- {
- "name": "invites"
- },
- {
- "name": "guilds"
- },
- {
- "name": "gateway"
- },
- {
- "name": "experiments"
- },
- {
- "name": "discoverable-guilds"
- },
- {
- "name": "channels"
- },
- {
- "name": "auth"
- },
- {
- "name": "applications"
- }
- ],
- "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"
- },
- "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"
- },
- "verifie": {
- "type": "boolean"
- },
- "visibility": {
- "type": "integer"
- },
- "id": {
- "type": "string"
- }
- },
- "required": [
- "access_token",
- "friend_sync",
- "id",
- "name",
- "revoked",
- "show_activity",
- "type",
- "user",
- "user_id",
- "verifie",
- "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"
- ],
- "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": "integer"
- },
- "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"
- ],
- "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": {}
- }
-}
\ No newline at end of file
+ "openapi": "3.0.0",
+ "servers": [
+ {
+ "url": "https://api.fosscord.com/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"
+ },
+ "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"
+ },
+ "verifie": {
+ "type": "boolean"
+ },
+ "visibility": {
+ "type": "integer"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "access_token",
+ "friend_sync",
+ "id",
+ "name",
+ "revoked",
+ "show_activity",
+ "type",
+ "user",
+ "user_id",
+ "verifie",
+ "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"],
+ "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": "integer"
+ },
+ "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"],
+ "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": {}
+ }
+}
diff --git a/api/assets/schemas.json b/api/assets/schemas.json
index 76ad3b16..023f2092 100644
--- a/api/assets/schemas.json
+++ b/api/assets/schemas.json
@@ -1,73 +1,73 @@
{
- "RegisterSchema": {
+ "LoginSchema": {
"type": "object",
"properties": {
- "username": {
- "minLength": 2,
- "maxLength": 32,
+ "login": {
"type": "string"
},
"password": {
- "minLength": 1,
- "maxLength": 72,
"type": "string"
},
- "consent": {
+ "undelete": {
"type": "boolean"
},
- "email": {
- "format": "email",
- "type": "string"
- },
- "fingerprint": {
- "type": "string"
- },
- "invite": {
+ "captcha_key": {
"type": "string"
},
- "date_of_birth": {
+ "login_source": {
"type": "string"
},
"gift_code_sku_id": {
"type": "string"
- },
- "captcha_key": {
- "type": "string"
}
},
"additionalProperties": false,
"required": [
- "consent",
- "username"
+ "login",
+ "password"
],
"$schema": "http://json-schema.org/draft-07/schema#"
},
- "LoginSchema": {
+ "RegisterSchema": {
"type": "object",
"properties": {
- "login": {
+ "username": {
+ "minLength": 2,
+ "maxLength": 32,
"type": "string"
},
"password": {
+ "minLength": 1,
+ "maxLength": 72,
"type": "string"
},
- "undelete": {
+ "consent": {
"type": "boolean"
},
- "captcha_key": {
+ "email": {
+ "format": "email",
"type": "string"
},
- "login_source": {
+ "fingerprint": {
+ "type": "string"
+ },
+ "invite": {
+ "type": "string"
+ },
+ "date_of_birth": {
"type": "string"
},
"gift_code_sku_id": {
"type": "string"
+ },
+ "captcha_key": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "login",
- "password"
+ "consent",
+ "username"
],
"$schema": "http://json-schema.org/draft-07/schema#"
},
@@ -127,10 +127,10 @@
"$ref": "#/definitions/ChannelPermissionOverwriteType"
},
"allow": {
- "type": "bigint"
+ "type": "string"
},
"deny": {
- "type": "bigint"
+ "type": "string"
}
},
"additionalProperties": false,
@@ -353,10 +353,10 @@
"$ref": "#/definitions/ChannelPermissionOverwriteType"
},
"allow": {
- "type": "bigint"
+ "type": "string"
},
"deny": {
- "type": "bigint"
+ "type": "string"
}
},
"additionalProperties": false,
@@ -727,10 +727,10 @@
"$ref": "#/definitions/ChannelPermissionOverwriteType"
},
"allow": {
- "type": "bigint"
+ "type": "string"
},
"deny": {
- "type": "bigint"
+ "type": "string"
}
},
"additionalProperties": false,
@@ -1050,10 +1050,10 @@
"$ref": "#/definitions/ChannelPermissionOverwriteType"
},
"allow": {
- "type": "bigint"
+ "type": "string"
},
"deny": {
- "type": "bigint"
+ "type": "string"
}
},
"additionalProperties": false,
@@ -1352,10 +1352,10 @@
"$ref": "#/definitions/ChannelPermissionOverwriteType"
},
"allow": {
- "type": "bigint"
+ "type": "string"
},
"deny": {
- "type": "bigint"
+ "type": "string"
}
},
"additionalProperties": false,
@@ -1657,10 +1657,10 @@
"$ref": "#/definitions/ChannelPermissionOverwriteType"
},
"allow": {
- "type": "bigint"
+ "type": "string"
},
"deny": {
- "type": "bigint"
+ "type": "string"
}
},
"additionalProperties": false,
@@ -1758,10 +1758,10 @@
"type": "object",
"properties": {
"allow": {
- "type": "bigint"
+ "type": "string"
},
"deny": {
- "type": "bigint"
+ "type": "string"
},
"id": {
"type": "string"
@@ -1971,10 +1971,10 @@
"$ref": "#/definitions/ChannelPermissionOverwriteType"
},
"allow": {
- "type": "bigint"
+ "type": "string"
},
"deny": {
- "type": "bigint"
+ "type": "string"
}
},
"additionalProperties": false,
@@ -2278,10 +2278,10 @@
"$ref": "#/definitions/ChannelPermissionOverwriteType"
},
"allow": {
- "type": "bigint"
+ "type": "string"
},
"deny": {
- "type": "bigint"
+ "type": "string"
}
},
"additionalProperties": false,
@@ -2580,10 +2580,10 @@
"$ref": "#/definitions/ChannelPermissionOverwriteType"
},
"allow": {
- "type": "bigint"
+ "type": "string"
},
"deny": {
- "type": "bigint"
+ "type": "string"
}
},
"additionalProperties": false,
@@ -2894,10 +2894,10 @@
"$ref": "#/definitions/ChannelPermissionOverwriteType"
},
"allow": {
- "type": "bigint"
+ "type": "string"
},
"deny": {
- "type": "bigint"
+ "type": "string"
}
},
"additionalProperties": false,
@@ -3221,10 +3221,10 @@
"$ref": "#/definitions/ChannelPermissionOverwriteType"
},
"allow": {
- "type": "bigint"
+ "type": "string"
},
"deny": {
- "type": "bigint"
+ "type": "string"
}
},
"additionalProperties": false,
@@ -3587,10 +3587,10 @@
"$ref": "#/definitions/ChannelPermissionOverwriteType"
},
"allow": {
- "type": "bigint"
+ "type": "string"
},
"deny": {
- "type": "bigint"
+ "type": "string"
}
},
"additionalProperties": false,
@@ -3889,10 +3889,10 @@
"$ref": "#/definitions/ChannelPermissionOverwriteType"
},
"allow": {
- "type": "bigint"
+ "type": "string"
},
"deny": {
- "type": "bigint"
+ "type": "string"
}
},
"additionalProperties": false,
@@ -4191,10 +4191,10 @@
"$ref": "#/definitions/ChannelPermissionOverwriteType"
},
"allow": {
- "type": "bigint"
+ "type": "string"
},
"deny": {
- "type": "bigint"
+ "type": "string"
}
},
"additionalProperties": false,
@@ -4505,10 +4505,10 @@
"$ref": "#/definitions/ChannelPermissionOverwriteType"
},
"allow": {
- "type": "bigint"
+ "type": "string"
},
"deny": {
- "type": "bigint"
+ "type": "string"
}
},
"additionalProperties": false,
@@ -4814,10 +4814,10 @@
"$ref": "#/definitions/ChannelPermissionOverwriteType"
},
"allow": {
- "type": "bigint"
+ "type": "string"
},
"deny": {
- "type": "bigint"
+ "type": "string"
}
},
"additionalProperties": false,
@@ -5119,10 +5119,10 @@
"$ref": "#/definitions/ChannelPermissionOverwriteType"
},
"allow": {
- "type": "bigint"
+ "type": "string"
},
"deny": {
- "type": "bigint"
+ "type": "string"
}
},
"additionalProperties": false,
@@ -5424,10 +5424,10 @@
"$ref": "#/definitions/ChannelPermissionOverwriteType"
},
"allow": {
- "type": "bigint"
+ "type": "string"
},
"deny": {
- "type": "bigint"
+ "type": "string"
}
},
"additionalProperties": false,
@@ -5725,10 +5725,10 @@
"$ref": "#/definitions/ChannelPermissionOverwriteType"
},
"allow": {
- "type": "bigint"
+ "type": "string"
},
"deny": {
- "type": "bigint"
+ "type": "string"
}
},
"additionalProperties": false,
@@ -6046,10 +6046,10 @@
"$ref": "#/definitions/ChannelPermissionOverwriteType"
},
"allow": {
- "type": "bigint"
+ "type": "string"
},
"deny": {
- "type": "bigint"
+ "type": "string"
}
},
"additionalProperties": false,
@@ -6374,10 +6374,10 @@
"$ref": "#/definitions/ChannelPermissionOverwriteType"
},
"allow": {
- "type": "bigint"
+ "type": "string"
},
"deny": {
- "type": "bigint"
+ "type": "string"
}
},
"additionalProperties": false,
@@ -6680,10 +6680,10 @@
"$ref": "#/definitions/ChannelPermissionOverwriteType"
},
"allow": {
- "type": "bigint"
+ "type": "string"
},
"deny": {
- "type": "bigint"
+ "type": "string"
}
},
"additionalProperties": false,
@@ -6988,10 +6988,10 @@
"$ref": "#/definitions/ChannelPermissionOverwriteType"
},
"allow": {
- "type": "bigint"
+ "type": "string"
},
"deny": {
- "type": "bigint"
+ "type": "string"
}
},
"additionalProperties": false,
@@ -7302,10 +7302,10 @@
"$ref": "#/definitions/ChannelPermissionOverwriteType"
},
"allow": {
- "type": "bigint"
+ "type": "string"
},
"deny": {
- "type": "bigint"
+ "type": "string"
}
},
"additionalProperties": false,
@@ -7610,10 +7610,10 @@
"$ref": "#/definitions/ChannelPermissionOverwriteType"
},
"allow": {
- "type": "bigint"
+ "type": "string"
},
"deny": {
- "type": "bigint"
+ "type": "string"
}
},
"additionalProperties": false,
@@ -7939,10 +7939,10 @@
"$ref": "#/definitions/ChannelPermissionOverwriteType"
},
"allow": {
- "type": "bigint"
+ "type": "string"
},
"deny": {
- "type": "bigint"
+ "type": "string"
}
},
"additionalProperties": false,
@@ -8244,10 +8244,10 @@
"$ref": "#/definitions/ChannelPermissionOverwriteType"
},
"allow": {
- "type": "bigint"
+ "type": "string"
},
"deny": {
- "type": "bigint"
+ "type": "string"
}
},
"additionalProperties": false,
@@ -8550,10 +8550,10 @@
"$ref": "#/definitions/ChannelPermissionOverwriteType"
},
"allow": {
- "type": "bigint"
+ "type": "string"
},
"deny": {
- "type": "bigint"
+ "type": "string"
}
},
"additionalProperties": false,
@@ -9039,10 +9039,10 @@
"$ref": "#/definitions/ChannelPermissionOverwriteType"
},
"allow": {
- "type": "bigint"
+ "type": "string"
},
"deny": {
- "type": "bigint"
+ "type": "string"
}
},
"additionalProperties": false,
diff --git a/api/package.json b/api/package.json
index cc47a45a..8fc55e94 100644
--- a/api/package.json
+++ b/api/package.json
@@ -14,8 +14,8 @@
"dev": "tsnd --respawn src/start.ts",
"patch": "ts-patch install -s && npx patch-package",
"postinstall": "npm run patch",
- "generate:docs": "node scripts/generate_openapi.ts",
- "generate:schema": "node scripts/generate_schema.ts"
+ "generate:docs": "node scripts/generate_openapi",
+ "generate:schema": "node scripts/generate_schema"
},
"repository": {
"type": "git",
diff --git a/api/scripts/generate_schema.js b/api/scripts/generate_schema.js
index 22d0b02e..fc787c22 100644
--- a/api/scripts/generate_schema.js
+++ b/api/scripts/generate_schema.js
@@ -1,9 +1,9 @@
// https://mermade.github.io/openapi-gui/#
// https://editor.swagger.io/
-import path from "path";
-import fs from "fs";
-import * as TJS from "typescript-json-schema";
-import "missing-native-js-functions";
+const path = require("path");
+const fs = require("fs");
+const TJS = require("typescript-json-schema");
+require("missing-native-js-functions");
const schemaPath = path.join(__dirname, "..", "assets", "schemas.json");
const settings = {
diff --git a/api/src/routes/channels/#channel_id/index.ts b/api/src/routes/channels/#channel_id/index.ts
index 61c851e8..2fca4fdf 100644
--- a/api/src/routes/channels/#channel_id/index.ts
+++ b/api/src/routes/channels/#channel_id/index.ts
@@ -62,8 +62,8 @@ export interface ChannelModifySchema {
permission_overwrites?: {
id: string;
type: ChannelPermissionOverwriteType;
- allow: bigint;
- deny: bigint;
+ allow: string;
+ deny: string;
}[];
parent_id?: string;
id?: string; // is not used (only for guild create)
diff --git a/api/src/routes/channels/#channel_id/messages/index.ts b/api/src/routes/channels/#channel_id/messages/index.ts
index fab20977..d3321fae 100644
--- a/api/src/routes/channels/#channel_id/messages/index.ts
+++ b/api/src/routes/channels/#channel_id/messages/index.ts
@@ -3,6 +3,7 @@ import {
Attachment,
Channel,
ChannelType,
+ Config,
DmChannelDTO,
Embed,
emitEvent,
@@ -15,6 +16,7 @@ import { HTTPError } from "lambert-server";
import { handleMessage, postHandleMessage, route } from "@fosscord/api";
import multer from "multer";
import { FindManyOptions, LessThan, MoreThan } from "typeorm";
+import { URL } from "url";
const router: Router = Router();
@@ -111,6 +113,9 @@ router.get("/", async (req: Request, res: Response) => {
});
// @ts-ignore
if (!x.author) x.author = { discriminator: "0000", username: "Deleted User", public_flags: "0", avatar: null };
+ x.attachments?.forEach((x) => {
+ x.proxy_url = `${Config.get().cdn.endpointPublic || "http://localhost:3003"}${new URL(x.proxy_url).pathname}`;
+ });
return x;
})
diff --git a/api/src/routes/channels/#channel_id/permissions.ts b/api/src/routes/channels/#channel_id/permissions.ts
index bc7ad5b8..6ebf721a 100644
--- a/api/src/routes/channels/#channel_id/permissions.ts
+++ b/api/src/routes/channels/#channel_id/permissions.ts
@@ -1,4 +1,13 @@
-import { Channel, ChannelPermissionOverwrite, ChannelUpdateEvent, emitEvent, getPermission, Member, Role } from "@fosscord/util";
+import {
+ Channel,
+ ChannelPermissionOverwrite,
+ ChannelPermissionOverwriteType,
+ ChannelUpdateEvent,
+ emitEvent,
+ getPermission,
+ Member,
+ Role
+} from "@fosscord/util";
import { Router, Response, Request } from "express";
import { HTTPError } from "lambert-server";
@@ -14,7 +23,7 @@ router.put(
route({ body: "ChannelPermissionOverwriteSchema", permission: "MANAGE_ROLES" }),
async (req: Request, res: Response) => {
const { channel_id, overwrite_id } = req.params;
- const body = req.body as { allow: bigint; deny: bigint; type: number; id: string };
+ const body = req.body as ChannelPermissionOverwriteSchema;
var channel = await Channel.findOneOrFail({ id: channel_id });
if (!channel.guild_id) throw new HTTPError("Channel not found", 404);
@@ -31,14 +40,12 @@ router.put(
// @ts-ignore
overwrite = {
id: overwrite_id,
- type: body.type,
- allow: body.allow,
- deny: body.deny
+ type: body.type
};
channel.permission_overwrites!.push(overwrite);
}
- overwrite.allow = body.allow;
- overwrite.deny = body.deny;
+ overwrite.allow = String(req.permission!.bitfield & (BigInt(body.allow) || 0n));
+ overwrite.deny = String(req.permission!.bitfield & (BigInt(body.deny) || 0n));
await Promise.all([
channel.save(),
diff --git a/api/src/routes/gateway.ts b/api/src/routes/gateway.ts
index 88d9dfda..4b3a0ea6 100644
--- a/api/src/routes/gateway.ts
+++ b/api/src/routes/gateway.ts
@@ -5,14 +5,14 @@ import { route } from "@fosscord/api";
const router = Router();
router.get("/", route({}), (req: Request, res: Response) => {
- const { endpoint } = Config.get().gateway;
- res.json({ url: endpoint || process.env.GATEWAY || "ws://localhost:3002" });
+ const { endpointPublic } = Config.get().gateway;
+ res.json({ url: endpointPublic || process.env.GATEWAY || "ws://localhost:3002" });
});
router.get("/bot", route({}), (req: Request, res: Response) => {
- const { endpoint } = Config.get().gateway;
+ const { endpointPublic } = Config.get().gateway;
res.json({
- url: endpoint || process.env.GATEWAY || "ws://localhost:3002",
+ url: endpointPublic || process.env.GATEWAY || "ws://localhost:3002",
shards: 1,
session_start_limit: {
total: 1000,
diff --git a/api/src/routes/guilds/index.ts b/api/src/routes/guilds/index.ts
index abde147d..6a325ae2 100644
--- a/api/src/routes/guilds/index.ts
+++ b/api/src/routes/guilds/index.ts
@@ -87,19 +87,21 @@ router.post("/", route({ body: "GuildCreateSchema" }), async (req: Request, res:
});
await Promise.all(
- body.channels?.map((x) => {
- var id = ids.get(x.id) || Snowflake.generate();
-
- // TODO: should we abort if parent_id is a category? (to disallow sub category channels)
- var parent_id = ids.get(x.parent_id);
-
- return Channel.createChannel({ ...x, guild_id, id, parent_id }, req.user_id, {
- keepId: true,
- skipExistsCheck: true,
- skipPermissionCheck: true,
- skipEventEmit: true
- });
- })
+ body.channels
+ ?.sort((a, b) => (a.parent_id ? -1 : 1))
+ .map((x) => {
+ var id = ids.get(x.id) || Snowflake.generate();
+
+ // TODO: should we abort if parent_id is a category? (to disallow sub category channels)
+ var parent_id = ids.get(x.parent_id);
+
+ return Channel.createChannel({ ...x, guild_id, id, parent_id }, req.user_id, {
+ keepId: true,
+ skipExistsCheck: true,
+ skipPermissionCheck: true,
+ skipEventEmit: true
+ });
+ })
);
await Member.addToGuild(req.user_id, guild_id);
diff --git a/api/src/util/cdn.ts b/api/src/util/cdn.ts
deleted file mode 100644
index 8c6e9ac9..00000000
--- a/api/src/util/cdn.ts
+++ /dev/null
@@ -1,53 +0,0 @@
-import { Config } from "@fosscord/util";
-import FormData from "form-data";
-import { HTTPError } from "lambert-server";
-import fetch from "node-fetch";
-
-export async function uploadFile(path: string, file: Express.Multer.File) {
- const form = new FormData();
- form.append("file", file.buffer, {
- contentType: file.mimetype,
- filename: file.originalname
- });
-
- const response = await fetch(`${Config.get().cdn.endpoint || "http://localhost:3003"}${path}`, {
- headers: {
- signature: Config.get().security.requestSignature,
- ...form.getHeaders()
- },
- method: "POST",
- body: form
- });
- const result = await response.json();
-
- if (response.status !== 200) throw result;
- return result;
-}
-
-export async function handleFile(path: string, body?: string): Promise<string | undefined> {
- if (!body || !body.startsWith("data:")) return body;
- try {
- const mimetype = body.split(":")[1].split(";")[0];
- const buffer = Buffer.from(body.split(",")[1], "base64");
-
- // @ts-ignore
- const { id } = await uploadFile(path, { buffer, mimetype, originalname: "banner" });
- return id;
- } catch (error) {
- console.error(error);
- throw new HTTPError("Invalid " + path);
- }
-}
-
-export async function deleteFile(path: string) {
- const response = await fetch(`${Config.get().cdn.endpoint || "http://localhost:3003"}${path}`, {
- headers: {
- signature: Config.get().security.requestSignature
- },
- method: "DELETE"
- });
- const result = await response.json();
-
- if (response.status !== 200) throw result;
- return result;
-}
diff --git a/api/src/util/route.ts b/api/src/util/route.ts
index e7c7ed1c..45882d8a 100644
--- a/api/src/util/route.ts
+++ b/api/src/util/route.ts
@@ -81,10 +81,10 @@ export function route(opts: RouteOptions) {
return async (req: Request, res: Response, next: NextFunction) => {
if (opts.permission) {
const required = new Permissions(opts.permission);
- const permission = await getPermission(req.user_id, req.params.guild_id, req.params.channel_id);
+ req.permission = await getPermission(req.user_id, req.params.guild_id, req.params.channel_id);
// bitfield comparison: check if user lacks certain permission
- if (!permission.has(required)) {
+ if (!req.permission.has(required)) {
throw DiscordApiErrors.MISSING_PERMISSIONS.withParams(opts.permission as string);
}
}
|