{ "openapi": "3.1.0", "info": { "title": "Fluxer API", "version": "1.0.0", "description": "API for Fluxer, a free and open source instant messaging and VoIP platform built for friends, groups, and communities.", "contact": { "name": "Fluxer Developers", "email": "developers@fluxer.app" }, "license": { "name": "AGPL-3.0", "url": "https://www.gnu.org/licenses/agpl-3.0.html" } }, "servers": [ { "url": "https://api.fluxer.app/v1", "description": "Production API" } ], "paths": { "/.well-known/fluxer": { "get": { "operationId": "get_well_known_fluxer", "summary": "Get instance discovery document", "tags": [ "Instance" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WellKnownFluxerResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Get instance discovery document" } }, "description": "Returns the instance discovery document including API endpoints, feature flags, limits, and federation capabilities. This is the canonical discovery endpoint for all Fluxer clients." } }, "/admin/api-keys": { "post": { "operationId": "create_admin_api_key", "summary": "Create admin API key", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateAdminApiKeyResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Create admin API key" } }, "description": "Generates a new API key for administrative operations. The key is returned only once at creation time. Includes expiration settings and access control lists (ACLs) to limit the key's permissions.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateAdminApiKeyRequest" } } } } }, "get": { "operationId": "list_admin_api_keys", "summary": "List admin API keys", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ListAdminApiKeyResponse" } } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "List admin API keys" } }, "description": "Retrieve all API keys created by the authenticated admin. Returns metadata including creation time, last used time, and assigned permissions. The actual key material is not returned.", "security": [ { "adminApiKey": [] } ] } }, "/admin/api-keys/{keyId}": { "delete": { "operationId": "delete_admin_api_key", "summary": "Delete admin API key", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeleteApiKeyResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Delete admin API key" } }, "description": "Revokes an API key, immediately invalidating it for all future operations. This action cannot be undone.", "security": [ { "adminApiKey": [] } ], "parameters": [ { "name": "keyId", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The keyId" } ] } }, "/admin/archives/guild": { "post": { "operationId": "trigger_guild_archive", "summary": "Trigger guild archive", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AdminArchiveResponseSchema" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Trigger guild archive" } }, "description": "Initiates a data export for a guild (server). Creates an archive containing all guild data including channels, messages, members, roles, and settings.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TriggerGuildArchiveRequest" } } } } } }, "/admin/archives/list": { "post": { "operationId": "list_archives", "summary": "List archives", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListArchivesResponseSchema" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "List archives" } }, "description": "Query and filter created archives by type (user or guild), subject ID, requestor, and expiration status. Admins with limited ACLs see only archives matching their permissions.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListArchivesRequest" } } } } } }, "/admin/archives/user": { "post": { "operationId": "trigger_user_archive", "summary": "Trigger user archive", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AdminArchiveResponseSchema" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Trigger user archive" } }, "description": "Initiates a data export for a user. Creates an archive containing all the user's data (messages, server memberships, preferences, etc.) for export or compliance purposes.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TriggerUserArchiveRequest" } } } } } }, "/admin/archives/{subjectType}/{subjectId}/{archiveId}": { "get": { "operationId": "get_archive_details", "summary": "Get archive details", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetArchiveResponseSchema" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Get archive details" } }, "description": "Retrieve metadata for a specific archive including its status, creation time, expiration, and file location. Does not return the archive contents themselves.", "security": [ { "adminApiKey": [] } ], "parameters": [ { "name": "subjectType", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The subjectType" }, { "name": "subjectId", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The subjectId" }, { "name": "archiveId", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The archiveId" } ] } }, "/admin/archives/{subjectType}/{subjectId}/{archiveId}/download": { "get": { "operationId": "get_archive_download_url", "summary": "Get archive download URL", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DownloadUrlResponseSchema" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Get archive download URL" } }, "description": "Generate a time-limited download link to the archive file. The URL provides direct access to download the compressed archive contents.", "security": [ { "adminApiKey": [] } ], "parameters": [ { "name": "subjectType", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The subjectType" }, { "name": "subjectId", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The subjectId" }, { "name": "archiveId", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The archiveId" } ] } }, "/admin/assets/purge": { "post": { "operationId": "purge_guild_assets", "summary": "Purge guild assets", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PurgeGuildAssetsResponseSchema" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Purge guild assets" } }, "description": "Delete and clean up all assets belonging to a guild, including icons, banners, and other media. This is a destructive operation used for cleanup during guild management or compliance actions.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PurgeGuildAssetsRequest" } } } } } }, "/admin/audit-logs": { "post": { "operationId": "list_audit_logs", "summary": "List audit logs", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuditLogsListResponseSchema" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "List audit logs" } }, "description": "Retrieve a paginated list of audit logs with optional filtering by date range, action type, or actor. Used for tracking administrative operations and compliance auditing.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListAuditLogsRequest" } } } } } }, "/admin/audit-logs/search": { "post": { "operationId": "search_audit_logs", "summary": "Search audit logs", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuditLogsListResponseSchema" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Search audit logs" } }, "description": "Perform a full-text search across audit logs for specific events or changes. Allows targeted queries for compliance investigations or incident response.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SearchAuditLogsRequest" } } } } } }, "/admin/bans/email/add": { "post": { "operationId": "add_email_ban", "summary": "Add email ban", "tags": [ "Admin" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Add email ban" } }, "description": "Ban one or more email addresses from registering or creating accounts. Users attempting to use banned emails will be blocked.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BanEmailRequest" } } } } } }, "/admin/bans/email/check": { "post": { "operationId": "check_email_ban_status", "summary": "Check email ban status", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BanCheckResponseSchema" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Check email ban status" } }, "description": "Query whether one or more email addresses are currently banned from registration. Returns the ban status and metadata.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BanEmailRequest" } } } } } }, "/admin/bans/email/list": { "post": { "operationId": "list_email_bans", "summary": "List email bans", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListEmailBansResponseSchema" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "List email bans" } }, "description": "List currently banned email addresses.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListBansRequest" } } } } } }, "/admin/bans/email/remove": { "post": { "operationId": "remove_email_ban", "summary": "Remove email ban", "tags": [ "Admin" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Remove email ban" } }, "description": "Lift a previously applied email ban, allowing the address to be used for new registrations. Used for appeals or error correction.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BanEmailRequest" } } } } } }, "/admin/bans/ip/add": { "post": { "operationId": "add_ip_ban", "summary": "Add IP ban", "tags": [ "Admin" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Add IP ban" } }, "description": "Ban one or more IP addresses from accessing the platform. Users connecting from banned IPs will be denied service. Can be applied retroactively.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BanIpRequest" } } } } } }, "/admin/bans/ip/check": { "post": { "operationId": "check_ip_ban_status", "summary": "Check IP ban status", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BanCheckResponseSchema" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Check IP ban status" } }, "description": "Query whether one or more IP addresses are currently banned. Returns the ban status and any associated metadata like reason or expiration.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BanIpRequest" } } } } } }, "/admin/bans/ip/list": { "post": { "operationId": "list_ip_bans", "summary": "List IP bans", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListIpBansResponseSchema" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "List IP bans" } }, "description": "List currently banned IPs/CIDR ranges. Includes reverse DNS where available.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListBansRequest" } } } } } }, "/admin/bans/ip/remove": { "post": { "operationId": "remove_ip_ban", "summary": "Remove IP ban", "tags": [ "Admin" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Remove IP ban" } }, "description": "Lift a previously applied IP ban, allowing traffic from those addresses again. Used for appeals or when bans were applied in error.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BanIpRequest" } } } } } }, "/admin/bans/phone/add": { "post": { "operationId": "add_phone_ban", "summary": "Add phone ban", "tags": [ "Admin" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Add phone ban" } }, "description": "Ban one or more phone numbers from account verification or SMS operations. Users attempting to use banned numbers will be blocked.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BanPhoneRequest" } } } } } }, "/admin/bans/phone/check": { "post": { "operationId": "check_phone_ban_status", "summary": "Check phone ban status", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BanCheckResponseSchema" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Check phone ban status" } }, "description": "Query whether one or more phone numbers are currently banned. Returns the ban status and metadata for verification or appeal purposes.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BanPhoneRequest" } } } } } }, "/admin/bans/phone/list": { "post": { "operationId": "list_phone_bans", "summary": "List phone bans", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListPhoneBansResponseSchema" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "List phone bans" } }, "description": "List currently banned phone numbers.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListBansRequest" } } } } } }, "/admin/bans/phone/remove": { "post": { "operationId": "remove_phone_ban", "summary": "Remove phone ban", "tags": [ "Admin" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Remove phone ban" } }, "description": "Lift a previously applied phone ban, allowing the number to be used for verification again. Used for appeals or error correction.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BanPhoneRequest" } } } } } }, "/admin/bulk/add-guild-members": { "post": { "operationId": "bulk_add_guild_members", "summary": "Bulk add guild members", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BulkOperationResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Bulk add guild members" } }, "description": "Add multiple users to guilds in a batch operation. Bypasses normal invitation flow for administrative account setup.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BulkAddGuildMembersRequest" } } } } } }, "/admin/bulk/schedule-user-deletion": { "post": { "operationId": "schedule_bulk_user_deletion", "summary": "Schedule bulk user deletion", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BulkOperationResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Schedule bulk user deletion" } }, "description": "Queue multiple users for deactivation/deletion with an optional grace period. Deletions are processed asynchronously according to retention policies.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BulkScheduleUserDeletionRequest" } } } } } }, "/admin/bulk/update-guild-features": { "post": { "operationId": "bulk_update_guild_features", "summary": "Bulk update guild features", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BulkOperationResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Bulk update guild features" } }, "description": "Modify guild configuration and capabilities across multiple servers in a single operation. Includes feature flags, boost levels, and other guild attributes.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BulkUpdateGuildFeaturesRequest" } } } } } }, "/admin/bulk/update-user-flags": { "post": { "operationId": "bulk_update_user_flags", "summary": "Bulk update user flags", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BulkOperationResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Bulk update user flags" } }, "description": "Modify user flags (e.g., verified, bot, system) for multiple users in a single operation. Used for mass account updates or corrections.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BulkUpdateUserFlagsRequest" } } } } } }, "/admin/codes/gift": { "post": { "operationId": "generate_gift_subscription_codes", "summary": "Generate gift subscription codes", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CodesResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Generate gift subscription codes" } }, "description": "Create redeemable gift codes that grant subscription benefits (e.g. 1 month, 1 year, lifetime). Each code can be used once to activate benefits.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenerateGiftCodesRequest" } } } } } }, "/admin/discovery/applications": { "get": { "operationId": "list_discovery_applications", "summary": "List discovery applications", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/DiscoveryApplicationResponse" } } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "List discovery applications" } }, "description": "List discovery applications filtered by status. Requires DISCOVERY_REVIEW permission.", "security": [ { "adminApiKey": [] } ], "parameters": [ { "name": "status", "in": "query", "required": false, "schema": { "enum": [ "pending", "approved", "rejected", "removed" ], "type": "string", "x-enumNames": [ "pending", "approved", "rejected", "removed" ] } }, { "name": "limit", "in": "query", "required": false, "schema": { "type": "integer", "minimum": 1, "maximum": 100, "format": "int32" } }, { "name": "cursor", "in": "query", "required": false, "schema": { "type": "string" } } ] } }, "/admin/discovery/applications/{guild_id}/approve": { "post": { "operationId": "approve_discovery_application", "summary": "Approve discovery application", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DiscoveryApplicationResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Approve discovery application" } }, "description": "Approve a pending discovery application. Requires DISCOVERY_REVIEW permission.", "security": [ { "adminApiKey": [] } ], "parameters": [ { "name": "guild_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the guild" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DiscoveryAdminReviewRequest" } } } } } }, "/admin/discovery/applications/{guild_id}/reject": { "post": { "operationId": "reject_discovery_application", "summary": "Reject discovery application", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DiscoveryApplicationResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Reject discovery application" } }, "description": "Reject a pending discovery application. Requires DISCOVERY_REVIEW permission.", "security": [ { "adminApiKey": [] } ], "parameters": [ { "name": "guild_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the guild" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DiscoveryAdminRejectRequest" } } } } } }, "/admin/discovery/guilds/{guild_id}/remove": { "post": { "operationId": "remove_from_discovery", "summary": "Remove guild from discovery", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DiscoveryApplicationResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Remove guild from discovery" } }, "description": "Remove an approved guild from discovery. Requires DISCOVERY_REMOVE permission.", "security": [ { "adminApiKey": [] } ], "parameters": [ { "name": "guild_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the guild" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DiscoveryAdminRemoveRequest" } } } } } }, "/admin/gateway/memory-stats": { "post": { "operationId": "get_guild_memory_statistics", "summary": "Get guild memory statistics", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GuildMemoryStatsResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Get guild memory statistics" } }, "description": "Returns heap and resident memory usage per guild. Requires GATEWAY_MEMORY_STATS permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetProcessMemoryStatsRequest" } } } } } }, "/admin/gateway/reload-all": { "post": { "operationId": "reload_all_specified_guilds", "summary": "Reload specified guilds", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ReloadAllGuildsResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Reload specified guilds" } }, "description": "Reconnects to the database and re-syncs guild state. Used for recovery after data inconsistencies. Requires GATEWAY_RELOAD_ALL permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ReloadGuildsRequest" } } } } } }, "/admin/gateway/stats": { "get": { "operationId": "get_gateway_node_statistics", "summary": "Get gateway node statistics", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NodeStatsResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Get gateway node statistics" } }, "description": "Returns uptime, process memory, and guild count. Used to monitor gateway health and performance. Requires GATEWAY_MEMORY_STATS permission.", "security": [ { "adminApiKey": [] } ] } }, "/admin/guilds/ban-member": { "post": { "operationId": "ban_guild_member", "summary": "Ban guild member", "tags": [ "Admin" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Ban guild member" } }, "description": "Permanently bans a user from a guild. Prevents user from joining. Logged to audit log. Requires GUILD_BAN_MEMBER permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BanGuildMemberRequest" } } } } } }, "/admin/guilds/clear-fields": { "post": { "operationId": "clear_guild_fields", "summary": "Clear guild fields", "tags": [ "Admin" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Clear guild fields" } }, "description": "Clears specified optional guild fields such as icon, banner, or description. Logged to audit log. Requires GUILD_UPDATE_SETTINGS permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ClearGuildFieldsRequest" } } } } } }, "/admin/guilds/delete": { "post": { "operationId": "delete_guild", "summary": "Delete guild", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SuccessResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Delete guild" } }, "description": "Permanently deletes a guild. Deletes all channels, messages, and settings. Irreversible operation. Logged to audit log. Requires GUILD_DELETE permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeleteGuildRequest" } } } } } }, "/admin/guilds/force-add-user": { "post": { "operationId": "force_add_user_to_guild", "summary": "Force add user to guild", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SuccessResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Force add user to guild" } }, "description": "Forcefully adds a user to a guild. Bypasses normal invite flow for administrative account recovery. Logged to audit log. Requires GUILD_FORCE_ADD_MEMBER permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ForceAddUserToGuildRequest" } } } } } }, "/admin/guilds/kick-member": { "post": { "operationId": "kick_guild_member", "summary": "Kick guild member", "tags": [ "Admin" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Kick guild member" } }, "description": "Temporarily removes a user from a guild. User can rejoin. Logged to audit log. Requires GUILD_KICK_MEMBER permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/KickGuildMemberRequest" } } } } } }, "/admin/guilds/list-members": { "post": { "operationId": "list_guild_members", "summary": "List guild members", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListGuildMembersResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "List guild members" } }, "description": "Lists all guild members with pagination. Returns member IDs, join dates, and roles. Requires GUILD_LIST_MEMBERS permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListGuildMembersRequest" } } } } } }, "/admin/guilds/lookup": { "post": { "operationId": "lookup_guild", "summary": "Look up guild", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LookupGuildResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Look up guild" } }, "description": "Retrieves complete guild details including metadata, settings, and statistics. Look up by guild ID or vanity slug. Requires GUILD_LOOKUP permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LookupGuildRequest" } } } } } }, "/admin/guilds/reload": { "post": { "operationId": "reload_guild", "summary": "Reload guild", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SuccessResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Reload guild" } }, "description": "Reloads a single guild state from database. Used to recover from corruption or sync issues. Logged to audit log. Requires GUILD_RELOAD permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ReloadGuildRequest" } } } } } }, "/admin/guilds/search": { "post": { "operationId": "search_guilds", "summary": "Search guilds", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SearchGuildsResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Search guilds" } }, "description": "Searches guilds by name, ID, and other criteria. Supports full-text search and filtering. Requires GUILD_LOOKUP permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SearchGuildsRequest" } } } } } }, "/admin/guilds/shutdown": { "post": { "operationId": "shutdown_guild", "summary": "Shutdown guild", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SuccessResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Shutdown guild" } }, "description": "Shuts down and unloads a guild from the gateway. Guild data remains in database. Used for emergency resource cleanup. Logged to audit log. Requires GUILD_SHUTDOWN permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ShutdownGuildRequest" } } } } } }, "/admin/guilds/transfer-ownership": { "post": { "operationId": "transfer_guild_ownership", "summary": "Transfer guild ownership", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GuildUpdateResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Transfer guild ownership" } }, "description": "Transfers guild ownership to another user. Used when owner is inactive or for administrative recovery. Logged to audit log. Requires GUILD_TRANSFER_OWNERSHIP permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TransferGuildOwnershipRequest" } } } } } }, "/admin/guilds/update-features": { "post": { "operationId": "update_guild_features", "summary": "Update guild features", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GuildUpdateResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Update guild features" } }, "description": "Enables or disables guild feature flags. Modifies verification levels and community settings. Changes are logged to audit log. Requires GUILD_UPDATE_FEATURES permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateGuildFeaturesRequest" } } } } } }, "/admin/guilds/update-name": { "post": { "operationId": "update_guild_name", "summary": "Update guild name", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GuildUpdateResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Update guild name" } }, "description": "Changes a guild name. Used for removing inappropriate names or correcting display issues. Logged to audit log. Requires GUILD_UPDATE_NAME permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateGuildNameRequest" } } } } } }, "/admin/guilds/update-settings": { "post": { "operationId": "update_guild_settings", "summary": "Update guild settings", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GuildUpdateResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Update guild settings" } }, "description": "Modifies guild configuration including description, region, language and other settings. Logged to audit log. Requires GUILD_UPDATE_SETTINGS permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateGuildSettingsRequest" } } } } } }, "/admin/guilds/update-vanity": { "post": { "operationId": "update_guild_vanity", "summary": "Update guild vanity", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GuildUpdateResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Update guild vanity" } }, "description": "Updates a guild vanity URL slug. Sets custom short URL and prevents duplicate slugs. Logged to audit log. Requires GUILD_UPDATE_VANITY permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateGuildVanityRequest" } } } } } }, "/admin/guilds/{guild_id}/emojis": { "get": { "operationId": "list_guild_emojis", "summary": "List guild emojis", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListGuildEmojisResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "List guild emojis" } }, "description": "Lists all custom emojis in a guild. Returns ID, name, and creation date. Used for asset inventory and purge operations. Requires ASSET_PURGE permission.", "security": [ { "adminApiKey": [] } ], "parameters": [ { "name": "guild_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the guild" } ] } }, "/admin/guilds/{guild_id}/stickers": { "get": { "operationId": "list_guild_stickers", "summary": "List guild stickers", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListGuildStickersResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "List guild stickers" } }, "description": "Lists all stickers in a guild. Returns ID, name, and asset information. Used for asset inventory and purge operations. Requires ASSET_PURGE permission.", "security": [ { "adminApiKey": [] } ], "parameters": [ { "name": "guild_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the guild" } ] } }, "/admin/instance-config/get": { "post": { "operationId": "get_instance_config", "summary": "Get instance configuration", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InstanceConfigResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Get instance configuration" } }, "description": "Retrieves instance-wide configuration including manual review settings, webhooks, and SSO configuration. Returns current state and schedule information. Requires INSTANCE_CONFIG_VIEW permission.", "security": [ { "adminApiKey": [] } ] } }, "/admin/instance-config/update": { "post": { "operationId": "update_instance_config", "summary": "Update instance configuration", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InstanceConfigResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Update instance configuration" } }, "description": "Updates instance configuration settings including manual review mode, webhook URLs, and SSO parameters. Changes apply immediately. Requires INSTANCE_CONFIG_UPDATE permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InstanceConfigUpdateRequest" } } } } } }, "/admin/limit-config/get": { "post": { "operationId": "get_limit_config", "summary": "Get limit configuration", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LimitConfigGetResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Get limit configuration" } }, "description": "Retrieves rate limit configuration including message limits, upload limits, and request throttles. Shows defaults, metadata, and any modifications from defaults. Requires INSTANCE_LIMIT_CONFIG_VIEW permission.", "security": [ { "adminApiKey": [] } ] } }, "/admin/limit-config/update": { "post": { "operationId": "update_limit_config", "summary": "Update limit configuration", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LimitConfigGetResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Update limit configuration" } }, "description": "Updates rate limit configuration including message throughput, upload sizes, and request throttles. Changes apply immediately to all new operations. Requires INSTANCE_LIMIT_CONFIG_UPDATE permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LimitConfigUpdateRequest" } } } } } }, "/admin/messages/delete": { "post": { "operationId": "delete_message", "summary": "Delete single message", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeleteMessageResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Delete single message" } }, "description": "Deletes a single message permanently. Used for removing inappropriate or harmful content. Logged to audit log. Requires MESSAGE_DELETE permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeleteMessageRequest" } } } } } }, "/admin/messages/delete-all": { "post": { "operationId": "delete_all_user_messages", "summary": "Delete all user messages", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeleteAllUserMessagesResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Delete all user messages" } }, "description": "Deletes all messages from a specific user across all channels. Permanent operation used for account suspension or policy violation. Requires MESSAGE_DELETE_ALL permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeleteAllUserMessagesRequest" } } } } } }, "/admin/messages/lookup": { "post": { "operationId": "lookup_message", "summary": "Look up message details", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LookupMessageResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Look up message details" } }, "description": "Retrieves complete message details including content, attachments, edits, and metadata. Look up by message ID and channel. Requires MESSAGE_LOOKUP permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LookupMessageRequest" } } } } } }, "/admin/messages/lookup-by-attachment": { "post": { "operationId": "lookup_message_by_attachment", "summary": "Look up message by attachment", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LookupMessageResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Look up message by attachment" } }, "description": "Finds and retrieves message containing a specific attachment by ID. Used to locate messages with sensitive or illegal content. Requires MESSAGE_LOOKUP permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LookupMessageByAttachmentRequest" } } } } } }, "/admin/messages/shred": { "post": { "operationId": "queue_message_shred", "summary": "Queue message shred operation", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MessageShredResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Queue message shred operation" } }, "description": "Queues bulk message shredding with attachment deletion. Returns job ID to track progress asynchronously. Used for large-scale content removal. Requires MESSAGE_SHRED permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MessageShredRequest" } } } } } }, "/admin/messages/shred-status": { "post": { "operationId": "get_message_shred_status", "summary": "Get message shred status", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MessageShredStatusResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Get message shred status" } }, "description": "Polls status of a queued message shred operation. Returns progress percentage and whether the job is complete. Requires MESSAGE_SHRED permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MessageShredStatusRequest" } } } } } }, "/admin/reports/list": { "post": { "operationId": "list_reports", "summary": "List reports", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListReportsResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "List reports" } }, "description": "Lists user and content reports with optional status filtering and pagination. Requires REPORT_VIEW permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListReportsRequest" } } } } } }, "/admin/reports/resolve": { "post": { "operationId": "resolve_report", "summary": "Resolve report", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResolveReportResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Resolve report" } }, "description": "Closes and resolves a report with optional public comment. Marks report as handled and creates audit log entry. Requires REPORT_RESOLVE permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResolveReportRequest" } } } } } }, "/admin/reports/search": { "post": { "operationId": "search_reports", "summary": "Search reports", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SearchReportsResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Search reports" } }, "description": "Searches and filters reports by user, content, reason, and status criteria. Supports full-text search and advanced filtering. Requires REPORT_VIEW permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SearchReportsRequest" } } } } } }, "/admin/reports/{report_id}": { "get": { "operationId": "get_report", "summary": "Get report details", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ReportAdminResponseSchema" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Get report details" } }, "description": "Retrieves detailed information about a specific report including content, reporter, and reason. Requires REPORT_VIEW permission.", "security": [ { "adminApiKey": [] } ], "parameters": [ { "name": "report_id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The report id" } ] } }, "/admin/reports/{report_id}/legal-hold": { "get": { "operationId": "get_legal_hold_status", "summary": "Get legal hold status", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LegalHoldResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Get legal hold status" } }, "description": "Retrieve the current legal hold status of a report. Indicates whether evidence is preserved for legal proceedings and the hold expiration date if set.", "security": [ { "adminApiKey": [] } ], "parameters": [ { "name": "report_id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The report id" } ] }, "post": { "operationId": "set_legal_hold_on_evidence", "summary": "Set legal hold on evidence", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LegalHoldResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Set legal hold on evidence" } }, "description": "Place a legal hold on report evidence to prevent automatic deletion. Used for compliance with legal investigations or regulatory requirements. Optionally specify an expiration date.", "security": [ { "adminApiKey": [] } ], "parameters": [ { "name": "report_id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The report id" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LegalHoldRequest" } } } } }, "delete": { "operationId": "release_legal_hold_on_evidence", "summary": "Release legal hold on evidence", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LegalHoldResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Release legal hold on evidence" } }, "description": "Remove a legal hold on a report. Evidence becomes eligible for automatic deletion per the retention policy. Used after legal matters are resolved.", "security": [ { "adminApiKey": [] } ], "parameters": [ { "name": "report_id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The report id" } ] } }, "/admin/reports/{report_id}/ncmec-status": { "get": { "operationId": "get_ncmec_submission_status", "summary": "Get NCMEC submission status", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NcmecSubmissionStatusResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Get NCMEC submission status" } }, "description": "Retrieve the submission status of a report to the National Center for Missing & Exploited Children. Shows whether the report has been submitted and the current status with NCMEC.", "security": [ { "adminApiKey": [] } ], "parameters": [ { "name": "report_id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The report id" } ] } }, "/admin/reports/{report_id}/ncmec-submit": { "post": { "operationId": "submit_report_to_ncmec", "summary": "Submit report to NCMEC", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NcmecSubmitResultResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Submit report to NCMEC" } }, "description": "Manually submit a child safety report to the National Center for Missing & Exploited Children. Requires explicit authorization and includes evidence packaging. Can only be done once per report.", "security": [ { "adminApiKey": [] } ], "parameters": [ { "name": "report_id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The report id" } ] } }, "/admin/search/refresh-index": { "post": { "operationId": "refresh_search_index", "summary": "Refresh search index", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RefreshSearchIndexResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Refresh search index" } }, "description": "Trigger full or partial search index rebuild. Creates background job to reindex guilds and users. Returns job ID for status tracking. Requires GUILD_LOOKUP permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RefreshSearchIndexRequest" } } } } } }, "/admin/search/refresh-status": { "post": { "operationId": "get_search_index_refresh_status", "summary": "Get search index refresh status", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IndexRefreshStatusResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Get search index refresh status" } }, "description": "Polls status of a search index refresh job. Returns completion percentage and current phase. Requires GUILD_LOOKUP permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetIndexRefreshStatusRequest" } } } } } }, "/admin/snowflake-reservations/add": { "post": { "operationId": "add_snowflake_reservation", "summary": "Add snowflake reservation", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SuccessResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Add snowflake reservation" } }, "description": "Reserves a snowflake ID range for future allocation. Creates audit log entry. Requires INSTANCE_SNOWFLAKE_RESERVATION_MANAGE permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AddSnowflakeReservationRequest" } } } } } }, "/admin/snowflake-reservations/delete": { "post": { "operationId": "delete_snowflake_reservation", "summary": "Delete snowflake reservation", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SuccessResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Delete snowflake reservation" } }, "description": "Removes a snowflake ID reservation range. Creates audit log entry. Requires INSTANCE_SNOWFLAKE_RESERVATION_MANAGE permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeleteSnowflakeReservationRequest" } } } } } }, "/admin/snowflake-reservations/list": { "post": { "operationId": "list_snowflake_reservations", "summary": "List snowflake reservations", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListSnowflakeReservationsResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "List snowflake reservations" } }, "description": "Lists all reserved snowflake ID ranges. Shows ranges reserved for future entities and their allocation status. Requires INSTANCE_SNOWFLAKE_RESERVATION_VIEW permission.", "security": [ { "adminApiKey": [] } ] } }, "/admin/system-dm-jobs": { "post": { "operationId": "create_system_dm_job", "summary": "Create system DM job", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SystemDmJobResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Create system DM job" } }, "description": "Creates a system DM broadcast job to send messages to users matching registration date criteria. Supports date range filtering and guild exclusions. Requires SYSTEM_DM_SEND permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateSystemDmJobRequest" } } } } }, "get": { "operationId": "list_system_dm_jobs", "summary": "List system DM jobs", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListSystemDmJobsResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "List system DM jobs" } }, "description": "Lists system DM broadcast jobs with pagination. Shows job status, creation time, and content preview. Requires SYSTEM_DM_SEND permission.", "security": [ { "adminApiKey": [] } ], "parameters": [ { "name": "limit", "in": "query", "required": false, "schema": { "type": "string", "description": "Maximum number of jobs to return (1-100, default 20)" } }, { "name": "before_job_id", "in": "query", "required": false, "schema": { "$ref": "#/components/schemas/SnowflakeType" } } ] } }, "/admin/system-dm-jobs/{job_id}/approve": { "post": { "operationId": "approve_system_dm_job", "summary": "Approve system DM job", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SystemDmJobResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Approve system DM job" } }, "description": "Approves and queues a system DM job for immediate execution. Creates audit log entry. Job will begin sending messages to target users. Requires SYSTEM_DM_SEND permission.", "security": [ { "adminApiKey": [] } ], "parameters": [ { "name": "job_id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The job id" } ] } }, "/admin/users/cancel-bulk-message-deletion": { "post": { "operationId": "cancel_bulk_message_deletion", "summary": "Cancel bulk message deletion", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserMutationResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Cancel bulk message deletion" } }, "description": "Cancel a scheduled bulk message deletion job for a user. Prevents deletion of user messages across guilds. Creates audit log entry. Requires USER_CANCEL_BULK_MESSAGE_DELETION permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CancelBulkMessageDeletionRequest" } } } } } }, "/admin/users/cancel-deletion": { "post": { "operationId": "cancel_account_deletion", "summary": "Cancel account deletion", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserMutationResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Cancel account deletion" } }, "description": "Cancel a scheduled account deletion. User account restoration prevents data loss. Creates audit log entry. Requires USER_DELETE permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DisableMfaRequest" } } } } } }, "/admin/users/change-dob": { "post": { "operationId": "change_user_dob", "summary": "Change user DOB", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserMutationResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Change user DOB" } }, "description": "Update user date of birth. May affect age-restricted content access. Creates audit log entry. Requires USER_UPDATE_DOB permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ChangeDobRequest" } } } } } }, "/admin/users/change-email": { "post": { "operationId": "change_user_email", "summary": "Change user email", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserMutationResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Change user email" } }, "description": "Change user email address. New email must be valid and unique. Marks email as verified. Creates audit log entry. Requires USER_UPDATE_EMAIL permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ChangeEmailRequest" } } } } } }, "/admin/users/change-log": { "post": { "operationId": "get_user_change_log", "summary": "Get user change log", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListUserChangeLogResponseSchema" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Get user change log" } }, "description": "Retrieve complete change log history for a user. Shows all profile modifications, admin actions, and account changes with timestamps. Requires USER_LOOKUP permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListUserChangeLogRequest" } } } } } }, "/admin/users/change-username": { "post": { "operationId": "change_user_username", "summary": "Change user username", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserMutationResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Change user username" } }, "description": "Change user username. New username must meet requirements and be unique. Creates audit log entry. Requires USER_UPDATE_USERNAME permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ChangeUsernameRequest" } } } } } }, "/admin/users/clear-fields": { "post": { "operationId": "clear_user_fields", "summary": "Clear user fields", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserMutationResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Clear user fields" } }, "description": "Clear or reset user profile fields such as bio, avatar, or status. Creates audit log entry. Requires USER_UPDATE_PROFILE permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ClearUserFieldsRequest" } } } } } }, "/admin/users/delete-webauthn-credential": { "post": { "operationId": "delete_user_webauthn_credential", "summary": "Delete user WebAuthn credential", "tags": [ "Admin" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Delete user WebAuthn credential" } }, "description": "Delete a specific WebAuthn credential (passkey/security key) from a user account. Creates audit log entry. Requires USER_UPDATE_MFA permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeleteWebAuthnCredentialRequest" } } } } } }, "/admin/users/disable-mfa": { "post": { "operationId": "disable_user_mfa", "summary": "Disable user MFA", "tags": [ "Admin" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Disable user MFA" } }, "description": "Disable two-factor authentication for user account. Removes all authenticators. Creates audit log entry. Requires USER_UPDATE_MFA permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DisableMfaRequest" } } } } } }, "/admin/users/disable-suspicious": { "post": { "operationId": "disable_user_suspicious", "summary": "Disable user for suspicious activity", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserMutationResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Disable user for suspicious activity" } }, "description": "Disable user account due to suspicious activity or abuse. Account is locked pending review. User cannot access services. Creates audit log entry. Requires USER_DISABLE_SUSPICIOUS permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DisableForSuspiciousActivityRequest" } } } } } }, "/admin/users/list-dm-channels": { "post": { "operationId": "list_user_dm_channels", "summary": "List user DM channels", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListUserDmChannelsResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "List user DM channels" } }, "description": "List historical one-to-one DM channels for a user with cursor pagination. Requires USER_LIST_DM_CHANNELS permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListUserDmChannelsRequest" } } } } } }, "/admin/users/list-guilds": { "post": { "operationId": "list_user_guilds", "summary": "List user guilds", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListUserGuildsResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "List user guilds" } }, "description": "List all guilds a user is a member of. Shows roles and join dates. Requires USER_LIST_GUILDS permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListUserGuildsRequest" } } } } } }, "/admin/users/list-sessions": { "post": { "operationId": "list_user_sessions", "summary": "List user sessions", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListUserSessionsResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "List user sessions" } }, "description": "List all active user sessions across devices. Shows device info, IP, last activity, and creation time. Requires USER_LIST_SESSIONS permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListUserSessionsRequest" } } } } } }, "/admin/users/list-webauthn-credentials": { "post": { "operationId": "list_user_webauthn_credentials", "summary": "List user WebAuthn credentials", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WebAuthnCredentialListResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "List user WebAuthn credentials" } }, "description": "List all WebAuthn credentials (passkeys/security keys) registered for a user. Returns credential names, creation dates, and last usage. Creates audit log entry. Requires USER_UPDATE_MFA permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListWebAuthnCredentialsRequest" } } } } } }, "/admin/users/lookup": { "post": { "operationId": "lookup_user", "summary": "Lookup user", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LookupUserResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Lookup user" } }, "description": "Look up detailed user profile by ID, username, email, or phone. Returns account status, permissions, and metadata. Requires USER_LOOKUP permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LookupUserRequest" } } } } } }, "/admin/users/me": { "get": { "operationId": "get_authenticated_admin_user", "summary": "Get authenticated admin user", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AdminUsersMeResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Get authenticated admin user" } }, "description": "Get profile of currently authenticated admin user. Returns admin permissions, roles, and metadata. Requires AUTHENTICATE permission.", "security": [ { "adminApiKey": [] } ] } }, "/admin/users/resend-verification-email": { "post": { "operationId": "admin_resend_verification_email", "summary": "Resend verification email", "tags": [ "Admin" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Resend verification email" } }, "description": "Resend the account verification email for a user. Creates audit log entry and honours email verification resend limits. Requires USER_UPDATE_EMAIL permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResendVerificationEmailRequest" } } } } } }, "/admin/users/schedule-deletion": { "post": { "operationId": "schedule_account_deletion", "summary": "Schedule account deletion", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserMutationResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Schedule account deletion" } }, "description": "Schedule user account for deletion after grace period. Account will be fully deleted with all content unless cancellation is executed. Creates audit log entry. Requires USER_DELETE permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ScheduleAccountDeletionRequest" } } } } } }, "/admin/users/search": { "post": { "operationId": "search_users", "summary": "Search users", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SearchUsersResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Search users" } }, "description": "Searches users by username, email, ID, and other criteria. Supports full-text search and filtering by account status. Requires USER_LOOKUP permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SearchUsersRequest" } } } } } }, "/admin/users/send-password-reset": { "post": { "operationId": "send_password_reset", "summary": "Send password reset", "tags": [ "Admin" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Send password reset" } }, "description": "Send password reset email to user with reset link. User must use link within expiry window. Creates audit log entry. Requires USER_UPDATE_EMAIL permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SendPasswordResetRequest" } } } } } }, "/admin/users/set-acls": { "post": { "operationId": "set_user_acls", "summary": "Set user ACLs", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserMutationResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Set user ACLs" } }, "description": "Grant or revoke admin ACL permissions to user. Controls admin capabilities and panel access. Creates audit log entry. Requires ACL_SET_USER permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SetUserAclsRequest" } } } } } }, "/admin/users/set-bot-status": { "post": { "operationId": "set_user_bot_status", "summary": "Set user bot status", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserMutationResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Set user bot status" } }, "description": "Mark or unmark a user account as a bot. Controls bot badge visibility and API permissions. Creates audit log entry. Requires USER_UPDATE_BOT_STATUS permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SetUserBotStatusRequest" } } } } } }, "/admin/users/set-system-status": { "post": { "operationId": "set_user_system_status", "summary": "Set user system status", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserMutationResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Set user system status" } }, "description": "Mark or unmark a user as a system account. System accounts have special permissions for automated operations. Creates audit log entry. Requires USER_UPDATE_BOT_STATUS permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SetUserSystemStatusRequest" } } } } } }, "/admin/users/set-traits": { "post": { "operationId": "set_user_traits", "summary": "Set user traits", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserMutationResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Set user traits" } }, "description": "Set or update user trait attributes and profile metadata. Traits customize user display and features. Creates audit log entry. Requires USER_UPDATE_TRAITS permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SetUserTraitsRequest" } } } } } }, "/admin/users/temp-ban": { "post": { "operationId": "temp_ban_user", "summary": "Temp ban user", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserMutationResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Temp ban user" } }, "description": "Apply temporary ban to user account for specified duration. Prevents login and guild operations. Automatically lifts after expiry. Creates audit log entry. Requires USER_TEMP_BAN permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TempBanUserRequest" } } } } } }, "/admin/users/terminate-sessions": { "post": { "operationId": "terminate_user_sessions", "summary": "Terminate user sessions", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TerminateSessionsResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Terminate user sessions" } }, "description": "Terminate all active user sessions across devices. Forces user to re-authenticate on next connection. Creates audit log entry. Requires USER_UPDATE_FLAGS permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TerminateSessionsRequest" } } } } } }, "/admin/users/unban": { "post": { "operationId": "unban_user", "summary": "Unban user", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserMutationResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Unban user" } }, "description": "Immediately remove temporary ban from user account. User can log in and access guilds again. Creates audit log entry. Requires USER_TEMP_BAN permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DisableMfaRequest" } } } } } }, "/admin/users/unlink-phone": { "post": { "operationId": "unlink_user_phone", "summary": "Unlink user phone", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserMutationResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Unlink user phone" } }, "description": "Remove phone number from user account. Unlinks any two-factor authentication that depends on phone. Creates audit log entry. Requires USER_UPDATE_PHONE permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnlinkPhoneRequest" } } } } } }, "/admin/users/update-flags": { "post": { "operationId": "update_user_flags", "summary": "Update user flags", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserMutationResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Update user flags" } }, "description": "Add or remove user flags to control account features and restrictions. Flags determine verification status and special properties. Creates audit log entry. Requires USER_UPDATE_FLAGS permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateUserFlagsRequest" } } } } } }, "/admin/users/update-suspicious-activity-flags": { "post": { "operationId": "update_suspicious_activity_flags", "summary": "Update suspicious activity flags", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserMutationResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Update suspicious activity flags" } }, "description": "Flag user as suspicious for account abuse, fraud, or policy violations. Enables enforcement actions and rate limiting. Creates audit log entry. Requires USER_UPDATE_SUSPICIOUS_ACTIVITY permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateSuspiciousActivityFlagsRequest" } } } } } }, "/admin/users/verify-email": { "post": { "operationId": "verify_user_email", "summary": "Verify user email", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserMutationResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Verify user email" } }, "description": "Manually verify user email address without requiring confirmation link. Bypasses email verification requirement. Creates audit log entry. Requires USER_UPDATE_EMAIL permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/VerifyUserEmailRequest" } } } } } }, "/admin/visionary-slots": { "get": { "operationId": "list_visionary_slots", "summary": "List all visionary slots", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListVisionarySlotsResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "List all visionary slots" } }, "description": "Retrieve the complete list of visionary slots with their reservation status.", "security": [ { "adminApiKey": [] } ] } }, "/admin/visionary-slots/expand": { "post": { "operationId": "expand_visionary_slots", "summary": "Expand visionary slots", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/VisionarySlotOperationResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Expand visionary slots" } }, "description": "Create additional visionary slots. New slots are added at the next available indices.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExpandVisionarySlotsRequest" } } } } } }, "/admin/visionary-slots/reserve": { "post": { "operationId": "reserve_visionary_slot", "summary": "Reserve or unreserve a visionary slot", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/VisionarySlotOperationResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Reserve or unreserve a visionary slot" } }, "description": "Reserve a specific slot index for a user ID, or unreserve it by setting user_id to null. Special value -1 is also valid for user_id.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ReserveVisionarySlotRequest" } } } } } }, "/admin/visionary-slots/shrink": { "post": { "operationId": "shrink_visionary_slots", "summary": "Shrink visionary slots", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/VisionarySlotOperationResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Shrink visionary slots" } }, "description": "Reduce the total number of visionary slots. Only unreserved slots from the highest indices can be removed. Fails if reserved slots would be deleted.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ShrinkVisionarySlotsRequest" } } } } } }, "/admin/visionary-slots/swap": { "post": { "operationId": "swap_visionary_slots", "summary": "Swap visionary slot reservations", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/VisionarySlotOperationResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Swap visionary slot reservations" } }, "description": "Swap the reserved user IDs between two slot indices.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SwapVisionarySlotsRequest" } } } } } }, "/admin/voice/regions/create": { "post": { "operationId": "create_voice_region", "summary": "Create voice region", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateVoiceRegionResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Create voice region" } }, "description": "Creates a new voice server region. Defines geographic location and performance characteristics for voice routing. Creates audit log entry. Requires VOICE_REGION_CREATE permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateVoiceRegionRequest" } } } } } }, "/admin/voice/regions/delete": { "post": { "operationId": "delete_voice_region", "summary": "Delete voice region", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeleteVoiceResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Delete voice region" } }, "description": "Deletes a voice region. Removes region from routing and reassigns active connections. Creates audit log entry. Requires VOICE_REGION_DELETE permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeleteVoiceRegionRequest" } } } } } }, "/admin/voice/regions/get": { "post": { "operationId": "get_voice_region", "summary": "Get voice region", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetVoiceRegionResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Get voice region" } }, "description": "Gets detailed information about a voice region including assigned servers and capacity. Shows performance metrics and server details. Requires VOICE_REGION_LIST permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetVoiceRegionRequest" } } } } } }, "/admin/voice/regions/list": { "post": { "operationId": "list_voice_regions", "summary": "List voice regions", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListVoiceRegionsResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "List voice regions" } }, "description": "Lists all configured voice server regions with status and server count. Shows region names, latency info, and availability. Requires VOICE_REGION_LIST permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListVoiceRegionsRequest" } } } } } }, "/admin/voice/regions/update": { "post": { "operationId": "update_voice_region", "summary": "Update voice region", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateVoiceRegionResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Update voice region" } }, "description": "Updates voice region settings such as latency thresholds or priority. Changes affect voice routing for new sessions. Creates audit log entry. Requires VOICE_REGION_UPDATE permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateVoiceRegionRequest" } } } } } }, "/admin/voice/servers/create": { "post": { "operationId": "create_voice_server", "summary": "Create voice server", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateVoiceServerResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Create voice server" } }, "description": "Creates and provisions a new voice server instance in a region. Configures capacity, codecs, and encryption. Creates audit log entry. Requires VOICE_SERVER_CREATE permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateVoiceServerRequest" } } } } } }, "/admin/voice/servers/delete": { "post": { "operationId": "delete_voice_server", "summary": "Delete voice server", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeleteVoiceResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Delete voice server" } }, "description": "Decommissions and removes a voice server instance. Disconnects active sessions and migrates to other servers. Creates audit log entry. Requires VOICE_SERVER_DELETE permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeleteVoiceServerRequest" } } } } } }, "/admin/voice/servers/get": { "post": { "operationId": "get_voice_server", "summary": "Get voice server", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetVoiceServerResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Get voice server" } }, "description": "Gets detailed voice server information including active connections, configuration, and performance metrics. Requires VOICE_SERVER_LIST permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetVoiceServerRequest" } } } } } }, "/admin/voice/servers/list": { "post": { "operationId": "list_voice_servers", "summary": "List voice servers", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListVoiceServersResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "List voice servers" } }, "description": "Lists all voice servers with connection counts and capacity. Shows server status, region assignment, and load metrics. Supports filtering and pagination. Requires VOICE_SERVER_LIST permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListVoiceServersRequest" } } } } } }, "/admin/voice/servers/update": { "post": { "operationId": "update_voice_server", "summary": "Update voice server", "tags": [ "Admin" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateVoiceServerResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Update voice server" } }, "description": "Updates voice server configuration including capacity, region assignment, and quality settings. Changes apply to new connections. Creates audit log entry. Requires VOICE_SERVER_UPDATE permission.", "security": [ { "adminApiKey": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateVoiceServerRequest" } } } } } }, "/applications/@me": { "get": { "operationId": "get_current_user_applications", "summary": "List current user applications", "tags": [ "OAuth2" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApplicationsMeResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "List current user applications" } }, "description": "Lists all OAuth2 applications registered by the authenticated user. Includes application credentials and metadata. Requires valid OAuth2 access token.", "security": [ { "botToken": [] } ] } }, "/auth/authorize-ip": { "post": { "operationId": "authorize_ip_address", "summary": "Authorize IP address", "tags": [ "Auth" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Authorize IP address" } }, "description": "Verify and authorize a new IP address using the confirmation code sent via email. Completes IP authorization flow.", "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthorizeIpRequest" } } } } } }, "/auth/email-revert": { "post": { "operationId": "revert_email_change", "summary": "Revert email change", "tags": [ "Auth" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthLoginResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Revert email change" } }, "description": "Revert a pending email change using the verification token sent to the old email. Returns authentication token after successful revert.", "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EmailRevertRequest" } } } } } }, "/auth/forgot": { "post": { "operationId": "forgot_password", "summary": "Forgot password", "tags": [ "Auth" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Forgot password" } }, "description": "Initiate password reset process by email. A password reset link will be sent to the user's email address. Requires CAPTCHA verification.", "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ForgotPasswordRequest" } } } } } }, "/auth/handoff/complete": { "post": { "operationId": "complete_handoff", "summary": "Complete handoff", "tags": [ "Auth" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Complete handoff" } }, "description": "Complete the handoff process and authenticate on the target device using the handoff code.", "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HandoffCompleteRequest" } } } } } }, "/auth/handoff/initiate": { "post": { "operationId": "initiate_handoff", "summary": "Initiate handoff", "tags": [ "Auth" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HandoffInitiateResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Initiate handoff" } }, "description": "Start a handoff session to transfer authentication between devices. Returns a handoff code for device linking." } }, "/auth/handoff/{code}": { "delete": { "operationId": "cancel_handoff", "summary": "Cancel handoff", "tags": [ "Auth" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Cancel handoff" } }, "description": "Cancel an ongoing handoff session. The handoff code will no longer be valid for authentication.", "parameters": [ { "name": "code", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The code" } ] } }, "/auth/handoff/{code}/status": { "get": { "operationId": "get_handoff_status", "summary": "Get handoff status", "tags": [ "Auth" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HandoffStatusResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Get handoff status" } }, "description": "Check the status of a handoff session. Returns whether the handoff has been completed or is still pending.", "parameters": [ { "name": "code", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The code" } ] } }, "/auth/ip-authorization/poll": { "get": { "operationId": "poll_ip_authorization", "summary": "Poll IP authorization", "tags": [ "Auth" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IpAuthorizationPollResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Poll IP authorization" } }, "description": "Poll the status of an IP authorization request. Use the ticket parameter to check if verification has been completed.", "parameters": [ { "name": "ticket", "in": "query", "required": true, "schema": { "type": "string", "description": "The IP authorization ticket" } } ] } }, "/auth/ip-authorization/resend": { "post": { "operationId": "resend_ip_authorization", "summary": "Resend IP authorization", "tags": [ "Auth" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Resend IP authorization" } }, "description": "Request a new IP authorization verification code to be sent via email. Use if the original code was lost or expired.", "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MfaTicketRequest" } } } } } }, "/auth/login": { "post": { "operationId": "login_user", "summary": "Login account", "tags": [ "Auth" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthLoginResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Login account" } }, "description": "Authenticate with email and password. Returns authentication token if credentials are valid and MFA is not required. If MFA is enabled, returns a ticket for MFA verification.", "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LoginRequest" } } } } } }, "/auth/login/mfa/sms": { "post": { "operationId": "login_with_sms_mfa", "summary": "Login with SMS MFA", "tags": [ "Auth" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthTokenWithUserIdResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Login with SMS MFA" } }, "description": "Complete login by verifying the SMS code sent during MFA authentication. Requires the MFA ticket from initial login attempt.", "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MfaSmsRequest" } } } } } }, "/auth/login/mfa/sms/send": { "post": { "operationId": "send_sms_mfa_code", "summary": "Send SMS MFA code", "tags": [ "Auth" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Send SMS MFA code" } }, "description": "Request an SMS code to be sent to the user's registered phone number during MFA login. Requires the MFA ticket from initial login attempt.", "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MfaTicketRequest" } } } } } }, "/auth/login/mfa/totp": { "post": { "operationId": "login_with_totp", "summary": "Login with TOTP", "tags": [ "Auth" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthTokenWithUserIdResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Login with TOTP" } }, "description": "Complete login by verifying TOTP code during multi-factor authentication. Requires the MFA ticket from initial login attempt.", "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MfaTotpRequest" } } } } } }, "/auth/login/mfa/webauthn": { "post": { "operationId": "login_with_webauthn_mfa", "summary": "Login with WebAuthn MFA", "tags": [ "Auth" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthTokenWithUserIdResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Login with WebAuthn MFA" } }, "description": "Complete login by verifying WebAuthn response during MFA. Requires the MFA ticket from initial login attempt.", "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WebAuthnMfaRequest" } } } } } }, "/auth/login/mfa/webauthn/authentication-options": { "post": { "operationId": "get_webauthn_mfa_options", "summary": "Get WebAuthn MFA options", "tags": [ "Auth" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WebAuthnAuthenticationOptionsResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Get WebAuthn MFA options" } }, "description": "Retrieve WebAuthn challenge and options for multi-factor authentication. Requires the MFA ticket from initial login.", "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MfaTicketRequest" } } } } } }, "/auth/logout": { "post": { "operationId": "logout_user", "summary": "Logout account", "tags": [ "Auth" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Logout account" } }, "description": "Invalidate the current authentication token and end the session. The auth token in the Authorization header will no longer be valid.", "security": [ { "sessionToken": [] } ] } }, "/auth/register": { "post": { "operationId": "register_account", "summary": "Register account", "tags": [ "Auth" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthRegisterResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Register account" } }, "description": "Create a new user account with email and password. Requires CAPTCHA verification. User account is created but must verify email before logging in.", "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RegisterRequest" } } } } } }, "/auth/reset": { "post": { "operationId": "reset_password", "summary": "Reset password", "tags": [ "Auth" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthLoginResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Reset password" } }, "description": "Complete the password reset flow using the token from the reset email. Returns authentication token after successful password reset.", "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResetPasswordRequest" } } } } } }, "/auth/sessions": { "get": { "operationId": "list_auth_sessions", "summary": "List auth sessions", "tags": [ "Auth" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthSessionsResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "List auth sessions" } }, "description": "Retrieve all active authentication sessions for the current user. Requires authentication.", "security": [ { "sessionToken": [] } ] } }, "/auth/sessions/logout": { "post": { "operationId": "logout_all_sessions", "summary": "Logout all sessions", "tags": [ "Auth" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Logout all sessions" } }, "description": "Invalidate all active authentication sessions for the current user. Requires sudo mode verification for security.", "security": [ { "sessionToken": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LogoutAuthSessionsRequest" } } } } } }, "/auth/sso/complete": { "post": { "operationId": "complete_sso", "summary": "Complete SSO", "tags": [ "Auth" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SsoCompleteResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Complete SSO" } }, "description": "Complete the SSO authentication flow with the authorization code from the SSO provider. Returns authentication token and user information.", "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SsoCompleteRequest" } } } } } }, "/auth/sso/start": { "post": { "operationId": "start_sso", "summary": "Start SSO", "tags": [ "Auth" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SsoStartResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Start SSO" } }, "description": "Initiate a new Single Sign-On (SSO) session. Returns a session URL to be completed with SSO provider credentials.", "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SsoStartRequest" } } } } } }, "/auth/sso/status": { "get": { "operationId": "get_sso_status", "summary": "Get SSO status", "tags": [ "Auth" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SsoStatusResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Get SSO status" } }, "description": "Retrieve the current status of the SSO authentication session without authentication required." } }, "/auth/username-suggestions": { "post": { "operationId": "get_username_suggestions", "summary": "Get username suggestions", "tags": [ "Auth" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UsernameSuggestionsResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Get username suggestions" } }, "description": "Generate username suggestions based on a provided global name for new account registration.", "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UsernameSuggestionsRequest" } } } } } }, "/auth/verify": { "post": { "operationId": "verify_email", "summary": "Verify email", "tags": [ "Auth" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Verify email" } }, "description": "Verify user email address using the code sent during registration. Email verification is required before the account becomes fully usable.", "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/VerifyEmailRequest" } } } } } }, "/auth/verify/resend": { "post": { "operationId": "resend_verification_email", "summary": "Resend verification email", "tags": [ "Auth" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Resend verification email" } }, "description": "Request a new email verification code to be sent. Requires authentication. Use this if the original verification email was lost or expired.", "security": [ { "sessionToken": [] } ] } }, "/auth/webauthn/authenticate": { "post": { "operationId": "authenticate_with_webauthn", "summary": "Authenticate with WebAuthn", "tags": [ "Auth" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthTokenWithUserIdResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Authenticate with WebAuthn" } }, "description": "Complete passwordless login using WebAuthn (biometrics or security key). Returns authentication token on success.", "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WebAuthnAuthenticateRequest" } } } } } }, "/auth/webauthn/authentication-options": { "post": { "operationId": "get_webauthn_authentication_options", "summary": "Get WebAuthn authentication options", "tags": [ "Auth" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WebAuthnAuthenticationOptionsResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Get WebAuthn authentication options" } }, "description": "Retrieve WebAuthn authentication challenge and options for passwordless login with biometrics or security keys." } }, "/channels/{channel_id}": { "get": { "operationId": "get_channel", "summary": "Fetch a channel", "tags": [ "Channels" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ChannelResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Fetch a channel" } }, "description": "Retrieves the channel object including metadata, member list, and settings. Requires the user to be a member of the channel with view permissions.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "channel_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the channel" } ] }, "patch": { "operationId": "update_channel", "summary": "Update channel settings", "tags": [ "Channels" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ChannelResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Update channel settings" } }, "description": "Modifies channel properties such as name, description, topic, nsfw flag, and slowmode. Requires management permissions in the channel.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "channel_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the channel" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ChannelUpdateRequest" } } } } }, "delete": { "operationId": "delete_channel", "summary": "Delete a channel", "tags": [ "Channels" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Delete a channel" } }, "description": "Permanently removes a channel and all its content. Only server administrators or the channel owner can delete channels.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "channel_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the channel" }, { "name": "silent", "in": "query", "required": false, "schema": { "type": "string", "description": "Whether to suppress the system message when leaving a group DM" } } ] } }, "/channels/{channel_id}/call": { "get": { "operationId": "get_call_eligibility", "summary": "Get call eligibility status", "tags": [ "Channels" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CallEligibilityResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Get call eligibility status" } }, "description": "Checks whether a call can be initiated in the channel and if there is an active call. Returns ringable status and silent mode flag.", "security": [ { "sessionToken": [] } ], "parameters": [ { "name": "channel_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the channel" } ] }, "patch": { "operationId": "update_call_region", "summary": "Update call region", "tags": [ "Channels" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Update call region" } }, "description": "Changes the voice server region for an active call to optimise latency and connection quality.", "security": [ { "sessionToken": [] } ], "parameters": [ { "name": "channel_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the channel" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CallUpdateBodySchema" } } } } } }, "/channels/{channel_id}/call/end": { "post": { "operationId": "end_call", "summary": "End call session", "tags": [ "Channels" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "End call session" } }, "description": "Terminates an active voice call in the channel. Records the call end state for all participants.", "security": [ { "sessionToken": [] } ], "parameters": [ { "name": "channel_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the channel" } ] } }, "/channels/{channel_id}/call/ring": { "post": { "operationId": "ring_call_recipients", "summary": "Ring call recipients", "tags": [ "Channels" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Ring call recipients" } }, "description": "Sends ringing notifications to specified users in a call. If no recipients are specified, rings all channel members.", "security": [ { "sessionToken": [] } ], "parameters": [ { "name": "channel_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the channel" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CallRingBodySchema" } } } } } }, "/channels/{channel_id}/call/stop-ringing": { "post": { "operationId": "stop_ringing_call_recipients", "summary": "Stop ringing call recipients", "tags": [ "Channels" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Stop ringing call recipients" } }, "description": "Stops ringing notifications for specified users in a call. Allows callers to stop notifying users who have declined or not responded.", "security": [ { "sessionToken": [] } ], "parameters": [ { "name": "channel_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the channel" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CallRingBodySchema" } } } } } }, "/channels/{channel_id}/chunked-uploads": { "post": { "operationId": "create_chunked_upload", "summary": "Initiate a chunked upload session", "tags": [ "Channels", "Attachments" ], "responses": { "201": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateChunkedUploadResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Initiate a chunked upload session" } }, "description": "Creates a new chunked upload session for uploading large files. Returns the upload ID, expected chunk size, and total chunk count. The client should then upload each chunk individually and complete the upload when all chunks are uploaded.", "security": [ { "sessionToken": [] } ], "parameters": [ { "name": "channel_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the channel" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateChunkedUploadRequest" } } } } } }, "/channels/{channel_id}/chunked-uploads/{upload_id}/chunks/{chunk_index}": { "put": { "operationId": "upload_chunk", "summary": "Upload a file chunk", "tags": [ "Channels", "Attachments" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UploadChunkResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Upload a file chunk" } }, "description": "Uploads a single chunk of a file as part of a chunked upload session. The chunk index is zero-based. Returns an ETag that must be provided when completing the upload.", "security": [ { "sessionToken": [] } ], "parameters": [ { "name": "channel_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the channel" }, { "name": "upload_id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The upload id" }, { "name": "chunk_index", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The chunk index" } ] } }, "/channels/{channel_id}/chunked-uploads/{upload_id}/complete": { "post": { "operationId": "complete_chunked_upload", "summary": "Complete a chunked upload", "tags": [ "Channels", "Attachments" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CompleteChunkedUploadResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Complete a chunked upload" } }, "description": "Completes a chunked upload session by assembling all uploaded chunks. Requires ETags for all chunks. Returns the upload filename that can be referenced when sending a message with the uploaded file.", "security": [ { "sessionToken": [] } ], "parameters": [ { "name": "channel_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the channel" }, { "name": "upload_id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The upload id" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CompleteChunkedUploadRequest" } } } } } }, "/channels/{channel_id}/invites": { "post": { "operationId": "create_channel_invite", "summary": "Create channel invite", "tags": [ "Invites" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InviteMetadataResponseSchema" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Create channel invite" } }, "description": "Creates a new invite for the specified channel with optional parameters such as maximum age, maximum uses, and temporary membership settings. The authenticated user must have permission to create invites for the channel. Returns the created invite with full metadata including usage statistics.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "channel_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the channel" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ChannelInviteCreateRequest" } } } } }, "get": { "operationId": "list_channel_invites", "summary": "List channel invites", "tags": [ "Invites" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/InviteMetadataResponseSchema" } } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "List channel invites" } }, "description": "Retrieves all currently active invites for the specified channel, including invite codes, creators, expiration times, and usage statistics. The authenticated user must have permission to manage invites for the channel. Returns an array of invite metadata objects.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "channel_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the channel" } ] } }, "/channels/{channel_id}/messages": { "get": { "operationId": "list_messages", "summary": "List messages in a channel", "tags": [ "Channels", "Messages" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/MessageResponseSchema" } } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "List messages in a channel" } }, "description": "Retrieves a paginated list of messages from a channel. User must have permission to view the channel. Supports pagination via limit, before, after, and around parameters. Returns messages in reverse chronological order (newest first).", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "channel_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the channel" }, { "name": "limit", "in": "query", "required": false, "schema": { "type": "string", "description": "Number of messages to return (1-100, default 50)" } }, { "name": "before", "in": "query", "required": false, "schema": { "$ref": "#/components/schemas/SnowflakeType" } }, { "name": "after", "in": "query", "required": false, "schema": { "$ref": "#/components/schemas/SnowflakeType" } }, { "name": "around", "in": "query", "required": false, "schema": { "$ref": "#/components/schemas/SnowflakeType" } } ] }, "post": { "operationId": "send_message", "summary": "Send a message", "tags": [ "Channels", "Messages" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MessageResponseSchema" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Send a message" } }, "description": "Sends a new message to a channel. Requires permission to send messages in the target channel. Supports text content, embeds, attachments (multipart), and mentions. Returns the created message object with full details.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "channel_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the channel" } ] } }, "/channels/{channel_id}/messages/ack": { "delete": { "operationId": "clear_channel_read_state", "summary": "Clear channel read state", "tags": [ "Channels", "Messages" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Clear channel read state" } }, "description": "Clears all read state and acknowledgement records for a channel, marking all messages as unread. Only available for regular user accounts. Returns 204 No Content on success.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "channel_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the channel" } ] } }, "/channels/{channel_id}/messages/bulk-delete": { "post": { "operationId": "bulk_delete_messages", "summary": "Bulk delete messages", "tags": [ "Channels", "Messages" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Bulk delete messages" } }, "description": "Deletes multiple messages at once. Requires moderation or admin permissions. Commonly used for message cleanup. Messages from different authors can be deleted together. Returns 204 No Content on success.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "channel_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the channel" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BulkDeleteMessagesRequest" } } } } } }, "/channels/{channel_id}/messages/pins": { "get": { "operationId": "list_pinned_messages", "summary": "List pinned messages", "tags": [ "Channels" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ChannelPinsResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "List pinned messages" } }, "description": "Retrieves a paginated list of messages pinned in a channel. User must have permission to view the channel. Supports pagination via limit and before parameters. Returns pinned messages with their pin timestamps.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "channel_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the channel" }, { "name": "limit", "in": "query", "required": false, "schema": { "type": "integer", "minimum": 1, "maximum": 50, "format": "int32", "description": "Maximum number of pinned messages to return (1-50)" } }, { "name": "before", "in": "query", "required": false, "schema": { "type": "string", "format": "date-time", "description": "Get pinned messages before this timestamp" } } ] } }, "/channels/{channel_id}/messages/schedule": { "post": { "operationId": "schedule_message", "summary": "Schedule a message to send later", "tags": [ "Channels" ], "responses": { "201": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ScheduledMessageResponseSchema" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Schedule a message to send later" } }, "description": "Schedules a message to be sent at a specified time. Only available for regular user accounts. Requires permission to send messages in the target channel. Message is sent automatically at the scheduled time. Returns the scheduled message object with delivery time.", "security": [ { "sessionToken": [] } ], "parameters": [ { "name": "channel_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the channel" } ] } }, "/channels/{channel_id}/messages/{message_id}": { "get": { "operationId": "get_message", "summary": "Fetch a message", "tags": [ "Channels", "Messages" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MessageResponseSchema" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Fetch a message" } }, "description": "Retrieves a specific message by ID. User must have permission to view the channel and the message must exist. Returns full message details including content, author, reactions, and attachments.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "channel_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the channel" }, { "name": "message_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the message" } ] }, "patch": { "operationId": "edit_message", "summary": "Edit a message", "tags": [ "Channels", "Messages" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MessageResponseSchema" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Edit a message" } }, "description": "Updates an existing message. Only the message author can edit messages (or admins with proper permissions). Supports updating content, embeds, and attachments. Returns the updated message object. Maintains original message ID and timestamps.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "channel_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the channel" }, { "name": "message_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the message" } ] }, "delete": { "operationId": "delete_message2", "summary": "Delete a message", "tags": [ "Channels", "Messages" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Delete a message" } }, "description": "Deletes a message permanently. Only the message author can delete messages (or admins/moderators with proper permissions). Cannot be undone. Returns 204 No Content on success.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "channel_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the channel" }, { "name": "message_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the message" } ] } }, "/channels/{channel_id}/messages/{message_id}/ack": { "post": { "operationId": "acknowledge_message", "summary": "Acknowledge a message", "tags": [ "Channels", "Messages" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Acknowledge a message" } }, "description": "Marks a message as read and records acknowledgement state. Only available for regular user accounts. Updates mention count if provided. Returns 204 No Content on success.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "channel_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the channel" }, { "name": "message_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the message" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MessageAckRequest" } } } } } }, "/channels/{channel_id}/messages/{message_id}/attachments/{attachment_id}": { "delete": { "operationId": "delete_message_attachment", "summary": "Delete a message attachment", "tags": [ "Channels", "Messages" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Delete a message attachment" } }, "description": "Removes a specific attachment from a message while keeping the message intact. Only the message author can remove attachments (or admins/moderators). Returns 204 No Content on success.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "channel_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the channel" }, { "name": "message_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the message" }, { "name": "attachment_id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The attachment id" } ] } }, "/channels/{channel_id}/messages/{message_id}/memes": { "post": { "operationId": "create_meme_from_message", "summary": "Create meme from message", "tags": [ "Saved Media" ], "responses": { "201": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FavoriteMemeResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Create meme from message" } }, "description": "Saves a message attachment as a favorite meme.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "channel_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the channel" }, { "name": "message_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the message" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateFavoriteMemeBodySchema" } } } } } }, "/channels/{channel_id}/messages/{message_id}/reactions": { "delete": { "operationId": "remove_all_reactions", "summary": "Remove all reactions from message", "tags": [ "Channels" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Remove all reactions from message" } }, "description": "Removes all emoji reactions from a message, regardless of emoji type or user. All reactions are permanently deleted. Requires moderator or higher permissions. Returns 204 No Content on success.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "channel_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the channel" }, { "name": "message_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the message" } ] } }, "/channels/{channel_id}/messages/{message_id}/reactions/{emoji}": { "get": { "operationId": "list_reaction_users", "summary": "List users who reacted with emoji", "tags": [ "Channels" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ReactionUsersListResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "List users who reacted with emoji" } }, "description": "Retrieves a paginated list of users who reacted to a message with a specific emoji. Supports pagination via limit and after parameters. Returns user objects for each reaction.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "channel_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the channel" }, { "name": "message_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the message" }, { "name": "emoji", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The emoji" }, { "name": "limit", "in": "query", "required": false, "schema": { "type": "integer", "minimum": 1, "maximum": 100, "format": "int32", "description": "Maximum number of users to return (1-100)" } }, { "name": "after", "in": "query", "required": false, "schema": { "$ref": "#/components/schemas/SnowflakeType" } } ] }, "delete": { "operationId": "remove_all_reactions_for_emoji", "summary": "Remove all reactions with emoji", "tags": [ "Channels" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Remove all reactions with emoji" } }, "description": "Removes all emoji reactions of a specific type from a message. All users' reactions with that emoji are deleted. Requires moderator or higher permissions. Returns 204 No Content on success.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "channel_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the channel" }, { "name": "message_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the message" }, { "name": "emoji", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The emoji" } ] } }, "/channels/{channel_id}/messages/{message_id}/reactions/{emoji}/@me": { "put": { "operationId": "add_reaction", "summary": "Add reaction to message", "tags": [ "Channels" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Add reaction to message" } }, "description": "Adds an emoji reaction to a message. Each user can react once with each emoji. Cannot be used from unclaimed accounts outside personal notes. Returns 204 No Content on success.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "channel_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the channel" }, { "name": "message_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the message" }, { "name": "emoji", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The emoji" }, { "name": "session_id", "in": "query", "required": false, "schema": { "type": "string", "description": "The session ID for synchronization" } } ] }, "delete": { "operationId": "remove_own_reaction", "summary": "Remove own reaction from message", "tags": [ "Channels" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Remove own reaction from message" } }, "description": "Removes your own emoji reaction from a message. Returns 204 No Content on success. Has no effect if you haven't reacted with that emoji.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "channel_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the channel" }, { "name": "message_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the message" }, { "name": "emoji", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The emoji" }, { "name": "session_id", "in": "query", "required": false, "schema": { "type": "string", "description": "The session ID for synchronization" } } ] } }, "/channels/{channel_id}/messages/{message_id}/reactions/{emoji}/{target_id}": { "delete": { "operationId": "remove_reaction", "summary": "Remove reaction from message", "tags": [ "Channels" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Remove reaction from message" } }, "description": "Removes a specific user's emoji reaction from a message. Requires moderator or higher permissions to remove reactions from other users. Returns 204 No Content on success.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "channel_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the channel" }, { "name": "message_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the message" }, { "name": "emoji", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The emoji" }, { "name": "target_id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The target id" }, { "name": "session_id", "in": "query", "required": false, "schema": { "type": "string", "description": "The session ID for synchronization" } } ] } }, "/channels/{channel_id}/permissions/{overwrite_id}": { "put": { "operationId": "set_channel_permission_overwrite", "summary": "Set permission overwrite for channel", "tags": [ "Channels" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Set permission overwrite for channel" } }, "description": "Creates or updates permission overrides for a role or user in the channel. Allows fine-grained control over who can view, send messages, or manage the channel.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "channel_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the channel" }, { "name": "overwrite_id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The overwrite id" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PermissionOverwriteCreateRequest" } } } } }, "delete": { "operationId": "delete_channel_permission_overwrite", "summary": "Delete permission overwrite", "tags": [ "Channels" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Delete permission overwrite" } }, "description": "Removes a permission override from a role or user in the channel, restoring default permissions. Requires channel management rights.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "channel_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the channel" }, { "name": "overwrite_id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The overwrite id" } ] } }, "/channels/{channel_id}/pins/ack": { "post": { "operationId": "acknowledge_pins", "summary": "Acknowledge new pin notifications", "tags": [ "Channels" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Acknowledge new pin notifications" } }, "description": "Marks all new pin notifications in a channel as acknowledged. Clears the notification badge for pinned messages. Returns 204 No Content on success.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "channel_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the channel" } ] } }, "/channels/{channel_id}/pins/{message_id}": { "put": { "operationId": "pin_message", "summary": "Pin a message", "tags": [ "Channels" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Pin a message" } }, "description": "Pins a message to the channel. Requires permission to manage pins (typically moderator or higher). Pinned messages are highlighted and searchable. Returns 204 No Content on success.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "channel_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the channel" }, { "name": "message_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the message" } ] }, "delete": { "operationId": "unpin_message", "summary": "Unpin a message", "tags": [ "Channels" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Unpin a message" } }, "description": "Unpins a message from the channel. Requires permission to manage pins. The message remains in the channel but is no longer highlighted. Returns 204 No Content on success.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "channel_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the channel" }, { "name": "message_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the message" } ] } }, "/channels/{channel_id}/recipients/{user_id}": { "put": { "operationId": "add_group_dm_recipient", "summary": "Add recipient to group DM", "tags": [ "Channels" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Add recipient to group DM" } }, "description": "Adds a user to a group direct message channel. The requesting user must be a member of the group DM.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "channel_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the channel" }, { "name": "user_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the user" } ] }, "delete": { "operationId": "remove_group_dm_recipient", "summary": "Remove recipient from group DM", "tags": [ "Channels" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Remove recipient from group DM" } }, "description": "Removes a user from a group direct message channel. The requesting user must be a member with appropriate permissions.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "channel_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the channel" }, { "name": "user_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the user" }, { "name": "silent", "in": "query", "required": false, "schema": { "type": "string", "description": "Whether to suppress the system message when leaving a group DM" } } ] } }, "/channels/{channel_id}/rtc-regions": { "get": { "operationId": "list_rtc_regions", "summary": "List RTC regions", "tags": [ "Channels" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/RtcRegionResponse" } } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "List RTC regions" } }, "description": "Returns available voice and video calling regions for the channel, used to optimise connection quality. Requires membership with call permissions.", "security": [ { "sessionToken": [] } ], "parameters": [ { "name": "channel_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the channel" } ] } }, "/channels/{channel_id}/typing": { "post": { "operationId": "indicate_typing", "summary": "Indicate typing activity", "tags": [ "Channels", "Messages" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Indicate typing activity" } }, "description": "Notifies other users in the channel that you are actively typing. Typing indicators typically expire after a short period (usually 10 seconds). Returns 204 No Content. Commonly called repeatedly while the user is composing a message.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "channel_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the channel" } ] } }, "/channels/{channel_id}/webhooks": { "get": { "operationId": "list_channel_webhooks", "summary": "List channel webhooks", "tags": [ "Webhooks" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/WebhookResponse" } } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "List channel webhooks" } }, "description": "Returns a list of all webhooks configured in the specified channel. Requires the user to have appropriate permissions to view webhooks in the channel.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "channel_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the channel" } ] }, "post": { "operationId": "create_webhook", "summary": "Create webhook", "tags": [ "Webhooks" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WebhookResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Create webhook" } }, "description": "Creates a new webhook in the specified channel with the provided name and optional avatar. Returns the newly created webhook object including its ID and token.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "channel_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the channel" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WebhookCreateRequest" } } } } } }, "/discovery/categories": { "get": { "operationId": "list_discovery_categories", "summary": "List discovery categories", "tags": [ "Discovery" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DiscoveryCategoryListResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "List discovery categories" } }, "description": "Returns the list of available discovery categories.", "security": [ { "sessionToken": [] } ] } }, "/discovery/guilds": { "get": { "operationId": "search_discovery_guilds", "summary": "Search discoverable guilds", "tags": [ "Discovery" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DiscoveryGuildListResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Search discoverable guilds" } }, "description": "Search for guilds listed in the discovery directory.", "security": [ { "sessionToken": [] } ], "parameters": [ { "name": "query", "in": "query", "required": false, "schema": { "type": "string", "maxLength": 100, "description": "Search query" } }, { "name": "category", "in": "query", "required": false, "schema": { "type": "integer", "minimum": 0, "maximum": 8, "format": "int32", "description": "Filter by category" } }, { "name": "sort_by", "in": "query", "required": false, "schema": { "enum": [ "member_count", "online_count", "relevance" ], "type": "string", "x-enumNames": [ "member_count", "online_count", "relevance" ], "description": "Sort order" } }, { "name": "limit", "in": "query", "required": false, "schema": { "type": "integer", "minimum": 1, "maximum": 48, "format": "int32", "description": "Number of results to return" } }, { "name": "offset", "in": "query", "required": false, "schema": { "type": "integer", "minimum": 0, "maximum": 9007199254740991, "format": "int64", "description": "Pagination offset" } } ] } }, "/discovery/guilds/{guild_id}/join": { "post": { "operationId": "join_discovery_guild", "summary": "Join a discoverable guild", "tags": [ "Discovery" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Join a discoverable guild" } }, "description": "Join a guild that is listed in discovery without needing an invite.", "security": [ { "sessionToken": [] } ], "parameters": [ { "name": "guild_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the guild" } ] } }, "/donations/checkout": { "post": { "operationId": "create_donation_checkout", "summary": "Create donation checkout session", "tags": [ "Donations" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DonationCheckoutResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Create donation checkout session" } }, "description": "Creates a Stripe checkout session for a recurring donation.", "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DonationCheckoutRequest" } } } } } }, "/donations/manage": { "get": { "operationId": "manage_donation", "summary": "Manage donation subscription", "tags": [ "Donations" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Manage donation subscription" } }, "description": "Validates the magic link token and redirects to Stripe billing portal.", "parameters": [ { "name": "token", "in": "query", "required": true, "schema": { "type": "string", "minLength": 64, "maxLength": 64, "description": "Magic link token for donor authentication" } } ] } }, "/donations/request-link": { "post": { "operationId": "request_donation_magic_link", "summary": "Request donation management link", "tags": [ "Donations" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Request donation management link" } }, "description": "Sends a magic link email to the provided address for managing recurring donations.", "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DonationRequestLinkRequest" } } } } } }, "/gateway/bot": { "get": { "operationId": "get_gateway_bot", "summary": "Get gateway information", "tags": [ "Gateway" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GatewayBotResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Get gateway information" } }, "description": "Retrieves gateway connection information and recommended shard count for establishing WebSocket connections." } }, "/gifts/{code}": { "get": { "operationId": "get_gift_code", "summary": "Get gift code", "tags": [ "Gifts" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GiftCodeResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Get gift code" } }, "description": "Retrieves information about a gift code, including sender details and premium entitlements.", "parameters": [ { "name": "code", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The code" } ] } }, "/gifts/{code}/redeem": { "post": { "operationId": "redeem_gift_code", "summary": "Redeem gift code", "tags": [ "Gifts" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Redeem gift code" } }, "description": "Redeems a gift code for the authenticated user, applying premium benefits.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "code", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The code" } ] } }, "/guilds": { "post": { "operationId": "create_guild", "summary": "Create guild", "tags": [ "Guilds" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GuildResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Create guild" } }, "description": "Only authenticated users can create guilds.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GuildCreateRequest" } } } } } }, "/guilds/{guild_id}": { "get": { "operationId": "get_guild", "summary": "Get guild information", "tags": [ "Guilds" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GuildResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Get guild information" } }, "description": "User must be a member of the guild to access this endpoint.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "guild_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the guild" } ] }, "patch": { "operationId": "update_guild", "summary": "Update guild settings", "tags": [ "Guilds" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GuildResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Update guild settings" } }, "description": "Requires manage_guild permission. Updates guild name, description, icon, banner, and other configuration options.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "guild_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the guild" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GuildUpdateRequest" } } } } } }, "/guilds/{guild_id}/audit-logs": { "get": { "operationId": "list_guild_audit_logs", "summary": "List guild audit logs", "tags": [ "Guilds" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GuildAuditLogListResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "List guild audit logs" } }, "description": "List guild audit logs. Only default users can access. Requires view_audit_logs permission. Returns guild activity history with pagination and action filtering.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "guild_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the guild" }, { "name": "limit", "in": "query", "required": false, "schema": { "$ref": "#/components/schemas/Int32Type" } }, { "name": "before", "in": "query", "required": false, "schema": { "$ref": "#/components/schemas/SnowflakeType" } }, { "name": "after", "in": "query", "required": false, "schema": { "$ref": "#/components/schemas/SnowflakeType" } }, { "name": "user_id", "in": "query", "required": false, "schema": { "$ref": "#/components/schemas/SnowflakeType" } }, { "name": "action_type", "in": "query", "required": false, "schema": { "$ref": "#/components/schemas/AuditLogActionType" } } ] } }, "/guilds/{guild_id}/bans": { "get": { "operationId": "list_guild_bans", "summary": "List guild bans", "tags": [ "Guilds" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/GuildBanResponse" } } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "List guild bans" } }, "description": "List guild bans. Requires ban_members permission. Returns all banned users for the guild including ban reasons and expiry times.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "guild_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the guild" } ] } }, "/guilds/{guild_id}/bans/{user_id}": { "put": { "operationId": "ban_guild_member2", "summary": "Ban guild member", "tags": [ "Guilds" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Ban guild member" } }, "description": "Ban guild member. Requires ban_members permission. Prevents user from joining; optionally deletes recent messages and sets ban expiry duration.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "guild_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the guild" }, { "name": "user_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the user" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GuildBanCreateRequest" } } } } }, "delete": { "operationId": "unban_guild_member", "summary": "Unban guild member", "tags": [ "Guilds" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Unban guild member" } }, "description": "Unban guild member. Requires ban_members permission. Removes ban and allows user to rejoin the guild.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "guild_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the guild" }, { "name": "user_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the user" } ] } }, "/guilds/{guild_id}/channels": { "get": { "operationId": "list_guild_channels", "summary": "List guild channels", "tags": [ "Guilds" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ChannelResponse" } } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "List guild channels" } }, "description": "List guild channels. Returns all channels in the guild that the user has access to view.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "guild_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the guild" } ] }, "post": { "operationId": "create_guild_channel", "summary": "Create guild channel", "tags": [ "Guilds" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ChannelResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Create guild channel" } }, "description": "Create guild channel. Requires manage_channels permission. Creates a new text, voice, or category channel in the guild.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "guild_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the guild" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ChannelCreateRequest" } } } } }, "patch": { "operationId": "update_guild_channel_positions", "summary": "Update channel positions", "tags": [ "Guilds" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Update channel positions" } }, "description": "Update channel positions. Requires manage_channels permission. Reorders channels and optionally changes parent categories and permission locks.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "guild_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the guild" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ChannelPositionUpdateRequest" } } } } } }, "/guilds/{guild_id}/delete": { "post": { "operationId": "delete_guild2", "summary": "Delete guild", "tags": [ "Guilds" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Delete guild" } }, "description": "Only guild owner can delete. Requires sudo mode verification (MFA). Permanently deletes the guild and all associated data.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "guild_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the guild" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GuildDeleteRequest" } } } } } }, "/guilds/{guild_id}/detached-banner": { "patch": { "operationId": "toggle_detached_banner", "summary": "Toggle detached banner", "tags": [ "Guilds" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GuildResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Toggle detached banner" } }, "description": "Requires manage_guild permission. Enables or disables independent banner display configuration.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "guild_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the guild" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EnabledToggleRequest" } } } } } }, "/guilds/{guild_id}/discovery": { "post": { "operationId": "apply_for_discovery", "summary": "Apply for guild discovery", "tags": [ "Discovery" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DiscoveryApplicationResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Apply for guild discovery" } }, "description": "Submit a discovery application for a guild. Requires MANAGE_GUILD permission.", "security": [ { "sessionToken": [] }, { "botToken": [] } ], "parameters": [ { "name": "guild_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the guild" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DiscoveryApplicationRequest" } } } } }, "patch": { "operationId": "edit_discovery_application", "summary": "Edit discovery application", "tags": [ "Discovery" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DiscoveryApplicationResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Edit discovery application" } }, "description": "Update the description or category of an existing discovery application. Requires MANAGE_GUILD permission.", "security": [ { "sessionToken": [] }, { "botToken": [] } ], "parameters": [ { "name": "guild_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the guild" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DiscoveryApplicationPatchRequest" } } } } }, "delete": { "operationId": "withdraw_discovery_application", "summary": "Withdraw discovery application", "tags": [ "Discovery" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Withdraw discovery application" } }, "description": "Withdraw a discovery application or remove a guild from discovery. Requires MANAGE_GUILD permission.", "security": [ { "sessionToken": [] }, { "botToken": [] } ], "parameters": [ { "name": "guild_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the guild" } ] }, "get": { "operationId": "get_discovery_status", "summary": "Get discovery status", "tags": [ "Discovery" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DiscoveryStatusResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Get discovery status" } }, "description": "Get the current discovery status and eligibility of a guild. Requires MANAGE_GUILD permission.", "security": [ { "sessionToken": [] }, { "botToken": [] } ], "parameters": [ { "name": "guild_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the guild" } ] } }, "/guilds/{guild_id}/emojis": { "post": { "operationId": "create_guild_emoji", "summary": "Create guild emoji", "tags": [ "Guilds" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GuildEmojiResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Create guild emoji" } }, "description": "Create guild emoji. Requires manage_emojis permission. Uploads and registers a new custom emoji for the guild.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "guild_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the guild" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GuildEmojiCreateRequest" } } } } }, "get": { "operationId": "list_guild_emojis2", "summary": "List guild emojis", "tags": [ "Guilds" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GuildEmojiWithUserListResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "List guild emojis" } }, "description": "List guild emojis. Returns all custom emojis for the guild including metadata about creators and timestamps.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "guild_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the guild" } ] } }, "/guilds/{guild_id}/emojis/bulk": { "post": { "operationId": "bulk_create_guild_emojis", "summary": "Bulk create guild emojis", "tags": [ "Guilds" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GuildEmojiBulkCreateResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Bulk create guild emojis" } }, "description": "Bulk create guild emojis. Requires manage_emojis permission. Creates multiple emojis in a single request for efficiency.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "guild_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the guild" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GuildEmojiBulkCreateRequest" } } } } } }, "/guilds/{guild_id}/emojis/{emoji_id}": { "patch": { "operationId": "update_guild_emoji", "summary": "Update guild emoji", "tags": [ "Guilds" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GuildEmojiResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Update guild emoji" } }, "description": "Update guild emoji. Requires manage_emojis permission. Renames or updates properties of an existing emoji.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "guild_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the guild" }, { "name": "emoji_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the emoji" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GuildEmojiUpdateRequest" } } } } }, "delete": { "operationId": "delete_guild_emoji", "summary": "Delete guild emoji", "tags": [ "Guilds" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Delete guild emoji" } }, "description": "Delete guild emoji. Requires manage_emojis permission. Removes a custom emoji from the guild; optionally purges all references.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "guild_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the guild" }, { "name": "emoji_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the emoji" }, { "name": "purge", "in": "query", "required": false, "schema": { "type": "string", "description": "Whether to also purge the asset from storage" } } ] } }, "/guilds/{guild_id}/invites": { "get": { "operationId": "list_guild_invites", "summary": "List guild invites", "tags": [ "Invites" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/InviteMetadataResponseSchema" } } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "List guild invites" } }, "description": "Retrieves all currently active invites across all channels in the specified guild, including invite codes, creators, expiration times, and usage statistics. The authenticated user must have permission to manage invites for the guild. Returns an array of invite metadata objects.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "guild_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the guild" } ] } }, "/guilds/{guild_id}/members": { "get": { "operationId": "list_guild_members2", "summary": "List guild members", "tags": [ "Guilds" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/GuildMemberResponse" } } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "List guild members" } }, "description": "List guild members. Supports pagination with limit and after cursor. Returns member information for the specified guild.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "guild_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the guild" }, { "name": "limit", "in": "query", "required": false, "schema": { "type": "integer", "minimum": 1, "maximum": 1000, "format": "int32", "description": "Maximum number of members to return (1-1000, default 1)" } }, { "name": "after", "in": "query", "required": false, "schema": { "$ref": "#/components/schemas/SnowflakeType" } } ] } }, "/guilds/{guild_id}/members-search": { "post": { "operationId": "search_guild_members", "summary": "Search guild members", "tags": [ "Guilds" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GuildMemberSearchResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Search guild members" } }, "description": "Search and filter guild members with pagination support.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "guild_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the guild" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GuildMemberSearchRequest" } } } } } }, "/guilds/{guild_id}/members/@me": { "get": { "operationId": "get_current_guild_member", "summary": "Get current user guild member", "tags": [ "Guilds" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GuildMemberResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Get current user guild member" } }, "description": "Get current user guild member. Returns the member information for the authenticated user in the specified guild.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "guild_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the guild" } ] }, "patch": { "operationId": "update_current_guild_member", "summary": "Update current user guild member", "tags": [ "Guilds" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GuildMemberResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Update current user guild member" } }, "description": "Update current user guild member. User can modify their own nickname within the guild.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "guild_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the guild" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MyGuildMemberUpdateRequest" } } } } } }, "/guilds/{guild_id}/members/{user_id}": { "get": { "operationId": "get_guild_member", "summary": "Get guild member by user ID", "tags": [ "Guilds" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GuildMemberResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Get guild member by user ID" } }, "description": "Get guild member by user ID. Returns member information including roles, nickname, and join date for the specified user in the guild.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "guild_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the guild" }, { "name": "user_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the user" } ] }, "patch": { "operationId": "update_guild_member", "summary": "Update guild member", "tags": [ "Guilds" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GuildMemberResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Update guild member" } }, "description": "Update guild member. Requires manage_members permission. Can modify member nickname, voice state, and other member properties.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "guild_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the guild" }, { "name": "user_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the user" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GuildMemberUpdateRequest" } } } } }, "delete": { "operationId": "remove_guild_member", "summary": "Remove guild member", "tags": [ "Guilds" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Remove guild member" } }, "description": "Remove guild member. Requires kick_members permission. Removes the specified user from the guild.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "guild_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the guild" }, { "name": "user_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the user" } ] } }, "/guilds/{guild_id}/members/{user_id}/roles/{role_id}": { "put": { "operationId": "add_guild_member_role", "summary": "Add role to guild member", "tags": [ "Guilds" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Add role to guild member" } }, "description": "Add role to guild member. Requires manage_roles permission. Grants the specified role to the user in the guild.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "guild_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the guild" }, { "name": "user_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the user" }, { "name": "role_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the role" } ] }, "delete": { "operationId": "remove_guild_member_role", "summary": "Remove role from guild member", "tags": [ "Guilds" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Remove role from guild member" } }, "description": "Remove role from guild member. Requires manage_roles permission. Revokes the specified role from the user in the guild.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "guild_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the guild" }, { "name": "user_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the user" }, { "name": "role_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the role" } ] } }, "/guilds/{guild_id}/roles": { "get": { "operationId": "list_guild_roles", "summary": "List guild roles", "tags": [ "Guilds" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/GuildRoleResponse" } } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "List guild roles" } }, "description": "List guild roles. Returns all roles defined in the guild including their permissions and settings.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "guild_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the guild" } ] }, "post": { "operationId": "create_guild_role", "summary": "Create guild role", "tags": [ "Guilds" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GuildRoleResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Create guild role" } }, "description": "Create guild role. Requires manage_roles permission. Creates a new role with specified name, permissions, and color.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "guild_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the guild" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GuildRoleCreateRequest" } } } } }, "patch": { "operationId": "update_guild_role_positions", "summary": "Update role positions", "tags": [ "Guilds" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Update role positions" } }, "description": "Update role positions. Requires manage_roles permission. Reorders roles to change their hierarchy and permission precedence.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "guild_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the guild" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GuildRolePositionsRequest" } } } } } }, "/guilds/{guild_id}/roles/hoist-positions": { "patch": { "operationId": "update_role_hoist_positions", "summary": "Update role hoist positions", "tags": [ "Guilds" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Update role hoist positions" } }, "description": "Update role hoist positions. Requires manage_roles permission. Sets the display priority for hoisted (separated) roles in the member list.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "guild_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the guild" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GuildRoleHoistPositionsRequest" } } } } }, "delete": { "operationId": "reset_role_hoist_positions", "summary": "Reset role hoist positions", "tags": [ "Guilds" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Reset role hoist positions" } }, "description": "Reset role hoist positions. Requires manage_roles permission. Clears all hoist position assignments for roles in the guild.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "guild_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the guild" } ] } }, "/guilds/{guild_id}/roles/{role_id}": { "patch": { "operationId": "update_guild_role", "summary": "Update guild role", "tags": [ "Guilds" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GuildRoleResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Update guild role" } }, "description": "Update guild role. Requires manage_roles permission. Modifies role name, permissions, color, and other settings.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "guild_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the guild" }, { "name": "role_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the role" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GuildRoleUpdateRequest" } } } } }, "delete": { "operationId": "delete_guild_role", "summary": "Delete guild role", "tags": [ "Guilds" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Delete guild role" } }, "description": "Delete guild role. Requires manage_roles permission. Permanently removes the role from the guild.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "guild_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the guild" }, { "name": "role_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the role" } ] } }, "/guilds/{guild_id}/stickers": { "post": { "operationId": "create_guild_sticker", "summary": "Create guild sticker", "tags": [ "Guilds" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GuildStickerResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Create guild sticker" } }, "description": "Create guild sticker. Requires manage_emojis permission. Uploads a new sticker with name, description, and tags.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "guild_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the guild" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GuildStickerCreateRequest" } } } } }, "get": { "operationId": "list_guild_stickers2", "summary": "List guild stickers", "tags": [ "Guilds" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GuildStickerWithUserListResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "List guild stickers" } }, "description": "List guild stickers. Returns all custom stickers for the guild including metadata about creators, descriptions, and tags.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "guild_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the guild" } ] } }, "/guilds/{guild_id}/stickers/bulk": { "post": { "operationId": "bulk_create_guild_stickers", "summary": "Bulk create guild stickers", "tags": [ "Guilds" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GuildStickerBulkCreateResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Bulk create guild stickers" } }, "description": "Bulk create guild stickers. Requires manage_emojis permission. Creates multiple stickers in a single request for efficiency.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "guild_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the guild" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GuildStickerBulkCreateRequest" } } } } } }, "/guilds/{guild_id}/stickers/{sticker_id}": { "patch": { "operationId": "update_guild_sticker", "summary": "Update guild sticker", "tags": [ "Guilds" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GuildStickerResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Update guild sticker" } }, "description": "Update guild sticker. Requires manage_emojis permission. Updates sticker name, description, or tags.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "guild_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the guild" }, { "name": "sticker_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the sticker" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GuildStickerUpdateRequest" } } } } }, "delete": { "operationId": "delete_guild_sticker", "summary": "Delete guild sticker", "tags": [ "Guilds" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Delete guild sticker" } }, "description": "Delete guild sticker. Requires manage_emojis permission. Removes a sticker from the guild; optionally purges all references.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "guild_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the guild" }, { "name": "sticker_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the sticker" }, { "name": "purge", "in": "query", "required": false, "schema": { "type": "string", "description": "Whether to also purge the asset from storage" } } ] } }, "/guilds/{guild_id}/text-channel-flexible-names": { "patch": { "operationId": "toggle_text_channel_flexible_names", "summary": "Toggle text channel flexible names", "tags": [ "Guilds" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GuildResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Toggle text channel flexible names" } }, "description": "Requires manage_guild permission. Allows or disables flexible naming for text channels.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "guild_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the guild" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EnabledToggleRequest" } } } } } }, "/guilds/{guild_id}/transfer-ownership": { "post": { "operationId": "transfer_guild_ownership2", "summary": "Transfer guild ownership", "tags": [ "Guilds" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GuildResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Transfer guild ownership" } }, "description": "Transfer guild ownership. Only current owner can transfer. Requires sudo mode verification (MFA). Transfers all guild permissions to a new owner.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "guild_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the guild" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GuildTransferOwnershipRequest" } } } } } }, "/guilds/{guild_id}/vanity-url": { "get": { "operationId": "get_guild_vanity_url", "summary": "Get guild vanity URL", "tags": [ "Guilds" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GuildVanityURLResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Get guild vanity URL" } }, "description": "Returns the custom invite code for the guild if configured.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "guild_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the guild" } ] }, "patch": { "operationId": "update_guild_vanity_url", "summary": "Update guild vanity URL", "tags": [ "Guilds" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GuildVanityURLUpdateResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Update guild vanity URL" } }, "description": "Only default users can set vanity URLs. Requires manage_guild permission. Sets or removes a custom invite code.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "guild_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the guild" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GuildVanityURLUpdateRequest" } } } } } }, "/guilds/{guild_id}/webhooks": { "get": { "operationId": "list_guild_webhooks", "summary": "List guild webhooks", "tags": [ "Webhooks" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/WebhookResponse" } } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "List guild webhooks" } }, "description": "Returns a list of all webhooks configured in the specified guild. Requires the user to have appropriate permissions to view webhooks in the guild.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "guild_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the guild" } ] } }, "/invites/{invite_code}": { "get": { "operationId": "get_invite", "summary": "Get invite information", "tags": [ "Invites" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InviteResponseSchema" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Get invite information" } }, "description": "Fetches detailed information about an invite using its code, including the guild, channel, or pack it belongs to and metadata such as expiration and usage limits. This endpoint does not require authentication and does not consume the invite.", "parameters": [ { "name": "invite_code", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The invite code" } ] }, "post": { "operationId": "accept_invite", "summary": "Accept invite", "tags": [ "Invites" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InviteResponseSchema" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Accept invite" } }, "description": "Accepts an invite using its code, adding the authenticated user to the corresponding guild, pack, or other entity. The invite usage count is incremented, and if it reaches its maximum usage limit or expiration, the invite is automatically revoked. Returns the accepted invite details.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "invite_code", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The invite code" } ] }, "delete": { "operationId": "delete_invite", "summary": "Delete invite", "tags": [ "Invites" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Delete invite" } }, "description": "Permanently deletes an invite by its code, preventing any further usage. The authenticated user must have permission to manage invites for the guild, channel, or pack associated with the invite. This action can be logged in the audit log if an X-Audit-Log-Reason header is provided.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "invite_code", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The invite code" } ] } }, "/klipy/featured": { "get": { "operationId": "get_klipy_featured", "summary": "Get featured KLIPY GIFs", "tags": [ "KLIPY" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/KlipyFeaturedResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Get featured KLIPY GIFs" } }, "description": "Retrieves currently featured GIFs from KLIPY based on user locale.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "locale", "in": "query", "required": false, "schema": { "$ref": "#/components/schemas/Locale" } } ] } }, "/klipy/register-share": { "post": { "operationId": "register_klipy_gif_share", "summary": "Register KLIPY GIF share", "tags": [ "KLIPY" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Register KLIPY GIF share" } }, "description": "Registers a shared GIF with KLIPY to track usage and analytics.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/KlipyRegisterShareRequest" } } } } } }, "/klipy/search": { "get": { "operationId": "search_klipy_gifs", "summary": "Search KLIPY GIFs", "tags": [ "KLIPY" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/KlipyGifResponse" } } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Search KLIPY GIFs" } }, "description": "Searches KLIPY for GIFs matching the given query string and locale.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "q", "in": "query", "required": true, "schema": { "type": "string", "description": "The search query" } }, { "name": "locale", "in": "query", "required": false, "schema": { "$ref": "#/components/schemas/Locale" } } ] } }, "/klipy/suggest": { "get": { "operationId": "get_klipy_search_suggestions", "summary": "Get KLIPY search suggestions", "tags": [ "KLIPY" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "string" } } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Get KLIPY search suggestions" } }, "description": "Returns search term suggestions from KLIPY based on the partial query provided.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "q", "in": "query", "required": true, "schema": { "type": "string", "description": "The search query" } }, { "name": "locale", "in": "query", "required": false, "schema": { "$ref": "#/components/schemas/Locale" } } ] } }, "/klipy/trending-gifs": { "get": { "operationId": "get_klipy_trending_gifs", "summary": "Get trending KLIPY GIFs", "tags": [ "KLIPY" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/KlipyGifResponse" } } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Get trending KLIPY GIFs" } }, "description": "Retrieves trending GIFs from KLIPY based on user locale and popularity.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "locale", "in": "query", "required": false, "schema": { "$ref": "#/components/schemas/Locale" } } ] } }, "/oauth2/@me": { "get": { "operationId": "get_current_user_oauth2", "summary": "Get current OAuth2 user", "tags": [ "OAuth2" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OAuth2MeResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Get current OAuth2 user" } }, "description": "Retrieves current authorization details for a valid OAuth2 bearer token. Includes OAuth2 metadata and user details when identify is present.", "security": [ { "oauth2Token": [] } ] } }, "/oauth2/@me/authorizations": { "get": { "operationId": "list_user_oauth2_authorizations", "summary": "List user OAuth2 authorizations", "tags": [ "OAuth2" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OAuth2AuthorizationsListResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "List user OAuth2 authorizations" } }, "description": "Lists all third-party applications the user has authorized. Shows granted scopes and authorization metadata. Allows user to review and manage delegated access.", "security": [ { "botToken": [] }, { "sessionToken": [] } ] } }, "/oauth2/@me/authorizations/{applicationId}": { "delete": { "operationId": "delete_user_oauth2_authorization", "summary": "Revoke OAuth2 authorization", "tags": [ "OAuth2" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Revoke OAuth2 authorization" } }, "description": "Revokes user authorization for a third-party application. Immediately invalidates all tokens issued to that application. User regains control of delegated access.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "applicationId", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The applicationId" } ] } }, "/oauth2/applications": { "post": { "operationId": "create_oauth_application", "summary": "Create OAuth2 application", "tags": [ "OAuth2" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApplicationResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Create OAuth2 application" } }, "description": "Creates a new OAuth2 application (client). Returns client credentials including ID and secret. Application can be used for authorization flows and API access.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApplicationCreateRequest" } } } } } }, "/oauth2/applications/@me": { "get": { "operationId": "list_user_applications2", "summary": "List user applications", "tags": [ "OAuth2" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApplicationListResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "List user applications" } }, "description": "Lists all OAuth2 applications owned by the authenticated user. Includes application credentials, metadata, and configuration.", "security": [ { "botToken": [] }, { "sessionToken": [] } ] } }, "/oauth2/applications/{id}": { "get": { "operationId": "get_oauth_application", "summary": "Get application", "tags": [ "OAuth2" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApplicationResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Get application" } }, "description": "Retrieves details of a specific OAuth2 application owned by the user. Returns full application configuration and credentials.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The id" } ] }, "patch": { "operationId": "update_oauth_application", "summary": "Update application", "tags": [ "OAuth2" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApplicationResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Update application" } }, "description": "Modifies OAuth2 application configuration such as name, description, and redirect URIs. Does not rotate credentials.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The id" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApplicationUpdateRequest" } } } } }, "delete": { "operationId": "delete_oauth_application", "summary": "Delete application", "tags": [ "OAuth2" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Delete application" } }, "description": "Permanently deletes an OAuth2 application. Requires sudo mode authentication. Invalidates all issued tokens and revokes all user authorizations.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The id" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SudoVerificationSchema" } } } } } }, "/oauth2/applications/{id}/bot": { "patch": { "operationId": "update_bot_profile", "summary": "Update bot profile", "tags": [ "OAuth2" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BotProfileResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Update bot profile" } }, "description": "Modifies bot profile information such as name, avatar, and status. Changes apply to the bot account associated with this OAuth2 application.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The id" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BotProfileUpdateRequest" } } } } } }, "/oauth2/applications/{id}/bot/reset-token": { "post": { "operationId": "reset_bot_token2", "summary": "Reset bot token", "tags": [ "OAuth2" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BotTokenResetResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Reset bot token" } }, "description": "Rotates the bot token for an OAuth2 application. Requires sudo mode authentication. Invalidates all previously issued bot tokens. Used for security rotation and compromise mitigation.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The id" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SudoVerificationSchema" } } } } } }, "/oauth2/applications/{id}/client-secret/reset": { "post": { "operationId": "reset_client_secret2", "summary": "Reset client secret", "tags": [ "OAuth2" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApplicationResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Reset client secret" } }, "description": "Rotates the client secret for an OAuth2 application. Requires sudo mode authentication. Essential security operation for protecting client credentials. Existing access tokens remain valid.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The id" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SudoVerificationSchema" } } } } } }, "/oauth2/applications/{id}/public": { "get": { "operationId": "get_public_application", "summary": "Get public application", "tags": [ "OAuth2" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApplicationPublicResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Get public application" } }, "description": "Retrieves public information about an OAuth2 application without authentication. Allows clients to discover application metadata before initiating authorization.", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The id" } ] } }, "/oauth2/authorize/consent": { "post": { "operationId": "provide_oauth2_consent", "summary": "Grant OAuth2 consent", "tags": [ "OAuth2" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OAuth2ConsentResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Grant OAuth2 consent" } }, "description": "User grants permission for an OAuth2 application to access authorized scopes. Used in authorization code flow to complete the authorization process after user review.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthorizeConsentRequest" } } } } } }, "/oauth2/introspect": { "post": { "operationId": "introspect_oauth2_token", "summary": "Introspect OAuth2 token", "tags": [ "OAuth2" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OAuth2IntrospectResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Introspect OAuth2 token" } }, "description": "Verifies token validity and retrieves metadata. Returns active status, scope, expiration, and user information. Client authentication via authorization header or client credentials.", "requestBody": { "required": true, "content": { "multipart/form-data": { "schema": { "$ref": "#/components/schemas/IntrospectRequestForm" } } } } } }, "/oauth2/token": { "post": { "operationId": "exchange_oauth2_token", "summary": "Exchange OAuth2 token", "tags": [ "OAuth2" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OAuth2TokenResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Exchange OAuth2 token" } }, "description": "Exchanges authorization code or other grant type for access tokens. Supports authorization code, refresh token, and client credentials flows. Client authentication via authorization header or client credentials.", "requestBody": { "required": true, "content": { "multipart/form-data": { "schema": { "$ref": "#/components/schemas/TokenRequest" } } } } } }, "/oauth2/token/revoke": { "post": { "operationId": "revoke_oauth2_token", "summary": "Revoke OAuth2 token", "tags": [ "OAuth2" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Revoke OAuth2 token" } }, "description": "Revokes an access or refresh token, immediately invalidating it. Client authentication required via authorization header or client credentials. Returns 200 on success.", "requestBody": { "required": true, "content": { "multipart/form-data": { "schema": { "$ref": "#/components/schemas/RevokeRequestForm" } } } } } }, "/oauth2/userinfo": { "get": { "operationId": "get_oauth2_userinfo", "summary": "Get OAuth2 user information", "tags": [ "OAuth2" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OAuth2UserInfoResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Get OAuth2 user information" } }, "description": "Retrieves authenticated user information using a valid access token. Requires identify scope and supports email scope for email fields.", "security": [ { "oauth2Token": [ "identify" ] } ] } }, "/packs": { "get": { "operationId": "list_user_packs", "summary": "List user packs", "tags": [ "Packs" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PackDashboardResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "List user packs" } }, "description": "Returns a dashboard view containing all emoji and sticker packs created by or owned by the authenticated user. This includes pack metadata such as name, description, type, and cover image.", "security": [ { "botToken": [] }, { "sessionToken": [] } ] } }, "/packs/emojis/{pack_id}": { "post": { "operationId": "create_pack_emoji", "summary": "Create pack emoji", "tags": [ "Packs" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GuildEmojiResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Create pack emoji" } }, "description": "Creates a new emoji within the specified pack. Requires the pack ID in the path and emoji metadata (name and image data) in the request body. Returns the newly created emoji with its generated ID.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "pack_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the pack" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GuildEmojiCreateRequest" } } } } }, "get": { "operationId": "list_pack_emojis", "summary": "List pack emojis", "tags": [ "Packs" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GuildEmojiWithUserListResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "List pack emojis" } }, "description": "Returns a list of all emojis contained within the specified pack, including emoji metadata and creator information. Results include emoji ID, name, image URL, and the user who created each emoji.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "pack_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the pack" } ] } }, "/packs/emojis/{pack_id}/bulk": { "post": { "operationId": "bulk_create_pack_emojis", "summary": "Bulk create pack emojis", "tags": [ "Packs" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GuildEmojiBulkCreateResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Bulk create pack emojis" } }, "description": "Creates multiple emojis within the specified pack in a single bulk operation. Accepts an array of emoji definitions, each containing name and image data. Returns a response containing all successfully created emojis.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "pack_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the pack" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GuildEmojiBulkCreateRequest" } } } } } }, "/packs/emojis/{pack_id}/{emoji_id}": { "patch": { "operationId": "update_pack_emoji", "summary": "Update pack emoji", "tags": [ "Packs" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GuildEmojiResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Update pack emoji" } }, "description": "Updates the name of an existing emoji within the specified pack. Requires both pack ID and emoji ID in the path parameters. Returns the updated emoji with its new name and all existing metadata.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "pack_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the pack" }, { "name": "emoji_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the emoji" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GuildEmojiUpdateRequest" } } } } }, "delete": { "operationId": "delete_pack_emoji", "summary": "Delete pack emoji", "tags": [ "Packs" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Delete pack emoji" } }, "description": "Permanently deletes an emoji from the specified pack. Requires both pack ID and emoji ID in the path parameters. Accepts an optional \"purge\" query parameter to control whether associated assets are immediately deleted.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "pack_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the pack" }, { "name": "emoji_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the emoji" }, { "name": "purge", "in": "query", "required": false, "schema": { "type": "string", "description": "Whether to also purge the asset from storage" } } ] } }, "/packs/stickers/{pack_id}": { "post": { "operationId": "create_pack_sticker", "summary": "Create pack sticker", "tags": [ "Packs" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GuildStickerResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Create pack sticker" } }, "description": "Creates a new sticker within the specified pack. Requires the pack ID in the path and sticker metadata (name, description, tags, and image data) in the request body. Returns the newly created sticker with its generated ID.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "pack_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the pack" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GuildStickerCreateRequest" } } } } }, "get": { "operationId": "list_pack_stickers", "summary": "List pack stickers", "tags": [ "Packs" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GuildStickerWithUserListResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "List pack stickers" } }, "description": "Returns a list of all stickers contained within the specified pack, including sticker metadata and creator information. Results include sticker ID, name, description, tags, image URL, and the user who created each sticker.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "pack_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the pack" } ] } }, "/packs/stickers/{pack_id}/bulk": { "post": { "operationId": "bulk_create_pack_stickers", "summary": "Bulk create pack stickers", "tags": [ "Packs" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GuildStickerBulkCreateResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Bulk create pack stickers" } }, "description": "Creates multiple stickers within the specified pack in a single bulk operation. Accepts an array of sticker definitions, each containing name, description, tags, and image data. Returns a response containing all successfully created stickers.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "pack_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the pack" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GuildStickerBulkCreateRequest" } } } } } }, "/packs/stickers/{pack_id}/{sticker_id}": { "patch": { "operationId": "update_pack_sticker", "summary": "Update pack sticker", "tags": [ "Packs" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GuildStickerResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Update pack sticker" } }, "description": "Updates the name, description, or tags of an existing sticker within the specified pack. Requires both pack ID and sticker ID in the path parameters. Returns the updated sticker with its new metadata and all existing fields.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "pack_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the pack" }, { "name": "sticker_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the sticker" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GuildStickerUpdateRequest" } } } } }, "delete": { "operationId": "delete_pack_sticker", "summary": "Delete pack sticker", "tags": [ "Packs" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Delete pack sticker" } }, "description": "Permanently deletes a sticker from the specified pack. Requires both pack ID and sticker ID in the path parameters. Accepts an optional \"purge\" query parameter to control whether associated assets are immediately deleted.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "pack_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the pack" }, { "name": "sticker_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the sticker" }, { "name": "purge", "in": "query", "required": false, "schema": { "type": "string", "description": "Whether to also purge the asset from storage" } } ] } }, "/packs/{pack_id}": { "patch": { "operationId": "update_pack", "summary": "Update pack", "tags": [ "Packs" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PackSummaryResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Update pack" } }, "description": "Updates the metadata for an existing pack owned by the authenticated user. Allowed modifications include name, description, and cover image. Returns the updated pack with all current metadata.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "pack_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the pack" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PackUpdateRequest" } } } } }, "delete": { "operationId": "delete_pack", "summary": "Delete pack", "tags": [ "Packs" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Delete pack" } }, "description": "Permanently deletes a pack owned by the authenticated user along with all emojis or stickers contained within it. This action cannot be undone and will remove all associated assets.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "pack_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the pack" } ] } }, "/packs/{pack_id}/install": { "post": { "operationId": "install_pack", "summary": "Install pack", "tags": [ "Packs" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Install pack" } }, "description": "Installs a pack to the authenticated user's collection, making its emojis or stickers available for use. The pack must be publicly accessible or owned by the user.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "pack_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the pack" } ] }, "delete": { "operationId": "uninstall_pack", "summary": "Uninstall pack", "tags": [ "Packs" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Uninstall pack" } }, "description": "Uninstalls a pack from the authenticated user's collection, removing access to its emojis or stickers. This does not delete the pack itself, only removes it from the user's installed list.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "pack_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the pack" } ] } }, "/packs/{pack_id}/invites": { "get": { "operationId": "list_pack_invites", "summary": "List pack invites", "tags": [ "Invites" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/InviteMetadataResponseSchema" } } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "List pack invites" } }, "description": "Retrieves all currently active invites for the specified pack, including invite codes, creators, expiration times, and usage statistics. The authenticated user must have permission to manage invites for the pack and must be a default (non-bot) user. Returns an array of invite metadata objects.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "pack_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the pack" } ] }, "post": { "operationId": "create_pack_invite", "summary": "Create pack invite", "tags": [ "Invites" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InviteMetadataResponseSchema" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Create pack invite" } }, "description": "Creates a new invite for the specified pack with optional parameters such as maximum age and maximum uses. The authenticated user must have permission to create invites for the pack and must be a default (non-bot) user. Returns the created invite with full metadata including usage statistics.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "pack_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the pack" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PackInviteCreateRequest" } } } } } }, "/packs/{pack_type}": { "post": { "operationId": "create_pack", "summary": "Create pack", "tags": [ "Packs" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PackSummaryResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Create pack" } }, "description": "Creates a new emoji or sticker pack owned by the authenticated user. The pack type is specified in the path parameter and can be either \"emoji\" or \"sticker\". Returns the newly created pack with its metadata.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "pack_type", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The pack type" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PackCreateRequest" } } } } } }, "/premium/cancel-subscription": { "post": { "operationId": "cancel_subscription", "summary": "Cancel subscription", "tags": [ "Premium" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Cancel subscription" } }, "description": "Cancels the authenticated user's premium subscription at the end of the current billing period.", "security": [ { "botToken": [] }, { "sessionToken": [] } ] } }, "/premium/customer-portal": { "post": { "operationId": "create_customer_portal", "summary": "Create customer portal", "tags": [ "Premium" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UrlResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Create customer portal" } }, "description": "Creates a session URL for the authenticated user to manage their Stripe subscription via the customer portal.", "security": [ { "botToken": [] }, { "sessionToken": [] } ] } }, "/premium/operator/rejoin": { "post": { "operationId": "rejoin_operator_guild", "summary": "Rejoin operator guild", "tags": [ "Premium" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Rejoin operator guild" } }, "description": "Adds the authenticated user back to the operator community guild after premium re-subscription.", "security": [ { "botToken": [] }, { "sessionToken": [] } ] } }, "/premium/price-ids": { "get": { "operationId": "get_price_ids", "summary": "Get Stripe price IDs", "tags": [ "Premium" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PriceIdsResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Get Stripe price IDs" } }, "description": "Retrieves Stripe price IDs for premium subscriptions based on geographic location.", "parameters": [ { "name": "country_code", "in": "query", "required": false, "schema": { "type": "string", "description": "Two-letter country code for regional pricing" } } ] } }, "/premium/reactivate-subscription": { "post": { "operationId": "reactivate_subscription", "summary": "Reactivate subscription", "tags": [ "Premium" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Reactivate subscription" } }, "description": "Reactivates a previously cancelled premium subscription for the authenticated user.", "security": [ { "botToken": [] }, { "sessionToken": [] } ] } }, "/premium/visionary/rejoin": { "post": { "operationId": "rejoin_visionary_guild", "summary": "Rejoin visionary guild", "tags": [ "Premium" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Rejoin visionary guild" } }, "description": "Adds the authenticated user back to the visionary community guild after premium re-subscription.", "security": [ { "botToken": [] }, { "sessionToken": [] } ] } }, "/read-states/ack-bulk": { "post": { "operationId": "ack_bulk_messages", "summary": "Mark channels as read", "tags": [ "Read States" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Mark channels as read" } }, "description": "Marks multiple channels as read for the authenticated user in bulk.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ReadStateAckBulkRequest" } } } } } }, "/reports/dsa": { "post": { "operationId": "create_dsa_report", "summary": "Create DSA report", "tags": [ "Reports" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ReportResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Create DSA report" } }, "description": "Creates a DSA complaint report with verified email for Digital Services Act compliance.", "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DsaReportRequest" } } } } } }, "/reports/dsa/email/send": { "post": { "operationId": "send_dsa_report_email", "summary": "Send DSA report email", "tags": [ "Reports" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OkResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Send DSA report email" } }, "description": "Initiates DSA (Digital Services Act) report submission by sending verification email to reporter.", "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DsaReportEmailSendRequest" } } } } } }, "/reports/dsa/email/verify": { "post": { "operationId": "verify_dsa_report_email", "summary": "Verify DSA report email", "tags": [ "Reports" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TicketResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Verify DSA report email" } }, "description": "Verifies the DSA report email and creates a report ticket for legal compliance.", "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DsaReportEmailVerifyRequest" } } } } } }, "/reports/guild": { "post": { "operationId": "report_guild", "summary": "Report guild", "tags": [ "Reports" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ReportResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Report guild" } }, "description": "Submits a report about a guild to moderators for policy violation review.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ReportGuildRequest" } } } } } }, "/reports/message": { "post": { "operationId": "report_message", "summary": "Report message", "tags": [ "Reports" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ReportResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Report message" } }, "description": "Submits a report about a message to moderators for content violation review.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ReportMessageRequest" } } } } } }, "/reports/user": { "post": { "operationId": "report_user", "summary": "Report user", "tags": [ "Reports" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ReportResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Report user" } }, "description": "Submits a report about a user to moderators for content violation or behaviour review.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ReportUserRequest" } } } } } }, "/search/messages": { "post": { "operationId": "search_messages", "summary": "Search messages", "tags": [ "Search" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MessageSearchResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Search messages" } }, "description": "Searches for messages across guilds and channels accessible to the authenticated user.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GlobalSearchMessagesRequest" } } } } } }, "/streams/{stream_key}/preview": { "get": { "operationId": "get_stream_preview", "summary": "Get stream preview image", "tags": [ "Channels" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Get stream preview image" } }, "description": "Retrieves the current preview thumbnail for a stream. Returns the image with no-store cache headers to ensure freshness.", "security": [ { "sessionToken": [] } ], "parameters": [ { "name": "stream_key", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The stream key" } ] }, "post": { "operationId": "upload_stream_preview", "summary": "Upload stream preview image", "tags": [ "Channels" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Upload stream preview image" } }, "description": "Uploads a custom thumbnail image for the stream. The image is scanned for content policy violations and stored securely.", "security": [ { "sessionToken": [] } ], "parameters": [ { "name": "stream_key", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The stream key" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StreamPreviewUploadBodySchema" } } } } } }, "/streams/{stream_key}/stream": { "patch": { "operationId": "update_stream_region", "summary": "Update stream region", "tags": [ "Channels" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Update stream region" } }, "description": "Changes the media server region for an active stream. Used to optimise bandwidth and latency for streaming.", "security": [ { "sessionToken": [] } ], "parameters": [ { "name": "stream_key", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The stream key" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StreamUpdateBodySchema" } } } } } }, "/stripe/checkout/gift": { "post": { "operationId": "create_gift_checkout_session", "summary": "Create gift checkout session", "tags": [ "Billing" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UrlResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Create gift checkout session" } }, "description": "Creates a checkout session for purchasing premium gifts to send to other users.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateCheckoutSessionRequest" } } } } } }, "/stripe/checkout/subscription": { "post": { "operationId": "create_checkout_session", "summary": "Create checkout session", "tags": [ "Billing" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UrlResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Create checkout session" } }, "description": "Initiates a Stripe checkout session for user subscription purchases.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateCheckoutSessionRequest" } } } } } }, "/stripe/webhook": { "post": { "operationId": "process_stripe_webhook", "summary": "Process Stripe webhook", "tags": [ "Billing" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WebhookReceivedResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Process Stripe webhook" } }, "description": "Handles incoming Stripe webhook events for payment processing and subscription management." } }, "/tenor/featured": { "get": { "operationId": "get_tenor_featured", "summary": "Get featured Tenor GIFs", "tags": [ "Tenor" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TenorFeaturedResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Get featured Tenor GIFs" } }, "description": "Retrieves currently featured GIFs from Tenor based on user locale.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "locale", "in": "query", "required": false, "schema": { "$ref": "#/components/schemas/Locale" } } ] } }, "/tenor/register-share": { "post": { "operationId": "register_tenor_gif_share", "summary": "Register Tenor GIF share", "tags": [ "Tenor" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Register Tenor GIF share" } }, "description": "Registers a shared GIF with Tenor to help tune search results.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TenorRegisterShareRequest" } } } } } }, "/tenor/search": { "get": { "operationId": "search_tenor_gifs", "summary": "Search Tenor GIFs", "tags": [ "Tenor" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/TenorGifResponse" } } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Search Tenor GIFs" } }, "description": "Searches Tenor for GIFs matching the given query string and locale.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "q", "in": "query", "required": true, "schema": { "type": "string", "description": "The search query" } }, { "name": "locale", "in": "query", "required": false, "schema": { "$ref": "#/components/schemas/Locale" } } ] } }, "/tenor/suggest": { "get": { "operationId": "get_tenor_search_suggestions", "summary": "Get Tenor search suggestions", "tags": [ "Tenor" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "string" } } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Get Tenor search suggestions" } }, "description": "Returns search term suggestions from Tenor based on the partial query provided.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "q", "in": "query", "required": true, "schema": { "type": "string", "description": "The search query" } }, { "name": "locale", "in": "query", "required": false, "schema": { "$ref": "#/components/schemas/Locale" } } ] } }, "/tenor/trending-gifs": { "get": { "operationId": "get_tenor_trending_gifs", "summary": "Get trending Tenor GIFs", "tags": [ "Tenor" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/TenorGifResponse" } } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Get trending Tenor GIFs" } }, "description": "Retrieves trending/featured GIFs from Tenor based on user locale and popularity.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "locale", "in": "query", "required": false, "schema": { "$ref": "#/components/schemas/Locale" } } ] } }, "/users/@me": { "get": { "operationId": "get_current_user", "summary": "Get current user profile", "tags": [ "Users" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserPrivateResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Get current user profile" } }, "description": "Retrieves the current authenticated user's profile information, including account details and settings. OAuth2 bearer tokens require identify scope, and email is returned only when the email scope is also present. Returns full user object with private fields visible only to the authenticated user.", "security": [ { "botToken": [] }, { "oauth2Token": [ "identify" ] }, { "sessionToken": [] } ] }, "patch": { "operationId": "update_current_user", "summary": "Update current user profile", "tags": [ "Users" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserPrivateResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Update current user profile" } }, "description": "Updates the authenticated user's profile information such as username, avatar, and bio. Requires sudo mode verification for security-sensitive changes. Only default users can modify their own profile.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserUpdateWithVerificationRequest" } } } } } }, "/users/@me/applications": { "get": { "operationId": "list_user_applications", "summary": "List user applications", "tags": [ "OAuth2" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApplicationListResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "List user applications" } }, "description": "Lists all OAuth2 applications owned by the authenticated user. Includes application credentials, metadata, and configuration.", "security": [ { "botToken": [] }, { "sessionToken": [] } ] } }, "/users/@me/authorized-ips": { "delete": { "operationId": "forget_authorized_ips", "summary": "Forget authorized IPs for current user", "tags": [ "Users" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Forget authorized IPs for current user" } }, "description": "Clears all authorized IP addresses for the current user. After calling this endpoint, the user will be required to re-authorize any new IP addresses they log in from. Requires sudo mode verification.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SudoVerificationSchema" } } } } } }, "/users/@me/channels": { "get": { "operationId": "list_private_channels", "summary": "List private channels", "tags": [ "Users" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ChannelResponse" } } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "List private channels" } }, "description": "Retrieves all private channels (direct messages) accessible to the current user. Returns list of channel objects with metadata including recipient information.", "security": [ { "botToken": [] }, { "sessionToken": [] } ] }, "post": { "operationId": "create_private_channel", "summary": "Create private channel", "tags": [ "Users" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ChannelResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Create private channel" } }, "description": "Creates a new private channel (direct message) between the current user and one or more recipients. Returns the newly created channel object.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreatePrivateChannelRequest" } } } } } }, "/users/@me/channels/messages/preload": { "post": { "operationId": "preload_messages_for_channels_alt", "summary": "Preload messages for channels (alternative)", "tags": [ "Users" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PreloadMessagesResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Preload messages for channels (alternative)" } }, "description": "Alternative endpoint to preload and cache messages for multiple channels to improve performance when opening those channels. Returns preloaded message data for the specified channels.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PreloadMessagesRequest" } } } } } }, "/users/@me/channels/{channel_id}/pin": { "put": { "operationId": "pin_direct_message_channel", "summary": "Pin direct message channel", "tags": [ "Users" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Pin direct message channel" } }, "description": "Pins a private message channel for the current user. Pinned channels appear at the top of the channel list for easy access.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "channel_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the channel" } ] }, "delete": { "operationId": "unpin_direct_message_channel", "summary": "Unpin direct message channel", "tags": [ "Users" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Unpin direct message channel" } }, "description": "Unpins a private message channel for the current user. The channel will return to its normal position in the channel list based on activity.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "channel_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the channel" } ] } }, "/users/@me/connections": { "get": { "operationId": "list_connections", "summary": "List user connections", "tags": [ "Connections" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConnectionListResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "List user connections" } }, "description": "Retrieves all external service connections for the authenticated user.", "security": [ { "botToken": [] }, { "oauth2Token": [ "connections" ] }, { "sessionToken": [] } ] }, "post": { "operationId": "initiate_connection", "summary": "Initiate connection", "tags": [ "Connections" ], "responses": { "201": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConnectionVerificationResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Initiate connection" } }, "description": "Initiates a new external service connection and returns verification instructions. No database record is created until verification succeeds.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateConnectionRequest" } } } } } }, "/users/@me/connections/bluesky/authorize": { "post": { "operationId": "authorize_bluesky_connection", "summary": "Start Bluesky OAuth flow", "tags": [ "Connections" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BlueskyAuthorizeResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Start Bluesky OAuth flow" } }, "description": "Initiates the Bluesky OAuth2 authorisation flow and returns a URL to redirect the user to.", "security": [ { "sessionToken": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BlueskyAuthorizeRequest" } } } } } }, "/users/@me/connections/reorder": { "patch": { "operationId": "reorder_connections", "summary": "Reorder connections", "tags": [ "Connections" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Reorder connections" } }, "description": "Updates the display order of multiple connections in a single operation.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ReorderConnectionsRequest" } } } } } }, "/users/@me/connections/verify": { "post": { "operationId": "verify_and_create_connection", "summary": "Verify and create connection", "tags": [ "Connections" ], "responses": { "201": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConnectionResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Verify and create connection" } }, "description": "Verifies the external service connection using the initiation token and creates the connection record on success.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/VerifyAndCreateConnectionRequest" } } } } } }, "/users/@me/connections/{type}/{connection_id}": { "patch": { "operationId": "update_connection", "summary": "Update connection", "tags": [ "Connections" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Update connection" } }, "description": "Updates visibility and sort order settings for an external service connection.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "type", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The type" }, { "name": "connection_id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The connection id" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateConnectionRequest" } } } } }, "delete": { "operationId": "delete_connection", "summary": "Delete connection", "tags": [ "Connections" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Delete connection" } }, "description": "Removes an external service connection from the authenticated user's profile.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "type", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The type" }, { "name": "connection_id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The connection id" } ] } }, "/users/@me/connections/{type}/{connection_id}/verify": { "post": { "operationId": "verify_connection", "summary": "Verify connection", "tags": [ "Connections" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConnectionResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Verify connection" } }, "description": "Triggers verification for an external service connection.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "type", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The type" }, { "name": "connection_id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The connection id" } ] } }, "/users/@me/delete": { "post": { "operationId": "delete_current_user_account", "summary": "Delete current user account", "tags": [ "Users" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Delete current user account" } }, "description": "Permanently deletes the current user's account and all associated data. Requires sudo mode verification. This action is irreversible and will remove all user data, messages, and connections.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SudoVerificationSchema" } } } } } }, "/users/@me/disable": { "post": { "operationId": "disable_current_user_account", "summary": "Disable current user account", "tags": [ "Users" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Disable current user account" } }, "description": "Temporarily disables the current user's account. Requires sudo mode verification. The account can be re-enabled by logging in again. User data is preserved but the account will be inaccessible during the disabled period.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SudoVerificationSchema" } } } } } }, "/users/@me/email-change/bounced/request-new": { "post": { "operationId": "request_bounced_email_replacement", "summary": "Request replacement email for bounced address", "tags": [ "Users" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EmailChangeRequestNewResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Request replacement email for bounced address" } }, "description": "Starts a dedicated bounced-email recovery flow. Sends a verification code to the replacement email without requiring verification of the old bounced email address.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EmailChangeBouncedRequestNewRequest" } } } } } }, "/users/@me/email-change/bounced/resend-new": { "post": { "operationId": "resend_bounced_email_replacement_code", "summary": "Resend replacement email code", "tags": [ "Users" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Resend replacement email code" } }, "description": "Resends the verification code for the bounced-email recovery flow to the replacement email address.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EmailChangeTicketRequest" } } } } } }, "/users/@me/email-change/bounced/verify-new": { "post": { "operationId": "verify_bounced_email_replacement", "summary": "Verify replacement email for bounced address", "tags": [ "Users" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserPrivateResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Verify replacement email for bounced address" } }, "description": "Completes bounced-email recovery by verifying the replacement email code, updating the account email, and clearing email-related suspicious-activity requirements.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EmailChangeBouncedVerifyNewRequest" } } } } } }, "/users/@me/email-change/request-new": { "post": { "operationId": "request_new_email_address", "summary": "Request new email address", "tags": [ "Users" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EmailChangeRequestNewResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Request new email address" } }, "description": "Requests to change email to a new address. Requires proof of original email verification. Sends confirmation code to new email address for verification.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EmailChangeRequestNewRequest" } } } } } }, "/users/@me/email-change/resend-new": { "post": { "operationId": "resend_new_email_confirmation", "summary": "Resend new email confirmation", "tags": [ "Users" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Resend new email confirmation" } }, "description": "Resends a confirmation code to the new email address during the email change process. Use this if the new email confirmation was not received. Requires valid email change ticket.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EmailChangeTicketRequest" } } } } } }, "/users/@me/email-change/resend-original": { "post": { "operationId": "resend_original_email_confirmation", "summary": "Resend original email confirmation", "tags": [ "Users" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Resend original email confirmation" } }, "description": "Resends a confirmation code to the user's original email address during the email change process. Use this if the original confirmation email was not received. Requires valid email change ticket.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EmailChangeTicketRequest" } } } } } }, "/users/@me/email-change/start": { "post": { "operationId": "start_email_change", "summary": "Start email change", "tags": [ "Users" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EmailChangeStartResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Start email change" } }, "description": "Initiates an email change process. Generates a ticket for verifying the original email address before requesting a new email. Returns ticket for use in subsequent email change steps.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EmptyBodyRequest" } } } } } }, "/users/@me/email-change/verify-new": { "post": { "operationId": "verify_new_email_address", "summary": "Verify new email address", "tags": [ "Users" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EmailTokenResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Verify new email address" } }, "description": "Completes the email change process by verifying the new email address with a confirmation code. Returns an email token that confirms the email change. After this step, the user may need to re-authenticate.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EmailChangeVerifyNewRequest" } } } } } }, "/users/@me/email-change/verify-original": { "post": { "operationId": "verify_original_email_address", "summary": "Verify original email address", "tags": [ "Users" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EmailChangeVerifyOriginalResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Verify original email address" } }, "description": "Verifies ownership of the original email address by validating a confirmation code sent to that address. Must be completed before requesting a new email address. Returns proof token for use in new email request.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EmailChangeVerifyOriginalRequest" } } } } } }, "/users/@me/gifts": { "get": { "operationId": "list_user_gifts", "summary": "List user gifts", "tags": [ "Users" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/GiftCodeMetadataResponse" } } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "List user gifts" } }, "description": "Lists all gift codes created by the authenticated user.", "security": [ { "botToken": [] }, { "sessionToken": [] } ] } }, "/users/@me/guilds": { "get": { "operationId": "list_guilds", "summary": "List current user guilds", "tags": [ "Guilds" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/GuildResponse" } } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "List current user guilds" } }, "description": "Requires guilds OAuth scope if using bearer token. Returns all guilds the user is a member of.", "security": [ { "botToken": [] }, { "oauth2Token": [ "guilds" ] }, { "sessionToken": [] } ], "parameters": [ { "name": "before", "in": "query", "required": false, "schema": { "$ref": "#/components/schemas/SnowflakeType" } }, { "name": "after", "in": "query", "required": false, "schema": { "$ref": "#/components/schemas/SnowflakeType" } }, { "name": "limit", "in": "query", "required": false, "schema": { "type": "integer", "minimum": 1, "maximum": 200, "format": "int32", "description": "Maximum number of guilds to return (1-200)" } }, { "name": "with_counts", "in": "query", "required": false, "schema": { "type": "string", "description": "Include approximate member and presence counts" } } ] } }, "/users/@me/guilds/@me/settings": { "patch": { "operationId": "update_dm_notification_settings", "summary": "Update DM notification settings", "tags": [ "Users" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserGuildSettingsResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Update DM notification settings" } }, "description": "Updates the user's notification settings for direct messages and group DMs. Controls how DM notifications are handled.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserGuildSettingsUpdateRequest" } } } } } }, "/users/@me/guilds/{guild_id}": { "delete": { "operationId": "leave_guild", "summary": "Leave guild", "tags": [ "Guilds" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Leave guild" } }, "description": "Removes the current user from the specified guild membership.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "guild_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the guild" } ] } }, "/users/@me/guilds/{guild_id}/settings": { "patch": { "operationId": "update_guild_settings_for_user", "summary": "Update guild settings for user", "tags": [ "Users" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserGuildSettingsResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Update guild settings for user" } }, "description": "Updates the user's settings for a specific guild, such as notification preferences and visibility settings. Guild-specific settings override default settings.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "guild_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the guild" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserGuildSettingsUpdateRequest" } } } } } }, "/users/@me/harvest": { "post": { "operationId": "request_data_harvest", "summary": "Request data harvest", "tags": [ "Users" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HarvestCreationResponseSchema" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Request data harvest" } }, "description": "Requests a data harvest of all user data and content. Initiates an asynchronous process to compile and prepare all data for download in a portable format. Returns harvest ID and status.", "security": [ { "botToken": [] }, { "sessionToken": [] } ] } }, "/users/@me/harvest/latest": { "get": { "operationId": "get_latest_data_harvest", "summary": "Get latest data harvest", "tags": [ "Users" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HarvestStatusResponseSchemaNullable" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Get latest data harvest" } }, "description": "Retrieves the status of the most recent data harvest request. Returns null if no harvest has been requested yet. Shows progress and estimated completion time.", "security": [ { "botToken": [] }, { "sessionToken": [] } ] } }, "/users/@me/harvest/{harvestId}": { "get": { "operationId": "get_data_harvest_status", "summary": "Get data harvest status", "tags": [ "Users" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HarvestStatusResponseSchema" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Get data harvest status" } }, "description": "Retrieves detailed status information for a specific data harvest. Shows progress, completion status, and other metadata about the harvest request.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "harvestId", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The harvestId" } ] } }, "/users/@me/harvest/{harvestId}/download": { "get": { "operationId": "get_data_harvest_download_url", "summary": "Get data harvest download URL", "tags": [ "Users" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HarvestDownloadUrlResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Get data harvest download URL" } }, "description": "Retrieves the download URL for a completed data harvest. The URL is temporary and expires after a set time. Can only be accessed for completed harvests.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "harvestId", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The harvestId" } ] } }, "/users/@me/memes": { "get": { "operationId": "list_favorite_memes", "summary": "List favorite memes", "tags": [ "Saved Media" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FavoriteMemeListResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "List favorite memes" } }, "description": "Retrieves all memes saved as favorites by the authenticated user.", "security": [ { "botToken": [] }, { "sessionToken": [] } ] }, "post": { "operationId": "create_meme_from_url", "summary": "Create meme from URL", "tags": [ "Saved Media" ], "responses": { "201": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FavoriteMemeResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Create meme from URL" } }, "description": "Saves a new meme to favorites from a provided URL.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateFavoriteMemeFromUrlBodySchema" } } } } } }, "/users/@me/memes/{meme_id}": { "get": { "operationId": "get_favorite_meme", "summary": "Get favorite meme", "tags": [ "Saved Media" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FavoriteMemeResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Get favorite meme" } }, "description": "Retrieves a specific favorite meme by ID.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "meme_id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The meme id" } ] }, "patch": { "operationId": "update_favorite_meme", "summary": "Update favorite meme", "tags": [ "Saved Media" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FavoriteMemeResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Update favorite meme" } }, "description": "Updates details of a favorite meme.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "meme_id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The meme id" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateFavoriteMemeBodySchema" } } } } }, "delete": { "operationId": "delete_favorite_meme", "summary": "Delete favorite meme", "tags": [ "Saved Media" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Delete favorite meme" } }, "description": "Removes a favorite meme from the authenticated user's collection.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "meme_id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The meme id" } ] } }, "/users/@me/mentions": { "get": { "operationId": "list_mentions_for_current_user", "summary": "List mentions for current user", "tags": [ "Users" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MessageListResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "List mentions for current user" } }, "description": "Retrieves messages where the current user was mentioned. Supports filtering by role mentions, everyone mentions, and specific guilds. Returns paginated list of messages.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "limit", "in": "query", "required": false, "schema": { "type": "string", "description": "Maximum number of mentions to return (1-100, default 25)" } }, { "name": "roles", "in": "query", "required": false, "schema": { "type": "string", "description": "Whether to include role mentions" } }, { "name": "everyone", "in": "query", "required": false, "schema": { "type": "string", "description": "Whether to include @everyone mentions" } }, { "name": "guilds", "in": "query", "required": false, "schema": { "type": "string", "description": "Whether to include guild mentions" } }, { "name": "before", "in": "query", "required": false, "schema": { "$ref": "#/components/schemas/SnowflakeType" } } ] } }, "/users/@me/mentions/{message_id}": { "delete": { "operationId": "delete_mention", "summary": "Delete mention", "tags": [ "Users" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Delete mention" } }, "description": "Removes a mention from the current user's mention history. Does not delete the original message, only removes it from the user's personal mention list.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "message_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the message" } ] } }, "/users/@me/messages/delete": { "post": { "operationId": "request_bulk_message_deletion", "summary": "Request bulk message deletion", "tags": [ "Users" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Request bulk message deletion" } }, "description": "Initiates bulk deletion of all messages sent by the current user. Requires sudo mode verification. The deletion process is asynchronous and may take time to complete. User data remains intact.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SudoVerificationSchema" } } } } }, "delete": { "operationId": "cancel_bulk_message_deletion2", "summary": "Cancel bulk message deletion", "tags": [ "Users" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SuccessResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Cancel bulk message deletion" } }, "description": "Cancels an in-progress bulk message deletion request. Can only be used if the deletion has not yet completed. Returns success status.", "security": [ { "botToken": [] }, { "sessionToken": [] } ] } }, "/users/@me/messages/delete/test": { "post": { "operationId": "test_bulk_message_deletion", "summary": "Test bulk message deletion", "tags": [ "Users" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Test bulk message deletion" } }, "description": "Staff-only endpoint for testing bulk message deletion functionality. Creates a test deletion request with a 1-minute delay. Only accessible to users with staff privileges.", "security": [ { "botToken": [] }, { "sessionToken": [] } ] } }, "/users/@me/mfa/backup-codes": { "post": { "operationId": "get_backup_codes_mfa", "summary": "Get backup codes for multi-factor authentication", "tags": [ "Users" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MfaBackupCodesResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Get backup codes for multi-factor authentication" } }, "description": "Generate and retrieve new backup codes for account recovery. Requires sudo mode verification. Old codes are invalidated.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MfaBackupCodesRequest" } } } } } }, "/users/@me/mfa/sms/disable": { "post": { "operationId": "disable_sms_mfa", "summary": "Disable SMS multi-factor authentication", "tags": [ "Users" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Disable SMS multi-factor authentication" } }, "description": "Disable SMS-based multi-factor authentication on the current account. Requires sudo mode verification for security.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SudoVerificationSchema" } } } } } }, "/users/@me/mfa/sms/enable": { "post": { "operationId": "enable_sms_mfa", "summary": "Enable SMS multi-factor authentication", "tags": [ "Users" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Enable SMS multi-factor authentication" } }, "description": "Enable SMS-based multi-factor authentication on the current account. Requires sudo mode verification and a verified phone number.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SudoVerificationSchema" } } } } } }, "/users/@me/mfa/totp/disable": { "post": { "operationId": "disable_totp_mfa", "summary": "Disable TOTP multi-factor authentication", "tags": [ "Users" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Disable TOTP multi-factor authentication" } }, "description": "Disable TOTP multi-factor authentication on the current account. Requires sudo mode verification for security.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DisableTotpRequest" } } } } } }, "/users/@me/mfa/totp/enable": { "post": { "operationId": "enable_totp_mfa", "summary": "Enable TOTP multi-factor authentication", "tags": [ "Users" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MfaBackupCodesResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Enable TOTP multi-factor authentication" } }, "description": "Enable time-based one-time password (TOTP) MFA on the current account. Returns backup codes for account recovery. Requires sudo mode verification.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EnableMfaTotpRequest" } } } } } }, "/users/@me/mfa/webauthn/credentials": { "get": { "operationId": "list_webauthn_credentials", "summary": "List WebAuthn credentials", "tags": [ "Users" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WebAuthnCredentialListResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "List WebAuthn credentials" } }, "description": "Retrieve all registered WebAuthn credentials (security keys, biometric devices) for the current user. Requires authentication.", "security": [ { "botToken": [] }, { "sessionToken": [] } ] }, "post": { "operationId": "register_webauthn_credential", "summary": "Register WebAuthn credential", "tags": [ "Users" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Register WebAuthn credential" } }, "description": "Complete registration of a new WebAuthn credential (security key or biometric device). Requires sudo mode verification.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WebAuthnRegisterRequest" } } } } } }, "/users/@me/mfa/webauthn/credentials/registration-options": { "post": { "operationId": "get_webauthn_registration_options", "summary": "Get WebAuthn registration options", "tags": [ "Users" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WebAuthnChallengeResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Get WebAuthn registration options" } }, "description": "Generate challenge and options to register a new WebAuthn credential. Requires sudo mode verification.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SudoVerificationSchema" } } } } } }, "/users/@me/mfa/webauthn/credentials/{credential_id}": { "patch": { "operationId": "update_webauthn_credential", "summary": "Update WebAuthn credential", "tags": [ "Users" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Update WebAuthn credential" } }, "description": "Update the name or settings of a registered WebAuthn credential. Requires sudo mode verification.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "credential_id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The credential id" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WebAuthnCredentialUpdateRequest" } } } } }, "delete": { "operationId": "delete_webauthn_credential", "summary": "Delete WebAuthn credential", "tags": [ "Users" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Delete WebAuthn credential" } }, "description": "Remove a registered WebAuthn credential from the current account. Requires sudo mode verification for security.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "credential_id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The credential id" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SudoVerificationSchema" } } } } } }, "/users/@me/notes": { "get": { "operationId": "list_current_user_notes", "summary": "List current user notes", "tags": [ "Users" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserNotesRecordResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "List current user notes" } }, "description": "Retrieves all notes the current user has written about other users. Returns a record of user IDs to notes. These are private notes visible only to the authenticated user.", "security": [ { "botToken": [] }, { "sessionToken": [] } ] } }, "/users/@me/notes/{target_id}": { "get": { "operationId": "get_note_on_user", "summary": "Get note on user", "tags": [ "Users" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserNoteResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Get note on user" } }, "description": "Retrieves a specific note the current user has written about another user. Returns the note text and metadata. These are private notes visible only to the authenticated user.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "target_id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The target id" } ] }, "put": { "operationId": "set_note_on_user", "summary": "Set note on user", "tags": [ "Users" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Set note on user" } }, "description": "Creates or updates a private note on another user. The note is visible only to the authenticated user. Send null or empty string to delete an existing note.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "target_id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The target id" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserNoteUpdateRequest" } } } } } }, "/users/@me/password-change/complete": { "post": { "operationId": "complete_password_change", "summary": "Complete password change", "tags": [ "Users" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Complete password change" } }, "description": "Completes the password change after email verification. Requires the verification proof and new password. Invalidates all existing sessions.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PasswordChangeCompleteRequest" } } } } } }, "/users/@me/password-change/resend": { "post": { "operationId": "resend_password_change_code", "summary": "Resend password change verification code", "tags": [ "Users" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Resend password change verification code" } }, "description": "Resends the verification code for a password change. Use if the original code was not received. Requires a valid password change ticket.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PasswordChangeTicketRequest" } } } } } }, "/users/@me/password-change/start": { "post": { "operationId": "start_password_change", "summary": "Start password change", "tags": [ "Users" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PasswordChangeStartResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Start password change" } }, "description": "Initiates a password change process. Sends a verification code to the user's email address. Returns a ticket for use in subsequent password change steps.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EmptyBodyRequest" } } } } } }, "/users/@me/password-change/verify": { "post": { "operationId": "verify_password_change_code", "summary": "Verify password change code", "tags": [ "Users" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PasswordChangeVerifyResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Verify password change code" } }, "description": "Verifies the email code sent during password change. Returns a proof token needed to complete the password change.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PasswordChangeVerifyRequest" } } } } } }, "/users/@me/phone": { "post": { "operationId": "add_phone_to_account", "summary": "Add phone number to account", "tags": [ "Users" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Add phone number to account" } }, "description": "Add or update the phone number associated with the current account. Requires sudo mode verification. Phone must be verified before use.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PhoneAddRequest" } } } } }, "delete": { "operationId": "remove_phone_from_account", "summary": "Remove phone number from account", "tags": [ "Users" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Remove phone number from account" } }, "description": "Remove the phone number from the current account. Requires sudo mode verification. SMS MFA will be disabled if enabled.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SudoVerificationSchema" } } } } } }, "/users/@me/phone/send-verification": { "post": { "operationId": "send_phone_verification_code", "summary": "Send phone verification code", "tags": [ "Users" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Send phone verification code" } }, "description": "Request a verification code to be sent via SMS to the provided phone number. Requires authentication.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PhoneSendVerificationRequest" } } } } } }, "/users/@me/phone/verify": { "post": { "operationId": "verify_phone_code", "summary": "Verify phone code", "tags": [ "Users" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PhoneVerifyResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Verify phone code" } }, "description": "Verify a phone number by confirming the SMS verification code. Returns phone verification status.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PhoneVerifyRequest" } } } } } }, "/users/@me/preload-messages": { "post": { "operationId": "preload_messages_for_channels", "summary": "Preload messages for channels", "tags": [ "Users" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PreloadMessagesResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Preload messages for channels" } }, "description": "Preloads and caches messages for multiple channels to improve performance when opening those channels. Returns preloaded message data for the specified channels.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PreloadMessagesRequest" } } } } } }, "/users/@me/premium/reset": { "post": { "operationId": "reset_current_user_premium_state", "summary": "Reset current user premium state", "tags": [ "Users" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Reset current user premium state" } }, "description": "Staff-only endpoint that clears premium status and related premium metadata for the current user account.", "security": [ { "botToken": [] }, { "sessionToken": [] } ] } }, "/users/@me/push/subscribe": { "post": { "operationId": "subscribe_to_push_notifications", "summary": "Subscribe to push notifications", "tags": [ "Users" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PushSubscribeResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Subscribe to push notifications" } }, "description": "Registers a new push notification subscription for the current user. Takes push endpoint and encryption keys from a Web Push API subscription. Returns subscription ID for future reference.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PushSubscribeRequest" } } } } } }, "/users/@me/push/subscriptions": { "get": { "operationId": "list_push_subscriptions", "summary": "List push subscriptions", "tags": [ "Users" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PushSubscriptionsListResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "List push subscriptions" } }, "description": "Retrieves all push notification subscriptions for the current user, including subscription IDs and user agent information for each subscription.", "security": [ { "botToken": [] }, { "sessionToken": [] } ] } }, "/users/@me/push/subscriptions/{subscription_id}": { "delete": { "operationId": "unsubscribe_from_push_notifications", "summary": "Unsubscribe from push notifications", "tags": [ "Users" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SuccessResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Unsubscribe from push notifications" } }, "description": "Unregisters a push notification subscription for the current user. Push notifications will no longer be sent to this subscription endpoint.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "subscription_id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The subscription id" } ] } }, "/users/@me/relationships": { "get": { "operationId": "list_user_relationships", "summary": "List user relationships", "tags": [ "Users" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/RelationshipResponse" } } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "List user relationships" } }, "description": "Retrieves all relationships for the current user, including friends, friend requests (incoming and outgoing), and blocked users. Returns list of relationship objects with type and metadata.", "security": [ { "botToken": [] }, { "sessionToken": [] } ] }, "post": { "operationId": "send_friend_request_by_tag", "summary": "Send friend request by tag", "tags": [ "Users" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RelationshipResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Send friend request by tag" } }, "description": "Sends a friend request to a user identified by username tag (username#discriminator). Returns the new relationship object. Can fail if user not found or request already sent.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FriendRequestByTagRequest" } } } } } }, "/users/@me/relationships/{user_id}": { "post": { "operationId": "send_friend_request", "summary": "Send friend request", "tags": [ "Users" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RelationshipResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Send friend request" } }, "description": "Sends a friend request to a user identified by user ID. Returns the new relationship object. Can fail if user not found or request already sent.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "user_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the user" } ] }, "put": { "operationId": "accept_or_update_friend_request", "summary": "Accept or update friend request", "tags": [ "Users" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RelationshipResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Accept or update friend request" } }, "description": "Accepts a pending incoming friend request from a user or updates the relationship type. Can also be used to change friend relationship to blocked status. Returns updated relationship object.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "user_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the user" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RelationshipTypePutRequest" } } } } }, "delete": { "operationId": "remove_relationship", "summary": "Remove relationship", "tags": [ "Users" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Remove relationship" } }, "description": "Removes a relationship with another user by ID. Removes friends, cancels friend requests (incoming or outgoing), or unblocks a blocked user depending on current relationship type.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "user_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the user" } ] }, "patch": { "operationId": "update_relationship_nickname", "summary": "Update relationship nickname", "tags": [ "Users" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RelationshipResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Update relationship nickname" } }, "description": "Updates the nickname associated with a relationship (friend or blocked user). Nicknames are personal labels that override the user's display name in the current user's view. Returns updated relationship object.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "user_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the user" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RelationshipNicknameUpdateRequest" } } } } } }, "/users/@me/saved-messages": { "get": { "operationId": "list_saved_messages", "summary": "List saved messages", "tags": [ "Users" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SavedMessageEntryListResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "List saved messages" } }, "description": "Retrieves all messages saved by the current user. Messages are saved privately for easy reference. Returns paginated list of saved messages with metadata.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "limit", "in": "query", "required": false, "schema": { "type": "string", "description": "Maximum number of saved messages to return (1-100, default 25)" } } ] }, "post": { "operationId": "save_message", "summary": "Save message", "tags": [ "Users" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Save message" } }, "description": "Saves a message for the current user. Saved messages can be accessed later from the saved messages list. Messages are saved privately.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SaveMessageRequest" } } } } } }, "/users/@me/saved-messages/{message_id}": { "delete": { "operationId": "unsave_message", "summary": "Unsave message", "tags": [ "Users" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Unsave message" } }, "description": "Removes a message from the current user's saved messages. Does not delete the original message, only removes it from the user's saved collection.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "message_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the message" } ] } }, "/users/@me/scheduled-messages": { "get": { "operationId": "list_scheduled_messages", "summary": "List scheduled messages", "tags": [ "Users" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ScheduledMessageResponseSchema" } } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "List scheduled messages" } }, "description": "Retrieves all scheduled messages for the current user. Returns list of messages that are scheduled to be sent at a future date and time.", "security": [ { "botToken": [] }, { "sessionToken": [] } ] } }, "/users/@me/scheduled-messages/{scheduled_message_id}": { "get": { "operationId": "get_scheduled_message", "summary": "Get scheduled message", "tags": [ "Users" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ScheduledMessageResponseSchema" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Get scheduled message" } }, "description": "Retrieves details of a specific scheduled message by ID. Returns the message content, scheduled send time, and status.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "scheduled_message_id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The scheduled message id" } ] }, "delete": { "operationId": "cancel_scheduled_message", "summary": "Cancel scheduled message", "tags": [ "Users" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Cancel scheduled message" } }, "description": "Cancels and deletes a scheduled message before it is sent. The message will not be delivered if cancelled.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "scheduled_message_id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The scheduled message id" } ] }, "patch": { "operationId": "update_scheduled_message", "summary": "Update scheduled message", "tags": [ "Users" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ScheduledMessageResponseSchema" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Update scheduled message" } }, "description": "Updates an existing scheduled message before it is sent. Can modify message content, scheduled time, and timezone. Returns updated scheduled message details.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "scheduled_message_id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The scheduled message id" } ] } }, "/users/@me/settings": { "get": { "operationId": "get_current_user_settings", "summary": "Get current user settings", "tags": [ "Users" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserSettingsResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Get current user settings" } }, "description": "Retrieves the current user's settings and preferences, including notification settings, privacy options, and display preferences. Only accessible to the authenticated user.", "security": [ { "botToken": [] }, { "sessionToken": [] } ] }, "patch": { "operationId": "update_current_user_settings", "summary": "Update current user settings", "tags": [ "Users" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserSettingsResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Update current user settings" } }, "description": "Updates the current user's settings and preferences. Allows modification of notification settings, privacy options, display preferences, and other user-configurable options. Returns updated settings.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserSettingsUpdateRequest" } } } } } }, "/users/@me/sudo/mfa-methods": { "get": { "operationId": "list_sudo_mfa_methods", "summary": "List sudo multi-factor authentication methods", "tags": [ "Users" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SudoMfaMethodsResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "List sudo multi-factor authentication methods" } }, "description": "Retrieve all available MFA methods for sudo mode verification (TOTP, SMS, WebAuthn). Requires authentication.", "security": [ { "botToken": [] }, { "sessionToken": [] } ] } }, "/users/@me/sudo/mfa/sms/send": { "post": { "operationId": "send_sudo_sms_code", "summary": "Send sudo SMS code", "tags": [ "Users" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Send sudo SMS code" } }, "description": "Request an SMS code to be sent for sudo mode verification. Used before entering sensitive account settings.", "security": [ { "botToken": [] }, { "sessionToken": [] } ] } }, "/users/@me/sudo/webauthn/authentication-options": { "post": { "operationId": "get_sudo_webauthn_authentication_options", "summary": "Get sudo WebAuthn authentication options", "tags": [ "Users" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WebAuthnChallengeResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Get sudo WebAuthn authentication options" } }, "description": "Generate WebAuthn challenge for sudo mode verification using a registered security key or biometric device.", "security": [ { "botToken": [] }, { "sessionToken": [] } ] } }, "/users/@me/themes": { "post": { "operationId": "create_theme", "summary": "Create theme", "tags": [ "Themes" ], "responses": { "201": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ThemeCreateResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Create theme" } }, "description": "Creates a new custom theme with CSS styling that can be shared with other users.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ThemeCreateRequest" } } } } } }, "/users/check-tag": { "get": { "operationId": "check_username_tag_availability", "summary": "Check username tag availability", "tags": [ "Users" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserTagCheckResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Check username tag availability" } }, "description": "Checks if a username and discriminator combination is available for registration. Returns whether the tag is taken by another user.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "username", "in": "query", "required": true, "schema": { "$ref": "#/components/schemas/UsernameType" } }, { "name": "discriminator", "in": "query", "required": true, "schema": { "type": "string", "pattern": "^\\d{1,4}$", "description": "The discriminator to check" } } ] } }, "/users/{target_id}/profile": { "get": { "operationId": "get_user_profile", "summary": "Get user profile", "tags": [ "Users" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserProfileFullResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Get user profile" } }, "description": "Retrieves detailed profile information for a user, including bio, custom status, and badges. Optionally includes mutual friends and mutual guilds if requested. May respect privacy settings.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "target_id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The target id" }, { "name": "guild_id", "in": "query", "required": false, "schema": { "$ref": "#/components/schemas/SnowflakeType" } }, { "name": "with_mutual_friends", "in": "query", "required": false, "schema": { "type": "string", "description": "Whether to include mutual friends" } }, { "name": "with_mutual_guilds", "in": "query", "required": false, "schema": { "type": "string", "description": "Whether to include mutual guilds" } } ] } }, "/users/{user_id}": { "get": { "operationId": "get_user_by_id", "summary": "Get user by ID", "tags": [ "Users" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserPartialResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Get user by ID" } }, "description": "Retrieves public user information by user ID. Returns basic profile details like username, avatar, and status. Does not include private or sensitive user data.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "user_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the user" } ] } }, "/webhooks/{webhook_id}": { "get": { "operationId": "get_webhook", "summary": "Get webhook", "tags": [ "Webhooks" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WebhookResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Get webhook" } }, "description": "Retrieves detailed information about a specific webhook by its ID. Requires authentication and appropriate permissions to access the webhook.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "webhook_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the webhook" } ] }, "patch": { "operationId": "update_webhook", "summary": "Update webhook", "tags": [ "Webhooks" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WebhookResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Update webhook" } }, "description": "Updates the specified webhook with new settings such as name, avatar, or target channel. All fields are optional. Returns the updated webhook object.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "webhook_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the webhook" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WebhookUpdateRequest" } } } } }, "delete": { "operationId": "delete_webhook", "summary": "Delete webhook", "tags": [ "Webhooks" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized - Authentication is required or the token is invalid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden - You do not have permission to perform this action", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Delete webhook" } }, "description": "Permanently deletes the specified webhook. This action cannot be undone. Returns a 204 status code on successful deletion.", "security": [ { "botToken": [] }, { "sessionToken": [] } ], "parameters": [ { "name": "webhook_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the webhook" } ] } }, "/webhooks/{webhook_id}/{token}": { "get": { "operationId": "get_webhook_with_token", "summary": "Get webhook with token", "tags": [ "Webhooks" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WebhookTokenResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Get webhook with token" } }, "description": "Retrieves detailed information about a specific webhook using its ID and token. No authentication required as the token serves as the credential. Returns the webhook object without creator user data.", "parameters": [ { "name": "webhook_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the webhook" }, { "name": "token", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The token" } ] }, "patch": { "operationId": "update_webhook_with_token", "summary": "Update webhook with token", "tags": [ "Webhooks" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WebhookTokenResponse" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Update webhook with token" } }, "description": "Updates the specified webhook using its ID and token for authentication. Allows modification of name or avatar. Returns the updated webhook object without creator user data.", "parameters": [ { "name": "webhook_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the webhook" }, { "name": "token", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The token" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WebhookTokenUpdateRequest" } } } } }, "delete": { "operationId": "delete_webhook_with_token", "summary": "Delete webhook with token", "tags": [ "Webhooks" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Delete webhook with token" } }, "description": "Permanently deletes the specified webhook using its ID and token for authentication. This action cannot be undone. Returns a 204 status code on successful deletion.", "parameters": [ { "name": "webhook_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the webhook" }, { "name": "token", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The token" } ] }, "post": { "operationId": "execute_webhook", "summary": "Execute webhook", "tags": [ "Webhooks" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MessageResponseSchema" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Execute webhook" } }, "description": "Executes the webhook by sending a message to its configured channel. If the wait query parameter is true, returns the created message object; otherwise returns a 204 status with no content.", "parameters": [ { "name": "webhook_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the webhook" }, { "name": "token", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The token" }, { "name": "wait", "in": "query", "required": false, "schema": { "type": "string", "description": "Whether to wait for the webhook response" } } ] } }, "/webhooks/{webhook_id}/{token}/github": { "post": { "operationId": "execute_github_webhook", "summary": "Execute GitHub webhook", "tags": [ "Webhooks" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Execute GitHub webhook" } }, "description": "Receives and processes GitHub webhook events, formatting them as messages in the configured channel. Reads event type from X-GitHub-Event header and delivery ID from X-GitHub-Delivery header.", "parameters": [ { "name": "webhook_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the webhook" }, { "name": "token", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The token" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GitHubWebhook" } } } } } }, "/webhooks/{webhook_id}/{token}/sentry": { "post": { "operationId": "execute_sentry_webhook", "summary": "Execute Sentry webhook", "tags": [ "Webhooks" ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Execute Sentry webhook" } }, "description": "Receives and processes Sentry error tracking webhook events, formatting them as messages in the configured channel. Reads event type from X-Sentry-Event header.", "parameters": [ { "name": "webhook_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the webhook" }, { "name": "token", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The token" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SentryWebhook" } } } } } }, "/webhooks/{webhook_id}/{token}/slack": { "post": { "operationId": "execute_slack_webhook", "summary": "Execute Slack webhook", "tags": [ "Webhooks" ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "string" } } } }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "429": { "description": "Too Many Requests - You are being rate limited", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "RATE_LIMITED" ] }, "message": { "type": "string" }, "retry_after": { "type": "number", "description": "Seconds to wait before retrying" }, "global": { "type": "boolean", "description": "Whether this is a global rate limit" } }, "required": [ "code", "message", "retry_after" ] } } }, "headers": { "Retry-After": { "description": "Number of seconds to wait before retrying (only on 429)", "schema": { "type": "integer" } }, "X-RateLimit-Limit": { "description": "The number of requests that can be made in the current window", "schema": { "type": "integer" } }, "X-RateLimit-Remaining": { "description": "The number of remaining requests that can be made", "schema": { "type": "integer" } }, "X-RateLimit-Reset": { "description": "Unix timestamp when the rate limit resets", "schema": { "type": "integer" } } } }, "500": { "description": "Internal Server Error - An unexpected error occurred", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "x-mint": { "metadata": { "title": "Execute Slack webhook" } }, "description": "Receives and processes Slack-formatted webhook payloads, converting them to messages in the configured channel. Returns \"ok\" as plain text with a 200 status code.", "parameters": [ { "name": "webhook_id", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "The ID of the webhook" }, { "name": "token", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The token" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SlackWebhookRequest" } } } } } } }, "components": { "schemas": { "WellKnownFluxerResponse": { "type": "object", "properties": { "api_code_version": { "type": "integer", "format": "int53", "description": "Version of the API server code" }, "endpoints": { "type": "object", "properties": { "api": { "type": "string", "description": "Base URL for authenticated API requests" }, "api_client": { "type": "string", "description": "Base URL for client API requests" }, "api_public": { "type": "string", "description": "Base URL for public API requests" }, "gateway": { "type": "string", "description": "WebSocket URL for the gateway" }, "media": { "type": "string", "description": "Base URL for the media proxy" }, "static_cdn": { "type": "string", "description": "Base URL for static assets (avatars, emojis, etc.)" }, "marketing": { "type": "string", "description": "Base URL for the marketing website" }, "admin": { "type": "string", "description": "Base URL for the admin panel" }, "invite": { "type": "string", "description": "Base URL for invite links" }, "gift": { "type": "string", "description": "Base URL for gift links" }, "webapp": { "type": "string", "description": "Base URL for the web application" } }, "required": [ "api", "api_client", "api_public", "gateway", "media", "static_cdn", "marketing", "admin", "invite", "gift", "webapp" ], "description": "Endpoint URLs for various services" }, "captcha": { "type": "object", "properties": { "provider": { "type": "string", "description": "Captcha provider name (hcaptcha, turnstile, none)" }, "hcaptcha_site_key": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "hCaptcha site key if using hCaptcha" }, "turnstile_site_key": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Cloudflare Turnstile site key if using Turnstile" } }, "required": [ "provider", "hcaptcha_site_key", "turnstile_site_key" ], "description": "Captcha configuration" }, "features": { "type": "object", "properties": { "sms_mfa_enabled": { "type": "boolean", "description": "Whether SMS-based MFA is available" }, "voice_enabled": { "type": "boolean", "description": "Whether voice/video calling is enabled" }, "stripe_enabled": { "type": "boolean", "description": "Whether Stripe payments are enabled" }, "self_hosted": { "type": "boolean", "description": "Whether this is a self-hosted instance" }, "manual_review_enabled": { "type": "boolean", "description": "Whether manual review mode is enabled for registrations" } }, "required": [ "sms_mfa_enabled", "voice_enabled", "stripe_enabled", "self_hosted", "manual_review_enabled" ], "description": "Feature flags for this instance" }, "gif": { "type": "object", "properties": { "provider": { "enum": [ "klipy", "tenor" ], "type": "string", "x-enumNames": [ "klipy", "tenor" ], "description": "GIF provider used by the instance GIF picker" } }, "required": [ "provider" ], "description": "GIF provider configuration for clients" }, "sso": { "type": "object", "properties": { "enabled": { "type": "boolean", "description": "Whether SSO is enabled for this instance" }, "enforced": { "type": "boolean", "description": "Whether SSO is required for all users" }, "display_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Display name of the SSO provider" }, "redirect_uri": { "type": "string", "description": "OAuth redirect URI for SSO" } }, "required": [ "enabled", "enforced", "display_name", "redirect_uri" ], "description": "Single sign-on configuration" }, "limits": { "type": "object", "properties": { "version": { "type": "integer", "enum": [ 2 ], "description": "Wire format version" }, "traitDefinitions": { "type": "array", "items": { "type": "string" }, "description": "Available trait definitions (e.g., \"premium\")" }, "rules": { "type": "array", "items": { "$ref": "#/components/schemas/LimitRuleResponse" }, "description": "Array of limit rules to evaluate" }, "defaultsHash": { "type": "string", "description": "Hash of the default limit values for cache invalidation" } }, "required": [ "version", "traitDefinitions", "rules", "defaultsHash" ], "description": "Limit configuration with rules and trait definitions" }, "push": { "type": "object", "properties": { "public_vapid_key": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "VAPID public key for web push notifications" } }, "required": [ "public_vapid_key" ], "description": "Push notification configuration" }, "app_public": { "type": "object", "properties": { "sentry_dsn": { "type": "string", "description": "Sentry DSN for client-side error reporting" } }, "required": [ "sentry_dsn" ], "description": "Public application configuration for client-side features" }, "federation": { "type": "object", "properties": { "enabled": { "type": "boolean", "description": "Whether federation is enabled on this instance" }, "version": { "type": "integer", "format": "int53", "description": "Federation protocol version" } }, "required": [ "enabled", "version" ], "description": "Federation configuration" }, "public_key": { "type": "object", "properties": { "id": { "type": "string", "description": "Key identifier" }, "algorithm": { "type": "string", "enum": [ "x25519" ], "description": "Key algorithm" }, "public_key_base64": { "type": "string", "description": "Base64-encoded public key" } }, "required": [ "id", "algorithm", "public_key_base64" ], "description": "Public key for E2E encryption" }, "oauth2": { "type": "object", "properties": { "authorization_endpoint": { "type": "string", "description": "OAuth2 authorization endpoint URL" }, "token_endpoint": { "type": "string", "description": "OAuth2 token endpoint URL" }, "userinfo_endpoint": { "type": "string", "description": "OAuth2 userinfo endpoint URL" }, "scopes_supported": { "type": "array", "items": { "type": "string" }, "description": "Supported OAuth2 scopes" } }, "required": [ "authorization_endpoint", "token_endpoint", "userinfo_endpoint", "scopes_supported" ], "description": "OAuth2 endpoints for federation" } }, "required": [ "api_code_version", "endpoints", "captcha", "features", "gif", "sso", "limits", "push", "app_public" ] }, "LimitRuleResponse": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for this limit rule" }, "filters": { "$ref": "#/components/schemas/LimitFilterResponse" }, "overrides": { "type": "object", "additionalProperties": { "type": "number" }, "description": "Map of limit keys to their override values (differences from defaults)" } }, "required": [ "id", "overrides" ] }, "LimitFilterResponse": { "type": "object", "properties": { "traits": { "type": "array", "items": { "type": "string" }, "description": "Trait filters for this limit rule" }, "guildFeatures": { "type": "array", "items": { "type": "string" }, "description": "Guild feature filters for this limit rule" } } }, "Error": { "type": "object", "properties": { "code": { "$ref": "#/components/schemas/APIErrorCode" }, "message": { "type": "string", "description": "Human-readable error message" }, "errors": { "type": "array", "description": "Field-specific validation errors", "items": { "$ref": "#/components/schemas/ValidationErrorItem" } } }, "required": [ "code", "message" ] }, "APIErrorCode": { "type": "string", "enum": [ "ACCESS_DENIED", "ACCOUNT_DISABLED", "BAD_GATEWAY", "BAD_REQUEST", "BLUESKY_OAUTH_AUTHORIZATION_FAILED", "BLUESKY_OAUTH_CALLBACK_FAILED", "BLUESKY_OAUTH_NOT_ENABLED", "BLUESKY_OAUTH_SESSION_EXPIRED", "BLUESKY_OAUTH_STATE_INVALID", "ACCOUNT_SCHEDULED_FOR_DELETION", "ACCOUNT_SUSPENDED_PERMANENTLY", "ACCOUNT_SUSPENDED_TEMPORARILY", "ACCOUNT_SUSPICIOUS_ACTIVITY", "ACCOUNT_TOO_NEW_FOR_GUILD", "ACLS_MUST_BE_NON_EMPTY", "ADMIN_API_KEY_NOT_FOUND", "APPLICATION_NOT_FOUND", "APPLICATION_NOT_OWNED", "ALREADY_FRIENDS", "AUDIT_LOG_INDEXING", "BOTS_CANNOT_SEND_FRIEND_REQUESTS", "BOT_ALREADY_IN_GUILD", "BOT_APPLICATION_NOT_FOUND", "BOT_IS_PRIVATE", "BOT_USER_AUTH_ENDPOINT_ACCESS_DENIED", "BOT_USER_AUTH_SESSION_CREATION_DENIED", "BOT_USER_GENERATION_FAILED", "BOT_USER_NOT_FOUND", "CALL_ALREADY_EXISTS", "CANNOT_EDIT_OTHER_USER_MESSAGE", "CANNOT_EXECUTE_ON_DM", "CANNOT_MODIFY_SYSTEM_WEBHOOK", "CANNOT_MODIFY_VOICE_STATE", "CANNOT_REDEEM_PLUTONIUM_WITH_VISIONARY", "CANNOT_REPORT_OWN_GUILD", "CANNOT_REPORT_OWN_MESSAGE", "CANNOT_REPORT_YOURSELF", "CANNOT_SEND_EMPTY_MESSAGE", "CANNOT_SEND_FRIEND_REQUEST_TO_BLOCKED_USER", "CANNOT_SEND_FRIEND_REQUEST_TO_SELF", "CANNOT_SEND_MESSAGES_IN_NON_TEXT_CHANNEL", "CANNOT_SEND_MESSAGES_TO_USER", "CANNOT_TRANSFER_OWNERSHIP_TO_BOT", "CANNOT_SHRINK_RESERVED_SLOTS", "CAPTCHA_REQUIRED", "CHANNEL_INDEXING", "CHUNKED_UPLOAD_CHUNK_INDEX_OUT_OF_RANGE", "CHUNKED_UPLOAD_INCOMPLETE", "CHUNKED_UPLOAD_NOT_FOUND", "CHUNKED_UPLOAD_NOT_OWNED", "COMMUNICATION_DISABLED", "CONNECTION_ALREADY_EXISTS", "CONNECTION_INITIATION_TOKEN_INVALID", "CONNECTION_INVALID_IDENTIFIER", "CONNECTION_INVALID_TYPE", "CONNECTION_LIMIT_REACHED", "CONNECTION_NOT_FOUND", "CONNECTION_VERIFICATION_FAILED", "CONFLICT", "CONTENT_BLOCKED", "CREATION_FAILED", "CSAM_SCAN_FAILED", "CSAM_SCAN_PARSE_ERROR", "CSAM_SCAN_SUBSCRIPTION_ERROR", "CSAM_SCAN_TIMEOUT", "DECRYPTION_FAILED", "DELETION_FAILED", "DISCOVERY_ALREADY_APPLIED", "DISCOVERY_APPLICATION_ALREADY_REVIEWED", "DISCOVERY_APPLICATION_NOT_FOUND", "DISCOVERY_DESCRIPTION_REQUIRED", "DISCOVERY_DISABLED", "DISCOVERY_INSUFFICIENT_MEMBERS", "DISCOVERY_INVALID_CATEGORY", "DISCOVERY_NOT_DISCOVERABLE", "DISCRIMINATOR_REQUIRED", "EMAIL_SERVICE_NOT_TESTABLE", "EMAIL_VERIFICATION_REQUIRED", "EMPTY_ENCRYPTED_BODY", "ENCRYPTION_FAILED", "EXPLICIT_CONTENT_CANNOT_BE_SENT", "FEATURE_NOT_AVAILABLE_SELF_HOSTED", "FEATURE_TEMPORARILY_DISABLED", "FILE_SIZE_TOO_LARGE", "FORBIDDEN", "FRIEND_REQUEST_BLOCKED", "GATEWAY_TIMEOUT", "GENERAL_ERROR", "GONE", "GIFT_CODE_ALREADY_REDEEMED", "GUILD_PHONE_VERIFICATION_REQUIRED", "GUILD_VERIFICATION_REQUIRED", "HANDOFF_CODE_EXPIRED", "HARVEST_EXPIRED", "HARVEST_FAILED", "HARVEST_NOT_READY", "HARVEST_ON_COOLDOWN", "HTTP_GET_AUTHORIZE_NOT_SUPPORTED", "INSTANCE_VERSION_MISMATCH", "INTERNAL_SERVER_ERROR", "INVALID_ACLS_FORMAT", "INVALID_API_ORIGIN", "INVALID_AUTH_TOKEN", "INVALID_BOT_FLAG", "INVALID_CAPTCHA", "INVALID_CHANNEL_TYPE_FOR_CALL", "INVALID_CHANNEL_TYPE", "INVALID_CLIENT", "INVALID_CLIENT_SECRET", "INVALID_DSA_REPORT_TARGET", "INVALID_DSA_TICKET", "INVALID_DSA_VERIFICATION_CODE", "INVALID_DECRYPTED_JSON", "INVALID_EPHEMERAL_KEY", "INVALID_FLAGS_FORMAT", "INVALID_IV", "INVALID_FORM_BODY", "INVALID_GRANT", "INVALID_HANDOFF_CODE", "INVALID_PACK_TYPE", "INVALID_PERMISSIONS_INTEGER", "INVALID_PERMISSIONS_NEGATIVE", "INVALID_PHONE_NUMBER", "INVALID_PHONE_VERIFICATION_CODE", "INVALID_REDIRECT_URI", "INVALID_REQUEST", "INVALID_RESPONSE_TYPE_FOR_NON_BOT", "INVALID_SCOPE", "INVALID_STREAM_KEY_FORMAT", "INVALID_STREAM_THUMBNAIL_PAYLOAD", "INVALID_SUDO_TOKEN", "INVALID_SUSPICIOUS_FLAGS_FORMAT", "INVALID_SYSTEM_FLAG", "INVALID_TIMESTAMP", "INVALID_TOKEN", "INVALID_WEBAUTHN_AUTHENTICATION_COUNTER", "INVALID_WEBAUTHN_CREDENTIAL_COUNTER", "INVALID_WEBAUTHN_CREDENTIAL", "INVALID_WEBAUTHN_PUBLIC_KEY_FORMAT", "INVITES_DISABLED", "IP_AUTHORIZATION_REQUIRED", "IP_AUTHORIZATION_RESEND_COOLDOWN", "IP_AUTHORIZATION_RESEND_LIMIT_EXCEEDED", "IP_BANNED", "MAX_ANIMATED_EMOJIS", "MAX_BOOKMARKS", "MAX_CATEGORY_CHANNELS", "MAX_EMOJIS", "MAX_FAVORITE_MEMES", "MAX_FRIENDS", "MAX_GROUP_DM_RECIPIENTS", "MAX_GROUP_DMS", "MAX_GUILD_CHANNELS", "MAX_GUILD_MEMBERS", "MAX_GUILD_ROLES", "MAX_GUILDS", "MAX_INVITES", "MAX_PACK_EXPRESSIONS", "MAX_PACKS", "MAX_PINS_PER_CHANNEL", "MESSAGE_TOTAL_ATTACHMENT_SIZE_TOO_LARGE", "MAX_REACTIONS", "MAX_STICKERS", "MAX_WEBHOOKS_PER_CHANNEL", "MAX_WEBHOOKS_PER_GUILD", "MAX_WEBHOOKS", "NCMEC_ALREADY_SUBMITTED", "NCMEC_SUBMISSION_FAILED", "MEDIA_METADATA_ERROR", "METHOD_NOT_ALLOWED", "MISSING_ACCESS", "MISSING_ACL", "MISSING_AUTHORIZATION", "MISSING_CLIENT_SECRET", "MISSING_EPHEMERAL_KEY", "MISSING_IV", "MISSING_OAUTH_ADMIN_SCOPE", "MISSING_OAUTH_FIELDS", "MISSING_OAUTH_SCOPE", "MISSING_PERMISSIONS", "MISSING_REDIRECT_URI", "NO_ACTIVE_CALL", "NO_ACTIVE_SUBSCRIPTION", "NOT_FOUND", "NOT_IMPLEMENTED", "NO_PASSKEYS_REGISTERED", "NO_PENDING_DELETION", "NO_USERS_WITH_FLUXERTAG_EXIST", "NO_VISIONARY_SLOTS_AVAILABLE", "NOT_A_BOT_APPLICATION", "NOT_FRIENDS_WITH_USER", "NOT_OWNER_OF_ADMIN_API_KEY", "NSFW_CONTENT_AGE_RESTRICTED", "PACK_ACCESS_DENIED", "PASSKEY_AUTHENTICATION_FAILED", "PASSKEYS_DISABLED", "PHONE_ALREADY_USED", "PHONE_RATE_LIMIT_EXCEEDED", "PHONE_REQUIRED_FOR_SMS_MFA", "PHONE_VERIFICATION_REQUIRED", "PREMIUM_PURCHASE_BLOCKED", "PREVIEW_MUST_BE_JPEG", "PROCESSING_FAILED", "RATE_LIMITED", "REDIRECT_URI_REQUIRED_FOR_NON_BOT", "REPORT_ALREADY_RESOLVED", "REPORT_BANNED", "RESPONSE_VALIDATION_ERROR", "SERVICE_UNAVAILABLE", "SESSION_TOKEN_MISMATCH", "SLOWMODE_RATE_LIMITED", "SMS_MFA_NOT_ENABLED", "SMS_MFA_REQUIRES_TOTP", "SMS_VERIFICATION_UNAVAILABLE", "SSO_REQUIRED", "STREAM_KEY_CHANNEL_MISMATCH", "STREAM_KEY_SCOPE_MISMATCH", "STREAM_THUMBNAIL_PAYLOAD_EMPTY", "STRIPE_ERROR", "STRIPE_GIFT_REDEMPTION_IN_PROGRESS", "STRIPE_INVALID_PRODUCT", "STRIPE_INVALID_PRODUCT_CONFIGURATION", "STRIPE_NO_ACTIVE_SUBSCRIPTION", "STRIPE_NO_PURCHASE_HISTORY", "STRIPE_NO_SUBSCRIPTION", "STRIPE_PAYMENT_NOT_AVAILABLE", "STRIPE_SUBSCRIPTION_ALREADY_CANCELING", "STRIPE_SUBSCRIPTION_NOT_CANCELING", "STRIPE_SUBSCRIPTION_PERIOD_END_MISSING", "STRIPE_WEBHOOK_NOT_AVAILABLE", "STRIPE_WEBHOOK_SIGNATURE_INVALID", "STRIPE_WEBHOOK_SIGNATURE_MISSING", "DONATION_AMOUNT_INVALID", "DONATION_MAGIC_LINK_EXPIRED", "DONATION_MAGIC_LINK_INVALID", "DONATION_MAGIC_LINK_USED", "DONOR_NOT_FOUND", "SUDO_MODE_REQUIRED", "TAG_ALREADY_TAKEN", "TEMPORARY_INVITE_REQUIRES_PRESENCE", "TEST_HARNESS_DISABLED", "TEST_HARNESS_FORBIDDEN", "TWO_FA_NOT_ENABLED", "TWO_FACTOR_REQUIRED", "UNAUTHORIZED", "UNCLAIMED_ACCOUNT_CANNOT_ACCEPT_FRIEND_REQUESTS", "UNCLAIMED_ACCOUNT_CANNOT_ADD_REACTIONS", "UNCLAIMED_ACCOUNT_CANNOT_CREATE_APPLICATIONS", "UNCLAIMED_ACCOUNT_CANNOT_JOIN_GROUP_DMS", "UNCLAIMED_ACCOUNT_CANNOT_JOIN_ONE_ON_ONE_VOICE_CALLS", "UNCLAIMED_ACCOUNT_CANNOT_JOIN_VOICE_CHANNELS", "UNCLAIMED_ACCOUNT_CANNOT_MAKE_PURCHASES", "UNCLAIMED_ACCOUNT_CANNOT_SEND_DIRECT_MESSAGES", "UNCLAIMED_ACCOUNT_CANNOT_SEND_FRIEND_REQUESTS", "UNCLAIMED_ACCOUNT_CANNOT_SEND_MESSAGES", "UNKNOWN_CHANNEL", "UNKNOWN_EMOJI", "UNKNOWN_FAVORITE_MEME", "UNKNOWN_GIFT_CODE", "UNKNOWN_GUILD", "UNKNOWN_HARVEST", "UNKNOWN_INVITE", "UNKNOWN_MEMBER", "UNKNOWN_MESSAGE", "UNKNOWN_PACK", "UNKNOWN_REPORT", "UNKNOWN_ROLE", "UNKNOWN_STICKER", "UNKNOWN_SUSPICIOUS_FLAG", "UNKNOWN_USER_FLAG", "UNKNOWN_USER", "UNKNOWN_VOICE_REGION", "UNKNOWN_VOICE_SERVER", "UNKNOWN_WEBAUTHN_CREDENTIAL", "UNKNOWN_APPLICATION", "UNKNOWN_WEBHOOK", "UNSUPPORTED_RESPONSE_TYPE", "USERNAME_NOT_AVAILABLE", "UPDATE_FAILED", "USER_BANNED_FROM_GUILD", "USER_IP_BANNED_FROM_GUILD", "USER_NOT_IN_VOICE", "USER_OWNS_GUILDS", "VALIDATION_ERROR", "VOICE_CHANNEL_FULL", "WEBAUTHN_CREDENTIAL_LIMIT_REACHED" ], "x-enumDescriptions": [ "Access to this resource is denied", "This account has been disabled", "Bad gateway", "Bad request", "The Bluesky handle could not be resolved for authorisation", "The Bluesky OAuth callback could not be processed", "Bluesky OAuth connections are not enabled on this instance", "The Bluesky OAuth session has expired or been revoked", "The OAuth state parameter is invalid or expired", "This account is scheduled for deletion", "This account has been permanently suspended", "This account has been temporarily suspended", "Suspicious activity detected on this account", "Account is too new to join this guild", "Access control list must not be empty", "Admin API key was not found", "Application not found", "You do not own this application", "You are already friends with this user", "Audit log is currently being indexed", "Bots cannot send friend requests", "Bot is already in this guild", "Bot application not found", "This bot is private and can only be invited by the owner", "Bot users cannot access this authentication endpoint", "Bot users cannot create authentication sessions", "Failed to generate bot user", "Bot user not found", "A call already exists in this channel", "You cannot edit another user message", "This action cannot be executed on a DM channel", "System webhooks cannot be modified", "Cannot modify voice state", "Cannot redeem plutonium while having Visionary subscription", "You cannot report your own guild", "You cannot report your own message", "You cannot report yourself", "Cannot send an empty message", "Cannot send friend request to a blocked user", "Cannot send friend request to yourself", "Cannot send messages in a non-text channel", "Cannot send messages to this user", "Guild ownership cannot be transferred to a bot", "Cannot shrink reserved slots", "Captcha verification is required", "Channel is currently being indexed", "Chunk index is out of range for this upload", "Not all chunks have been uploaded", "Chunked upload session was not found", "You do not own this chunked upload session", "You are timed out in this guild", "A connection of this type with this identifier already exists", "The connection initiation token is invalid or has expired", "The connection identifier is invalid", "The connection type is not supported", "Maximum number of connections reached", "Unknown connection", "Connection verification failed", "Resource conflict", "Content was blocked", "Resource creation failed", "CSAM scan service error", "Failed to parse CSAM scan result", "CSAM scan subscription error", "CSAM scan request timed out", "Failed to decrypt data", "Resource deletion failed", "This community has already applied for discovery", "This discovery application has already been reviewed", "Discovery application not found", "A description is required for discovery", "Discovery is not available on this instance", "Community does not meet the minimum member count for discovery", "Invalid discovery category", "This community is not listed in discovery", "A discriminator is required", "Email service is not in testable mode", "Email verification is required", "Encrypted body is empty", "Failed to encrypt data", "Explicit content cannot be sent in this channel", "This feature is not available on self-hosted instances", "This feature is temporarily disabled", "File size exceeds the maximum allowed", "Access forbidden", "Friend request was blocked", "Gateway timeout", "A general error occurred", "Resource no longer exists", "This gift code has already been redeemed", "Phone verification is required to join this guild", "Account verification is required to interact in this guild", "Handoff code has expired", "Data harvest request has expired", "Data harvest failed", "Data harvest is not yet ready", "Data harvest is on cooldown", "HTTP GET authorize is not supported", "Instance version mismatch", "Internal server error", "Invalid access control list format", "Invalid API origin", "Invalid authentication token", "Invalid bot flag", "Invalid captcha response", "Invalid channel type for call", "Invalid channel type", "Invalid OAuth2 client", "Invalid client secret", "Invalid DSA report target", "Invalid DSA ticket", "Invalid DSA verification code", "Invalid JSON in decrypted data", "Invalid ephemeral key", "Invalid flags format", "Invalid initialization vector", "Invalid request body format", "Invalid OAuth2 grant", "Invalid handoff code", "Invalid pack type", "Invalid permissions value", "Permissions value cannot be negative", "Invalid phone number", "Invalid phone verification code", "Invalid redirect URI", "Invalid request", "Invalid response type for non-bot application", "Invalid OAuth2 scope", "Invalid stream key format", "Invalid stream thumbnail payload", "Invalid sudo token", "Invalid suspicious flags format", "Invalid system flag", "Invalid timestamp", "Invalid token", "Invalid WebAuthn authentication counter", "Invalid WebAuthn credential counter", "Invalid WebAuthn credential", "Invalid WebAuthn public key format", "Invites are disabled for this guild", "IP address authorization is required", "IP authorization email resend is on cooldown", "IP authorization email resend limit exceeded", "This IP address has been banned", "Maximum animated emojis limit reached", "Maximum bookmarks limit reached", "Maximum category channels limit reached", "Maximum emojis limit reached", "Maximum favourite memes limit reached", "Maximum friends limit reached", "Maximum group DM recipients limit reached", "Maximum group DMs limit reached", "Maximum guild channels limit reached", "Maximum guild members limit reached", "Maximum guild roles limit reached", "Maximum guilds limit reached", "Maximum invites limit reached", "Maximum pack expressions limit reached", "Maximum packs limit reached", "Maximum pins per channel limit reached", "Total attachment size per message is too large", "Maximum reactions limit reached", "Maximum stickers limit reached", "Maximum webhooks per channel limit reached", "Maximum webhooks per guild limit reached", "Maximum webhooks limit reached", "NCMEC report has already been submitted", "NCMEC report submission failed", "Error processing media metadata", "Method not allowed", "Missing access to this resource", "Missing access control list entry", "Missing authorization header", "Missing client secret", "Missing ephemeral key", "Missing initialization vector", "Missing OAuth admin scope", "Missing required OAuth fields", "Missing required OAuth scope", "Missing required permissions", "Missing redirect URI", "No active call in this channel", "No active subscription", "Resource not found", "Feature not implemented", "No passkeys registered for this account", "No pending deletion for this account", "No users with this Fluxertag exist", "No Visionary slots available", "Application is not a bot", "You are not friends with this user", "You are not the owner of this admin API key", "NSFW content is age restricted", "Access to this pack is denied", "Passkey authentication failed", "Passkeys are disabled", "This phone number is already in use", "Phone verification rate limit exceeded", "Phone number required for SMS MFA", "Phone verification is required", "Premium purchase is blocked", "Preview image must be JPEG format", "Processing failed", "You are being rate limited", "Redirect URI required for non-bot application", "This report has already been resolved", "You are banned from submitting reports", "Response validation error", "Service temporarily unavailable", "Session token mismatch", "You are being rate limited by slowmode", "SMS MFA is not enabled", "SMS MFA requires TOTP to be enabled first", "SMS verification is unavailable", "Single sign-on is required", "Stream key does not match channel", "Stream key scope mismatch", "Stream thumbnail payload is empty", "Stripe payment error", "Gift redemption already in progress", "Invalid Stripe product", "Invalid Stripe product configuration", "No active Stripe subscription", "No Stripe purchase history", "No Stripe subscription", "Stripe payment not available", "Subscription is already being cancelled", "Subscription is not being cancelled", "Subscription period end date is missing", "Stripe webhook not available", "Invalid Stripe webhook signature", "Missing Stripe webhook signature", "Invalid donation amount", "Donation magic link has expired", "Invalid donation magic link", "Donation magic link has already been used", "Donor was not found", "Sudo mode is required for this action", "This tag is already taken", "Temporary invite requires presence tracking", "Test harness is disabled", "Test harness access is forbidden", "Two-factor authentication is not enabled", "Two-factor authentication is required", "Unauthorized", "Unclaimed accounts cannot accept friend requests", "Unclaimed accounts cannot add reactions", "Unclaimed accounts cannot create applications", "Unclaimed accounts cannot join group DMs", "Unclaimed accounts cannot join one-on-one voice calls", "Unclaimed accounts cannot join voice channels", "Unclaimed accounts cannot make purchases", "Unclaimed accounts cannot send direct messages", "Unclaimed accounts cannot send friend requests", "Unclaimed accounts cannot send messages", "Unknown channel", "Unknown emoji", "Unknown favourite meme", "Unknown gift code", "Unknown guild", "Unknown data harvest", "Unknown invite", "Unknown member", "Unknown message", "Unknown pack", "Unknown report", "Unknown role", "Unknown sticker", "Unknown suspicious flag", "Unknown user flag", "Unknown user", "Unknown voice region", "Unknown voice server", "Unknown WebAuthn credential", "Unknown application", "Unknown webhook", "Unsupported response type", "Username is not available", "Resource update failed", "User is banned from this guild", "User IP is banned from this guild", "User is not in a voice channel", "User owns guilds and cannot perform this action", "Validation error", "Voice channel is full", "WebAuthn credential limit reached" ], "description": "Error codes returned by API operations" }, "ValidationErrorItem": { "type": "object", "properties": { "path": { "type": "string", "description": "The field path where the validation error occurred" }, "message": { "type": "string", "description": "A human-readable description of the validation issue" }, "code": { "$ref": "#/components/schemas/ValidationErrorCodeSchema" } }, "required": [ "path", "message" ] }, "ValidationErrorCodeSchema": { "type": "string", "x-enumNames": [ "ACCENT_COLOR_CHANGED_TOO_MANY_TIMES", "ACCOUNT_ALREADY_VERIFIED", "AFK_CHANNEL_MUST_BE_IN_GUILD", "AFK_CHANNEL_MUST_BE_VOICE", "ALL_CHANNELS_MUST_BELONG_TO_GUILD", "ANIMATED_AVATARS_REQUIRE_PREMIUM", "ANIMATED_GUILD_BANNER_REQUIRES_FEATURE", "AT_LEAST_ONE_ENTRY_IS_REQUIRED", "AT_LEAST_ONE_RECIPIENT_REQUIRED", "ATTACHMENT_FIELDS_REQUIRED", "ATTACHMENT_ID_NOT_FOUND_IN_MESSAGE", "ATTACHMENT_IDS_MUST_BE_VALID_INTEGERS", "ATTACHMENT_METADATA_WITHOUT_FILES", "ATTACHMENT_MUST_BE_IMAGE", "ATTACHMENTS_METADATA_REQUIRED_WHEN_UPLOADING", "ATTACHMENTS_NOT_ALLOWED_FOR_MESSAGE", "AVATAR_CHANGED_TOO_MANY_TIMES", "BANNER_CHANGED_TOO_MANY_TIMES", "BANNERS_REQUIRE_PREMIUM", "BASE64_LENGTH_INVALID", "BIO_CHANGED_TOO_MANY_TIMES", "BUCKET_IS_REQUIRED", "CANNOT_ADD_YOURSELF_TO_GROUP_DM", "CANNOT_DELETE_MORE_THAN_100_MESSAGES", "CANNOT_DM_YOURSELF", "CANNOT_EDIT_ATTACHMENT_METADATA", "CANNOT_LEAVE_GUILD_AS_OWNER", "CANNOT_POSITION_CHANNEL_RELATIVE_TO_ITSELF", "CANNOT_PRELOAD_MORE_THAN_100_CHANNELS", "CANNOT_REFERENCE_ATTACHMENTS_WITHOUT_ATTACHMENTS", "CANNOT_REORDER_EVERYONE_ROLE", "CANNOT_REPLY_TO_SYSTEM_MESSAGE", "CANNOT_SET_HOIST_FOR_EVERYONE_ROLE", "CANNOT_SPECIFY_BOTH_BEFORE_AND_AFTER", "CANNOT_USE_SAME_ROLE_AS_PRECEDING", "CATEGORIES_CANNOT_HAVE_PARENT_CHANNEL", "CATEGORIES_CANNOT_HAVE_PARENTS", "CHANGING_DISCRIMINATOR_REQUIRES_PREMIUM", "CHANNEL_DOES_NOT_EXIST", "CHANNEL_ID_IS_REQUIRED", "CHANNEL_MUST_BE_DM_OR_GROUP_DM", "CHANNEL_MUST_BE_VOICE", "CHANNEL_NAME_EMPTY_AFTER_NORMALIZATION", "CHANNEL_NOT_FOUND", "COLOR_VALUE_TOO_HIGH", "COLOR_VALUE_TOO_LOW", "CONTENT_EXCEEDS_MAX_LENGTH", "CONTEXT_CHANNEL_OR_GUILD_ID_REQUIRED", "CUSTOM_EMOJI_NOT_FOUND", "CUSTOM_EMOJIS_REQUIRE_PREMIUM_OUTSIDE_SOURCE", "CUSTOM_STICKER_NOT_FOUND", "CUSTOM_STICKERS_IN_DMS_REQUIRE_PREMIUM", "CUSTOM_STICKERS_REQUIRE_PREMIUM_OUTSIDE_SOURCE", "DISCRIMINATOR_INVALID_FORMAT", "DISCRIMINATOR_OUT_OF_RANGE", "DUPLICATE_ATTACHMENT_IDS_NOT_ALLOWED", "DUPLICATE_FILE_INDEX", "DUPLICATE_RECIPIENTS_NOT_ALLOWED", "VOICE_MESSAGES_ATTACHMENT_MUST_BE_AUDIO", "VOICE_MESSAGES_ATTACHMENT_WAVEFORM_REQUIRED", "VOICE_MESSAGES_ATTACHMENT_DURATION_REQUIRED", "VOICE_MESSAGES_CANNOT_HAVE_CONTENT", "VOICE_MESSAGES_CANNOT_HAVE_EMBEDS", "VOICE_MESSAGES_CANNOT_HAVE_FAVORITE_MEMES", "VOICE_MESSAGES_CANNOT_HAVE_STICKERS", "VOICE_MESSAGES_DURATION_EXCEEDS_LIMIT", "VOICE_MESSAGES_REQUIRE_SINGLE_ATTACHMENT", "EMAIL_ALREADY_IN_USE", "EMAIL_IS_REQUIRED", "EMAIL_LENGTH_INVALID", "EMAIL_MUST_BE_CHANGED_VIA_TOKEN", "EMAIL_TOKEN_EXPIRED", "EMBED_INDEX_OUT_OF_BOUNDS", "EMBED_SPLASH_REQUIRES_FEATURE", "EMBEDS_EXCEED_MAX_CHARACTERS", "EMOJI_REQUIRES_GUILD_OR_PACK_ACCESS", "FAILED_TO_PARSE_MULTIPART_FORM_DATA", "FAILED_TO_PARSE_MULTIPART_PAYLOAD", "FAILED_TO_UPLOAD_IMAGE", "FAVORITE_MEME_NAME_REQUIRED", "FAVORITE_MEME_NOT_FOUND", "FILE_INDEX_EXCEEDS_MAXIMUM", "FILE_NOT_FOUND_FOR_SCANNING", "FILE_NOT_FOUND", "FILENAME_EMPTY_AFTER_NORMALIZATION", "FILENAME_INVALID_CHARACTERS", "FILENAME_LENGTH_INVALID", "FILENAME_MISMATCH_FOR_ATTACHMENT", "FORWARD_MESSAGES_CANNOT_CONTAIN_CONTENT", "FORWARD_REFERENCE_REQUIRES_CHANNEL_AND_MESSAGE", "GLOBAL_NAME_CANNOT_CONTAIN_RESERVED_TERMS", "GLOBAL_NAME_LENGTH_INVALID", "GLOBAL_NAME_RESERVED_VALUE", "GUILD_BANNER_REQUIRES_FEATURE", "GUILD_ID_MUST_MATCH_REFERENCED_MESSAGE", "IMAGE_SIZE_EXCEEDS_LIMIT", "INTEGER_OUT_OF_INT64_RANGE", "SNOWFLAKE_OUT_OF_RANGE", "INVALID_AUDIT_LOG_REASON", "INVALID_BASE64_FORMAT", "INVALID_CHANNEL_ID", "INVALID_CHANNEL", "INVALID_CODE", "INVALID_CURRENT_PASSWORD", "INVALID_DATE_OF_BIRTH_FORMAT", "INVALID_DATETIME_FOR_SCHEDULED_SEND", "INVALID_EMAIL_ADDRESS", "INVALID_EMAIL_FORMAT", "INVALID_EMAIL_LOCAL_PART", "INVALID_EMAIL_OR_PASSWORD", "INVALID_EMAIL_TOKEN", "INVALID_FILE_FIELD_NAME", "INVALID_FORMAT", "INVALID_IMAGE_DATA", "INVALID_IMAGE_FORMAT", "INVALID_INTEGER_FORMAT", "INVALID_SNOWFLAKE_FORMAT", "INVALID_ISO_TIMESTAMP", "INVALID_JOB_ID", "INVALID_JSON_IN_PAYLOAD_JSON", "INVALID_MESSAGE_DATA", "INVALID_MFA_CODE", "INVALID_OR_EXPIRED_AUTHORIZATION_TICKET", "INVALID_OR_EXPIRED_AUTHORIZATION_TOKEN", "INVALID_OR_EXPIRED_RESET_TOKEN", "INVALID_OR_EXPIRED_REVERT_TOKEN", "INVALID_OR_EXPIRED_TICKET", "INVALID_OR_EXPIRED_VERIFICATION_TOKEN", "INVALID_OR_RESTRICTED_RTC_REGION", "INVALID_PARENT_CHANNEL", "INVALID_PASSWORD", "INVALID_PROOF_TOKEN", "INVALID_ROLE_ID", "INVALID_RTC_REGION", "INVALID_SCHEDULED_MESSAGE_PAYLOAD", "INVALID_SNOWFLAKE", "INVALID_TIMEOUT_VALUE", "INVALID_TIMEZONE_IDENTIFIER", "INVALID_URL_FORMAT", "INVALID_URL_OR_ATTACHMENT_FORMAT", "INVALID_VERIFICATION_CODE", "INVITE_SPLASH_REQUIRES_FEATURE", "JOB_ID_IS_REQUIRED", "JOB_IS_ALREADY_PROCESSED", "JOB_NOT_FOUND", "MEDIA_ALREADY_IN_FAVORITE_MEMES", "MESSAGE_HISTORY_CUTOFF_BEFORE_GUILD_CREATION", "MESSAGE_HISTORY_CUTOFF_IN_FUTURE", "MESSAGE_IDS_CANNOT_BE_EMPTY", "MESSAGES_ARRAY_REQUIRED_AND_NOT_EMPTY", "MESSAGES_WITH_SNAPSHOTS_CANNOT_BE_EDITED", "MESSAGE_TOTAL_ATTACHMENT_SIZE_TOO_LARGE", "MULTIPLE_FILES_FOR_INDEX_NOT_ALLOWED", "MUST_AGREE_TO_TOS_AND_PRIVACY_POLICY", "MUST_BE_MINIMUM_AGE", "MUST_ENABLE_2FA_BEFORE_REQUIRING_FOR_MODS", "MUST_HAVE_EMAIL_TO_CHANGE_IT", "MUST_START_SESSION_BEFORE_SENDING", "NAME_EMPTY_AFTER_NORMALIZATION", "NEW_EMAIL_MUST_BE_DIFFERENT", "NO_FILE_FOR_ATTACHMENT_METADATA", "NO_FILE_FOR_ATTACHMENT", "NO_METADATA_FOR_FILE", "NO_NEW_EMAIL_REQUESTED", "NO_ORIGINAL_EMAIL_ON_RECORD", "NO_VALID_MEDIA_IN_MESSAGE", "NOT_A_VALID_UNICODE_EMOJI", "ORIGINAL_EMAIL_ALREADY_VERIFIED", "ORIGINAL_EMAIL_MUST_BE_VERIFIED_FIRST", "ORIGINAL_VERIFICATION_NOT_REQUIRED", "PARENT_CHANNEL_NOT_IN_GUILD", "PARENT_MUST_BE_CATEGORY", "PARSE_AND_USERS_OR_ROLES_CANNOT_BE_USED_TOGETHER", "PASSWORD_IS_TOO_COMMON", "PASSWORD_LENGTH_INVALID", "PASSWORD_NOT_SET", "PAYLOAD_JSON_REQUIRED_FOR_MULTIPART", "PHONE_NUMBER_INVALID_FORMAT", "PRECEDING_CHANNEL_MUST_SHARE_PARENT", "PRECEDING_CHANNEL_NOT_IN_GUILD", "PRECEDING_ROLE_NOT_IN_GUILD", "PREMIUM_REQUIRED_FOR_CUSTOM_EMOJI", "PRONOUNS_CHANGED_TOO_MANY_TIMES", "RECIPIENT_IDS_CANNOT_BE_EMPTY", "RECIPIENT_IDS_MUST_BE_STRINGS", "RECIPIENT_IDS_MUST_BE_VALID_SNOWFLAKES", "REFERENCED_ATTACHMENT_NOT_FOUND", "ROWS_IS_REQUIRED", "SCHEDULED_MESSAGES_MAX_30_DAYS", "SCHEDULED_TIME_MUST_BE_FUTURE", "SESSION_TIMEOUT", "SIZE_BYTES_MUST_BE_VALID_INTEGER", "STRING_LENGTH_EXACT", "STRING_LENGTH_INVALID", "SYSTEM_CHANNEL_MUST_BE_IN_GUILD", "SYSTEM_CHANNEL_MUST_BE_TEXT", "TAG_ALREADY_TAKEN", "THIS_VANITY_URL_IS_ALREADY_TAKEN", "TICKET_ALREADY_COMPLETED", "TIMEOUT_CANNOT_EXCEED_365_DAYS", "TOO_MANY_EMBEDS", "TOO_MANY_FILES", "TOO_MANY_USERS_WITH_THIS_USERNAME", "TOO_MANY_USERS_WITH_USERNAME_TRY_DIFFERENT", "UNCLAIMED_ACCOUNTS_CAN_ONLY_SET_EMAIL_VIA_TOKEN", "UNKNOWN_IMAGE_FORMAT", "UNRESOLVED_ATTACHMENT_URL", "UPLOADED_ATTACHMENT_NOT_FOUND", "URL_LENGTH_INVALID", "USER_DOES_NOT_HAVE_AN_EMAIL_ADDRESS", "USER_IS_NOT_BANNED", "USER_MUST_BE_A_BOT_TO_BE_MARKED_AS_A_SYSTEM_USER", "USER_NOT_IN_CHANNEL", "USERNAME_CANNOT_CONTAIN_RESERVED_TERMS", "USERNAME_CHANGED_TOO_MANY_TIMES", "USERNAME_INVALID_CHARACTERS", "USERNAME_LENGTH_INVALID", "USERNAME_RESERVED_VALUE", "VALUE_MUST_BE_INTEGER_IN_RANGE", "VALUE_TOO_SMALL", "VANITY_URL_CODE_ALREADY_TAKEN", "VANITY_URL_CODE_CANNOT_CONTAIN_FLUXER", "VANITY_URL_CODE_LENGTH_INVALID", "VANITY_URL_INVALID_CHARACTERS", "VANITY_URL_REQUIRES_FEATURE", "VERIFICATION_CODE_EXPIRED", "VERIFICATION_CODE_NOT_ISSUED", "VISIONARY_REQUIRED_FOR_BOT_DISCRIMINATOR", "VISIONARY_REQUIRED_FOR_DISCRIMINATOR", "BOT_DISCRIMINATOR_CANNOT_BE_CHANGED", "VOICE_CHANNELS_CANNOT_BE_ABOVE_TEXT_CHANNELS", "WEBHOOK_NAME_LENGTH_INVALID" ], "x-enumDescriptions": [ "Accent colour has been changed too many times recently", "Account is already verified", "AFK channel must be in the same guild", "AFK channel must be a voice channel", "All channels must belong to the same guild", "Animated avatars require premium", "Animated guild banners require the feature to be enabled", "At least one entry is required", "At least one recipient is required", "Attachment fields are required", "Attachment ID was not found in the message", "Attachment IDs must be valid integers", "Attachment metadata provided without files", "Attachment must be an image", "Attachments metadata is required when uploading files", "Attachments are not allowed for this message type", "Avatar has been changed too many times recently", "Banner has been changed too many times recently", "Banners require premium", "Invalid base64 length", "Bio has been changed too many times recently", "Bucket is required", "Cannot add yourself to a group DM", "Cannot delete more than 100 messages at once", "Cannot send a direct message to yourself", "Users with MANAGE_MESSAGES can only edit attachment descriptions, not other metadata", "Cannot leave guild as the owner", "Cannot position channel relative to itself", "Cannot preload more than 100 channels", "Cannot reference attachments without providing attachments", "Cannot reorder the everyone role", "Cannot reply to a system message", "Cannot set hoist for the everyone role", "Cannot specify both before and after parameters", "Cannot use the same role as preceding", "Categories cannot have a parent channel", "Categories cannot have parents", "Changing discriminator requires premium", "Channel does not exist", "Channel ID is required", "Channel must be a DM or group DM", "Channel must be a voice channel", "Channel name is empty after normalisation", "Channel was not found", "Colour value is too high", "Colour value is too low", "Content exceeds maximum length", "Context channel or guild ID is required", "Custom emoji was not found", "Custom emojis require premium when used outside their source", "Custom sticker was not found", "Custom stickers in DMs require premium", "Custom stickers require premium when used outside their source", "Discriminator has an invalid format", "Discriminator is out of valid range", "Duplicate attachment IDs are not allowed", "Duplicate file index", "Duplicate recipients are not allowed", "Voice message attachment must be audio", "Voice message attachment waveform is required", "Voice message attachment duration is required", "Voice messages cannot have content", "Voice messages cannot have embeds", "Voice messages cannot have favourite memes", "Voice messages cannot have stickers", "Voice message duration exceeds limit", "Voice messages require a single attachment", "Email address is already in use", "Email address is required", "Email address length is invalid", "Email must be changed via verification token", "Email verification token has expired", "Embed index is out of bounds", "Embed splash requires the feature to be enabled", "Embeds exceed maximum character count", "Emoji requires guild or pack access", "Failed to parse multipart form data", "Failed to parse multipart payload", "Failed to upload image", "Favourite meme name is required", "Favourite meme was not found", "File index exceeds maximum", "File not found for scanning", "File was not found", "Filename is empty after normalisation", "Filename contains invalid characters", "Filename length is invalid", "Filename mismatch for attachment", "Forward messages cannot contain content", "Forward reference requires channel and message", "Display name cannot contain reserved terms", "Display name length is invalid", "Display name is a reserved value", "Guild banner requires the feature to be enabled", "Guild ID must match referenced message", "Image size exceeds limit", "Integer is out of 64-bit range", "Snowflake is out of valid range", "Invalid audit log reason", "Invalid base64 format", "Invalid channel ID", "Invalid channel", "Invalid code", "Invalid current password", "Invalid date of birth format", "Invalid datetime for scheduled send", "Invalid email address", "Invalid email format", "Invalid email local part", "Invalid email or password", "Invalid email verification token", "Invalid file field name", "Invalid format", "Invalid image data", "Invalid image format", "Invalid integer format", "Invalid snowflake format", "Invalid ISO timestamp", "Invalid job ID", "Invalid JSON in payload_json field", "Invalid message data", "Invalid MFA code", "Invalid or expired authorisation ticket", "Invalid or expired authorisation token", "Invalid or expired password reset token", "Invalid or expired revert token", "Invalid or expired ticket", "Invalid or expired verification token", "Invalid or restricted RTC region", "Invalid parent channel", "Invalid password", "Invalid proof token", "Invalid role ID", "Invalid RTC region", "Invalid scheduled message payload", "Invalid snowflake", "Invalid timeout value", "Invalid timezone identifier", "Invalid URL format", "Invalid URL or attachment format", "Invalid verification code", "Invite splash requires the feature to be enabled", "Job ID is required", "Job has already been processed", "Job was not found", "Media is already in favourite memes", "Message history cutoff cannot be before the guild was created", "Message history cutoff cannot be in the future", "Message IDs cannot be empty", "Messages array is required and cannot be empty", "Messages with snapshots cannot be edited", "Total attachment size exceeds the maximum allowed", "Multiple files for the same index are not allowed", "Must agree to terms of service and privacy policy", "Must be minimum age to use this service", "Must enable 2FA before requiring it for moderators", "Must have an email to change it", "Must start session before sending", "Name is empty after normalisation", "New email must be different from current email", "No file provided for attachment metadata", "No file provided for attachment", "No metadata provided for file", "No new email has been requested", "No original email on record", "No valid media in message", "Not a valid Unicode emoji", "Original email is already verified", "Original email must be verified first", "Original verification is not required", "Parent channel is not in the guild", "Parent channel must be a category", "Parse and users/roles cannot be used together", "Password is too common", "Password length is invalid", "Password is not set", "payload_json is required for multipart requests", "Phone number has an invalid format", "Preceding channel must share the same parent", "Preceding channel is not in the guild", "Preceding role is not in the guild", "Premium is required for custom emoji", "Pronouns have been changed too many times recently", "Recipient IDs cannot be empty", "Recipient IDs must be strings", "Recipient IDs must be valid snowflakes", "Referenced attachment was not found", "Rows field is required", "Scheduled messages must be within 30 days", "Scheduled time must be in the future", "Session has timed out", "Size in bytes must be a valid integer", "String must be exactly the required length", "String length is invalid", "System channel must be in the guild", "System channel must be a text channel", "Tag is already taken", "This vanity URL is already taken", "Ticket has already been completed", "Timeout cannot exceed 365 days", "Too many embeds", "Too many files", "Too many users with this username", "Too many users with this username, try a different one", "Unclaimed accounts can only set email via verification token", "Unknown image format", "Unresolved attachment URL", "Uploaded attachment was not found", "URL length is invalid", "User does not have an email address", "User is not banned", "User must be a bot to be marked as a system user", "User is not in the channel", "Username cannot contain reserved terms", "Username has been changed too many times recently", "Username contains invalid characters", "Username length is invalid", "Username is a reserved value", "Value must be an integer in the valid range", "Value is too small", "Vanity URL code is already taken", "Vanity URL code cannot contain fluxer", "Vanity URL code length is invalid", "Vanity URL contains invalid characters", "Vanity URL requires the feature to be enabled", "Verification code has expired", "Verification code was not issued", "Visionary subscription required for bot discriminator", "Visionary subscription required for discriminator", "Bot discriminator cannot be changed", "Voice channels cannot be positioned above text channels", "Webhook name length is invalid" ], "description": "Error codes for field validation issues Known values: ACCENT_COLOR_CHANGED_TOO_MANY_TIMES, ACCOUNT_ALREADY_VERIFIED, AFK_CHANNEL_MUST_BE_IN_GUILD, AFK_CHANNEL_MUST_BE_VOICE, ALL_CHANNELS_MUST_BELONG_TO_GUILD, ANIMATED_AVATARS_REQUIRE_PREMIUM, ANIMATED_GUILD_BANNER_REQUIRES_FEATURE, AT_LEAST_ONE_ENTRY_IS_REQUIRED, AT_LEAST_ONE_RECIPIENT_REQUIRED, ATTACHMENT_FIELDS_REQUIRED, ATTACHMENT_ID_NOT_FOUND_IN_MESSAGE, ATTACHMENT_IDS_MUST_BE_VALID_INTEGERS, ATTACHMENT_METADATA_WITHOUT_FILES, ATTACHMENT_MUST_BE_IMAGE, ATTACHMENTS_METADATA_REQUIRED_WHEN_UPLOADING, ATTACHMENTS_NOT_ALLOWED_FOR_MESSAGE, AVATAR_CHANGED_TOO_MANY_TIMES, BANNER_CHANGED_TOO_MANY_TIMES, BANNERS_REQUIRE_PREMIUM, BASE64_LENGTH_INVALID, BIO_CHANGED_TOO_MANY_TIMES, BUCKET_IS_REQUIRED, CANNOT_ADD_YOURSELF_TO_GROUP_DM, CANNOT_DELETE_MORE_THAN_100_MESSAGES, CANNOT_DM_YOURSELF, CANNOT_EDIT_ATTACHMENT_METADATA, CANNOT_LEAVE_GUILD_AS_OWNER, CANNOT_POSITION_CHANNEL_RELATIVE_TO_ITSELF, CANNOT_PRELOAD_MORE_THAN_100_CHANNELS, CANNOT_REFERENCE_ATTACHMENTS_WITHOUT_ATTACHMENTS, CANNOT_REORDER_EVERYONE_ROLE, CANNOT_REPLY_TO_SYSTEM_MESSAGE, CANNOT_SET_HOIST_FOR_EVERYONE_ROLE, CANNOT_SPECIFY_BOTH_BEFORE_AND_AFTER, CANNOT_USE_SAME_ROLE_AS_PRECEDING, CATEGORIES_CANNOT_HAVE_PARENT_CHANNEL, CATEGORIES_CANNOT_HAVE_PARENTS, CHANGING_DISCRIMINATOR_REQUIRES_PREMIUM, CHANNEL_DOES_NOT_EXIST, CHANNEL_ID_IS_REQUIRED, CHANNEL_MUST_BE_DM_OR_GROUP_DM, CHANNEL_MUST_BE_VOICE, CHANNEL_NAME_EMPTY_AFTER_NORMALIZATION, CHANNEL_NOT_FOUND, COLOR_VALUE_TOO_HIGH, COLOR_VALUE_TOO_LOW, CONTENT_EXCEEDS_MAX_LENGTH, CONTEXT_CHANNEL_OR_GUILD_ID_REQUIRED, CUSTOM_EMOJI_NOT_FOUND, CUSTOM_EMOJIS_REQUIRE_PREMIUM_OUTSIDE_SOURCE, CUSTOM_STICKER_NOT_FOUND, CUSTOM_STICKERS_IN_DMS_REQUIRE_PREMIUM, CUSTOM_STICKERS_REQUIRE_PREMIUM_OUTSIDE_SOURCE, DISCRIMINATOR_INVALID_FORMAT, DISCRIMINATOR_OUT_OF_RANGE, DUPLICATE_ATTACHMENT_IDS_NOT_ALLOWED, DUPLICATE_FILE_INDEX, DUPLICATE_RECIPIENTS_NOT_ALLOWED, VOICE_MESSAGES_ATTACHMENT_MUST_BE_AUDIO, VOICE_MESSAGES_ATTACHMENT_WAVEFORM_REQUIRED, VOICE_MESSAGES_ATTACHMENT_DURATION_REQUIRED, VOICE_MESSAGES_CANNOT_HAVE_CONTENT, VOICE_MESSAGES_CANNOT_HAVE_EMBEDS, VOICE_MESSAGES_CANNOT_HAVE_FAVORITE_MEMES, VOICE_MESSAGES_CANNOT_HAVE_STICKERS, VOICE_MESSAGES_DURATION_EXCEEDS_LIMIT, VOICE_MESSAGES_REQUIRE_SINGLE_ATTACHMENT, EMAIL_ALREADY_IN_USE, EMAIL_IS_REQUIRED, EMAIL_LENGTH_INVALID, EMAIL_MUST_BE_CHANGED_VIA_TOKEN, EMAIL_TOKEN_EXPIRED, EMBED_INDEX_OUT_OF_BOUNDS, EMBED_SPLASH_REQUIRES_FEATURE, EMBEDS_EXCEED_MAX_CHARACTERS, EMOJI_REQUIRES_GUILD_OR_PACK_ACCESS, FAILED_TO_PARSE_MULTIPART_FORM_DATA, FAILED_TO_PARSE_MULTIPART_PAYLOAD, FAILED_TO_UPLOAD_IMAGE, FAVORITE_MEME_NAME_REQUIRED, FAVORITE_MEME_NOT_FOUND, FILE_INDEX_EXCEEDS_MAXIMUM, FILE_NOT_FOUND_FOR_SCANNING, FILE_NOT_FOUND, FILENAME_EMPTY_AFTER_NORMALIZATION, FILENAME_INVALID_CHARACTERS, FILENAME_LENGTH_INVALID, FILENAME_MISMATCH_FOR_ATTACHMENT, FORWARD_MESSAGES_CANNOT_CONTAIN_CONTENT, FORWARD_REFERENCE_REQUIRES_CHANNEL_AND_MESSAGE, GLOBAL_NAME_CANNOT_CONTAIN_RESERVED_TERMS, GLOBAL_NAME_LENGTH_INVALID, GLOBAL_NAME_RESERVED_VALUE, GUILD_BANNER_REQUIRES_FEATURE, GUILD_ID_MUST_MATCH_REFERENCED_MESSAGE, IMAGE_SIZE_EXCEEDS_LIMIT, INTEGER_OUT_OF_INT64_RANGE, SNOWFLAKE_OUT_OF_RANGE, INVALID_AUDIT_LOG_REASON, INVALID_BASE64_FORMAT, INVALID_CHANNEL_ID, INVALID_CHANNEL, INVALID_CODE, INVALID_CURRENT_PASSWORD, INVALID_DATE_OF_BIRTH_FORMAT, INVALID_DATETIME_FOR_SCHEDULED_SEND, INVALID_EMAIL_ADDRESS, INVALID_EMAIL_FORMAT, INVALID_EMAIL_LOCAL_PART, INVALID_EMAIL_OR_PASSWORD, INVALID_EMAIL_TOKEN, INVALID_FILE_FIELD_NAME, INVALID_FORMAT, INVALID_IMAGE_DATA, INVALID_IMAGE_FORMAT, INVALID_INTEGER_FORMAT, INVALID_SNOWFLAKE_FORMAT, INVALID_ISO_TIMESTAMP, INVALID_JOB_ID, INVALID_JSON_IN_PAYLOAD_JSON, INVALID_MESSAGE_DATA, INVALID_MFA_CODE, INVALID_OR_EXPIRED_AUTHORIZATION_TICKET, INVALID_OR_EXPIRED_AUTHORIZATION_TOKEN, INVALID_OR_EXPIRED_RESET_TOKEN, INVALID_OR_EXPIRED_REVERT_TOKEN, INVALID_OR_EXPIRED_TICKET, INVALID_OR_EXPIRED_VERIFICATION_TOKEN, INVALID_OR_RESTRICTED_RTC_REGION, INVALID_PARENT_CHANNEL, INVALID_PASSWORD, INVALID_PROOF_TOKEN, INVALID_ROLE_ID, INVALID_RTC_REGION, INVALID_SCHEDULED_MESSAGE_PAYLOAD, INVALID_SNOWFLAKE, INVALID_TIMEOUT_VALUE, INVALID_TIMEZONE_IDENTIFIER, INVALID_URL_FORMAT, INVALID_URL_OR_ATTACHMENT_FORMAT, INVALID_VERIFICATION_CODE, INVITE_SPLASH_REQUIRES_FEATURE, JOB_ID_IS_REQUIRED, JOB_IS_ALREADY_PROCESSED, JOB_NOT_FOUND, MEDIA_ALREADY_IN_FAVORITE_MEMES, MESSAGE_HISTORY_CUTOFF_BEFORE_GUILD_CREATION, MESSAGE_HISTORY_CUTOFF_IN_FUTURE, MESSAGE_IDS_CANNOT_BE_EMPTY, MESSAGES_ARRAY_REQUIRED_AND_NOT_EMPTY, MESSAGES_WITH_SNAPSHOTS_CANNOT_BE_EDITED, MESSAGE_TOTAL_ATTACHMENT_SIZE_TOO_LARGE, MULTIPLE_FILES_FOR_INDEX_NOT_ALLOWED, MUST_AGREE_TO_TOS_AND_PRIVACY_POLICY, MUST_BE_MINIMUM_AGE, MUST_ENABLE_2FA_BEFORE_REQUIRING_FOR_MODS, MUST_HAVE_EMAIL_TO_CHANGE_IT, MUST_START_SESSION_BEFORE_SENDING, NAME_EMPTY_AFTER_NORMALIZATION, NEW_EMAIL_MUST_BE_DIFFERENT, NO_FILE_FOR_ATTACHMENT_METADATA, NO_FILE_FOR_ATTACHMENT, NO_METADATA_FOR_FILE, NO_NEW_EMAIL_REQUESTED, NO_ORIGINAL_EMAIL_ON_RECORD, NO_VALID_MEDIA_IN_MESSAGE, NOT_A_VALID_UNICODE_EMOJI, ORIGINAL_EMAIL_ALREADY_VERIFIED, ORIGINAL_EMAIL_MUST_BE_VERIFIED_FIRST, ORIGINAL_VERIFICATION_NOT_REQUIRED, PARENT_CHANNEL_NOT_IN_GUILD, PARENT_MUST_BE_CATEGORY, PARSE_AND_USERS_OR_ROLES_CANNOT_BE_USED_TOGETHER, PASSWORD_IS_TOO_COMMON, PASSWORD_LENGTH_INVALID, PASSWORD_NOT_SET, PAYLOAD_JSON_REQUIRED_FOR_MULTIPART, PHONE_NUMBER_INVALID_FORMAT, PRECEDING_CHANNEL_MUST_SHARE_PARENT, PRECEDING_CHANNEL_NOT_IN_GUILD, PRECEDING_ROLE_NOT_IN_GUILD, PREMIUM_REQUIRED_FOR_CUSTOM_EMOJI, PRONOUNS_CHANGED_TOO_MANY_TIMES, RECIPIENT_IDS_CANNOT_BE_EMPTY, RECIPIENT_IDS_MUST_BE_STRINGS, RECIPIENT_IDS_MUST_BE_VALID_SNOWFLAKES, REFERENCED_ATTACHMENT_NOT_FOUND, ROWS_IS_REQUIRED, SCHEDULED_MESSAGES_MAX_30_DAYS, SCHEDULED_TIME_MUST_BE_FUTURE, SESSION_TIMEOUT, SIZE_BYTES_MUST_BE_VALID_INTEGER, STRING_LENGTH_EXACT, STRING_LENGTH_INVALID, SYSTEM_CHANNEL_MUST_BE_IN_GUILD, SYSTEM_CHANNEL_MUST_BE_TEXT, TAG_ALREADY_TAKEN, THIS_VANITY_URL_IS_ALREADY_TAKEN, TICKET_ALREADY_COMPLETED, TIMEOUT_CANNOT_EXCEED_365_DAYS, TOO_MANY_EMBEDS, TOO_MANY_FILES, TOO_MANY_USERS_WITH_THIS_USERNAME, TOO_MANY_USERS_WITH_USERNAME_TRY_DIFFERENT, UNCLAIMED_ACCOUNTS_CAN_ONLY_SET_EMAIL_VIA_TOKEN, UNKNOWN_IMAGE_FORMAT, UNRESOLVED_ATTACHMENT_URL, UPLOADED_ATTACHMENT_NOT_FOUND, URL_LENGTH_INVALID, USER_DOES_NOT_HAVE_AN_EMAIL_ADDRESS, USER_IS_NOT_BANNED, USER_MUST_BE_A_BOT_TO_BE_MARKED_AS_A_SYSTEM_USER, USER_NOT_IN_CHANNEL, USERNAME_CANNOT_CONTAIN_RESERVED_TERMS, USERNAME_CHANGED_TOO_MANY_TIMES, USERNAME_INVALID_CHARACTERS, USERNAME_LENGTH_INVALID, USERNAME_RESERVED_VALUE, VALUE_MUST_BE_INTEGER_IN_RANGE, VALUE_TOO_SMALL, VANITY_URL_CODE_ALREADY_TAKEN, VANITY_URL_CODE_CANNOT_CONTAIN_FLUXER, VANITY_URL_CODE_LENGTH_INVALID, VANITY_URL_INVALID_CHARACTERS, VANITY_URL_REQUIRES_FEATURE, VERIFICATION_CODE_EXPIRED, VERIFICATION_CODE_NOT_ISSUED, VISIONARY_REQUIRED_FOR_BOT_DISCRIMINATOR, VISIONARY_REQUIRED_FOR_DISCRIMINATOR, BOT_DISCRIMINATOR_CANNOT_BE_CHANGED, VOICE_CHANNELS_CANNOT_BE_ABOVE_TEXT_CHANNELS, WEBHOOK_NAME_LENGTH_INVALID (other values allowed)" }, "CreateAdminApiKeyResponse": { "type": "object", "properties": { "key_id": { "type": "string", "description": "Unique identifier for the API key" }, "key": { "type": "string", "description": "The generated API key secret (only shown once)" }, "name": { "type": "string", "description": "Display name for the API key" }, "created_at": { "type": "string", "description": "ISO 8601 timestamp when the key was created" }, "expires_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "ISO 8601 timestamp when the key expires, or null if no expiration" }, "acls": { "type": "array", "items": { "type": "string" }, "maxItems": 100, "description": "List of access control permissions for the key" } }, "required": [ "key_id", "key", "name", "created_at", "expires_at", "acls" ] }, "CreateAdminApiKeyRequest": { "type": "object", "properties": { "name": { "type": "string", "minLength": 1, "maxLength": 100, "description": "Display name for the API key" }, "expires_in_days": { "type": "integer", "minimum": 1, "maximum": 365, "format": "int32", "description": "Number of days until the key expires" }, "acls": { "type": "array", "items": { "type": "string" }, "maxItems": 100, "description": "List of access control permissions for the key" } }, "required": [ "name", "acls" ] }, "ListAdminApiKeyResponse": { "type": "object", "properties": { "key_id": { "type": "string", "description": "Unique identifier for the API key" }, "name": { "type": "string", "description": "Display name for the API key" }, "created_at": { "type": "string", "description": "ISO 8601 timestamp when the key was created" }, "last_used_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "ISO 8601 timestamp when the key was last used, or null if never used" }, "expires_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "ISO 8601 timestamp when the key expires, or null if no expiration" }, "created_by_user_id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "User ID of the admin who created this key" }, "acls": { "type": "array", "items": { "type": "string" }, "maxItems": 100, "description": "List of access control permissions for the key" } }, "required": [ "key_id", "name", "created_at", "last_used_at", "expires_at", "created_by_user_id", "acls" ] }, "DeleteApiKeyResponse": { "type": "object", "properties": { "success": { "type": "boolean", "enum": [ true ] } }, "required": [ "success" ] }, "AdminArchiveResponseSchema": { "type": "object", "properties": { "archive_id": { "$ref": "#/components/schemas/SnowflakeType" }, "subject_type": { "type": "string", "enum": [ "user", "guild" ], "x-enumNames": [ "user", "guild" ], "x-enumDescriptions": [ "User data archive", "Guild data archive" ], "description": "Type of subject being archived" }, "subject_id": { "$ref": "#/components/schemas/SnowflakeType" }, "requested_by": { "$ref": "#/components/schemas/SnowflakeType" }, "requested_at": { "type": "string" }, "started_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "completed_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "failed_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "file_size": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "progress_percent": { "type": "number" }, "progress_step": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "error_message": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "download_url_expires_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "expires_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "required": [ "archive_id", "subject_type", "subject_id", "requested_by", "requested_at", "started_at", "completed_at", "failed_at", "file_size", "progress_percent", "progress_step", "error_message", "download_url_expires_at", "expires_at" ] }, "SnowflakeType": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "format": "snowflake" }, "TriggerGuildArchiveRequest": { "type": "object", "properties": { "guild_id": { "$ref": "#/components/schemas/SnowflakeType" } }, "required": [ "guild_id" ] }, "ListArchivesResponseSchema": { "type": "object", "properties": { "archives": { "type": "array", "items": { "$ref": "#/components/schemas/AdminArchiveResponseSchema" } } }, "required": [ "archives" ] }, "ListArchivesRequest": { "type": "object", "properties": { "subject_type": { "type": "string", "enum": [ "user", "guild", "all" ], "x-enumNames": [ "user", "guild", "all" ], "x-enumDescriptions": [ "List user archives", "List guild archives", "List all archives" ], "description": "Type of archives to list" }, "subject_id": { "$ref": "#/components/schemas/SnowflakeType" }, "requested_by": { "$ref": "#/components/schemas/SnowflakeType" }, "limit": { "type": "number", "minimum": 1, "maximum": 200, "description": "Maximum number of archives to return" }, "include_expired": { "type": "boolean", "description": "Whether to include expired archives" } } }, "TriggerUserArchiveRequest": { "type": "object", "properties": { "user_id": { "$ref": "#/components/schemas/SnowflakeType" } }, "required": [ "user_id" ] }, "GetArchiveResponseSchema": { "type": "object", "properties": { "archive": { "anyOf": [ { "$ref": "#/components/schemas/AdminArchiveResponseSchema" }, { "type": "null" } ] } }, "required": [ "archive" ] }, "DownloadUrlResponseSchema": { "type": "object", "properties": { "downloadUrl": { "type": "string" }, "expiresAt": { "type": "string" } }, "required": [ "downloadUrl", "expiresAt" ] }, "PurgeGuildAssetsResponseSchema": { "type": "object", "properties": { "processed": { "type": "array", "items": { "$ref": "#/components/schemas/PurgeGuildAssetResultSchema" } }, "errors": { "type": "array", "items": { "$ref": "#/components/schemas/PurgeGuildAssetErrorSchema" } } }, "required": [ "processed", "errors" ] }, "PurgeGuildAssetResultSchema": { "type": "object", "properties": { "id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "Unique identifier of the asset" }, "asset_type": { "type": "string", "enum": [ "emoji", "sticker", "unknown" ], "x-enumNames": [ "emoji", "sticker", "unknown" ], "x-enumDescriptions": [ "Custom emoji asset", "Custom sticker asset", "Unknown asset type" ], "description": "Type of guild asset" }, "found_in_db": { "type": "boolean", "description": "Whether the asset was found in the database" }, "guild_id": { "anyOf": [ { "$ref": "#/components/schemas/SnowflakeType" }, { "type": "null" } ], "description": "ID of the guild the asset belongs to" } }, "required": [ "id", "asset_type", "found_in_db", "guild_id" ] }, "PurgeGuildAssetErrorSchema": { "type": "object", "properties": { "id": { "$ref": "#/components/schemas/SnowflakeType" }, "error": { "type": "string" } }, "required": [ "id", "error" ] }, "PurgeGuildAssetsRequest": { "type": "object", "properties": { "ids": { "type": "array", "items": { "type": "string" }, "maxItems": 100, "description": "List of asset IDs to purge" } }, "required": [ "ids" ] }, "AuditLogsListResponseSchema": { "type": "object", "properties": { "logs": { "type": "array", "items": { "$ref": "#/components/schemas/AdminAuditLogResponseSchema" } }, "total": { "type": "number" } }, "required": [ "logs", "total" ] }, "AdminAuditLogResponseSchema": { "type": "object", "properties": { "log_id": { "$ref": "#/components/schemas/SnowflakeType" }, "admin_user_id": { "$ref": "#/components/schemas/SnowflakeType" }, "target_type": { "type": "string" }, "target_id": { "type": "string", "description": "The ID of the affected entity (user, channel, role, invite code, etc.)" }, "action": { "type": "string" }, "audit_log_reason": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "created_at": { "type": "string" } }, "required": [ "log_id", "admin_user_id", "target_type", "target_id", "action", "audit_log_reason", "metadata", "created_at" ] }, "ListAuditLogsRequest": { "type": "object", "properties": { "admin_user_id": { "$ref": "#/components/schemas/SnowflakeType" }, "target_type": { "type": "string", "description": "Filter by target entity type" }, "target_id": { "type": "string", "description": "Filter by target entity ID (user, channel, role, invite code, etc.)" }, "limit": { "type": "integer", "minimum": 1, "maximum": 200, "format": "int32", "description": "Maximum number of entries to return" }, "offset": { "type": "integer", "minimum": 0, "maximum": 9007199254740991, "format": "int64", "description": "Number of entries to skip" } } }, "SearchAuditLogsRequest": { "type": "object", "properties": { "query": { "type": "string", "description": "Search query string" }, "admin_user_id": { "$ref": "#/components/schemas/SnowflakeType" }, "target_id": { "type": "string", "description": "Filter by target entity ID (user, channel, role, invite code, etc.)" }, "sort_by": { "type": "string", "enum": [ "createdAt", "relevance" ], "x-enumNames": [ "createdAt", "relevance" ], "x-enumDescriptions": [ "Sort by creation timestamp", "Sort by search relevance score" ], "description": "Field to sort audit logs by" }, "sort_order": { "type": "string", "enum": [ "asc", "desc" ], "x-enumNames": [ "asc", "desc" ], "x-enumDescriptions": [ "Ascending order (oldest first)", "Descending order (newest first)" ], "description": "Sort order direction" }, "limit": { "type": "integer", "minimum": 1, "maximum": 200, "format": "int32", "description": "Maximum number of entries to return" }, "offset": { "type": "integer", "minimum": 0, "maximum": 9007199254740991, "format": "int64", "description": "Number of entries to skip" } } }, "BanEmailRequest": { "type": "object", "properties": { "email": { "$ref": "#/components/schemas/EmailType" } }, "required": [ "email" ] }, "EmailType": { "type": "string", "format": "email" }, "BanCheckResponseSchema": { "type": "object", "properties": { "banned": { "type": "boolean" } }, "required": [ "banned" ] }, "ListEmailBansResponseSchema": { "type": "object", "properties": { "bans": { "type": "array", "items": { "$ref": "#/components/schemas/EmailType" }, "maxItems": 500 } }, "required": [ "bans" ] }, "ListBansRequest": { "type": "object", "properties": { "limit": { "type": "integer", "minimum": 1, "maximum": 500, "format": "int32", "description": "Maximum number of bans to return" } } }, "BanIpRequest": { "type": "object", "properties": { "ip": { "type": "string", "description": "IPv4/IPv6 address or CIDR range to ban" } }, "required": [ "ip" ] }, "ListIpBansResponseSchema": { "type": "object", "properties": { "bans": { "type": "array", "items": { "$ref": "#/components/schemas/IpBanListEntrySchema" }, "maxItems": 500 } }, "required": [ "bans" ] }, "IpBanListEntrySchema": { "type": "object", "properties": { "ip": { "type": "string", "description": "Banned IPv4/IPv6 address or CIDR range" }, "reverse_dns": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Reverse DNS hostname for the IP, if available" } }, "required": [ "ip", "reverse_dns" ] }, "BanPhoneRequest": { "type": "object", "properties": { "phone": { "$ref": "#/components/schemas/PhoneNumberType" } }, "required": [ "phone" ] }, "PhoneNumberType": { "type": "string", "pattern": "^\\+[1-9]\\d{1,14}$" }, "ListPhoneBansResponseSchema": { "type": "object", "properties": { "bans": { "type": "array", "items": { "$ref": "#/components/schemas/PhoneNumberType" }, "maxItems": 500 } }, "required": [ "bans" ] }, "BulkOperationResponse": { "type": "object", "properties": { "successful": { "type": "array", "items": { "$ref": "#/components/schemas/SnowflakeType" }, "maxItems": 1000 }, "failed": { "type": "array", "items": { "$ref": "#/components/schemas/BulkOperationFailedResponse" }, "maxItems": 1000 } }, "required": [ "successful", "failed" ] }, "BulkOperationFailedResponse": { "type": "object", "properties": { "id": { "$ref": "#/components/schemas/SnowflakeType" }, "error": { "type": "string" } }, "required": [ "id", "error" ] }, "BulkAddGuildMembersRequest": { "type": "object", "properties": { "guild_id": { "$ref": "#/components/schemas/SnowflakeType" }, "user_ids": { "type": "array", "items": { "$ref": "#/components/schemas/SnowflakeType" }, "maxItems": 1000, "description": "List of user IDs to add as members" } }, "required": [ "guild_id", "user_ids" ] }, "BulkScheduleUserDeletionRequest": { "type": "object", "properties": { "user_ids": { "type": "array", "items": { "$ref": "#/components/schemas/SnowflakeType" }, "maxItems": 1000, "description": "List of user IDs to schedule deletion for" }, "reason_code": { "type": "integer", "minimum": 0, "maximum": 2147483647, "format": "int32", "description": "Code indicating the reason for deletion" }, "public_reason": { "type": "string", "description": "Public-facing reason for the deletion" }, "days_until_deletion": { "type": "integer", "minimum": 1, "maximum": 365, "format": "int32", "description": "Number of days until the accounts are deleted" } }, "required": [ "user_ids", "reason_code" ] }, "BulkUpdateGuildFeaturesRequest": { "type": "object", "properties": { "guild_ids": { "type": "array", "items": { "$ref": "#/components/schemas/SnowflakeType" }, "maxItems": 1000, "description": "List of guild IDs to update" }, "add_features": { "type": "array", "items": { "$ref": "#/components/schemas/GuildFeatureSchema" }, "maxItems": 100, "description": "Guild features to add to all specified guilds" }, "remove_features": { "type": "array", "items": { "$ref": "#/components/schemas/GuildFeatureSchema" }, "maxItems": 100, "description": "Guild features to remove from all specified guilds" } }, "required": [ "guild_ids" ] }, "GuildFeatureSchema": { "type": "string", "x-enumNames": [ "ANIMATED_ICON", "ANIMATED_BANNER", "BANNER", "DETACHED_BANNER", "INVITE_SPLASH", "INVITES_DISABLED", "TEXT_CHANNEL_FLEXIBLE_NAMES", "MORE_EMOJI", "MORE_STICKERS", "UNLIMITED_EMOJI", "UNLIMITED_STICKERS", "EXPRESSION_PURGE_ALLOWED", "VANITY_URL", "VERIFIED", "VIP_VOICE", "UNAVAILABLE_FOR_EVERYONE", "UNAVAILABLE_FOR_EVERYONE_BUT_STAFF", "VISIONARY", "OPERATOR", "LARGE_GUILD_OVERRIDE", "VERY_LARGE_GUILD", "MT_MESSAGE_SCHEDULING", "MT_EXPRESSION_PACKS" ], "x-enumDescriptions": [ "Guild can have an animated icon", "Guild can have an animated banner", "Guild can have a banner", "Guild banner is detached from splash", "Guild can have an invite splash", "Guild has invites disabled", "Guild allows flexible text channel names", "Guild has increased emoji slots", "Guild has increased sticker slots", "Guild has unlimited emoji slots", "Guild has unlimited sticker slots", "Guild allows purging expressions", "Guild can have a vanity URL", "Guild is verified", "Guild has VIP voice features", "Guild is unavailable for everyone", "Guild is unavailable except for staff", "Guild is a visionary guild", "Guild is an operator guild", "Guild has large guild overrides enabled", "Guild has increased member capacity enabled", "Guild has managed message scheduling", "Guild has managed expression packs" ], "description": "A guild feature flag Known values: ANIMATED_ICON, ANIMATED_BANNER, BANNER, DETACHED_BANNER, INVITE_SPLASH, INVITES_DISABLED, TEXT_CHANNEL_FLEXIBLE_NAMES, MORE_EMOJI, MORE_STICKERS, UNLIMITED_EMOJI, UNLIMITED_STICKERS, EXPRESSION_PURGE_ALLOWED, VANITY_URL, VERIFIED, VIP_VOICE, UNAVAILABLE_FOR_EVERYONE, UNAVAILABLE_FOR_EVERYONE_BUT_STAFF, VISIONARY, OPERATOR, LARGE_GUILD_OVERRIDE, VERY_LARGE_GUILD, MT_MESSAGE_SCHEDULING, MT_EXPRESSION_PACKS (other values allowed)" }, "BulkUpdateUserFlagsRequest": { "type": "object", "properties": { "user_ids": { "type": "array", "items": { "$ref": "#/components/schemas/SnowflakeType" }, "maxItems": 1000, "description": "List of user IDs to update" }, "add_flags": { "type": "array", "items": { "$ref": "#/components/schemas/UserFlags" }, "maxItems": 64, "description": "User flags to add to all specified users" }, "remove_flags": { "type": "array", "items": { "$ref": "#/components/schemas/UserFlags" }, "maxItems": 64, "description": "User flags to remove from all specified users" } }, "required": [ "user_ids" ] }, "UserFlags": { "type": "string", "format": "int64", "pattern": "^[0-9]+$", "x-bitflagValues": [ { "name": "STAFF", "value": "1", "description": "User is a staff member" }, { "name": "CTP_MEMBER", "value": "2", "description": "User is a community test program member" }, { "name": "PARTNER", "value": "4", "description": "User is a partner" }, { "name": "BUG_HUNTER", "value": "8", "description": "User is a bug hunter" }, { "name": "HIGH_GLOBAL_RATE_LIMIT", "value": "8589934592", "description": "User has elevated global rate limits" }, { "name": "FRIENDLY_BOT", "value": "16", "description": "Bot accepts friend requests from users" }, { "name": "FRIENDLY_BOT_MANUAL_APPROVAL", "value": "32", "description": "Bot requires manual approval for friend requests" }, { "name": "DELETED", "value": "17179869184", "description": "User account has been deleted" }, { "name": "DISABLED_SUSPICIOUS_ACTIVITY", "value": "34359738368", "description": "User account disabled due to suspicious activity" }, { "name": "SELF_DELETED", "value": "68719476736", "description": "User account was self-deleted" }, { "name": "PREMIUM_DISCRIMINATOR", "value": "137438953472", "description": "User has a premium discriminator" }, { "name": "DISABLED", "value": "274877906944", "description": "User account is disabled" }, { "name": "HAS_SESSION_STARTED", "value": "549755813888", "description": "User has started a session" }, { "name": "PREMIUM_BADGE_HIDDEN", "value": "1099511627776", "description": "User has hidden their premium badge" }, { "name": "PREMIUM_BADGE_MASKED", "value": "2199023255552", "description": "User has masked their premium badge" }, { "name": "PREMIUM_BADGE_TIMESTAMP_HIDDEN", "value": "4398046511104", "description": "User has hidden their premium badge timestamp" }, { "name": "PREMIUM_BADGE_SEQUENCE_HIDDEN", "value": "8796093022208", "description": "User has hidden their premium badge sequence" }, { "name": "PREMIUM_PERKS_SANITIZED", "value": "17592186044416", "description": "User premium perks are sanitized" }, { "name": "PREMIUM_PURCHASE_DISABLED", "value": "35184372088832", "description": "Premium purchase is disabled for this user" }, { "name": "PREMIUM_ENABLED_OVERRIDE", "value": "70368744177664", "description": "Premium status is enabled via override" }, { "name": "RATE_LIMIT_BYPASS", "value": "140737488355328", "description": "User can bypass rate limits" }, { "name": "REPORT_BANNED", "value": "281474976710656", "description": "User is banned from reporting" }, { "name": "VERIFIED_NOT_UNDERAGE", "value": "562949953421312", "description": "User is verified as not underage" }, { "name": "HAS_DISMISSED_PREMIUM_ONBOARDING", "value": "2251799813685248", "description": "User has dismissed premium onboarding" }, { "name": "USED_MOBILE_CLIENT", "value": "4503599627370496", "description": "User has used a mobile client" }, { "name": "APP_STORE_REVIEWER", "value": "9007199254740992", "description": "User is an app store reviewer" }, { "name": "DM_HISTORY_BACKFILLED", "value": "18014398509481984", "description": "User DM history has been backfilled" }, { "name": "HAS_RELATIONSHIPS_INDEXED", "value": "36028797018963968", "description": "User relationships have been indexed" }, { "name": "MESSAGES_BY_AUTHOR_BACKFILLED", "value": "72057594037927936", "description": "Messages by this author have been backfilled" }, { "name": "STAFF_HIDDEN", "value": "144115188075855872", "description": "User staff status is hidden from public flags" }, { "name": "BOT_SANITIZED", "value": "288230376151711744", "description": "User's owned bot discriminators have been sanitized" } ], "description": "A single user flag value to add or remove" }, "CodesResponse": { "type": "object", "properties": { "codes": { "type": "array", "items": { "type": "string" } } }, "required": [ "codes" ] }, "GenerateGiftCodesRequest": { "type": "object", "properties": { "count": { "type": "integer", "minimum": 1, "maximum": 100, "format": "int32", "description": "Number of gift codes to generate" }, "product_type": { "type": "string", "enum": [ "gift_1_month", "gift_1_year" ], "description": "Type of gift subscription" } }, "required": [ "count", "product_type" ] }, "DiscoveryApplicationResponse": { "type": "object", "properties": { "guild_id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "Guild ID" }, "status": { "type": "string", "description": "Application status" }, "description": { "type": "string", "description": "Discovery description" }, "category_type": { "type": "number", "description": "Discovery category type" }, "applied_at": { "type": "string", "description": "Application timestamp" }, "reviewed_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Review timestamp" }, "review_reason": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Review reason" } }, "required": [ "guild_id", "status", "description", "category_type", "applied_at" ] }, "DiscoveryAdminReviewRequest": { "type": "object", "properties": { "reason": { "type": "string", "maxLength": 500, "description": "Review reason" } } }, "DiscoveryAdminRejectRequest": { "type": "object", "properties": { "reason": { "type": "string", "minLength": 1, "maxLength": 500, "description": "Rejection reason" } }, "required": [ "reason" ] }, "DiscoveryAdminRemoveRequest": { "type": "object", "properties": { "reason": { "type": "string", "minLength": 1, "maxLength": 500, "description": "Removal reason" } }, "required": [ "reason" ] }, "GuildMemoryStatsResponse": { "type": "object", "properties": { "guilds": { "type": "array", "items": { "type": "object", "properties": { "guild_id": { "anyOf": [ { "$ref": "#/components/schemas/SnowflakeType" }, { "type": "null" } ] }, "guild_name": { "type": "string" }, "guild_icon": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "memory": { "$ref": "#/components/schemas/Int64StringType" }, "member_count": { "$ref": "#/components/schemas/Int32Type" }, "session_count": { "$ref": "#/components/schemas/Int32Type" }, "presence_count": { "$ref": "#/components/schemas/Int32Type" } }, "required": [ "guild_id", "guild_name", "guild_icon", "memory", "member_count", "session_count", "presence_count" ] }, "maxItems": 100 } }, "required": [ "guilds" ] }, "Int64StringType": { "type": "string", "format": "int64", "pattern": "^-?[0-9]+$" }, "Int32Type": { "type": "integer", "minimum": 0, "maximum": 2147483647, "format": "int32" }, "GetProcessMemoryStatsRequest": { "type": "object", "properties": { "limit": { "type": "integer", "minimum": 1, "maximum": 100, "format": "int32" } } }, "ReloadAllGuildsResponse": { "type": "object", "properties": { "count": { "$ref": "#/components/schemas/Int32Type" } }, "required": [ "count" ] }, "ReloadGuildsRequest": { "type": "object", "properties": { "guild_ids": { "type": "array", "items": { "$ref": "#/components/schemas/SnowflakeType" }, "maxItems": 1000, "description": "List of guild IDs to reload" } }, "required": [ "guild_ids" ] }, "NodeStatsResponse": { "type": "object", "properties": { "status": { "type": "string" }, "sessions": { "$ref": "#/components/schemas/Int32Type" }, "guilds": { "$ref": "#/components/schemas/Int32Type" }, "presences": { "$ref": "#/components/schemas/Int32Type" }, "calls": { "$ref": "#/components/schemas/Int32Type" }, "memory": { "type": "object", "properties": { "total": { "$ref": "#/components/schemas/Int64StringType" }, "processes": { "$ref": "#/components/schemas/Int64StringType" }, "system": { "$ref": "#/components/schemas/Int64StringType" } }, "required": [ "total", "processes", "system" ] }, "process_count": { "$ref": "#/components/schemas/Int32Type" }, "process_limit": { "$ref": "#/components/schemas/Int32Type" }, "uptime_seconds": { "$ref": "#/components/schemas/Int32Type" } }, "required": [ "status", "sessions", "guilds", "presences", "calls", "memory", "process_count", "process_limit", "uptime_seconds" ] }, "BanGuildMemberRequest": { "type": "object", "properties": { "delete_message_days": { "type": "integer", "minimum": 0, "maximum": 7, "format": "int32", "description": "Number of days of messages to delete from the banned user (0-7)" }, "reason": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The reason for the ban (max 512 characters)" }, "ban_duration_seconds": { "type": "integer", "format": "int53", "description": "Duration of the ban in seconds (0 for permanent, or a valid temporary duration)" }, "guild_id": { "$ref": "#/components/schemas/SnowflakeType" }, "user_id": { "$ref": "#/components/schemas/SnowflakeType" } }, "required": [ "guild_id", "user_id" ] }, "ClearGuildFieldsRequest": { "type": "object", "properties": { "guild_id": { "$ref": "#/components/schemas/SnowflakeType" }, "fields": { "type": "array", "items": { "type": "string", "enum": [ "icon", "banner", "splash", "embed_splash" ], "x-enumNames": [ "icon", "banner", "splash", "embed_splash" ], "x-enumDescriptions": [ "Guild icon image", "Guild banner image", "Guild invite splash image", "Guild embedded invite splash image" ], "description": "Guild image field that can be cleared" }, "maxItems": 10, "description": "List of guild image fields to clear" } }, "required": [ "guild_id", "fields" ] }, "SuccessResponse": { "type": "object", "properties": { "success": { "type": "boolean", "enum": [ true ], "description": "Whether the operation succeeded" } }, "required": [ "success" ] }, "DeleteGuildRequest": { "type": "object", "properties": { "guild_id": { "$ref": "#/components/schemas/SnowflakeType" } }, "required": [ "guild_id" ] }, "ForceAddUserToGuildRequest": { "type": "object", "properties": { "user_id": { "$ref": "#/components/schemas/SnowflakeType" }, "guild_id": { "$ref": "#/components/schemas/SnowflakeType" } }, "required": [ "user_id", "guild_id" ] }, "KickGuildMemberRequest": { "type": "object", "properties": { "guild_id": { "$ref": "#/components/schemas/SnowflakeType" }, "user_id": { "$ref": "#/components/schemas/SnowflakeType" } }, "required": [ "guild_id", "user_id" ] }, "ListGuildMembersResponse": { "type": "object", "properties": { "members": { "type": "array", "items": { "$ref": "#/components/schemas/GuildMemberResponse" }, "maxItems": 200 }, "total": { "$ref": "#/components/schemas/Int32Type" }, "limit": { "$ref": "#/components/schemas/Int32Type" }, "offset": { "$ref": "#/components/schemas/Int32Type" } }, "required": [ "members", "total", "limit", "offset" ] }, "GuildMemberResponse": { "type": "object", "properties": { "user": { "$ref": "#/components/schemas/UserPartialResponse" }, "nick": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The nickname of the member in this guild" }, "avatar": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The hash of the member guild-specific avatar" }, "banner": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The hash of the member guild-specific banner" }, "accent_color": { "anyOf": [ { "$ref": "#/components/schemas/Int32Type" }, { "type": "null" } ], "description": "The accent colour of the member guild profile as an integer" }, "roles": { "type": "array", "items": { "type": "string" }, "maxItems": 250, "description": "Array of role IDs the member has" }, "joined_at": { "type": "string", "format": "date-time", "description": "ISO8601 timestamp of when the user joined the guild" }, "mute": { "type": "boolean", "description": "Whether the member is muted in voice channels" }, "deaf": { "type": "boolean", "description": "Whether the member is deafened in voice channels" }, "communication_disabled_until": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "description": "ISO8601 timestamp until which the member is timed out" }, "profile_flags": { "anyOf": [ { "$ref": "#/components/schemas/GuildMemberProfileFlags" }, { "type": "null" } ] } }, "required": [ "user", "roles", "joined_at", "mute", "deaf" ] }, "UserPartialResponse": { "type": "object", "properties": { "id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "The unique identifier (snowflake) for this user" }, "username": { "type": "string", "description": "The username of the user, not unique across the platform" }, "discriminator": { "type": "string", "description": "The four-digit discriminator tag of the user" }, "global_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The display name of the user, if set" }, "avatar": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The hash of the user avatar image" }, "avatar_color": { "anyOf": [ { "$ref": "#/components/schemas/Int32Type" }, { "type": "null" } ], "description": "The dominant avatar color of the user as an integer" }, "bot": { "type": "boolean", "description": "Whether the user is a bot account" }, "system": { "type": "boolean", "description": "Whether the user is an official system user" }, "flags": { "$ref": "#/components/schemas/PublicUserFlags" } }, "required": [ "id", "username", "discriminator", "global_name", "avatar", "avatar_color", "flags" ] }, "PublicUserFlags": { "type": "integer", "format": "int32", "minimum": 0, "maximum": 2147483647, "x-bitflagValues": [ { "name": "STAFF", "value": "1", "description": "User is a staff member" }, { "name": "CTP_MEMBER", "value": "2", "description": "User is a community test program member" }, { "name": "PARTNER", "value": "4", "description": "User is a partner" }, { "name": "BUG_HUNTER", "value": "8", "description": "User is a bug hunter" }, { "name": "FRIENDLY_BOT", "value": "16", "description": "Bot accepts friend requests from users" }, { "name": "FRIENDLY_BOT_MANUAL_APPROVAL", "value": "32", "description": "Bot requires manual approval for friend requests" } ], "description": "The public flags on the user account" }, "GuildMemberProfileFlags": { "type": "integer", "format": "int32", "minimum": 0, "maximum": 2147483647, "x-bitflagValues": [ { "name": "AVATAR_UNSET", "value": "1", "description": "Guild member avatar is unset" }, { "name": "BANNER_UNSET", "value": "2", "description": "Guild member banner is unset" } ], "description": "Member profile flags" }, "ListGuildMembersRequest": { "type": "object", "properties": { "guild_id": { "$ref": "#/components/schemas/SnowflakeType" }, "limit": { "type": "integer", "minimum": 1, "maximum": 200, "format": "int32" }, "offset": { "type": "integer", "minimum": 0, "maximum": 9007199254740991, "format": "int64" } }, "required": [ "guild_id" ] }, "LookupGuildResponse": { "type": "object", "properties": { "guild": { "anyOf": [ { "type": "object", "properties": { "id": { "$ref": "#/components/schemas/SnowflakeType" }, "owner_id": { "$ref": "#/components/schemas/SnowflakeType" }, "name": { "type": "string" }, "vanity_url_code": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "icon": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "banner": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "splash": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "embed_splash": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "features": { "type": "array", "items": { "type": "string" }, "maxItems": 100 }, "verification_level": { "$ref": "#/components/schemas/GuildVerificationLevel" }, "mfa_level": { "$ref": "#/components/schemas/GuildMFALevel" }, "nsfw_level": { "$ref": "#/components/schemas/NSFWLevel" }, "explicit_content_filter": { "$ref": "#/components/schemas/GuildExplicitContentFilter" }, "default_message_notifications": { "$ref": "#/components/schemas/DefaultMessageNotifications" }, "afk_channel_id": { "anyOf": [ { "$ref": "#/components/schemas/SnowflakeType" }, { "type": "null" } ] }, "afk_timeout": { "$ref": "#/components/schemas/Int32Type" }, "system_channel_id": { "anyOf": [ { "$ref": "#/components/schemas/SnowflakeType" }, { "type": "null" } ] }, "system_channel_flags": { "$ref": "#/components/schemas/SystemChannelFlags" }, "rules_channel_id": { "anyOf": [ { "$ref": "#/components/schemas/SnowflakeType" }, { "type": "null" } ] }, "disabled_operations": { "$ref": "#/components/schemas/Int32Type" }, "member_count": { "$ref": "#/components/schemas/Int32Type" }, "channels": { "type": "array", "items": { "type": "object", "properties": { "id": { "$ref": "#/components/schemas/SnowflakeType" }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "type": { "type": "integer", "format": "int32", "enum": [ 0, 1, 2, 3, 4, 998, 999 ], "x-enumNames": [ "GUILD_TEXT", "DM", "GUILD_VOICE", "GROUP_DM", "GUILD_CATEGORY", "GUILD_LINK", "DM_PERSONAL_NOTES" ], "x-enumDescriptions": [ "A text channel within a guild", "A direct message between users", "A voice channel within a guild", "A group direct message between users", "A category that contains channels", "A link channel for external resources", "Personal notes DM channel" ], "description": "The type of the channel" }, "position": { "$ref": "#/components/schemas/Int32Type" }, "parent_id": { "anyOf": [ { "$ref": "#/components/schemas/SnowflakeType" }, { "type": "null" } ] } }, "required": [ "id", "name", "type", "position", "parent_id" ] }, "maxItems": 500 }, "roles": { "type": "array", "items": { "type": "object", "properties": { "id": { "$ref": "#/components/schemas/SnowflakeType" }, "name": { "type": "string" }, "color": { "$ref": "#/components/schemas/Int32Type" }, "position": { "$ref": "#/components/schemas/Int32Type" }, "permissions": { "type": "string", "format": "int64", "pattern": "^[0-9]+$", "description": "The role permissions bitfield" }, "hoist": { "type": "boolean" }, "mentionable": { "type": "boolean" } }, "required": [ "id", "name", "color", "position", "permissions", "hoist", "mentionable" ] }, "maxItems": 250 } }, "required": [ "id", "owner_id", "name", "vanity_url_code", "icon", "banner", "splash", "embed_splash", "features", "verification_level", "mfa_level", "nsfw_level", "explicit_content_filter", "default_message_notifications", "afk_channel_id", "afk_timeout", "system_channel_id", "system_channel_flags", "rules_channel_id", "disabled_operations", "member_count", "channels", "roles" ] }, { "type": "null" } ] } }, "required": [ "guild" ] }, "GuildVerificationLevel": { "type": "integer", "format": "int32", "enum": [ 0, 1, 2, 3, 4 ], "x-enumNames": [ "NONE", "LOW", "MEDIUM", "HIGH", "VERY_HIGH" ], "x-enumDescriptions": [ "Unrestricted", "Must have verified email", "Registered for more than 5 minutes", "Member of the server for more than 10 minutes", "Must have a verified phone number" ], "description": "Required verification level for members" }, "GuildMFALevel": { "type": "integer", "format": "int32", "enum": [ 0, 1 ], "x-enumNames": [ "NONE", "ELEVATED" ], "x-enumDescriptions": [ "Guild has no MFA requirement", "Guild requires 2FA for moderation actions" ], "description": "Required MFA level for moderation actions" }, "NSFWLevel": { "type": "integer", "format": "int32", "enum": [ 0, 1, 2, 3 ], "x-enumNames": [ "DEFAULT", "EXPLICIT", "SAFE", "AGE_RESTRICTED" ], "x-enumDescriptions": [ "Default NSFW level", "Guild has explicit content", "Guild is safe", "Guild is age-restricted" ], "description": "The NSFW level of the guild" }, "GuildExplicitContentFilter": { "type": "integer", "format": "int32", "enum": [ 0, 1, 2 ], "x-enumNames": [ "DISABLED", "MEMBERS_WITHOUT_ROLES", "ALL_MEMBERS" ], "x-enumDescriptions": [ "Media content will not be scanned", "Media content from members without roles will be scanned", "Media content from all members will be scanned" ], "description": "Level of content filtering for explicit media" }, "DefaultMessageNotifications": { "type": "integer", "format": "int32", "enum": [ 0, 1 ], "x-enumNames": [ "ALL_MESSAGES", "ONLY_MENTIONS" ], "x-enumDescriptions": [ "Notify on all messages", "Notify only on mentions" ], "description": "Default notification level for new members" }, "SystemChannelFlags": { "type": "integer", "format": "int32", "minimum": 0, "maximum": 2147483647, "x-bitflagValues": [ { "name": "SUPPRESS_JOIN_NOTIFICATIONS", "value": "1", "description": "Suppress member join notifications in system channel" } ], "description": "System channel message flags" }, "LookupGuildRequest": { "type": "object", "properties": { "guild_id": { "$ref": "#/components/schemas/SnowflakeType" } }, "required": [ "guild_id" ] }, "ReloadGuildRequest": { "type": "object", "properties": { "guild_id": { "$ref": "#/components/schemas/SnowflakeType" } }, "required": [ "guild_id" ] }, "SearchGuildsResponse": { "type": "object", "properties": { "guilds": { "type": "array", "items": { "$ref": "#/components/schemas/GuildAdminResponse" } }, "total": { "type": "number" } }, "required": [ "guilds", "total" ] }, "GuildAdminResponse": { "type": "object", "properties": { "id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "The unique identifier for this guild" }, "name": { "type": "string", "description": "The name of the guild" }, "features": { "type": "array", "items": { "$ref": "#/components/schemas/GuildFeatureSchema" }, "maxItems": 100, "description": "Array of guild feature flags" }, "owner_id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "The ID of the guild owner" }, "icon": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The hash of the guild icon" }, "banner": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The hash of the guild banner" }, "member_count": { "type": "integer", "minimum": 0, "maximum": 2147483647, "format": "int32", "description": "The number of members in the guild" } }, "required": [ "id", "name", "features", "owner_id", "icon", "banner", "member_count" ] }, "SearchGuildsRequest": { "type": "object", "properties": { "query": { "type": "string" }, "limit": { "type": "integer", "minimum": 1, "maximum": 200, "format": "int32" }, "offset": { "type": "integer", "minimum": 0, "maximum": 9007199254740991, "format": "int64" } } }, "ShutdownGuildRequest": { "type": "object", "properties": { "guild_id": { "$ref": "#/components/schemas/SnowflakeType" } }, "required": [ "guild_id" ] }, "GuildUpdateResponse": { "type": "object", "properties": { "guild": { "type": "object", "properties": { "id": { "$ref": "#/components/schemas/SnowflakeType" }, "name": { "type": "string" }, "features": { "type": "array", "items": { "type": "string" }, "maxItems": 100 }, "owner_id": { "$ref": "#/components/schemas/SnowflakeType" }, "icon": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "banner": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "member_count": { "$ref": "#/components/schemas/Int32Type" } }, "required": [ "id", "name", "features", "owner_id", "icon", "banner", "member_count" ] } }, "required": [ "guild" ] }, "TransferGuildOwnershipRequest": { "type": "object", "properties": { "guild_id": { "$ref": "#/components/schemas/SnowflakeType" }, "new_owner_id": { "$ref": "#/components/schemas/SnowflakeType" } }, "required": [ "guild_id", "new_owner_id" ] }, "UpdateGuildFeaturesRequest": { "type": "object", "properties": { "guild_id": { "$ref": "#/components/schemas/SnowflakeType" }, "add_features": { "type": "array", "items": { "$ref": "#/components/schemas/GuildFeatureSchema" }, "maxItems": 100, "description": "Guild features to add" }, "remove_features": { "type": "array", "items": { "$ref": "#/components/schemas/GuildFeatureSchema" }, "maxItems": 100, "description": "Guild features to remove" } }, "required": [ "guild_id" ] }, "UpdateGuildNameRequest": { "type": "object", "properties": { "guild_id": { "$ref": "#/components/schemas/SnowflakeType" }, "name": { "type": "string", "description": "New name for the guild" } }, "required": [ "guild_id", "name" ] }, "UpdateGuildSettingsRequest": { "type": "object", "properties": { "guild_id": { "$ref": "#/components/schemas/SnowflakeType" }, "verification_level": { "$ref": "#/components/schemas/GuildVerificationLevel", "description": "Required verification level for guild members" }, "mfa_level": { "$ref": "#/components/schemas/GuildMFALevel", "description": "Required MFA level for moderators" }, "nsfw_level": { "$ref": "#/components/schemas/NSFWLevel", "description": "NSFW content level for the guild" }, "explicit_content_filter": { "$ref": "#/components/schemas/GuildExplicitContentFilter", "description": "Explicit content filter level" }, "default_message_notifications": { "$ref": "#/components/schemas/DefaultMessageNotifications", "description": "Default notification setting for new members" }, "disabled_operations": { "$ref": "#/components/schemas/GuildOperations" } }, "required": [ "guild_id" ] }, "GuildOperations": { "type": "integer", "format": "int32", "minimum": 0, "maximum": 2147483647, "x-bitflagValues": [ { "name": "PUSH_NOTIFICATIONS", "value": "1", "description": "Allow push notifications for this guild" }, { "name": "EVERYONE_MENTIONS", "value": "2", "description": "Allow @everyone mentions in this guild" }, { "name": "TYPING_EVENTS", "value": "4", "description": "Enable typing indicator events" }, { "name": "INSTANT_INVITES", "value": "8", "description": "Allow creation of instant invites" }, { "name": "SEND_MESSAGE", "value": "16", "description": "Allow sending messages in the guild" }, { "name": "REACTIONS", "value": "32", "description": "Allow adding reactions to messages" }, { "name": "MEMBER_LIST_UPDATES", "value": "64", "description": "Enable member list update events" } ], "description": "Bitmask of disabled guild operations" }, "UpdateGuildVanityRequest": { "type": "object", "properties": { "guild_id": { "$ref": "#/components/schemas/SnowflakeType" }, "vanity_url_code": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "New vanity URL code, or null to remove" } }, "required": [ "guild_id", "vanity_url_code" ] }, "ListGuildEmojisResponse": { "type": "object", "properties": { "guild_id": { "$ref": "#/components/schemas/SnowflakeType" }, "emojis": { "type": "array", "items": { "$ref": "#/components/schemas/GuildAssetItemSchema" }, "maxItems": 500 } }, "required": [ "guild_id", "emojis" ] }, "GuildAssetItemSchema": { "type": "object", "properties": { "id": { "$ref": "#/components/schemas/SnowflakeType" }, "name": { "type": "string" }, "animated": { "type": "boolean" }, "creator_id": { "$ref": "#/components/schemas/SnowflakeType" }, "media_url": { "type": "string" } }, "required": [ "id", "name", "animated", "creator_id", "media_url" ] }, "ListGuildStickersResponse": { "type": "object", "properties": { "guild_id": { "$ref": "#/components/schemas/SnowflakeType" }, "stickers": { "type": "array", "items": { "$ref": "#/components/schemas/GuildAssetItemSchema" }, "maxItems": 500 } }, "required": [ "guild_id", "stickers" ] }, "InstanceConfigResponse": { "type": "object", "properties": { "manual_review_enabled": { "type": "boolean" }, "manual_review_schedule_enabled": { "type": "boolean" }, "manual_review_schedule_start_hour_utc": { "$ref": "#/components/schemas/Int32Type" }, "manual_review_schedule_end_hour_utc": { "$ref": "#/components/schemas/Int32Type" }, "manual_review_active_now": { "type": "boolean" }, "registration_alerts_webhook_url": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "system_alerts_webhook_url": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "sso": { "$ref": "#/components/schemas/SsoConfigResponse" }, "self_hosted": { "type": "boolean" } }, "required": [ "manual_review_enabled", "manual_review_schedule_enabled", "manual_review_schedule_start_hour_utc", "manual_review_schedule_end_hour_utc", "manual_review_active_now", "registration_alerts_webhook_url", "system_alerts_webhook_url", "sso", "self_hosted" ] }, "SsoConfigResponse": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "display_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "issuer": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "authorization_url": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "token_url": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "userinfo_url": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "jwks_url": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "client_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "client_secret_set": { "type": "boolean" }, "scope": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "allowed_domains": { "type": "array", "items": { "type": "string" }, "maxItems": 100 }, "auto_provision": { "type": "boolean" }, "redirect_uri": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "required": [ "enabled", "display_name", "issuer", "authorization_url", "token_url", "userinfo_url", "jwks_url", "client_id", "client_secret_set", "scope", "allowed_domains", "auto_provision", "redirect_uri" ] }, "InstanceConfigUpdateRequest": { "type": "object", "properties": { "manual_review_enabled": { "type": "boolean" }, "manual_review_schedule_enabled": { "type": "boolean" }, "manual_review_schedule_start_hour_utc": { "type": "integer", "minimum": 0, "maximum": 23, "format": "int32" }, "manual_review_schedule_end_hour_utc": { "type": "integer", "minimum": 0, "maximum": 23, "format": "int32" }, "registration_alerts_webhook_url": { "anyOf": [ { "type": "string", "format": "uri" }, { "type": "null" } ] }, "system_alerts_webhook_url": { "anyOf": [ { "type": "string", "format": "uri" }, { "type": "null" } ] }, "sso": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "display_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "issuer": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "authorization_url": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "token_url": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "userinfo_url": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "jwks_url": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "client_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "client_secret": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "scope": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "allowed_domains": { "type": "array", "items": { "type": "string" }, "maxItems": 100 }, "auto_provision": { "type": "boolean" }, "redirect_uri": { "anyOf": [ { "type": "string", "format": "uri" }, { "type": "null" } ] } } } } }, "LimitConfigGetResponse": { "type": "object", "properties": { "limit_config": { "type": "object", "properties": { "traitDefinitions": { "type": "array", "items": { "type": "string" } }, "rules": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "minLength": 1, "description": "Unique rule identifier" }, "filters": { "type": "object", "properties": { "traits": { "type": "array", "items": { "type": "string" }, "description": "Trait filters that must match for the rule to apply" }, "guildFeatures": { "type": "array", "items": { "type": "string" }, "description": "Guild feature flags required for the rule to apply" } }, "description": "Optional filters that scope the rule" }, "limits": { "type": "object", "additionalProperties": { "type": "number", "minimum": 0 }, "description": "Per-limit key values" }, "modifiedFields": { "type": "array", "items": { "type": "string" } } }, "required": [ "id", "limits" ] } } }, "required": [ "traitDefinitions", "rules" ] }, "limit_config_json": { "type": "string" }, "self_hosted": { "type": "boolean" }, "defaults": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": { "type": "number" } } }, "metadata": { "type": "object", "additionalProperties": { "type": "object", "properties": { "key": { "type": "string" }, "label": { "type": "string" }, "description": { "type": "string" }, "category": { "type": "string" }, "scope": { "type": "string" }, "isToggle": { "type": "boolean" }, "unit": { "enum": [ "bytes", "count" ], "type": "string", "x-enumNames": [ "bytes", "count" ] }, "min": { "type": "number" }, "max": { "type": "number" } }, "required": [ "key", "label", "description", "category", "scope", "isToggle" ] } }, "categories": { "type": "object", "additionalProperties": { "type": "string" } }, "limit_keys": { "type": "array", "items": { "type": "string" } }, "bounds": { "type": "object", "additionalProperties": { "type": "object", "properties": { "min": { "type": "number" }, "max": { "type": "number" } }, "required": [ "min", "max" ] } } }, "required": [ "limit_config", "limit_config_json", "self_hosted", "defaults", "metadata", "categories", "limit_keys" ] }, "LimitConfigUpdateRequest": { "type": "object", "properties": { "limit_config": { "type": "object", "properties": { "traitDefinitions": { "type": "array", "items": { "type": "string" }, "description": "Trait definitions used by rules" }, "rules": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "minLength": 1, "description": "Unique rule identifier" }, "filters": { "type": "object", "properties": { "traits": { "type": "array", "items": { "type": "string" }, "description": "Trait filters that must match for the rule to apply" }, "guildFeatures": { "type": "array", "items": { "type": "string" }, "description": "Guild feature flags required for the rule to apply" } }, "description": "Optional filters that scope the rule" }, "limits": { "type": "object", "additionalProperties": { "type": "number", "minimum": 0 }, "description": "Per-limit key values" } }, "required": [ "id", "limits" ] }, "description": "Limit rules" } }, "required": [ "rules" ], "description": "New limit configuration snapshot" } }, "required": [ "limit_config" ] }, "DeleteMessageResponse": { "type": "object", "properties": { "success": { "type": "boolean", "enum": [ true ] } }, "required": [ "success" ] }, "DeleteMessageRequest": { "type": "object", "properties": { "channel_id": { "$ref": "#/components/schemas/SnowflakeType" }, "message_id": { "$ref": "#/components/schemas/SnowflakeType" } }, "required": [ "channel_id", "message_id" ] }, "DeleteAllUserMessagesResponse": { "type": "object", "properties": { "success": { "type": "boolean", "enum": [ true ] }, "dry_run": { "type": "boolean" }, "channel_count": { "$ref": "#/components/schemas/Int32Type" }, "message_count": { "$ref": "#/components/schemas/Int32Type" }, "job_id": { "type": "string" } }, "required": [ "success", "dry_run", "channel_count", "message_count" ] }, "DeleteAllUserMessagesRequest": { "type": "object", "properties": { "user_id": { "$ref": "#/components/schemas/SnowflakeType" }, "dry_run": { "type": "boolean" } }, "required": [ "user_id" ] }, "LookupMessageResponse": { "type": "object", "properties": { "messages": { "type": "array", "items": { "type": "object", "properties": { "id": { "$ref": "#/components/schemas/SnowflakeType" }, "channel_id": { "$ref": "#/components/schemas/SnowflakeType" }, "author_id": { "$ref": "#/components/schemas/SnowflakeType" }, "author_username": { "type": "string" }, "author_discriminator": { "type": "string" }, "content": { "type": "string" }, "timestamp": { "type": "string" }, "attachments": { "type": "array", "items": { "type": "object", "properties": { "filename": { "type": "string" }, "url": { "type": "string" } }, "required": [ "filename", "url" ] }, "maxItems": 10 } }, "required": [ "id", "channel_id", "author_id", "author_username", "author_discriminator", "content", "timestamp", "attachments" ] }, "maxItems": 100 }, "message_id": { "anyOf": [ { "$ref": "#/components/schemas/SnowflakeType" }, { "type": "null" } ] } }, "required": [ "messages", "message_id" ] }, "LookupMessageRequest": { "type": "object", "properties": { "channel_id": { "$ref": "#/components/schemas/SnowflakeType" }, "message_id": { "$ref": "#/components/schemas/SnowflakeType" }, "context_limit": { "type": "integer", "minimum": 1, "maximum": 100, "format": "int32" } }, "required": [ "channel_id", "message_id" ] }, "LookupMessageByAttachmentRequest": { "type": "object", "properties": { "channel_id": { "$ref": "#/components/schemas/SnowflakeType" }, "attachment_id": { "$ref": "#/components/schemas/SnowflakeType" }, "filename": { "type": "string" }, "context_limit": { "type": "integer", "minimum": 1, "maximum": 100, "format": "int32" } }, "required": [ "channel_id", "attachment_id", "filename" ] }, "MessageShredResponse": { "type": "object", "properties": { "success": { "type": "boolean", "enum": [ true ] }, "job_id": { "type": "string" }, "requested": { "type": "integer", "minimum": 0, "maximum": 9007199254740991, "format": "int64" } }, "required": [ "success", "job_id" ] }, "MessageShredRequest": { "type": "object", "properties": { "user_id": { "$ref": "#/components/schemas/SnowflakeType" }, "entries": { "type": "array", "items": { "type": "object", "properties": { "channel_id": { "$ref": "#/components/schemas/SnowflakeType" }, "message_id": { "$ref": "#/components/schemas/SnowflakeType" } }, "required": [ "channel_id", "message_id" ] }, "minItems": 1, "maxItems": 1000 } }, "required": [ "user_id", "entries" ] }, "MessageShredStatusResponse": { "oneOf": [ { "$ref": "#/components/schemas/MessageShredStatusNotFoundResponse" }, { "$ref": "#/components/schemas/MessageShredStatusProgressResponse" } ] }, "MessageShredStatusNotFoundResponse": { "type": "object", "properties": { "status": { "type": "string", "enum": [ "not_found" ] } }, "required": [ "status" ] }, "MessageShredStatusProgressResponse": { "type": "object", "properties": { "status": { "type": "string", "enum": [ "in_progress", "completed", "failed" ], "x-enumNames": [ "in_progress", "completed", "failed" ], "x-enumDescriptions": [ "Shredding is currently running", "Shredding completed successfully", "Shredding failed" ], "description": "Current message shred job status" }, "requested": { "$ref": "#/components/schemas/Int32Type" }, "total": { "$ref": "#/components/schemas/Int32Type" }, "processed": { "$ref": "#/components/schemas/Int32Type" }, "skipped": { "$ref": "#/components/schemas/Int32Type" }, "started_at": { "type": "string" }, "completed_at": { "type": "string" }, "failed_at": { "type": "string" }, "error": { "type": "string" } }, "required": [ "status", "requested", "total", "processed", "skipped" ] }, "MessageShredStatusRequest": { "type": "object", "properties": { "job_id": { "type": "string" } }, "required": [ "job_id" ] }, "ListReportsResponse": { "type": "object", "properties": { "reports": { "type": "array", "items": { "$ref": "#/components/schemas/ReportAdminResponseSchema" } } }, "required": [ "reports" ] }, "ReportAdminResponseSchema": { "type": "object", "properties": { "report_id": { "$ref": "#/components/schemas/SnowflakeType" }, "reporter_id": { "anyOf": [ { "$ref": "#/components/schemas/SnowflakeType" }, { "type": "null" } ] }, "reporter_tag": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "reporter_username": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "reporter_discriminator": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "reporter_email": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "reporter_full_legal_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "reporter_country_of_residence": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "reported_at": { "type": "string" }, "status": { "$ref": "#/components/schemas/ReportStatus" }, "report_type": { "$ref": "#/components/schemas/ReportType" }, "category": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "additional_info": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "reported_user_id": { "anyOf": [ { "$ref": "#/components/schemas/SnowflakeType" }, { "type": "null" } ] }, "reported_user_tag": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "reported_user_username": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "reported_user_discriminator": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "reported_user_avatar_hash": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "reported_guild_id": { "anyOf": [ { "$ref": "#/components/schemas/SnowflakeType" }, { "type": "null" } ] }, "reported_guild_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "reported_message_id": { "anyOf": [ { "$ref": "#/components/schemas/SnowflakeType" }, { "type": "null" } ] }, "reported_channel_id": { "anyOf": [ { "$ref": "#/components/schemas/SnowflakeType" }, { "type": "null" } ] }, "reported_channel_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "reported_guild_invite_code": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "resolved_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "resolved_by_admin_id": { "anyOf": [ { "$ref": "#/components/schemas/SnowflakeType" }, { "type": "null" } ] }, "public_comment": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "mutual_dm_channel_id": { "anyOf": [ { "$ref": "#/components/schemas/SnowflakeType" }, { "type": "null" } ] }, "message_context": { "type": "array", "items": { "type": "object", "properties": { "id": { "$ref": "#/components/schemas/SnowflakeType" }, "channel_id": { "$ref": "#/components/schemas/SnowflakeType" }, "guild_id": { "anyOf": [ { "$ref": "#/components/schemas/SnowflakeType" }, { "type": "null" } ] }, "content": { "type": "string" }, "timestamp": { "type": "string" }, "attachments": { "type": "array", "items": { "type": "object", "properties": { "filename": { "type": "string" }, "url": { "type": "string" } }, "required": [ "filename", "url" ] } }, "author_id": { "$ref": "#/components/schemas/SnowflakeType" }, "author_username": { "type": "string" }, "author_discriminator": { "type": "string" } }, "required": [ "id", "channel_id", "guild_id", "content", "timestamp", "attachments", "author_id", "author_username", "author_discriminator" ] } } }, "required": [ "report_id", "reporter_id", "reporter_tag", "reporter_username", "reporter_discriminator", "reporter_email", "reporter_full_legal_name", "reporter_country_of_residence", "reported_at", "status", "report_type", "category", "additional_info", "reported_user_id", "reported_user_tag", "reported_user_username", "reported_user_discriminator", "reported_user_avatar_hash", "reported_guild_id", "reported_guild_name", "reported_message_id", "reported_channel_id", "reported_channel_name", "reported_guild_invite_code", "resolved_at", "resolved_by_admin_id", "public_comment" ] }, "ReportStatus": { "type": "integer", "format": "int32", "enum": [ 0, 1 ], "x-enumNames": [ "PENDING", "RESOLVED" ], "x-enumDescriptions": [ "Report is pending review", "Report has been resolved" ], "description": "The status of the report" }, "ReportType": { "type": "integer", "format": "int32", "enum": [ 0, 1, 2 ], "x-enumNames": [ "MESSAGE", "USER", "GUILD" ], "x-enumDescriptions": [ "Report of a message", "Report of a user", "Report of a guild" ], "description": "The type of entity being reported" }, "ListReportsRequest": { "type": "object", "properties": { "status": { "$ref": "#/components/schemas/ReportStatus" }, "limit": { "type": "integer", "minimum": 1, "maximum": 200, "format": "int32", "description": "Maximum number of reports to return" }, "offset": { "type": "integer", "minimum": 0, "maximum": 9007199254740991, "format": "int64", "description": "Number of reports to skip" } } }, "ResolveReportResponse": { "type": "object", "properties": { "report_id": { "$ref": "#/components/schemas/SnowflakeType" }, "status": { "$ref": "#/components/schemas/ReportStatus" }, "resolved_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "public_comment": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "required": [ "report_id", "status", "resolved_at", "public_comment" ] }, "ResolveReportRequest": { "type": "object", "properties": { "report_id": { "$ref": "#/components/schemas/SnowflakeType" }, "public_comment": { "type": "string", "description": "Public comment to include with the resolution" } }, "required": [ "report_id" ] }, "SearchReportsResponse": { "type": "object", "properties": { "reports": { "type": "array", "items": { "$ref": "#/components/schemas/ReportAdminResponseSchema" } }, "total": { "type": "number" }, "offset": { "type": "number" }, "limit": { "type": "number" } }, "required": [ "reports", "total", "offset", "limit" ] }, "SearchReportsRequest": { "type": "object", "properties": { "query": { "type": "string", "description": "Search query string" }, "limit": { "type": "integer", "minimum": 1, "maximum": 200, "format": "int32", "description": "Maximum number of entries to return" }, "offset": { "type": "integer", "minimum": 0, "maximum": 9007199254740991, "format": "int64", "description": "Number of entries to skip" }, "reporter_id": { "$ref": "#/components/schemas/SnowflakeType" }, "status": { "$ref": "#/components/schemas/ReportStatus" }, "report_type": { "$ref": "#/components/schemas/ReportType" }, "category": { "type": "string", "description": "Filter by report category" }, "reported_user_id": { "$ref": "#/components/schemas/SnowflakeType" }, "reported_guild_id": { "$ref": "#/components/schemas/SnowflakeType" }, "reported_channel_id": { "$ref": "#/components/schemas/SnowflakeType" }, "guild_context_id": { "$ref": "#/components/schemas/SnowflakeType" }, "resolved_by_admin_id": { "$ref": "#/components/schemas/SnowflakeType" }, "sort_by": { "type": "string", "enum": [ "createdAt", "reportedAt", "resolvedAt" ], "x-enumNames": [ "createdAt", "reportedAt", "resolvedAt" ], "x-enumDescriptions": [ "Sort by creation timestamp", "Sort by report submission timestamp", "Sort by resolution timestamp" ], "description": "Field to sort reports by" }, "sort_order": { "type": "string", "enum": [ "asc", "desc" ], "x-enumNames": [ "asc", "desc" ], "x-enumDescriptions": [ "Ascending order (oldest first)", "Descending order (newest first)" ], "description": "Sort order direction" } } }, "LegalHoldResponse": { "type": "object", "properties": { "held": { "type": "boolean" } }, "required": [ "held" ] }, "LegalHoldRequest": { "type": "object", "properties": { "expires_at": { "type": "string", "description": "ISO 8601 timestamp when the legal hold expires" } } }, "NcmecSubmissionStatusResponse": { "type": "object", "properties": { "status": { "type": "string", "enum": [ "not_submitted", "submitted", "failed" ], "x-enumNames": [ "not_submitted", "submitted", "failed" ], "x-enumDescriptions": [ "Report has not been submitted to NCMEC", "Report has been submitted to NCMEC", "Report submission to NCMEC failed" ], "description": "NCMEC submission status" }, "ncmec_report_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "NCMEC report ID if submitted" }, "submitted_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "ISO 8601 timestamp when the report was submitted" }, "submitted_by_admin_id": { "anyOf": [ { "$ref": "#/components/schemas/SnowflakeType" }, { "type": "null" } ], "description": "ID of the admin who submitted the report" }, "failure_reason": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Reason for submission failure if failed" } }, "required": [ "status", "ncmec_report_id", "submitted_at", "submitted_by_admin_id", "failure_reason" ] }, "NcmecSubmitResultResponse": { "type": "object", "properties": { "success": { "type": "boolean" }, "ncmec_report_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "error": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "required": [ "success", "ncmec_report_id", "error" ] }, "RefreshSearchIndexResponse": { "type": "object", "properties": { "success": { "type": "boolean", "enum": [ true ] }, "job_id": { "type": "string" } }, "required": [ "success", "job_id" ] }, "RefreshSearchIndexRequest": { "type": "object", "properties": { "index_type": { "type": "string", "enum": [ "guilds", "users", "reports", "audit_logs", "channel_messages", "guild_members", "favorite_memes", "discovery" ], "x-enumNames": [ "guilds", "users", "reports", "audit_logs", "channel_messages", "guild_members", "favorite_memes", "discovery" ], "x-enumDescriptions": [ "Guild search index", "User search index", "Report search index", "Audit log search index", "Channel message search index", "Guild member search index", "Favourite meme search index", "Discovery guild search index" ], "description": "Type of search index to refresh" }, "guild_id": { "$ref": "#/components/schemas/SnowflakeType" }, "user_id": { "$ref": "#/components/schemas/SnowflakeType" } }, "required": [ "index_type" ] }, "IndexRefreshStatusResponse": { "oneOf": [ { "type": "object", "properties": { "status": { "type": "string", "enum": [ "not_found" ], "description": "Job was not found" } }, "required": [ "status" ] }, { "type": "object", "properties": { "status": { "type": "string", "enum": [ "in_progress", "completed", "failed" ], "x-enumNames": [ "in_progress", "completed", "failed" ], "x-enumDescriptions": [ "Index refresh is currently in progress", "Index refresh completed successfully", "Index refresh failed" ], "description": "Current status of the index refresh job" }, "index_type": { "type": "string", "description": "Type of index being refreshed" }, "total": { "type": "number", "description": "Total number of items to index" }, "indexed": { "type": "number", "description": "Number of items indexed so far" }, "started_at": { "type": "string", "description": "ISO 8601 timestamp when the job started" }, "completed_at": { "type": "string", "description": "ISO 8601 timestamp when the job completed" }, "failed_at": { "type": "string", "description": "ISO 8601 timestamp when the job failed" }, "error": { "type": "string", "description": "Error message if the job failed" } }, "required": [ "status", "index_type" ] } ] }, "GetIndexRefreshStatusRequest": { "type": "object", "properties": { "job_id": { "type": "string", "description": "ID of the index refresh job to check" } }, "required": [ "job_id" ] }, "AddSnowflakeReservationRequest": { "type": "object", "properties": { "email": { "$ref": "#/components/schemas/EmailType" }, "snowflake": { "$ref": "#/components/schemas/SnowflakeType" } }, "required": [ "email", "snowflake" ] }, "DeleteSnowflakeReservationRequest": { "type": "object", "properties": { "email": { "$ref": "#/components/schemas/EmailType" } }, "required": [ "email" ] }, "ListSnowflakeReservationsResponse": { "type": "object", "properties": { "reservations": { "type": "array", "items": { "$ref": "#/components/schemas/SnowflakeReservationEntry" }, "maxItems": 1000, "description": "List of snowflake reservations" } }, "required": [ "reservations" ] }, "SnowflakeReservationEntry": { "type": "object", "properties": { "email": { "type": "string", "description": "Email address the snowflake is reserved for" }, "snowflake": { "type": "string", "description": "Reserved snowflake ID" }, "updated_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "ISO 8601 timestamp when the reservation was last updated" } }, "required": [ "email", "snowflake", "updated_at" ] }, "SystemDmJobResponse": { "type": "object", "properties": { "job_id": { "type": "string", "description": "Unique identifier for the job" }, "status": { "type": "string", "enum": [ "pending", "approved", "running", "completed", "failed" ], "x-enumNames": [ "pending", "approved", "running", "completed", "failed" ], "x-enumDescriptions": [ "Job is pending approval", "Job has been approved and is queued", "Job is currently running", "Job completed successfully", "Job failed" ], "description": "Current status of the system DM job" }, "content": { "type": "string", "description": "Message content being sent" }, "target_count": { "type": "integer", "minimum": 0, "maximum": 2147483647, "format": "int32", "description": "Total number of users targeted" }, "sent_count": { "type": "integer", "minimum": 0, "maximum": 2147483647, "format": "int32", "description": "Number of messages successfully sent" }, "failed_count": { "type": "integer", "minimum": 0, "maximum": 2147483647, "format": "int32", "description": "Number of messages that failed to send" }, "created_at": { "type": "string", "description": "ISO 8601 timestamp when the job was created" }, "approved_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "ISO 8601 timestamp when the job was approved" }, "registration_start": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Registration date filter start" }, "registration_end": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Registration date filter end" }, "excluded_guild_ids": { "type": "array", "items": { "type": "string" }, "maxItems": 100, "description": "List of excluded guild IDs" }, "last_error": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Last error message if the job failed" } }, "required": [ "job_id", "status", "content", "target_count", "sent_count", "failed_count", "created_at", "excluded_guild_ids" ] }, "CreateSystemDmJobRequest": { "type": "object", "properties": { "content": { "type": "string", "minLength": 1, "maxLength": 4000, "description": "Message content to send to users" }, "registration_start": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Only target users registered after this date" }, "registration_end": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Only target users registered before this date" }, "excluded_guild_ids": { "type": "array", "items": { "$ref": "#/components/schemas/SnowflakeType" }, "maxItems": 100, "description": "Guild IDs whose members should be excluded" } }, "required": [ "content" ] }, "ListSystemDmJobsResponse": { "type": "object", "properties": { "jobs": { "type": "array", "items": { "$ref": "#/components/schemas/SystemDmJobResponse" }, "maxItems": 100, "description": "List of system DM jobs" }, "next_cursor": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Pagination cursor for the next page" } }, "required": [ "jobs" ] }, "UserMutationResponse": { "type": "object", "properties": { "user": { "$ref": "#/components/schemas/UserAdminResponseSchema" } }, "required": [ "user" ] }, "UserAdminResponseSchema": { "type": "object", "properties": { "id": { "$ref": "#/components/schemas/SnowflakeType" }, "username": { "type": "string" }, "discriminator": { "$ref": "#/components/schemas/Int32Type" }, "global_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "bot": { "type": "boolean" }, "system": { "type": "boolean" }, "flags": { "$ref": "#/components/schemas/UserFlags" }, "avatar": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "banner": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "bio": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "pronouns": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "accent_color": { "anyOf": [ { "$ref": "#/components/schemas/Int32Type" }, { "type": "null" } ] }, "email": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "email_verified": { "type": "boolean" }, "email_bounced": { "type": "boolean" }, "phone": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "date_of_birth": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "locale": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "premium_type": { "anyOf": [ { "$ref": "#/components/schemas/Int32Type" }, { "type": "null" } ] }, "premium_since": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "premium_until": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "suspicious_activity_flags": { "$ref": "#/components/schemas/SuspiciousActivityFlags" }, "temp_banned_until": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "pending_deletion_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "pending_bulk_message_deletion_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "deletion_reason_code": { "anyOf": [ { "$ref": "#/components/schemas/Int32Type" }, { "type": "null" } ] }, "deletion_public_reason": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "acls": { "type": "array", "items": { "type": "string" }, "maxItems": 100 }, "traits": { "type": "array", "items": { "type": "string" }, "maxItems": 100 }, "has_totp": { "type": "boolean" }, "authenticator_types": { "type": "array", "items": { "$ref": "#/components/schemas/Int32Type" }, "maxItems": 10 }, "last_active_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "last_active_ip": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "last_active_ip_reverse": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "last_active_location": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "required": [ "id", "username", "discriminator", "global_name", "bot", "system", "flags", "avatar", "banner", "bio", "pronouns", "accent_color", "email", "email_verified", "email_bounced", "phone", "date_of_birth", "locale", "premium_type", "premium_since", "premium_until", "suspicious_activity_flags", "temp_banned_until", "pending_deletion_at", "pending_bulk_message_deletion_at", "deletion_reason_code", "deletion_public_reason", "acls", "traits", "has_totp", "authenticator_types", "last_active_at", "last_active_ip", "last_active_ip_reverse", "last_active_location" ] }, "SuspiciousActivityFlags": { "type": "integer", "format": "int32", "minimum": 0, "maximum": 2147483647, "x-bitflagValues": [ { "name": "REQUIRE_VERIFIED_EMAIL", "value": "1", "description": "Requires verified email address" }, { "name": "REQUIRE_REVERIFIED_EMAIL", "value": "2", "description": "Requires re-verified email address" }, { "name": "REQUIRE_VERIFIED_PHONE", "value": "4", "description": "Requires verified phone number" }, { "name": "REQUIRE_REVERIFIED_PHONE", "value": "8", "description": "Requires re-verified phone number" }, { "name": "REQUIRE_VERIFIED_EMAIL_OR_VERIFIED_PHONE", "value": "16", "description": "Requires verified email or verified phone" }, { "name": "REQUIRE_REVERIFIED_EMAIL_OR_VERIFIED_PHONE", "value": "32", "description": "Requires re-verified email or re-verified phone" }, { "name": "REQUIRE_VERIFIED_EMAIL_OR_REVERIFIED_PHONE", "value": "64", "description": "Requires verified email or re-verified phone" }, { "name": "REQUIRE_REVERIFIED_EMAIL_OR_REVERIFIED_PHONE", "value": "128", "description": "Requires re-verified email or re-verified phone" } ], "description": "Bitmask of suspicious activity flags that triggered the disable" }, "CancelBulkMessageDeletionRequest": { "type": "object", "properties": { "user_id": { "$ref": "#/components/schemas/SnowflakeType" } }, "required": [ "user_id" ] }, "DisableMfaRequest": { "type": "object", "properties": { "user_id": { "$ref": "#/components/schemas/SnowflakeType" } }, "required": [ "user_id" ] }, "ChangeDobRequest": { "type": "object", "properties": { "user_id": { "$ref": "#/components/schemas/SnowflakeType" }, "date_of_birth": { "type": "string", "description": "New date of birth in YYYY-MM-DD format" } }, "required": [ "user_id", "date_of_birth" ] }, "ChangeEmailRequest": { "type": "object", "properties": { "user_id": { "$ref": "#/components/schemas/SnowflakeType" }, "email": { "$ref": "#/components/schemas/EmailType" } }, "required": [ "user_id", "email" ] }, "ListUserChangeLogResponseSchema": { "type": "object", "properties": { "entries": { "type": "array", "items": { "$ref": "#/components/schemas/UserContactChangeLogEntrySchema" }, "maxItems": 200 }, "next_page_token": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "required": [ "entries", "next_page_token" ] }, "UserContactChangeLogEntrySchema": { "type": "object", "properties": { "event_id": { "type": "string" }, "field": { "type": "string" }, "old_value": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "new_value": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "reason": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "actor_user_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "event_at": { "type": "string" } }, "required": [ "event_id", "field", "old_value", "new_value", "reason", "actor_user_id", "event_at" ] }, "ListUserChangeLogRequest": { "type": "object", "properties": { "user_id": { "$ref": "#/components/schemas/SnowflakeType" }, "limit": { "type": "number", "minimum": 1, "maximum": 200, "description": "Maximum number of entries to return" }, "page_token": { "type": "string", "description": "Pagination token for the next page of results" } }, "required": [ "user_id" ] }, "ChangeUsernameRequest": { "type": "object", "properties": { "user_id": { "$ref": "#/components/schemas/SnowflakeType" }, "username": { "$ref": "#/components/schemas/UsernameType" }, "discriminator": { "$ref": "#/components/schemas/Int32Type" } }, "required": [ "user_id", "username" ] }, "UsernameType": { "type": "string", "minLength": 1, "maxLength": 32, "pattern": "^[a-zA-Z0-9_]+$" }, "ClearUserFieldsRequest": { "type": "object", "properties": { "user_id": { "$ref": "#/components/schemas/SnowflakeType" }, "fields": { "type": "array", "items": { "type": "string", "enum": [ "avatar", "banner", "bio", "pronouns", "global_name" ], "x-enumNames": [ "avatar", "banner", "bio", "pronouns", "global_name" ], "x-enumDescriptions": [ "User profile avatar image", "User profile banner image", "User biography text", "User pronouns", "User display name" ], "description": "User profile field that can be cleared" }, "maxItems": 10, "description": "List of profile fields to clear" } }, "required": [ "user_id", "fields" ] }, "DeleteWebAuthnCredentialRequest": { "type": "object", "properties": { "user_id": { "$ref": "#/components/schemas/SnowflakeType" }, "credential_id": { "type": "string", "description": "ID of the WebAuthn credential to delete" } }, "required": [ "user_id", "credential_id" ] }, "DisableForSuspiciousActivityRequest": { "type": "object", "properties": { "user_id": { "$ref": "#/components/schemas/SnowflakeType" }, "flags": { "$ref": "#/components/schemas/SuspiciousActivityFlags" } }, "required": [ "user_id", "flags" ] }, "ListUserDmChannelsResponse": { "type": "object", "properties": { "channels": { "type": "array", "items": { "$ref": "#/components/schemas/AdminUserDmChannelSchema" }, "maxItems": 200 } }, "required": [ "channels" ] }, "AdminUserDmChannelSchema": { "type": "object", "properties": { "channel_id": { "$ref": "#/components/schemas/SnowflakeType" }, "channel_type": { "anyOf": [ { "$ref": "#/components/schemas/Int32Type" }, { "type": "null" } ] }, "recipient_ids": { "type": "array", "items": { "$ref": "#/components/schemas/SnowflakeType" }, "maxItems": 100 }, "last_message_id": { "anyOf": [ { "$ref": "#/components/schemas/SnowflakeType" }, { "type": "null" } ] }, "is_open": { "type": "boolean" } }, "required": [ "channel_id", "channel_type", "recipient_ids", "last_message_id", "is_open" ] }, "ListUserDmChannelsRequest": { "type": "object", "properties": { "user_id": { "$ref": "#/components/schemas/SnowflakeType" }, "before": { "$ref": "#/components/schemas/SnowflakeType" }, "after": { "$ref": "#/components/schemas/SnowflakeType" }, "limit": { "type": "integer", "minimum": 1, "maximum": 200, "format": "int32", "description": "Maximum number of DM channels to return" } }, "required": [ "user_id" ] }, "ListUserGuildsResponse": { "type": "object", "properties": { "guilds": { "type": "array", "items": { "$ref": "#/components/schemas/GuildAdminResponse" }, "maxItems": 200 } }, "required": [ "guilds" ] }, "ListUserGuildsRequest": { "type": "object", "properties": { "user_id": { "$ref": "#/components/schemas/SnowflakeType" }, "before": { "$ref": "#/components/schemas/SnowflakeType" }, "after": { "$ref": "#/components/schemas/SnowflakeType" }, "limit": { "type": "integer", "minimum": 1, "maximum": 200, "format": "int32" }, "with_counts": { "type": "boolean" } }, "required": [ "user_id" ] }, "ListUserSessionsResponse": { "type": "object", "properties": { "sessions": { "type": "array", "items": { "$ref": "#/components/schemas/UserSessionResponse" }, "maxItems": 100 } }, "required": [ "sessions" ] }, "UserSessionResponse": { "type": "object", "properties": { "session_id_hash": { "type": "string", "description": "Hashed session identifier (base64url)" }, "created_at": { "type": "string", "description": "ISO timestamp when the session was created" }, "approx_last_used_at": { "type": "string", "description": "ISO timestamp of the session last usage (approximate)" }, "client_ip": { "type": "string", "description": "Client IP address" }, "client_ip_reverse": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Reverse DNS hostname for the client IP (PTR), if available" }, "client_os": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Client operating system, if detected" }, "client_platform": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Client platform, if detected" }, "client_location": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Approximate geo location label for the client IP, if available" } }, "required": [ "session_id_hash", "created_at", "approx_last_used_at", "client_ip", "client_ip_reverse", "client_os", "client_platform", "client_location" ] }, "ListUserSessionsRequest": { "type": "object", "properties": { "user_id": { "$ref": "#/components/schemas/SnowflakeType" } }, "required": [ "user_id" ] }, "WebAuthnCredentialListResponse": { "type": "array", "items": { "$ref": "#/components/schemas/WebAuthnCredentialResponse" } }, "WebAuthnCredentialResponse": { "type": "object", "properties": { "id": { "type": "string", "description": "The credential ID" }, "name": { "type": "string", "description": "User-assigned name for the credential" }, "created_at": { "type": "string", "description": "When the credential was registered" }, "last_used_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "When the credential was last used" } }, "required": [ "id", "name", "created_at", "last_used_at" ] }, "ListWebAuthnCredentialsRequest": { "type": "object", "properties": { "user_id": { "$ref": "#/components/schemas/SnowflakeType" } }, "required": [ "user_id" ] }, "LookupUserResponse": { "type": "object", "properties": { "users": { "type": "array", "items": { "$ref": "#/components/schemas/UserAdminResponseSchema" }, "maxItems": 100 } }, "required": [ "users" ] }, "LookupUserRequest": { "oneOf": [ { "$ref": "#/components/schemas/LookupUserByQueryRequest" }, { "$ref": "#/components/schemas/LookupUserByIdsRequest" } ] }, "LookupUserByQueryRequest": { "type": "object", "properties": { "query": { "type": "string" } }, "required": [ "query" ] }, "LookupUserByIdsRequest": { "type": "object", "properties": { "user_ids": { "type": "array", "items": { "$ref": "#/components/schemas/SnowflakeType" }, "maxItems": 100 } }, "required": [ "user_ids" ] }, "AdminUsersMeResponse": { "type": "object", "properties": { "user": { "$ref": "#/components/schemas/UserAdminResponseSchema" } }, "required": [ "user" ] }, "ResendVerificationEmailRequest": { "type": "object", "properties": { "user_id": { "$ref": "#/components/schemas/SnowflakeType" } }, "required": [ "user_id" ] }, "ScheduleAccountDeletionRequest": { "type": "object", "properties": { "user_id": { "$ref": "#/components/schemas/SnowflakeType" }, "reason_code": { "type": "integer", "minimum": 0, "maximum": 2147483647, "format": "int32", "description": "Code indicating the reason for deletion" }, "public_reason": { "type": "string", "description": "Public-facing reason for the deletion" }, "days_until_deletion": { "type": "integer", "minimum": 1, "maximum": 365, "format": "int32", "description": "Number of days until the account is deleted" } }, "required": [ "user_id", "reason_code" ] }, "SearchUsersResponse": { "type": "object", "properties": { "users": { "type": "array", "items": { "$ref": "#/components/schemas/UserAdminResponseSchema" } }, "total": { "type": "number" } }, "required": [ "users", "total" ] }, "SearchUsersRequest": { "type": "object", "properties": { "query": { "type": "string" }, "limit": { "type": "integer", "minimum": 1, "maximum": 200, "format": "int32" }, "offset": { "type": "integer", "minimum": 0, "maximum": 9007199254740991, "format": "int64" } } }, "SendPasswordResetRequest": { "type": "object", "properties": { "user_id": { "$ref": "#/components/schemas/SnowflakeType" } }, "required": [ "user_id" ] }, "SetUserAclsRequest": { "type": "object", "properties": { "user_id": { "$ref": "#/components/schemas/SnowflakeType" }, "acls": { "type": "array", "items": { "type": "string" }, "maxItems": 100, "description": "List of access control permissions to assign" } }, "required": [ "user_id", "acls" ] }, "SetUserBotStatusRequest": { "type": "object", "properties": { "user_id": { "$ref": "#/components/schemas/SnowflakeType" }, "bot": { "type": "boolean", "description": "Whether the user should be marked as a bot" } }, "required": [ "user_id", "bot" ] }, "SetUserSystemStatusRequest": { "type": "object", "properties": { "user_id": { "$ref": "#/components/schemas/SnowflakeType" }, "system": { "type": "boolean", "description": "Whether the user should be marked as a system user" } }, "required": [ "user_id", "system" ] }, "SetUserTraitsRequest": { "type": "object", "properties": { "user_id": { "$ref": "#/components/schemas/SnowflakeType" }, "traits": { "type": "array", "items": { "type": "string" }, "maxItems": 100, "description": "List of traits to assign to the user" } }, "required": [ "user_id", "traits" ] }, "TempBanUserRequest": { "type": "object", "properties": { "user_id": { "$ref": "#/components/schemas/SnowflakeType" }, "duration_hours": { "type": "integer", "minimum": 0, "maximum": 8760, "format": "int32", "description": "Duration of the ban in hours. Use 0 for a permanent ban (until manually unbanned)." }, "reason": { "type": "string", "description": "Reason for the temporary ban" } }, "required": [ "user_id", "duration_hours" ] }, "TerminateSessionsResponse": { "type": "object", "properties": { "terminated_count": { "$ref": "#/components/schemas/Int32Type" } }, "required": [ "terminated_count" ] }, "TerminateSessionsRequest": { "type": "object", "properties": { "user_id": { "$ref": "#/components/schemas/SnowflakeType" } }, "required": [ "user_id" ] }, "UnlinkPhoneRequest": { "type": "object", "properties": { "user_id": { "$ref": "#/components/schemas/SnowflakeType" } }, "required": [ "user_id" ] }, "UpdateUserFlagsRequest": { "type": "object", "properties": { "user_id": { "$ref": "#/components/schemas/SnowflakeType" }, "add_flags": { "type": "array", "items": { "$ref": "#/components/schemas/UserFlags" }, "maxItems": 64, "description": "User flags to add" }, "remove_flags": { "type": "array", "items": { "$ref": "#/components/schemas/UserFlags" }, "maxItems": 64, "description": "User flags to remove" } }, "required": [ "user_id" ] }, "UpdateSuspiciousActivityFlagsRequest": { "type": "object", "properties": { "user_id": { "$ref": "#/components/schemas/SnowflakeType" }, "flags": { "$ref": "#/components/schemas/SuspiciousActivityFlags" } }, "required": [ "user_id", "flags" ] }, "VerifyUserEmailRequest": { "type": "object", "properties": { "user_id": { "$ref": "#/components/schemas/SnowflakeType" } }, "required": [ "user_id" ] }, "ListVisionarySlotsResponse": { "type": "object", "properties": { "slots": { "type": "array", "items": { "$ref": "#/components/schemas/VisionarySlotSchema" }, "maxItems": 10000, "description": "List of all visionary slots" }, "total_count": { "type": "integer", "minimum": 0, "maximum": 2147483647, "format": "int32", "description": "Total number of slots" }, "reserved_count": { "type": "integer", "minimum": 0, "maximum": 2147483647, "format": "int32", "description": "Number of reserved slots" } }, "required": [ "slots", "total_count", "reserved_count" ] }, "VisionarySlotSchema": { "type": "object", "properties": { "slot_index": { "type": "integer", "minimum": 0, "maximum": 2147483647, "format": "int32", "description": "The slot index" }, "user_id": { "anyOf": [ { "$ref": "#/components/schemas/Int64StringType" }, { "type": "null" } ], "description": "User ID that reserved this slot, or null if unreserved (special value -1 is also valid)" } }, "required": [ "slot_index", "user_id" ] }, "VisionarySlotOperationResponse": { "type": "object", "properties": { "success": { "type": "boolean", "enum": [ true ] } }, "required": [ "success" ] }, "ExpandVisionarySlotsRequest": { "type": "object", "properties": { "count": { "type": "integer", "minimum": 1, "maximum": 1000, "format": "int32", "description": "Number of new slots to create" } }, "required": [ "count" ] }, "ReserveVisionarySlotRequest": { "type": "object", "properties": { "slot_index": { "type": "integer", "minimum": 1, "maximum": 2147483647, "format": "int32", "description": "Slot index to reserve (must be >= 1)" }, "user_id": { "anyOf": [ { "$ref": "#/components/schemas/Int64StringType" }, { "type": "null" } ], "description": "User ID to reserve the slot for, or null to unreserve (special value -1 is also valid)" } }, "required": [ "slot_index", "user_id" ] }, "ShrinkVisionarySlotsRequest": { "type": "object", "properties": { "target_count": { "type": "integer", "minimum": 0, "maximum": 100000, "format": "int32", "description": "Target total number of slots (removes from highest indices, minimum 0 slots)" } }, "required": [ "target_count" ] }, "SwapVisionarySlotsRequest": { "type": "object", "properties": { "slot_index_a": { "type": "integer", "minimum": 1, "maximum": 2147483647, "format": "int32", "description": "First slot index to swap (must be >= 1)" }, "slot_index_b": { "type": "integer", "minimum": 1, "maximum": 2147483647, "format": "int32", "description": "Second slot index to swap (must be >= 1)" } }, "required": [ "slot_index_a", "slot_index_b" ] }, "CreateVoiceRegionResponse": { "type": "object", "properties": { "region": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the voice region" }, "name": { "type": "string", "description": "Display name of the voice region" }, "emoji": { "type": "string", "description": "Emoji representing the region" }, "latitude": { "type": "number", "description": "Geographic latitude coordinate" }, "longitude": { "type": "number", "description": "Geographic longitude coordinate" }, "is_default": { "type": "boolean", "description": "Whether this is the default region" }, "vip_only": { "type": "boolean", "description": "Whether this region is restricted to VIP users" }, "required_guild_features": { "type": "array", "items": { "type": "string" }, "maxItems": 100, "description": "Guild features required to use this region" }, "allowed_guild_ids": { "type": "array", "items": { "$ref": "#/components/schemas/SnowflakeType" }, "maxItems": 1000, "description": "Guild IDs explicitly allowed to use this region" }, "allowed_user_ids": { "type": "array", "items": { "$ref": "#/components/schemas/SnowflakeType" }, "maxItems": 1000, "description": "User IDs explicitly allowed to use this region" }, "created_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "ISO 8601 timestamp when the region was created" }, "updated_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "ISO 8601 timestamp when the region was last updated" } }, "required": [ "id", "name", "emoji", "latitude", "longitude", "is_default", "vip_only", "required_guild_features", "allowed_guild_ids", "allowed_user_ids", "created_at", "updated_at" ], "description": "Created voice region" } }, "required": [ "region" ] }, "CreateVoiceRegionRequest": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the voice region" }, "name": { "type": "string", "description": "Display name of the voice region" }, "emoji": { "type": "string", "description": "Emoji representing the region" }, "latitude": { "type": "number", "description": "Geographic latitude coordinate" }, "longitude": { "type": "number", "description": "Geographic longitude coordinate" }, "is_default": { "type": "boolean", "description": "Whether this is the default region" }, "vip_only": { "type": "boolean", "description": "Whether this region is restricted to VIP users" }, "required_guild_features": { "type": "array", "items": { "type": "string" }, "maxItems": 100, "description": "Guild features required to use this region" }, "allowed_guild_ids": { "type": "array", "items": { "$ref": "#/components/schemas/SnowflakeType" }, "maxItems": 1000, "description": "Guild IDs explicitly allowed to use this region" }, "allowed_user_ids": { "type": "array", "items": { "$ref": "#/components/schemas/SnowflakeType" }, "maxItems": 1000, "description": "User IDs explicitly allowed to use this region" } }, "required": [ "id", "name", "emoji", "latitude", "longitude" ] }, "DeleteVoiceResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "Whether the deletion was successful" } }, "required": [ "success" ] }, "DeleteVoiceRegionRequest": { "type": "object", "properties": { "id": { "type": "string", "description": "ID of the voice region to delete" } }, "required": [ "id" ] }, "GetVoiceRegionResponse": { "type": "object", "properties": { "region": { "anyOf": [ { "$ref": "#/components/schemas/VoiceRegionWithServersResponse" }, { "type": "null" } ], "description": "Voice region details or null if not found" } }, "required": [ "region" ] }, "VoiceRegionWithServersResponse": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the voice region" }, "name": { "type": "string", "description": "Display name of the voice region" }, "emoji": { "type": "string", "description": "Emoji representing the region" }, "latitude": { "type": "number", "description": "Geographic latitude coordinate" }, "longitude": { "type": "number", "description": "Geographic longitude coordinate" }, "is_default": { "type": "boolean", "description": "Whether this is the default region" }, "vip_only": { "type": "boolean", "description": "Whether this region is restricted to VIP users" }, "required_guild_features": { "type": "array", "items": { "type": "string" }, "maxItems": 100, "description": "Guild features required to use this region" }, "allowed_guild_ids": { "type": "array", "items": { "$ref": "#/components/schemas/SnowflakeType" }, "maxItems": 1000, "description": "Guild IDs explicitly allowed to use this region" }, "allowed_user_ids": { "type": "array", "items": { "$ref": "#/components/schemas/SnowflakeType" }, "maxItems": 1000, "description": "User IDs explicitly allowed to use this region" }, "created_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "ISO 8601 timestamp when the region was created" }, "updated_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "ISO 8601 timestamp when the region was last updated" }, "servers": { "type": "array", "items": { "$ref": "#/components/schemas/VoiceServerAdminResponse" }, "maxItems": 100, "description": "Voice servers in this region" } }, "required": [ "id", "name", "emoji", "latitude", "longitude", "is_default", "vip_only", "required_guild_features", "allowed_guild_ids", "allowed_user_ids", "created_at", "updated_at" ] }, "VoiceServerAdminResponse": { "type": "object", "properties": { "region_id": { "type": "string", "description": "ID of the region this server belongs to" }, "server_id": { "type": "string", "description": "Unique identifier for the voice server" }, "endpoint": { "type": "string", "format": "uri", "description": "Client signal WebSocket endpoint URL for the voice server" }, "is_active": { "type": "boolean", "description": "Whether the server is currently active" }, "vip_only": { "type": "boolean", "description": "Whether this server is restricted to VIP users" }, "required_guild_features": { "type": "array", "items": { "type": "string" }, "maxItems": 100, "description": "Guild features required to use this server" }, "allowed_guild_ids": { "type": "array", "items": { "$ref": "#/components/schemas/SnowflakeType" }, "maxItems": 1000, "description": "Guild IDs explicitly allowed to use this server" }, "allowed_user_ids": { "type": "array", "items": { "$ref": "#/components/schemas/SnowflakeType" }, "maxItems": 1000, "description": "User IDs explicitly allowed to use this server" }, "created_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "ISO 8601 timestamp when the server was created" }, "updated_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "ISO 8601 timestamp when the server was last updated" } }, "required": [ "region_id", "server_id", "endpoint", "is_active", "vip_only", "required_guild_features", "allowed_guild_ids", "allowed_user_ids", "created_at", "updated_at" ] }, "GetVoiceRegionRequest": { "type": "object", "properties": { "id": { "type": "string", "description": "ID of the voice region to retrieve" }, "include_servers": { "type": "boolean", "description": "Whether to include voice servers in the response" } }, "required": [ "id" ] }, "ListVoiceRegionsResponse": { "type": "object", "properties": { "regions": { "type": "array", "items": { "$ref": "#/components/schemas/VoiceRegionAdminResponse" }, "maxItems": 100, "description": "List of voice regions" } }, "required": [ "regions" ] }, "VoiceRegionAdminResponse": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the voice region" }, "name": { "type": "string", "description": "Display name of the voice region" }, "emoji": { "type": "string", "description": "Emoji representing the region" }, "latitude": { "type": "number", "description": "Geographic latitude coordinate" }, "longitude": { "type": "number", "description": "Geographic longitude coordinate" }, "is_default": { "type": "boolean", "description": "Whether this is the default region" }, "vip_only": { "type": "boolean", "description": "Whether this region is restricted to VIP users" }, "required_guild_features": { "type": "array", "items": { "type": "string" }, "maxItems": 100, "description": "Guild features required to use this region" }, "allowed_guild_ids": { "type": "array", "items": { "$ref": "#/components/schemas/SnowflakeType" }, "maxItems": 1000, "description": "Guild IDs explicitly allowed to use this region" }, "allowed_user_ids": { "type": "array", "items": { "$ref": "#/components/schemas/SnowflakeType" }, "maxItems": 1000, "description": "User IDs explicitly allowed to use this region" }, "created_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "ISO 8601 timestamp when the region was created" }, "updated_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "ISO 8601 timestamp when the region was last updated" } }, "required": [ "id", "name", "emoji", "latitude", "longitude", "is_default", "vip_only", "required_guild_features", "allowed_guild_ids", "allowed_user_ids", "created_at", "updated_at" ] }, "ListVoiceRegionsRequest": { "type": "object", "properties": { "include_servers": { "type": "boolean", "description": "Whether to include voice servers in the response" } } }, "UpdateVoiceRegionResponse": { "type": "object", "properties": { "region": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the voice region" }, "name": { "type": "string", "description": "Display name of the voice region" }, "emoji": { "type": "string", "description": "Emoji representing the region" }, "latitude": { "type": "number", "description": "Geographic latitude coordinate" }, "longitude": { "type": "number", "description": "Geographic longitude coordinate" }, "is_default": { "type": "boolean", "description": "Whether this is the default region" }, "vip_only": { "type": "boolean", "description": "Whether this region is restricted to VIP users" }, "required_guild_features": { "type": "array", "items": { "type": "string" }, "maxItems": 100, "description": "Guild features required to use this region" }, "allowed_guild_ids": { "type": "array", "items": { "$ref": "#/components/schemas/SnowflakeType" }, "maxItems": 1000, "description": "Guild IDs explicitly allowed to use this region" }, "allowed_user_ids": { "type": "array", "items": { "$ref": "#/components/schemas/SnowflakeType" }, "maxItems": 1000, "description": "User IDs explicitly allowed to use this region" }, "created_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "ISO 8601 timestamp when the region was created" }, "updated_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "ISO 8601 timestamp when the region was last updated" } }, "required": [ "id", "name", "emoji", "latitude", "longitude", "is_default", "vip_only", "required_guild_features", "allowed_guild_ids", "allowed_user_ids", "created_at", "updated_at" ], "description": "Updated voice region" } }, "required": [ "region" ] }, "UpdateVoiceRegionRequest": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the voice region" }, "name": { "type": "string", "description": "Display name of the voice region" }, "emoji": { "type": "string", "description": "Emoji representing the region" }, "latitude": { "type": "number", "description": "Geographic latitude coordinate" }, "longitude": { "type": "number", "description": "Geographic longitude coordinate" }, "is_default": { "type": "boolean", "description": "Whether this is the default region" }, "vip_only": { "type": "boolean", "description": "Whether this region is restricted to VIP users" }, "required_guild_features": { "type": "array", "items": { "type": "string" }, "maxItems": 100, "description": "Guild features required to use this region" }, "allowed_guild_ids": { "type": "array", "items": { "$ref": "#/components/schemas/SnowflakeType" }, "maxItems": 1000, "description": "Guild IDs explicitly allowed to use this region" }, "allowed_user_ids": { "type": "array", "items": { "$ref": "#/components/schemas/SnowflakeType" }, "maxItems": 1000, "description": "User IDs explicitly allowed to use this region" } }, "required": [ "id" ] }, "CreateVoiceServerResponse": { "type": "object", "properties": { "server": { "type": "object", "properties": { "region_id": { "type": "string", "description": "ID of the region this server belongs to" }, "server_id": { "type": "string", "description": "Unique identifier for the voice server" }, "endpoint": { "type": "string", "format": "uri", "description": "Client signal WebSocket endpoint URL for the voice server" }, "is_active": { "type": "boolean", "description": "Whether the server is currently active" }, "vip_only": { "type": "boolean", "description": "Whether this server is restricted to VIP users" }, "required_guild_features": { "type": "array", "items": { "type": "string" }, "maxItems": 100, "description": "Guild features required to use this server" }, "allowed_guild_ids": { "type": "array", "items": { "$ref": "#/components/schemas/SnowflakeType" }, "maxItems": 1000, "description": "Guild IDs explicitly allowed to use this server" }, "allowed_user_ids": { "type": "array", "items": { "$ref": "#/components/schemas/SnowflakeType" }, "maxItems": 1000, "description": "User IDs explicitly allowed to use this server" }, "created_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "ISO 8601 timestamp when the server was created" }, "updated_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "ISO 8601 timestamp when the server was last updated" } }, "required": [ "region_id", "server_id", "endpoint", "is_active", "vip_only", "required_guild_features", "allowed_guild_ids", "allowed_user_ids", "created_at", "updated_at" ], "description": "Created voice server" } }, "required": [ "server" ] }, "CreateVoiceServerRequest": { "type": "object", "properties": { "region_id": { "type": "string", "description": "ID of the region this server belongs to" }, "server_id": { "type": "string", "description": "Unique identifier for the voice server" }, "endpoint": { "type": "string", "format": "uri", "description": "Client signal WebSocket endpoint URL for the voice server" }, "api_key": { "type": "string", "description": "API key for authenticating with the voice server" }, "api_secret": { "type": "string", "description": "API secret for authenticating with the voice server" }, "is_active": { "type": "boolean", "description": "Whether the server is currently active" }, "vip_only": { "type": "boolean", "description": "Whether this server is restricted to VIP users" }, "required_guild_features": { "type": "array", "items": { "type": "string" }, "maxItems": 100, "description": "Guild features required to use this server" }, "allowed_guild_ids": { "type": "array", "items": { "$ref": "#/components/schemas/SnowflakeType" }, "maxItems": 1000, "description": "Guild IDs explicitly allowed to use this server" }, "allowed_user_ids": { "type": "array", "items": { "$ref": "#/components/schemas/SnowflakeType" }, "maxItems": 1000, "description": "User IDs explicitly allowed to use this server" } }, "required": [ "region_id", "server_id", "endpoint", "api_key", "api_secret" ] }, "DeleteVoiceServerRequest": { "type": "object", "properties": { "region_id": { "type": "string", "description": "ID of the region the server belongs to" }, "server_id": { "type": "string", "description": "ID of the voice server to delete" } }, "required": [ "region_id", "server_id" ] }, "GetVoiceServerResponse": { "type": "object", "properties": { "server": { "anyOf": [ { "$ref": "#/components/schemas/VoiceServerAdminResponse" }, { "type": "null" } ], "description": "Voice server details or null if not found" } }, "required": [ "server" ] }, "GetVoiceServerRequest": { "type": "object", "properties": { "region_id": { "type": "string", "description": "ID of the region the server belongs to" }, "server_id": { "type": "string", "description": "ID of the voice server to retrieve" } }, "required": [ "region_id", "server_id" ] }, "ListVoiceServersResponse": { "type": "object", "properties": { "servers": { "type": "array", "items": { "$ref": "#/components/schemas/VoiceServerAdminResponse" }, "maxItems": 100, "description": "List of voice servers" } }, "required": [ "servers" ] }, "ListVoiceServersRequest": { "type": "object", "properties": { "region_id": { "type": "string", "description": "ID of the region to list servers for" } }, "required": [ "region_id" ] }, "UpdateVoiceServerResponse": { "type": "object", "properties": { "server": { "type": "object", "properties": { "region_id": { "type": "string", "description": "ID of the region this server belongs to" }, "server_id": { "type": "string", "description": "Unique identifier for the voice server" }, "endpoint": { "type": "string", "format": "uri", "description": "Client signal WebSocket endpoint URL for the voice server" }, "is_active": { "type": "boolean", "description": "Whether the server is currently active" }, "vip_only": { "type": "boolean", "description": "Whether this server is restricted to VIP users" }, "required_guild_features": { "type": "array", "items": { "type": "string" }, "maxItems": 100, "description": "Guild features required to use this server" }, "allowed_guild_ids": { "type": "array", "items": { "$ref": "#/components/schemas/SnowflakeType" }, "maxItems": 1000, "description": "Guild IDs explicitly allowed to use this server" }, "allowed_user_ids": { "type": "array", "items": { "$ref": "#/components/schemas/SnowflakeType" }, "maxItems": 1000, "description": "User IDs explicitly allowed to use this server" }, "created_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "ISO 8601 timestamp when the server was created" }, "updated_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "ISO 8601 timestamp when the server was last updated" } }, "required": [ "region_id", "server_id", "endpoint", "is_active", "vip_only", "required_guild_features", "allowed_guild_ids", "allowed_user_ids", "created_at", "updated_at" ], "description": "Updated voice server" } }, "required": [ "server" ] }, "UpdateVoiceServerRequest": { "type": "object", "properties": { "region_id": { "type": "string", "description": "ID of the region this server belongs to" }, "server_id": { "type": "string", "description": "Unique identifier for the voice server" }, "endpoint": { "type": "string", "format": "uri", "description": "Client signal WebSocket endpoint URL for the voice server" }, "api_key": { "type": "string", "description": "API key for authenticating with the voice server" }, "api_secret": { "type": "string", "description": "API secret for authenticating with the voice server" }, "is_active": { "type": "boolean", "description": "Whether the server is currently active" }, "vip_only": { "type": "boolean", "description": "Whether this server is restricted to VIP users" }, "required_guild_features": { "type": "array", "items": { "type": "string" }, "maxItems": 100, "description": "Guild features required to use this server" }, "allowed_guild_ids": { "type": "array", "items": { "$ref": "#/components/schemas/SnowflakeType" }, "maxItems": 1000, "description": "Guild IDs explicitly allowed to use this server" }, "allowed_user_ids": { "type": "array", "items": { "$ref": "#/components/schemas/SnowflakeType" }, "maxItems": 1000, "description": "User IDs explicitly allowed to use this server" } }, "required": [ "region_id", "server_id" ] }, "ApplicationsMeResponse": { "type": "object", "properties": { "id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "The unique identifier of the application" }, "name": { "type": "string", "description": "The name of the application" }, "icon": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The icon hash of the application" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The description of the application" }, "bot_public": { "type": "boolean", "description": "Whether the bot can be invited by anyone" }, "bot_require_code_grant": { "type": "boolean", "description": "Whether the bot requires OAuth2 code grant" }, "flags": { "$ref": "#/components/schemas/ApplicationFlags" }, "bot": { "$ref": "#/components/schemas/ApplicationBotResponse" } }, "required": [ "id", "name", "icon", "description", "bot_public", "bot_require_code_grant", "flags" ] }, "ApplicationFlags": { "type": "integer", "format": "int32", "minimum": 0, "maximum": 2147483647, "description": "The application flags" }, "ApplicationBotResponse": { "type": "object", "properties": { "id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "The unique identifier of the bot user" }, "username": { "type": "string", "description": "The username of the bot" }, "discriminator": { "type": "string", "description": "The discriminator of the bot" }, "avatar": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The avatar hash of the bot" }, "banner": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The banner hash of the bot" }, "bio": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The bio or description of the bot" }, "token": { "type": "string", "description": "The bot token for authentication" }, "mfa_enabled": { "type": "boolean", "description": "Whether the bot has MFA enabled" }, "authenticator_types": { "type": "array", "items": { "$ref": "#/components/schemas/AuthenticatorType" }, "maxItems": 10, "description": "The types of authenticators enabled" }, "flags": { "$ref": "#/components/schemas/BotFlags" } }, "required": [ "id", "username", "discriminator", "bio", "flags" ], "description": "Detailed bot user metadata" }, "AuthenticatorType": { "type": "integer", "format": "int32", "enum": [ 0, 1, 2 ], "x-enumNames": [ "TOTP", "SMS", "WEBAUTHN" ], "x-enumDescriptions": [ "Time-based one-time password authenticator", "SMS-based authenticator", "WebAuthn authenticator" ], "description": "The type of authenticator" }, "BotFlags": { "type": "integer", "format": "int32", "minimum": 0, "maximum": 2147483647, "x-bitflagValues": [ { "name": "FRIENDLY_BOT", "value": "16", "description": "Bot accepts friend requests from users" }, { "name": "FRIENDLY_BOT_MANUAL_APPROVAL", "value": "32", "description": "Bot requires manual approval for friend requests" } ], "description": "The bot user flags" }, "AuthorizeIpRequest": { "type": "object", "properties": { "token": { "type": "string", "description": "The IP authorization token from email" } }, "required": [ "token" ] }, "AuthLoginResponse": { "oneOf": [ { "$ref": "#/components/schemas/AuthTokenWithUserIdResponse" }, { "$ref": "#/components/schemas/AuthMfaRequiredResponse" } ] }, "AuthTokenWithUserIdResponse": { "type": "object", "properties": { "token": { "type": "string", "description": "Authentication token for API requests" }, "user_id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "ID of the authenticated user" } }, "required": [ "token", "user_id" ] }, "AuthMfaRequiredResponse": { "type": "object", "properties": { "mfa": { "type": "boolean", "enum": [ true ], "description": "Indicates MFA is required to complete authentication" }, "ticket": { "type": "string", "description": "MFA ticket to use when completing MFA verification" }, "allowed_methods": { "type": "array", "items": { "type": "string" }, "maxItems": 10, "description": "List of allowed MFA methods" }, "sms_phone_hint": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Masked phone number hint for SMS MFA" }, "sms": { "type": "boolean", "description": "Whether SMS MFA is available" }, "totp": { "type": "boolean", "description": "Whether TOTP authenticator MFA is available" }, "webauthn": { "type": "boolean", "description": "Whether WebAuthn security key MFA is available" } }, "required": [ "mfa", "ticket", "allowed_methods", "sms", "totp", "webauthn" ] }, "EmailRevertRequest": { "type": "object", "properties": { "token": { "type": "string", "description": "Email revert token from email" }, "password": { "$ref": "#/components/schemas/PasswordType" } }, "required": [ "token", "password" ] }, "PasswordType": { "type": "string", "minLength": 8, "maxLength": 256 }, "ForgotPasswordRequest": { "type": "object", "properties": { "email": { "$ref": "#/components/schemas/EmailType" } }, "required": [ "email" ] }, "HandoffCompleteRequest": { "type": "object", "properties": { "code": { "type": "string", "description": "The handoff code from the initiating session" }, "token": { "type": "string", "description": "The authentication token to transfer" }, "user_id": { "type": "string", "description": "The user ID associated with the token" } }, "required": [ "code", "token", "user_id" ] }, "HandoffInitiateResponse": { "type": "object", "properties": { "code": { "type": "string", "description": "Handoff code to share with the receiving device" }, "expires_at": { "type": "string", "format": "date-time", "description": "ISO 8601 timestamp when the handoff code expires" } }, "required": [ "code", "expires_at" ] }, "HandoffStatusResponse": { "type": "object", "properties": { "status": { "type": "string", "description": "Current status of the handoff (pending, completed, expired)" }, "token": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Authentication token if handoff is complete" }, "user_id": { "anyOf": [ { "$ref": "#/components/schemas/SnowflakeType" }, { "type": "null" } ], "description": "User ID if handoff is complete" } }, "required": [ "status" ] }, "IpAuthorizationPollResponse": { "type": "object", "properties": { "completed": { "type": "boolean", "description": "Whether the IP authorization has been completed" }, "token": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Authentication token if authorization is complete" }, "user_id": { "anyOf": [ { "$ref": "#/components/schemas/SnowflakeType" }, { "type": "null" } ], "description": "User ID if authorization is complete" } }, "required": [ "completed" ] }, "MfaTicketRequest": { "type": "object", "properties": { "ticket": { "type": "string", "description": "The MFA ticket from the login response" } }, "required": [ "ticket" ] }, "LoginRequest": { "type": "object", "properties": { "email": { "$ref": "#/components/schemas/EmailType" }, "password": { "$ref": "#/components/schemas/PasswordType" }, "invite_code": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Guild invite code to join after login" } }, "required": [ "email", "password" ] }, "MfaSmsRequest": { "type": "object", "properties": { "code": { "type": "string", "description": "The SMS verification code" }, "ticket": { "type": "string", "description": "The MFA ticket from the login response" } }, "required": [ "code", "ticket" ] }, "MfaTotpRequest": { "type": "object", "properties": { "code": { "type": "string", "description": "The TOTP code from the authenticator app" }, "ticket": { "type": "string", "description": "The MFA ticket from the login response" } }, "required": [ "code", "ticket" ] }, "WebAuthnMfaRequest": { "type": "object", "properties": { "response": { "type": "object", "description": "WebAuthn authentication response" }, "challenge": { "type": "string", "description": "The challenge string from authentication options" }, "ticket": { "type": "string", "description": "The MFA ticket from the login response" } }, "required": [ "response", "challenge", "ticket" ] }, "WebAuthnAuthenticationOptionsResponse": { "type": "object" }, "AuthRegisterResponse": { "oneOf": [ { "$ref": "#/components/schemas/AuthTokenWithUserIdResponse" }, { "$ref": "#/components/schemas/AuthMfaRequiredResponse" } ] }, "RegisterRequest": { "type": "object", "properties": { "email": { "$ref": "#/components/schemas/EmailType" }, "username": { "$ref": "#/components/schemas/UsernameType" }, "global_name": { "type": "string", "description": "Display name shown to other users" }, "password": { "$ref": "#/components/schemas/PasswordType" }, "date_of_birth": { "type": "string", "description": "Date of birth in YYYY-MM-DD format" }, "consent": { "type": "boolean", "description": "Whether user consents to terms of service" }, "invite_code": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Guild invite code to join after registration" } }, "required": [ "date_of_birth", "consent" ] }, "ResetPasswordRequest": { "type": "object", "properties": { "token": { "type": "string", "description": "Password reset token from email" }, "password": { "$ref": "#/components/schemas/PasswordType" } }, "required": [ "token", "password" ] }, "AuthSessionsResponse": { "type": "array", "items": { "$ref": "#/components/schemas/AuthSessionResponse" } }, "AuthSessionResponse": { "type": "object", "properties": { "id_hash": { "type": "string", "description": "The base64url-encoded session id hash" }, "client_info": { "anyOf": [ { "$ref": "#/components/schemas/AuthSessionClientInfo" }, { "type": "null" } ], "description": "Client metadata recorded for this session" }, "approx_last_used_at": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "description": "Approximate timestamp of the last session activity" }, "current": { "type": "boolean", "description": "Whether this is the current session making the request" } }, "required": [ "id_hash", "current" ] }, "AuthSessionClientInfo": { "type": "object", "properties": { "platform": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The platform reported by the client" }, "os": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The operating system reported by the client" }, "browser": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The browser reported by the client" }, "location": { "anyOf": [ { "$ref": "#/components/schemas/AuthSessionLocation" }, { "type": "null" } ], "description": "The geolocation data sent by the client" } } }, "AuthSessionLocation": { "type": "object", "properties": { "city": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The city name reported by the client" }, "region": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The region reported by the client" }, "country": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The country reported by the client" } } }, "LogoutAuthSessionsRequest": { "type": "object", "properties": { "session_id_hashes": { "type": "array", "items": { "type": "string" }, "maxItems": 100, "description": "Array of session ID hashes to log out (max 100)" }, "password": { "$ref": "#/components/schemas/PasswordType" } }, "required": [ "session_id_hashes" ] }, "SsoCompleteResponse": { "type": "object", "properties": { "token": { "type": "string", "description": "Authentication token for the session" }, "user_id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "ID of the authenticated user" }, "redirect_to": { "type": "string", "description": "URL to redirect the user to after completion" } }, "required": [ "token", "user_id", "redirect_to" ] }, "SsoCompleteRequest": { "type": "object", "properties": { "code": { "type": "string", "description": "Authorization code from the SSO provider" }, "state": { "type": "string", "description": "State parameter for CSRF protection" } }, "required": [ "code", "state" ] }, "SsoStartResponse": { "type": "object", "properties": { "authorization_url": { "type": "string", "description": "URL to redirect user to for SSO authentication" }, "state": { "type": "string", "description": "State parameter for CSRF protection" }, "redirect_uri": { "type": "string", "description": "Redirect URI after SSO completion" } }, "required": [ "authorization_url", "state", "redirect_uri" ] }, "SsoStartRequest": { "type": "object", "properties": { "redirect_to": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "URL to redirect to after SSO completion" } } }, "SsoStatusResponse": { "type": "object", "properties": { "enabled": { "type": "boolean", "description": "Whether SSO is enabled for this instance" }, "enforced": { "type": "boolean", "description": "Whether SSO is required for all users" }, "display_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Display name of the SSO provider" }, "redirect_uri": { "type": "string", "description": "OAuth redirect URI for SSO" } }, "required": [ "enabled", "enforced", "display_name", "redirect_uri" ] }, "UsernameSuggestionsResponse": { "type": "object", "properties": { "suggestions": { "type": "array", "items": { "type": "string" }, "maxItems": 20, "description": "List of suggested usernames" } }, "required": [ "suggestions" ] }, "UsernameSuggestionsRequest": { "type": "object", "properties": { "global_name": { "type": "string", "description": "Display name to generate username suggestions from" } }, "required": [ "global_name" ] }, "VerifyEmailRequest": { "type": "object", "properties": { "token": { "type": "string", "description": "Email verification token from email" } }, "required": [ "token" ] }, "WebAuthnAuthenticateRequest": { "type": "object", "properties": { "response": { "type": "object", "description": "WebAuthn authentication response" }, "challenge": { "type": "string", "description": "The challenge string from authentication options" } }, "required": [ "response", "challenge" ] }, "ChannelResponse": { "type": "object", "properties": { "id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "The unique identifier (snowflake) for this channel" }, "guild_id": { "$ref": "#/components/schemas/SnowflakeType" }, "name": { "type": "string", "description": "The name of the channel" }, "topic": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The topic of the channel" }, "url": { "anyOf": [ { "type": "string", "format": "uri" }, { "type": "null" } ], "description": "The URL associated with the channel" }, "icon": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The icon hash of the channel (for group DMs)" }, "owner_id": { "anyOf": [ { "$ref": "#/components/schemas/SnowflakeType" }, { "type": "null" } ], "description": "The ID of the owner of the channel (for group DMs)" }, "type": { "type": "integer", "minimum": 0, "maximum": 2147483647, "format": "int32", "description": "The type of the channel" }, "position": { "$ref": "#/components/schemas/Int32Type" }, "parent_id": { "anyOf": [ { "$ref": "#/components/schemas/SnowflakeType" }, { "type": "null" } ], "description": "The ID of the parent category for this channel" }, "bitrate": { "anyOf": [ { "$ref": "#/components/schemas/Int32Type" }, { "type": "null" } ], "description": "The bitrate of the voice channel in bits per second" }, "user_limit": { "anyOf": [ { "$ref": "#/components/schemas/Int32Type" }, { "type": "null" } ], "description": "The maximum number of users allowed in the voice channel" }, "rtc_region": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The voice region ID for the voice channel" }, "last_message_id": { "anyOf": [ { "$ref": "#/components/schemas/SnowflakeType" }, { "type": "null" } ], "description": "The ID of the last message sent in this channel" }, "last_pin_timestamp": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "description": "The ISO 8601 timestamp of when the last pinned message was pinned" }, "permission_overwrites": { "type": "array", "items": { "$ref": "#/components/schemas/ChannelOverwriteResponse" }, "maxItems": 500, "description": "The permission overwrites for this channel" }, "recipients": { "type": "array", "items": { "$ref": "#/components/schemas/UserPartialResponse" }, "maxItems": 25, "description": "The recipients of the DM channel" }, "nsfw": { "type": "boolean", "description": "Whether the channel is marked as NSFW" }, "rate_limit_per_user": { "$ref": "#/components/schemas/Int32Type" }, "nicks": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Custom nicknames for users in this channel (for group DMs)" } }, "required": [ "id", "type" ] }, "ChannelOverwriteResponse": { "type": "object", "properties": { "id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "The unique identifier for the role or user this overwrite applies to" }, "type": { "type": "integer", "enum": [ 0, 1 ], "description": "The type of entity the overwrite applies to" }, "allow": { "type": "string", "format": "int64", "pattern": "^[0-9]+$", "description": "The bitwise value of allowed permissions" }, "deny": { "type": "string", "format": "int64", "pattern": "^[0-9]+$", "description": "The bitwise value of denied permissions" } }, "required": [ "id", "type", "allow", "deny" ] }, "ChannelUpdateRequest": { "oneOf": [ { "$ref": "#/components/schemas/ChannelUpdateTextRequest" }, { "$ref": "#/components/schemas/ChannelUpdateVoiceRequest" }, { "$ref": "#/components/schemas/ChannelUpdateCategoryRequest" }, { "$ref": "#/components/schemas/ChannelUpdateLinkRequest" }, { "$ref": "#/components/schemas/ChannelUpdateGroupDmRequest" } ] }, "ChannelUpdateTextRequest": { "type": "object", "properties": { "topic": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The channel topic (1-1024 characters)" }, "url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "External URL for link channels" }, "parent_id": { "anyOf": [ { "$ref": "#/components/schemas/SnowflakeType" }, { "type": "null" } ], "description": "ID of the parent category for this channel" }, "bitrate": { "anyOf": [ { "type": "integer", "minimum": 8000, "maximum": 320000, "format": "int32" }, { "type": "null" } ], "description": "Voice channel bitrate in bits per second (8000-320000)" }, "user_limit": { "anyOf": [ { "type": "integer", "minimum": 0, "maximum": 99, "format": "int32" }, { "type": "null" } ], "description": "Maximum users allowed in voice channel (0-99, 0 means unlimited)" }, "permission_overwrites": { "type": "array", "items": { "$ref": "#/components/schemas/ChannelOverwriteRequest" }, "description": "Permission overwrites for roles and members" }, "nsfw": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Whether the channel is marked as NSFW" }, "rate_limit_per_user": { "anyOf": [ { "type": "integer", "minimum": 0, "maximum": 21600, "format": "int32" }, { "type": "null" } ], "description": "Slowmode delay in seconds (0-21600)" }, "icon": { "anyOf": [ { "$ref": "#/components/schemas/Base64ImageType" }, { "type": "null" } ], "description": "Base64-encoded icon image for group DM channels" }, "owner_id": { "anyOf": [ { "$ref": "#/components/schemas/SnowflakeType" }, { "type": "null" } ], "description": "ID of the new owner for group DM channels" }, "nicks": { "$ref": "#/components/schemas/ChannelNicknameOverrides" }, "rtc_region": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Voice region ID for the voice channel (1-64 characters)" }, "type": { "type": "integer", "enum": [ 0 ], "x-enumNames": [ "GUILD_TEXT" ], "x-enumDescriptions": [ "Channel type (text channel)" ] }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The name of the channel" } }, "required": [ "type" ] }, "ChannelOverwriteRequest": { "type": "object", "properties": { "id": { "$ref": "#/components/schemas/SnowflakeType" }, "type": { "type": "integer", "enum": [ 0, 1 ], "x-enumNames": [ "ROLE", "MEMBER" ], "x-enumDescriptions": [ null, null ], "description": "The type of overwrite (0 = role, 1 = member)" }, "allow": { "$ref": "#/components/schemas/UnsignedInt64Type" }, "deny": { "$ref": "#/components/schemas/UnsignedInt64Type" } }, "required": [ "id", "type" ] }, "UnsignedInt64Type": { "type": "string", "format": "int64", "pattern": "^[0-9]+$" }, "Base64ImageType": { "type": "string", "format": "byte", "description": "Base64-encoded image data" }, "ChannelNicknameOverrides": { "type": "object", "additionalProperties": { "oneOf": [ { "type": "string" }, { "type": "null" } ], "description": "Nickname or null to clear" }, "description": "User nickname overrides (user ID to nickname mapping)" }, "ChannelUpdateVoiceRequest": { "type": "object", "properties": { "topic": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The channel topic (1-1024 characters)" }, "url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "External URL for link channels" }, "parent_id": { "anyOf": [ { "$ref": "#/components/schemas/SnowflakeType" }, { "type": "null" } ], "description": "ID of the parent category for this channel" }, "bitrate": { "anyOf": [ { "type": "integer", "minimum": 8000, "maximum": 320000, "format": "int32" }, { "type": "null" } ], "description": "Voice channel bitrate in bits per second (8000-320000)" }, "user_limit": { "anyOf": [ { "type": "integer", "minimum": 0, "maximum": 99, "format": "int32" }, { "type": "null" } ], "description": "Maximum users allowed in voice channel (0-99, 0 means unlimited)" }, "permission_overwrites": { "type": "array", "items": { "$ref": "#/components/schemas/ChannelOverwriteRequest" }, "description": "Permission overwrites for roles and members" }, "nsfw": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Whether the channel is marked as NSFW" }, "rate_limit_per_user": { "anyOf": [ { "type": "integer", "minimum": 0, "maximum": 21600, "format": "int32" }, { "type": "null" } ], "description": "Slowmode delay in seconds (0-21600)" }, "icon": { "anyOf": [ { "$ref": "#/components/schemas/Base64ImageType" }, { "type": "null" } ], "description": "Base64-encoded icon image for group DM channels" }, "owner_id": { "anyOf": [ { "$ref": "#/components/schemas/SnowflakeType" }, { "type": "null" } ], "description": "ID of the new owner for group DM channels" }, "nicks": { "$ref": "#/components/schemas/ChannelNicknameOverrides" }, "rtc_region": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Voice region ID for the voice channel (1-64 characters)" }, "type": { "type": "integer", "enum": [ 2 ], "x-enumNames": [ "GUILD_VOICE" ], "x-enumDescriptions": [ "Channel type (voice channel)" ] }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The name of the channel" } }, "required": [ "type" ] }, "ChannelUpdateCategoryRequest": { "type": "object", "properties": { "topic": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The channel topic (1-1024 characters)" }, "url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "External URL for link channels" }, "parent_id": { "anyOf": [ { "$ref": "#/components/schemas/SnowflakeType" }, { "type": "null" } ], "description": "ID of the parent category for this channel" }, "bitrate": { "anyOf": [ { "type": "integer", "minimum": 8000, "maximum": 320000, "format": "int32" }, { "type": "null" } ], "description": "Voice channel bitrate in bits per second (8000-320000)" }, "user_limit": { "anyOf": [ { "type": "integer", "minimum": 0, "maximum": 99, "format": "int32" }, { "type": "null" } ], "description": "Maximum users allowed in voice channel (0-99, 0 means unlimited)" }, "permission_overwrites": { "type": "array", "items": { "$ref": "#/components/schemas/ChannelOverwriteRequest" }, "description": "Permission overwrites for roles and members" }, "nsfw": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Whether the channel is marked as NSFW" }, "rate_limit_per_user": { "anyOf": [ { "type": "integer", "minimum": 0, "maximum": 21600, "format": "int32" }, { "type": "null" } ], "description": "Slowmode delay in seconds (0-21600)" }, "icon": { "anyOf": [ { "$ref": "#/components/schemas/Base64ImageType" }, { "type": "null" } ], "description": "Base64-encoded icon image for group DM channels" }, "owner_id": { "anyOf": [ { "$ref": "#/components/schemas/SnowflakeType" }, { "type": "null" } ], "description": "ID of the new owner for group DM channels" }, "nicks": { "$ref": "#/components/schemas/ChannelNicknameOverrides" }, "rtc_region": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Voice region ID for the voice channel (1-64 characters)" }, "type": { "type": "integer", "enum": [ 4 ], "x-enumNames": [ "GUILD_CATEGORY" ], "x-enumDescriptions": [ "Channel type (category)" ] }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The name of the category" } }, "required": [ "type" ] }, "ChannelUpdateLinkRequest": { "type": "object", "properties": { "topic": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The channel topic (1-1024 characters)" }, "url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "External URL for link channels" }, "parent_id": { "anyOf": [ { "$ref": "#/components/schemas/SnowflakeType" }, { "type": "null" } ], "description": "ID of the parent category for this channel" }, "bitrate": { "anyOf": [ { "type": "integer", "minimum": 8000, "maximum": 320000, "format": "int32" }, { "type": "null" } ], "description": "Voice channel bitrate in bits per second (8000-320000)" }, "user_limit": { "anyOf": [ { "type": "integer", "minimum": 0, "maximum": 99, "format": "int32" }, { "type": "null" } ], "description": "Maximum users allowed in voice channel (0-99, 0 means unlimited)" }, "permission_overwrites": { "type": "array", "items": { "$ref": "#/components/schemas/ChannelOverwriteRequest" }, "description": "Permission overwrites for roles and members" }, "nsfw": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Whether the channel is marked as NSFW" }, "rate_limit_per_user": { "anyOf": [ { "type": "integer", "minimum": 0, "maximum": 21600, "format": "int32" }, { "type": "null" } ], "description": "Slowmode delay in seconds (0-21600)" }, "icon": { "anyOf": [ { "$ref": "#/components/schemas/Base64ImageType" }, { "type": "null" } ], "description": "Base64-encoded icon image for group DM channels" }, "owner_id": { "anyOf": [ { "$ref": "#/components/schemas/SnowflakeType" }, { "type": "null" } ], "description": "ID of the new owner for group DM channels" }, "nicks": { "$ref": "#/components/schemas/ChannelNicknameOverrides" }, "rtc_region": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Voice region ID for the voice channel (1-64 characters)" }, "type": { "type": "integer", "enum": [ 998 ], "x-enumNames": [ "GUILD_LINK" ], "x-enumDescriptions": [ "Channel type (link channel)" ] }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The name of the channel" } }, "required": [ "type" ] }, "ChannelUpdateGroupDmRequest": { "type": "object", "properties": { "type": { "type": "integer", "enum": [ 3 ], "x-enumNames": [ "GROUP_DM" ], "x-enumDescriptions": [ "Channel type (group DM)" ] }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The name of the group DM" }, "icon": { "anyOf": [ { "$ref": "#/components/schemas/Base64ImageType" }, { "type": "null" } ], "description": "Base64-encoded icon image for the group DM" }, "owner_id": { "anyOf": [ { "$ref": "#/components/schemas/SnowflakeType" }, { "type": "null" } ], "description": "ID of the new owner of the group DM" }, "nicks": { "anyOf": [ { "$ref": "#/components/schemas/ChannelNicknameOverrides" }, { "type": "null" } ], "description": "Custom nicknames for users in this group DM" } }, "required": [ "type" ] }, "CallEligibilityResponse": { "type": "object", "properties": { "ringable": { "type": "boolean", "description": "Whether the current user can ring this call" }, "silent": { "type": "boolean", "description": "Whether the call should be joined silently" } }, "required": [ "ringable", "silent" ] }, "CallUpdateBodySchema": { "type": "object", "properties": { "region": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The preferred voice region for the call (1-64 characters). Omit or set to null for automatic region selection." } } }, "CallRingBodySchema": { "type": "object", "properties": { "recipients": { "type": "array", "items": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "User IDs to ring for the call" } } }, "CreateChunkedUploadResponse": { "type": "object", "properties": { "upload_id": { "type": "string", "description": "The unique identifier for the upload session" }, "upload_filename": { "type": "string", "description": "The temporary filename used to reference this upload" }, "chunk_size": { "type": "integer", "format": "int53", "description": "The size of each chunk in bytes" }, "chunk_count": { "type": "integer", "format": "int53", "description": "The total number of chunks to upload" } }, "required": [ "upload_id", "upload_filename", "chunk_size", "chunk_count" ] }, "CreateChunkedUploadRequest": { "type": "object", "properties": { "filename": { "type": "string", "description": "The name of the file being uploaded" }, "file_size": { "type": "integer", "maximum": 9007199254740991, "exclusiveMinimum": 0, "format": "int64", "description": "The total size of the file in bytes" } }, "required": [ "filename", "file_size" ] }, "UploadChunkResponse": { "type": "object", "properties": { "etag": { "type": "string", "description": "The ETag of the uploaded chunk" } }, "required": [ "etag" ] }, "CompleteChunkedUploadResponse": { "type": "object", "properties": { "upload_filename": { "type": "string", "description": "The temporary filename used to reference this upload" }, "file_size": { "type": "integer", "format": "int53", "description": "The total size of the uploaded file in bytes" }, "content_type": { "type": "string", "description": "The MIME type of the uploaded file" } }, "required": [ "upload_filename", "file_size", "content_type" ] }, "CompleteChunkedUploadRequest": { "type": "object", "properties": { "etags": { "type": "array", "items": { "type": "object", "properties": { "chunk_index": { "type": "integer", "minimum": 0, "maximum": 9007199254740991, "format": "int64", "description": "The zero-based index of the chunk" }, "etag": { "type": "string", "description": "The ETag returned when the chunk was uploaded" } }, "required": [ "chunk_index", "etag" ] }, "minItems": 1, "description": "Array of chunk ETags in order" } }, "required": [ "etags" ] }, "InviteMetadataResponseSchema": { "oneOf": [ { "$ref": "#/components/schemas/GuildInviteMetadataResponse" }, { "$ref": "#/components/schemas/GroupDmInviteMetadataResponse" }, { "$ref": "#/components/schemas/PackInviteMetadataResponse" } ] }, "GuildInviteMetadataResponse": { "type": "object", "properties": { "code": { "type": "string", "description": "The unique invite code" }, "type": { "type": "integer", "enum": [ 0 ], "description": "The type of invite (guild)" }, "guild": { "type": "object", "properties": { "id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "The unique identifier for this guild" }, "name": { "type": "string", "description": "The name of the guild" }, "icon": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The hash of the guild icon" }, "banner": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The hash of the guild banner" }, "banner_width": { "anyOf": [ { "$ref": "#/components/schemas/Int32Type" }, { "type": "null" } ], "description": "The width of the guild banner in pixels" }, "banner_height": { "anyOf": [ { "$ref": "#/components/schemas/Int32Type" }, { "type": "null" } ], "description": "The height of the guild banner in pixels" }, "splash": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The hash of the guild splash screen" }, "splash_width": { "anyOf": [ { "$ref": "#/components/schemas/Int32Type" }, { "type": "null" } ], "description": "The width of the guild splash in pixels" }, "splash_height": { "anyOf": [ { "$ref": "#/components/schemas/Int32Type" }, { "type": "null" } ], "description": "The height of the guild splash in pixels" }, "splash_card_alignment": { "type": "integer", "enum": [ 0, 1, 2 ], "description": "The alignment of the splash card" }, "embed_splash": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The hash of the embedded invite splash" }, "embed_splash_width": { "anyOf": [ { "$ref": "#/components/schemas/Int32Type" }, { "type": "null" } ], "description": "The width of the embedded invite splash in pixels" }, "embed_splash_height": { "anyOf": [ { "$ref": "#/components/schemas/Int32Type" }, { "type": "null" } ], "description": "The height of the embedded invite splash in pixels" }, "features": { "type": "array", "items": { "$ref": "#/components/schemas/GuildFeatureSchema" }, "maxItems": 100, "description": "Array of guild feature flags" } }, "required": [ "id", "name", "splash_card_alignment", "features" ], "description": "The guild this invite is for" }, "channel": { "$ref": "#/components/schemas/ChannelPartialResponse" }, "inviter": { "anyOf": [ { "$ref": "#/components/schemas/UserPartialResponse" }, { "type": "null" } ], "description": "The user who created the invite" }, "member_count": { "type": "integer", "minimum": 0, "maximum": 2147483647, "format": "int32", "description": "The approximate total member count of the guild" }, "presence_count": { "type": "integer", "minimum": 0, "maximum": 2147483647, "format": "int32", "description": "The approximate online member count of the guild" }, "expires_at": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "description": "ISO8601 timestamp of when the invite expires" }, "temporary": { "type": "boolean", "description": "Whether the invite grants temporary membership" }, "created_at": { "type": "string", "format": "date-time", "description": "ISO8601 timestamp of when the invite was created" }, "uses": { "type": "integer", "minimum": 0, "maximum": 2147483647, "format": "int32", "description": "The number of times this invite has been used" }, "max_uses": { "type": "integer", "minimum": 0, "maximum": 2147483647, "format": "int32", "description": "The maximum number of times this invite can be used" }, "max_age": { "type": "integer", "minimum": 0, "maximum": 2147483647, "format": "int32", "description": "The duration in seconds before the invite expires" } }, "required": [ "code", "type", "guild", "channel", "member_count", "presence_count", "temporary", "created_at", "uses", "max_uses", "max_age" ] }, "ChannelPartialResponse": { "type": "object", "properties": { "id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "The unique identifier (snowflake) for this channel" }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The name of the channel" }, "type": { "type": "integer", "minimum": 0, "maximum": 2147483647, "format": "int32", "description": "The type of the channel" }, "recipients": { "type": "array", "items": { "$ref": "#/components/schemas/ChannelPartialRecipientResponse" }, "maxItems": 25, "description": "The recipients of the DM channel" } }, "required": [ "id", "type" ] }, "ChannelPartialRecipientResponse": { "type": "object", "properties": { "username": { "type": "string", "description": "The username of the recipient" } }, "required": [ "username" ] }, "GroupDmInviteMetadataResponse": { "type": "object", "properties": { "code": { "type": "string", "description": "The unique invite code" }, "type": { "type": "integer", "enum": [ 1 ], "description": "The type of invite (group DM)" }, "channel": { "$ref": "#/components/schemas/ChannelPartialResponse" }, "inviter": { "anyOf": [ { "$ref": "#/components/schemas/UserPartialResponse" }, { "type": "null" } ], "description": "The user who created the invite" }, "member_count": { "type": "integer", "minimum": 0, "maximum": 2147483647, "format": "int32", "description": "The current member count of the group DM" }, "expires_at": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "description": "ISO8601 timestamp of when the invite expires" }, "temporary": { "type": "boolean", "description": "Whether the invite grants temporary membership" }, "created_at": { "type": "string", "format": "date-time", "description": "ISO8601 timestamp of when the invite was created" }, "uses": { "type": "integer", "minimum": 0, "maximum": 2147483647, "format": "int32", "description": "The number of times this invite has been used" }, "max_uses": { "type": "integer", "minimum": 0, "maximum": 2147483647, "format": "int32", "description": "The maximum number of times this invite can be used" } }, "required": [ "code", "type", "channel", "member_count", "temporary", "created_at", "uses", "max_uses" ] }, "PackInviteMetadataResponse": { "type": "object", "properties": { "code": { "type": "string", "description": "The unique invite code" }, "type": { "type": "integer", "enum": [ 2, 3 ], "description": "The type of pack invite (emoji or sticker pack)" }, "pack": { "type": "object", "properties": { "id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "The unique identifier for the pack" }, "name": { "type": "string", "description": "The display name of the pack" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The description of the pack" }, "type": { "type": "string", "enum": [ "emoji", "sticker" ], "description": "The type of pack (emoji or sticker)" }, "creator_id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "The ID of the user who created the pack" }, "created_at": { "type": "string", "format": "date-time", "description": "ISO8601 timestamp of when the pack was created" }, "updated_at": { "type": "string", "format": "date-time", "description": "ISO8601 timestamp of when the pack was last updated" }, "creator": { "$ref": "#/components/schemas/UserPartialResponse" } }, "required": [ "id", "name", "type", "creator_id", "created_at", "updated_at", "creator" ], "description": "The pack this invite is for" }, "inviter": { "anyOf": [ { "$ref": "#/components/schemas/UserPartialResponse" }, { "type": "null" } ], "description": "The user who created the invite" }, "expires_at": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "description": "ISO8601 timestamp of when the invite expires" }, "temporary": { "type": "boolean", "description": "Whether the invite grants temporary access" }, "created_at": { "type": "string", "format": "date-time", "description": "ISO8601 timestamp of when the invite was created" }, "uses": { "type": "integer", "minimum": 0, "maximum": 2147483647, "format": "int32", "description": "The number of times this invite has been used" }, "max_uses": { "type": "integer", "minimum": 0, "maximum": 2147483647, "format": "int32", "description": "The maximum number of times this invite can be used" } }, "required": [ "code", "type", "pack", "temporary", "created_at", "uses", "max_uses" ] }, "ChannelInviteCreateRequest": { "type": "object", "properties": { "max_uses": { "anyOf": [ { "type": "integer", "minimum": 0, "maximum": 100, "format": "int32" }, { "type": "null" } ], "description": "Maximum number of times this invite can be used (0 for unlimited)" }, "max_age": { "anyOf": [ { "type": "integer", "minimum": 0, "maximum": 604800, "format": "int32" }, { "type": "null" } ], "description": "Duration in seconds before the invite expires (0 for never)" }, "unique": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Whether to create a new unique invite or reuse an existing one" }, "temporary": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Whether members that joined via this invite should be kicked after disconnecting" } } }, "MessageResponseSchema": { "type": "object", "properties": { "id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "The unique identifier (snowflake) for this message" }, "channel_id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "The ID of the channel this message was sent in" }, "author": { "$ref": "#/components/schemas/UserPartialResponse" }, "webhook_id": { "anyOf": [ { "$ref": "#/components/schemas/SnowflakeType" }, { "type": "null" } ], "description": "The ID of the webhook that sent this message" }, "type": { "type": "integer", "format": "int32", "enum": [ 0, 1, 2, 3, 4, 5, 6, 7, 19 ], "x-enumNames": [ "DEFAULT", "RECIPIENT_ADD", "RECIPIENT_REMOVE", "CALL", "CHANNEL_NAME_CHANGE", "CHANNEL_ICON_CHANGE", "CHANNEL_PINNED_MESSAGE", "USER_JOIN", "REPLY" ], "x-enumDescriptions": [ "A regular message", "A system message indicating a user was added to the conversation", "A system message indicating a user was removed from the conversation", "A message representing a call", "A system message indicating the channel name changed", "A system message indicating the channel icon changed", "A system message indicating a message was pinned", "A system message indicating a user joined", "A reply message" ], "description": "The type of message" }, "flags": { "$ref": "#/components/schemas/MessageFlags" }, "content": { "type": "string", "description": "The text content of the message" }, "timestamp": { "type": "string", "format": "date-time", "description": "The ISO 8601 timestamp of when the message was created" }, "edited_timestamp": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "description": "The ISO 8601 timestamp of when the message was last edited" }, "pinned": { "type": "boolean", "description": "Whether the message is pinned" }, "mention_everyone": { "type": "boolean", "description": "Whether the message mentions @everyone" }, "tts": { "type": "boolean", "description": "Whether the message was sent as text-to-speech" }, "mentions": { "anyOf": [ { "type": "array", "items": { "$ref": "#/components/schemas/UserPartialResponse" }, "maxItems": 100 }, { "type": "null" } ], "description": "The users mentioned in the message" }, "mention_roles": { "anyOf": [ { "type": "array", "items": { "type": "string" }, "maxItems": 100 }, { "type": "null" } ], "description": "The role IDs mentioned in the message" }, "embeds": { "anyOf": [ { "type": "array", "items": { "$ref": "#/components/schemas/MessageEmbedResponse" }, "maxItems": 10 }, { "type": "null" } ], "description": "The embeds attached to the message" }, "attachments": { "anyOf": [ { "type": "array", "items": { "$ref": "#/components/schemas/MessageAttachmentResponse" }, "maxItems": 10 }, { "type": "null" } ], "description": "The files attached to the message" }, "stickers": { "anyOf": [ { "type": "array", "items": { "$ref": "#/components/schemas/MessageStickerResponse" }, "maxItems": 3 }, { "type": "null" } ], "description": "The stickers sent with the message" }, "reactions": { "anyOf": [ { "type": "array", "items": { "$ref": "#/components/schemas/MessageReactionResponse" }, "maxItems": 30 }, { "type": "null" } ], "description": "The reactions on the message" }, "message_reference": { "anyOf": [ { "$ref": "#/components/schemas/MessageReferenceResponse" }, { "type": "null" } ], "description": "Reference data for replies or forwards" }, "message_snapshots": { "anyOf": [ { "type": "array", "items": { "$ref": "#/components/schemas/MessageSnapshotResponse" }, "maxItems": 10 }, { "type": "null" } ], "description": "Snapshots of forwarded messages" }, "nonce": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "A client-provided value for message deduplication" }, "call": { "anyOf": [ { "$ref": "#/components/schemas/MessageCallResponse" }, { "type": "null" } ], "description": "Call information if this message represents a call" }, "referenced_message": { "anyOf": [ { "$ref": "#/components/schemas/MessageBaseResponseSchema" }, { "type": "null" } ], "description": "The message that this message is replying to or forwarding" } }, "required": [ "id", "channel_id", "author", "type", "flags", "content", "timestamp", "pinned", "mention_everyone" ] }, "MessageFlags": { "type": "integer", "format": "int32", "minimum": 0, "maximum": 2147483647, "x-bitflagValues": [ { "name": "SUPPRESS_EMBEDS", "value": "4", "description": "Do not include embeds when serialising this message" }, { "name": "SUPPRESS_NOTIFICATIONS", "value": "4096", "description": "This message will not trigger push or desktop notifications" }, { "name": "VOICE_MESSAGE", "value": "8192", "description": "This message is a voice message" }, { "name": "COMPACT_ATTACHMENTS", "value": "131072", "description": "Display attachments in a compact format" } ], "description": "Message flags bitfield" }, "MessageEmbedResponse": { "type": "object", "properties": { "type": { "type": "string", "description": "The type of embed (e.g., rich, image, video, gifv, article, link)" }, "url": { "anyOf": [ { "type": "string", "format": "uri" }, { "type": "null" } ], "description": "The URL of the embed" }, "title": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The title of the embed" }, "color": { "anyOf": [ { "$ref": "#/components/schemas/Int32Type" }, { "type": "null" } ], "description": "The color code of the embed sidebar" }, "timestamp": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "description": "The ISO 8601 timestamp of the embed content" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The description of the embed" }, "author": { "anyOf": [ { "$ref": "#/components/schemas/EmbedAuthorResponse" }, { "type": "null" } ], "description": "The author information of the embed" }, "image": { "anyOf": [ { "$ref": "#/components/schemas/EmbedMediaResponse" }, { "type": "null" } ], "description": "The image of the embed" }, "thumbnail": { "anyOf": [ { "$ref": "#/components/schemas/EmbedMediaResponse" }, { "type": "null" } ], "description": "The thumbnail of the embed" }, "footer": { "anyOf": [ { "$ref": "#/components/schemas/EmbedFooterResponse" }, { "type": "null" } ], "description": "The footer of the embed" }, "fields": { "anyOf": [ { "type": "array", "items": { "$ref": "#/components/schemas/EmbedFieldResponse" }, "maxItems": 25 }, { "type": "null" } ], "description": "The fields of the embed" }, "provider": { "anyOf": [ { "$ref": "#/components/schemas/EmbedAuthorResponse" }, { "type": "null" } ], "description": "The provider of the embed (e.g., YouTube, Twitter)" }, "video": { "anyOf": [ { "$ref": "#/components/schemas/EmbedMediaResponse" }, { "type": "null" } ], "description": "The video of the embed" }, "audio": { "anyOf": [ { "$ref": "#/components/schemas/EmbedMediaResponse" }, { "type": "null" } ], "description": "The audio of the embed" }, "nsfw": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Whether the embed is flagged as NSFW" }, "children": { "anyOf": [ { "type": "array", "items": { "$ref": "#/components/schemas/MessageEmbedChildResponse" }, "maxItems": 1 }, { "type": "null" } ], "description": "Internal nested embeds generated by unfurlers" } }, "required": [ "type" ] }, "EmbedAuthorResponse": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the author" }, "url": { "anyOf": [ { "type": "string", "format": "uri" }, { "type": "null" } ], "description": "The URL of the author" }, "icon_url": { "anyOf": [ { "type": "string", "format": "uri" }, { "type": "null" } ], "description": "The URL of the author icon" }, "proxy_icon_url": { "anyOf": [ { "type": "string", "format": "uri" }, { "type": "null" } ], "description": "The proxied URL of the author icon" } }, "required": [ "name" ] }, "EmbedMediaResponse": { "type": "object", "properties": { "url": { "type": "string", "description": "The URL of the media" }, "proxy_url": { "anyOf": [ { "type": "string", "format": "uri" }, { "type": "null" } ], "description": "The proxied URL of the media" }, "content_type": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The MIME type of the media" }, "content_hash": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The hash of the media content" }, "width": { "anyOf": [ { "$ref": "#/components/schemas/Int32Type" }, { "type": "null" } ], "description": "The width of the media in pixels" }, "height": { "anyOf": [ { "$ref": "#/components/schemas/Int32Type" }, { "type": "null" } ], "description": "The height of the media in pixels" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The description of the media" }, "placeholder": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The base64 encoded placeholder image for lazy loading" }, "duration": { "anyOf": [ { "$ref": "#/components/schemas/Int32Type" }, { "type": "null" } ], "description": "The duration of the media in seconds" }, "flags": { "$ref": "#/components/schemas/EmbedMediaFlags" } }, "required": [ "url", "flags" ] }, "EmbedMediaFlags": { "type": "integer", "format": "int32", "minimum": 0, "maximum": 2147483647, "x-bitflagValues": [ { "name": "CONTAINS_EXPLICIT_MEDIA", "value": "16", "description": "Embed media contains explicit content" }, { "name": "IS_ANIMATED", "value": "32", "description": "Embed media is animated" } ], "description": "The bitwise flags for this media" }, "EmbedFooterResponse": { "type": "object", "properties": { "text": { "type": "string", "description": "The footer text" }, "icon_url": { "anyOf": [ { "type": "string", "format": "uri" }, { "type": "null" } ], "description": "The URL of the footer icon" }, "proxy_icon_url": { "anyOf": [ { "type": "string", "format": "uri" }, { "type": "null" } ], "description": "The proxied URL of the footer icon" } }, "required": [ "text" ] }, "EmbedFieldResponse": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the field" }, "value": { "type": "string", "description": "The value of the field" }, "inline": { "type": "boolean", "description": "Whether the field should be displayed inline" } }, "required": [ "name", "value", "inline" ] }, "MessageEmbedChildResponse": { "type": "object", "properties": { "type": { "type": "string", "description": "The type of embed (e.g., rich, image, video, gifv, article, link)" }, "url": { "anyOf": [ { "type": "string", "format": "uri" }, { "type": "null" } ], "description": "The URL of the embed" }, "title": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The title of the embed" }, "color": { "anyOf": [ { "$ref": "#/components/schemas/Int32Type" }, { "type": "null" } ], "description": "The color code of the embed sidebar" }, "timestamp": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "description": "The ISO 8601 timestamp of the embed content" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The description of the embed" }, "author": { "anyOf": [ { "$ref": "#/components/schemas/EmbedAuthorResponse" }, { "type": "null" } ], "description": "The author information of the embed" }, "image": { "anyOf": [ { "$ref": "#/components/schemas/EmbedMediaResponse" }, { "type": "null" } ], "description": "The image of the embed" }, "thumbnail": { "anyOf": [ { "$ref": "#/components/schemas/EmbedMediaResponse" }, { "type": "null" } ], "description": "The thumbnail of the embed" }, "footer": { "anyOf": [ { "$ref": "#/components/schemas/EmbedFooterResponse" }, { "type": "null" } ], "description": "The footer of the embed" }, "fields": { "anyOf": [ { "type": "array", "items": { "$ref": "#/components/schemas/EmbedFieldResponse" }, "maxItems": 25 }, { "type": "null" } ], "description": "The fields of the embed" }, "provider": { "anyOf": [ { "$ref": "#/components/schemas/EmbedAuthorResponse" }, { "type": "null" } ], "description": "The provider of the embed (e.g., YouTube, Twitter)" }, "video": { "anyOf": [ { "$ref": "#/components/schemas/EmbedMediaResponse" }, { "type": "null" } ], "description": "The video of the embed" }, "audio": { "anyOf": [ { "$ref": "#/components/schemas/EmbedMediaResponse" }, { "type": "null" } ], "description": "The audio of the embed" }, "nsfw": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Whether the embed is flagged as NSFW" } }, "required": [ "type" ] }, "MessageAttachmentResponse": { "type": "object", "properties": { "id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "The unique identifier for this attachment" }, "filename": { "type": "string", "description": "The name of the attached file" }, "title": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The title of the attachment" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The description of the attachment" }, "content_type": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The MIME type of the attachment" }, "content_hash": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The hash of the attachment content" }, "size": { "type": "integer", "minimum": 0, "maximum": 2147483647, "format": "int32", "description": "The size of the attachment in bytes" }, "url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The URL of the attachment" }, "proxy_url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The proxied URL of the attachment" }, "width": { "anyOf": [ { "$ref": "#/components/schemas/Int32Type" }, { "type": "null" } ], "description": "The width of the attachment in pixels (for images/videos)" }, "height": { "anyOf": [ { "$ref": "#/components/schemas/Int32Type" }, { "type": "null" } ], "description": "The height of the attachment in pixels (for images/videos)" }, "placeholder": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The base64 encoded placeholder image for lazy loading" }, "flags": { "$ref": "#/components/schemas/MessageAttachmentFlags" }, "nsfw": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Whether the attachment is flagged as NSFW" }, "duration": { "anyOf": [ { "$ref": "#/components/schemas/Int32Type" }, { "type": "null" } ], "description": "The duration of the media in seconds" }, "waveform": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The base64 encoded audio waveform data" }, "expires_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The ISO 8601 timestamp when the attachment URL expires" }, "expired": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Whether the attachment URL has expired" } }, "required": [ "id", "filename", "size", "flags" ] }, "MessageAttachmentFlags": { "type": "integer", "format": "int32", "minimum": 0, "maximum": 2147483647, "x-bitflagValues": [ { "name": "IS_SPOILER", "value": "8", "description": "Attachment is marked as a spoiler" }, { "name": "CONTAINS_EXPLICIT_MEDIA", "value": "16", "description": "Attachment contains explicit media content" }, { "name": "IS_ANIMATED", "value": "32", "description": "Attachment is animated" } ], "description": "Attachment flags" }, "MessageStickerResponse": { "type": "object", "properties": { "id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "The unique identifier of the sticker" }, "name": { "type": "string", "description": "The name of the sticker" }, "animated": { "type": "boolean", "description": "Whether the sticker is animated" } }, "required": [ "id", "name", "animated" ] }, "MessageReactionResponse": { "type": "object", "properties": { "emoji": { "type": "object", "properties": { "id": { "anyOf": [ { "$ref": "#/components/schemas/SnowflakeType" }, { "type": "null" } ], "description": "The ID of the custom emoji (null for Unicode emojis)" }, "name": { "type": "string", "description": "The name of the emoji (or Unicode character for standard emojis)" }, "animated": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Whether the emoji is animated" } }, "required": [ "name" ], "description": "The emoji used for the reaction" }, "count": { "type": "integer", "minimum": 0, "maximum": 2147483647, "format": "int32", "description": "The total number of times this reaction has been used" }, "me": { "anyOf": [ { "type": "boolean", "enum": [ true ] }, { "type": "null" } ], "description": "Whether the current user has reacted with this emoji" } }, "required": [ "emoji", "count" ] }, "MessageReferenceResponse": { "type": "object", "properties": { "channel_id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "The ID of the channel containing the referenced message" }, "message_id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "The ID of the referenced message" }, "guild_id": { "anyOf": [ { "$ref": "#/components/schemas/SnowflakeType" }, { "type": "null" } ], "description": "The ID of the guild containing the referenced message" }, "type": { "$ref": "#/components/schemas/MessageReferenceType" } }, "required": [ "channel_id", "message_id", "type" ] }, "MessageReferenceType": { "type": "integer", "format": "int32", "enum": [ 0, 1 ], "x-enumNames": [ "DEFAULT", "FORWARD" ], "x-enumDescriptions": [ "Default reference (reply)", "Forwarded message reference" ], "description": "The type of message reference" }, "MessageSnapshotResponse": { "type": "object", "properties": { "content": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The text content of the snapshot" }, "timestamp": { "type": "string", "format": "date-time", "description": "The ISO 8601 timestamp of when the original message was created" }, "edited_timestamp": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "description": "The ISO 8601 timestamp of when the original message was last edited" }, "mentions": { "anyOf": [ { "type": "array", "items": { "type": "string" }, "maxItems": 100 }, { "type": "null" } ], "description": "The user IDs mentioned in the snapshot" }, "mention_roles": { "anyOf": [ { "type": "array", "items": { "type": "string" }, "maxItems": 100 }, { "type": "null" } ], "description": "The role IDs mentioned in the snapshot" }, "embeds": { "anyOf": [ { "type": "array", "items": { "$ref": "#/components/schemas/MessageEmbedResponse" }, "maxItems": 10 }, { "type": "null" } ], "description": "The embeds included in the snapshot" }, "attachments": { "anyOf": [ { "type": "array", "items": { "$ref": "#/components/schemas/MessageAttachmentResponse" }, "maxItems": 10 }, { "type": "null" } ], "description": "The attachments included in the snapshot" }, "stickers": { "anyOf": [ { "type": "array", "items": { "$ref": "#/components/schemas/MessageStickerResponse" }, "maxItems": 3 }, { "type": "null" } ], "description": "The stickers included in the snapshot" }, "type": { "type": "integer", "format": "int32", "enum": [ 0, 1, 2, 3, 4, 5, 6, 7, 19 ], "x-enumNames": [ "DEFAULT", "RECIPIENT_ADD", "RECIPIENT_REMOVE", "CALL", "CHANNEL_NAME_CHANGE", "CHANNEL_ICON_CHANGE", "CHANNEL_PINNED_MESSAGE", "USER_JOIN", "REPLY" ], "x-enumDescriptions": [ "A regular message", "A system message indicating a user was added to the conversation", "A system message indicating a user was removed from the conversation", "A message representing a call", "A system message indicating the channel name changed", "A system message indicating the channel icon changed", "A system message indicating a message was pinned", "A system message indicating a user joined", "A reply message" ], "description": "The type of message" }, "flags": { "$ref": "#/components/schemas/MessageFlags" } }, "required": [ "timestamp", "type", "flags" ] }, "MessageCallResponse": { "type": "object", "properties": { "participants": { "type": "array", "items": { "type": "string" }, "maxItems": 100, "description": "The user IDs of participants in the call" }, "ended_timestamp": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "description": "The ISO 8601 timestamp of when the call ended" } }, "required": [ "participants" ] }, "MessageBaseResponseSchema": { "type": "object", "properties": { "id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "The unique identifier (snowflake) for this message" }, "channel_id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "The ID of the channel this message was sent in" }, "author": { "$ref": "#/components/schemas/UserPartialResponse" }, "webhook_id": { "anyOf": [ { "$ref": "#/components/schemas/SnowflakeType" }, { "type": "null" } ], "description": "The ID of the webhook that sent this message" }, "type": { "type": "integer", "format": "int32", "enum": [ 0, 1, 2, 3, 4, 5, 6, 7, 19 ], "x-enumNames": [ "DEFAULT", "RECIPIENT_ADD", "RECIPIENT_REMOVE", "CALL", "CHANNEL_NAME_CHANGE", "CHANNEL_ICON_CHANGE", "CHANNEL_PINNED_MESSAGE", "USER_JOIN", "REPLY" ], "x-enumDescriptions": [ "A regular message", "A system message indicating a user was added to the conversation", "A system message indicating a user was removed from the conversation", "A message representing a call", "A system message indicating the channel name changed", "A system message indicating the channel icon changed", "A system message indicating a message was pinned", "A system message indicating a user joined", "A reply message" ], "description": "The type of message" }, "flags": { "$ref": "#/components/schemas/MessageFlags" }, "content": { "type": "string", "description": "The text content of the message" }, "timestamp": { "type": "string", "format": "date-time", "description": "The ISO 8601 timestamp of when the message was created" }, "edited_timestamp": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "description": "The ISO 8601 timestamp of when the message was last edited" }, "pinned": { "type": "boolean", "description": "Whether the message is pinned" }, "mention_everyone": { "type": "boolean", "description": "Whether the message mentions @everyone" }, "tts": { "type": "boolean", "description": "Whether the message was sent as text-to-speech" }, "mentions": { "anyOf": [ { "type": "array", "items": { "$ref": "#/components/schemas/UserPartialResponse" }, "maxItems": 100 }, { "type": "null" } ], "description": "The users mentioned in the message" }, "mention_roles": { "anyOf": [ { "type": "array", "items": { "type": "string" }, "maxItems": 100 }, { "type": "null" } ], "description": "The role IDs mentioned in the message" }, "embeds": { "anyOf": [ { "type": "array", "items": { "$ref": "#/components/schemas/MessageEmbedResponse" }, "maxItems": 10 }, { "type": "null" } ], "description": "The embeds attached to the message" }, "attachments": { "anyOf": [ { "type": "array", "items": { "$ref": "#/components/schemas/MessageAttachmentResponse" }, "maxItems": 10 }, { "type": "null" } ], "description": "The files attached to the message" }, "stickers": { "anyOf": [ { "type": "array", "items": { "$ref": "#/components/schemas/MessageStickerResponse" }, "maxItems": 3 }, { "type": "null" } ], "description": "The stickers sent with the message" }, "reactions": { "anyOf": [ { "type": "array", "items": { "$ref": "#/components/schemas/MessageReactionResponse" }, "maxItems": 30 }, { "type": "null" } ], "description": "The reactions on the message" }, "message_reference": { "anyOf": [ { "$ref": "#/components/schemas/MessageReferenceResponse" }, { "type": "null" } ], "description": "Reference data for replies or forwards" }, "message_snapshots": { "anyOf": [ { "type": "array", "items": { "$ref": "#/components/schemas/MessageSnapshotResponse" }, "maxItems": 10 }, { "type": "null" } ], "description": "Snapshots of forwarded messages" }, "nonce": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "A client-provided value for message deduplication" }, "call": { "anyOf": [ { "$ref": "#/components/schemas/MessageCallResponse" }, { "type": "null" } ], "description": "Call information if this message represents a call" } }, "required": [ "id", "channel_id", "author", "type", "flags", "content", "timestamp", "pinned", "mention_everyone" ] }, "BulkDeleteMessagesRequest": { "type": "object", "properties": { "message_ids": { "type": "array", "items": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "Array of message IDs to delete" } }, "required": [ "message_ids" ] }, "ChannelPinsResponse": { "type": "object", "properties": { "items": { "type": "array", "items": { "$ref": "#/components/schemas/ChannelPinResponse" }, "description": "Pinned messages in this channel" }, "has_more": { "type": "boolean", "description": "Whether more pins can be fetched with pagination" } }, "required": [ "items", "has_more" ] }, "ChannelPinResponse": { "type": "object", "properties": { "message": { "$ref": "#/components/schemas/ChannelPinMessageResponse" }, "pinned_at": { "type": "string", "format": "date-time", "description": "The ISO 8601 timestamp of when the message was pinned" } }, "required": [ "message", "pinned_at" ] }, "ChannelPinMessageResponse": { "type": "object", "properties": { "id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "The unique identifier (snowflake) for this message" }, "channel_id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "The ID of the channel this message was sent in" }, "author": { "$ref": "#/components/schemas/UserPartialResponse" }, "webhook_id": { "anyOf": [ { "$ref": "#/components/schemas/SnowflakeType" }, { "type": "null" } ], "description": "The ID of the webhook that sent this message" }, "type": { "type": "integer", "format": "int32", "enum": [ 0, 1, 2, 3, 4, 5, 6, 7, 19 ], "x-enumNames": [ "DEFAULT", "RECIPIENT_ADD", "RECIPIENT_REMOVE", "CALL", "CHANNEL_NAME_CHANGE", "CHANNEL_ICON_CHANGE", "CHANNEL_PINNED_MESSAGE", "USER_JOIN", "REPLY" ], "x-enumDescriptions": [ "A regular message", "A system message indicating a user was added to the conversation", "A system message indicating a user was removed from the conversation", "A message representing a call", "A system message indicating the channel name changed", "A system message indicating the channel icon changed", "A system message indicating a message was pinned", "A system message indicating a user joined", "A reply message" ], "description": "The type of message" }, "flags": { "$ref": "#/components/schemas/MessageFlags" }, "content": { "type": "string", "description": "The text content of the message" }, "timestamp": { "type": "string", "format": "date-time", "description": "The ISO 8601 timestamp of when the message was created" }, "edited_timestamp": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "description": "The ISO 8601 timestamp of when the message was last edited" }, "pinned": { "type": "boolean", "description": "Whether the message is pinned" }, "mention_everyone": { "type": "boolean", "description": "Whether the message mentions @everyone" }, "tts": { "type": "boolean", "description": "Whether the message was sent as text-to-speech" }, "mentions": { "anyOf": [ { "type": "array", "items": { "$ref": "#/components/schemas/UserPartialResponse" }, "maxItems": 100 }, { "type": "null" } ], "description": "The users mentioned in the message" }, "mention_roles": { "anyOf": [ { "type": "array", "items": { "type": "string" }, "maxItems": 100 }, { "type": "null" } ], "description": "The role IDs mentioned in the message" }, "embeds": { "anyOf": [ { "type": "array", "items": { "$ref": "#/components/schemas/MessageEmbedResponse" }, "maxItems": 10 }, { "type": "null" } ], "description": "The embeds attached to the message" }, "attachments": { "anyOf": [ { "type": "array", "items": { "$ref": "#/components/schemas/MessageAttachmentResponse" }, "maxItems": 10 }, { "type": "null" } ], "description": "The files attached to the message" }, "stickers": { "anyOf": [ { "type": "array", "items": { "$ref": "#/components/schemas/MessageStickerResponse" }, "maxItems": 3 }, { "type": "null" } ], "description": "The stickers sent with the message" }, "message_reference": { "anyOf": [ { "$ref": "#/components/schemas/MessageReferenceResponse" }, { "type": "null" } ], "description": "Reference data for replies or forwards" }, "message_snapshots": { "anyOf": [ { "type": "array", "items": { "$ref": "#/components/schemas/MessageSnapshotResponse" }, "maxItems": 10 }, { "type": "null" } ], "description": "Snapshots of forwarded messages" }, "nonce": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "A client-provided value for message deduplication" }, "call": { "anyOf": [ { "$ref": "#/components/schemas/MessageCallResponse" }, { "type": "null" } ], "description": "Call information if this message represents a call" } }, "required": [ "id", "channel_id", "author", "type", "flags", "content", "timestamp", "pinned", "mention_everyone" ], "description": "The pinned message" }, "ScheduledMessageResponseSchema": { "type": "object", "properties": { "id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "The unique identifier for this scheduled message" }, "channel_id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "The ID of the channel this message will be sent to" }, "scheduled_at": { "type": "string", "description": "The ISO 8601 UTC timestamp when the message is scheduled to be sent" }, "scheduled_local_at": { "type": "string", "description": "The ISO 8601 timestamp in the user local timezone" }, "timezone": { "type": "string", "description": "The IANA timezone identifier used for scheduling" }, "status": { "type": "string", "enum": [ "pending", "invalid", "scheduled", "sent", "failed", "cancelled" ], "description": "The current status of the scheduled message" }, "status_reason": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "A human-readable reason for the current status, if applicable" }, "payload": { "type": "object", "properties": { "content": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The text content of the scheduled message" }, "tts": { "type": "boolean", "description": "Whether this is a text-to-speech message" }, "embeds": { "type": "array", "items": { "$ref": "#/components/schemas/MessageEmbedResponse" }, "maxItems": 10, "description": "Array of embed objects attached to the message" }, "attachments": { "type": "array", "items": { "$ref": "#/components/schemas/MessageAttachmentResponse" }, "maxItems": 10, "description": "Array of attachment objects for the message" }, "stickers": { "type": "array", "items": { "$ref": "#/components/schemas/MessageStickerResponse" }, "maxItems": 3, "description": "Array of sticker objects attached to the message" }, "sticker_ids": { "type": "array", "items": { "$ref": "#/components/schemas/SnowflakeType" }, "maxItems": 3, "description": "Array of sticker IDs to include in the message" }, "allowed_mentions": { "$ref": "#/components/schemas/ScheduledMessageAllowedMentionsSchema" }, "message_reference": { "$ref": "#/components/schemas/ScheduledMessageReferenceSchema" }, "flags": { "$ref": "#/components/schemas/MessageFlags" }, "nonce": { "type": "string", "description": "Client-generated identifier for the message" }, "favorite_meme_id": { "$ref": "#/components/schemas/SnowflakeType" } }, "description": "The message content and metadata to be sent" }, "created_at": { "type": "string", "description": "The ISO 8601 timestamp when this scheduled message was created" }, "invalidated_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The ISO 8601 timestamp when the message was marked invalid" } }, "required": [ "id", "channel_id", "scheduled_at", "scheduled_local_at", "timezone", "status", "status_reason", "payload", "created_at", "invalidated_at" ] }, "ScheduledMessageAllowedMentionsSchema": { "type": "object", "properties": { "parse": { "type": "array", "items": { "type": "string", "enum": [ "users", "roles", "everyone" ], "x-enumNames": [ "USERS", "ROLES", "EVERYONE" ], "x-enumDescriptions": [ "Parse user mentions from the message content", "Parse role mentions from the message content", "Parse @everyone and @here mentions from the message content" ], "description": "Types of mentions to parse from content" }, "description": "Types of mentions to parse from content" }, "users": { "type": "array", "items": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "Array of user IDs to mention" }, "roles": { "type": "array", "items": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "Array of role IDs to mention" }, "replied_user": { "type": "boolean", "description": "Whether to mention the author of the replied message" } } }, "ScheduledMessageReferenceSchema": { "type": "object", "properties": { "message_id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "ID of the message being referenced" }, "channel_id": { "$ref": "#/components/schemas/SnowflakeType" }, "guild_id": { "$ref": "#/components/schemas/SnowflakeType" }, "type": { "$ref": "#/components/schemas/MessageReferenceType", "description": "The type of message reference" } }, "required": [ "message_id" ] }, "MessageAckRequest": { "type": "object", "properties": { "mention_count": { "$ref": "#/components/schemas/Int32Type" }, "manual": { "type": "boolean", "description": "Whether this is a manual acknowledgement" } } }, "FavoriteMemeResponse": { "type": "object", "properties": { "id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "Unique identifier for the favorite meme" }, "user_id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "ID of the user who owns this favorite meme" }, "name": { "type": "string", "description": "Display name of the meme" }, "alt_text": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Alternative text description for accessibility" }, "tags": { "type": "array", "items": { "type": "string" }, "description": "Tags for categorizing and searching the meme" }, "attachment_id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "ID of the attachment storing the meme" }, "filename": { "type": "string", "description": "Original filename of the meme" }, "content_type": { "type": "string", "description": "MIME type of the meme file" }, "content_hash": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Hash of the file content for deduplication" }, "size": { "type": "number", "description": "File size in bytes" }, "width": { "anyOf": [ { "type": "integer", "format": "int53" }, { "type": "null" } ], "description": "Width of the image or video in pixels" }, "height": { "anyOf": [ { "type": "integer", "format": "int53" }, { "type": "null" } ], "description": "Height of the image or video in pixels" }, "duration": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "description": "Duration of the video in seconds" }, "url": { "type": "string", "description": "CDN URL to access the meme" }, "is_gifv": { "type": "boolean", "description": "Whether the meme is a video converted from GIF" }, "klipy_slug": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Klipy clip slug if the meme was sourced from Klipy" }, "tenor_slug_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Tenor view/- identifier if the meme was sourced from Tenor" } }, "required": [ "id", "user_id", "name", "tags", "attachment_id", "filename", "content_type", "size", "url" ] }, "CreateFavoriteMemeBodySchema": { "type": "object", "properties": { "name": { "type": "string", "description": "Display name for the meme" }, "alt_text": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Alternative text description for accessibility" }, "tags": { "anyOf": [ { "type": "array", "items": { "type": "string" } }, { "type": "null" } ], "description": "Tags for categorizing and searching the meme" }, "attachment_id": { "anyOf": [ { "$ref": "#/components/schemas/SnowflakeType" }, { "type": "null" } ], "description": "ID of the message attachment to save as a meme" }, "embed_index": { "anyOf": [ { "type": "integer", "minimum": 0, "maximum": 9007199254740991, "format": "int64" }, { "type": "null" } ], "description": "Index of the message embed to save as a meme" } }, "required": [ "name" ] }, "ReactionUsersListResponse": { "type": "array", "items": { "$ref": "#/components/schemas/UserPartialResponse" } }, "PermissionOverwriteCreateRequest": { "type": "object", "properties": { "type": { "type": "integer", "enum": [ 0, 1 ], "description": "The type of overwrite (0 = role, 1 = member)" }, "allow": { "$ref": "#/components/schemas/UnsignedInt64Type" }, "deny": { "$ref": "#/components/schemas/UnsignedInt64Type" } }, "required": [ "type" ] }, "RtcRegionResponse": { "type": "object", "properties": { "id": { "type": "string", "description": "The unique identifier for this RTC region" }, "name": { "type": "string", "description": "The display name of the RTC region" }, "emoji": { "type": "string", "description": "The emoji associated with this RTC region" } }, "required": [ "id", "name", "emoji" ] }, "WebhookResponse": { "type": "object", "properties": { "id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "The unique identifier (snowflake) for the webhook" }, "guild_id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "The ID of the guild this webhook belongs to" }, "channel_id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "The ID of the channel this webhook posts to" }, "name": { "type": "string", "description": "The display name of the webhook" }, "avatar": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The hash of the webhook avatar image" }, "token": { "type": "string", "description": "The secure token used to execute the webhook" }, "user": { "$ref": "#/components/schemas/UserPartialResponse" } }, "required": [ "id", "guild_id", "channel_id", "name", "token", "user" ] }, "WebhookCreateRequest": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the webhook" }, "avatar": { "anyOf": [ { "$ref": "#/components/schemas/Base64ImageType" }, { "type": "null" } ], "description": "The avatar image as a base64-encoded data URI" } }, "required": [ "name" ] }, "DiscoveryCategoryListResponse": { "type": "array", "items": { "$ref": "#/components/schemas/DiscoveryCategoryResponse" } }, "DiscoveryCategoryResponse": { "type": "object", "properties": { "id": { "type": "number", "description": "Category ID" }, "name": { "type": "string", "description": "Category display name" } }, "required": [ "id", "name" ] }, "DiscoveryGuildListResponse": { "type": "object", "properties": { "guilds": { "type": "array", "items": { "$ref": "#/components/schemas/DiscoveryGuildResponse" }, "description": "Discovery guild results" }, "total": { "type": "number", "description": "Total number of matching guilds" } }, "required": [ "guilds", "total" ] }, "DiscoveryGuildResponse": { "type": "object", "properties": { "id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "Guild ID" }, "name": { "type": "string", "description": "Guild name" }, "icon": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Guild icon hash" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Discovery description" }, "category_type": { "type": "number", "description": "Discovery category type" }, "member_count": { "type": "number", "description": "Approximate member count" }, "online_count": { "type": "number", "description": "Approximate online member count" }, "features": { "type": "array", "items": { "type": "string" }, "description": "Guild feature flags" }, "verification_level": { "type": "number", "description": "Verification level" } }, "required": [ "id", "name", "category_type", "member_count", "online_count", "features", "verification_level" ] }, "DonationCheckoutResponse": { "type": "object", "properties": { "url": { "type": "string", "format": "uri", "description": "Stripe checkout URL to redirect the user to" } }, "required": [ "url" ] }, "DonationCheckoutRequest": { "type": "object", "properties": { "email": { "type": "string", "maxLength": 254, "format": "email", "description": "Donor email address" }, "amount_cents": { "type": "integer", "minimum": 500, "maximum": 100000, "format": "int32", "description": "Donation amount in cents (500-100000)" }, "currency": { "enum": [ "usd", "eur" ], "type": "string", "x-enumNames": [ "usd", "eur" ], "description": "Currency for the donation" }, "interval": { "anyOf": [ { "enum": [ "month", "year" ], "type": "string", "x-enumNames": [ "month", "year" ] }, { "type": "null" } ], "description": "Billing interval (null for one-time donation)" } }, "required": [ "email", "amount_cents", "currency", "interval" ] }, "DonationRequestLinkRequest": { "type": "object", "properties": { "email": { "type": "string", "maxLength": 254, "format": "email", "description": "Email address to send the magic link to" } }, "required": [ "email" ] }, "GatewayBotResponse": { "type": "object", "properties": { "url": { "type": "string", "description": "WebSocket URL to connect to the gateway" }, "shards": { "type": "integer", "format": "int53", "description": "Recommended number of shards to use when connecting" }, "session_start_limit": { "type": "object", "properties": { "total": { "type": "integer", "format": "int53", "description": "Total number of session starts allowed" }, "remaining": { "type": "integer", "format": "int53", "description": "Remaining number of session starts" }, "reset_after": { "type": "integer", "format": "int53", "description": "Milliseconds until the limit resets" }, "max_concurrency": { "type": "integer", "format": "int53", "description": "Maximum number of concurrent IDENTIFY requests" } }, "required": [ "total", "remaining", "reset_after", "max_concurrency" ], "description": "Session start rate limit information" } }, "required": [ "url", "shards", "session_start_limit" ] }, "GiftCodeResponse": { "type": "object", "properties": { "code": { "type": "string", "description": "The unique gift code string" }, "duration_months": { "type": "integer", "format": "int53", "description": "Duration of the subscription gift in months" }, "redeemed": { "type": "boolean", "description": "Whether the gift code has been redeemed" }, "created_by": { "anyOf": [ { "$ref": "#/components/schemas/UserPartialResponse" }, { "type": "null" } ], "description": "The user who created the gift code" } }, "required": [ "code", "duration_months", "redeemed" ] }, "GuildResponse": { "type": "object", "properties": { "id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "The unique identifier for this guild" }, "name": { "type": "string", "description": "The name of the guild" }, "icon": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The hash of the guild icon" }, "banner": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The hash of the guild banner" }, "banner_width": { "anyOf": [ { "$ref": "#/components/schemas/Int32Type" }, { "type": "null" } ], "description": "The width of the guild banner in pixels" }, "banner_height": { "anyOf": [ { "$ref": "#/components/schemas/Int32Type" }, { "type": "null" } ], "description": "The height of the guild banner in pixels" }, "splash": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The hash of the guild splash screen" }, "splash_width": { "anyOf": [ { "$ref": "#/components/schemas/Int32Type" }, { "type": "null" } ], "description": "The width of the guild splash in pixels" }, "splash_height": { "anyOf": [ { "$ref": "#/components/schemas/Int32Type" }, { "type": "null" } ], "description": "The height of the guild splash in pixels" }, "splash_card_alignment": { "type": "integer", "enum": [ 0, 1, 2 ], "description": "The alignment of the splash card" }, "embed_splash": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The hash of the embedded invite splash" }, "embed_splash_width": { "anyOf": [ { "$ref": "#/components/schemas/Int32Type" }, { "type": "null" } ], "description": "The width of the embedded invite splash in pixels" }, "embed_splash_height": { "anyOf": [ { "$ref": "#/components/schemas/Int32Type" }, { "type": "null" } ], "description": "The height of the embedded invite splash in pixels" }, "vanity_url_code": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The vanity URL code for the guild" }, "owner_id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "The ID of the guild owner" }, "system_channel_id": { "anyOf": [ { "$ref": "#/components/schemas/SnowflakeType" }, { "type": "null" } ], "description": "The ID of the channel where system messages are sent" }, "system_channel_flags": { "$ref": "#/components/schemas/SystemChannelFlags" }, "rules_channel_id": { "anyOf": [ { "$ref": "#/components/schemas/SnowflakeType" }, { "type": "null" } ], "description": "The ID of the rules channel" }, "afk_channel_id": { "anyOf": [ { "$ref": "#/components/schemas/SnowflakeType" }, { "type": "null" } ], "description": "The ID of the AFK voice channel" }, "afk_timeout": { "type": "integer", "minimum": 0, "maximum": 2147483647, "format": "int32", "description": "AFK timeout in seconds before moving users to the AFK channel" }, "features": { "type": "array", "items": { "$ref": "#/components/schemas/GuildFeatureSchema" }, "maxItems": 100, "description": "Array of guild feature flags" }, "verification_level": { "$ref": "#/components/schemas/GuildVerificationLevel", "description": "Required verification level for members to participate" }, "mfa_level": { "$ref": "#/components/schemas/GuildMFALevel", "description": "Required MFA level for moderation actions" }, "nsfw_level": { "$ref": "#/components/schemas/NSFWLevel", "description": "The NSFW level of the guild" }, "explicit_content_filter": { "$ref": "#/components/schemas/GuildExplicitContentFilter", "description": "Level of content filtering for explicit media" }, "default_message_notifications": { "$ref": "#/components/schemas/DefaultMessageNotifications", "description": "Default notification level for new members" }, "disabled_operations": { "$ref": "#/components/schemas/GuildOperations" }, "message_history_cutoff": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "description": "ISO8601 timestamp controlling how far back members without Read Message History can access messages. When null, no historical access is allowed." }, "permissions": { "anyOf": [ { "type": "string", "format": "int64", "pattern": "^[0-9]+$", "description": "The current user permissions in this guild" }, { "type": "null" } ] } }, "required": [ "id", "name", "splash_card_alignment", "owner_id", "system_channel_flags", "afk_timeout", "features", "verification_level", "mfa_level", "nsfw_level", "explicit_content_filter", "default_message_notifications", "disabled_operations" ] }, "GuildCreateRequest": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the guild (1-100 characters)" }, "icon": { "anyOf": [ { "$ref": "#/components/schemas/Base64ImageType" }, { "type": "null" } ], "description": "Base64-encoded image data for the guild icon" }, "empty_features": { "type": "boolean", "description": "Whether to create the guild without default features" } }, "required": [ "name" ] }, "GuildUpdateRequest": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the guild (1-100 characters)" }, "icon": { "anyOf": [ { "$ref": "#/components/schemas/Base64ImageType" }, { "type": "null" } ], "description": "Base64-encoded image data for the guild icon" }, "system_channel_id": { "anyOf": [ { "$ref": "#/components/schemas/SnowflakeType" }, { "type": "null" } ], "description": "The ID of the channel where system messages are sent" }, "system_channel_flags": { "$ref": "#/components/schemas/SystemChannelFlags" }, "afk_channel_id": { "anyOf": [ { "$ref": "#/components/schemas/SnowflakeType" }, { "type": "null" } ], "description": "The ID of the AFK voice channel" }, "afk_timeout": { "type": "integer", "minimum": 60, "maximum": 3600, "format": "int32", "description": "AFK timeout in seconds (60-3600) before moving users to the AFK channel" }, "default_message_notifications": { "$ref": "#/components/schemas/DefaultMessageNotifications", "description": "Default notification level for new members" }, "verification_level": { "$ref": "#/components/schemas/GuildVerificationLevel", "description": "Required verification level for members to participate" }, "mfa_level": { "$ref": "#/components/schemas/GuildMFALevel", "description": "Required MFA level for moderation actions" }, "nsfw_level": { "$ref": "#/components/schemas/NSFWLevel", "description": "The NSFW level of the guild" }, "explicit_content_filter": { "$ref": "#/components/schemas/GuildExplicitContentFilter", "description": "Level of content filtering for explicit media" }, "banner": { "anyOf": [ { "$ref": "#/components/schemas/Base64ImageType" }, { "type": "null" } ], "description": "Base64-encoded image data for the guild banner" }, "splash": { "anyOf": [ { "$ref": "#/components/schemas/Base64ImageType" }, { "type": "null" } ], "description": "Base64-encoded image data for the guild splash screen" }, "embed_splash": { "anyOf": [ { "$ref": "#/components/schemas/Base64ImageType" }, { "type": "null" } ], "description": "Base64-encoded image data for the embedded invite splash" }, "splash_card_alignment": { "type": "integer", "enum": [ 0, 1, 2 ], "x-enumNames": [ "CENTER", "LEFT", "RIGHT" ], "x-enumDescriptions": [ "Splash card is centred", "Splash card is aligned to the left", "Splash card is aligned to the right" ], "description": "Alignment of the splash card (center, left, or right)" }, "features": { "type": "array", "items": { "type": "string" }, "description": "Array of guild feature strings" }, "message_history_cutoff": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "description": "ISO8601 timestamp controlling how far back members without Read Message History can access messages. Set to null to disable historical access." }, "password": { "$ref": "#/components/schemas/PasswordType" }, "mfa_method": { "type": "string", "enum": [ "totp", "sms", "webauthn" ], "x-enumNames": [ "TOTP", "SMS", "WebAuthn" ], "x-enumDescriptions": [ "Time-based one-time password authentication via authenticator app", "One-time password sent via text message", "Security key or biometric authentication" ], "description": "MFA method to use for verification" }, "mfa_code": { "type": "string", "description": "MFA verification code from authenticator app or SMS" }, "webauthn_response": { "type": "object", "description": "WebAuthn authentication response" }, "webauthn_challenge": { "type": "string", "description": "WebAuthn challenge string" } } }, "GuildAuditLogListResponse": { "type": "object", "properties": { "audit_log_entries": { "type": "array", "items": { "$ref": "#/components/schemas/GuildAuditLogEntryResponse" }, "maxItems": 100, "description": "Array of audit log entries" }, "users": { "type": "array", "items": { "$ref": "#/components/schemas/UserPartialResponse" }, "maxItems": 100, "description": "Users referenced in the audit log entries" }, "webhooks": { "type": "array", "items": { "$ref": "#/components/schemas/AuditLogWebhookResponse" }, "maxItems": 100, "description": "Webhooks referenced in the audit log entries" } }, "required": [ "audit_log_entries", "users", "webhooks" ] }, "GuildAuditLogEntryResponse": { "type": "object", "properties": { "id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "The unique identifier for this audit log entry" }, "action_type": { "$ref": "#/components/schemas/AuditLogActionType" }, "user_id": { "anyOf": [ { "$ref": "#/components/schemas/SnowflakeType" }, { "type": "null" } ], "description": "The user ID of the user who performed the action" }, "target_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The ID of the affected entity (user, channel, role, invite code, etc.)" }, "reason": { "type": "string", "description": "The reason provided for the action" }, "options": { "type": "object", "properties": { "channel_id": { "type": "string", "description": "Channel ID for relevant actions" }, "count": { "type": "number", "description": "Count of items affected" }, "delete_member_days": { "type": "string", "description": "Number of days of messages to delete on member ban" }, "id": { "type": "string", "description": "ID of the affected entity" }, "integration_type": { "type": "number", "description": "Type of integration" }, "message_id": { "type": "string", "description": "Message ID for relevant actions" }, "members_removed": { "type": "number", "description": "Number of members removed" }, "role_name": { "type": "string", "description": "Name of the role" }, "type": { "type": "number", "description": "Type identifier" }, "inviter_id": { "type": "string", "description": "ID of the user who created the invite" }, "max_age": { "type": "number", "description": "Maximum age of the invite in seconds" }, "max_uses": { "type": "number", "description": "Maximum number of uses for the invite" }, "temporary": { "type": "boolean", "description": "Whether the invite grants temporary membership" }, "uses": { "type": "number", "description": "Number of times the invite has been used" } }, "description": "Additional options depending on action type" }, "changes": { "type": "array", "items": { "$ref": "#/components/schemas/AuditLogChangeSchema" }, "description": "Changes made to the target" } }, "required": [ "id", "action_type" ] }, "AuditLogActionType": { "type": "integer", "format": "int32", "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, 90, 91, 92, 72, 73, 74, 75 ], "x-enumNames": [ "GUILD_UPDATE", "CHANNEL_CREATE", "CHANNEL_UPDATE", "CHANNEL_DELETE", "CHANNEL_OVERWRITE_CREATE", "CHANNEL_OVERWRITE_UPDATE", "CHANNEL_OVERWRITE_DELETE", "MEMBER_KICK", "MEMBER_PRUNE", "MEMBER_BAN_ADD", "MEMBER_BAN_REMOVE", "MEMBER_UPDATE", "MEMBER_ROLE_UPDATE", "MEMBER_MOVE", "MEMBER_DISCONNECT", "BOT_ADD", "ROLE_CREATE", "ROLE_UPDATE", "ROLE_DELETE", "INVITE_CREATE", "INVITE_UPDATE", "INVITE_DELETE", "WEBHOOK_CREATE", "WEBHOOK_UPDATE", "WEBHOOK_DELETE", "EMOJI_CREATE", "EMOJI_UPDATE", "EMOJI_DELETE", "STICKER_CREATE", "STICKER_UPDATE", "STICKER_DELETE", "MESSAGE_DELETE", "MESSAGE_BULK_DELETE", "MESSAGE_PIN", "MESSAGE_UNPIN" ], "x-enumDescriptions": [ "Guild settings were updated", "Channel was created", "Channel was updated", "Channel was deleted", "Permission overwrite was created", "Permission overwrite was updated", "Permission overwrite was deleted", "Member was kicked", "Members were pruned", "Member was banned", "Member ban was removed", "Member was updated", "Member roles were updated", "Member was moved to a different voice channel", "Member was disconnected from a voice channel", "Bot was added to the guild", "Role was created", "Role was updated", "Role was deleted", "Invite was created", "Invite was updated", "Invite was deleted", "Webhook was created", "Webhook was updated", "Webhook was deleted", "Emoji was created", "Emoji was updated", "Emoji was deleted", "Sticker was created", "Sticker was updated", "Sticker was deleted", "Message was deleted", "Messages were bulk deleted", "Message was pinned", "Message was unpinned" ], "description": "The type of action that occurred" }, "AuditLogChangeSchema": { "type": "object", "properties": { "key": { "type": "string", "description": "The field that changed" }, "old_value": { "oneOf": [ { "type": "string" }, { "type": "number" }, { "type": "boolean" }, { "type": "array", "items": { "type": "string" } }, { "type": "array", "items": { "type": "number" } }, { "type": "object", "properties": { "added": { "type": "array", "items": { "type": "string" } }, "removed": { "type": "array", "items": { "type": "string" } } }, "required": [ "added", "removed" ] }, { "type": "null" } ], "description": "Value before the change" }, "new_value": { "oneOf": [ { "type": "string" }, { "type": "number" }, { "type": "boolean" }, { "type": "array", "items": { "type": "string" } }, { "type": "array", "items": { "type": "number" } }, { "type": "object", "properties": { "added": { "type": "array", "items": { "type": "string" } }, "removed": { "type": "array", "items": { "type": "string" } } }, "required": [ "added", "removed" ] }, { "type": "null" } ], "description": "Value after the change" } }, "required": [ "key" ] }, "AuditLogWebhookResponse": { "type": "object", "properties": { "id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "The unique identifier for this webhook" }, "type": { "$ref": "#/components/schemas/WebhookType" }, "guild_id": { "anyOf": [ { "$ref": "#/components/schemas/SnowflakeType" }, { "type": "null" } ], "description": "The guild ID this webhook belongs to" }, "channel_id": { "anyOf": [ { "$ref": "#/components/schemas/SnowflakeType" }, { "type": "null" } ], "description": "The channel ID this webhook posts to" }, "name": { "type": "string", "description": "The name of the webhook" }, "avatar_hash": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The hash of the webhook avatar" } }, "required": [ "id", "type", "name" ] }, "WebhookType": { "type": "integer", "format": "int32", "enum": [ 1, 2 ], "x-enumNames": [ "INCOMING", "CHANNEL_FOLLOWER" ], "x-enumDescriptions": [ "Incoming webhook", "Channel follower webhook" ], "description": "The type of webhook" }, "GuildBanResponse": { "type": "object", "properties": { "user": { "$ref": "#/components/schemas/UserPartialResponse" }, "reason": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The reason for the ban" }, "moderator_id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "The ID of the moderator who issued the ban" }, "banned_at": { "type": "string", "format": "date-time", "description": "ISO8601 timestamp of when the ban was issued" }, "expires_at": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "description": "ISO8601 timestamp of when the ban expires (null if permanent)" } }, "required": [ "user", "moderator_id", "banned_at" ] }, "GuildBanCreateRequest": { "type": "object", "properties": { "delete_message_days": { "type": "integer", "minimum": 0, "maximum": 7, "format": "int32", "description": "Number of days of messages to delete from the banned user (0-7)" }, "reason": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The reason for the ban (max 512 characters)" }, "ban_duration_seconds": { "type": "integer", "format": "int53", "description": "Duration of the ban in seconds (0 for permanent, or a valid temporary duration)" } } }, "ChannelCreateRequest": { "oneOf": [ { "$ref": "#/components/schemas/ChannelCreateTextRequest" }, { "$ref": "#/components/schemas/ChannelCreateVoiceRequest" }, { "$ref": "#/components/schemas/ChannelCreateCategoryRequest" }, { "$ref": "#/components/schemas/ChannelCreateLinkRequest" } ] }, "ChannelCreateTextRequest": { "type": "object", "properties": { "topic": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The channel topic (1-1024 characters)" }, "url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "External URL for link channels" }, "parent_id": { "anyOf": [ { "$ref": "#/components/schemas/SnowflakeType" }, { "type": "null" } ], "description": "ID of the parent category for this channel" }, "bitrate": { "anyOf": [ { "type": "integer", "minimum": 8000, "maximum": 320000, "format": "int32" }, { "type": "null" } ], "description": "Voice channel bitrate in bits per second (8000-320000)" }, "user_limit": { "anyOf": [ { "type": "integer", "minimum": 0, "maximum": 99, "format": "int32" }, { "type": "null" } ], "description": "Maximum users allowed in voice channel (0-99, 0 means unlimited)" }, "permission_overwrites": { "type": "array", "items": { "$ref": "#/components/schemas/ChannelOverwriteRequest" }, "description": "Permission overwrites for roles and members" }, "nsfw": { "type": "boolean", "description": "Whether the channel is marked as NSFW" }, "type": { "type": "integer", "enum": [ 0 ], "x-enumNames": [ "GUILD_TEXT" ], "x-enumDescriptions": [ "Channel type (text channel)" ] }, "name": { "type": "string", "description": "The name of the channel" } }, "required": [ "type", "name" ] }, "ChannelCreateVoiceRequest": { "type": "object", "properties": { "topic": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The channel topic (1-1024 characters)" }, "url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "External URL for link channels" }, "parent_id": { "anyOf": [ { "$ref": "#/components/schemas/SnowflakeType" }, { "type": "null" } ], "description": "ID of the parent category for this channel" }, "bitrate": { "anyOf": [ { "type": "integer", "minimum": 8000, "maximum": 320000, "format": "int32" }, { "type": "null" } ], "description": "Voice channel bitrate in bits per second (8000-320000)" }, "user_limit": { "anyOf": [ { "type": "integer", "minimum": 0, "maximum": 99, "format": "int32" }, { "type": "null" } ], "description": "Maximum users allowed in voice channel (0-99, 0 means unlimited)" }, "permission_overwrites": { "type": "array", "items": { "$ref": "#/components/schemas/ChannelOverwriteRequest" }, "description": "Permission overwrites for roles and members" }, "nsfw": { "type": "boolean", "description": "Whether the channel is marked as NSFW" }, "type": { "type": "integer", "enum": [ 2 ], "x-enumNames": [ "GUILD_VOICE" ], "x-enumDescriptions": [ "Channel type (voice channel)" ] }, "name": { "type": "string", "description": "The name of the channel" } }, "required": [ "type", "name" ] }, "ChannelCreateCategoryRequest": { "type": "object", "properties": { "topic": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The channel topic (1-1024 characters)" }, "url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "External URL for link channels" }, "parent_id": { "anyOf": [ { "$ref": "#/components/schemas/SnowflakeType" }, { "type": "null" } ], "description": "ID of the parent category for this channel" }, "bitrate": { "anyOf": [ { "type": "integer", "minimum": 8000, "maximum": 320000, "format": "int32" }, { "type": "null" } ], "description": "Voice channel bitrate in bits per second (8000-320000)" }, "user_limit": { "anyOf": [ { "type": "integer", "minimum": 0, "maximum": 99, "format": "int32" }, { "type": "null" } ], "description": "Maximum users allowed in voice channel (0-99, 0 means unlimited)" }, "permission_overwrites": { "type": "array", "items": { "$ref": "#/components/schemas/ChannelOverwriteRequest" }, "description": "Permission overwrites for roles and members" }, "nsfw": { "type": "boolean", "description": "Whether the channel is marked as NSFW" }, "type": { "type": "integer", "enum": [ 4 ], "x-enumNames": [ "GUILD_CATEGORY" ], "x-enumDescriptions": [ "Channel type (category)" ] }, "name": { "type": "string", "description": "The name of the category" } }, "required": [ "type", "name" ] }, "ChannelCreateLinkRequest": { "type": "object", "properties": { "topic": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The channel topic (1-1024 characters)" }, "url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "External URL for link channels" }, "parent_id": { "anyOf": [ { "$ref": "#/components/schemas/SnowflakeType" }, { "type": "null" } ], "description": "ID of the parent category for this channel" }, "bitrate": { "anyOf": [ { "type": "integer", "minimum": 8000, "maximum": 320000, "format": "int32" }, { "type": "null" } ], "description": "Voice channel bitrate in bits per second (8000-320000)" }, "user_limit": { "anyOf": [ { "type": "integer", "minimum": 0, "maximum": 99, "format": "int32" }, { "type": "null" } ], "description": "Maximum users allowed in voice channel (0-99, 0 means unlimited)" }, "permission_overwrites": { "type": "array", "items": { "$ref": "#/components/schemas/ChannelOverwriteRequest" }, "description": "Permission overwrites for roles and members" }, "nsfw": { "type": "boolean", "description": "Whether the channel is marked as NSFW" }, "type": { "type": "integer", "enum": [ 998 ], "x-enumNames": [ "GUILD_LINK" ], "x-enumDescriptions": [ "Channel type (link channel)" ] }, "name": { "type": "string", "description": "The name of the channel" } }, "required": [ "type", "name" ] }, "ChannelPositionUpdateRequest": { "type": "array", "items": { "type": "object", "properties": { "id": { "$ref": "#/components/schemas/SnowflakeType" }, "position": { "type": "integer", "minimum": 0, "maximum": 9007199254740991, "format": "int64", "description": "New position for the channel" }, "parent_id": { "anyOf": [ { "$ref": "#/components/schemas/SnowflakeType" }, { "type": "null" } ], "description": "New parent category ID" }, "lock_permissions": { "type": "boolean", "description": "Whether to sync permissions with the new parent" } }, "required": [ "id" ] } }, "GuildDeleteRequest": { "type": "object", "properties": { "password": { "$ref": "#/components/schemas/PasswordType" }, "mfa_method": { "type": "string", "enum": [ "totp", "sms", "webauthn" ], "x-enumNames": [ "TOTP", "SMS", "WebAuthn" ], "x-enumDescriptions": [ "Time-based one-time password authentication via authenticator app", "One-time password sent via text message", "Security key or biometric authentication" ], "description": "MFA method to use for verification" }, "mfa_code": { "type": "string", "description": "MFA verification code from authenticator app or SMS" }, "webauthn_response": { "type": "object", "description": "WebAuthn authentication response" }, "webauthn_challenge": { "type": "string", "description": "WebAuthn challenge string" } } }, "EnabledToggleRequest": { "type": "object", "properties": { "enabled": { "type": "boolean", "description": "Whether to enable or disable the feature" } }, "required": [ "enabled" ] }, "DiscoveryApplicationRequest": { "type": "object", "properties": { "description": { "type": "string", "minLength": 10, "maxLength": 300, "description": "Description for discovery listing" }, "category_type": { "type": "integer", "minimum": 0, "maximum": 8, "format": "int32", "description": "Discovery category type" } }, "required": [ "description", "category_type" ] }, "DiscoveryApplicationPatchRequest": { "type": "object", "properties": { "description": { "type": "string", "minLength": 10, "maxLength": 300, "description": "Updated description for discovery listing" }, "category_type": { "type": "integer", "minimum": 0, "maximum": 8, "format": "int32", "description": "Updated discovery category type" } } }, "DiscoveryStatusResponse": { "type": "object", "properties": { "application": { "anyOf": [ { "$ref": "#/components/schemas/DiscoveryApplicationResponse" }, { "type": "null" } ], "description": "Current discovery application, if any" }, "eligible": { "type": "boolean", "description": "Whether the guild meets the requirements to apply for discovery" }, "min_member_count": { "type": "number", "description": "Minimum member count required for discovery eligibility" } }, "required": [ "eligible", "min_member_count" ] }, "GuildEmojiResponse": { "type": "object", "properties": { "id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "The unique identifier for this emoji" }, "name": { "type": "string", "description": "The name of the emoji" }, "animated": { "type": "boolean", "description": "Whether this emoji is animated" } }, "required": [ "id", "name", "animated" ] }, "GuildEmojiCreateRequest": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the emoji (2-32 characters, alphanumeric and underscores only)" }, "image": { "$ref": "#/components/schemas/Base64ImageType" } }, "required": [ "name", "image" ] }, "GuildEmojiWithUserListResponse": { "type": "array", "items": { "$ref": "#/components/schemas/GuildEmojiWithUserResponse" } }, "GuildEmojiWithUserResponse": { "type": "object", "properties": { "id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "The unique identifier for this emoji" }, "name": { "type": "string", "description": "The name of the emoji" }, "animated": { "type": "boolean", "description": "Whether this emoji is animated" }, "user": { "$ref": "#/components/schemas/UserPartialResponse" } }, "required": [ "id", "name", "animated", "user" ] }, "GuildEmojiBulkCreateResponse": { "type": "object", "properties": { "success": { "type": "array", "items": { "$ref": "#/components/schemas/GuildEmojiResponse" }, "maxItems": 500, "description": "Successfully created emojis" }, "failed": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the emoji that failed to create" }, "error": { "type": "string", "description": "The error message explaining why the emoji failed to create" } }, "required": [ "name", "error" ] }, "maxItems": 500, "description": "Emojis that failed to create" } }, "required": [ "success", "failed" ] }, "GuildEmojiBulkCreateRequest": { "type": "object", "properties": { "emojis": { "type": "array", "items": { "$ref": "#/components/schemas/GuildEmojiCreateRequest" }, "minItems": 1, "maxItems": 50, "description": "Array of emoji objects to create (1-50 emojis per batch)" } }, "required": [ "emojis" ] }, "GuildEmojiUpdateRequest": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the emoji (2-32 characters, alphanumeric and underscores only)" } }, "required": [ "name" ] }, "GuildMemberSearchResponse": { "type": "object", "properties": { "guild_id": { "type": "string", "description": "Guild ID" }, "members": { "type": "array", "items": { "$ref": "#/components/schemas/GuildMemberSearchResult" }, "description": "Matching members" }, "page_result_count": { "type": "integer", "format": "int53", "description": "Number of results in this page" }, "total_result_count": { "type": "integer", "format": "int53", "description": "Total number of matching results" }, "indexing": { "type": "boolean", "description": "Whether the guild members are currently being indexed" } }, "required": [ "guild_id", "members", "page_result_count", "total_result_count", "indexing" ] }, "GuildMemberSearchResult": { "type": "object", "properties": { "id": { "type": "string", "description": "Composite ID (guildId:userId)" }, "guild_id": { "type": "string", "description": "Guild ID" }, "user_id": { "type": "string", "description": "User ID" }, "username": { "type": "string", "description": "Username" }, "discriminator": { "type": "string", "description": "Zero-padded 4-digit discriminator" }, "global_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Global display name" }, "nickname": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Guild nickname" }, "role_ids": { "type": "array", "items": { "type": "string" }, "description": "Role IDs" }, "joined_at": { "type": "number", "description": "Unix timestamp of when the member joined" }, "supplemental": { "type": "object", "properties": { "join_source_type": { "anyOf": [ { "$ref": "#/components/schemas/JoinSourceType" }, { "type": "null" } ], "description": "How the member joined" }, "source_invite_code": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Invite code used to join" }, "inviter_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "User ID of the member who sent the invite" } }, "required": [ "source_invite_code", "inviter_id" ], "description": "Supplemental members-search-only metadata that is not part of the base guild member payload" }, "is_bot": { "type": "boolean", "description": "Whether the user is a bot" } }, "required": [ "id", "guild_id", "user_id", "username", "discriminator", "global_name", "nickname", "role_ids", "joined_at", "supplemental", "is_bot" ] }, "JoinSourceType": { "type": "integer", "format": "int32", "enum": [ 0, 1, 2, 3, 4 ], "x-enumNames": [ "CREATOR", "INSTANT_INVITE", "VANITY_URL", "BOT_INVITE", "ADMIN_FORCE_ADD" ], "x-enumDescriptions": [ "Member created the guild", "Member joined via an instant invite", "Member joined via the vanity URL", "Member was added via a bot invite", "Member was force-added by a platform administrator" ], "description": "How the member joined the guild" }, "GuildMemberSearchRequest": { "type": "object", "properties": { "query": { "type": "string", "maxLength": 100, "description": "Text to search for in usernames, global names, and nicknames" }, "limit": { "type": "integer", "minimum": 1, "maximum": 100, "format": "int32", "description": "Maximum number of results to return" }, "offset": { "type": "integer", "minimum": 0, "maximum": 9007199254740991, "format": "int64", "description": "Number of results to skip for pagination" }, "role_ids": { "type": "array", "items": { "type": "string" }, "maxItems": 10, "description": "Filter by role IDs (member must have all specified roles)" }, "joined_at_gte": { "type": "integer", "format": "int53", "description": "Filter members who joined at or after this unix timestamp" }, "joined_at_lte": { "type": "integer", "format": "int53", "description": "Filter members who joined at or before this unix timestamp" }, "join_source_type": { "type": "array", "items": { "type": "integer", "format": "int53" }, "maxItems": 10, "description": "Filter by join source types" }, "source_invite_code": { "type": "array", "items": { "type": "string" }, "maxItems": 10, "description": "Filter by invite codes used to join" }, "is_bot": { "type": "boolean", "description": "Filter by bot status" }, "user_created_at_gte": { "type": "integer", "format": "int53", "description": "Filter members whose account was created at or after this unix timestamp" }, "user_created_at_lte": { "type": "integer", "format": "int53", "description": "Filter members whose account was created at or before this unix timestamp" }, "sort_by": { "enum": [ "joinedAt", "relevance" ], "type": "string", "x-enumNames": [ "joinedAt", "relevance" ], "description": "Sort results by field" }, "sort_order": { "enum": [ "asc", "desc" ], "type": "string", "x-enumNames": [ "asc", "desc" ], "description": "Sort order" } } }, "MyGuildMemberUpdateRequest": { "type": "object", "properties": { "nick": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The nickname to set for the member (1-32 characters)" }, "avatar": { "anyOf": [ { "$ref": "#/components/schemas/Base64ImageType" }, { "type": "null" } ], "description": "Base64-encoded image data for the member guild avatar" }, "banner": { "anyOf": [ { "$ref": "#/components/schemas/Base64ImageType" }, { "type": "null" } ], "description": "Base64-encoded image data for the member guild banner" }, "bio": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The member guild profile bio (1-320 characters)" }, "pronouns": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The member guild profile pronouns (1-40 characters)" }, "accent_color": { "anyOf": [ { "type": "integer", "minimum": 0, "maximum": 16777215, "format": "int32" }, { "type": "null" } ], "description": "The accent color for the member guild profile as an integer" }, "profile_flags": { "anyOf": [ { "$ref": "#/components/schemas/GuildMemberProfileFlags" }, { "type": "null" } ] }, "mute": { "type": "boolean", "description": "Whether the member is muted in voice channels" }, "deaf": { "type": "boolean", "description": "Whether the member is deafened in voice channels" }, "communication_disabled_until": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "description": "ISO8601 timestamp until which the member is timed out" }, "timeout_reason": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The reason for timing out the member (1-512 characters)" }, "channel_id": { "anyOf": [ { "$ref": "#/components/schemas/SnowflakeType" }, { "type": "null" } ], "description": "The voice channel ID to move the member to" }, "connection_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The voice connection ID for the member" } } }, "GuildMemberUpdateRequest": { "type": "object", "properties": { "nick": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The nickname to set for the member (1-32 characters)" }, "roles": { "type": "array", "items": { "$ref": "#/components/schemas/SnowflakeType" }, "maxItems": 100, "description": "Array of role IDs to assign to the member (max 100)" }, "avatar": { "anyOf": [ { "$ref": "#/components/schemas/Base64ImageType" }, { "type": "null" } ], "description": "Base64-encoded image data for the member guild avatar" }, "banner": { "anyOf": [ { "$ref": "#/components/schemas/Base64ImageType" }, { "type": "null" } ], "description": "Base64-encoded image data for the member guild banner" }, "bio": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The member guild profile bio (1-320 characters)" }, "pronouns": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The member guild profile pronouns (1-40 characters)" }, "accent_color": { "anyOf": [ { "type": "integer", "minimum": 0, "maximum": 16777215, "format": "int32" }, { "type": "null" } ], "description": "The accent color for the member guild profile as an integer" }, "profile_flags": { "anyOf": [ { "$ref": "#/components/schemas/GuildMemberProfileFlags" }, { "type": "null" } ] }, "mute": { "type": "boolean", "description": "Whether the member is muted in voice channels" }, "deaf": { "type": "boolean", "description": "Whether the member is deafened in voice channels" }, "communication_disabled_until": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "description": "ISO8601 timestamp until which the member is timed out" }, "timeout_reason": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The reason for timing out the member (1-512 characters)" }, "channel_id": { "anyOf": [ { "$ref": "#/components/schemas/SnowflakeType" }, { "type": "null" } ], "description": "The voice channel ID to move the member to" }, "connection_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The voice connection ID for the member" } } }, "GuildRoleResponse": { "type": "object", "properties": { "id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "The unique identifier for this role" }, "name": { "type": "string", "description": "The name of the role" }, "color": { "type": "integer", "minimum": 0, "maximum": 2147483647, "format": "int32", "description": "The colour of the role as an integer" }, "position": { "type": "integer", "minimum": 0, "maximum": 2147483647, "format": "int32", "description": "The position of the role in the role hierarchy" }, "hoist_position": { "anyOf": [ { "$ref": "#/components/schemas/Int32Type" }, { "type": "null" } ], "description": "The position of the role in the hoisted member list" }, "permissions": { "type": "string", "format": "int64", "pattern": "^[0-9]+$", "description": "The permissions bitfield for the role" }, "hoist": { "type": "boolean", "description": "Whether this role is displayed separately in the member list" }, "mentionable": { "type": "boolean", "description": "Whether this role can be mentioned by anyone" }, "unicode_emoji": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The unicode emoji for this role" } }, "required": [ "id", "name", "color", "position", "permissions", "hoist", "mentionable" ] }, "GuildRoleCreateRequest": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the role (1-100 characters)" }, "color": { "type": "integer", "minimum": 0, "maximum": 16777215, "format": "int32", "description": "The color of the role as an integer (default: 0)" }, "permissions": { "$ref": "#/components/schemas/UnsignedInt64Type" } }, "required": [ "name" ] }, "GuildRolePositionsRequest": { "type": "array", "items": { "$ref": "#/components/schemas/GuildRolePositionItem" } }, "GuildRolePositionItem": { "type": "object", "properties": { "id": { "$ref": "#/components/schemas/SnowflakeType" }, "position": { "type": "integer", "format": "int53", "description": "The new position for the role" } }, "required": [ "id" ] }, "GuildRoleHoistPositionsRequest": { "type": "array", "items": { "$ref": "#/components/schemas/GuildRoleHoistPositionItem" } }, "GuildRoleHoistPositionItem": { "type": "object", "properties": { "id": { "$ref": "#/components/schemas/SnowflakeType" }, "hoist_position": { "type": "integer", "format": "int53", "description": "The new hoist position for the role" } }, "required": [ "id", "hoist_position" ] }, "GuildRoleUpdateRequest": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the role (1-100 characters)" }, "color": { "type": "integer", "minimum": 0, "maximum": 16777215, "format": "int32", "description": "The color of the role as an integer" }, "permissions": { "$ref": "#/components/schemas/UnsignedInt64Type" }, "hoist": { "type": "boolean", "description": "Whether the role should be displayed separately in the member list" }, "hoist_position": { "anyOf": [ { "type": "integer", "format": "int53" }, { "type": "null" } ], "description": "The position of the role in the hoisted member list" }, "mentionable": { "type": "boolean", "description": "Whether the role can be mentioned by anyone" } } }, "GuildStickerResponse": { "type": "object", "properties": { "id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "The unique identifier for this sticker" }, "name": { "type": "string", "description": "The name of the sticker" }, "description": { "type": "string", "description": "The description of the sticker" }, "tags": { "type": "array", "items": { "type": "string" }, "maxItems": 100, "description": "Autocomplete/suggestion tags for the sticker" }, "animated": { "type": "boolean", "description": "Whether this sticker is animated" } }, "required": [ "id", "name", "description", "tags", "animated" ] }, "GuildStickerCreateRequest": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the sticker (2-30 characters)" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Description of the sticker (1-500 characters)" }, "tags": { "type": "array", "items": { "type": "string" }, "minItems": 0, "maxItems": 10, "description": "Array of autocomplete/suggestion tags (max 10 tags, each 1-30 characters)" }, "image": { "$ref": "#/components/schemas/Base64ImageType" } }, "required": [ "name", "image" ] }, "GuildStickerWithUserListResponse": { "type": "array", "items": { "$ref": "#/components/schemas/GuildStickerWithUserResponse" } }, "GuildStickerWithUserResponse": { "type": "object", "properties": { "id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "The unique identifier for this sticker" }, "name": { "type": "string", "description": "The name of the sticker" }, "description": { "type": "string", "description": "The description of the sticker" }, "tags": { "type": "array", "items": { "type": "string" }, "maxItems": 100, "description": "Autocomplete/suggestion tags for the sticker" }, "animated": { "type": "boolean", "description": "Whether this sticker is animated" }, "user": { "$ref": "#/components/schemas/UserPartialResponse" } }, "required": [ "id", "name", "description", "tags", "animated", "user" ] }, "GuildStickerBulkCreateResponse": { "type": "object", "properties": { "success": { "type": "array", "items": { "$ref": "#/components/schemas/GuildStickerResponse" }, "maxItems": 500, "description": "Successfully created stickers" }, "failed": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the sticker that failed to create" }, "error": { "type": "string", "description": "The error message explaining why the sticker failed to create" } }, "required": [ "name", "error" ] }, "maxItems": 500, "description": "Stickers that failed to create" } }, "required": [ "success", "failed" ] }, "GuildStickerBulkCreateRequest": { "type": "object", "properties": { "stickers": { "type": "array", "items": { "$ref": "#/components/schemas/GuildStickerCreateRequest" }, "minItems": 1, "maxItems": 50, "description": "Array of sticker objects to create (1-50 stickers per batch)" } }, "required": [ "stickers" ] }, "GuildStickerUpdateRequest": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the sticker (2-30 characters)" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Description of the sticker (1-500 characters)" }, "tags": { "type": "array", "items": { "type": "string" }, "minItems": 0, "maxItems": 10, "description": "Array of autocomplete/suggestion tags (max 10 tags, each 1-30 characters)" } }, "required": [ "name" ] }, "GuildTransferOwnershipRequest": { "type": "object", "properties": { "new_owner_id": { "$ref": "#/components/schemas/SnowflakeType" }, "password": { "$ref": "#/components/schemas/PasswordType" } }, "required": [ "new_owner_id" ] }, "GuildVanityURLResponse": { "type": "object", "properties": { "code": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The vanity URL code for the guild" }, "uses": { "type": "integer", "minimum": 0, "maximum": 2147483647, "format": "int32", "description": "The number of times this vanity URL has been used" } }, "required": [ "uses" ] }, "GuildVanityURLUpdateResponse": { "type": "object", "properties": { "code": { "type": "string", "description": "The new vanity URL code" } }, "required": [ "code" ] }, "GuildVanityURLUpdateRequest": { "type": "object", "properties": { "code": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The new vanity URL code (2-32 characters, alphanumeric and hyphens)" } } }, "InviteResponseSchema": { "oneOf": [ { "$ref": "#/components/schemas/GuildInviteResponse" }, { "$ref": "#/components/schemas/GroupDmInviteResponse" }, { "$ref": "#/components/schemas/PackInviteResponse" } ] }, "GuildInviteResponse": { "type": "object", "properties": { "code": { "type": "string", "description": "The unique invite code" }, "type": { "type": "integer", "enum": [ 0 ], "description": "The type of invite (guild)" }, "guild": { "type": "object", "properties": { "id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "The unique identifier for this guild" }, "name": { "type": "string", "description": "The name of the guild" }, "icon": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The hash of the guild icon" }, "banner": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The hash of the guild banner" }, "banner_width": { "anyOf": [ { "$ref": "#/components/schemas/Int32Type" }, { "type": "null" } ], "description": "The width of the guild banner in pixels" }, "banner_height": { "anyOf": [ { "$ref": "#/components/schemas/Int32Type" }, { "type": "null" } ], "description": "The height of the guild banner in pixels" }, "splash": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The hash of the guild splash screen" }, "splash_width": { "anyOf": [ { "$ref": "#/components/schemas/Int32Type" }, { "type": "null" } ], "description": "The width of the guild splash in pixels" }, "splash_height": { "anyOf": [ { "$ref": "#/components/schemas/Int32Type" }, { "type": "null" } ], "description": "The height of the guild splash in pixels" }, "splash_card_alignment": { "type": "integer", "enum": [ 0, 1, 2 ], "description": "The alignment of the splash card" }, "embed_splash": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The hash of the embedded invite splash" }, "embed_splash_width": { "anyOf": [ { "$ref": "#/components/schemas/Int32Type" }, { "type": "null" } ], "description": "The width of the embedded invite splash in pixels" }, "embed_splash_height": { "anyOf": [ { "$ref": "#/components/schemas/Int32Type" }, { "type": "null" } ], "description": "The height of the embedded invite splash in pixels" }, "features": { "type": "array", "items": { "$ref": "#/components/schemas/GuildFeatureSchema" }, "maxItems": 100, "description": "Array of guild feature flags" } }, "required": [ "id", "name", "splash_card_alignment", "features" ], "description": "The guild this invite is for" }, "channel": { "$ref": "#/components/schemas/ChannelPartialResponse" }, "inviter": { "anyOf": [ { "$ref": "#/components/schemas/UserPartialResponse" }, { "type": "null" } ], "description": "The user who created the invite" }, "member_count": { "type": "integer", "minimum": 0, "maximum": 2147483647, "format": "int32", "description": "The approximate total member count of the guild" }, "presence_count": { "type": "integer", "minimum": 0, "maximum": 2147483647, "format": "int32", "description": "The approximate online member count of the guild" }, "expires_at": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "description": "ISO8601 timestamp of when the invite expires" }, "temporary": { "type": "boolean", "description": "Whether the invite grants temporary membership" } }, "required": [ "code", "type", "guild", "channel", "member_count", "presence_count", "temporary" ] }, "GroupDmInviteResponse": { "type": "object", "properties": { "code": { "type": "string", "description": "The unique invite code" }, "type": { "type": "integer", "enum": [ 1 ], "description": "The type of invite (group DM)" }, "channel": { "$ref": "#/components/schemas/ChannelPartialResponse" }, "inviter": { "anyOf": [ { "$ref": "#/components/schemas/UserPartialResponse" }, { "type": "null" } ], "description": "The user who created the invite" }, "member_count": { "type": "integer", "minimum": 0, "maximum": 2147483647, "format": "int32", "description": "The current member count of the group DM" }, "expires_at": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "description": "ISO8601 timestamp of when the invite expires" }, "temporary": { "type": "boolean", "description": "Whether the invite grants temporary membership" } }, "required": [ "code", "type", "channel", "member_count", "temporary" ] }, "PackInviteResponse": { "type": "object", "properties": { "code": { "type": "string", "description": "The unique invite code" }, "type": { "type": "integer", "enum": [ 2, 3 ], "description": "The type of pack invite (emoji or sticker pack)" }, "pack": { "type": "object", "properties": { "id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "The unique identifier for the pack" }, "name": { "type": "string", "description": "The display name of the pack" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The description of the pack" }, "type": { "type": "string", "enum": [ "emoji", "sticker" ], "description": "The type of pack (emoji or sticker)" }, "creator_id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "The ID of the user who created the pack" }, "created_at": { "type": "string", "format": "date-time", "description": "ISO8601 timestamp of when the pack was created" }, "updated_at": { "type": "string", "format": "date-time", "description": "ISO8601 timestamp of when the pack was last updated" }, "creator": { "$ref": "#/components/schemas/UserPartialResponse" } }, "required": [ "id", "name", "type", "creator_id", "created_at", "updated_at", "creator" ], "description": "The pack this invite is for" }, "inviter": { "anyOf": [ { "$ref": "#/components/schemas/UserPartialResponse" }, { "type": "null" } ], "description": "The user who created the invite" }, "expires_at": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "description": "ISO8601 timestamp of when the invite expires" }, "temporary": { "type": "boolean", "description": "Whether the invite grants temporary access" } }, "required": [ "code", "type", "pack", "temporary" ] }, "KlipyFeaturedResponse": { "type": "object", "properties": { "gifs": { "type": "array", "items": { "$ref": "#/components/schemas/KlipyGifResponse" }, "maxItems": 50, "description": "Array of featured/trending clips" }, "categories": { "type": "array", "items": { "$ref": "#/components/schemas/KlipyCategoryTagResponse" }, "maxItems": 100, "description": "Array of clip categories" } }, "required": [ "gifs", "categories" ] }, "KlipyGifResponse": { "type": "object", "properties": { "id": { "type": "string", "description": "The unique Klipy clip slug" }, "title": { "type": "string", "description": "The title/description of the clip" }, "url": { "type": "string", "description": "The Klipy page URL for the clip" }, "src": { "type": "string", "description": "Direct URL to the clip media file" }, "proxy_src": { "type": "string", "description": "Proxied URL to the clip media file" }, "width": { "type": "integer", "minimum": 0, "maximum": 2147483647, "format": "int32", "description": "Width of the clip in pixels" }, "height": { "type": "integer", "minimum": 0, "maximum": 2147483647, "format": "int32", "description": "Height of the clip in pixels" } }, "required": [ "id", "title", "url", "src", "proxy_src", "width", "height" ] }, "KlipyCategoryTagResponse": { "type": "object", "properties": { "name": { "type": "string", "description": "The category/tag name" }, "src": { "type": "string", "description": "URL to the category preview image" }, "proxy_src": { "type": "string", "description": "Proxied URL to the category preview image" } }, "required": [ "name", "src", "proxy_src" ] }, "Locale": { "type": "string", "enum": [ "ar", "bg", "cs", "da", "de", "el", "en-GB", "en-US", "es-ES", "es-419", "fi", "fr", "he", "hi", "hr", "hu", "id", "it", "ja", "ko", "lt", "nl", "no", "pl", "pt-BR", "ro", "ru", "sv-SE", "th", "tr", "uk", "vi", "zh-CN", "zh-TW" ], "x-enumNames": [ "AR", "BG", "CS", "DA", "DE", "EL", "EN_GB", "EN_US", "ES_ES", "ES_419", "FI", "FR", "HE", "HI", "HR", "HU", "ID", "IT", "JA", "KO", "LT", "NL", "NO", "PL", "PT_BR", "RO", "RU", "SV_SE", "TH", "TR", "UK", "VI", "ZH_CN", "ZH_TW" ], "x-enumDescriptions": [ "Arabic", "Bulgarian", "Czech", "Danish", "German", "Greek", "English (United Kingdom)", "English (United States)", "Spanish (Spain)", "Spanish (Latin America)", "Finnish", "French", "Hebrew", "Hindi", "Croatian", "Hungarian", "Indonesian", "Italian", "Japanese", "Korean", "Lithuanian", "Dutch", "Norwegian", "Polish", "Portuguese (Brazil)", "Romanian", "Russian", "Swedish", "Thai", "Turkish", "Ukrainian", "Vietnamese", "Chinese (Simplified)", "Chinese (Traditional)" ], "description": "The locale code for the user interface language" }, "KlipyRegisterShareRequest": { "type": "object", "properties": { "id": { "type": "string", "description": "The Klipy clip slug" }, "q": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The search query used to find the clip" }, "locale": { "$ref": "#/components/schemas/Locale" } }, "required": [ "id" ] }, "OAuth2MeResponse": { "type": "object", "properties": { "application": { "type": "object", "properties": { "id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "The unique identifier of the application" }, "name": { "type": "string", "description": "The name of the application" }, "icon": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The icon hash of the application" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The description of the application" }, "bot_public": { "type": "boolean", "description": "Whether the bot can be invited by anyone" }, "bot_require_code_grant": { "type": "boolean", "description": "Whether the bot requires OAuth2 code grant" }, "flags": { "$ref": "#/components/schemas/ApplicationFlags" } }, "required": [ "id", "name", "icon", "description", "bot_public", "bot_require_code_grant", "flags" ], "description": "The application associated with the token" }, "scopes": { "type": "array", "items": { "type": "string" }, "maxItems": 50, "description": "The list of granted OAuth2 scopes" }, "expires": { "type": "string", "description": "The expiration timestamp of the token" }, "user": { "type": "object", "properties": { "id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "The unique identifier of the user" }, "username": { "type": "string", "description": "The username of the user" }, "discriminator": { "type": "string", "description": "The discriminator of the user" }, "global_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The global display name of the user" }, "avatar": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The avatar hash of the user" }, "avatar_color": { "anyOf": [ { "$ref": "#/components/schemas/Int32Type" }, { "type": "null" } ], "description": "The default avatar color of the user" }, "bot": { "type": "boolean", "description": "Whether the user is a bot" }, "system": { "type": "boolean", "description": "Whether the user is a system user" }, "flags": { "$ref": "#/components/schemas/PublicUserFlags" }, "email": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The email address of the user" }, "verified": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Whether the user has verified their email" } }, "required": [ "id", "username", "discriminator", "global_name", "avatar", "avatar_color", "flags" ], "description": "The user associated with the token" } }, "required": [ "application", "scopes", "expires" ] }, "OAuth2AuthorizationsListResponse": { "type": "array", "items": { "$ref": "#/components/schemas/OAuth2AuthorizationResponse" } }, "OAuth2AuthorizationResponse": { "type": "object", "properties": { "application": { "type": "object", "properties": { "id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "The unique identifier of the application" }, "name": { "type": "string", "description": "The name of the application" }, "icon": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The icon hash of the application" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The description of the application" }, "bot_public": { "type": "boolean", "description": "Whether the bot can be invited by anyone" } }, "required": [ "id", "name", "icon", "description", "bot_public" ], "description": "The application that was authorized" }, "scopes": { "type": "array", "items": { "type": "string" }, "maxItems": 50, "description": "The list of granted OAuth2 scopes" }, "authorized_at": { "type": "string", "description": "The timestamp when the authorization was granted" } }, "required": [ "application", "scopes", "authorized_at" ] }, "ApplicationResponse": { "type": "object", "properties": { "id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "The unique identifier of the application" }, "name": { "type": "string", "description": "The name of the application" }, "redirect_uris": { "type": "array", "items": { "type": "string" }, "maxItems": 20, "description": "The registered redirect URIs for OAuth2" }, "bot_public": { "type": "boolean", "description": "Whether the bot can be invited by anyone" }, "bot_require_code_grant": { "type": "boolean", "description": "Whether the bot requires OAuth2 code grant" }, "client_secret": { "type": "string", "description": "The client secret for OAuth2 authentication" }, "bot": { "$ref": "#/components/schemas/ApplicationBotResponse" } }, "required": [ "id", "name", "redirect_uris", "bot_public", "bot_require_code_grant" ] }, "ApplicationCreateRequest": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the application" }, "redirect_uris": { "anyOf": [ { "type": "array", "items": { "$ref": "#/components/schemas/OAuth2RedirectURICreateType" }, "maxItems": 10 }, { "type": "null" } ], "description": "The redirect URIs for OAuth2 flows" }, "bot_public": { "type": "boolean", "description": "Whether the bot can be invited by anyone" }, "bot_require_code_grant": { "type": "boolean", "description": "Whether the bot requires OAuth2 code grant" } }, "required": [ "name" ] }, "OAuth2RedirectURICreateType": { "type": "string" }, "ApplicationListResponse": { "type": "array", "items": { "$ref": "#/components/schemas/ApplicationResponse" } }, "ApplicationUpdateRequest": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the application" }, "redirect_uris": { "anyOf": [ { "type": "array", "items": { "$ref": "#/components/schemas/OAuth2RedirectURIUpdateType" }, "maxItems": 10 }, { "type": "null" } ], "description": "The redirect URIs for OAuth2 flows" }, "bot_public": { "type": "boolean", "description": "Whether the bot can be invited by anyone" }, "bot_require_code_grant": { "type": "boolean", "description": "Whether the bot requires OAuth2 code grant" } } }, "OAuth2RedirectURIUpdateType": { "type": "string" }, "SudoVerificationSchema": { "type": "object", "properties": { "password": { "$ref": "#/components/schemas/PasswordType" }, "mfa_method": { "type": "string", "enum": [ "totp", "sms", "webauthn" ], "x-enumNames": [ "TOTP", "SMS", "WebAuthn" ], "x-enumDescriptions": [ "Time-based one-time password authentication via authenticator app", "One-time password sent via text message", "Security key or biometric authentication" ], "description": "MFA method to use for verification" }, "mfa_code": { "type": "string", "description": "MFA verification code from authenticator app or SMS" }, "webauthn_response": { "type": "object", "description": "WebAuthn authentication response" }, "webauthn_challenge": { "type": "string", "description": "WebAuthn challenge string" } } }, "BotProfileResponse": { "type": "object", "properties": { "id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "The unique identifier of the bot user" }, "username": { "type": "string", "description": "The username of the bot" }, "discriminator": { "type": "string", "description": "The discriminator of the bot" }, "avatar": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The avatar hash of the bot" }, "banner": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The banner hash of the bot" }, "bio": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The bio or description of the bot" } }, "required": [ "id", "username", "discriminator", "avatar", "banner", "bio" ] }, "BotProfileUpdateRequest": { "type": "object", "properties": { "username": { "$ref": "#/components/schemas/UsernameType" }, "discriminator": { "type": "string", "pattern": "^\\d{1,4}$", "description": "The discriminator of the bot" }, "avatar": { "anyOf": [ { "$ref": "#/components/schemas/Base64ImageType" }, { "type": "null" } ], "description": "The avatar image as base64" }, "banner": { "anyOf": [ { "$ref": "#/components/schemas/Base64ImageType" }, { "type": "null" } ], "description": "The banner image as base64" }, "bio": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The bio or description of the bot" }, "bot_flags": { "$ref": "#/components/schemas/BotFlags" } } }, "BotTokenResetResponse": { "type": "object", "properties": { "token": { "type": "string", "description": "The new bot token" }, "bot": { "$ref": "#/components/schemas/ApplicationBotResponse" } }, "required": [ "token", "bot" ] }, "ApplicationPublicResponse": { "type": "object", "properties": { "id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "The unique identifier of the application" }, "name": { "type": "string", "description": "The name of the application" }, "icon": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The icon hash of the application" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The description of the application" }, "redirect_uris": { "type": "array", "items": { "type": "string" }, "maxItems": 20, "description": "The registered redirect URIs for OAuth2" }, "scopes": { "type": "array", "items": { "type": "string" }, "maxItems": 50, "description": "The available OAuth2 scopes" }, "bot_public": { "type": "boolean", "description": "Whether the bot can be invited by anyone" }, "bot": { "anyOf": [ { "$ref": "#/components/schemas/ApplicationBotResponse" }, { "type": "null" } ], "description": "The bot user associated with the application" } }, "required": [ "id", "name", "icon", "description", "redirect_uris", "scopes", "bot_public", "bot" ] }, "OAuth2ConsentResponse": { "type": "object", "properties": { "redirect_to": { "type": "string", "description": "The URL to redirect the user to after consent" } }, "required": [ "redirect_to" ] }, "AuthorizeConsentRequest": { "type": "object", "properties": { "response_type": { "type": "string", "description": "The OAuth2 response type" }, "client_id": { "$ref": "#/components/schemas/SnowflakeType" }, "redirect_uri": { "type": "string", "description": "The URI to redirect to after authorization" }, "scope": { "type": "string", "description": "The space-separated list of requested scopes" }, "state": { "type": "string", "description": "A random string for CSRF protection" }, "permissions": { "type": "string", "description": "The bot permissions to request" }, "guild_id": { "$ref": "#/components/schemas/SnowflakeType" } }, "required": [ "client_id", "scope" ] }, "OAuth2IntrospectResponse": { "type": "object", "properties": { "active": { "type": "boolean", "description": "Whether the token is currently active" }, "scope": { "type": "string", "description": "The space-separated list of scopes" }, "client_id": { "$ref": "#/components/schemas/SnowflakeType" }, "username": { "type": "string", "description": "The username of the token owner" }, "token_type": { "type": "string", "description": "The type of token" }, "exp": { "$ref": "#/components/schemas/Int32Type" }, "iat": { "$ref": "#/components/schemas/Int32Type" }, "sub": { "$ref": "#/components/schemas/SnowflakeType" } }, "required": [ "active" ] }, "IntrospectRequestForm": { "type": "object", "properties": { "token": { "type": "string", "description": "The token to introspect" }, "client_id": { "$ref": "#/components/schemas/SnowflakeType" }, "client_secret": { "type": "string", "description": "The application client secret" } }, "required": [ "token" ] }, "OAuth2TokenResponse": { "type": "object", "properties": { "access_token": { "type": "string", "description": "The access token for API authorization" }, "token_type": { "type": "string", "description": "The type of token, typically \"Bearer\"" }, "expires_in": { "type": "integer", "minimum": 0, "maximum": 2147483647, "format": "int32", "description": "The number of seconds until the access token expires" }, "refresh_token": { "type": "string", "description": "The refresh token for obtaining new access tokens" }, "scope": { "type": "string", "description": "The space-separated list of granted scopes" } }, "required": [ "access_token", "token_type", "expires_in", "refresh_token", "scope" ] }, "TokenRequest": { "oneOf": [ { "type": "object", "properties": { "grant_type": { "type": "string", "enum": [ "authorization_code" ], "description": "The grant type for exchanging an authorization code" }, "code": { "type": "string", "description": "The authorization code received from the authorize endpoint" }, "redirect_uri": { "type": "string", "description": "The redirect URI used in the authorization request" }, "client_id": { "$ref": "#/components/schemas/SnowflakeType" }, "client_secret": { "type": "string", "description": "The application client secret" } }, "required": [ "grant_type", "code", "redirect_uri" ] }, { "type": "object", "properties": { "grant_type": { "type": "string", "enum": [ "refresh_token" ], "description": "The grant type for refreshing an access token" }, "refresh_token": { "type": "string", "description": "The refresh token to exchange for a new access token" }, "client_id": { "$ref": "#/components/schemas/SnowflakeType" }, "client_secret": { "type": "string", "description": "The application client secret" } }, "required": [ "grant_type", "refresh_token" ] } ] }, "RevokeRequestForm": { "type": "object", "properties": { "token": { "type": "string", "description": "The token to revoke" }, "token_type_hint": { "type": "string", "enum": [ "access_token", "refresh_token" ], "x-enumNames": [ "ACCESS_TOKEN", "REFRESH_TOKEN" ], "x-enumDescriptions": [ "An OAuth2 access token", "An OAuth2 refresh token" ], "description": "A hint about the type of token being revoked" }, "client_id": { "$ref": "#/components/schemas/SnowflakeType" }, "client_secret": { "type": "string", "description": "The application client secret" } }, "required": [ "token" ] }, "OAuth2UserInfoResponse": { "type": "object", "properties": { "sub": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "The subject identifier of the user" }, "id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "The unique identifier of the user" }, "username": { "type": "string", "description": "The username of the user" }, "discriminator": { "type": "string", "description": "The discriminator of the user" }, "global_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The global display name of the user" }, "avatar": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The avatar hash of the user" }, "email": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The email address of the user" }, "verified": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Whether the user has verified their email" }, "flags": { "$ref": "#/components/schemas/PublicUserFlags" } }, "required": [ "sub", "id", "username", "discriminator", "global_name", "avatar" ] }, "PackDashboardResponse": { "type": "object", "properties": { "emoji": { "type": "object", "properties": { "installed_limit": { "type": "integer", "minimum": 0, "maximum": 2147483647, "format": "int32", "description": "Maximum number of packs the user can install" }, "created_limit": { "type": "integer", "minimum": 0, "maximum": 2147483647, "format": "int32", "description": "Maximum number of packs the user can create" }, "installed": { "type": "array", "items": { "$ref": "#/components/schemas/PackSummaryResponse" }, "maxItems": 100, "description": "List of packs the user has installed" }, "created": { "type": "array", "items": { "$ref": "#/components/schemas/PackSummaryResponse" }, "maxItems": 100, "description": "List of packs the user has created" } }, "required": [ "installed_limit", "created_limit", "installed", "created" ], "description": "Dashboard section for emoji packs" }, "sticker": { "type": "object", "properties": { "installed_limit": { "type": "integer", "minimum": 0, "maximum": 2147483647, "format": "int32", "description": "Maximum number of packs the user can install" }, "created_limit": { "type": "integer", "minimum": 0, "maximum": 2147483647, "format": "int32", "description": "Maximum number of packs the user can create" }, "installed": { "type": "array", "items": { "$ref": "#/components/schemas/PackSummaryResponse" }, "maxItems": 100, "description": "List of packs the user has installed" }, "created": { "type": "array", "items": { "$ref": "#/components/schemas/PackSummaryResponse" }, "maxItems": 100, "description": "List of packs the user has created" } }, "required": [ "installed_limit", "created_limit", "installed", "created" ], "description": "Dashboard section for sticker packs" } }, "required": [ "emoji", "sticker" ] }, "PackSummaryResponse": { "type": "object", "properties": { "id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "The unique identifier (snowflake) for the pack" }, "name": { "type": "string", "description": "The display name of the pack" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The description of the pack" }, "type": { "type": "string", "enum": [ "emoji", "sticker" ], "description": "The type of expression pack (emoji or sticker)" }, "creator_id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "The ID of the user who created the pack" }, "created_at": { "type": "string", "format": "date-time", "description": "ISO8601 timestamp of when the pack was created" }, "updated_at": { "type": "string", "format": "date-time", "description": "ISO8601 timestamp of when the pack was last updated" }, "installed_at": { "type": "string", "format": "date-time", "description": "ISO8601 timestamp of when the pack was installed by the user" } }, "required": [ "id", "name", "description", "type", "creator_id", "created_at", "updated_at" ] }, "PackUpdateRequest": { "type": "object", "properties": { "name": { "type": "string", "description": "The new name of the pack" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The new description of the pack" } } }, "PackInviteCreateRequest": { "type": "object", "properties": { "max_uses": { "anyOf": [ { "type": "integer", "minimum": 0, "maximum": 100, "format": "int32" }, { "type": "null" } ], "description": "Maximum number of times this invite can be used (0 for unlimited)" }, "max_age": { "anyOf": [ { "type": "integer", "minimum": 0, "maximum": 604800, "format": "int32" }, { "type": "null" } ], "description": "Duration in seconds before the invite expires (0 for never)" }, "unique": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Whether to create a new unique invite or reuse an existing one" } } }, "PackCreateRequest": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the pack" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The description of the pack" } }, "required": [ "name" ] }, "UrlResponse": { "type": "object", "properties": { "url": { "type": "string", "description": "The URL to redirect to" } }, "required": [ "url" ] }, "PriceIdsResponse": { "type": "object", "properties": { "monthly": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Stripe price ID for the monthly subscription" }, "yearly": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Stripe price ID for the yearly subscription" }, "gift_1_month": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Stripe price ID for the 1 month gift" }, "gift_1_year": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Stripe price ID for the 1 year gift" }, "currency": { "enum": [ "USD", "EUR" ], "type": "string", "x-enumNames": [ "USD", "EUR" ], "description": "Currency for the prices" } }, "required": [ "currency" ] }, "ReadStateAckBulkRequest": { "type": "object", "properties": { "read_states": { "type": "array", "items": { "type": "object", "properties": { "channel_id": { "$ref": "#/components/schemas/SnowflakeType" }, "message_id": { "$ref": "#/components/schemas/SnowflakeType" } }, "required": [ "channel_id", "message_id" ] }, "minItems": 1, "maxItems": 100, "description": "Array of channel/message pairs to acknowledge" } }, "required": [ "read_states" ] }, "ReportResponse": { "type": "object", "properties": { "report_id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "The unique identifier for this report" }, "status": { "type": "string", "description": "Current status of the report (pending, reviewed, resolved)" }, "reported_at": { "type": "string", "description": "ISO 8601 timestamp when the report was submitted" } }, "required": [ "report_id", "status", "reported_at" ] }, "DsaReportRequest": { "oneOf": [ { "$ref": "#/components/schemas/DsaReportMessageRequest" }, { "$ref": "#/components/schemas/DsaReportUserRequest" }, { "$ref": "#/components/schemas/DsaReportGuildRequest" } ] }, "DsaReportMessageRequest": { "type": "object", "properties": { "ticket": { "type": "string", "description": "Verification ticket obtained from email verification" }, "additional_info": { "type": "string", "description": "Additional context or details about the report" }, "reporter_full_legal_name": { "type": "string", "description": "Full legal name of the person filing the report" }, "reporter_country_of_residence": { "type": "string", "enum": [ "AT", "BE", "BG", "HR", "CY", "CZ", "DK", "EE", "FI", "FR", "DE", "GR", "HU", "IE", "IT", "LV", "LT", "LU", "MT", "NL", "PL", "PT", "RO", "SK", "SI", "ES", "SE" ], "description": "EU country code of the reporter residence" }, "reporter_fluxer_tag": { "type": "string", "minLength": 3, "maxLength": 37, "description": "Fluxer tag of the reporter if they have an account" }, "report_type": { "type": "string", "enum": [ "message" ], "description": "Type of report" }, "category": { "$ref": "#/components/schemas/MessageReportCategoryEnum" }, "message_link": { "type": "string", "description": "Link to the message being reported" }, "reported_user_tag": { "type": "string", "minLength": 3, "maxLength": 37, "description": "Fluxer tag of the user who sent the message" } }, "required": [ "ticket", "reporter_full_legal_name", "reporter_country_of_residence", "report_type", "category", "message_link" ] }, "MessageReportCategoryEnum": { "type": "string", "enum": [ "harassment", "hate_speech", "violent_content", "spam", "nsfw_violation", "illegal_activity", "doxxing", "self_harm", "child_safety", "malicious_links", "impersonation", "other" ], "x-enumNames": [ "harassment", "hate_speech", "violent_content", "spam", "nsfw_violation", "illegal_activity", "doxxing", "self_harm", "child_safety", "malicious_links", "impersonation", "other" ], "x-enumDescriptions": [ "Content that harasses, bullies, or intimidates users", "Content promoting hatred against protected groups", "Content depicting or promoting violence", "Unsolicited bulk messages or promotional content", "Adult content posted outside age-restricted channels", "Content promoting or facilitating illegal activities", "Content revealing private personal information", "Content promoting self-harm or suicide", "Content that endangers minors or depicts child abuse", "Links to malware, phishing, or other malicious sites", "Content falsely claiming to be another person or entity", "Other violations not covered by specific categories" ], "description": "Category of the message report" }, "DsaReportUserRequest": { "type": "object", "properties": { "ticket": { "type": "string", "description": "Verification ticket obtained from email verification" }, "additional_info": { "type": "string", "description": "Additional context or details about the report" }, "reporter_full_legal_name": { "type": "string", "description": "Full legal name of the person filing the report" }, "reporter_country_of_residence": { "type": "string", "enum": [ "AT", "BE", "BG", "HR", "CY", "CZ", "DK", "EE", "FI", "FR", "DE", "GR", "HU", "IE", "IT", "LV", "LT", "LU", "MT", "NL", "PL", "PT", "RO", "SK", "SI", "ES", "SE" ], "description": "EU country code of the reporter residence" }, "reporter_fluxer_tag": { "type": "string", "minLength": 3, "maxLength": 37, "description": "Fluxer tag of the reporter if they have an account" }, "report_type": { "type": "string", "enum": [ "user" ], "description": "Type of report" }, "category": { "$ref": "#/components/schemas/UserReportCategoryEnum" }, "user_id": { "$ref": "#/components/schemas/SnowflakeType" }, "user_tag": { "type": "string", "minLength": 3, "maxLength": 37, "description": "Fluxer tag of the user being reported" } }, "required": [ "ticket", "reporter_full_legal_name", "reporter_country_of_residence", "report_type", "category" ] }, "UserReportCategoryEnum": { "type": "string", "enum": [ "harassment", "hate_speech", "spam_account", "impersonation", "underage_user", "inappropriate_profile", "other" ], "x-enumNames": [ "harassment", "hate_speech", "spam_account", "impersonation", "underage_user", "inappropriate_profile", "other" ], "x-enumDescriptions": [ "User engages in harassment, bullying, or intimidation", "User promotes hatred against protected groups", "Account used for spamming or bulk messaging", "User falsely claims to be another person or entity", "User appears to be under the minimum required age", "Profile contains inappropriate or offensive content", "Other violations not covered by specific categories" ], "description": "Category of the user report" }, "DsaReportGuildRequest": { "type": "object", "properties": { "ticket": { "type": "string", "description": "Verification ticket obtained from email verification" }, "additional_info": { "type": "string", "description": "Additional context or details about the report" }, "reporter_full_legal_name": { "type": "string", "description": "Full legal name of the person filing the report" }, "reporter_country_of_residence": { "type": "string", "enum": [ "AT", "BE", "BG", "HR", "CY", "CZ", "DK", "EE", "FI", "FR", "DE", "GR", "HU", "IE", "IT", "LV", "LT", "LU", "MT", "NL", "PL", "PT", "RO", "SK", "SI", "ES", "SE" ], "description": "EU country code of the reporter residence" }, "reporter_fluxer_tag": { "type": "string", "minLength": 3, "maxLength": 37, "description": "Fluxer tag of the reporter if they have an account" }, "report_type": { "type": "string", "enum": [ "guild" ], "description": "Type of report" }, "category": { "$ref": "#/components/schemas/GuildReportCategoryEnum" }, "guild_id": { "$ref": "#/components/schemas/SnowflakeType" }, "invite_code": { "type": "string", "description": "Invite code used to access the guild" } }, "required": [ "ticket", "reporter_full_legal_name", "reporter_country_of_residence", "report_type", "category", "guild_id" ] }, "GuildReportCategoryEnum": { "type": "string", "enum": [ "harassment", "hate_speech", "extremist_community", "illegal_activity", "child_safety", "raid_coordination", "spam", "malware_distribution", "other" ], "x-enumNames": [ "harassment", "hate_speech", "extremist_community", "illegal_activity", "child_safety", "raid_coordination", "spam", "malware_distribution", "other" ], "x-enumDescriptions": [ "Guild facilitates harassment, bullying, or intimidation", "Guild promotes hatred against protected groups", "Guild promotes extremist or terrorist ideologies", "Guild promotes or facilitates illegal activities", "Guild endangers minors or hosts child abuse content", "Guild coordinates attacks on other communities", "Guild used for spamming or bulk messaging", "Guild distributes malware or malicious software", "Other violations not covered by specific categories" ], "description": "Category of the guild report" }, "OkResponse": { "type": "object", "properties": { "ok": { "type": "boolean", "description": "Whether the operation was successful" } }, "required": [ "ok" ] }, "DsaReportEmailSendRequest": { "type": "object", "properties": { "email": { "$ref": "#/components/schemas/EmailType" } }, "required": [ "email" ] }, "TicketResponse": { "type": "object", "properties": { "ticket": { "type": "string", "description": "A temporary ticket token for subsequent operations" } }, "required": [ "ticket" ] }, "DsaReportEmailVerifyRequest": { "type": "object", "properties": { "email": { "$ref": "#/components/schemas/EmailType" }, "code": { "type": "string", "description": "Verification code received via email" } }, "required": [ "email", "code" ] }, "ReportGuildRequest": { "type": "object", "properties": { "guild_id": { "$ref": "#/components/schemas/SnowflakeType" }, "category": { "$ref": "#/components/schemas/GuildReportCategoryEnum" }, "additional_info": { "type": "string", "description": "Additional context or details about the report" } }, "required": [ "guild_id", "category" ] }, "ReportMessageRequest": { "type": "object", "properties": { "channel_id": { "$ref": "#/components/schemas/SnowflakeType" }, "message_id": { "$ref": "#/components/schemas/SnowflakeType" }, "category": { "$ref": "#/components/schemas/MessageReportCategoryEnum" }, "additional_info": { "type": "string", "description": "Additional context or details about the report" } }, "required": [ "channel_id", "message_id", "category" ] }, "ReportUserRequest": { "type": "object", "properties": { "user_id": { "$ref": "#/components/schemas/SnowflakeType" }, "category": { "$ref": "#/components/schemas/UserReportCategoryEnum" }, "additional_info": { "type": "string", "description": "Additional context or details about the report" }, "guild_id": { "$ref": "#/components/schemas/SnowflakeType" } }, "required": [ "user_id", "category" ] }, "MessageSearchResponse": { "oneOf": [ { "$ref": "#/components/schemas/MessageSearchResultsResponse" }, { "$ref": "#/components/schemas/MessageSearchIndexingResponse" } ] }, "MessageSearchResultsResponse": { "type": "object", "properties": { "messages": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "The unique identifier (snowflake) for this message" }, "channel_id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "The ID of the channel this message was sent in" }, "author": { "$ref": "#/components/schemas/UserPartialResponse" }, "webhook_id": { "anyOf": [ { "$ref": "#/components/schemas/SnowflakeType" }, { "type": "null" } ], "description": "The ID of the webhook that sent this message" }, "type": { "type": "integer", "format": "int32", "enum": [ 0, 1, 2, 3, 4, 5, 6, 7, 19 ], "x-enumNames": [ "DEFAULT", "RECIPIENT_ADD", "RECIPIENT_REMOVE", "CALL", "CHANNEL_NAME_CHANGE", "CHANNEL_ICON_CHANGE", "CHANNEL_PINNED_MESSAGE", "USER_JOIN", "REPLY" ], "x-enumDescriptions": [ "A regular message", "A system message indicating a user was added to the conversation", "A system message indicating a user was removed from the conversation", "A message representing a call", "A system message indicating the channel name changed", "A system message indicating the channel icon changed", "A system message indicating a message was pinned", "A system message indicating a user joined", "A reply message" ], "description": "The type of message" }, "flags": { "$ref": "#/components/schemas/MessageFlags" }, "content": { "type": "string", "description": "The text content of the message" }, "timestamp": { "type": "string", "format": "date-time", "description": "The ISO 8601 timestamp of when the message was created" }, "edited_timestamp": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "description": "The ISO 8601 timestamp of when the message was last edited" }, "pinned": { "type": "boolean", "description": "Whether the message is pinned" }, "mention_everyone": { "type": "boolean", "description": "Whether the message mentions @everyone" }, "tts": { "type": "boolean", "description": "Whether the message was sent as text-to-speech" }, "mentions": { "anyOf": [ { "type": "array", "items": { "$ref": "#/components/schemas/UserPartialResponse" }, "maxItems": 100 }, { "type": "null" } ], "description": "The users mentioned in the message" }, "mention_roles": { "anyOf": [ { "type": "array", "items": { "type": "string" }, "maxItems": 100 }, { "type": "null" } ], "description": "The role IDs mentioned in the message" }, "embeds": { "anyOf": [ { "type": "array", "items": { "$ref": "#/components/schemas/MessageEmbedResponse" }, "maxItems": 10 }, { "type": "null" } ], "description": "The embeds attached to the message" }, "attachments": { "anyOf": [ { "type": "array", "items": { "$ref": "#/components/schemas/MessageAttachmentResponse" }, "maxItems": 10 }, { "type": "null" } ], "description": "The files attached to the message" }, "stickers": { "anyOf": [ { "type": "array", "items": { "$ref": "#/components/schemas/MessageStickerResponse" }, "maxItems": 3 }, { "type": "null" } ], "description": "The stickers sent with the message" }, "reactions": { "anyOf": [ { "type": "array", "items": { "$ref": "#/components/schemas/MessageReactionResponse" }, "maxItems": 30 }, { "type": "null" } ], "description": "The reactions on the message" }, "message_reference": { "anyOf": [ { "$ref": "#/components/schemas/MessageReferenceResponse" }, { "type": "null" } ], "description": "Reference data for replies or forwards" }, "message_snapshots": { "anyOf": [ { "type": "array", "items": { "$ref": "#/components/schemas/MessageSnapshotResponse" }, "maxItems": 10 }, { "type": "null" } ], "description": "Snapshots of forwarded messages" }, "nonce": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "A client-provided value for message deduplication" }, "call": { "anyOf": [ { "$ref": "#/components/schemas/MessageCallResponse" }, { "type": "null" } ], "description": "Call information if this message represents a call" } }, "required": [ "id", "channel_id", "author", "type", "flags", "content", "timestamp", "pinned", "mention_everyone" ] }, "maxItems": 100, "description": "The messages matching the search query" }, "total": { "type": "integer", "minimum": 0, "maximum": 2147483647, "format": "int32", "description": "The total number of messages matching the search" }, "hits_per_page": { "type": "integer", "minimum": 0, "maximum": 2147483647, "format": "int32", "description": "The maximum number of messages returned per page" }, "page": { "type": "integer", "minimum": 0, "maximum": 2147483647, "format": "int32", "description": "The current page number" } }, "required": [ "messages", "total", "hits_per_page", "page" ] }, "MessageSearchIndexingResponse": { "type": "object", "properties": { "indexing": { "type": "boolean", "enum": [ true ], "description": "Indicates that one or more channels are being indexed" } }, "required": [ "indexing" ] }, "GlobalSearchMessagesRequest": { "type": "object", "properties": { "hits_per_page": { "type": "integer", "minimum": 1, "maximum": 25, "format": "int32", "description": "Number of results per page (1-25)" }, "page": { "type": "integer", "minimum": 1, "maximum": 9007199254740991, "format": "int64", "description": "Page number for pagination" }, "max_id": { "$ref": "#/components/schemas/SnowflakeType" }, "min_id": { "$ref": "#/components/schemas/SnowflakeType" }, "content": { "type": "string", "description": "Text content to search for" }, "contents": { "type": "array", "items": { "type": "string" }, "maxItems": 100, "description": "Multiple content queries to search for" }, "exact_phrases": { "type": "array", "items": { "type": "string" }, "maxItems": 10, "description": "Exact phrases that must appear contiguously in message content" }, "channel_id": { "type": "array", "items": { "$ref": "#/components/schemas/SnowflakeType" }, "maxItems": 500, "description": "Channel IDs to search in" }, "exclude_channel_id": { "type": "array", "items": { "$ref": "#/components/schemas/SnowflakeType" }, "maxItems": 500, "description": "Channel IDs to exclude from search" }, "author_type": { "type": "array", "items": { "$ref": "#/components/schemas/MessageAuthorType" }, "description": "Author types to filter by" }, "exclude_author_type": { "type": "array", "items": { "$ref": "#/components/schemas/MessageAuthorType" }, "description": "Author types to exclude" }, "author_id": { "type": "array", "items": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "Author user IDs to filter by" }, "exclude_author_id": { "type": "array", "items": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "Author user IDs to exclude" }, "mentions": { "type": "array", "items": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "User IDs that must be mentioned" }, "exclude_mentions": { "type": "array", "items": { "$ref": "#/components/schemas/SnowflakeType" }, "description": "User IDs that must not be mentioned" }, "mention_everyone": { "type": "boolean", "description": "Filter by whether message mentions everyone" }, "pinned": { "type": "boolean", "description": "Filter by pinned status" }, "has": { "type": "array", "items": { "$ref": "#/components/schemas/MessageContentType" }, "description": "Content types the message must have" }, "exclude_has": { "type": "array", "items": { "$ref": "#/components/schemas/MessageContentType" }, "description": "Content types the message must not have" }, "embed_type": { "type": "array", "items": { "$ref": "#/components/schemas/MessageEmbedType" }, "description": "Embed types to filter by" }, "exclude_embed_type": { "type": "array", "items": { "$ref": "#/components/schemas/MessageEmbedType" }, "description": "Embed types to exclude" }, "embed_provider": { "type": "array", "items": { "type": "string" }, "description": "Embed providers to filter by" }, "exclude_embed_provider": { "type": "array", "items": { "type": "string" }, "description": "Embed providers to exclude" }, "link_hostname": { "type": "array", "items": { "type": "string" }, "description": "Link hostnames to filter by" }, "exclude_link_hostname": { "type": "array", "items": { "type": "string" }, "description": "Link hostnames to exclude" }, "attachment_filename": { "type": "array", "items": { "type": "string" }, "description": "Attachment filenames to filter by" }, "exclude_attachment_filename": { "type": "array", "items": { "type": "string" }, "description": "Attachment filenames to exclude" }, "attachment_extension": { "type": "array", "items": { "type": "string" }, "description": "File extensions to filter by" }, "exclude_attachment_extension": { "type": "array", "items": { "type": "string" }, "description": "File extensions to exclude" }, "sort_by": { "$ref": "#/components/schemas/MessageSortField" }, "sort_order": { "$ref": "#/components/schemas/MessageSortOrder" }, "include_nsfw": { "type": "boolean", "description": "Whether to include NSFW channel results" }, "scope": { "$ref": "#/components/schemas/MessageSearchScope" }, "context_channel_id": { "$ref": "#/components/schemas/SnowflakeType" }, "context_guild_id": { "$ref": "#/components/schemas/SnowflakeType" }, "channel_ids": { "type": "array", "items": { "$ref": "#/components/schemas/SnowflakeType" }, "maxItems": 500, "description": "Specific channel IDs to search in" } } }, "MessageAuthorType": { "type": "string", "enum": [ "user", "bot", "webhook" ], "x-enumNames": [ "user", "bot", "webhook" ], "x-enumDescriptions": [ "A regular user account", "An automated bot account", "A webhook-generated message" ], "description": "The type of author who sent the message" }, "MessageContentType": { "type": "string", "enum": [ "image", "sound", "video", "file", "sticker", "embed", "link", "poll", "snapshot" ], "x-enumNames": [ "image", "sound", "video", "file", "sticker", "embed", "link", "poll", "snapshot" ], "x-enumDescriptions": [ "Message contains an image attachment", "Message contains an audio attachment", "Message contains a video attachment", "Message contains a file attachment", "Message contains a sticker", "Message contains an embed", "Message contains a URL link", "Message contains a poll", "Message contains a forwarded message snapshot" ], "description": "The type of content contained in a message" }, "MessageEmbedType": { "type": "string", "enum": [ "image", "video", "sound", "article" ], "x-enumNames": [ "image", "video", "sound", "article" ], "x-enumDescriptions": [ "An image embed from a linked URL", "A video embed from a linked URL", "An audio embed from a linked URL", "An article or webpage embed with metadata" ], "description": "The type of embed content" }, "MessageSortField": { "type": "string", "enum": [ "timestamp", "relevance" ], "x-enumNames": [ "timestamp", "relevance" ], "x-enumDescriptions": [ "Sort results by message timestamp", "Sort results by search relevance score" ], "description": "The field to sort search results by" }, "MessageSortOrder": { "type": "string", "enum": [ "asc", "desc" ], "x-enumNames": [ "asc", "desc" ], "x-enumDescriptions": [ "Sort in ascending order (oldest/lowest first)", "Sort in descending order (newest/highest first)" ], "description": "The order to sort search results" }, "MessageSearchScope": { "type": "string", "enum": [ "current", "open_dms", "all_dms", "all_guilds", "all", "open_dms_and_all_guilds" ], "x-enumNames": [ "current", "open_dms", "all_dms", "all_guilds", "all", "open_dms_and_all_guilds" ], "x-enumDescriptions": [ "Search only in the current channel or community context", "Search across all DMs you currently have open", "Search across all DMs you've ever been in", "Search across all Communities you're currently in", "Search across all DMs you've ever been in and all Communities you're currently in", "Search across all DMs you currently have open and all Communities you're currently in" ], "description": "Search scope for message searches" }, "StreamPreviewUploadBodySchema": { "type": "object", "properties": { "channel_id": { "$ref": "#/components/schemas/SnowflakeType" }, "thumbnail": { "type": "string", "description": "Base64-encoded thumbnail image data" }, "content_type": { "type": "string", "description": "MIME type of the thumbnail image" } }, "required": [ "channel_id", "thumbnail" ] }, "StreamUpdateBodySchema": { "type": "object", "properties": { "region": { "type": "string", "description": "The preferred voice region for the stream (1-64 characters)" } } }, "CreateCheckoutSessionRequest": { "type": "object", "properties": { "price_id": { "type": "string", "description": "The Stripe price ID for the subscription plan" } }, "required": [ "price_id" ] }, "WebhookReceivedResponse": { "type": "object", "properties": { "received": { "type": "boolean", "description": "Whether the webhook was successfully received" } }, "required": [ "received" ] }, "TenorFeaturedResponse": { "type": "object", "properties": { "gifs": { "type": "array", "items": { "$ref": "#/components/schemas/TenorGifResponse" }, "maxItems": 50, "description": "Array of featured GIFs" }, "categories": { "type": "array", "items": { "$ref": "#/components/schemas/TenorCategoryTagResponse" }, "maxItems": 100, "description": "Array of GIF categories" } }, "required": [ "gifs", "categories" ] }, "TenorGifResponse": { "type": "object", "properties": { "id": { "type": "string", "description": "The unique Tenor result id" }, "title": { "type": "string", "description": "The title/description of the GIF" }, "url": { "type": "string", "description": "The Tenor page URL for the GIF" }, "src": { "type": "string", "description": "Direct URL to the GIF media file" }, "proxy_src": { "type": "string", "description": "Proxied URL to the GIF media file" }, "width": { "type": "integer", "minimum": 0, "maximum": 2147483647, "format": "int32", "description": "Width of the GIF in pixels" }, "height": { "type": "integer", "minimum": 0, "maximum": 2147483647, "format": "int32", "description": "Height of the GIF in pixels" } }, "required": [ "id", "title", "url", "src", "proxy_src", "width", "height" ] }, "TenorCategoryTagResponse": { "type": "object", "properties": { "name": { "type": "string", "description": "The category search term" }, "src": { "type": "string", "description": "URL to the category preview image" }, "proxy_src": { "type": "string", "description": "Proxied URL to the category preview image" } }, "required": [ "name", "src", "proxy_src" ] }, "TenorRegisterShareRequest": { "type": "object", "properties": { "id": { "type": "string", "description": "The Tenor result id" }, "q": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The search query used to find the GIF" }, "locale": { "$ref": "#/components/schemas/Locale" } }, "required": [ "id" ] }, "UserPrivateResponse": { "type": "object", "properties": { "id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "The unique identifier (snowflake) for this user" }, "username": { "type": "string", "description": "The username of the user, not unique across the platform" }, "discriminator": { "type": "string", "description": "The four-digit discriminator tag of the user" }, "global_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The display name of the user, if set" }, "avatar": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The hash of the user avatar image" }, "avatar_color": { "anyOf": [ { "$ref": "#/components/schemas/Int32Type" }, { "type": "null" } ], "description": "The dominant avatar color of the user as an integer" }, "bot": { "type": "boolean", "description": "Whether the user is a bot account" }, "system": { "type": "boolean", "description": "Whether the user is an official system user" }, "flags": { "$ref": "#/components/schemas/PublicUserFlags" }, "is_staff": { "type": "boolean", "description": "Whether the user has staff permissions" }, "acls": { "type": "array", "items": { "type": "string" }, "maxItems": 100, "description": "Access control list entries for the user" }, "traits": { "type": "array", "items": { "type": "string" }, "maxItems": 100, "description": "Special traits assigned to the user account" }, "email": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The email address associated with the account" }, "email_bounced": { "type": "boolean", "description": "Whether the current email address is marked as bounced by the mail provider" }, "phone": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The phone number associated with the account" }, "bio": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The user biography text" }, "pronouns": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The preferred pronouns of the user" }, "accent_color": { "anyOf": [ { "$ref": "#/components/schemas/Int32Type" }, { "type": "null" } ], "description": "The user-selected accent color as an integer" }, "banner": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The hash of the user profile banner image" }, "banner_color": { "anyOf": [ { "$ref": "#/components/schemas/Int32Type" }, { "type": "null" } ], "description": "The default banner color if no custom banner is set" }, "mfa_enabled": { "type": "boolean", "description": "Whether multi-factor authentication is enabled" }, "authenticator_types": { "type": "array", "items": { "$ref": "#/components/schemas/UserAuthenticatorTypes" }, "maxItems": 10, "description": "The types of authenticators configured for MFA" }, "verified": { "type": "boolean", "description": "Whether the email address has been verified" }, "premium_type": { "anyOf": [ { "$ref": "#/components/schemas/UserPremiumTypes", "description": "The type of premium subscription" }, { "type": "null" } ] }, "premium_since": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "ISO8601 timestamp of when premium was first activated" }, "premium_until": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "ISO8601 timestamp of when the current premium period ends" }, "premium_will_cancel": { "type": "boolean", "description": "Whether premium is set to cancel at the end of the billing period" }, "premium_billing_cycle": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The billing cycle for the premium subscription" }, "premium_lifetime_sequence": { "anyOf": [ { "$ref": "#/components/schemas/Int32Type" }, { "type": "null" } ], "description": "The sequence number for lifetime premium subscribers" }, "premium_badge_hidden": { "type": "boolean", "description": "Whether the premium badge is hidden on the profile" }, "premium_badge_masked": { "type": "boolean", "description": "Whether the premium badge shows a masked appearance" }, "premium_badge_timestamp_hidden": { "type": "boolean", "description": "Whether the premium start timestamp is hidden" }, "premium_badge_sequence_hidden": { "type": "boolean", "description": "Whether the lifetime sequence number is hidden" }, "premium_purchase_disabled": { "type": "boolean", "description": "Whether premium purchases are disabled for this account" }, "premium_enabled_override": { "type": "boolean", "description": "Whether premium features are enabled via override" }, "password_last_changed_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "ISO8601 timestamp of the last password change" }, "required_actions": { "anyOf": [ { "type": "array", "items": { "type": "string" }, "maxItems": 20 }, { "type": "null" } ], "description": "Actions the user must complete before full access" }, "nsfw_allowed": { "type": "boolean", "description": "Whether the user is allowed to view NSFW content" }, "has_dismissed_premium_onboarding": { "type": "boolean", "description": "Whether the user has dismissed the premium onboarding flow" }, "has_ever_purchased": { "type": "boolean", "description": "Whether the user has ever made a purchase" }, "has_unread_gift_inventory": { "type": "boolean", "description": "Whether there are unread items in the gift inventory" }, "unread_gift_inventory_count": { "type": "integer", "minimum": 0, "maximum": 2147483647, "format": "int32", "description": "The number of unread gift inventory items" }, "used_mobile_client": { "type": "boolean", "description": "Whether the user has ever used the mobile client" }, "pending_bulk_message_deletion": { "anyOf": [ { "type": "object", "properties": { "scheduled_at": { "type": "string", "description": "ISO8601 timestamp of when the deletion was scheduled" }, "channel_count": { "type": "integer", "minimum": 0, "maximum": 2147483647, "format": "int32", "description": "The number of channels with messages to delete" }, "message_count": { "type": "integer", "minimum": 0, "maximum": 2147483647, "format": "int32", "description": "The total number of messages to delete" } }, "required": [ "scheduled_at", "channel_count", "message_count" ] }, { "type": "null" } ], "description": "Information about a pending bulk message deletion request" } }, "required": [ "id", "username", "discriminator", "global_name", "avatar", "avatar_color", "flags", "is_staff", "acls", "traits", "email", "phone", "bio", "pronouns", "accent_color", "banner", "banner_color", "mfa_enabled", "verified", "premium_type", "premium_since", "premium_until", "premium_will_cancel", "premium_billing_cycle", "premium_lifetime_sequence", "premium_badge_hidden", "premium_badge_masked", "premium_badge_timestamp_hidden", "premium_badge_sequence_hidden", "premium_purchase_disabled", "premium_enabled_override", "password_last_changed_at", "required_actions", "nsfw_allowed", "has_dismissed_premium_onboarding", "has_ever_purchased", "has_unread_gift_inventory", "unread_gift_inventory_count", "used_mobile_client", "pending_bulk_message_deletion" ] }, "UserAuthenticatorTypes": { "type": "integer", "format": "int32", "enum": [ 0, 1, 2 ], "x-enumNames": [ "TOTP", "SMS", "WEBAUTHN" ], "x-enumDescriptions": [ "Time-based one-time password authenticator", "SMS-based authenticator", "WebAuthn authenticator" ], "description": "Authenticator type" }, "UserPremiumTypes": { "type": "integer", "format": "int32", "enum": [ 0, 1, 2 ], "x-enumNames": [ "NONE", "SUBSCRIPTION", "LIFETIME" ], "x-enumDescriptions": [ "No premium subscription", "Active premium subscription", "Lifetime premium subscription" ], "description": "Premium subscription type" }, "UserUpdateWithVerificationRequest": { "type": "object", "properties": { "username": { "$ref": "#/components/schemas/UsernameType" }, "discriminator": { "type": "string", "pattern": "^\\d{1,4}$", "description": "The 4-digit discriminator tag" }, "global_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The display name shown to other users" }, "email": { "$ref": "#/components/schemas/EmailType" }, "new_password": { "$ref": "#/components/schemas/PasswordType" }, "password": { "$ref": "#/components/schemas/PasswordType" }, "avatar": { "anyOf": [ { "$ref": "#/components/schemas/Base64ImageType" }, { "type": "null" } ], "description": "Base64-encoded avatar image" }, "banner": { "anyOf": [ { "$ref": "#/components/schemas/Base64ImageType" }, { "type": "null" } ], "description": "Base64-encoded profile banner image" }, "bio": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "User biography text (max 320 characters)" }, "pronouns": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "User pronouns (max 40 characters)" }, "accent_color": { "anyOf": [ { "type": "integer", "minimum": 0, "maximum": 16777215, "format": "int32" }, { "type": "null" } ], "description": "Profile accent color as integer" }, "premium_badge_hidden": { "type": "boolean", "description": "Whether to hide the premium badge" }, "premium_badge_masked": { "type": "boolean", "description": "Whether to mask the premium badge" }, "premium_badge_timestamp_hidden": { "type": "boolean", "description": "Whether to hide premium badge timestamp" }, "premium_badge_sequence_hidden": { "type": "boolean", "description": "Whether to hide premium badge sequence" }, "premium_enabled_override": { "type": "boolean", "description": "Override premium enabled state" }, "has_dismissed_premium_onboarding": { "type": "boolean", "description": "Whether user dismissed premium onboarding" }, "has_unread_gift_inventory": { "type": "boolean", "description": "Whether user has unread gifts" }, "used_mobile_client": { "type": "boolean", "description": "Whether user has used mobile client" }, "email_token": { "type": "string", "description": "Email change token for updating email" }, "mfa_method": { "type": "string", "enum": [ "totp", "sms", "webauthn" ], "x-enumNames": [ "TOTP", "SMS", "WebAuthn" ], "x-enumDescriptions": [ "Time-based one-time password authentication via authenticator app", "One-time password sent via text message", "Security key or biometric authentication" ], "description": "MFA method to use for verification" }, "mfa_code": { "type": "string", "description": "MFA verification code from authenticator app or SMS" }, "webauthn_response": { "type": "object", "description": "WebAuthn authentication response" }, "webauthn_challenge": { "type": "string", "description": "WebAuthn challenge string" } } }, "CreatePrivateChannelRequest": { "type": "object", "properties": { "recipient_id": { "$ref": "#/components/schemas/SnowflakeType" }, "recipients": { "type": "array", "items": { "$ref": "#/components/schemas/SnowflakeType" }, "maxItems": 9, "description": "Array of user IDs for creating a group DM (max 9)" } } }, "PreloadMessagesResponse": { "type": "object", "additionalProperties": { "anyOf": [ { "$ref": "#/components/schemas/MessageResponseSchema" }, { "type": "null" } ] }, "patternProperties": { "^(0|[1-9][0-9]*)$": { "anyOf": [ { "$ref": "#/components/schemas/MessageResponseSchema" }, { "type": "null" } ] } }, "x-keyType": "snowflake", "description": "A map of channel IDs to the latest message in each channel" }, "PreloadMessagesRequest": { "type": "object", "properties": { "channels": { "type": "array", "items": { "$ref": "#/components/schemas/SnowflakeType" }, "maxItems": 100, "description": "Array of channel IDs to preload messages from (max 100)" } }, "required": [ "channels" ] }, "ConnectionListResponse": { "type": "array", "items": { "$ref": "#/components/schemas/ConnectionResponse" } }, "ConnectionResponse": { "type": "object", "properties": { "id": { "type": "string", "description": "The unique identifier for this connection" }, "type": { "type": "string", "enum": [ "bsky", "domain" ], "description": "The type of connection" }, "name": { "type": "string", "description": "The display name of the connection (handle or domain)" }, "verified": { "type": "boolean", "description": "Whether the connection has been verified" }, "visibility_flags": { "type": "integer", "minimum": 0, "maximum": 2147483647, "format": "int32", "description": "Bitfield controlling who can see this connection" }, "sort_order": { "type": "integer", "minimum": 0, "maximum": 2147483647, "format": "int32", "description": "The display order of this connection" } }, "required": [ "id", "type", "name", "verified", "visibility_flags", "sort_order" ] }, "ConnectionVerificationResponse": { "type": "object", "properties": { "token": { "type": "string", "description": "The verification token to place in DNS or profile" }, "type": { "type": "string", "enum": [ "bsky", "domain" ], "description": "The type of connection being verified" }, "id": { "type": "string", "description": "The connection identifier (handle or domain)" }, "instructions": { "type": "string", "description": "Human-readable instructions for completing verification" }, "initiation_token": { "type": "string", "description": "Signed token the client sends back at verify time" } }, "required": [ "token", "type", "id", "instructions", "initiation_token" ] }, "CreateConnectionRequest": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "bsky", "domain" ], "description": "The type of connection to create" }, "identifier": { "type": "string", "minLength": 1, "maxLength": 253, "description": "The connection identifier (handle or domain)" }, "visibility_flags": { "$ref": "#/components/schemas/Int32Type" } }, "required": [ "type", "identifier" ] }, "BlueskyAuthorizeResponse": { "type": "object", "properties": { "authorize_url": { "type": "string", "description": "The URL to redirect the user to for Bluesky authorisation" } }, "required": [ "authorize_url" ] }, "BlueskyAuthorizeRequest": { "type": "object", "properties": { "handle": { "type": "string", "minLength": 1, "maxLength": 253, "description": "The Bluesky handle to connect (e.g. alice.bsky.social)" } }, "required": [ "handle" ] }, "ReorderConnectionsRequest": { "type": "object", "properties": { "connection_ids": { "type": "array", "items": { "type": "string" }, "minItems": 1, "maxItems": 20, "description": "Ordered list of connection IDs defining the new display order" } }, "required": [ "connection_ids" ] }, "VerifyAndCreateConnectionRequest": { "type": "object", "properties": { "initiation_token": { "type": "string", "description": "The signed initiation token returned from the create endpoint" }, "visibility_flags": { "$ref": "#/components/schemas/Int32Type" } }, "required": [ "initiation_token" ] }, "UpdateConnectionRequest": { "type": "object", "properties": { "visibility_flags": { "$ref": "#/components/schemas/Int32Type" }, "sort_order": { "$ref": "#/components/schemas/Int32Type" } } }, "EmailChangeRequestNewResponse": { "type": "object", "properties": { "ticket": { "type": "string", "description": "Ticket associated with the email change attempt" }, "new_email": { "type": "string", "description": "The new email address the user wants to verify" }, "new_code_expires_at": { "type": "string", "description": "ISO8601 timestamp when the new email code expires" }, "resend_available_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "ISO8601 timestamp when the new email code can be resent" } }, "required": [ "ticket", "new_email", "new_code_expires_at", "resend_available_at" ] }, "EmailChangeBouncedRequestNewRequest": { "type": "object", "properties": { "new_email": { "$ref": "#/components/schemas/EmailType" } }, "required": [ "new_email" ] }, "EmailChangeTicketRequest": { "type": "object", "properties": { "ticket": { "type": "string", "description": "Email change ticket identifier" } }, "required": [ "ticket" ] }, "EmailChangeBouncedVerifyNewRequest": { "type": "object", "properties": { "ticket": { "type": "string", "description": "Email change ticket identifier" }, "code": { "type": "string", "description": "Verification code sent to the replacement email address" } }, "required": [ "ticket", "code" ] }, "EmailChangeRequestNewRequest": { "type": "object", "properties": { "ticket": { "type": "string", "description": "Email change ticket identifier" }, "new_email": { "$ref": "#/components/schemas/EmailType" }, "original_proof": { "type": "string", "description": "Proof token obtained from verifying the original email" } }, "required": [ "ticket", "new_email", "original_proof" ] }, "EmailChangeStartResponse": { "type": "object", "properties": { "ticket": { "type": "string", "description": "Ticket returned for email change actions" }, "require_original": { "type": "boolean", "description": "Whether verification of the original email is required" }, "original_email": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The original email address on record" }, "original_proof": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Proof token generated when original email verification is not required" }, "original_code_expires_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "ISO8601 timestamp when the original verification code expires" }, "resend_available_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "ISO8601 timestamp when the original verification code can be resent" } }, "required": [ "ticket", "require_original", "original_email", "original_proof", "original_code_expires_at", "resend_available_at" ] }, "EmptyBodyRequest": { "type": "object", "properties": {} }, "EmailTokenResponse": { "type": "object", "properties": { "email_token": { "type": "string", "description": "The email change token to use for updating email" } }, "required": [ "email_token" ] }, "EmailChangeVerifyNewRequest": { "type": "object", "properties": { "ticket": { "type": "string", "description": "Email change ticket identifier" }, "code": { "type": "string", "description": "Verification code sent to the original email address" }, "original_proof": { "type": "string", "description": "Proof token obtained from verifying the original email" } }, "required": [ "ticket", "code", "original_proof" ] }, "EmailChangeVerifyOriginalResponse": { "type": "object", "properties": { "original_proof": { "type": "string", "description": "Proof token issued after verifying the original email" } }, "required": [ "original_proof" ] }, "EmailChangeVerifyOriginalRequest": { "type": "object", "properties": { "ticket": { "type": "string", "description": "Email change ticket identifier" }, "code": { "type": "string", "description": "Verification code sent to the original email address" } }, "required": [ "ticket", "code" ] }, "GiftCodeMetadataResponse": { "type": "object", "properties": { "code": { "type": "string", "description": "The unique gift code string" }, "duration_months": { "type": "integer", "format": "int53", "description": "Duration of the subscription gift in months" }, "created_at": { "type": "string", "format": "date-time", "description": "Timestamp when the gift code was created" }, "created_by": { "$ref": "#/components/schemas/UserPartialResponse" }, "redeemed_at": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "description": "Timestamp when the gift code was redeemed" }, "redeemed_by": { "anyOf": [ { "$ref": "#/components/schemas/UserPartialResponse" }, { "type": "null" } ], "description": "The user who redeemed the gift code" } }, "required": [ "code", "duration_months", "created_at", "created_by" ] }, "UserGuildSettingsResponse": { "type": "object", "properties": { "guild_id": { "anyOf": [ { "$ref": "#/components/schemas/SnowflakeType" }, { "type": "null" } ], "description": "The ID of the guild these settings apply to" }, "message_notifications": { "$ref": "#/components/schemas/UserNotificationSettings", "description": "The default notification level for the guild" }, "muted": { "type": "boolean", "description": "Whether the guild is muted" }, "mute_config": { "anyOf": [ { "type": "object", "properties": { "end_time": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "ISO8601 timestamp of when the mute expires" }, "selected_time_window": { "type": "integer", "minimum": 0, "maximum": 2147483647, "format": "int32", "description": "The selected mute duration in seconds" } }, "required": [ "end_time", "selected_time_window" ] }, { "type": "null" } ], "description": "The mute configuration for the guild" }, "mobile_push": { "type": "boolean", "description": "Whether mobile push notifications are enabled" }, "suppress_everyone": { "type": "boolean", "description": "Whether @everyone mentions are suppressed" }, "suppress_roles": { "type": "boolean", "description": "Whether role mentions are suppressed" }, "hide_muted_channels": { "type": "boolean", "description": "Whether muted channels are hidden in the sidebar" }, "channel_overrides": { "anyOf": [ { "type": "object", "additionalProperties": { "type": "object", "properties": { "collapsed": { "type": "boolean", "description": "Whether the channel category is collapsed in the sidebar" }, "message_notifications": { "$ref": "#/components/schemas/UserNotificationSettings", "description": "The notification level override for this channel" }, "muted": { "type": "boolean", "description": "Whether notifications are muted for this channel" }, "mute_config": { "anyOf": [ { "type": "object", "properties": { "end_time": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "ISO8601 timestamp of when the mute expires" }, "selected_time_window": { "type": "integer", "minimum": 0, "maximum": 2147483647, "format": "int32", "description": "The selected mute duration in seconds" } }, "required": [ "end_time", "selected_time_window" ] }, { "type": "null" } ], "description": "The mute configuration for this channel" } }, "required": [ "collapsed", "message_notifications", "muted", "mute_config" ] }, "patternProperties": { "^(0|[1-9][0-9]*)$": { "type": "object", "properties": { "collapsed": { "type": "boolean", "description": "Whether the channel category is collapsed in the sidebar" }, "message_notifications": { "$ref": "#/components/schemas/UserNotificationSettings", "description": "The notification level override for this channel" }, "muted": { "type": "boolean", "description": "Whether notifications are muted for this channel" }, "mute_config": { "anyOf": [ { "type": "object", "properties": { "end_time": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "ISO8601 timestamp of when the mute expires" }, "selected_time_window": { "type": "integer", "minimum": 0, "maximum": 2147483647, "format": "int32", "description": "The selected mute duration in seconds" } }, "required": [ "end_time", "selected_time_window" ] }, { "type": "null" } ], "description": "The mute configuration for this channel" } }, "required": [ "collapsed", "message_notifications", "muted", "mute_config" ] } }, "x-keyType": "snowflake" }, { "type": "null" } ], "description": "Per-channel notification overrides" }, "version": { "type": "integer", "minimum": 0, "maximum": 2147483647, "format": "int32", "description": "The version number of these settings for sync" } }, "required": [ "guild_id", "message_notifications", "muted", "mute_config", "mobile_push", "suppress_everyone", "suppress_roles", "hide_muted_channels", "channel_overrides", "version" ] }, "UserNotificationSettings": { "type": "integer", "format": "int32", "enum": [ 0, 1, 2, 3 ], "x-enumNames": [ "ALL_MESSAGES", "ONLY_MENTIONS", "NO_MESSAGES", "INHERIT" ], "x-enumDescriptions": [ "Receive notifications for all messages", "Only receive notifications for mentions", "Do not receive any notifications", "Inherit notification settings from parent" ], "description": "Notification level preference" }, "UserGuildSettingsUpdateRequest": { "type": "object", "properties": { "message_notifications": { "$ref": "#/components/schemas/UserNotificationSettings", "description": "Default guild notification level" }, "muted": { "type": "boolean", "description": "Guild muted" }, "mute_config": { "anyOf": [ { "type": "object", "properties": { "end_time": { "oneOf": [ { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:?\\d{2})?$" }, { "type": "integer", "minimum": 0, "maximum": 8640000000000000, "format": "int64" }, { "type": "null" } ], "description": "When the mute expires" }, "selected_time_window": { "type": "integer", "format": "int53", "description": "Selected mute duration" } }, "required": [ "selected_time_window" ] }, { "type": "null" } ], "description": "Guild mute configuration" }, "mobile_push": { "type": "boolean", "description": "Mobile push notifications enabled" }, "suppress_everyone": { "type": "boolean", "description": "Suppress @everyone mentions" }, "suppress_roles": { "type": "boolean", "description": "Suppress role mentions" }, "hide_muted_channels": { "type": "boolean", "description": "Hide muted channels" }, "channel_overrides": { "anyOf": [ { "type": "object", "additionalProperties": { "type": "object", "properties": { "collapsed": { "type": "boolean", "description": "Channel category collapsed" }, "message_notifications": { "$ref": "#/components/schemas/UserNotificationSettings", "description": "Channel notification level" }, "muted": { "type": "boolean", "description": "Channel muted" }, "mute_config": { "anyOf": [ { "type": "object", "properties": { "end_time": { "oneOf": [ { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:?\\d{2})?$" }, { "type": "integer", "minimum": 0, "maximum": 8640000000000000, "format": "int64" }, { "type": "null" } ], "description": "When the mute expires" }, "selected_time_window": { "type": "integer", "format": "int53", "description": "Selected mute duration" } }, "required": [ "selected_time_window" ] }, { "type": "null" } ], "description": "Channel mute configuration" } }, "required": [ "collapsed", "message_notifications", "muted" ] }, "patternProperties": { "^(0|[1-9][0-9]*)$": { "type": "object", "properties": { "collapsed": { "type": "boolean", "description": "Channel category collapsed" }, "message_notifications": { "$ref": "#/components/schemas/UserNotificationSettings", "description": "Channel notification level" }, "muted": { "type": "boolean", "description": "Channel muted" }, "mute_config": { "anyOf": [ { "type": "object", "properties": { "end_time": { "oneOf": [ { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:?\\d{2})?$" }, { "type": "integer", "minimum": 0, "maximum": 8640000000000000, "format": "int64" }, { "type": "null" } ], "description": "When the mute expires" }, "selected_time_window": { "type": "integer", "format": "int53", "description": "Selected mute duration" } }, "required": [ "selected_time_window" ] }, { "type": "null" } ], "description": "Channel mute configuration" } }, "required": [ "collapsed", "message_notifications", "muted" ] } }, "x-keyType": "snowflake" }, { "type": "null" } ], "description": "Per-channel overrides" } } }, "HarvestCreationResponseSchema": { "type": "object", "properties": { "harvest_id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "Unique identifier for the harvest request" }, "status": { "$ref": "#/components/schemas/HarvestStatusEnum" }, "created_at": { "type": "string", "description": "ISO 8601 timestamp when the harvest request was created" } }, "required": [ "harvest_id", "status", "created_at" ] }, "HarvestStatusEnum": { "type": "string", "enum": [ "pending", "processing", "completed", "failed" ], "x-enumNames": [ "pending", "processing", "completed", "failed" ], "x-enumDescriptions": [ "The harvest job is waiting to be processed", "The harvest job is currently being processed", "The harvest job has finished successfully", "The harvest job encountered an error and could not complete" ], "description": "Current status of the harvest request" }, "HarvestStatusResponseSchemaNullable": { "anyOf": [ { "$ref": "#/components/schemas/HarvestStatusResponseSchema" }, { "type": "null" } ] }, "HarvestStatusResponseSchema": { "type": "object", "properties": { "harvest_id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "Unique identifier for the harvest request" }, "status": { "$ref": "#/components/schemas/HarvestStatusEnum" }, "created_at": { "type": "string", "description": "ISO 8601 timestamp when the harvest request was created" }, "started_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "ISO 8601 timestamp when the harvest started, or null if pending" }, "completed_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "ISO 8601 timestamp when the harvest completed, or null otherwise" }, "failed_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "ISO 8601 timestamp when the harvest failed, or null otherwise" }, "file_size": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Final file size of the downloaded data, expressed as a string, or null if not available" }, "progress_percent": { "type": "number", "description": "Harvest progress as a percentage value between 0 and 100" }, "progress_step": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Textual description of the current harvest step, if available" }, "error_message": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Error message when the harvest fails, or null otherwise" }, "download_url_expires_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "ISO 8601 timestamp when the download URL expires, or null if unavailable" }, "expires_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "ISO 8601 timestamp when the harvest download expires, or null if unavailable" } }, "required": [ "harvest_id", "status", "created_at", "started_at", "completed_at", "failed_at", "file_size", "progress_percent", "progress_step", "error_message", "download_url_expires_at", "expires_at" ] }, "HarvestDownloadUrlResponse": { "type": "object", "properties": { "download_url": { "type": "string", "description": "The presigned URL to download the harvest archive" }, "expires_at": { "type": "string", "description": "ISO 8601 timestamp when the harvest download expires" } }, "required": [ "download_url", "expires_at" ] }, "FavoriteMemeListResponse": { "type": "array", "items": { "$ref": "#/components/schemas/FavoriteMemeResponse" } }, "CreateFavoriteMemeFromUrlBodySchema": { "type": "object", "properties": { "alt_text": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Alternative text description for accessibility" }, "tags": { "anyOf": [ { "type": "array", "items": { "type": "string" } }, { "type": "null" } ], "description": "Tags for categorizing and searching the meme" }, "url": { "type": "string", "format": "uri", "description": "URL of the image or video to save as a favorite meme" }, "klipy_slug": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Klipy clip slug if the URL is from Klipy" }, "tenor_slug_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Tenor view/- identifier if the URL is from Tenor" }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Display name for the meme" } }, "required": [ "url" ] }, "UpdateFavoriteMemeBodySchema": { "type": "object", "properties": { "name": { "type": "string", "description": "Display name for the meme" }, "alt_text": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Alternative text description for accessibility" }, "tags": { "anyOf": [ { "type": "array", "items": { "type": "string" } }, { "type": "null" } ], "description": "New tags for categorizing and searching the meme" } } }, "MessageListResponse": { "type": "array", "items": { "$ref": "#/components/schemas/MessageResponseSchema" } }, "MfaBackupCodesResponse": { "type": "object", "properties": { "backup_codes": { "type": "array", "items": { "$ref": "#/components/schemas/MfaBackupCodeResponse" }, "description": "List of backup codes" } }, "required": [ "backup_codes" ] }, "MfaBackupCodeResponse": { "type": "object", "properties": { "code": { "type": "string", "description": "The backup code" }, "consumed": { "type": "boolean", "description": "Whether the code has been used" } }, "required": [ "code", "consumed" ] }, "MfaBackupCodesRequest": { "type": "object", "properties": { "regenerate": { "type": "boolean", "description": "Whether to regenerate backup codes" }, "password": { "$ref": "#/components/schemas/PasswordType" }, "mfa_method": { "type": "string", "enum": [ "totp", "sms", "webauthn" ], "x-enumNames": [ "TOTP", "SMS", "WebAuthn" ], "x-enumDescriptions": [ "Time-based one-time password authentication via authenticator app", "One-time password sent via text message", "Security key or biometric authentication" ], "description": "MFA method to use for verification" }, "mfa_code": { "type": "string", "description": "MFA verification code from authenticator app or SMS" }, "webauthn_response": { "type": "object", "description": "WebAuthn authentication response" }, "webauthn_challenge": { "type": "string", "description": "WebAuthn challenge string" } }, "required": [ "regenerate" ] }, "DisableTotpRequest": { "type": "object", "properties": { "code": { "type": "string", "description": "The TOTP code to verify" }, "password": { "$ref": "#/components/schemas/PasswordType" }, "mfa_method": { "type": "string", "enum": [ "totp", "sms", "webauthn" ], "x-enumNames": [ "TOTP", "SMS", "WebAuthn" ], "x-enumDescriptions": [ "Time-based one-time password authentication via authenticator app", "One-time password sent via text message", "Security key or biometric authentication" ], "description": "MFA method to use for verification" }, "mfa_code": { "type": "string", "description": "MFA verification code from authenticator app or SMS" }, "webauthn_response": { "type": "object", "description": "WebAuthn authentication response" }, "webauthn_challenge": { "type": "string", "description": "WebAuthn challenge string" } }, "required": [ "code" ] }, "EnableMfaTotpRequest": { "type": "object", "properties": { "secret": { "type": "string", "description": "The TOTP secret key" }, "code": { "type": "string", "description": "The TOTP verification code" }, "password": { "$ref": "#/components/schemas/PasswordType" }, "mfa_method": { "type": "string", "enum": [ "totp", "sms", "webauthn" ], "x-enumNames": [ "TOTP", "SMS", "WebAuthn" ], "x-enumDescriptions": [ "Time-based one-time password authentication via authenticator app", "One-time password sent via text message", "Security key or biometric authentication" ], "description": "MFA method to use for verification" }, "mfa_code": { "type": "string", "description": "MFA verification code from authenticator app or SMS" }, "webauthn_response": { "type": "object", "description": "WebAuthn authentication response" }, "webauthn_challenge": { "type": "string", "description": "WebAuthn challenge string" } }, "required": [ "secret", "code" ] }, "WebAuthnRegisterRequest": { "type": "object", "properties": { "response": { "type": "object", "description": "WebAuthn registration response" }, "challenge": { "type": "string", "description": "The challenge from registration options" }, "name": { "type": "string", "description": "User-assigned name for the credential" }, "password": { "$ref": "#/components/schemas/PasswordType" }, "mfa_method": { "type": "string", "enum": [ "totp", "sms", "webauthn" ], "x-enumNames": [ "TOTP", "SMS", "WebAuthn" ], "x-enumDescriptions": [ "Time-based one-time password authentication via authenticator app", "One-time password sent via text message", "Security key or biometric authentication" ], "description": "MFA method to use for verification" }, "mfa_code": { "type": "string", "description": "MFA verification code from authenticator app or SMS" }, "webauthn_response": { "type": "object", "description": "WebAuthn authentication response" }, "webauthn_challenge": { "type": "string", "description": "WebAuthn challenge string" } }, "required": [ "response", "challenge", "name" ] }, "WebAuthnChallengeResponse": { "type": "object", "properties": { "challenge": { "type": "string", "description": "The WebAuthn challenge" } }, "required": [ "challenge" ] }, "WebAuthnCredentialUpdateRequest": { "type": "object", "properties": { "name": { "type": "string", "description": "New name for the credential" }, "password": { "$ref": "#/components/schemas/PasswordType" }, "mfa_method": { "type": "string", "enum": [ "totp", "sms", "webauthn" ], "x-enumNames": [ "TOTP", "SMS", "WebAuthn" ], "x-enumDescriptions": [ "Time-based one-time password authentication via authenticator app", "One-time password sent via text message", "Security key or biometric authentication" ], "description": "MFA method to use for verification" }, "mfa_code": { "type": "string", "description": "MFA verification code from authenticator app or SMS" }, "webauthn_response": { "type": "object", "description": "WebAuthn authentication response" }, "webauthn_challenge": { "type": "string", "description": "WebAuthn challenge string" } }, "required": [ "name" ] }, "UserNotesRecordResponse": { "type": "object", "additionalProperties": { "type": "string" }, "patternProperties": { "^(0|[1-9][0-9]*)$": { "type": "string" } }, "x-keyType": "snowflake", "description": "A map of user IDs to note text" }, "UserNoteResponse": { "type": "object", "properties": { "note": { "type": "string", "description": "The note text for this user" } }, "required": [ "note" ] }, "UserNoteUpdateRequest": { "type": "object", "properties": { "note": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The note text (max 256 characters)" } } }, "PasswordChangeCompleteRequest": { "type": "object", "properties": { "ticket": { "type": "string", "description": "Password change ticket identifier" }, "verification_proof": { "type": "string", "description": "Proof token obtained from verifying the email code" }, "new_password": { "$ref": "#/components/schemas/PasswordType" } }, "required": [ "ticket", "verification_proof", "new_password" ] }, "PasswordChangeTicketRequest": { "type": "object", "properties": { "ticket": { "type": "string", "description": "Password change ticket identifier" } }, "required": [ "ticket" ] }, "PasswordChangeStartResponse": { "type": "object", "properties": { "ticket": { "type": "string", "description": "Ticket for password change actions" }, "code_expires_at": { "type": "string", "description": "ISO8601 timestamp when the verification code expires" }, "resend_available_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "ISO8601 timestamp when the code can be resent" } }, "required": [ "ticket", "code_expires_at", "resend_available_at" ] }, "PasswordChangeVerifyResponse": { "type": "object", "properties": { "verification_proof": { "type": "string", "description": "Proof token issued after verifying the email code" } }, "required": [ "verification_proof" ] }, "PasswordChangeVerifyRequest": { "type": "object", "properties": { "ticket": { "type": "string", "description": "Password change ticket identifier" }, "code": { "type": "string", "description": "Verification code sent to the email address" } }, "required": [ "ticket", "code" ] }, "PhoneAddRequest": { "type": "object", "properties": { "phone_token": { "type": "string", "description": "Token from phone verification" }, "password": { "$ref": "#/components/schemas/PasswordType" }, "mfa_method": { "type": "string", "enum": [ "totp", "sms", "webauthn" ], "x-enumNames": [ "TOTP", "SMS", "WebAuthn" ], "x-enumDescriptions": [ "Time-based one-time password authentication via authenticator app", "One-time password sent via text message", "Security key or biometric authentication" ], "description": "MFA method to use for verification" }, "mfa_code": { "type": "string", "description": "MFA verification code from authenticator app or SMS" }, "webauthn_response": { "type": "object", "description": "WebAuthn authentication response" }, "webauthn_challenge": { "type": "string", "description": "WebAuthn challenge string" } }, "required": [ "phone_token" ] }, "PhoneSendVerificationRequest": { "type": "object", "properties": { "phone": { "$ref": "#/components/schemas/PhoneNumberType" } }, "required": [ "phone" ] }, "PhoneVerifyResponse": { "type": "object", "properties": { "phone_token": { "type": "string", "description": "Token to use when adding phone to account" } }, "required": [ "phone_token" ] }, "PhoneVerifyRequest": { "type": "object", "properties": { "phone": { "$ref": "#/components/schemas/PhoneNumberType" }, "code": { "type": "string", "description": "The verification code" } }, "required": [ "phone", "code" ] }, "PushSubscribeResponse": { "type": "object", "properties": { "subscription_id": { "type": "string", "pattern": "^[a-f0-9]{32}$", "description": "The unique identifier for the push subscription" } }, "required": [ "subscription_id" ] }, "PushSubscribeRequest": { "type": "object", "properties": { "endpoint": { "type": "string", "description": "The push subscription endpoint URL" }, "keys": { "type": "object", "properties": { "p256dh": { "type": "string", "description": "The P-256 ECDH public key" }, "auth": { "type": "string", "description": "The authentication secret" } }, "required": [ "p256dh", "auth" ] }, "user_agent": { "type": "string", "description": "The user agent string" } }, "required": [ "endpoint", "keys" ] }, "PushSubscriptionsListResponse": { "type": "object", "properties": { "subscriptions": { "type": "array", "items": { "$ref": "#/components/schemas/PushSubscriptionItemResponse" }, "description": "Array of push subscriptions" } }, "required": [ "subscriptions" ] }, "PushSubscriptionItemResponse": { "type": "object", "properties": { "subscription_id": { "type": "string", "pattern": "^[a-f0-9]{32}$", "description": "The unique identifier for the push subscription" }, "user_agent": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The user agent that registered this subscription" } }, "required": [ "subscription_id", "user_agent" ] }, "RelationshipResponse": { "type": "object", "properties": { "id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "The unique identifier for the relationship" }, "type": { "$ref": "#/components/schemas/RelationshipTypes", "description": "The type of relationship (friend, blocked, pending, etc.)" }, "user": { "$ref": "#/components/schemas/UserPartialResponse" }, "since": { "type": "string", "format": "date-time", "description": "ISO8601 timestamp of when the relationship was established" }, "nickname": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "A custom nickname set for the related user" } }, "required": [ "id", "type", "user", "nickname" ] }, "RelationshipTypes": { "type": "integer", "format": "int32", "enum": [ 1, 2, 3, 4 ], "x-enumNames": [ "FRIEND", "BLOCKED", "INCOMING_REQUEST", "OUTGOING_REQUEST" ], "x-enumDescriptions": [ "User is a friend", "User is blocked", "Pending incoming friend request", "Pending outgoing friend request" ], "description": "Relationship type" }, "FriendRequestByTagRequest": { "type": "object", "properties": { "username": { "$ref": "#/components/schemas/UsernameType" }, "discriminator": { "type": "string", "pattern": "^\\d{1,4}$", "description": "Discriminator tag of the user" } }, "required": [ "username", "discriminator" ] }, "RelationshipTypePutRequest": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/RelationshipTypes", "description": "Type of relationship to create" } } }, "RelationshipNicknameUpdateRequest": { "type": "object", "properties": { "nickname": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Custom nickname for this friend (max 256 characters)" } }, "required": [ "nickname" ] }, "SavedMessageEntryListResponse": { "type": "array", "items": { "$ref": "#/components/schemas/SavedMessageEntryResponse" } }, "SavedMessageEntryResponse": { "type": "object", "properties": { "id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "Unique identifier for the saved message entry" }, "channel_id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "ID of the channel containing the message" }, "message_id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "ID of the saved message" }, "status": { "type": "string", "enum": [ "available", "missing_permissions" ], "description": "Availability status of the saved message" }, "message": { "anyOf": [ { "$ref": "#/components/schemas/MessageResponseSchema" }, { "type": "null" } ], "description": "The message content if available" } }, "required": [ "id", "channel_id", "message_id", "status", "message" ] }, "SaveMessageRequest": { "type": "object", "properties": { "channel_id": { "$ref": "#/components/schemas/SnowflakeType" }, "message_id": { "$ref": "#/components/schemas/SnowflakeType" } }, "required": [ "channel_id", "message_id" ] }, "UserSettingsResponse": { "type": "object", "properties": { "status": { "type": "string", "description": "The current online status of the user" }, "status_resets_at": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "description": "ISO8601 timestamp of when the status will reset" }, "status_resets_to": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The status to reset to after the scheduled reset" }, "theme": { "type": "string", "description": "The UI theme preference" }, "locale": { "$ref": "#/components/schemas/Locale" }, "restricted_guilds": { "type": "array", "items": { "$ref": "#/components/schemas/SnowflakeType" }, "maxItems": 200, "description": "Guild IDs where direct messages are restricted" }, "bot_restricted_guilds": { "type": "array", "items": { "$ref": "#/components/schemas/SnowflakeType" }, "maxItems": 200, "description": "Guild IDs where bot direct messages are restricted" }, "default_guilds_restricted": { "type": "boolean", "description": "Whether new guilds have DM restrictions by default" }, "bot_default_guilds_restricted": { "type": "boolean", "description": "Whether new guilds have bot DM restrictions by default" }, "inline_attachment_media": { "type": "boolean", "description": "Whether to display attachments inline in chat" }, "inline_embed_media": { "type": "boolean", "description": "Whether to display embed media inline in chat" }, "gif_auto_play": { "type": "boolean", "description": "Whether GIFs auto-play in chat" }, "render_embeds": { "type": "boolean", "description": "Whether to render message embeds" }, "render_reactions": { "type": "boolean", "description": "Whether to display reactions on messages" }, "animate_emoji": { "type": "boolean", "description": "Whether to animate custom emoji" }, "animate_stickers": { "$ref": "#/components/schemas/StickerAnimationOptions", "description": "Sticker animation preference setting" }, "render_spoilers": { "$ref": "#/components/schemas/RenderSpoilers", "description": "Spoiler rendering preference setting" }, "message_display_compact": { "type": "boolean", "description": "Whether to use compact message display mode" }, "friend_source_flags": { "$ref": "#/components/schemas/FriendSourceFlags" }, "incoming_call_flags": { "$ref": "#/components/schemas/IncomingCallFlags" }, "group_dm_add_permission_flags": { "$ref": "#/components/schemas/GroupDmAddPermissionFlags" }, "guild_folders": { "type": "array", "items": { "type": "object", "properties": { "id": { "anyOf": [ { "type": "integer", "minimum": -2147483648, "maximum": 2147483647, "format": "int32" }, { "type": "null" } ], "description": "The unique identifier for the folder (-1 for uncategorized)" }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The display name of the folder" }, "color": { "anyOf": [ { "$ref": "#/components/schemas/Int32Type" }, { "type": "null" } ], "description": "The color of the folder as an integer" }, "flags": { "$ref": "#/components/schemas/GuildFolderFlags" }, "icon": { "type": "string", "enum": [ "folder", "star", "heart", "bookmark", "game_controller", "shield", "music_note" ], "x-enumNames": [ "FOLDER", "STAR", "HEART", "BOOKMARK", "GAME_CONTROLLER", "SHIELD", "MUSIC_NOTE" ], "x-enumDescriptions": [ "Classic folder icon", "Star icon", "Heart icon", "Bookmark icon", "Game controller icon", "Shield icon", "Music note icon" ], "description": "Selected icon for the guild folder" }, "guild_ids": { "type": "array", "items": { "$ref": "#/components/schemas/SnowflakeType" }, "maxItems": 200, "description": "The IDs of guilds contained in this folder" } }, "required": [ "guild_ids" ] }, "maxItems": 200, "description": "The folder structure for organizing guilds in the sidebar" }, "custom_status": { "anyOf": [ { "$ref": "#/components/schemas/CustomStatusResponse" }, { "type": "null" } ], "description": "The custom status set by the user" }, "afk_timeout": { "type": "integer", "minimum": 0, "maximum": 2147483647, "format": "int32", "description": "The idle timeout in seconds before going AFK" }, "time_format": { "$ref": "#/components/schemas/TimeFormatTypes", "description": "The preferred time format setting" }, "developer_mode": { "type": "boolean", "description": "Whether developer mode is enabled" }, "trusted_domains": { "type": "array", "items": { "type": "string" }, "maxItems": 1000, "description": "List of trusted external link domains" }, "default_hide_muted_channels": { "type": "boolean", "description": "Whether muted channels are hidden by default in new guilds" } }, "required": [ "status", "theme", "locale", "restricted_guilds", "bot_restricted_guilds", "default_guilds_restricted", "bot_default_guilds_restricted", "inline_attachment_media", "inline_embed_media", "gif_auto_play", "render_embeds", "render_reactions", "animate_emoji", "animate_stickers", "render_spoilers", "message_display_compact", "friend_source_flags", "incoming_call_flags", "group_dm_add_permission_flags", "guild_folders", "custom_status", "afk_timeout", "time_format", "developer_mode", "trusted_domains", "default_hide_muted_channels" ] }, "StickerAnimationOptions": { "type": "integer", "format": "int32", "enum": [ 0, 1, 2 ], "x-enumNames": [ "ALWAYS_ANIMATE", "ANIMATE_ON_INTERACTION", "NEVER_ANIMATE" ], "x-enumDescriptions": [ "Always animate stickers", "Animate stickers on hover/interaction", "Never animate stickers" ], "description": "Sticker animation preference" }, "RenderSpoilers": { "type": "integer", "format": "int32", "enum": [ 0, 1, 2 ], "x-enumNames": [ "ALWAYS", "ON_CLICK", "IF_MODERATOR" ], "x-enumDescriptions": [ "Always reveal spoiler content", "Reveal spoiler content on click", "Reveal spoiler content if moderator" ], "description": "Spoiler rendering preference" }, "FriendSourceFlags": { "type": "integer", "format": "int32", "minimum": 0, "maximum": 2147483647, "x-bitflagValues": [ { "name": "MUTUAL_FRIENDS", "value": "1", "description": "Allow friend requests from users who share mutual friends" }, { "name": "MUTUAL_GUILDS", "value": "2", "description": "Allow friend requests from users in mutual guilds" }, { "name": "NO_RELATION", "value": "4", "description": "Allow friend requests from users with no existing relation" } ], "description": "Friend source flags" }, "IncomingCallFlags": { "type": "integer", "format": "int32", "minimum": 0, "maximum": 2147483647, "x-bitflagValues": [ { "name": "FRIENDS_OF_FRIENDS", "value": "1", "description": "Allow incoming calls from friends of friends" }, { "name": "GUILD_MEMBERS", "value": "2", "description": "Allow incoming calls from guild members" }, { "name": "EVERYONE", "value": "4", "description": "Allow incoming calls from everyone" }, { "name": "FRIENDS_ONLY", "value": "8", "description": "Allow incoming calls only from friends" }, { "name": "NOBODY", "value": "16", "description": "Block all incoming calls" }, { "name": "SILENT_EVERYONE", "value": "32", "description": "Allow calls from everyone but receive them silently" } ], "description": "Incoming call settings" }, "GroupDmAddPermissionFlags": { "type": "integer", "format": "int32", "minimum": 0, "maximum": 2147483647, "x-bitflagValues": [ { "name": "FRIENDS_OF_FRIENDS", "value": "1", "description": "Allow friends of friends to add user to group DMs" }, { "name": "GUILD_MEMBERS", "value": "2", "description": "Allow guild members to add user to group DMs" }, { "name": "EVERYONE", "value": "4", "description": "Allow everyone to add user to group DMs" }, { "name": "FRIENDS_ONLY", "value": "8", "description": "Allow only friends to add user to group DMs" }, { "name": "NOBODY", "value": "16", "description": "Block everyone from adding user to group DMs" } ], "description": "Group DM add permissions" }, "GuildFolderFlags": { "type": "integer", "format": "int32", "minimum": 0, "maximum": 2147483647, "x-bitflagValues": [ { "name": "SHOW_ICON_WHEN_COLLAPSED", "value": "1", "description": "Show the selected icon instead of guild previews when the folder is collapsed" } ], "description": "Bitfield for guild folder display behaviour" }, "CustomStatusResponse": { "type": "object", "properties": { "text": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The custom status message text" }, "expires_at": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "description": "ISO8601 timestamp of when the custom status expires" }, "emoji_id": { "anyOf": [ { "$ref": "#/components/schemas/SnowflakeType" }, { "type": "null" } ], "description": "The ID of the custom emoji used in the status" }, "emoji_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The name of the emoji used in the status" }, "emoji_animated": { "type": "boolean", "description": "Whether the status emoji is animated" } }, "required": [ "emoji_animated" ] }, "TimeFormatTypes": { "type": "integer", "format": "int32", "enum": [ 0, 1, 2 ], "x-enumNames": [ "AUTO", "TWELVE_HOUR", "TWENTY_FOUR_HOUR" ], "x-enumDescriptions": [ "Automatically detect time format based on locale", "Use 12-hour time format (AM/PM)", "Use 24-hour time format" ], "description": "Time format preference" }, "UserSettingsUpdateRequest": { "type": "object", "properties": { "flags": { "$ref": "#/components/schemas/FriendSourceFlags" }, "status": { "$ref": "#/components/schemas/UserStatusType" }, "status_resets_at": { "oneOf": [ { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:?\\d{2})?$" }, { "type": "integer", "minimum": 0, "maximum": 8640000000000000, "format": "int64" }, { "type": "null" } ], "description": "When status resets" }, "status_resets_to": { "anyOf": [ { "$ref": "#/components/schemas/UserStatusType" }, { "type": "null" } ] }, "theme": { "$ref": "#/components/schemas/UserThemeType" }, "locale": { "$ref": "#/components/schemas/Locale" }, "restricted_guilds": { "type": "array", "items": { "$ref": "#/components/schemas/SnowflakeType" }, "maxItems": 200, "description": "Guilds with DM restrictions" }, "bot_restricted_guilds": { "type": "array", "items": { "$ref": "#/components/schemas/SnowflakeType" }, "maxItems": 200, "description": "Guilds with bot DM restrictions" }, "default_guilds_restricted": { "type": "boolean", "description": "Default DM restriction for new guilds" }, "bot_default_guilds_restricted": { "type": "boolean", "description": "Default bot DM restriction for new guilds" }, "inline_attachment_media": { "type": "boolean", "description": "Display attachments inline" }, "inline_embed_media": { "type": "boolean", "description": "Display embed media inline" }, "gif_auto_play": { "type": "boolean", "description": "Auto-play GIFs" }, "render_embeds": { "type": "boolean", "description": "Render message embeds" }, "render_reactions": { "type": "boolean", "description": "Display reactions" }, "animate_emoji": { "type": "boolean", "description": "Animate custom emoji" }, "animate_stickers": { "$ref": "#/components/schemas/StickerAnimationOptions", "description": "Sticker animation preference" }, "render_spoilers": { "$ref": "#/components/schemas/RenderSpoilers", "description": "Spoiler rendering preference" }, "message_display_compact": { "type": "boolean", "description": "Compact message display" }, "friend_source_flags": { "$ref": "#/components/schemas/FriendSourceFlags" }, "incoming_call_flags": { "$ref": "#/components/schemas/IncomingCallFlags" }, "group_dm_add_permission_flags": { "$ref": "#/components/schemas/GroupDmAddPermissionFlags" }, "guild_folders": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647, "format": "int32", "description": "Unique identifier for the folder (-1 for uncategorized)" }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Display name of the folder" }, "color": { "anyOf": [ { "$ref": "#/components/schemas/Int32Type" }, { "type": "null" } ], "description": "Color of the folder as integer" }, "flags": { "$ref": "#/components/schemas/GuildFolderFlags" }, "icon": { "type": "string", "enum": [ "folder", "star", "heart", "bookmark", "game_controller", "shield", "music_note" ], "x-enumNames": [ "FOLDER", "STAR", "HEART", "BOOKMARK", "GAME_CONTROLLER", "SHIELD", "MUSIC_NOTE" ], "x-enumDescriptions": [ "Classic folder icon", "Star icon", "Heart icon", "Bookmark icon", "Game controller icon", "Shield icon", "Music note icon" ], "description": "Selected icon for the guild folder" }, "guild_ids": { "type": "array", "items": { "$ref": "#/components/schemas/SnowflakeType" }, "maxItems": 200, "description": "Guild IDs in this folder" } }, "required": [ "id", "guild_ids" ] }, "maxItems": 200, "description": "Guild folder organization" }, "custom_status": { "anyOf": [ { "$ref": "#/components/schemas/CustomStatusPayload" }, { "type": "null" } ], "description": "Custom status" }, "afk_timeout": { "type": "integer", "format": "int53", "description": "AFK timeout in seconds" }, "time_format": { "$ref": "#/components/schemas/TimeFormatTypes", "description": "Time format preference" }, "developer_mode": { "type": "boolean", "description": "Developer mode enabled" }, "trusted_domains": { "type": "array", "items": { "type": "string", "minLength": 1, "maxLength": 253 }, "maxItems": 1000, "description": "Trusted external link domains. Use \"*\" to trust all domains." }, "default_hide_muted_channels": { "type": "boolean", "description": "Hide muted channels by default in new guilds" } } }, "UserStatusType": { "type": "string", "enum": [ "online", "dnd", "idle", "invisible" ], "x-enumNames": [ "ONLINE", "DND", "IDLE", "INVISIBLE" ], "x-enumDescriptions": [ "User is online and available", "Do not disturb – notifications are suppressed", "User is away or inactive", "User appears offline but can still receive messages" ], "description": "User online status" }, "UserThemeType": { "type": "string", "enum": [ "dark", "coal", "light", "system" ], "x-enumNames": [ "DARK", "COAL", "LIGHT", "SYSTEM" ], "x-enumDescriptions": [ "Dark colour theme", "Coal/darker colour theme", "Light colour theme", "Follow system colour preference" ], "description": "UI theme preference" }, "CustomStatusPayload": { "type": "object", "properties": { "text": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Custom status text (max 128 characters)" }, "expires_at": { "oneOf": [ { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:?\\d{2})?$" }, { "type": "integer", "minimum": 0, "maximum": 8640000000000000, "format": "int64" }, { "type": "null" } ], "description": "When the custom status expires" }, "emoji_id": { "anyOf": [ { "$ref": "#/components/schemas/SnowflakeType" }, { "type": "null" } ], "description": "ID of custom emoji to display" }, "emoji_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Unicode emoji or custom emoji name" } } }, "SudoMfaMethodsResponse": { "type": "object", "properties": { "totp": { "type": "boolean", "description": "Whether TOTP is enabled" }, "sms": { "type": "boolean", "description": "Whether SMS MFA is enabled" }, "webauthn": { "type": "boolean", "description": "Whether WebAuthn is enabled" }, "has_mfa": { "type": "boolean", "description": "Whether any MFA method is enabled" } }, "required": [ "totp", "sms", "webauthn", "has_mfa" ] }, "ThemeCreateResponse": { "type": "object", "properties": { "id": { "type": "string", "pattern": "^[a-f0-9]{16}$", "description": "The unique identifier for the created theme" } }, "required": [ "id" ] }, "ThemeCreateRequest": { "type": "object", "properties": { "css": { "type": "string", "minLength": 1, "description": "CSS text to store and share" } }, "required": [ "css" ] }, "UserTagCheckResponse": { "type": "object", "properties": { "taken": { "type": "boolean", "description": "Whether the username/discriminator combination is already taken" } }, "required": [ "taken" ] }, "UserProfileFullResponse": { "type": "object", "properties": { "user": { "type": "object", "properties": { "id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "The unique identifier (snowflake) for this user" }, "username": { "type": "string", "description": "The username of the user, not unique across the platform" }, "discriminator": { "type": "string", "description": "The four-digit discriminator tag of the user" }, "global_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The display name of the user, if set" }, "avatar": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The hash of the user avatar image" }, "avatar_color": { "anyOf": [ { "$ref": "#/components/schemas/Int32Type" }, { "type": "null" } ], "description": "The dominant avatar color of the user as an integer" }, "bot": { "type": "boolean", "description": "Whether the user is a bot account" }, "system": { "type": "boolean", "description": "Whether the user is an official system user" }, "flags": { "$ref": "#/components/schemas/PublicUserFlags" } }, "required": [ "id", "username", "discriminator", "global_name", "avatar", "avatar_color", "flags" ], "description": "The user object" }, "user_profile": { "type": "object", "properties": { "bio": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "User biography text" }, "pronouns": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "User pronouns" }, "banner": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Hash of the profile banner image" }, "banner_color": { "anyOf": [ { "$ref": "#/components/schemas/Int32Type" }, { "type": "null" } ], "description": "Default banner color if no custom banner" }, "accent_color": { "anyOf": [ { "$ref": "#/components/schemas/Int32Type" }, { "type": "null" } ], "description": "User-selected accent color" } }, "required": [ "bio", "pronouns", "banner", "accent_color" ], "description": "The user profile data" }, "guild_member": { "$ref": "#/components/schemas/GuildMemberResponse" }, "guild_member_profile": { "anyOf": [ { "type": "object", "properties": { "bio": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Guild-specific biography text" }, "pronouns": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Guild-specific pronouns" }, "banner": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Hash of the guild-specific banner image" }, "accent_color": { "anyOf": [ { "$ref": "#/components/schemas/Int32Type" }, { "type": "null" } ], "description": "Guild-specific accent color" } }, "required": [ "bio", "pronouns", "banner", "accent_color" ] }, { "type": "null" } ], "description": "Guild-specific profile data" }, "premium_type": { "$ref": "#/components/schemas/UserPremiumTypes", "description": "The type of premium subscription" }, "premium_since": { "type": "string", "description": "ISO8601 timestamp of when premium was activated" }, "premium_lifetime_sequence": { "$ref": "#/components/schemas/Int32Type" }, "mutual_friends": { "type": "array", "items": { "$ref": "#/components/schemas/UserPartialResponse" }, "description": "Array of mutual friends" }, "mutual_guilds": { "type": "array", "items": { "$ref": "#/components/schemas/MutualGuildResponse" }, "description": "Array of mutual guilds" }, "connected_accounts": { "type": "array", "items": { "$ref": "#/components/schemas/ConnectionResponse" }, "description": "Array of verified external connections" } }, "required": [ "user", "user_profile" ] }, "MutualGuildResponse": { "type": "object", "properties": { "id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "The ID of the mutual guild" }, "nick": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The nickname of the target user in this guild" } }, "required": [ "id", "nick" ] }, "WebhookUpdateRequest": { "type": "object", "properties": { "name": { "type": "string", "description": "The new name of the webhook" }, "avatar": { "anyOf": [ { "$ref": "#/components/schemas/Base64ImageType" }, { "type": "null" } ], "description": "The new avatar image as a base64-encoded data URI" }, "channel_id": { "$ref": "#/components/schemas/SnowflakeType" } } }, "WebhookTokenResponse": { "type": "object", "properties": { "id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "The unique identifier (snowflake) for the webhook" }, "guild_id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "The ID of the guild this webhook belongs to" }, "channel_id": { "type": "string", "pattern": "^(0|[1-9][0-9]*)$", "description": "The ID of the channel this webhook posts to" }, "name": { "type": "string", "description": "The display name of the webhook" }, "avatar": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The hash of the webhook avatar image" }, "token": { "type": "string", "description": "The secure token used to execute the webhook" } }, "required": [ "id", "guild_id", "channel_id", "name", "token" ] }, "WebhookTokenUpdateRequest": { "type": "object", "properties": { "name": { "type": "string", "description": "The new name of the webhook" }, "avatar": { "anyOf": [ { "$ref": "#/components/schemas/Base64ImageType" }, { "type": "null" } ], "description": "The new avatar image as a base64-encoded data URI" } } }, "GitHubWebhook": { "type": "object", "properties": { "action": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "answer": { "anyOf": [ { "type": "object", "properties": { "id": { "$ref": "#/components/schemas/Int64Type" }, "html_url": { "type": "string" }, "user": { "type": "object", "properties": { "id": { "$ref": "#/components/schemas/Int32Type" }, "login": { "type": "string" }, "html_url": { "type": "string" }, "avatar_url": { "type": "string" } }, "required": [ "id", "login", "html_url", "avatar_url" ] }, "commit_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "body": { "type": "string" } }, "required": [ "id", "html_url", "user", "body" ] }, { "type": "null" } ] }, "check_run": { "anyOf": [ { "type": "object", "properties": { "conclusion": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "name": { "type": "string" }, "html_url": { "type": "string" }, "check_suite": { "type": "object", "properties": { "conclusion": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "head_branch": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "head_sha": { "type": "string" }, "pull_requests": { "anyOf": [ { "type": "array", "items": { "type": "object", "properties": { "number": { "$ref": "#/components/schemas/Int32Type" } }, "required": [ "number" ] } }, { "type": "null" } ] }, "app": { "type": "object", "properties": { "name": { "type": "string" } }, "required": [ "name" ] } }, "required": [ "head_sha", "app" ] }, "details_url": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "output": { "anyOf": [ { "type": "object", "properties": { "title": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "summary": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } } }, { "type": "null" } ] }, "pull_requests": { "anyOf": [ { "type": "array", "items": { "type": "object", "properties": { "number": { "$ref": "#/components/schemas/Int32Type" } }, "required": [ "number" ] } }, { "type": "null" } ] } }, "required": [ "name", "html_url", "check_suite" ] }, { "type": "null" } ] }, "check_suite": { "anyOf": [ { "type": "object", "properties": { "conclusion": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "head_branch": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "head_sha": { "type": "string" }, "pull_requests": { "anyOf": [ { "type": "array", "items": { "type": "object", "properties": { "number": { "$ref": "#/components/schemas/Int32Type" } }, "required": [ "number" ] } }, { "type": "null" } ] }, "app": { "type": "object", "properties": { "name": { "type": "string" } }, "required": [ "name" ] } }, "required": [ "head_sha", "app" ] }, { "type": "null" } ] }, "comment": { "anyOf": [ { "type": "object", "properties": { "id": { "$ref": "#/components/schemas/Int64Type" }, "html_url": { "type": "string" }, "user": { "type": "object", "properties": { "id": { "$ref": "#/components/schemas/Int32Type" }, "login": { "type": "string" }, "html_url": { "type": "string" }, "avatar_url": { "type": "string" } }, "required": [ "id", "login", "html_url", "avatar_url" ] }, "commit_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "body": { "type": "string" } }, "required": [ "id", "html_url", "user", "body" ] }, { "type": "null" } ] }, "commits": { "anyOf": [ { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "url": { "type": "string" }, "message": { "type": "string" }, "author": { "type": "object", "properties": { "username": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "name": { "type": "string" } }, "required": [ "name" ] } }, "required": [ "id", "url", "message", "author" ] } }, { "type": "null" } ] }, "compare": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "discussion": { "anyOf": [ { "type": "object", "properties": { "title": { "type": "string" }, "number": { "$ref": "#/components/schemas/Int32Type" }, "html_url": { "type": "string" }, "answer_html_url": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "body": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "user": { "type": "object", "properties": { "id": { "$ref": "#/components/schemas/Int32Type" }, "login": { "type": "string" }, "html_url": { "type": "string" }, "avatar_url": { "type": "string" } }, "required": [ "id", "login", "html_url", "avatar_url" ] } }, "required": [ "title", "number", "html_url", "user" ] }, { "type": "null" } ] }, "forced": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ] }, "forkee": { "anyOf": [ { "type": "object", "properties": { "id": { "$ref": "#/components/schemas/Int32Type" }, "html_url": { "type": "string" }, "name": { "type": "string" }, "full_name": { "type": "string" } }, "required": [ "id", "html_url", "name", "full_name" ] }, { "type": "null" } ] }, "head_commit": { "anyOf": [ { "type": "object", "properties": { "id": { "type": "string" }, "url": { "type": "string" }, "message": { "type": "string" }, "author": { "type": "object", "properties": { "username": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "name": { "type": "string" } }, "required": [ "name" ] } }, "required": [ "id", "url", "message", "author" ] }, { "type": "null" } ] }, "issue": { "anyOf": [ { "type": "object", "properties": { "id": { "$ref": "#/components/schemas/Int64Type" }, "number": { "$ref": "#/components/schemas/Int32Type" }, "html_url": { "type": "string" }, "user": { "type": "object", "properties": { "id": { "$ref": "#/components/schemas/Int32Type" }, "login": { "type": "string" }, "html_url": { "type": "string" }, "avatar_url": { "type": "string" } }, "required": [ "id", "login", "html_url", "avatar_url" ] }, "title": { "type": "string" }, "body": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "required": [ "id", "number", "html_url", "user", "title" ] }, { "type": "null" } ] }, "member": { "anyOf": [ { "type": "object", "properties": { "id": { "$ref": "#/components/schemas/Int32Type" }, "login": { "type": "string" }, "html_url": { "type": "string" }, "avatar_url": { "type": "string" } }, "required": [ "id", "login", "html_url", "avatar_url" ] }, { "type": "null" } ] }, "pull_request": { "anyOf": [ { "type": "object", "properties": { "id": { "$ref": "#/components/schemas/Int64Type" }, "number": { "$ref": "#/components/schemas/Int32Type" }, "html_url": { "type": "string" }, "user": { "type": "object", "properties": { "id": { "$ref": "#/components/schemas/Int32Type" }, "login": { "type": "string" }, "html_url": { "type": "string" }, "avatar_url": { "type": "string" } }, "required": [ "id", "login", "html_url", "avatar_url" ] }, "title": { "type": "string" }, "body": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "required": [ "id", "number", "html_url", "user", "title" ] }, { "type": "null" } ] }, "ref_type": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "ref": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "release": { "anyOf": [ { "type": "object", "properties": { "id": { "$ref": "#/components/schemas/Int32Type" }, "tag_name": { "type": "string" }, "html_url": { "type": "string" }, "body": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "required": [ "id", "tag_name", "html_url" ] }, { "type": "null" } ] }, "repository": { "anyOf": [ { "type": "object", "properties": { "id": { "$ref": "#/components/schemas/Int32Type" }, "html_url": { "type": "string" }, "name": { "type": "string" }, "full_name": { "type": "string" } }, "required": [ "id", "html_url", "name", "full_name" ] }, { "type": "null" } ] }, "review": { "anyOf": [ { "type": "object", "properties": { "user": { "type": "object", "properties": { "id": { "$ref": "#/components/schemas/Int32Type" }, "login": { "type": "string" }, "html_url": { "type": "string" }, "avatar_url": { "type": "string" } }, "required": [ "id", "login", "html_url", "avatar_url" ] }, "body": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "html_url": { "type": "string" }, "state": { "type": "string" } }, "required": [ "user", "html_url", "state" ] }, { "type": "null" } ] }, "sender": { "type": "object", "properties": { "id": { "$ref": "#/components/schemas/Int32Type" }, "login": { "type": "string" }, "html_url": { "type": "string" }, "avatar_url": { "type": "string" } }, "required": [ "id", "login", "html_url", "avatar_url" ] } }, "required": [ "sender" ] }, "Int64Type": { "type": "string", "format": "int64", "pattern": "^-?[0-9]+$" }, "SentryWebhook": { "type": "object", "properties": { "action": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "installation": { "anyOf": [ { "type": "object", "properties": { "uuid": { "type": "string" } }, "required": [ "uuid" ] }, { "type": "null" } ] }, "data": { "anyOf": [ { "type": "object", "properties": { "issue": { "type": "object", "properties": { "id": { "type": "string" }, "shortId": { "type": "string" }, "title": { "type": "string" }, "culprit": { "type": "string" }, "permalink": { "type": "string" }, "level": { "type": "string" }, "status": { "type": "string" }, "platform": { "type": "string" }, "project": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "slug": { "type": "string" }, "platform": { "type": "string" } }, "required": [ "id", "name", "slug", "platform" ] }, "type": { "type": "string" }, "metadata": { "type": "object", "properties": { "value": { "type": "string" }, "type": { "type": "string" } }, "required": [ "value", "type" ] }, "count": { "type": "string" }, "userCount": { "type": "number" }, "firstSeen": { "type": "string" }, "lastSeen": { "type": "string" } }, "required": [ "id", "shortId", "title", "permalink", "level", "status", "platform", "project", "type", "metadata", "count", "userCount", "firstSeen", "lastSeen" ] } }, "required": [ "issue" ] }, { "type": "null" } ] }, "actor": { "anyOf": [ { "type": "object", "properties": { "type": { "type": "string" }, "id": { "type": "string" }, "name": { "type": "string" } }, "required": [ "type", "id", "name" ] }, { "type": "null" } ] } } }, "SlackWebhookRequest": { "type": "object", "properties": { "text": { "type": "string", "description": "Main text content of the message" }, "username": { "type": "string", "description": "Override the default username of the webhook" }, "icon_url": { "type": "string", "description": "Override the default icon of the webhook" }, "attachments": { "type": "array", "items": { "type": "object", "properties": { "fallback": { "type": "string", "description": "Fallback text for notifications" }, "pretext": { "type": "string", "description": "Text that appears above the attachment block" }, "text": { "type": "string", "description": "Main text content of the attachment" }, "color": { "type": "string", "description": "Colour of the attachment sidebar (hex code or preset)" }, "title": { "type": "string", "description": "Title of the attachment" }, "title_link": { "type": "string", "description": "URL to link from the title" }, "fields": { "type": "array", "items": { "type": "object", "properties": { "title": { "type": "string", "description": "Title of the field" }, "value": { "type": "string", "description": "Value of the field" }, "short": { "type": "boolean", "description": "Whether the field should be displayed as a short column" } } }, "description": "Array of field objects" }, "footer": { "type": "string", "description": "Footer text displayed at the bottom" }, "ts": { "type": "integer", "minimum": 0, "maximum": 9007199254740991, "format": "int64", "description": "Unix timestamp for the attachment footer" }, "author_name": { "type": "string", "description": "Name of the author" }, "author_link": { "type": "string", "description": "URL to link from the author name" }, "author_icon": { "type": "string", "description": "URL for the author icon image" }, "image_url": { "type": "string", "description": "URL of the main image to display" }, "thumb_url": { "type": "string", "description": "URL of a thumbnail image" } } }, "description": "Array of attachment objects" } } } }, "securitySchemes": { "botToken": { "type": "apiKey", "in": "header", "name": "Authorization", "description": "Bot token: `Authorization: Bot `. This is the primary authentication method for bot applications." }, "oauth2Token": { "type": "oauth2", "description": "OAuth2 access token: `Authorization: Bearer `.", "flows": { "authorizationCode": { "authorizationUrl": "/oauth2/authorize", "tokenUrl": "/oauth2/token", "scopes": { "identify": "Read basic user identity information.", "email": "Read the user email address.", "guilds": "Read guild membership information for the current user.", "connections": "Read linked third-party account connections for the current user.", "bot": "Add a bot user to a guild.", "admin": "Access admin endpoints when the user has admin ACLs." } } } }, "bearerToken": { "type": "http", "scheme": "bearer", "description": "Bearer-form token: `Authorization: Bearer `. Use `oauth2Token` when a route requires OAuth2 scopes." }, "sessionToken": { "type": "apiKey", "in": "header", "name": "Authorization", "description": "User session token from login: `Authorization: ` (no prefix). Prefer a bot account over user tokens where possible." }, "adminApiKey": { "type": "apiKey", "in": "header", "name": "Authorization", "description": "Admin API key: `Authorization: Admin `. Only valid for `/admin/*` endpoints." } } }, "tags": [ { "name": "Auth", "description": "Authentication and session management" }, { "name": "Users", "description": "User accounts and profiles" }, { "name": "Guilds", "description": "Guild management" }, { "name": "Channels", "description": "Channel management and messaging" }, { "name": "Invites", "description": "Guild invitations" }, { "name": "Packs", "description": "Sticker and emoji packs" }, { "name": "Webhooks", "description": "Webhook management" }, { "name": "OAuth2", "description": "OAuth2 applications and authorization" }, { "name": "Gateway", "description": "WebSocket gateway information" }, { "name": "Search", "description": "Search functionality" }, { "name": "Read States", "description": "Message read state tracking" }, { "name": "KLIPY", "description": "GIF search via KLIPY" }, { "name": "Saved Media", "description": "User saved media management" }, { "name": "Themes", "description": "User interface themes" }, { "name": "Reports", "description": "Content reporting" }, { "name": "Instance", "description": "Instance configuration and info" }, { "name": "Admin", "description": "Administrative operations for instance management" }, { "name": "Billing", "description": "Subscription and payment management via Stripe" }, { "name": "Premium", "description": "Premium subscription features and benefits" }, { "name": "Gifts", "description": "Gift codes and redemption" }, { "name": "Connections" }, { "name": "Attachments" }, { "name": "Messages" }, { "name": "Donations" }, { "name": "Discovery" }, { "name": "Tenor" } ] }