Newer
Older
percord / api / assets / openapi.json
{
	"openapi": "3.0.0",
	"servers": [
		{
			"url": "https://api.fosscord.com/v{version}",
			"description": "Official fosscord instance",
			"variables": { "version": { "description": "", "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": [],
	"paths": {
		"/users/{id}": {
			"get": {
				"summary": "",
				"description": "",
				"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": "",
				"description": "",
				"parameters": [],
				"operationId": "",
				"responses": {
					"200": {
						"description": "Authenticated user",
						"content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserPublic" } } }
					}
				},
				"security": [{ "Token": [] }]
			}
		}
	},
	"externalDocs": { "description": "", "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": { "$ref": "#/components/schemas/EmbedType" },
					"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": "string" },
					"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": { "type": "string" },
					"type": { "type": "integer" },
					"topic": { "type": "string" },
					"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": { "type": "integer" },
								"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" }
				},
				"required": ["name", "type"]
			},
			"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": { "type": "string" },
					"region": { "type": "string" },
					"icon": { "type": "string" },
					"channels": { "type": "array", "items": { "$ref": "#/components/requestBodies/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" },
					"splash": { "type": "string" },
					"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": { "type": "string" },
					"region": { "type": "string" },
					"icon": { "type": "string" },
					"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" } },
				"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" },
					"embed": {
						"additionalProperties": false,
						"type": "object",
						"properties": {
							"title": { "type": "string" },
							"type": { "$ref": "#/components/requestBodies/EmbedType" },
							"description": { "type": "string" },
							"url": { "type": "string" },
							"timestamp": { "type": "string" },
							"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/requestBodies/EmbedImage" },
							"thumbnail": { "$ref": "#/components/requestBodies/EmbedImage" },
							"video": { "$ref": "#/components/requestBodies/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"]
								}
							}
						}
					},
					"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": {}
				}
			},
			"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": { "type": "string" },
					"avatar": { "type": "string" },
					"bio": { "type": "string" },
					"accent_color": { "type": "integer" },
					"banner": { "type": "string" },
					"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"]
			}
		},
		"requestBodies": {},
		"securitySchemes": {
			"Token": {
				"type": "apiKey",
				"name": "Authorization",
				"in": "header"
			}
		},
		"links": {},
		"callbacks": {}
	}
}