{"owner":"fluxerapp","repo":"fluxer","hasSpec":true,"specFile":"fluxer_admin/openapi-admin.json","branch":"HEAD","format":"json","version":"3.0.3","title":"Fluxer API","description":"API for Fluxer, a free and open source instant messaging and VoIP chat app built for friends, groups, and communities.","pathsCount":167,"endpoints":[{"method":"POST","path":"/admin/api-keys","summary":"Create admin API key"},{"method":"GET","path":"/admin/api-keys","summary":"List admin API keys"},{"method":"DELETE","path":"/admin/api-keys/{keyId}","summary":"Delete admin API key"},{"method":"POST","path":"/admin/applications/list-by-guild","summary":"List applications installed in a guild"},{"method":"POST","path":"/admin/applications/list-by-owner","summary":"List applications owned by a user"},{"method":"POST","path":"/admin/applications/lookup","summary":"Look up application"},{"method":"POST","path":"/admin/applications/transfer-ownership","summary":"Transfer application ownership"},{"method":"POST","path":"/admin/archives/guild","summary":"Trigger guild archive"},{"method":"POST","path":"/admin/archives/list","summary":"List archives"},{"method":"POST","path":"/admin/archives/user","summary":"Trigger user archive"},{"method":"GET","path":"/admin/archives/{subjectType}/{subjectId}/{archiveId}","summary":"Get archive details"},{"method":"GET","path":"/admin/archives/{subjectType}/{subjectId}/{archiveId}/download","summary":"Get archive download URL"},{"method":"POST","path":"/admin/assets/purge","summary":"Purge guild assets"},{"method":"POST","path":"/admin/audit-logs","summary":"List audit logs"},{"method":"POST","path":"/admin/audit-logs/search","summary":"Search audit logs"},{"method":"POST","path":"/admin/bans/avatar-hash/add","summary":"Add avatar hash ban"},{"method":"POST","path":"/admin/bans/avatar-hash/check","summary":"Check avatar hash ban status"},{"method":"POST","path":"/admin/bans/avatar-hash/remove","summary":"Remove avatar hash ban"},{"method":"POST","path":"/admin/bans/email/add","summary":"Add email ban"},{"method":"POST","path":"/admin/bans/email/check","summary":"Check email ban status"},{"method":"POST","path":"/admin/bans/email/remove","summary":"Remove email ban"},{"method":"POST","path":"/admin/bans/file-sha/add","summary":"Add file SHA ban"},{"method":"POST","path":"/admin/bans/file-sha/bulk-add","summary":"Bulk-ban file SHAs as a background job"},{"method":"POST","path":"/admin/bans/file-sha/check","summary":"Check file SHA ban status"},{"method":"POST","path":"/admin/bans/file-sha/remove","summary":"Remove file SHA ban"},{"method":"POST","path":"/admin/bans/ip/add","summary":"Add IP ban"},{"method":"POST","path":"/admin/bans/ip/check","summary":"Check IP ban status"},{"method":"POST","path":"/admin/bans/ip/remove","summary":"Remove IP ban"},{"method":"POST","path":"/admin/bans/phrase/add","summary":"Add phrase ban"},{"method":"POST","path":"/admin/bans/phrase/check","summary":"Check phrase ban status"},{"method":"POST","path":"/admin/bans/phrase/remove","summary":"Remove phrase ban"},{"method":"POST","path":"/admin/bans/profile-substring/add","summary":"Add profile-substring ban"},{"method":"POST","path":"/admin/bans/profile-substring/check","summary":"Check profile-substring ban status"},{"method":"POST","path":"/admin/bans/profile-substring/remove","summary":"Remove profile-substring ban"},{"method":"POST","path":"/admin/bans/url-domain/add","summary":"Add URL domain ban"},{"method":"POST","path":"/admin/bans/url-domain/check","summary":"Check URL domain ban status"},{"method":"POST","path":"/admin/bans/url-domain/remove","summary":"Remove URL domain ban"},{"method":"POST","path":"/admin/bans/url/add","summary":"Add URL ban"},{"method":"POST","path":"/admin/bans/url/check","summary":"Check URL ban status"},{"method":"POST","path":"/admin/bans/url/remove","summary":"Remove URL ban"},{"method":"GET","path":"/admin/billing/guilds/{guildId}/overview","summary":"Get billing overview for a guild"},{"method":"POST","path":"/admin/billing/users/{userId}/cancel-subscription","summary":"Cancel a user subscription"},{"method":"POST","path":"/admin/billing/users/{userId}/cancel-subscription-now","summary":"Cancel a user subscription immediately"},{"method":"POST","path":"/admin/billing/users/{userId}/end-premium-grace-period","summary":"End a user's premium grace period"},{"method":"GET","path":"/admin/billing/users/{userId}/invoices","summary":"List invoices for a user"},{"method":"GET","path":"/admin/billing/users/{userId}/overview","summary":"Get billing overview for a user"},{"method":"GET","path":"/admin/billing/users/{userId}/payment-methods","summary":"List payment methods for a user"},{"method":"GET","path":"/admin/billing/users/{userId}/payments","summary":"List payments for a user"},{"method":"POST","path":"/admin/billing/users/{userId}/reactivate-subscription","summary":"Reactivate a user subscription"},{"method":"POST","path":"/admin/billing/users/{userId}/refund","summary":"Issue a refund for a user payment"},{"method":"POST","path":"/admin/billing/users/{userId}/refund-policy-cancel-now","summary":"Apply refund policy and cancel subscription immediately"},{"method":"GET","path":"/admin/billing/users/{userId}/subscription","summary":"Get subscription for a user"},{"method":"POST","path":"/admin/bulk/add-guild-members","summary":"Bulk add guild members"},{"method":"POST","path":"/admin/bulk/schedule-user-deletion","summary":"Schedule bulk user deletion"},{"method":"POST","path":"/admin/bulk/update-guild-features","summary":"Bulk update guild features"},{"method":"POST","path":"/admin/bulk/update-suspicious-activity-flags","summary":"Bulk update suspicious activity flags"},{"method":"POST","path":"/admin/bulk/update-user-flags","summary":"Bulk update user flags"},{"method":"POST","path":"/admin/codes/gift","summary":"Generate gift codes"},{"method":"GET","path":"/admin/discovery/applications","summary":"List all pending discovery applications"},{"method":"POST","path":"/admin/discovery/applications/{guild_id}/approve","summary":"Approve discovery application"},{"method":"POST","path":"/admin/discovery/applications/{guild_id}/reject","summary":"Reject discovery application"},{"method":"POST","path":"/admin/discovery/guilds/{guild_id}/remove","summary":"Remove guild from discovery"},{"method":"GET","path":"/admin/discovery/listed","summary":"List all guilds currently listed in discovery"},{"method":"POST","path":"/admin/gateway/memory-stats","summary":"Get guild memory statistics"},{"method":"POST","path":"/admin/gateway/reload-all","summary":"Reload specified guilds"},{"method":"GET","path":"/admin/gateway/stats","summary":"Get gateway node statistics"},{"method":"GET","path":"/admin/gateway/voice-state-counts","summary":"Get gateway voice state counts"},{"method":"POST","path":"/admin/guilds/audit-logs","summary":"List guild audit logs"},{"method":"POST","path":"/admin/guilds/ban-member","summary":"Ban guild member"},{"method":"POST","path":"/admin/guilds/clear-fields","summary":"Clear guild fields"},{"method":"POST","path":"/admin/guilds/delete","summary":"Delete guild"},{"method":"POST","path":"/admin/guilds/force-add-user","summary":"Force add user to guild"},{"method":"POST","path":"/admin/guilds/kick-member","summary":"Kick guild member"},{"method":"POST","path":"/admin/guilds/list-members","summary":"List guild members"},{"method":"POST","path":"/admin/guilds/lookup","summary":"Look up guild"},{"method":"POST","path":"/admin/guilds/reload","summary":"Reload guild"},{"method":"POST","path":"/admin/guilds/search","summary":"Search guilds"},{"method":"POST","path":"/admin/guilds/shutdown","summary":"Shutdown guild"},{"method":"POST","path":"/admin/guilds/transfer-ownership","summary":"Transfer guild ownership"},{"method":"POST","path":"/admin/guilds/update-features","summary":"Update guild features"},{"method":"POST","path":"/admin/guilds/update-name","summary":"Update guild name"},{"method":"POST","path":"/admin/guilds/update-settings","summary":"Update guild settings"},{"method":"POST","path":"/admin/guilds/update-vanity","summary":"Update guild vanity"},{"method":"GET","path":"/admin/guilds/{guild_id}/emojis","summary":"List guild emojis"},{"method":"GET","path":"/admin/guilds/{guild_id}/stickers","summary":"List guild stickers"},{"method":"POST","path":"/admin/instance-config/branding-asset","summary":"Upload or clear an instance branding asset"},{"method":"POST","path":"/admin/instance-config/get","summary":"Get instance configuration"},{"method":"POST","path":"/admin/instance-config/integrations/smtp/test","summary":"Validate SMTP configuration"},{"method":"POST","path":"/admin/instance-config/pending-registrations/approve","summary":"Approve a pending registration"},{"method":"POST","path":"/admin/instance-config/pending-registrations/reject","summary":"Reject a pending registration"},{"method":"POST","path":"/admin/instance-config/registration-urls/create","summary":"Create an admin-issued registration URL"},{"method":"POST","path":"/admin/instance-config/registration-urls/revoke","summary":"Revoke an admin-issued registration URL"},{"method":"POST","path":"/admin/instance-config/update","summary":"Update instance configuration"},{"method":"POST","path":"/admin/jobs/active","summary":"List active (queued + running) jobs"},{"method":"POST","path":"/admin/jobs/cancel","summary":"Request cancellation of a running job"},{"method":"POST","path":"/admin/jobs/get","summary":"Get job detail"},{"method":"POST","path":"/admin/jobs/list","summary":"List jobs"},{"method":"POST","path":"/admin/limit-config/get","summary":"Get limit configuration"},{"method":"POST","path":"/admin/limit-config/update","summary":"Update limit configuration"},{"method":"POST","path":"/admin/messages/browse","summary":"Browse channel messages"}],"spec":{"openapi":"3.0.3","info":{"title":"Fluxer API","version":"1.0.0","description":"API for Fluxer, a free and open source instant messaging and VoIP chat app built for friends, groups, and communities.","contact":{"name":"Fluxer Platform AB","email":"support@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":{"/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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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/applications/list-by-guild":{"post":{"operationId":"admin_list_guild_applications","summary":"List applications installed in a guild","tags":["Admin"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListGuildApplicationsResponse"}}}},"400":{"description":"Bad Request - The request was malformed or contained invalid data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Unauthorized - Authentication is required or the token is invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden - You do not have permission to perform this action","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests - You are being rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Lists OAuth2 applications whose bot users are members of a guild. Requires APPLICATION_LOOKUP or APPLICATION_LIST_BY_OWNER permission.","security":[{"adminApiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListGuildApplicationsRequest"}}}}}},"/admin/applications/list-by-owner":{"post":{"operationId":"admin_list_user_applications","summary":"List applications owned by a user","tags":["Admin"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListUserApplicationsResponse"}}}},"400":{"description":"Bad Request - The request was malformed or contained invalid data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Unauthorized - Authentication is required or the token is invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden - You do not have permission to perform this action","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests - You are being rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Lists all applications (OAuth2 clients and bots) owned by a specific user. Requires APPLICATION_LIST_BY_OWNER permission.","security":[{"adminApiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListUserApplicationsRequest"}}}}}},"/admin/applications/lookup":{"post":{"operationId":"lookup_application","summary":"Look up application","tags":["Admin"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LookupApplicationResponse"}}}},"400":{"description":"Bad Request - The request was malformed or contained invalid data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Unauthorized - Authentication is required or the token is invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden - You do not have permission to perform this action","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests - You are being rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Retrieves complete application details including ownership, bot user, OAuth2 redirect URIs, and credential status. Requires APPLICATION_LOOKUP permission.","security":[{"adminApiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LookupApplicationRequest"}}}}}},"/admin/applications/transfer-ownership":{"post":{"operationId":"transfer_application_ownership","summary":"Transfer application ownership","tags":["Admin"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationUpdateResponse"}}}},"400":{"description":"Bad Request - The request was malformed or contained invalid data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Unauthorized - Authentication is required or the token is invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden - You do not have permission to perform this action","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests - You are being rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Transfers application ownership to another user. Used when owner is inactive or for administrative recovery. Logged to audit log. Requires APPLICATION_TRANSFER_OWNERSHIP permission.","security":[{"adminApiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransferApplicationOwnershipRequest"}}}}}},"/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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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/avatar-hash/add":{"post":{"operationId":"add_avatar_hash_ban","summary":"Add avatar hash 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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Ban one or more 8-char MD5-prefix avatar hashes. Avatars matching the banned hash will be rejected on upload.","security":[{"adminApiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BanAvatarHashRequest"}}}}}},"/admin/bans/avatar-hash/check":{"post":{"operationId":"check_avatar_hash_ban_status","summary":"Check avatar hash 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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Query whether any of the provided avatar hashes are banned.","security":[{"adminApiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckAvatarHashRequest"}}}}}},"/admin/bans/avatar-hash/remove":{"post":{"operationId":"remove_avatar_hash_ban","summary":"Remove avatar hash 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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Lift a previously applied avatar-hash ban.","security":[{"adminApiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckAvatarHashRequest"}}}}}},"/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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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/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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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/file-sha/add":{"post":{"operationId":"add_file_sha_ban","summary":"Add file SHA 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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Ban one or more files by SHA hash. Uploads matching the banned hash will be rejected.","security":[{"adminApiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BanFileShaRequest"}}}}}},"/admin/bans/file-sha/bulk-add":{"post":{"operationId":"bulk_ban_file_shas","summary":"Bulk-ban file SHAs as a background job","tags":["Admin"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkJobResponse"}}}},"400":{"description":"Bad Request - The request was malformed or contained invalid data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Unauthorized - Authentication is required or the token is invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden - You do not have permission to perform this action","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests - You are being rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Enqueue a background job that bans many file SHAs at once. Returns a job_id immediately; observe progress at /admin/jobs/:job_id.","security":[{"adminApiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkBanFileShasRequest"}}}}}},"/admin/bans/file-sha/check":{"post":{"operationId":"check_file_sha_ban_status","summary":"Check file SHA 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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Query whether one or more file SHA hashes are currently banned.","security":[{"adminApiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckFileShaRequest"}}}}}},"/admin/bans/file-sha/remove":{"post":{"operationId":"remove_file_sha_ban","summary":"Remove file SHA 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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Lift a previously applied file SHA ban, allowing uploads of that file again.","security":[{"adminApiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnbanFileShaRequest"}}}}}},"/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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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/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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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/phrase/add":{"post":{"operationId":"add_phrase_ban","summary":"Add phrase 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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Ban a phrase. Matching is case-insensitive and also normalizes common bypass tricks such as inserted whitespace, punctuation, invisible characters, and compatibility glyphs.","security":[{"adminApiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BanPhraseRequest"}}}}}},"/admin/bans/phrase/check":{"post":{"operationId":"check_phrase_ban_status","summary":"Check phrase 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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Query whether a phrase is currently banned.","security":[{"adminApiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BanPhraseRequest"}}}}}},"/admin/bans/phrase/remove":{"post":{"operationId":"remove_phrase_ban","summary":"Remove phrase 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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Lift a previously applied phrase ban, allowing messages containing that phrase again.","security":[{"adminApiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BanPhraseRequest"}}}}}},"/admin/bans/profile-substring/add":{"post":{"operationId":"add_profile_substring_ban","summary":"Add profile-substring 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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Ban a substring within a specific profile field (username, global_name, nickname, bio, or pronouns). Matching reuses the phrase blocklist normalization (whitespace, punctuation, zero-width, lookalikes).","security":[{"adminApiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BanProfileSubstringRequest"}}}}}},"/admin/bans/profile-substring/check":{"post":{"operationId":"check_profile_substring_ban_status","summary":"Check profile-substring 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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Query whether any of the provided substrings are banned for the given scope.","security":[{"adminApiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BanProfileSubstringRequest"}}}}}},"/admin/bans/profile-substring/remove":{"post":{"operationId":"remove_profile_substring_ban","summary":"Remove profile-substring 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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Lift a previously applied profile-substring ban.","security":[{"adminApiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BanProfileSubstringRequest"}}}}}},"/admin/bans/url-domain/add":{"post":{"operationId":"add_url_domain_ban","summary":"Add URL domain 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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Ban an entire URL domain from being linked on the platform. All URLs under the banned domain will be blocked.","security":[{"adminApiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BanUrlDomainRequest"}}}}}},"/admin/bans/url-domain/check":{"post":{"operationId":"check_url_domain_ban_status","summary":"Check URL domain 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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Query whether a URL domain is currently banned from being linked.","security":[{"adminApiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BanUrlDomainRequest"}}}}}},"/admin/bans/url-domain/remove":{"post":{"operationId":"remove_url_domain_ban","summary":"Remove URL domain 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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Lift a previously applied URL domain ban, allowing links to that domain again.","security":[{"adminApiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnbanUrlDomainRequest"}}}}}},"/admin/bans/url/add":{"post":{"operationId":"add_url_ban","summary":"Add URL 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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Ban one or more URLs from being posted on the platform. Messages containing banned URLs will be blocked.","security":[{"adminApiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BanUrlRequest"}}}}}},"/admin/bans/url/check":{"post":{"operationId":"check_url_ban_status","summary":"Check URL 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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Query whether one or more URLs are currently banned from being posted.","security":[{"adminApiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckUrlBlocklistRequest"}}}}}},"/admin/bans/url/remove":{"post":{"operationId":"remove_url_ban","summary":"Remove URL 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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Lift a previously applied URL ban, allowing the URL to be posted again.","security":[{"adminApiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnbanUrlRequest"}}}}}},"/admin/billing/guilds/{guildId}/overview":{"get":{"operationId":"admin_billing_guild_overview","summary":"Get billing overview for a guild","tags":["Admin"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminBillingOverviewResponse"}}}},"400":{"description":"Bad Request - The request was malformed or contained invalid data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Unauthorized - Authentication is required or the token is invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden - You do not have permission to perform this action","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests - You are being rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Retrieve guild billing state. The current billing mirror is user-scoped, so guilds without persisted billing records return an empty overview.","security":[{"adminApiKey":[]}],"parameters":[{"name":"guildId","in":"path","required":true,"schema":{"type":"string"},"description":"The guildId"}]}},"/admin/billing/users/{userId}/cancel-subscription":{"post":{"operationId":"admin_billing_cancel_subscription","summary":"Cancel a user subscription","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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Set a user Stripe subscription to cancel at period end.","security":[{"adminApiKey":[]}],"parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"string"},"description":"The userId"}]}},"/admin/billing/users/{userId}/cancel-subscription-now":{"post":{"operationId":"admin_billing_cancel_subscription_now","summary":"Cancel a user subscription immediately","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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Cancel a user Stripe subscription immediately without issuing a refund.","security":[{"adminApiKey":[]}],"parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"string"},"description":"The userId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminBillingCancelImmediatelyRequest"}}}}}},"/admin/billing/users/{userId}/end-premium-grace-period":{"post":{"operationId":"admin_billing_end_premium_grace_period","summary":"End a user's premium grace period","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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"End the post-cancel premium grace period for a user immediately, downgrading them and clearing premium_since. Idempotent: safe to call when not in grace. Use when investigating fraud or honoring a user request to opt out of the recovery window.","security":[{"adminApiKey":[]}],"parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"string"},"description":"The userId"}]}},"/admin/billing/users/{userId}/invoices":{"get":{"operationId":"admin_billing_list_invoices","summary":"List invoices for a user","tags":["Admin"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminInvoiceListResponse"}}}},"400":{"description":"Bad Request - The request was malformed or contained invalid data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Unauthorized - Authentication is required or the token is invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden - You do not have permission to perform this action","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests - You are being rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Retrieve recent Stripe invoices for a user.","security":[{"adminApiKey":[]}],"parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"string"},"description":"The userId"}]}},"/admin/billing/users/{userId}/overview":{"get":{"operationId":"admin_billing_overview","summary":"Get billing overview for a user","tags":["Admin"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminBillingOverviewResponse"}}}},"400":{"description":"Bad Request - The request was malformed or contained invalid data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Unauthorized - Authentication is required or the token is invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden - You do not have permission to perform this action","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests - You are being rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Retrieve subscription status, payment history, and Stripe payment methods for a user.","security":[{"adminApiKey":[]}],"parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"string"},"description":"The userId"}]}},"/admin/billing/users/{userId}/payment-methods":{"get":{"operationId":"admin_billing_list_payment_methods","summary":"List payment methods for a user","tags":["Admin"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminPaymentMethodListResponse"}}}},"400":{"description":"Bad Request - The request was malformed or contained invalid data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Unauthorized - Authentication is required or the token is invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden - You do not have permission to perform this action","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests - You are being rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Retrieve the Stripe payment methods associated with a user.","security":[{"adminApiKey":[]}],"parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"string"},"description":"The userId"}]}},"/admin/billing/users/{userId}/payments":{"get":{"operationId":"admin_billing_list_payments","summary":"List payments for a user","tags":["Admin"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminPaymentListResponse"}}}},"400":{"description":"Bad Request - The request was malformed or contained invalid data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Unauthorized - Authentication is required or the token is invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden - You do not have permission to perform this action","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests - You are being rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Retrieve the payment history stored for a user.","security":[{"adminApiKey":[]}],"parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"string"},"description":"The userId"}]}},"/admin/billing/users/{userId}/reactivate-subscription":{"post":{"operationId":"admin_billing_reactivate_subscription","summary":"Reactivate a user subscription","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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Remove a period-end cancellation from a user Stripe subscription.","security":[{"adminApiKey":[]}],"parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"string"},"description":"The userId"}]}},"/admin/billing/users/{userId}/refund":{"post":{"operationId":"admin_billing_refund","summary":"Issue a refund for a user payment","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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Issue a full or partial refund for a user payment through Stripe.","security":[{"adminApiKey":[]}],"parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"string"},"description":"The userId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminBillingRefundRequest"}}}}}},"/admin/billing/users/{userId}/refund-policy-cancel-now":{"post":{"operationId":"admin_billing_refund_policy_cancel_now","summary":"Apply refund policy and cancel subscription immediately","tags":["Admin"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminBillingRefundLatestInvoiceCancelResponse"}}}},"400":{"description":"Bad Request - The request was malformed or contained invalid data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Unauthorized - Authentication is required or the token is invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden - You do not have permission to perform this action","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests - You are being rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Cancels a user subscription immediately and applies the support refund policy against the latest paid Stripe invoice.","security":[{"adminApiKey":[]}],"parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"string"},"description":"The userId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminBillingRefundLatestInvoiceCancelRequest"}}}}}},"/admin/billing/users/{userId}/subscription":{"get":{"operationId":"admin_billing_get_subscription","summary":"Get subscription for a user","tags":["Admin"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminSubscriptionResponse"}}}},"400":{"description":"Bad Request - The request was malformed or contained invalid data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Unauthorized - Authentication is required or the token is invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden - You do not have permission to perform this action","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests - You are being rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Retrieve the current Stripe subscription details for a user.","security":[{"adminApiKey":[]}],"parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"string"},"description":"The userId"}]}},"/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/BulkJobResponse"}}}},"400":{"description":"Bad Request - The request was malformed or contained invalid data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Unauthorized - Authentication is required or the token is invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden - You do not have permission to perform this action","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests - You are being rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Enqueue a background job that adds multiple users to a guild. Returns a job_id immediately; observe progress at /admin/jobs/:job_id.","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/BulkJobResponse"}}}},"400":{"description":"Bad Request - The request was malformed or contained invalid data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Unauthorized - Authentication is required or the token is invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden - You do not have permission to perform this action","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests - You are being rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Enqueue a background job that schedules account deletions for multiple users. Returns a job_id immediately; observe progress at /admin/jobs/:job_id. Note: the worker version skips Stripe refunds, session termination, and identifier banning — apply those separately for high-risk accounts.","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/BulkJobResponse"}}}},"400":{"description":"Bad Request - The request was malformed or contained invalid data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Unauthorized - Authentication is required or the token is invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden - You do not have permission to perform this action","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests - You are being rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Enqueue a background job that modifies guild features across multiple servers. Returns a job_id immediately; observe progress at /admin/jobs/:job_id.","security":[{"adminApiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkUpdateGuildFeaturesRequest"}}}}}},"/admin/bulk/update-suspicious-activity-flags":{"post":{"operationId":"bulk_update_suspicious_activity_flags","summary":"Bulk update suspicious activity flags","tags":["Admin"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkJobResponse"}}}},"400":{"description":"Bad Request - The request was malformed or contained invalid data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Unauthorized - Authentication is required or the token is invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden - You do not have permission to perform this action","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests - You are being rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Enqueue a background job that modifies suspicious activity flags for multiple users. Returns a job_id immediately; observe progress at /admin/jobs/:job_id.","security":[{"adminApiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkUpdateSuspiciousActivityFlagsRequest"}}}}}},"/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/BulkJobResponse"}}}},"400":{"description":"Bad Request - The request was malformed or contained invalid data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Unauthorized - Authentication is required or the token is invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden - You do not have permission to perform this action","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests - You are being rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Enqueue a background job that modifies user flags (e.g., verified, bot, system) for multiple users. Returns a job_id immediately; observe progress at /admin/jobs/:job_id.","security":[{"adminApiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkUpdateUserFlagsRequest"}}}}}},"/admin/codes/gift":{"post":{"operationId":"generate_gift_codes","summary":"Generate gift 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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Create one-use Plutonium gift codes with an explicit positive duration. Lifetime gifts are not supported.","security":[{"adminApiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateGiftCodesRequest"}}}}}},"/admin/discovery/applications":{"get":{"operationId":"list_pending_discovery_applications","summary":"List all pending discovery applications","tags":["Admin"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DiscoveryAdminPendingApplicationResponse"}}}}},"400":{"description":"Bad Request - The request was malformed or contained invalid data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Unauthorized - Authentication is required or the token is invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden - You do not have permission to perform this action","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests - You are being rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Returns every pending discovery application, enriched with guild metadata. No pagination. Requires DISCOVERY_REVIEW permission.","security":[{"adminApiKey":[]}]}},"/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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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/discovery/listed":{"get":{"operationId":"list_discovery_listed_guilds","summary":"List all guilds currently listed in discovery","tags":["Admin"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DiscoveryAdminListedGuildResponse"}}}}},"400":{"description":"Bad Request - The request was malformed or contained invalid data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Unauthorized - Authentication is required or the token is invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden - You do not have permission to perform this action","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests - You are being rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Returns every approved/listed discovery guild, enriched with guild metadata. No pagination. Requires DISCOVERY_REVIEW permission.","security":[{"adminApiKey":[]}]}},"/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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Returns uptime, process memory, and guild count. Used to monitor gateway health and performance. Requires GATEWAY_MEMORY_STATS permission.","security":[{"adminApiKey":[]}]}},"/admin/gateway/voice-state-counts":{"get":{"operationId":"get_gateway_voice_state_counts","summary":"Get gateway voice state counts","tags":["Admin"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayVoiceStateCountsResponse"}}}},"400":{"description":"Bad Request - The request was malformed or contained invalid data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Unauthorized - Authentication is required or the token is invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden - You do not have permission to perform this action","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests - You are being rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Returns active voice state counts grouped by voice region and voice server. Requires GATEWAY_MEMORY_STATS permission.","security":[{"adminApiKey":[]}]}},"/admin/guilds/audit-logs":{"post":{"operationId":"list_guild_audit_logs_admin","summary":"List guild audit logs","tags":["Admin"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListGuildAuditLogsResponse"}}}},"400":{"description":"Bad Request - The request was malformed or contained invalid data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Unauthorized - Authentication is required or the token is invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden - You do not have permission to perform this action","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests - You are being rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Returns in-app guild audit log entries for a guild without requiring VIEW_AUDIT_LOG membership permission. Supports pagination via before/after log IDs and filtering by user_id or action_type. Requires GUILD_AUDIT_LOG_VIEW permission.","security":[{"adminApiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListGuildAuditLogsRequest"}}}}}},"/admin/guilds/ban-member":{"post":{"operationId":"admin_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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":"admin_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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":"admin_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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":"admin_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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":"admin_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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":"admin_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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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/branding-asset":{"post":{"operationId":"upload_instance_branding_asset","summary":"Upload or clear an instance branding asset","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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Uploads a branding image served by the media proxy and stores its URL, or clears it when no image is provided. Requires INSTANCE_CONFIG_UPDATE permission.","security":[{"adminApiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrandingAssetUploadRequest"}}}}}},"/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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Retrieves instance-wide configuration including webhooks and SSO configuration. Requires INSTANCE_CONFIG_VIEW permission.","security":[{"adminApiKey":[]}]}},"/admin/instance-config/integrations/smtp/test":{"post":{"operationId":"test_instance_smtp_config","summary":"Validate SMTP configuration","tags":["Admin"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InstanceEmailSmtpTestResponse"}}}},"400":{"description":"Bad Request - The request was malformed or contained invalid data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Unauthorized - Authentication is required or the token is invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden - You do not have permission to perform this action","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests - You are being rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Validates that an SMTP configuration can authenticate and accept a connection. Requires INSTANCE_CONFIG_UPDATE permission.","security":[{"adminApiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InstanceEmailSmtpTestRequest"}}}}}},"/admin/instance-config/pending-registrations/approve":{"post":{"operationId":"approve_pending_registration","summary":"Approve a pending registration","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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Approves a registration waiting for manual review by removing its pending registration trait. Requires INSTANCE_CONFIG_UPDATE permission.","security":[{"adminApiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PendingRegistrationActionRequest"}}}}}},"/admin/instance-config/pending-registrations/reject":{"post":{"operationId":"reject_pending_registration","summary":"Reject a pending registration","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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Rejects a registration waiting for manual review and prevents the account from logging in. Requires INSTANCE_CONFIG_UPDATE permission.","security":[{"adminApiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PendingRegistrationActionRequest"}}}}}},"/admin/instance-config/registration-urls/create":{"post":{"operationId":"create_registration_url","summary":"Create an admin-issued registration URL","tags":["Admin"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateRegistrationUrlResponse"}}}},"400":{"description":"Bad Request - The request was malformed or contained invalid data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Unauthorized - Authentication is required or the token is invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden - You do not have permission to perform this action","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests - You are being rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Creates a one-time-display registration URL that can be sent manually by an administrator. Requires INSTANCE_CONFIG_UPDATE permission.","security":[{"adminApiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateRegistrationUrlRequest"}}}}}},"/admin/instance-config/registration-urls/revoke":{"post":{"operationId":"revoke_registration_url","summary":"Revoke an admin-issued registration URL","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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Revokes an admin-issued registration URL so it can no longer be used. Requires INSTANCE_CONFIG_UPDATE permission.","security":[{"adminApiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegistrationUrlActionRequest"}}}}}},"/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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Updates instance configuration settings including 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/jobs/active":{"post":{"operationId":"list_active_jobs","summary":"List active (queued + running) jobs","tags":["Admin"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActiveJobsResponseSchema"}}}},"400":{"description":"Bad Request - The request was malformed or contained invalid data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Unauthorized - Authentication is required or the token is invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden - You do not have permission to perform this action","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests - You are being rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Polling endpoint for the Jobs page. Returns only currently-active jobs (queued or running) so the UI can refresh progress without scanning historical data.","security":[{"adminApiKey":[]}]}},"/admin/jobs/cancel":{"post":{"operationId":"cancel_job","summary":"Request cancellation of a running job","tags":["Admin"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CancelJobResponseSchema"}}}},"400":{"description":"Bad Request - The request was malformed or contained invalid data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Unauthorized - Authentication is required or the token is invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden - You do not have permission to perform this action","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests - You are being rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Mark a job as cancel-requested. The handler must be cooperatively cancellable — it will see the flag at its next `helpers.shouldCancel()` check. Returns `{cancelled: false}` for already-terminal jobs.","security":[{"adminApiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CancelJobRequest"}}}}}},"/admin/jobs/get":{"post":{"operationId":"get_job","summary":"Get job detail","tags":["Admin"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetJobResponseSchema"}}}},"400":{"description":"Bad Request - The request was malformed or contained invalid data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Unauthorized - Authentication is required or the token is invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden - You do not have permission to perform this action","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests - You are being rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Fetch a single job ledger entry with full payload, result, and progress.","security":[{"adminApiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetJobRequest"}}}}}},"/admin/jobs/list":{"post":{"operationId":"list_jobs","summary":"List jobs","tags":["Admin"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListJobsResponseSchema"}}}},"400":{"description":"Bad Request - The request was malformed or contained invalid data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Unauthorized - Authentication is required or the token is invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden - You do not have permission to perform this action","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests - You are being rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Paginated, filterable list of background jobs from the human-facing ledger. Walks back through day-buckets and applies status / task-type / requester filters in-process.","security":[{"adminApiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListJobsRequest"}}}}}},"/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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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/browse":{"post":{"operationId":"browse_channel_messages","summary":"Browse channel messages","tags":["Admin"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrowseChannelResponse"}}}},"400":{"description":"Bad Request - The request was malformed or contained invalid data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Unauthorized - Authentication is required or the token is invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden - You do not have permission to perform this action","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests - You are being rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Browses messages in a channel with cursor-based pagination. Returns messages in reverse chronological order. Requires MESSAGE_LOOKUP permission.","security":[{"adminApiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrowseChannelRequest"}}}}}},"/admin/messages/delete":{"post":{"operationId":"admin_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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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/report-to-ncmec":{"post":{"operationId":"report_message_attachment_to_ncmec","summary":"Report an image attachment to NCMEC","tags":["Admin"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NcmecAttachmentSubmitResultResponse"}}}},"400":{"description":"Bad Request - The request was malformed or contained invalid data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Unauthorized - Authentication is required or the token is invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden - You do not have permission to perform this action","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests - You are being rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Submits a specific image attachment to NCMEC, creates an audit log entry, silently disables the user, triggers one archive for the user, and schedules content deletion after the archive completes.","security":[{"adminApiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportAttachmentToNcmecRequest"}}}}}},"/admin/messages/search":{"post":{"operationId":"search_channel_messages","summary":"Search channel messages","tags":["Admin"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchChannelMessagesResponse"}}}},"400":{"description":"Bad Request - The request was malformed or contained invalid data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Unauthorized - Authentication is required or the token is invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden - You do not have permission to perform this action","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests - You are being rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Searches messages within a channel by content. Requires MESSAGE_LOOKUP permission.","security":[{"adminApiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchChannelMessagesRequest"}}}}}},"/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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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/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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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/suspicious-email-domains/add":{"post":{"operationId":"add_suspicious_email_domain","summary":"Add suspicious email domain","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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Flag an email domain as suspicious. Registration is not blocked, but new accounts using this domain are required to verify a phone number before they can act on the platform. The list itself is not exposed to users — they only see the verified-phone gate.","security":[{"adminApiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuspiciousEmailDomainRequest"}}}}}},"/admin/suspicious-email-domains/check":{"post":{"operationId":"check_suspicious_email_domain","summary":"Check suspicious email domain 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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Query whether an email domain is currently flagged as suspicious.","security":[{"adminApiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuspiciousEmailDomainRequest"}}}}}},"/admin/suspicious-email-domains/remove":{"post":{"operationId":"remove_suspicious_email_domain","summary":"Remove suspicious email domain flag","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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Remove a domain from the suspicious list. New registrations from this domain will no longer be auto-required to verify a phone number on signup.","security":[{"adminApiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuspiciousEmailDomainRequest"}}}}}},"/admin/system-dm/send":{"post":{"operationId":"send_system_dm","summary":"Send system DM","tags":["Admin"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendSystemDmResponse"}}}},"400":{"description":"Bad Request - The request was malformed or contained invalid data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Unauthorized - Authentication is required or the token is invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden - You do not have permission to perform this action","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests - You are being rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Queue a worker job that sends the same system DM content to each provided user ID. Progress is observable via the Jobs admin page (task_type=sendSystemDm). Requires SYSTEM_DM_SEND permission.","security":[{"adminApiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendSystemDmRequest"}}}}}},"/admin/system/heap-snapshot":{"post":{"operationId":"take_heap_snapshot","summary":"Take a V8 heap snapshot","tags":["Admin"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HeapSnapshotResponse"}}}},"400":{"description":"Bad Request - The request was malformed or contained invalid data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Unauthorized - Authentication is required or the token is invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden - You do not have permission to perform this action","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests - You are being rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Triggers a V8 heap snapshot of the current process and returns the snapshot file. Used for diagnosing memory leaks. Requires SYSTEM_HEAP_SNAPSHOT permission.","security":[{"adminApiKey":[]}]}},"/admin/users/cancel-bulk-message-deletion":{"post":{"operationId":"admin_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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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-group-dm-channels":{"post":{"operationId":"list_user_group_dm_channels","summary":"List user group DM channels","tags":["Admin"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListUserGroupDmChannelsResponse"}}}},"400":{"description":"Bad Request - The request was malformed or contained invalid data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Unauthorized - Authentication is required or the token is invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden - You do not have permission to perform this action","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests - You are being rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"List group DM channels for a user. Requires USER_LIST_DM_CHANNELS permission.","security":[{"adminApiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListUserGroupDmChannelsRequest"}}}}}},"/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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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-relationships":{"post":{"operationId":"admin_list_user_relationships","summary":"List user relationships","tags":["Admin"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListUserRelationshipsResponse"}}}},"400":{"description":"Bad Request - The request was malformed or contained invalid data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Unauthorized - Authentication is required or the token is invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden - You do not have permission to perform this action","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests - You are being rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"List a user's friends, incoming and outgoing friend requests, and blocked users. Requires USER_LIST_RELATIONSHIPS permission.","security":[{"adminApiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListUserRelationshipsRequest"}}}}}},"/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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Get profile of currently authenticated admin user. Returns admin permissions, roles, and metadata. Requires AUTHENTICATE permission.","security":[{"adminApiKey":[]}]}},"/admin/users/remove-relationship":{"post":{"operationId":"remove_user_relationship","summary":"Remove user relationship","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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Remove a single relationship row for a user. For friend and outgoing_request, the mirror entry on the other user is also removed. Dispatches RELATIONSHIP_REMOVE gateway events. Requires USER_REMOVE_RELATIONSHIP permission.","security":[{"adminApiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoveUserRelationshipRequest"}}}}}},"/admin/users/remove-relationships-by-category":{"post":{"operationId":"remove_user_relationships_by_category","summary":"Remove all of a user's relationships in a category","tags":["Admin"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoveUserRelationshipsResponse"}}}},"400":{"description":"Bad Request - The request was malformed or contained invalid data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Unauthorized - Authentication is required or the token is invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden - You do not have permission to perform this action","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests - You are being rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Bulk-remove every relationship of the chosen category (friend, incoming_request, outgoing_request, blocked) for a user. Mirror entries on the other party are removed for friend, incoming_request, and outgoing_request. Requires USER_REMOVE_RELATIONSHIP permission.","security":[{"adminApiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoveUserRelationshipsByCategoryRequest"}}}}}},"/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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Searches users by username, email, ID, last active IP, 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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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/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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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-has-verified-phone":{"post":{"operationId":"update_user_has_verified_phone","summary":"Update user phone verification flag","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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Set whether a user is treated as having completed phone verification. This is the only supported path for clearing the irreversible user-facing phone verification flag.","security":[{"adminApiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateHasVerifiedPhoneRequest"}}}}}},"/admin/users/update-premium-flags":{"post":{"operationId":"update_user_premium_flags","summary":"Update user premium 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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Add or remove premium-related flags on a user account (badge visibility, override, purchase block, etc). Creates audit log entry. Requires USER_UPDATE_FLAGS permission.","security":[{"adminApiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePremiumFlagsRequest"}}}}}},"/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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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/users/{user_id}/ban-avatar":{"post":{"operationId":"ban_user_avatar","summary":"Ban this user's current avatar","tags":["Admin"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BanUserAvatarResponseSchema"}}}},"400":{"description":"Bad Request - The request was malformed or contained invalid data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Unauthorized - Authentication is required or the token is invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden - You do not have permission to perform this action","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests - You are being rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Reads the user's current avatar_hash, strips any animation prefix, and adds the 8-char hash to the avatar blocklist. Returns the banned hash.","security":[{"adminApiKey":[]}],"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/BanUserAvatarRequest"}}}}}},"/admin/voice/diagnostics/objects":{"get":{"operationId":"list_voice_diagnostics_objects","summary":"List voice diagnostics objects","tags":["Admin"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoiceDiagnosticsObjectListResponse"}}}},"400":{"description":"Bad Request - The request was malformed or contained invalid data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Unauthorized - Authentication is required or the token is invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden - You do not have permission to perform this action","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests - You are being rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Lists raw voice diagnostics NDJSON S3 objects for a channel and time range. Requires VOICE_DIAGNOSTICS_VIEW permission.","security":[{"adminApiKey":[]}],"parameters":[{"name":"channel_id","in":"query","required":true,"schema":{"type":"string","pattern":"^(0|[1-9][0-9]*)$","description":"Channel id to query diagnostics for"}},{"name":"start_ms","in":"query","required":true,"schema":{"type":"integer","minimum":0,"maximum":8640000000000000,"format":"int53","description":"Inclusive start timestamp in milliseconds"}},{"name":"end_ms","in":"query","required":true,"schema":{"type":"integer","minimum":0,"maximum":8640000000000000,"format":"int53","description":"Inclusive end timestamp in milliseconds"}},{"name":"session_id","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[A-Za-z0-9_.:-]+$","description":"Optional voice diagnostics session id filter"}},{"name":"limit_objects","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":5000,"format":"int32","description":"Maximum matching S3 objects to include"}}]}},"/admin/voice/diagnostics/raw":{"get":{"operationId":"stream_voice_diagnostics_raw","summary":"Stream raw voice diagnostics","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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Streams matching voice diagnostics NDJSON objects for local processing. Requires VOICE_DIAGNOSTICS_VIEW permission.","security":[{"adminApiKey":[]}],"parameters":[{"name":"channel_id","in":"query","required":true,"schema":{"type":"string","pattern":"^(0|[1-9][0-9]*)$","description":"Channel id to query diagnostics for"}},{"name":"start_ms","in":"query","required":true,"schema":{"type":"integer","minimum":0,"maximum":8640000000000000,"format":"int53","description":"Inclusive start timestamp in milliseconds"}},{"name":"end_ms","in":"query","required":true,"schema":{"type":"integer","minimum":0,"maximum":8640000000000000,"format":"int53","description":"Inclusive end timestamp in milliseconds"}},{"name":"session_id","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[A-Za-z0-9_.:-]+$","description":"Optional voice diagnostics session id filter"}},{"name":"limit_objects","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":5000,"format":"int32","description":"Maximum matching S3 objects to include"}}]}},"/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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Gets detailed information about a voice region including assigned servers, capacity, 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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Gets detailed voice server information including active connections and configuration. 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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Lists all voice servers with connection counts and capacity. Shows server status, region assignment, and load information. 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":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Number of seconds to wait before retrying (only on 429)","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The number of requests that can be made in the current window","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"The number of remaining requests that can be made","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the rate limit resets","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"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"}}}}}}},"components":{"schemas":{"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":{"description":"ISO 8601 timestamp when the key expires, or null if no expiration","nullable":true,"type":"string"},"acls":{"type":"array","items":{"type":"string"},"maxItems":115,"description":"List of access control permissions for the key"}},"required":["key_id","key","name","created_at","expires_at","acls"]},"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_CREATE_GUILDS","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_BLOCK_SYSTEM_USER","CANNOT_MODIFY_SYSTEM_WEBHOOK","CANNOT_MODIFY_VOICE_STATE","CANNOT_REDEEM_PLUTONIUM_WITH_VISIONARY","CANNOT_REPORT_GUILD","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","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","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","DIRECT_MESSAGE_EMAIL_VERIFICATION_REQUIRED","FRIEND_REQUEST_EMAIL_VERIFICATION_REQUIRED","GUILD_CREATION_EMAIL_VERIFICATION_REQUIRED","GUILD_EMAIL_VERIFICATION_REQUIRED","MFA_EMAIL_VERIFICATION_REQUIRED","PROFILE_EMAIL_VERIFICATION_REQUIRED","PURCHASE_EMAIL_VERIFICATION_REQUIRED","REACTION_EMAIL_VERIFICATION_REQUIRED","REPORT_EMAIL_VERIFICATION_REQUIRED","REGISTRATION_CLOSED","REGISTRATION_PENDING_APPROVAL","REGISTRATION_REJECTED","REGISTRATION_URL_INVALID","EMPTY_ENCRYPTED_BODY","ENCRYPTION_FAILED","EU_WITHDRAWAL_WAIVER_REQUIRED","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_TEMPLATE_FETCH_FAILED","GUILD_TEMPLATE_INVALID","GUILD_VERIFICATION_REQUIRED","HANDOFF_CODE_EXPIRED","HARVEST_EXPIRED","HARVEST_FAILED","HARVEST_NOT_READY","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","GLOBAL_IP_BANNED","GLOBAL_IP_TEMPORARILY_BANNED","IP_BANNED","RESIDENTIAL_PROXY_BLOCKED","TOR_BLOCKED","MAX_ANIMATED_EMOJIS","MAX_APPLICATIONS","MAX_BOOKMARKS","MAX_CATEGORY_CHANNELS","MAX_EMOJIS","MAX_FAVORITE_MEMES","MAX_FRIENDS","MAX_GROUP_DM_RECIPIENTS","MAX_GROUP_DMS","GROUP_DM_RECIPIENTS_NOT_ADDABLE","MAX_GUILD_CHANNELS","MAX_GUILD_MEMBERS","MAX_GUILD_ROLES","MAX_GUILDS","NEW_ACCOUNT_GUILD_JOIN_RATE_LIMITED","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_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","NSFW_EMOJI_STICKER_BLOCKED","PACK_ACCESS_DENIED","PASSKEY_AUTHENTICATION_FAILED","PASSKEYS_DISABLED","PHONE_ADD_NOT_ELIGIBLE","PHONE_ALREADY_USED","PHONE_RATE_LIMIT_EXCEEDED","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","RESOURCE_LOCKED","SERVICE_UNAVAILABLE","SESSION_TOKEN_MISMATCH","SINGLE_COMMUNITY_CANNOT_CREATE_GUILDS","SINGLE_COMMUNITY_CANNOT_DELETE","SINGLE_COMMUNITY_CANNOT_LEAVE","INSTANCE_POLICY_TRANSITION_NOT_ALLOWED","SLOWMODE_RATE_LIMITED","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_REFUND_OUTSIDE_WINDOW","STRIPE_REFUND_COOLDOWN_ACTIVE","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","DIRECT_MESSAGES_DISABLED","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_CREATE_GUILDS","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","UNCLAIMED_ACCOUNT_CANNOT_SUBMIT_REPORTS","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","UNFURL_STREAM_TOO_LARGE","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","AGE_VERIFICATION_ALREADY_VERIFIED","AGE_VERIFICATION_INVALID_CARD_TYPE"],"description":"Error codes returned by API operations"},"ValidationErrorItem":{"type":"object","properties":{"path":{"type":"string","description":"Field path that failed validation"},"code":{"type":"string","description":"Machine-readable validation error code"},"message":{"type":"string","description":"Human-readable validation error message"}},"required":["path","message"]},"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":115,"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":{"description":"ISO 8601 timestamp when the key was last used, or null if never used","nullable":true,"type":"string"},"expires_at":{"description":"ISO 8601 timestamp when the key expires, or null if no expiration","nullable":true,"type":"string"},"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":115,"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"]},"ListGuildApplicationsResponse":{"type":"object","properties":{"applications":{"type":"array","items":{"$ref":"#/components/schemas/ApplicationAdminResponse"}}},"required":["applications"]},"ApplicationAdminResponse":{"type":"object","properties":{"id":{"type":"string","pattern":"^(0|[1-9][0-9]*)$","description":"The unique identifier for this application"},"name":{"type":"string","description":"The display name of the application"},"owner_user_id":{"type":"string","pattern":"^(0|[1-9][0-9]*)$","description":"The user ID that owns this application"},"owner_username":{"description":"The username of the owner, if resolvable","nullable":true,"type":"string"},"owner_global_name":{"description":"The display name of the owner, if set","nullable":true,"type":"string"},"owner_discriminator":{"description":"The discriminator of the owner, if resolvable","nullable":true,"type":"string"},"bot_user_id":{"description":"The user ID of the associated bot user, if any","nullable":true,"allOf":[{"$ref":"#/components/schemas/SnowflakeType"}]},"bot_username":{"description":"The username of the bot user, if any","nullable":true,"type":"string"},"bot_global_name":{"description":"The display name of the bot user, if set","nullable":true,"type":"string"},"bot_discriminator":{"description":"The discriminator of the bot user, if any","nullable":true,"type":"string"},"bot_is_public":{"type":"boolean","description":"Whether the bot is publicly joinable"},"bot_require_code_grant":{"type":"boolean","description":"Whether an OAuth2 code grant is required for this bot"},"oauth2_redirect_uris":{"type":"array","items":{"type":"string"},"maxItems":100,"description":"Registered OAuth2 redirect URIs"},"has_client_secret":{"type":"boolean","description":"Whether a hashed client secret is stored for this application"},"has_bot_token":{"type":"boolean","description":"Whether a hashed bot token is stored for this application"},"bot_token_preview":{"description":"The preview (last few characters) of the bot token, if any","nullable":true,"type":"string"},"bot_token_created_at":{"description":"ISO 8601 timestamp when the bot token was created","nullable":true,"type":"string","format":"date-time"},"client_secret_created_at":{"description":"ISO 8601 timestamp when the client secret was created","nullable":true,"type":"string","format":"date-time"},"version":{"type":"integer","minimum":0,"maximum":2147483647,"format":"int32","description":"The optimistic locking version of the application record"}},"required":["id","name","owner_user_id","owner_username","owner_global_name","owner_discriminator","bot_user_id","bot_username","bot_global_name","bot_discriminator","bot_is_public","bot_require_code_grant","oauth2_redirect_uris","has_client_secret","has_bot_token","bot_token_preview","bot_token_created_at","client_secret_created_at","version"]},"SnowflakeType":{"type":"string","pattern":"^(0|[1-9][0-9]*)$","format":"snowflake"},"ListGuildApplicationsRequest":{"type":"object","properties":{"guild_id":{"$ref":"#/components/schemas/SnowflakeType"}},"required":["guild_id"]},"ListUserApplicationsResponse":{"type":"object","properties":{"applications":{"type":"array","items":{"$ref":"#/components/schemas/ApplicationAdminResponse"}}},"required":["applications"]},"ListUserApplicationsRequest":{"type":"object","properties":{"user_id":{"$ref":"#/components/schemas/SnowflakeType"}},"required":["user_id"]},"LookupApplicationResponse":{"type":"object","properties":{"application":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/ApplicationAdminResponse"}]}},"required":["application"]},"LookupApplicationRequest":{"type":"object","properties":{"application_id":{"$ref":"#/components/schemas/SnowflakeType"}},"required":["application_id"]},"ApplicationUpdateResponse":{"type":"object","properties":{"application":{"$ref":"#/components/schemas/ApplicationAdminResponse"}},"required":["application"]},"TransferApplicationOwnershipRequest":{"type":"object","properties":{"application_id":{"$ref":"#/components/schemas/SnowflakeType"},"new_owner_id":{"$ref":"#/components/schemas/SnowflakeType"}},"required":["application_id","new_owner_id"]},"AdminArchiveResponseSchema":{"type":"object","properties":{"archive_id":{"$ref":"#/components/schemas/SnowflakeType"},"subject_type":{"type":"string","enum":["user","guild"],"description":"Type of subject being archived"},"subject_id":{"$ref":"#/components/schemas/SnowflakeType"},"requested_by":{"$ref":"#/components/schemas/SnowflakeType"},"requested_at":{"type":"string"},"started_at":{"nullable":true,"type":"string"},"completed_at":{"nullable":true,"type":"string"},"failed_at":{"nullable":true,"type":"string"},"file_size":{"nullable":true,"type":"string"},"progress_percent":{"type":"number"},"progress_step":{"nullable":true,"type":"string"},"error_message":{"nullable":true,"type":"string"},"download_url_expires_at":{"nullable":true,"type":"string"},"expires_at":{"nullable":true,"type":"string"}},"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"]},"TriggerGuildArchiveRequest":{"type":"object","properties":{"guild_id":{"$ref":"#/components/schemas/SnowflakeType"},"include_attachments":{"type":"boolean","description":"Whether to include attachment binaries in the archive"}},"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"],"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"},"include_attachments":{"type":"boolean","description":"Whether to include attachment binaries in the archive"}},"required":["user_id"]},"GetArchiveResponseSchema":{"type":"object","properties":{"archive":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/AdminArchiveResponseSchema"}]}},"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"],"description":"Type of guild asset"},"found_in_db":{"type":"boolean","description":"Whether the asset was found in the database"},"guild_id":{"description":"ID of the guild the asset belongs to","nullable":true,"allOf":[{"$ref":"#/components/schemas/SnowflakeType"}]},"guild_nsfw_level":{"description":"NSFW level of the guild the asset belongs to","nullable":true,"allOf":[{"$ref":"#/components/schemas/NSFWLevel"}]}},"required":["id","asset_type","found_in_db","guild_id","guild_nsfw_level"]},"NSFWLevel":{"type":"integer","format":"int32","enum":[0,3],"description":"The NSFW level of the guild"},"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":{"type":"object","properties":{"log_id":{"$ref":"#/components/schemas/SnowflakeType"},"admin_user_id":{"$ref":"#/components/schemas/SnowflakeType"},"admin_user":{"nullable":true,"type":"object","properties":{"id":{"$ref":"#/components/schemas/SnowflakeType"},"username":{"type":"string"},"discriminator":{"type":"string"},"global_name":{"nullable":true,"type":"string"}},"required":["id","username","discriminator","global_name"]},"target_type":{"type":"string"},"target_id":{"type":"string","description":"The ID of the affected entity (user, channel, role, invite code, etc.)"},"target_user":{"nullable":true,"type":"object","properties":{"id":{"$ref":"#/components/schemas/SnowflakeType"},"username":{"type":"string"},"discriminator":{"type":"string"},"global_name":{"nullable":true,"type":"string"}},"required":["id","username","discriminator","global_name"]},"target_guild":{"nullable":true,"type":"object","properties":{"id":{"$ref":"#/components/schemas/SnowflakeType"},"name":{"type":"string"}},"required":["id","name"]},"target_channel":{"nullable":true,"type":"object","properties":{"id":{"$ref":"#/components/schemas/SnowflakeType"},"name":{"nullable":true,"type":"string"},"type":{"type":"integer","format":"int32","enum":[0,1,2,3,4,998,999],"description":"The type of the channel"},"guild_id":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/SnowflakeType"}]}},"required":["id","name","type","guild_id"]},"related_users":{"type":"object","additionalProperties":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/SnowflakeType"},"username":{"type":"string"},"discriminator":{"type":"string"},"global_name":{"nullable":true,"type":"string"}},"required":["id","username","discriminator","global_name"]},"patternProperties":{"^(0|[1-9][0-9]*)$":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/SnowflakeType"},"username":{"type":"string"},"discriminator":{"type":"string"},"global_name":{"nullable":true,"type":"string"}},"required":["id","username","discriminator","global_name"]}}},"related_guilds":{"type":"object","additionalProperties":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/SnowflakeType"},"name":{"type":"string"}},"required":["id","name"]},"patternProperties":{"^(0|[1-9][0-9]*)$":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/SnowflakeType"},"name":{"type":"string"}},"required":["id","name"]}}},"related_channels":{"type":"object","additionalProperties":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/SnowflakeType"},"name":{"nullable":true,"type":"string"},"type":{"type":"integer","format":"int32","enum":[0,1,2,3,4,998,999],"description":"The type of the channel"},"guild_id":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/SnowflakeType"}]}},"required":["id","name","type","guild_id"]},"patternProperties":{"^(0|[1-9][0-9]*)$":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/SnowflakeType"},"name":{"nullable":true,"type":"string"},"type":{"type":"integer","format":"int32","enum":[0,1,2,3,4,998,999],"description":"The type of the channel"},"guild_id":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/SnowflakeType"}]}},"required":["id","name","type","guild_id"]}}},"action":{"type":"string"},"audit_log_reason":{"nullable":true,"type":"string"},"metadata":{"type":"object","additionalProperties":{"type":"string"}},"created_at":{"type":"string"}},"required":["log_id","admin_user_id","admin_user","target_type","target_id","target_user","target_guild","target_channel","related_users","related_guilds","related_channels","action","audit_log_reason","metadata","created_at"]}},"total":{"type":"number"}},"required":["logs","total"]},"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":"int53","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_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.)"},"sort_by":{"type":"string","enum":["createdAt","relevance"],"description":"Field to sort audit logs by"},"sort_order":{"type":"string","enum":["asc","desc"],"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":"int53","description":"Number of entries to skip"}}},"BanAvatarHashRequest":{"type":"object","properties":{"hashes":{"type":"array","items":{"type":"string"},"minItems":1,"maxItems":1000},"category":{"type":"string"},"severity":{"type":"integer","minimum":0,"maximum":3,"format":"int32"},"source_url":{"type":"string"},"reason":{"type":"string"},"notes":{"type":"string"}},"required":["hashes"]},"BanCheckResponseSchema":{"type":"object","properties":{"banned":{"type":"boolean"}},"required":["banned"]},"CheckAvatarHashRequest":{"type":"object","properties":{"hashes":{"type":"array","items":{"type":"string"},"minItems":1,"maxItems":1000}},"required":["hashes"]},"BanEmailRequest":{"type":"object","properties":{"email":{"$ref":"#/components/schemas/EmailType"}},"required":["email"]},"EmailType":{"type":"string","format":"email"},"BanFileShaRequest":{"type":"object","properties":{"sha256_hex":{"type":"string","description":"SHA-256 in hex"},"category":{"type":"string"},"severity":{"type":"integer","minimum":0,"maximum":3,"format":"int32"},"content_type":{"type":"string","description":"Optional MIME type hint for observability"},"source_url":{"type":"string"},"notes":{"type":"string"}},"required":["sha256_hex"]},"BulkJobResponse":{"type":"object","properties":{"job_id":{"$ref":"#/components/schemas/SnowflakeType"}},"required":["job_id"]},"BulkBanFileShasRequest":{"type":"object","properties":{"sha256_list":{"type":"array","items":{"type":"string"},"minItems":1,"maxItems":10000,"description":"Array of SHA-256 hex strings to ban"}},"required":["sha256_list"]},"CheckFileShaRequest":{"type":"object","properties":{"sha256_hex":{"type":"string"}},"required":["sha256_hex"]},"UnbanFileShaRequest":{"type":"object","properties":{"sha256_hex":{"type":"string"}},"required":["sha256_hex"]},"BanIpRequest":{"type":"object","properties":{"ip":{"type":"string","description":"IPv4/IPv6 address or CIDR range to ban"}},"required":["ip"]},"BanPhraseRequest":{"type":"object","properties":{"phrase":{"type":"string","description":"Phrase to ban. Matching is case-insensitive and also normalizes common bypass tricks such as inserted whitespace, punctuation, invisible characters, and compatibility glyphs."}},"required":["phrase"]},"BanProfileSubstringRequest":{"type":"object","properties":{"scope":{"enum":["username","global_name","nickname","bio","pronouns"],"type":"string"},"substrings":{"type":"array","items":{"type":"string"},"minItems":1,"maxItems":1000},"reason":{"type":"string"},"notes":{"type":"string"}},"required":["scope","substrings"]},"BanUrlDomainRequest":{"type":"object","properties":{"domain":{"type":"string","description":"Domain to ban (e.g. example.com)"},"match_subdomains":{"type":"boolean","description":"If true, any subdomain rooted at this domain is also banned"},"category":{"type":"string","description":"Category / source slug (defaults to \"manual\")"},"severity":{"type":"integer","minimum":0,"maximum":3,"format":"int32","description":"Severity: 0 allow, 1 warn, 2 block, 3 block+report (default 2)"},"source_url":{"type":"string","description":"Upstream source URL if imported from a feed"},"notes":{"type":"string","description":"Internal notes for audit trail"}},"required":["domain"]},"UnbanUrlDomainRequest":{"type":"object","properties":{"domain":{"type":"string","description":"Domain to unban"}},"required":["domain"]},"BanUrlRequest":{"type":"object","properties":{"url":{"type":"string","description":"Absolute URL to ban. Canonicalized before storage."},"category":{"type":"string","description":"Category / source slug (defaults to \"manual\")"},"severity":{"type":"integer","minimum":0,"maximum":3,"format":"int32","description":"Severity: 0 allow, 1 warn, 2 block, 3 block+report (default 2)"},"source_url":{"type":"string","description":"Upstream source URL if imported from a feed"},"notes":{"type":"string","description":"Internal notes for audit trail"}},"required":["url"]},"CheckUrlBlocklistRequest":{"type":"object","properties":{"url":{"type":"string","description":"URL to check against the blocklist"}},"required":["url"]},"UnbanUrlRequest":{"type":"object","properties":{"url":{"type":"string","description":"URL to unban (must match the canonicalized form in storage)"}},"required":["url"]},"AdminBillingOverviewResponse":{"type":"object","properties":{"subscription":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/AdminSubscriptionResponse"}]},"payments":{"type":"array","items":{"type":"object","properties":{"checkout_session_id":{"nullable":true,"type":"string"},"user_id":{"type":"string"},"stripe_customer_id":{"nullable":true,"type":"string"},"payment_intent_id":{"nullable":true,"type":"string"},"resolved_payment_intent_id":{"nullable":true,"type":"string"},"charge_id":{"nullable":true,"type":"string"},"subscription_id":{"nullable":true,"type":"string"},"invoice_id":{"nullable":true,"type":"string"},"price_id":{"nullable":true,"type":"string"},"product_type":{"nullable":true,"type":"string"},"amount_cents":{"type":"number"},"currency":{"type":"string"},"status":{"type":"string"},"stripe_source":{"enum":["invoice"],"type":"string"},"refundable_via_payment_intent":{"type":"boolean"},"refunded_amount_cents":{"type":"number"},"net_amount_cents":{"type":"number"},"refunds":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"amount_cents":{"type":"number"},"currency":{"type":"string"},"status":{"nullable":true,"type":"string"},"reason":{"nullable":true,"type":"string"},"created":{"type":"number"},"payment_intent_id":{"nullable":true,"type":"string"},"charge_id":{"nullable":true,"type":"string"}},"required":["id","amount_cents","currency","status","reason","created","payment_intent_id","charge_id"]}},"payment_method_type":{"nullable":true,"type":"string"},"payment_method_brand":{"nullable":true,"type":"string"},"payment_method_last4":{"nullable":true,"type":"string"},"stripe_payment_method_country_code":{"nullable":true,"type":"string"},"stripe_billing_country_code":{"nullable":true,"type":"string"},"stripe_customer_country_code":{"nullable":true,"type":"string"},"stripe_terms_of_service_accepted":{"nullable":true,"type":"boolean"},"is_gift":{"type":"boolean"},"gift_code":{"nullable":true,"type":"string"},"purchase_geoip_country_code":{"nullable":true,"type":"string"},"purchase_client_country_code":{"nullable":true,"type":"string"},"eu_withdrawal_waiver_required":{"type":"boolean"},"eu_withdrawal_waiver_accepted":{"type":"boolean"},"eu_withdrawal_waiver_accepted_at":{"nullable":true,"type":"string"},"eu_withdrawal_waiver_text_version":{"nullable":true,"type":"string"},"created_at":{"type":"string"},"completed_at":{"nullable":true,"type":"string"}},"required":["checkout_session_id","user_id","stripe_customer_id","payment_intent_id","resolved_payment_intent_id","charge_id","subscription_id","invoice_id","price_id","product_type","amount_cents","currency","status","stripe_source","refundable_via_payment_intent","refunded_amount_cents","net_amount_cents","refunds","payment_method_type","payment_method_brand","payment_method_last4","stripe_payment_method_country_code","stripe_billing_country_code","stripe_customer_country_code","stripe_terms_of_service_accepted","is_gift","gift_code","purchase_geoip_country_code","purchase_client_country_code","eu_withdrawal_waiver_required","eu_withdrawal_waiver_accepted","eu_withdrawal_waiver_accepted_at","eu_withdrawal_waiver_text_version","created_at","completed_at"]}},"payment_methods":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"card_brand":{"nullable":true,"type":"string"},"card_last4":{"nullable":true,"type":"string"},"card_exp_month":{"nullable":true,"type":"number"},"card_exp_year":{"nullable":true,"type":"number"},"created":{"type":"number"}},"required":["id","type","card_brand","card_last4","card_exp_month","card_exp_year","created"]}},"stripe_customer_id":{"nullable":true,"type":"string"}},"required":["subscription","payments","payment_methods","stripe_customer_id"]},"AdminSubscriptionResponse":{"type":"object","properties":{"id":{"type":"string"},"status":{"type":"string"},"current_period_start":{"nullable":true,"type":"string"},"current_period_end":{"nullable":true,"type":"string"},"cancel_at_period_end":{"type":"boolean"},"cancel_at":{"nullable":true,"type":"string"},"canceled_at":{"nullable":true,"type":"string"},"plan_interval":{"nullable":true,"type":"string"},"plan_amount_cents":{"nullable":true,"type":"number"},"plan_currency":{"nullable":true,"type":"string"},"default_payment_method_id":{"nullable":true,"type":"string"}},"required":["id","status","current_period_start","current_period_end","cancel_at_period_end","cancel_at","canceled_at","plan_interval","plan_amount_cents","plan_currency","default_payment_method_id"]},"AdminBillingCancelImmediatelyRequest":{"type":"object","properties":{"reason":{"type":"string","minLength":1,"maxLength":512}}},"AdminInvoiceListResponse":{"type":"object","properties":{"invoices":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"amount_due":{"type":"number"},"amount_paid":{"type":"number"},"currency":{"type":"string"},"status":{"nullable":true,"type":"string"},"created":{"type":"number"},"billing_reason":{"nullable":true,"type":"string"},"subscription_id":{"nullable":true,"type":"string"},"payment_type":{"nullable":true,"type":"string"},"payment_status":{"nullable":true,"type":"string"},"payment_intent_id":{"nullable":true,"type":"string"},"charge_id":{"nullable":true,"type":"string"},"paid_at":{"nullable":true,"type":"string"},"hosted_invoice_url":{"nullable":true,"type":"string"},"invoice_pdf":{"nullable":true,"type":"string"}},"required":["id","amount_due","amount_paid","currency","status","created","billing_reason","subscription_id","payment_type","payment_status","payment_intent_id","charge_id","paid_at","hosted_invoice_url","invoice_pdf"]}},"has_more":{"type":"boolean"}},"required":["invoices","has_more"]},"AdminPaymentMethodListResponse":{"type":"object","properties":{"payment_methods":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"card_brand":{"nullable":true,"type":"string"},"card_last4":{"nullable":true,"type":"string"},"card_exp_month":{"nullable":true,"type":"number"},"card_exp_year":{"nullable":true,"type":"number"},"created":{"type":"number"}},"required":["id","type","card_brand","card_last4","card_exp_month","card_exp_year","created"]}}},"required":["payment_methods"]},"AdminPaymentListResponse":{"type":"object","properties":{"payments":{"type":"array","items":{"type":"object","properties":{"checkout_session_id":{"nullable":true,"type":"string"},"user_id":{"type":"string"},"stripe_customer_id":{"nullable":true,"type":"string"},"payment_intent_id":{"nullable":true,"type":"string"},"resolved_payment_intent_id":{"nullable":true,"type":"string"},"charge_id":{"nullable":true,"type":"string"},"subscription_id":{"nullable":true,"type":"string"},"invoice_id":{"nullable":true,"type":"string"},"price_id":{"nullable":true,"type":"string"},"product_type":{"nullable":true,"type":"string"},"amount_cents":{"type":"number"},"currency":{"type":"string"},"status":{"type":"string"},"stripe_source":{"enum":["invoice"],"type":"string"},"refundable_via_payment_intent":{"type":"boolean"},"refunded_amount_cents":{"type":"number"},"net_amount_cents":{"type":"number"},"refunds":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"amount_cents":{"type":"number"},"currency":{"type":"string"},"status":{"nullable":true,"type":"string"},"reason":{"nullable":true,"type":"string"},"created":{"type":"number"},"payment_intent_id":{"nullable":true,"type":"string"},"charge_id":{"nullable":true,"type":"string"}},"required":["id","amount_cents","currency","status","reason","created","payment_intent_id","charge_id"]}},"payment_method_type":{"nullable":true,"type":"string"},"payment_method_brand":{"nullable":true,"type":"string"},"payment_method_last4":{"nullable":true,"type":"string"},"stripe_payment_method_country_code":{"nullable":true,"type":"string"},"stripe_billing_country_code":{"nullable":true,"type":"string"},"stripe_customer_country_code":{"nullable":true,"type":"string"},"stripe_terms_of_service_accepted":{"nullable":true,"type":"boolean"},"is_gift":{"type":"boolean"},"gift_code":{"nullable":true,"type":"string"},"purchase_geoip_country_code":{"nullable":true,"type":"string"},"purchase_client_country_code":{"nullable":true,"type":"string"},"eu_withdrawal_waiver_required":{"type":"boolean"},"eu_withdrawal_waiver_accepted":{"type":"boolean"},"eu_withdrawal_waiver_accepted_at":{"nullable":true,"type":"string"},"eu_withdrawal_waiver_text_version":{"nullable":true,"type":"string"},"created_at":{"type":"string"},"completed_at":{"nullable":true,"type":"string"}},"required":["checkout_session_id","user_id","stripe_customer_id","payment_intent_id","resolved_payment_intent_id","charge_id","subscription_id","invoice_id","price_id","product_type","amount_cents","currency","status","stripe_source","refundable_via_payment_intent","refunded_amount_cents","net_amount_cents","refunds","payment_method_type","payment_method_brand","payment_method_last4","stripe_payment_method_country_code","stripe_billing_country_code","stripe_customer_country_code","stripe_terms_of_service_accepted","is_gift","gift_code","purchase_geoip_country_code","purchase_client_country_code","eu_withdrawal_waiver_required","eu_withdrawal_waiver_accepted","eu_withdrawal_waiver_accepted_at","eu_withdrawal_waiver_text_version","created_at","completed_at"]}}},"required":["payments"]},"AdminBillingRefundRequest":{"type":"object","properties":{"payment_intent_id":{"type":"string"},"amount_cents":{"type":"integer","maximum":9007199254740991,"format":"int53","minimum":0,"exclusiveMinimum":true},"reason":{"type":"string","minLength":1,"maxLength":512}},"required":["payment_intent_id"]},"AdminBillingRefundLatestInvoiceCancelResponse":{"type":"object","properties":{"subscription_id":{"type":"string"},"invoice_id":{"type":"string"},"payment_intent_id":{"nullable":true,"type":"string"},"charge_id":{"nullable":true,"type":"string"},"refund_policy":{"enum":["full_refund","prorated_refund","cancel_only"],"type":"string"},"refund_policy_basis":{"enum":["support_policy","eu_eea_withdrawal_no_waiver"],"type":"string"},"refund_id":{"nullable":true,"type":"string"},"refunded_amount_cents":{"type":"number"},"invoice_amount_paid_cents":{"type":"number"},"currency":{"type":"string"},"cycle_elapsed_days":{"type":"number"},"purchase_geoip_country_code":{"nullable":true,"type":"string"},"purchase_client_country_code":{"nullable":true,"type":"string"},"stripe_payment_method_country_code":{"nullable":true,"type":"string"},"stripe_billing_country_code":{"nullable":true,"type":"string"},"stripe_customer_country_code":{"nullable":true,"type":"string"},"stripe_terms_of_service_accepted":{"nullable":true,"type":"boolean"},"eu_withdrawal_waiver_required":{"type":"boolean"},"eu_withdrawal_waiver_accepted":{"type":"boolean"},"eu_withdrawal_waiver_accepted_at":{"nullable":true,"type":"string"},"eu_withdrawal_waiver_text_version":{"nullable":true,"type":"string"}},"required":["subscription_id","invoice_id","payment_intent_id","charge_id","refund_policy","refund_policy_basis","refund_id","refunded_amount_cents","invoice_amount_paid_cents","currency","cycle_elapsed_days","purchase_geoip_country_code","purchase_client_country_code","stripe_payment_method_country_code","stripe_billing_country_code","stripe_customer_country_code","stripe_terms_of_service_accepted","eu_withdrawal_waiver_required","eu_withdrawal_waiver_accepted","eu_withdrawal_waiver_accepted_at","eu_withdrawal_waiver_text_version"]},"AdminBillingRefundLatestInvoiceCancelRequest":{"type":"object","properties":{"reason":{"type":"string","minLength":1,"maxLength":512}}},"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","description":"A guild feature flag Known values: ANIMATED_ICON, ANIMATED_BANNER, BANNER, CLONE_EMOJI_DISABLED, CLONE_STICKER_DISABLED, DETACHED_BANNER, INVITE_SPLASH, INVITES_DISABLED, RAID_DETECTED, TEXT_CHANNEL_FLEXIBLE_NAMES, HIDE_OWNER_CROWN, MORE_EMOJI, MORE_STICKERS, UNLIMITED_EMOJI, UNLIMITED_STICKERS, EXPRESSION_PURGE_ALLOWED, VANITY_URL, DISCOVERABLE, PARTNERED, VERIFIED, VIP_VOICE, VOICE_E2EE, UNAVAILABLE_FOR_EVERYONE, UNAVAILABLE_FOR_EVERYONE_BUT_STAFF, UNAVAILABLE_HIDDEN, VISIONARY, LARGE_GUILD_OVERRIDE, VERY_LARGE_GUILD (other values allowed)"},"BulkUpdateSuspiciousActivityFlagsRequest":{"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":{"type":"string"},"maxItems":32,"description":"Suspicious activity flag names to add to all specified users"},"remove_flags":{"type":"array","items":{"type":"string"},"maxItems":32,"description":"Suspicious activity flag names to remove from all specified users"}},"required":["user_ids"]},"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]+$","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"},"duration_type":{"type":"string","enum":["days","weeks","months","years"],"description":"Duration unit for the generated gift codes"},"duration_quantity":{"type":"integer","minimum":1,"maximum":3650,"format":"int32","description":"Duration quantity for the selected unit. Lifetime gifts are not supported."}},"required":["count","duration_type","duration_quantity"]},"DiscoveryAdminPendingApplicationResponse":{"type":"object","properties":{"guild_id":{"type":"string","pattern":"^(0|[1-9][0-9]*)$","description":"Guild ID"},"guild_name":{"type":"string","description":"Guild name"},"guild_icon":{"description":"Guild icon hash","nullable":true,"type":"string"},"guild_owner_id":{"type":"string","pattern":"^(0|[1-9][0-9]*)$","description":"Guild owner user ID"},"guild_owner_username":{"description":"Guild owner username","nullable":true,"type":"string"},"guild_owner_global_name":{"description":"Guild owner display name","nullable":true,"type":"string"},"guild_owner_discriminator":{"description":"Guild owner discriminator","nullable":true,"type":"string"},"guild_member_count":{"type":"number","description":"Approximate member count"},"guild_nsfw_level":{"description":"NSFW level of the guild","nullable":true,"allOf":[{"$ref":"#/components/schemas/NSFWLevel"}]},"guild_features":{"type":"array","items":{"type":"string"},"description":"Guild feature flags"},"description":{"type":"string","description":"Discovery description"},"category_type":{"type":"number","description":"Discovery category type"},"primary_language":{"description":"Primary community language","nullable":true,"type":"string"},"custom_tags":{"type":"array","items":{"type":"string"},"description":"Custom discovery tags"},"applied_at":{"type":"string","description":"Application timestamp"}},"required":["guild_id","guild_name","guild_icon","guild_owner_id","guild_owner_username","guild_owner_global_name","guild_owner_discriminator","guild_member_count","guild_nsfw_level","guild_features","description","category_type","primary_language","custom_tags","applied_at"]},"DiscoveryApplicationResponse":{"type":"object","properties":{"guild_id":{"type":"string","pattern":"^(0|[1-9][0-9]*)$","description":"Guild ID"},"guild_nsfw_level":{"description":"NSFW level of the guild","nullable":true,"allOf":[{"$ref":"#/components/schemas/NSFWLevel"}]},"status":{"type":"string","description":"Application status"},"description":{"type":"string","description":"Discovery description"},"category_type":{"type":"number","description":"Discovery category type"},"primary_language":{"description":"Primary community language","nullable":true,"type":"string"},"custom_tags":{"type":"array","items":{"type":"string"},"description":"Custom discovery tags"},"applied_at":{"type":"string","description":"Application timestamp"},"reviewed_at":{"description":"Review timestamp","nullable":true,"type":"string"},"review_reason":{"description":"Review reason (approval/rejection)","nullable":true,"type":"string"},"removed_at":{"description":"Removal timestamp","nullable":true,"type":"string"},"removal_reason":{"description":"Removal reason","nullable":true,"type":"string"}},"required":["guild_id","status","description","category_type","custom_tags","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"]},"DiscoveryAdminListedGuildResponse":{"type":"object","properties":{"guild_id":{"type":"string","pattern":"^(0|[1-9][0-9]*)$","description":"Guild ID"},"guild_name":{"type":"string","description":"Guild name"},"guild_icon":{"description":"Guild icon hash","nullable":true,"type":"string"},"guild_owner_id":{"type":"string","pattern":"^(0|[1-9][0-9]*)$","description":"Guild owner user ID"},"guild_owner_username":{"description":"Guild owner username","nullable":true,"type":"string"},"guild_owner_global_name":{"description":"Guild owner display name","nullable":true,"type":"string"},"guild_owner_discriminator":{"description":"Guild owner discriminator","nullable":true,"type":"string"},"guild_member_count":{"type":"number","description":"Approximate member count"},"guild_nsfw_level":{"description":"NSFW level of the guild","nullable":true,"allOf":[{"$ref":"#/components/schemas/NSFWLevel"}]},"guild_features":{"type":"array","items":{"type":"string"},"description":"Guild feature flags"},"description":{"type":"string","description":"Discovery description"},"category_type":{"type":"number","description":"Discovery category type"},"primary_language":{"description":"Primary community language","nullable":true,"type":"string"},"custom_tags":{"type":"array","items":{"type":"string"},"description":"Custom discovery tags"},"applied_at":{"type":"string","description":"Application timestamp"},"approved_at":{"description":"Approval timestamp","nullable":true,"type":"string"}},"required":["guild_id","guild_name","guild_icon","guild_owner_id","guild_owner_username","guild_owner_global_name","guild_owner_discriminator","guild_member_count","guild_nsfw_level","guild_features","description","category_type","primary_language","custom_tags","applied_at","approved_at"]},"GuildMemoryStatsResponse":{"type":"object","properties":{"guilds":{"type":"array","items":{"type":"object","properties":{"node_id":{"type":"string"},"guild_id":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/SnowflakeType"}]},"guild_name":{"type":"string"},"guild_icon":{"nullable":true,"type":"string"},"nsfw_level":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/NSFWLevel"}]},"memory":{"$ref":"#/components/schemas/Int64StringType"},"member_count":{"$ref":"#/components/schemas/Int32Type"},"session_count":{"$ref":"#/components/schemas/Int32Type"},"presence_count":{"$ref":"#/components/schemas/Int32Type"}},"required":["node_id","guild_id","guild_name","guild_icon","nsfw_level","memory","member_count","session_count","presence_count"]},"maxItems":1000}},"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":100,"maximum":1000,"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"},"node_count":{"$ref":"#/components/schemas/Int32Type"},"nodes":{"type":"array","items":{"type":"object","properties":{"node_id":{"type":"string"},"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":["node_id","status","sessions","guilds","presences","calls","memory","process_count","process_limit","uptime_seconds"]},"maxItems":1000}},"required":["status","sessions","guilds","presences","calls","memory","process_count","process_limit","uptime_seconds","node_count","nodes"]},"GatewayVoiceStateCountsResponse":{"type":"object","properties":{"total_voice_states":{"$ref":"#/components/schemas/Int32Type"},"regions":{"type":"array","items":{"type":"object","properties":{"region_id":{"type":"string"},"voice_state_count":{"$ref":"#/components/schemas/Int32Type"}},"required":["region_id","voice_state_count"]},"maxItems":1000},"servers":{"type":"array","items":{"type":"object","properties":{"server_id":{"type":"string"},"voice_state_count":{"$ref":"#/components/schemas/Int32Type"}},"required":["server_id","voice_state_count"]},"maxItems":5000}},"required":["total_voice_states","regions","servers"]},"ListGuildAuditLogsResponse":{"type":"object","properties":{"audit_log_entries":{"type":"array","items":{"$ref":"#/components/schemas/GuildAuditLogEntryResponse"},"description":"Array of audit log entries"},"users":{"type":"array","items":{"$ref":"#/components/schemas/UserPartialResponse"},"description":"Users referenced in the audit log entries"},"webhooks":{"type":"array","items":{"$ref":"#/components/schemas/AuditLogWebhookResponse"},"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":{"description":"The user ID of the user who performed the action","nullable":true,"allOf":[{"$ref":"#/components/schemas/SnowflakeType"}]},"target_id":{"description":"The ID of the affected entity (user, channel, role, invite code, etc.)","nullable":true,"type":"string"},"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],"description":"The type of action that occurred"},"AuditLogChangeSchema":{"type":"object","properties":{"key":{"type":"string","description":"The field that changed"},"old_value":{"description":"Value before the change","nullable":true,"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"]}]},"new_value":{"description":"Value after the change","nullable":true,"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"]}]}},"required":["key"]},"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":{"description":"The display name of the user, if set","nullable":true,"type":"string"},"avatar":{"description":"The hash of the user avatar image","nullable":true,"type":"string"},"avatar_color":{"description":"The dominant avatar color of the user as an integer","nullable":true,"allOf":[{"$ref":"#/components/schemas/Int32Type"}]},"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"},"mention_flags":{"$ref":"#/components/schemas/MentionReplyPreferences","description":"The user's account-wide reply mention preference"}},"required":["id","username","discriminator","global_name","avatar","avatar_color","flags"]},"PublicUserFlags":{"type":"integer","format":"int32","minimum":0,"maximum":2147483647,"description":"The public flags on the user account"},"MentionReplyPreferences":{"type":"integer","format":"int32","enum":[0,1,2],"description":"Reply mention preference"},"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":{"description":"The guild ID this webhook belongs to","nullable":true,"allOf":[{"$ref":"#/components/schemas/SnowflakeType"}]},"channel_id":{"description":"The channel ID this webhook posts to","nullable":true,"allOf":[{"$ref":"#/components/schemas/SnowflakeType"}]},"name":{"type":"string","description":"The name of the webhook"},"avatar_hash":{"description":"The hash of the webhook avatar","nullable":true,"type":"string"}},"required":["id","type","name"]},"WebhookType":{"type":"integer","format":"int32","enum":[1,2],"description":"The type of webhook"},"ListGuildAuditLogsRequest":{"type":"object","properties":{"guild_id":{"$ref":"#/components/schemas/SnowflakeType"},"limit":{"$ref":"#/components/schemas/Int32Type"},"before":{"$ref":"#/components/schemas/SnowflakeType"},"after":{"$ref":"#/components/schemas/SnowflakeType"},"user_id":{"$ref":"#/components/schemas/SnowflakeType"},"action_type":{"$ref":"#/components/schemas/AuditLogActionType"}},"required":["guild_id"]},"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":{"description":"The reason for the ban (max 512 characters)","nullable":true,"type":"string"},"ban_duration_seconds":{"type":"integer","format":"int53","description":"Duration of the ban in seconds (0 for permanent, or between 60 and 63072000 seconds for a temporary ban)"},"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"],"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"}},"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":{"description":"The nickname of the member in this guild","nullable":true,"type":"string"},"avatar":{"description":"The hash of the member guild-specific avatar","nullable":true,"type":"string"},"banner":{"description":"The hash of the member guild-specific banner","nullable":true,"type":"string"},"accent_color":{"description":"The accent colour of the member guild profile as an integer","nullable":true,"allOf":[{"$ref":"#/components/schemas/Int32Type"}]},"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":{"description":"ISO8601 timestamp until which the member is timed out","nullable":true,"type":"string","format":"date-time"},"profile_flags":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/GuildMemberProfileFlags"}]},"mention_flags":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/MentionReplyPreferences","description":"Per-guild reply mention preference override; NO_PREFERENCE means inherit the user-level mention_flags."}]}},"required":["user","roles","joined_at","mute","deaf"]},"GuildMemberProfileFlags":{"type":"integer","format":"int32","minimum":0,"maximum":2147483647,"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":"int53"}},"required":["guild_id"]},"LookupGuildResponse":{"type":"object","properties":{"guild":{"nullable":true,"type":"object","properties":{"id":{"$ref":"#/components/schemas/SnowflakeType"},"owner_id":{"$ref":"#/components/schemas/SnowflakeType"},"owner_username":{"nullable":true,"type":"string"},"owner_global_name":{"nullable":true,"type":"string"},"owner_discriminator":{"nullable":true,"type":"string"},"name":{"type":"string"},"vanity_url_code":{"nullable":true,"type":"string"},"icon":{"nullable":true,"type":"string"},"banner":{"nullable":true,"type":"string"},"splash":{"nullable":true,"type":"string"},"embed_splash":{"nullable":true,"type":"string"},"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"},"nsfw":{"type":"boolean"},"content_warning_level":{"$ref":"#/components/schemas/ContentWarningLevel"},"content_warning_text":{"nullable":true,"type":"string"},"explicit_content_filter":{"$ref":"#/components/schemas/GuildExplicitContentFilter"},"default_message_notifications":{"$ref":"#/components/schemas/DefaultMessageNotifications"},"afk_channel_id":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/SnowflakeType"}]},"afk_timeout":{"$ref":"#/components/schemas/Int32Type"},"system_channel_id":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/SnowflakeType"}]},"system_channel_flags":{"$ref":"#/components/schemas/SystemChannelFlags"},"rules_channel_id":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/SnowflakeType"}]},"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":{"nullable":true,"type":"string"},"type":{"type":"integer","format":"int32","enum":[0,1,2,3,4,998,999],"description":"The type of the channel"},"position":{"$ref":"#/components/schemas/Int32Type"},"parent_id":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/SnowflakeType"}]},"nsfw":{"nullable":true,"type":"boolean"},"nsfw_override":{"nullable":true,"type":"boolean"},"content_warning_level":{"$ref":"#/components/schemas/ContentWarningLevel"},"content_warning_text":{"nullable":true,"type":"string"},"url":{"nullable":true,"type":"string"}},"required":["id","name","type","position","parent_id","nsfw","url"]},"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","owner_username","owner_global_name","owner_discriminator","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"]}},"required":["guild"]},"GuildVerificationLevel":{"type":"integer","format":"int32","enum":[0,1,2,3,4],"description":"Required verification level for members"},"GuildMFALevel":{"type":"integer","format":"int32","enum":[0,1],"description":"Required MFA level for moderation actions"},"ContentWarningLevel":{"type":"integer","format":"int32","enum":[0,1],"description":"The content warning level for a guild, category, or channel"},"GuildExplicitContentFilter":{"type":"integer","format":"int32","enum":[0,1,2],"description":"Level of content filtering for explicit media"},"DefaultMessageNotifications":{"type":"integer","format":"int32","enum":[0,1],"description":"Default notification level for new members"},"SystemChannelFlags":{"type":"integer","format":"int32","minimum":0,"maximum":2147483647,"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"},"owner_username":{"description":"The username of the guild owner","nullable":true,"type":"string"},"owner_global_name":{"description":"The display name of the guild owner, if set","nullable":true,"type":"string"},"owner_discriminator":{"description":"The discriminator of the guild owner","nullable":true,"type":"string"},"icon":{"description":"The hash of the guild icon","nullable":true,"type":"string"},"banner":{"description":"The hash of the guild banner","nullable":true,"type":"string"},"member_count":{"type":"integer","minimum":0,"maximum":2147483647,"format":"int32","description":"The number of members in the guild"},"nsfw_level":{"$ref":"#/components/schemas/NSFWLevel"},"nsfw":{"type":"boolean","description":"Whether the guild is flagged as adult content"},"content_warning_level":{"$ref":"#/components/schemas/ContentWarningLevel"},"content_warning_text":{"description":"Custom content warning text shown before entry","nullable":true,"type":"string"},"approximate_member_count":{"$ref":"#/components/schemas/Int32Type"},"approximate_presence_count":{"$ref":"#/components/schemas/Int32Type"}},"required":["id","name","features","owner_id","owner_username","owner_global_name","owner_discriminator","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":"int53"}}},"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":{"nullable":true,"type":"string"},"banner":{"nullable":true,"type":"string"},"member_count":{"$ref":"#/components/schemas/Int32Type"},"nsfw_level":{"$ref":"#/components/schemas/NSFWLevel"},"nsfw":{"type":"boolean"},"content_warning_level":{"$ref":"#/components/schemas/ContentWarningLevel"},"content_warning_text":{"nullable":true,"type":"string"}},"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"},"nsfw":{"type":"boolean","description":"Whether the guild is flagged as adult content"},"content_warning_level":{"$ref":"#/components/schemas/ContentWarningLevel"},"content_warning_text":{"description":"Custom content warning text shown before entry","nullable":true,"type":"string"},"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,"description":"Bitmask of disabled guild operations"},"UpdateGuildVanityRequest":{"type":"object","properties":{"guild_id":{"$ref":"#/components/schemas/SnowflakeType"},"vanity_url_code":{"description":"New vanity URL code, or null to remove","nullable":true,"type":"string"}},"required":["guild_id","vanity_url_code"]},"ListGuildEmojisResponse":{"type":"object","properties":{"guild_id":{"$ref":"#/components/schemas/SnowflakeType"},"emojis":{"type":"array","items":{"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"]},"maxItems":500}},"required":["guild_id","emojis"]},"ListGuildStickersResponse":{"type":"object","properties":{"guild_id":{"$ref":"#/components/schemas/SnowflakeType"},"stickers":{"type":"array","items":{"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"]},"maxItems":500}},"required":["guild_id","stickers"]},"InstanceConfigResponse":{"type":"object","properties":{"sso":{"type":"object","properties":{"enabled":{"type":"boolean"},"enforced":{"type":"boolean"},"display_name":{"nullable":true,"type":"string"},"issuer":{"nullable":true,"type":"string"},"authorization_url":{"nullable":true,"type":"string"},"token_url":{"nullable":true,"type":"string"},"userinfo_url":{"nullable":true,"type":"string"},"jwks_url":{"nullable":true,"type":"string"},"client_id":{"nullable":true,"type":"string"},"client_secret_set":{"type":"boolean"},"scope":{"nullable":true,"type":"string"},"allowed_domains":{"type":"array","items":{"type":"string"},"maxItems":100},"auto_provision":{"type":"boolean"},"redirect_uri":{"nullable":true,"type":"string"}},"required":["enabled","enforced","display_name","issuer","authorization_url","token_url","userinfo_url","jwks_url","client_id","client_secret_set","scope","allowed_domains","auto_provision","redirect_uri"]},"gateway_rollout":{"$ref":"#/components/schemas/GatewayRolloutConfigSchema"},"registration":{"type":"object","properties":{"mode":{"type":"string","enum":["open","approval","closed"],"description":"Registration mode"},"admin_registration_urls_enabled":{"type":"boolean"},"urls":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"label":{"nullable":true,"type":"string"},"created_by_user_id":{"$ref":"#/components/schemas/SnowflakeType"},"created_at":{"type":"string","format":"date-time"},"expires_at":{"nullable":true,"type":"string","format":"date-time"},"max_uses":{"nullable":true,"type":"integer","minimum":1,"maximum":9007199254740991,"format":"int53"},"use_count":{"type":"integer","minimum":0,"maximum":9007199254740991,"format":"int53"},"revoked_at":{"nullable":true,"type":"string","format":"date-time"},"approval_required":{"type":"boolean"},"last_used_at":{"nullable":true,"type":"string","format":"date-time"},"last_used_by_user_id":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/SnowflakeType"}]}},"required":["id","label","created_by_user_id","created_at","expires_at","max_uses","use_count","revoked_at","approval_required","last_used_at","last_used_by_user_id"]}},"pending_registrations":{"type":"array","items":{"type":"object","properties":{"user_id":{"$ref":"#/components/schemas/SnowflakeType"},"username":{"type":"string"},"discriminator":{"type":"integer","minimum":0,"maximum":9999,"format":"int32"},"global_name":{"nullable":true,"type":"string"},"email":{"nullable":true,"type":"string"},"requested_at":{"type":"string","format":"date-time"},"registration_url_id":{"nullable":true,"type":"string"},"client_ip":{"nullable":true,"type":"string"}},"required":["user_id","username","discriminator","global_name","email","requested_at","registration_url_id","client_ip"]}}},"required":["mode","admin_registration_urls_enabled","urls","pending_registrations"]},"self_hosted":{"type":"boolean"},"app_public":{"type":"object","properties":{"branding":{"type":"object","properties":{"product_name":{"type":"string"},"icon_url":{"nullable":true,"type":"string"},"symbol_url":{"nullable":true,"type":"string"},"logo_url":{"nullable":true,"type":"string"},"wordmark_url":{"nullable":true,"type":"string"},"favicon_url":{"nullable":true,"type":"string"},"theme_color":{"nullable":true,"type":"string"}},"required":["product_name","icon_url","symbol_url","logo_url","wordmark_url","favicon_url","theme_color"]},"setup":{"type":"object","properties":{"configured":{"type":"boolean"}},"required":["configured"]},"legal":{"type":"object","properties":{"terms_url":{"nullable":true,"type":"string"},"privacy_url":{"nullable":true,"type":"string"}},"required":["terms_url","privacy_url"]},"registration":{"type":"object","properties":{"collect_date_of_birth":{"type":"boolean"}},"required":["collect_date_of_birth"]}},"required":["branding","setup","legal","registration"]},"policy":{"type":"object","properties":{"single_community_enabled":{"type":"boolean"},"single_community_locked":{"type":"boolean"},"single_community_guild_id":{"nullable":true,"type":"string"},"direct_messages_disabled":{"type":"boolean"},"direct_messages_locked":{"type":"boolean"},"premium_mode":{"enum":["mirror","everyone"],"type":"string"},"services":{"type":"object","properties":{"gif_enabled":{"nullable":true,"type":"boolean"},"youtube_enabled":{"nullable":true,"type":"boolean"},"bluesky_enabled":{"nullable":true,"type":"boolean"}},"required":["gif_enabled","youtube_enabled","bluesky_enabled"]},"services_resolved":{"type":"object","properties":{"gif_enabled":{"type":"boolean"},"youtube_enabled":{"type":"boolean"},"bluesky_enabled":{"type":"boolean"}},"required":["gif_enabled","youtube_enabled","bluesky_enabled"]},"services_available":{"type":"object","properties":{"gif":{"type":"boolean"},"youtube":{"type":"boolean"},"bluesky":{"type":"boolean"}},"required":["gif","youtube","bluesky"]}},"required":["single_community_enabled","single_community_locked","single_community_guild_id","direct_messages_disabled","direct_messages_locked","premium_mode","services","services_resolved","services_available"]},"integrations":{"type":"object","properties":{"gif":{"type":"object","properties":{"klipy_api_key_set":{"type":"boolean"},"effective_available":{"type":"boolean"}},"required":["klipy_api_key_set","effective_available"]},"youtube":{"type":"object","properties":{"api_key_set":{"type":"boolean"},"effective_available":{"type":"boolean"}},"required":["api_key_set","effective_available"]},"captcha":{"type":"object","properties":{"provider":{"nullable":true,"enum":["hcaptcha","turnstile","none"],"type":"string"},"effective_provider":{"enum":["hcaptcha","turnstile","none"],"type":"string"},"hcaptcha_site_key":{"nullable":true,"type":"string"},"hcaptcha_secret_key_set":{"type":"boolean"},"turnstile_site_key":{"nullable":true,"type":"string"},"turnstile_secret_key_set":{"type":"boolean"},"effective_enabled":{"type":"boolean"}},"required":["provider","effective_provider","hcaptcha_site_key","hcaptcha_secret_key_set","turnstile_site_key","turnstile_secret_key_set","effective_enabled"]},"email":{"type":"object","properties":{"enabled":{"nullable":true,"type":"boolean"},"effective_enabled":{"type":"boolean"},"provider":{"nullable":true,"enum":["smtp","none"],"type":"string"},"effective_provider":{"enum":["smtp","none"],"type":"string"},"from_email":{"nullable":true,"type":"string"},"from_name":{"nullable":true,"type":"string"},"smtp":{"type":"object","properties":{"host":{"nullable":true,"type":"string"},"port":{"nullable":true,"type":"integer","minimum":1,"maximum":65535,"format":"int32"},"username":{"nullable":true,"type":"string"},"password_set":{"type":"boolean"},"secure":{"nullable":true,"type":"boolean"}},"required":["host","port","username","password_set","secure"]},"disable_new_ip_authorization":{"type":"boolean"},"effective_disable_new_ip_authorization":{"type":"boolean"}},"required":["enabled","effective_enabled","provider","effective_provider","from_email","from_name","smtp","disable_new_ip_authorization","effective_disable_new_ip_authorization"]},"bluesky":{"type":"object","properties":{"enabled":{"nullable":true,"type":"boolean"},"effective_enabled":{"type":"boolean"},"client_name":{"nullable":true,"type":"string"},"client_uri":{"nullable":true,"type":"string"},"logo_uri":{"nullable":true,"type":"string"},"tos_uri":{"nullable":true,"type":"string"},"policy_uri":{"nullable":true,"type":"string"},"key_count":{"type":"integer","minimum":0,"maximum":9007199254740991,"format":"int53"}},"required":["enabled","effective_enabled","client_name","client_uri","logo_uri","tos_uri","policy_uri","key_count"]}},"required":["gif","youtube","captcha","email","bluesky"]},"media":{"type":"object","properties":{"attachment_decay":{"type":"object","properties":{"enabled":{"nullable":true,"type":"boolean"},"min_size_mb":{"nullable":true,"type":"number","minimum":0,"exclusiveMinimum":true},"max_size_mb":{"nullable":true,"type":"number","minimum":0,"exclusiveMinimum":true},"max_eligible_size_mb":{"nullable":true,"type":"number","minimum":0,"exclusiveMinimum":true},"min_lifetime_days":{"nullable":true,"type":"integer","maximum":9007199254740991,"format":"int53","minimum":0,"exclusiveMinimum":true},"max_lifetime_days":{"nullable":true,"type":"integer","maximum":9007199254740991,"format":"int53","minimum":0,"exclusiveMinimum":true},"curve":{"nullable":true,"type":"number","minimum":0,"maximum":1},"renew_threshold_days":{"nullable":true,"type":"integer","maximum":9007199254740991,"format":"int53","minimum":0,"exclusiveMinimum":true},"renew_window_days":{"nullable":true,"type":"integer","maximum":9007199254740991,"format":"int53","minimum":0,"exclusiveMinimum":true},"effective":{"type":"object","properties":{"enabled":{"type":"boolean"},"min_size_mb":{"type":"number","minimum":0,"exclusiveMinimum":true},"max_size_mb":{"type":"number","minimum":0,"exclusiveMinimum":true},"max_eligible_size_mb":{"type":"number","minimum":0,"exclusiveMinimum":true},"min_lifetime_days":{"type":"integer","maximum":9007199254740991,"format":"int53","minimum":0,"exclusiveMinimum":true},"max_lifetime_days":{"type":"integer","maximum":9007199254740991,"format":"int53","minimum":0,"exclusiveMinimum":true},"curve":{"type":"number","minimum":0,"maximum":1},"renew_threshold_days":{"type":"integer","maximum":9007199254740991,"format":"int53","minimum":0,"exclusiveMinimum":true},"renew_window_days":{"type":"integer","maximum":9007199254740991,"format":"int53","minimum":0,"exclusiveMinimum":true}},"required":["enabled","min_size_mb","max_size_mb","max_eligible_size_mb","min_lifetime_days","max_lifetime_days","curve","renew_threshold_days","renew_window_days"]}},"required":["enabled","min_size_mb","max_size_mb","max_eligible_size_mb","min_lifetime_days","max_lifetime_days","curve","renew_threshold_days","renew_window_days","effective"]}},"required":["attachment_decay"]}},"required":["sso","gateway_rollout","registration","self_hosted","app_public","policy","integrations","media"]},"GatewayRolloutConfigSchema":{"type":"object","properties":{"session_rollout_percentage":{"type":"number","minimum":0,"maximum":100},"session_rollout_mode":{"enum":["modulo","random"],"type":"string"},"guild_rollout_percentage":{"type":"number","minimum":0,"maximum":100},"rpc_request_timeout_ms":{"type":"integer","minimum":1000,"maximum":60000,"format":"int32"},"max_concurrent_session_starts":{"type":"integer","minimum":1,"maximum":10000,"format":"int32"},"max_concurrent_guild_starts":{"type":"integer","minimum":1,"maximum":10000,"format":"int32"},"gateway_dispatch_relay_shards":{"type":"integer","minimum":1,"maximum":10000,"format":"int32"},"gateway_dispatch_relay_max_queue":{"type":"integer","minimum":0,"maximum":1000000,"format":"int32"},"voice_e2ee_scope":{"enum":["guild_feature_only","platform_wide"],"type":"string"},"voice_reconciliation_v3_percentage":{"type":"number","minimum":0,"maximum":100},"voice_reconciliation_v3_interval_ms":{"type":"integer","minimum":500,"maximum":60000,"format":"int32"}}},"BrandingAssetUploadRequest":{"type":"object","properties":{"kind":{"enum":["icon","symbol","logo","wordmark","favicon"],"type":"string"},"image":{"nullable":true,"type":"string","maxLength":16000000}},"required":["kind"]},"InstanceEmailSmtpTestResponse":{"type":"object","properties":{"ok":{"type":"boolean"},"error":{"nullable":true,"type":"string"}},"required":["ok","error"]},"InstanceEmailSmtpTestRequest":{"type":"object","properties":{"host":{"type":"string","minLength":1,"maxLength":255},"port":{"type":"integer","minimum":1,"maximum":65535,"format":"int32"},"username":{"type":"string","minLength":1,"maxLength":320},"password":{"type":"string","minLength":1,"maxLength":4096},"secure":{"type":"boolean"}},"required":["host","port","username","password"]},"PendingRegistrationActionRequest":{"type":"object","properties":{"user_id":{"$ref":"#/components/schemas/SnowflakeType"}},"required":["user_id"]},"CreateRegistrationUrlResponse":{"type":"object","properties":{"registration_url":{"type":"object","properties":{"id":{"type":"string"},"label":{"nullable":true,"type":"string"},"created_by_user_id":{"$ref":"#/components/schemas/SnowflakeType"},"created_at":{"type":"string","format":"date-time"},"expires_at":{"nullable":true,"type":"string","format":"date-time"},"max_uses":{"nullable":true,"type":"integer","minimum":1,"maximum":9007199254740991,"format":"int53"},"use_count":{"type":"integer","minimum":0,"maximum":9007199254740991,"format":"int53"},"revoked_at":{"nullable":true,"type":"string","format":"date-time"},"approval_required":{"type":"boolean"},"last_used_at":{"nullable":true,"type":"string","format":"date-time"},"last_used_by_user_id":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/SnowflakeType"}]}},"required":["id","label","created_by_user_id","created_at","expires_at","max_uses","use_count","revoked_at","approval_required","last_used_at","last_used_by_user_id"]},"code":{"type":"string"},"url":{"type":"string"}},"required":["registration_url","code","url"]},"CreateRegistrationUrlRequest":{"type":"object","properties":{"label":{"nullable":true,"type":"string","minLength":1,"maxLength":120},"expires_at":{"nullable":true,"type":"string","format":"date-time"},"max_uses":{"nullable":true,"type":"integer","minimum":1,"maximum":1000000,"format":"int32"},"approval_required":{"type":"boolean"}}},"RegistrationUrlActionRequest":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"InstanceConfigUpdateRequest":{"type":"object","properties":{"gateway_rollout":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/GatewayRolloutConfigUpdateRequest"}]},"registration":{"nullable":true,"type":"object","properties":{"mode":{"type":"string","enum":["open","approval","closed"],"description":"Registration mode"},"admin_registration_urls_enabled":{"type":"boolean"}}},"sso":{"nullable":true,"type":"object","properties":{"enabled":{"type":"boolean"},"enforced":{"type":"boolean"},"display_name":{"nullable":true,"type":"string"},"issuer":{"nullable":true,"type":"string"},"authorization_url":{"nullable":true,"type":"string"},"token_url":{"nullable":true,"type":"string"},"userinfo_url":{"nullable":true,"type":"string"},"jwks_url":{"nullable":true,"type":"string"},"client_id":{"nullable":true,"type":"string"},"client_secret":{"nullable":true,"type":"string"},"scope":{"nullable":true,"type":"string"},"allowed_domains":{"type":"array","items":{"type":"string"},"maxItems":100},"auto_provision":{"type":"boolean"}}},"app_public":{"nullable":true,"type":"object","properties":{"branding":{"nullable":true,"type":"object","properties":{"product_name":{"type":"string","minLength":1,"maxLength":80},"icon_url":{"nullable":true,"type":"string","maxLength":2048},"symbol_url":{"nullable":true,"type":"string","maxLength":2048},"logo_url":{"nullable":true,"type":"string","maxLength":2048},"wordmark_url":{"nullable":true,"type":"string","maxLength":2048},"favicon_url":{"nullable":true,"type":"string","maxLength":2048},"theme_color":{"nullable":true,"type":"string","maxLength":64}}},"setup":{"nullable":true,"type":"object","properties":{"configured":{"type":"boolean"}}},"legal":{"nullable":true,"type":"object","properties":{"terms_url":{"nullable":true,"type":"string","maxLength":2048},"privacy_url":{"nullable":true,"type":"string","maxLength":2048}}},"registration":{"nullable":true,"type":"object","properties":{"collect_date_of_birth":{"type":"boolean"}}}}},"integrations":{"nullable":true,"type":"object","properties":{"gif":{"nullable":true,"type":"object","properties":{"klipy_api_key":{"nullable":true,"type":"string","maxLength":4096}}},"youtube":{"nullable":true,"type":"object","properties":{"api_key":{"nullable":true,"type":"string","maxLength":4096}}},"captcha":{"nullable":true,"type":"object","properties":{"provider":{"nullable":true,"enum":["hcaptcha","turnstile","none"],"type":"string"},"hcaptcha_site_key":{"nullable":true,"type":"string","maxLength":4096},"hcaptcha_secret_key":{"nullable":true,"type":"string","maxLength":4096},"turnstile_site_key":{"nullable":true,"type":"string","maxLength":4096},"turnstile_secret_key":{"nullable":true,"type":"string","maxLength":4096}}},"email":{"nullable":true,"type":"object","properties":{"enabled":{"nullable":true,"type":"boolean"},"provider":{"nullable":true,"enum":["smtp","none"],"type":"string"},"from_email":{"nullable":true,"type":"string","maxLength":320},"from_name":{"nullable":true,"type":"string","maxLength":120},"smtp":{"nullable":true,"type":"object","properties":{"host":{"nullable":true,"type":"string","maxLength":255},"port":{"nullable":true,"type":"integer","minimum":1,"maximum":65535,"format":"int32"},"username":{"nullable":true,"type":"string","maxLength":320},"password":{"nullable":true,"type":"string","maxLength":4096},"secure":{"nullable":true,"type":"boolean"}}},"disable_new_ip_authorization":{"nullable":true,"type":"boolean"}}},"bluesky":{"nullable":true,"type":"object","properties":{"enabled":{"nullable":true,"type":"boolean"},"client_name":{"nullable":true,"type":"string","maxLength":120},"client_uri":{"nullable":true,"type":"string","maxLength":2048},"logo_uri":{"nullable":true,"type":"string","maxLength":2048},"tos_uri":{"nullable":true,"type":"string","maxLength":2048},"policy_uri":{"nullable":true,"type":"string","maxLength":2048},"keys":{"type":"array","items":{"type":"object","properties":{"kid":{"type":"string","minLength":1,"maxLength":255},"private_key":{"nullable":true,"type":"string","maxLength":10000}},"required":["kid"]},"maxItems":8}}}}},"media":{"nullable":true,"type":"object","properties":{"attachment_decay":{"nullable":true,"type":"object","properties":{"enabled":{"nullable":true,"type":"boolean"},"min_size_mb":{"nullable":true,"type":"number","minimum":0,"exclusiveMinimum":true},"max_size_mb":{"nullable":true,"type":"number","minimum":0,"exclusiveMinimum":true},"max_eligible_size_mb":{"nullable":true,"type":"number","minimum":0,"exclusiveMinimum":true},"min_lifetime_days":{"nullable":true,"type":"integer","maximum":9007199254740991,"format":"int53","minimum":0,"exclusiveMinimum":true},"max_lifetime_days":{"nullable":true,"type":"integer","maximum":9007199254740991,"format":"int53","minimum":0,"exclusiveMinimum":true},"curve":{"nullable":true,"type":"number","minimum":0,"maximum":1},"renew_threshold_days":{"nullable":true,"type":"integer","maximum":9007199254740991,"format":"int53","minimum":0,"exclusiveMinimum":true},"renew_window_days":{"nullable":true,"type":"integer","maximum":9007199254740991,"format":"int53","minimum":0,"exclusiveMinimum":true}}}}},"policy":{"nullable":true,"type":"object","properties":{"single_community_enabled":{"type":"boolean"},"single_community_name":{"type":"string","minLength":1,"maxLength":100},"direct_messages_disabled":{"type":"boolean"},"premium_mode":{"enum":["mirror","everyone"],"type":"string"},"services":{"nullable":true,"type":"object","properties":{"gif_enabled":{"nullable":true,"type":"boolean"},"youtube_enabled":{"nullable":true,"type":"boolean"},"bluesky_enabled":{"nullable":true,"type":"boolean"}}}}}}},"GatewayRolloutConfigUpdateRequest":{"type":"object","properties":{"session_rollout_percentage":{"type":"number","minimum":0,"maximum":100},"session_rollout_mode":{"enum":["modulo","random"],"type":"string"},"guild_rollout_percentage":{"type":"number","minimum":0,"maximum":100},"rpc_request_timeout_ms":{"type":"integer","minimum":1000,"maximum":60000,"format":"int32"},"max_concurrent_session_starts":{"type":"integer","minimum":1,"maximum":10000,"format":"int32"},"max_concurrent_guild_starts":{"type":"integer","minimum":1,"maximum":10000,"format":"int32"},"gateway_dispatch_relay_shards":{"type":"integer","minimum":1,"maximum":10000,"format":"int32"},"gateway_dispatch_relay_max_queue":{"type":"integer","minimum":0,"maximum":1000000,"format":"int32"},"voice_e2ee_scope":{"enum":["guild_feature_only","platform_wide"],"type":"string"},"voice_reconciliation_v3_percentage":{"type":"number","minimum":0,"maximum":100},"voice_reconciliation_v3_interval_ms":{"type":"integer","minimum":500,"maximum":60000,"format":"int32"}}},"ActiveJobsResponseSchema":{"type":"object","properties":{"jobs":{"type":"array","items":{"$ref":"#/components/schemas/JobLedgerEntrySchema"}}},"required":["jobs"]},"JobLedgerEntrySchema":{"type":"object","properties":{"job_id":{"$ref":"#/components/schemas/SnowflakeType"},"task_type":{"type":"string"},"status":{"enum":["queued","running","succeeded","failed","cancelled","deadletter"],"type":"string"},"progress_current":{"nullable":true,"type":"number"},"progress_total":{"nullable":true,"type":"number"},"progress_message":{"nullable":true,"type":"string"},"error_message":{"nullable":true,"type":"string"},"created_at":{"type":"string","description":"ISO 8601"},"started_at":{"nullable":true,"type":"string"},"completed_at":{"nullable":true,"type":"string"},"requested_by_user_id":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/SnowflakeType"}]},"audit_log_reason":{"nullable":true,"type":"string"},"jet_stream_lane":{"nullable":true,"type":"string"},"jet_stream_seq":{"nullable":true,"type":"string"},"attempts":{"type":"integer","format":"int53"},"max_attempts":{"type":"integer","format":"int53"},"run_at":{"nullable":true,"type":"string"},"cancel_requested":{"type":"boolean"},"context_link":{"nullable":true,"type":"string"},"payload":{"description":"JSON-encoded original payload","nullable":true,"type":"string"},"result":{"description":"JSON-encoded result, if any","nullable":true,"type":"string"}},"required":["job_id","task_type","status","progress_current","progress_total","progress_message","error_message","created_at","started_at","completed_at","requested_by_user_id","audit_log_reason","jet_stream_lane","jet_stream_seq","attempts","max_attempts","run_at","cancel_requested","context_link","payload","result"]},"CancelJobResponseSchema":{"type":"object","properties":{"cancelled":{"type":"boolean","description":"True if a cancel request was recorded; false if the job was already terminal."}},"required":["cancelled"]},"CancelJobRequest":{"type":"object","properties":{"job_id":{"$ref":"#/components/schemas/SnowflakeType"}},"required":["job_id"]},"GetJobResponseSchema":{"type":"object","properties":{"job":{"$ref":"#/components/schemas/JobLedgerEntrySchema"}},"required":["job"]},"GetJobRequest":{"type":"object","properties":{"job_id":{"$ref":"#/components/schemas/SnowflakeType"}},"required":["job_id"]},"ListJobsResponseSchema":{"type":"object","properties":{"jobs":{"type":"array","items":{"$ref":"#/components/schemas/JobLedgerEntrySchema"}},"next_cursor":{"nullable":true,"type":"object","properties":{"bucket_day":{"type":"string"},"created_at":{"type":"string"},"job_id":{"$ref":"#/components/schemas/SnowflakeType"}},"required":["bucket_day","created_at","job_id"]}},"required":["jobs","next_cursor"]},"ListJobsRequest":{"type":"object","properties":{"limit":{"type":"integer","minimum":1,"maximum":200,"format":"int32","description":"Page size"},"cursor":{"type":"object","properties":{"bucket_day":{"type":"string"},"created_at":{"type":"string"},"job_id":{"$ref":"#/components/schemas/SnowflakeType"}},"required":["bucket_day","created_at","job_id"],"description":"Cursor returned by a previous page"},"max_lookback_days":{"type":"integer","minimum":1,"maximum":60,"format":"int32","description":"How many days back to scan"},"status":{"enum":["queued","running","succeeded","failed","cancelled","deadletter"],"type":"string","description":"Filter by job status"},"task_type":{"type":"string","description":"Filter by task type"},"requested_by_user_id":{"$ref":"#/components/schemas/SnowflakeType"}}},"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":{"$ref":"#/components/schemas/NonNegativeSafeIntegerType"},"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"},"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"]},"NonNegativeSafeIntegerType":{"type":"integer","minimum":0,"maximum":9007199254740991,"format":"int53"},"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":{"$ref":"#/components/schemas/NonNegativeSafeIntegerType"},"description":"Per-limit key values"}},"required":["id","limits"]},"description":"Limit rules"}},"required":["rules"],"description":"New limit configuration snapshot"}},"required":["limit_config"]},"BrowseChannelResponse":{"type":"object","properties":{"messages":{"type":"array","items":{"$ref":"#/components/schemas/AdminMessageSchema"},"maxItems":100},"message_responses":{"type":"array","items":{"$ref":"#/components/schemas/MessageResponseSchema"},"maxItems":100},"has_more":{"type":"boolean"}},"required":["messages","has_more"]},"AdminMessageSchema":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/SnowflakeType"},"channel_id":{"$ref":"#/components/schemas/SnowflakeType"},"channel_name":{"nullable":true,"type":"string"},"channel_nsfw":{"nullable":true,"type":"boolean"},"channel_content_warning_level":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/ContentWarningLevel"}]},"channel_content_warning_text":{"nullable":true,"type":"string"},"guild_id":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/SnowflakeType"}]},"guild_name":{"nullable":true,"type":"string"},"guild_nsfw_level":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/NSFWLevel"}]},"guild_nsfw":{"nullable":true,"type":"boolean"},"guild_content_warning_level":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/ContentWarningLevel"}]},"guild_content_warning_text":{"nullable":true,"type":"string"},"author_id":{"$ref":"#/components/schemas/SnowflakeType"},"author_username":{"type":"string"},"author_global_name":{"nullable":true,"type":"string"},"author_discriminator":{"type":"string"},"author_avatar":{"nullable":true,"type":"string"},"content":{"type":"string"},"timestamp":{"type":"string"},"attachments":{"type":"array","items":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/SnowflakeType"},"filename":{"type":"string"},"url":{"type":"string"},"nsfw":{"nullable":true,"type":"boolean"},"content_type":{"nullable":true,"type":"string"},"width":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/Int32Type"}]},"height":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/Int32Type"}]},"size":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/NonNegativeSafeIntegerType"}]},"ncmec_status":{"type":"string","enum":["not_submitted","submitted","failed"],"description":"NCMEC submission status"},"ncmec_report_id":{"nullable":true,"type":"string"},"ncmec_failure_reason":{"nullable":true,"type":"string"}},"required":["id","filename","url","nsfw","content_type","width","height","ncmec_status","ncmec_report_id","ncmec_failure_reason"]},"maxItems":10},"user_prior_ncmec_report_ids":{"type":"array","items":{"type":"string"},"maxItems":100}},"required":["id","channel_id","channel_name","channel_nsfw","guild_id","guild_name","guild_nsfw_level","author_id","author_username","author_global_name","author_discriminator","author_avatar","content","timestamp","attachments"]},"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":{"description":"The ID of the webhook that sent this message","nullable":true,"allOf":[{"$ref":"#/components/schemas/SnowflakeType"}]},"type":{"type":"integer","format":"int32","enum":[0,1,2,3,4,5,6,7,19],"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":{"description":"The ISO 8601 timestamp of when the message was last edited","nullable":true,"type":"string","format":"date-time"},"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":{"type":"array","items":{"$ref":"#/components/schemas/UserPartialResponse"},"description":"The users mentioned in the message"},"mention_roles":{"type":"array","items":{"type":"string"},"description":"The role IDs mentioned in the message"},"mention_channels":{"description":"Channels mentioned in the message that are visible to @everyone","nullable":true,"type":"array","items":{"$ref":"#/components/schemas/MessageChannelMentionResponse"}},"users":{"description":"Users referenced from non-notifying content, embed, and snapshot text, included for client-side resolution","nullable":true,"type":"array","items":{"$ref":"#/components/schemas/UserPartialResponse"}},"embeds":{"description":"The embeds attached to the message","nullable":true,"type":"array","items":{"$ref":"#/components/schemas/MessageEmbedResponse"}},"attachments":{"description":"The files attached to the message","nullable":true,"type":"array","items":{"$ref":"#/components/schemas/MessageAttachmentResponse"}},"stickers":{"description":"The stickers sent with the message","nullable":true,"type":"array","items":{"$ref":"#/components/schemas/MessageStickerResponse"}},"nsfw_emojis":{"type":"array","items":{"$ref":"#/components/schemas/SnowflakeType"},"description":"IDs of custom emojis in this message that are classified as NSFW"},"reactions":{"description":"The reactions on the message","nullable":true,"type":"array","items":{"$ref":"#/components/schemas/MessageReactionResponse"}},"message_reference":{"description":"Reference data for replies or forwards","nullable":true,"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":{"description":"The ID of the guild containing the referenced message","nullable":true,"allOf":[{"$ref":"#/components/schemas/SnowflakeType"}]},"type":{"$ref":"#/components/schemas/MessageReferenceType"}},"required":["channel_id","message_id","type"]},"message_snapshots":{"description":"Snapshots of forwarded messages","nullable":true,"type":"array","items":{"$ref":"#/components/schemas/MessageSnapshotResponse"}},"nonce":{"description":"A client-provided value for message deduplication","nullable":true,"type":"string"},"call":{"description":"Call information if this message represents a call","nullable":true,"type":"object","properties":{"participants":{"type":"array","items":{"type":"string"},"description":"The user IDs of participants in the call"},"ended_timestamp":{"description":"The ISO 8601 timestamp of when the call ended","nullable":true,"type":"string","format":"date-time"}},"required":["participants"]},"referenced_message":{"description":"The message that this message is replying to or forwarding","nullable":true,"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":{"description":"The ID of the webhook that sent this message","nullable":true,"allOf":[{"$ref":"#/components/schemas/SnowflakeType"}]},"type":{"type":"integer","format":"int32","enum":[0,1,2,3,4,5,6,7,19],"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":{"description":"The ISO 8601 timestamp of when the message was last edited","nullable":true,"type":"string","format":"date-time"},"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":{"type":"array","items":{"$ref":"#/components/schemas/UserPartialResponse"},"description":"The users mentioned in the message"},"mention_roles":{"type":"array","items":{"type":"string"},"description":"The role IDs mentioned in the message"},"mention_channels":{"description":"Channels mentioned in the message that are visible to @everyone","nullable":true,"type":"array","items":{"$ref":"#/components/schemas/MessageChannelMentionResponse"}},"users":{"description":"Users referenced from non-notifying content, embed, and snapshot text, included for client-side resolution","nullable":true,"type":"array","items":{"$ref":"#/components/schemas/UserPartialResponse"}},"embeds":{"description":"The embeds attached to the message","nullable":true,"type":"array","items":{"$ref":"#/components/schemas/MessageEmbedResponse"}},"attachments":{"description":"The files attached to the message","nullable":true,"type":"array","items":{"$ref":"#/components/schemas/MessageAttachmentResponse"}},"stickers":{"description":"The stickers sent with the message","nullable":true,"type":"array","items":{"$ref":"#/components/schemas/MessageStickerResponse"}},"nsfw_emojis":{"type":"array","items":{"$ref":"#/components/schemas/SnowflakeType"},"description":"IDs of custom emojis in this message that are classified as NSFW"},"reactions":{"description":"The reactions on the message","nullable":true,"type":"array","items":{"$ref":"#/components/schemas/MessageReactionResponse"}},"message_reference":{"description":"Reference data for replies or forwards","nullable":true,"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":{"description":"The ID of the guild containing the referenced message","nullable":true,"allOf":[{"$ref":"#/components/schemas/SnowflakeType"}]},"type":{"$ref":"#/components/schemas/MessageReferenceType"}},"required":["channel_id","message_id","type"]},"message_snapshots":{"description":"Snapshots of forwarded messages","nullable":true,"type":"array","items":{"$ref":"#/components/schemas/MessageSnapshotResponse"}},"nonce":{"description":"A client-provided value for message deduplication","nullable":true,"type":"string"},"call":{"description":"Call information if this message represents a call","nullable":true,"type":"object","properties":{"participants":{"type":"array","items":{"type":"string"},"description":"The user IDs of participants in the call"},"ended_timestamp":{"description":"The ISO 8601 timestamp of when the call ended","nullable":true,"type":"string","format":"date-time"}},"required":["participants"]}},"required":["id","channel_id","author","type","flags","content","timestamp","pinned","mention_everyone","tts","mentions","mention_roles"]}},"required":["id","channel_id","author","type","flags","content","timestamp","pinned","mention_everyone","tts","mentions","mention_roles"]},"MessageFlags":{"type":"integer","format":"int32","minimum":0,"maximum":2147483647,"description":"Message flags bitfield"},"MessageChannelMentionResponse":{"type":"object","properties":{"id":{"type":"string","pattern":"^(0|[1-9][0-9]*)$","description":"The ID of the mentioned channel"},"name":{"type":"string","description":"The name of the mentioned channel"},"type":{"type":"integer","minimum":0,"maximum":2147483647,"format":"int32","description":"The type of the mentioned channel"}},"required":["id","name","type"]},"MessageEmbedResponse":{"type":"object","properties":{"type":{"type":"string","description":"The type of embed (e.g., rich, image, video, gifv, article, link)"},"url":{"description":"The URL of the embed","nullable":true,"type":"string","format":"uri"},"title":{"description":"The title of the embed","nullable":true,"type":"string"},"color":{"description":"The color code of the embed sidebar","nullable":true,"allOf":[{"$ref":"#/components/schemas/Int32Type"}]},"timestamp":{"description":"The ISO 8601 timestamp of the embed content","nullable":true,"type":"string","format":"date-time"},"description":{"description":"The description of the embed","nullable":true,"type":"string"},"author":{"description":"The author information of the embed","nullable":true,"allOf":[{"$ref":"#/components/schemas/EmbedAuthorResponse"}]},"image":{"description":"The image of the embed","nullable":true,"allOf":[{"$ref":"#/components/schemas/EmbedMediaResponse"}]},"thumbnail":{"description":"The thumbnail of the embed","nullable":true,"allOf":[{"$ref":"#/components/schemas/EmbedMediaResponse"}]},"footer":{"description":"The footer of the embed","nullable":true,"allOf":[{"$ref":"#/components/schemas/EmbedFooterResponse"}]},"fields":{"description":"The fields of the embed","nullable":true,"type":"array","items":{"$ref":"#/components/schemas/EmbedFieldResponse"}},"provider":{"description":"The provider of the embed (e.g., YouTube, Twitter)","nullable":true,"allOf":[{"$ref":"#/components/schemas/EmbedAuthorResponse"}]},"video":{"description":"The video of the embed","nullable":true,"allOf":[{"$ref":"#/components/schemas/EmbedMediaResponse"}]},"audio":{"description":"The audio of the embed","nullable":true,"allOf":[{"$ref":"#/components/schemas/EmbedMediaResponse"}]},"html":{"description":"Sanitized oEmbed HTML for trusted specialized embed renderers","nullable":true,"type":"string"},"html_width":{"description":"The preferred width of sanitized oEmbed HTML","nullable":true,"allOf":[{"$ref":"#/components/schemas/Int32Type"}]},"html_height":{"description":"The preferred height of sanitized oEmbed HTML","nullable":true,"allOf":[{"$ref":"#/components/schemas/Int32Type"}]},"nsfw":{"description":"Whether the embed is flagged as NSFW","nullable":true,"type":"boolean"},"children":{"description":"Internal nested embeds generated by unfurlers","nullable":true,"type":"array","items":{"$ref":"#/components/schemas/MessageEmbedChildResponse"},"maxItems":1}},"required":["type"]},"EmbedAuthorResponse":{"type":"object","properties":{"name":{"type":"string","description":"The name of the author"},"url":{"description":"The URL of the author","nullable":true,"type":"string","format":"uri"},"icon_url":{"description":"The URL of the author icon","nullable":true,"type":"string","format":"uri"},"proxy_icon_url":{"description":"The proxied URL of the author icon","nullable":true,"type":"string","format":"uri"}},"required":["name"]},"EmbedMediaResponse":{"type":"object","properties":{"url":{"type":"string","description":"The URL of the media"},"proxy_url":{"description":"The proxied URL of the media","nullable":true,"type":"string","format":"uri"},"content_type":{"description":"The MIME type of the media","nullable":true,"type":"string"},"content_hash":{"description":"The hash of the media content","nullable":true,"type":"string"},"width":{"description":"The width of the media in pixels","nullable":true,"allOf":[{"$ref":"#/components/schemas/Int32Type"}]},"height":{"description":"The height of the media in pixels","nullable":true,"allOf":[{"$ref":"#/components/schemas/Int32Type"}]},"description":{"description":"The description of the media","nullable":true,"type":"string"},"placeholder":{"description":"The base64 encoded placeholder image for lazy loading","nullable":true,"type":"string"},"duration":{"description":"The duration of the media in seconds","nullable":true,"allOf":[{"$ref":"#/components/schemas/Int32Type"}]},"flags":{"$ref":"#/components/schemas/EmbedMediaFlags"}},"required":["url","flags"]},"EmbedMediaFlags":{"type":"integer","format":"int32","minimum":0,"maximum":2147483647,"description":"The bitwise flags for this media"},"EmbedFooterResponse":{"type":"object","properties":{"text":{"type":"string","description":"The footer text"},"icon_url":{"description":"The URL of the footer icon","nullable":true,"type":"string","format":"uri"},"proxy_icon_url":{"description":"The proxied URL of the footer icon","nullable":true,"type":"string","format":"uri"}},"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":{"description":"The URL of the embed","nullable":true,"type":"string","format":"uri"},"title":{"description":"The title of the embed","nullable":true,"type":"string"},"color":{"description":"The color code of the embed sidebar","nullable":true,"allOf":[{"$ref":"#/components/schemas/Int32Type"}]},"timestamp":{"description":"The ISO 8601 timestamp of the embed content","nullable":true,"type":"string","format":"date-time"},"description":{"description":"The description of the embed","nullable":true,"type":"string"},"author":{"description":"The author information of the embed","nullable":true,"allOf":[{"$ref":"#/components/schemas/EmbedAuthorResponse"}]},"image":{"description":"The image of the embed","nullable":true,"allOf":[{"$ref":"#/components/schemas/EmbedMediaResponse"}]},"thumbnail":{"description":"The thumbnail of the embed","nullable":true,"allOf":[{"$ref":"#/components/schemas/EmbedMediaResponse"}]},"footer":{"description":"The footer of the embed","nullable":true,"allOf":[{"$ref":"#/components/schemas/EmbedFooterResponse"}]},"fields":{"description":"The fields of the embed","nullable":true,"type":"array","items":{"$ref":"#/components/schemas/EmbedFieldResponse"}},"provider":{"description":"The provider of the embed (e.g., YouTube, Twitter)","nullable":true,"allOf":[{"$ref":"#/components/schemas/EmbedAuthorResponse"}]},"video":{"description":"The video of the embed","nullable":true,"allOf":[{"$ref":"#/components/schemas/EmbedMediaResponse"}]},"audio":{"description":"The audio of the embed","nullable":true,"allOf":[{"$ref":"#/components/schemas/EmbedMediaResponse"}]},"html":{"description":"Sanitized oEmbed HTML for trusted specialized embed renderers","nullable":true,"type":"string"},"html_width":{"description":"The preferred width of sanitized oEmbed HTML","nullable":true,"allOf":[{"$ref":"#/components/schemas/Int32Type"}]},"html_height":{"description":"The preferred height of sanitized oEmbed HTML","nullable":true,"allOf":[{"$ref":"#/components/schemas/Int32Type"}]},"nsfw":{"description":"Whether the embed is flagged as NSFW","nullable":true,"type":"boolean"}},"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":{"description":"The title of the attachment","nullable":true,"type":"string"},"description":{"description":"The description of the attachment","nullable":true,"type":"string"},"content_type":{"description":"The MIME type of the attachment","nullable":true,"type":"string"},"content_hash":{"description":"The hash of the attachment content","nullable":true,"type":"string"},"size":{"type":"integer","minimum":0,"maximum":9007199254740991,"format":"int53","description":"The size of the attachment in bytes"},"url":{"description":"The URL of the attachment","nullable":true,"type":"string"},"proxy_url":{"description":"The proxied URL of the attachment","nullable":true,"type":"string"},"width":{"description":"The width of the attachment in pixels (for images/videos)","nullable":true,"allOf":[{"$ref":"#/components/schemas/Int32Type"}]},"height":{"description":"The height of the attachment in pixels (for images/videos)","nullable":true,"allOf":[{"$ref":"#/components/schemas/Int32Type"}]},"placeholder":{"description":"The base64 encoded placeholder image for lazy loading","nullable":true,"type":"string"},"flags":{"$ref":"#/components/schemas/MessageAttachmentFlags"},"nsfw":{"description":"Whether the attachment is flagged as NSFW","nullable":true,"type":"boolean"},"duration":{"description":"The duration of the media in seconds","nullable":true,"allOf":[{"$ref":"#/components/schemas/Int32Type"}]},"waveform":{"description":"The base64 encoded audio waveform data","nullable":true,"type":"string"},"expires_at":{"description":"The ISO 8601 timestamp when the attachment URL expires","nullable":true,"type":"string"},"expired":{"description":"Whether the attachment URL has expired","nullable":true,"type":"boolean"}},"required":["id","filename","size","flags"]},"MessageAttachmentFlags":{"type":"integer","format":"int32","minimum":0,"maximum":2147483647,"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"},"nsfw":{"type":"boolean","description":"Whether this sticker is classified as NSFW"}},"required":["id","name","animated"]},"MessageReactionResponse":{"type":"object","properties":{"emoji":{"type":"object","properties":{"id":{"description":"The ID of the custom emoji (null for Unicode emojis)","nullable":true,"allOf":[{"$ref":"#/components/schemas/SnowflakeType"}]},"name":{"type":"string","description":"The name of the emoji (or Unicode character for standard emojis)"},"animated":{"description":"Whether the emoji is animated","nullable":true,"type":"boolean"}},"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":{"description":"Whether the current user has reacted with this emoji","nullable":true,"type":"boolean"}},"required":["emoji","count"]},"MessageReferenceType":{"type":"integer","format":"int32","enum":[0,1],"description":"The type of message reference"},"MessageSnapshotResponse":{"type":"object","properties":{"content":{"description":"The text content of the snapshot","nullable":true,"type":"string"},"timestamp":{"type":"string","format":"date-time","description":"The ISO 8601 timestamp of when the original message was created"},"edited_timestamp":{"description":"The ISO 8601 timestamp of when the original message was last edited","nullable":true,"type":"string","format":"date-time"},"mentions":{"description":"The user IDs mentioned in the snapshot","nullable":true,"type":"array","items":{"type":"string"}},"mention_roles":{"description":"The role IDs mentioned in the snapshot","nullable":true,"type":"array","items":{"type":"string"}},"mention_channels":{"description":"Channels mentioned in the snapshot that are visible to @everyone","nullable":true,"type":"array","items":{"$ref":"#/components/schemas/MessageChannelMentionResponse"}},"embeds":{"description":"The embeds included in the snapshot","nullable":true,"type":"array","items":{"$ref":"#/components/schemas/MessageEmbedResponse"}},"attachments":{"description":"The attachments included in the snapshot","nullable":true,"type":"array","items":{"$ref":"#/components/schemas/MessageAttachmentResponse"}},"stickers":{"description":"The stickers included in the snapshot","nullable":true,"type":"array","items":{"$ref":"#/components/schemas/MessageStickerResponse"}},"type":{"type":"integer","format":"int32","enum":[0,1,2,3,4,5,6,7,19],"description":"The type of message"},"flags":{"$ref":"#/components/schemas/MessageFlags"}},"required":["timestamp","type","flags"]},"BrowseChannelRequest":{"type":"object","properties":{"channel_id":{"$ref":"#/components/schemas/SnowflakeType"},"before":{"$ref":"#/components/schemas/SnowflakeType"},"after":{"$ref":"#/components/schemas/SnowflakeType"},"limit":{"type":"integer","minimum":1,"maximum":100,"format":"int32"}},"required":["channel_id"]},"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":{"$ref":"#/components/schemas/AdminMessageSchema"},"maxItems":100},"message_responses":{"type":"array","items":{"$ref":"#/components/schemas/MessageResponseSchema"},"maxItems":100},"message_id":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/SnowflakeType"}]}},"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"]},"NcmecAttachmentSubmitResultResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"ncmec_report_id":{"type":"string"},"audit_log_reason":{"type":"string"}},"required":["success","ncmec_report_id","audit_log_reason"]},"ReportAttachmentToNcmecRequest":{"type":"object","properties":{"channel_id":{"$ref":"#/components/schemas/SnowflakeType"},"message_id":{"$ref":"#/components/schemas/SnowflakeType"},"attachment_id":{"$ref":"#/components/schemas/SnowflakeType"},"filename":{"type":"string"},"source_report_id":{"$ref":"#/components/schemas/SnowflakeType"},"reporter_full_name":{"type":"string","minLength":1,"maxLength":200},"confirmed_viewed":{"type":"boolean","enum":[true]}},"required":["channel_id","message_id","attachment_id","filename","reporter_full_name","confirmed_viewed"]},"SearchChannelMessagesResponse":{"type":"object","properties":{"messages":{"type":"array","items":{"$ref":"#/components/schemas/AdminMessageSchema"},"maxItems":100},"message_responses":{"type":"array","items":{"$ref":"#/components/schemas/MessageResponseSchema"},"maxItems":100},"total":{"type":"integer","minimum":0,"maximum":9007199254740991,"format":"int53"}},"required":["messages","total"]},"SearchChannelMessagesRequest":{"type":"object","properties":{"channel_id":{"$ref":"#/components/schemas/SnowflakeType"},"query":{"type":"string","minLength":1,"maxLength":200},"limit":{"type":"integer","minimum":1,"maximum":100,"format":"int32"}},"required":["channel_id","query"]},"MessageShredResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"job_id":{"type":"string"},"requested":{"type":"integer","minimum":0,"maximum":9007199254740991,"format":"int53"}},"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":[{"type":"object","properties":{"status":{"type":"string","enum":["not_found"]}},"required":["status"]},{"type":"object","properties":{"status":{"type":"string","enum":["in_progress","completed","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":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/SnowflakeType"}]},"reporter_tag":{"nullable":true,"type":"string"},"reporter_username":{"nullable":true,"type":"string"},"reporter_global_name":{"nullable":true,"type":"string"},"reporter_discriminator":{"nullable":true,"type":"string"},"reporter_email":{"nullable":true,"type":"string"},"reporter_full_legal_name":{"nullable":true,"type":"string"},"reporter_country_of_residence":{"nullable":true,"type":"string"},"reported_at":{"type":"string"},"status":{"$ref":"#/components/schemas/ReportStatus"},"report_type":{"$ref":"#/components/schemas/ReportType"},"category":{"nullable":true,"type":"string"},"additional_info":{"nullable":true,"type":"string"},"reported_user_id":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/SnowflakeType"}]},"reported_user_tag":{"nullable":true,"type":"string"},"reported_user_username":{"nullable":true,"type":"string"},"reported_user_global_name":{"nullable":true,"type":"string"},"reported_user_discriminator":{"nullable":true,"type":"string"},"reported_user_avatar_hash":{"nullable":true,"type":"string"},"reported_guild_id":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/SnowflakeType"}]},"reported_guild_name":{"nullable":true,"type":"string"},"reported_guild_icon_hash":{"nullable":true,"type":"string"},"reported_message_id":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/SnowflakeType"}]},"reported_channel_id":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/SnowflakeType"}]},"reported_channel_name":{"nullable":true,"type":"string"},"reported_channel_nsfw":{"nullable":true,"type":"boolean"},"reported_guild_invite_code":{"nullable":true,"type":"string"},"reported_guild_nsfw_level":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/NSFWLevel"}]},"reported_guild_nsfw":{"nullable":true,"type":"boolean"},"reported_guild_content_warning_level":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/ContentWarningLevel"}]},"reported_guild_content_warning_text":{"nullable":true,"type":"string"},"reported_channel_nsfw_override":{"nullable":true,"type":"boolean"},"reported_channel_content_warning_level":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/ContentWarningLevel"}]},"reported_channel_content_warning_text":{"nullable":true,"type":"string"},"reported_channel_effective_nsfw":{"nullable":true,"type":"boolean"},"reported_channel_effective_content_warning_level":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/ContentWarningLevel"}]},"reported_channel_effective_content_warning_text":{"nullable":true,"type":"string"},"resolved_at":{"nullable":true,"type":"string"},"resolved_by_admin_id":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/SnowflakeType"}]},"public_comment":{"nullable":true,"type":"string"},"mutual_dm_channel_id":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/SnowflakeType"}]},"message_context":{"type":"array","items":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/SnowflakeType"},"channel_id":{"$ref":"#/components/schemas/SnowflakeType"},"channel_nsfw":{"nullable":true,"type":"boolean"},"channel_content_warning_level":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/ContentWarningLevel"}]},"channel_content_warning_text":{"nullable":true,"type":"string"},"guild_id":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/SnowflakeType"}]},"guild_nsfw_level":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/NSFWLevel"}]},"guild_nsfw":{"nullable":true,"type":"boolean"},"guild_content_warning_level":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/ContentWarningLevel"}]},"guild_content_warning_text":{"nullable":true,"type":"string"},"content":{"type":"string"},"timestamp":{"type":"string"},"attachments":{"type":"array","items":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/SnowflakeType"},"filename":{"type":"string"},"url":{"type":"string"},"nsfw":{"nullable":true,"type":"boolean"},"content_type":{"nullable":true,"type":"string"},"width":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/Int32Type"}]},"height":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/Int32Type"}]},"size":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/NonNegativeSafeIntegerType"}]},"ncmec_status":{"type":"string","enum":["not_submitted","submitted","failed"],"description":"NCMEC submission status"},"ncmec_report_id":{"nullable":true,"type":"string"},"ncmec_failure_reason":{"nullable":true,"type":"string"}},"required":["id","filename","url","nsfw","content_type","width","height","ncmec_status","ncmec_report_id","ncmec_failure_reason"]}},"author_id":{"$ref":"#/components/schemas/SnowflakeType"},"author_username":{"type":"string"},"author_global_name":{"nullable":true,"type":"string"},"author_discriminator":{"type":"string"},"author_avatar":{"nullable":true,"type":"string"},"user_prior_ncmec_report_ids":{"type":"array","items":{"type":"string"},"maxItems":100}},"required":["id","channel_id","channel_nsfw","guild_id","guild_nsfw_level","content","timestamp","attachments","author_id","author_username","author_global_name","author_discriminator","author_avatar"]}},"message_responses":{"type":"array","items":{"$ref":"#/components/schemas/MessageResponseSchema"}}},"required":["report_id","reporter_id","reporter_tag","reporter_username","reporter_global_name","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_global_name","reported_user_discriminator","reported_user_avatar_hash","reported_guild_id","reported_guild_name","reported_guild_icon_hash","reported_message_id","reported_channel_id","reported_channel_name","reported_channel_nsfw","reported_guild_invite_code","reported_guild_nsfw_level","resolved_at","resolved_by_admin_id","public_comment"]},"ReportStatus":{"type":"integer","format":"int32","enum":[0,1],"description":"The status of the report"},"ReportType":{"type":"integer","format":"int32","enum":[0,1,2],"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":"int53","description":"Number of reports to skip"}}},"ResolveReportResponse":{"type":"object","properties":{"report_id":{"$ref":"#/components/schemas/SnowflakeType"},"status":{"$ref":"#/components/schemas/ReportStatus"},"resolved_at":{"nullable":true,"type":"string"},"public_comment":{"nullable":true,"type":"string"}},"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":"int53","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"],"description":"Field to sort reports by"},"sort_order":{"type":"string","enum":["asc","desc"],"description":"Sort order direction"}}},"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"],"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"],"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"]},"SuspiciousEmailDomainRequest":{"type":"object","properties":{"domain":{"type":"string","minLength":1,"maxLength":253,"pattern":"^[a-zA-Z0-9][a-zA-Z0-9\\-.]*\\.[a-zA-Z]{2,}$","description":"Email domain to flag as suspicious (e.g. mail.ru). Registrants from this domain will be required to verify a phone number."}},"required":["domain"]},"SendSystemDmResponse":{"type":"object","properties":{"recipient_count":{"type":"integer","minimum":0,"maximum":2147483647,"format":"int32","description":"Number of recipients the worker job was queued to deliver to"}},"required":["recipient_count"]},"SendSystemDmRequest":{"type":"object","properties":{"content":{"type":"string","minLength":1,"maxLength":4000,"description":"Message content to send to each recipient"},"user_ids":{"type":"array","items":{"$ref":"#/components/schemas/SnowflakeType"},"minItems":1,"maxItems":10000,"description":"Recipient user IDs. Each receives the same content as a system DM."}},"required":["content","user_ids"]},"HeapSnapshotResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"filename":{"type":"string","description":"Name of the heap snapshot file"},"size_bytes":{"type":"number","description":"Size of the heap snapshot in bytes"}},"required":["success","filename","size_bytes"]},"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":{"nullable":true,"type":"string"},"bot":{"type":"boolean"},"system":{"type":"boolean"},"flags":{"$ref":"#/components/schemas/UserFlags"},"premium_flags":{"$ref":"#/components/schemas/PremiumFlags"},"avatar":{"nullable":true,"type":"string"},"banner":{"nullable":true,"type":"string"},"bio":{"nullable":true,"type":"string"},"pronouns":{"nullable":true,"type":"string"},"accent_color":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/Int32Type"}]},"email":{"nullable":true,"type":"string"},"email_verified":{"type":"boolean"},"email_bounced":{"type":"boolean"},"has_verified_phone":{"type":"boolean"},"date_of_birth":{"nullable":true,"type":"string"},"locale":{"nullable":true,"type":"string"},"premium_type":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/Int32Type"}]},"premium_since":{"nullable":true,"type":"string"},"premium_until":{"nullable":true,"type":"string"},"premium_grace_ends_at":{"nullable":true,"type":"string"},"premium_lifetime_sequence":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/Int32Type"}]},"suspicious_activity_flags":{"$ref":"#/components/schemas/SuspiciousActivityFlags"},"temp_banned_until":{"nullable":true,"type":"string"},"pending_deletion_at":{"nullable":true,"type":"string"},"pending_bulk_message_deletion_at":{"nullable":true,"type":"string"},"deletion_reason_code":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/Int32Type"}]},"deletion_public_reason":{"nullable":true,"type":"string"},"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":{"nullable":true,"type":"string"},"last_active_ip":{"nullable":true,"type":"string"},"last_active_ip_reverse":{"nullable":true,"type":"string"},"last_active_location":{"nullable":true,"type":"string"}},"required":["id","username","discriminator","global_name","bot","system","flags","premium_flags","avatar","banner","bio","pronouns","accent_color","email","email_verified","email_bounced","has_verified_phone","date_of_birth","locale","premium_type","premium_since","premium_until","premium_grace_ends_at","premium_lifetime_sequence","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"]},"PremiumFlags":{"type":"integer","format":"int32","minimum":0,"maximum":2147483647,"description":"A single premium flag value to add or remove"},"SuspiciousActivityFlags":{"type":"integer","format":"int32","minimum":0,"maximum":2147483647,"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":{"type":"object","properties":{"event_id":{"type":"string"},"field":{"type":"string"},"old_value":{"nullable":true,"type":"string"},"new_value":{"nullable":true,"type":"string"},"reason":{"nullable":true,"type":"string"},"actor_user_id":{"nullable":true,"type":"string"},"event_at":{"type":"string"}},"required":["event_id","field","old_value","new_value","reason","actor_user_id","event_at"]},"maxItems":200},"next_page_token":{"nullable":true,"type":"string"}},"required":["entries","next_page_token"]},"ListUserChangeLogRequest":{"type":"object","properties":{"user_id":{"$ref":"#/components/schemas/SnowflakeType"},"limit":{"type":"integer","minimum":1,"maximum":200,"format":"int32","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/DiscriminatorType"}},"required":["user_id","username"]},"UsernameType":{"type":"string","minLength":1,"maxLength":32,"pattern":"^[a-zA-Z0-9_]+$"},"DiscriminatorType":{"type":"string","pattern":"^\\d{1,4}$"},"ClearUserFieldsRequest":{"type":"object","properties":{"user_id":{"$ref":"#/components/schemas/SnowflakeType"},"fields":{"type":"array","items":{"type":"string","enum":["avatar","banner","bio","pronouns","global_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":{"type":"object","properties":{"channel_id":{"$ref":"#/components/schemas/SnowflakeType"},"channel_type":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/Int32Type"}]},"channel_nsfw":{"nullable":true,"type":"boolean"},"guild_nsfw_level":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/NSFWLevel"}]},"recipient_ids":{"type":"array","items":{"$ref":"#/components/schemas/SnowflakeType"},"maxItems":100},"recipients":{"type":"array","items":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/SnowflakeType"},"username":{"type":"string"},"discriminator":{"type":"string"},"global_name":{"nullable":true,"type":"string"},"avatar":{"nullable":true,"type":"string"}},"required":["id","username","discriminator","global_name","avatar"]},"maxItems":100},"last_message_id":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/SnowflakeType"}]},"is_open":{"type":"boolean"},"name":{"nullable":true,"type":"string"},"icon":{"nullable":true,"type":"string"},"owner_id":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/SnowflakeType"}]}},"required":["channel_id","channel_type","channel_nsfw","guild_nsfw_level","recipient_ids","recipients","last_message_id","is_open","name","icon","owner_id"]},"maxItems":200}},"required":["channels"]},"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"]},"ListUserGroupDmChannelsResponse":{"type":"object","properties":{"channels":{"type":"array","items":{"type":"object","properties":{"channel_id":{"$ref":"#/components/schemas/SnowflakeType"},"channel_type":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/Int32Type"}]},"channel_nsfw":{"nullable":true,"type":"boolean"},"guild_nsfw_level":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/NSFWLevel"}]},"recipient_ids":{"type":"array","items":{"$ref":"#/components/schemas/SnowflakeType"},"maxItems":100},"recipients":{"type":"array","items":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/SnowflakeType"},"username":{"type":"string"},"discriminator":{"type":"string"},"global_name":{"nullable":true,"type":"string"},"avatar":{"nullable":true,"type":"string"}},"required":["id","username","discriminator","global_name","avatar"]},"maxItems":100},"last_message_id":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/SnowflakeType"}]},"is_open":{"type":"boolean"},"name":{"nullable":true,"type":"string"},"icon":{"nullable":true,"type":"string"},"owner_id":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/SnowflakeType"}]}},"required":["channel_id","channel_type","channel_nsfw","guild_nsfw_level","recipient_ids","recipients","last_message_id","is_open","name","icon","owner_id"]},"maxItems":500}},"required":["channels"]},"ListUserGroupDmChannelsRequest":{"type":"object","properties":{"user_id":{"$ref":"#/components/schemas/SnowflakeType"}},"required":["user_id"]},"ListUserGuildsResponse":{"type":"object","properties":{"guilds":{"type":"array","items":{"$ref":"#/components/schemas/GuildAdminResponse"}}},"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"]},"ListUserRelationshipsResponse":{"type":"object","properties":{"friends":{"type":"array","items":{"$ref":"#/components/schemas/AdminRelationshipEntrySchema"},"maxItems":10000},"incoming_requests":{"type":"array","items":{"$ref":"#/components/schemas/AdminRelationshipEntrySchema"},"maxItems":10000},"outgoing_requests":{"type":"array","items":{"$ref":"#/components/schemas/AdminRelationshipEntrySchema"},"maxItems":10000},"blocked":{"type":"array","items":{"$ref":"#/components/schemas/AdminRelationshipEntrySchema"},"maxItems":10000}},"required":["friends","incoming_requests","outgoing_requests","blocked"]},"AdminRelationshipEntrySchema":{"type":"object","properties":{"target_user_id":{"$ref":"#/components/schemas/SnowflakeType"},"category":{"$ref":"#/components/schemas/RelationshipCategoryEnum"},"nickname":{"nullable":true,"type":"string"},"since":{"nullable":true,"type":"string"},"target":{"nullable":true,"type":"object","properties":{"id":{"$ref":"#/components/schemas/SnowflakeType"},"username":{"type":"string"},"discriminator":{"type":"string"},"global_name":{"nullable":true,"type":"string"},"avatar":{"nullable":true,"type":"string"}},"required":["id","username","discriminator","global_name","avatar"]}},"required":["target_user_id","category","nickname","since","target"]},"RelationshipCategoryEnum":{"enum":["friend","incoming_request","outgoing_request","blocked"],"type":"string"},"ListUserRelationshipsRequest":{"type":"object","properties":{"user_id":{"$ref":"#/components/schemas/SnowflakeType"}},"required":["user_id"]},"ListUserSessionsResponse":{"type":"object","properties":{"sessions":{"type":"array","items":{"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":{"description":"Reverse DNS hostname for the client IP (PTR), if available","nullable":true,"type":"string"},"client_os":{"description":"Client operating system, if detected","nullable":true,"type":"string"},"client_platform":{"description":"Client platform, if detected","nullable":true,"type":"string"},"client_location":{"description":"Approximate geo location label for the client IP, if available","nullable":true,"type":"string"},"deleted_at":{"description":"ISO timestamp when the session was terminated, or null if still active","nullable":true,"type":"string"}},"required":["session_id_hash","created_at","approx_last_used_at","client_ip","client_ip_reverse","client_os","client_platform","client_location","deleted_at"]}}},"required":["sessions"]},"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":{"description":"When the credential was last used","nullable":true,"type":"string"}},"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"}}},"required":["users"]},"LookupUserRequest":{"oneOf":[{"type":"object","properties":{"query":{"type":"string"}},"required":["query"]},{"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"]},"RemoveUserRelationshipRequest":{"type":"object","properties":{"user_id":{"$ref":"#/components/schemas/SnowflakeType"},"target_user_id":{"$ref":"#/components/schemas/SnowflakeType"},"category":{"enum":["friend","incoming_request","outgoing_request","blocked"],"type":"string","description":"Which relationship to remove. Friend and outgoing_request also remove the mirror entry on the target user."}},"required":["user_id","target_user_id","category"]},"RemoveUserRelationshipsResponse":{"type":"object","properties":{"removed_count":{"$ref":"#/components/schemas/Int32Type"}},"required":["removed_count"]},"RemoveUserRelationshipsByCategoryRequest":{"type":"object","properties":{"user_id":{"$ref":"#/components/schemas/SnowflakeType"},"category":{"enum":["friend","incoming_request","outgoing_request","blocked"],"type":"string","description":"Category of relationships to remove for this user"}},"required":["user_id","category"]},"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"},"email":{"type":"string"},"last_active_ip":{"type":"string"},"limit":{"type":"integer","minimum":1,"maximum":200,"format":"int32"},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991,"format":"int53"}}},"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"]},"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"]},"UpdateHasVerifiedPhoneRequest":{"type":"object","properties":{"user_id":{"$ref":"#/components/schemas/SnowflakeType"},"has_verified_phone":{"type":"boolean","description":"Whether the user should be treated as having completed phone verification"}},"required":["user_id","has_verified_phone"]},"UpdatePremiumFlagsRequest":{"type":"object","properties":{"user_id":{"$ref":"#/components/schemas/SnowflakeType"},"add_flags":{"type":"array","items":{"$ref":"#/components/schemas/PremiumFlags"},"maxItems":64,"description":"Premium flags to add"},"remove_flags":{"type":"array","items":{"$ref":"#/components/schemas/PremiumFlags"},"maxItems":64,"description":"Premium 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"]},"BanUserAvatarResponseSchema":{"type":"object","properties":{"hash_short":{"type":"string"}},"required":["hash_short"]},"BanUserAvatarRequest":{"type":"object","properties":{"reason":{"type":"string"},"notes":{"type":"string"}}},"VoiceDiagnosticsObjectListResponse":{"type":"object","properties":{"bucket":{"type":"string","description":"Diagnostics S3 bucket"},"objects":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","description":"S3 object key"},"session_id":{"type":"string","description":"Voice diagnostics session id"},"start_ns":{"type":"string","description":"First client event timestamp in the object, in nanoseconds"},"end_ns":{"type":"string","description":"Last client event timestamp in the object, in nanoseconds"},"last_modified":{"description":"S3 object last-modified timestamp","nullable":true,"type":"string","format":"date-time"}},"required":["key","session_id","start_ns","end_ns","last_modified"]},"description":"Matching diagnostics objects"}},"required":["bucket","objects"]},"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":{"description":"ISO 8601 timestamp when the region was created","nullable":true,"type":"string"},"updated_at":{"description":"ISO 8601 timestamp when the region was last updated","nullable":true,"type":"string"}},"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":{"description":"Voice region details or null if not found","nullable":true,"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":{"description":"ISO 8601 timestamp when the region was created","nullable":true,"type":"string"},"updated_at":{"description":"ISO 8601 timestamp when the region was last updated","nullable":true,"type":"string"},"servers":{"type":"array","items":{"$ref":"#/components/schemas/VoiceServerAdminResponse"},"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"]}},"required":["region"]},"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"},"latitude":{"description":"Optional geographic latitude override for this server","nullable":true,"type":"number"},"longitude":{"description":"Optional geographic longitude override for this server","nullable":true,"type":"number"},"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":{"description":"ISO 8601 timestamp when the server was created","nullable":true,"type":"string"},"updated_at":{"description":"ISO 8601 timestamp when the server was last updated","nullable":true,"type":"string"}},"required":["region_id","server_id","endpoint","latitude","longitude","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":{"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":{"description":"ISO 8601 timestamp when the region was created","nullable":true,"type":"string"},"updated_at":{"description":"ISO 8601 timestamp when the region was last updated","nullable":true,"type":"string"},"servers":{"type":"array","items":{"$ref":"#/components/schemas/VoiceServerAdminResponse"},"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"]},"description":"List of voice regions"}},"required":["regions"]},"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":{"description":"ISO 8601 timestamp when the region was created","nullable":true,"type":"string"},"updated_at":{"description":"ISO 8601 timestamp when the region was last updated","nullable":true,"type":"string"}},"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"},"latitude":{"description":"Optional geographic latitude override for this server","nullable":true,"type":"number"},"longitude":{"description":"Optional geographic longitude override for this server","nullable":true,"type":"number"},"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":{"description":"ISO 8601 timestamp when the server was created","nullable":true,"type":"string"},"updated_at":{"description":"ISO 8601 timestamp when the server was last updated","nullable":true,"type":"string"}},"required":["region_id","server_id","endpoint","latitude","longitude","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"},"latitude":{"description":"Optional geographic latitude override for this server","nullable":true,"type":"number"},"longitude":{"description":"Optional geographic longitude override for this server","nullable":true,"type":"number"},"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":{"description":"Voice server details or null if not found","nullable":true,"allOf":[{"$ref":"#/components/schemas/VoiceServerAdminResponse"}]}},"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"},"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"},"latitude":{"description":"Optional geographic latitude override for this server","nullable":true,"type":"number"},"longitude":{"description":"Optional geographic longitude override for this server","nullable":true,"type":"number"},"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":{"description":"ISO 8601 timestamp when the server was created","nullable":true,"type":"string"},"updated_at":{"description":"ISO 8601 timestamp when the server was last updated","nullable":true,"type":"string"}},"required":["region_id","server_id","endpoint","latitude","longitude","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"},"latitude":{"description":"Optional geographic latitude override for this server","nullable":true,"type":"number"},"longitude":{"description":"Optional geographic longitude override for this server","nullable":true,"type":"number"},"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"]}},"securitySchemes":{"botToken":{"type":"apiKey","in":"header","name":"Authorization","description":"Bot token: `Authorization: Bot <token>`. This is the primary authentication method for bot applications."},"oauth2Token":{"type":"oauth2","description":"OAuth2 access token: `Authorization: Bearer <token>`.","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."}}}},"bearerToken":{"type":"http","scheme":"bearer","description":"Bearer-form token: `Authorization: Bearer <token>`. Use `oauth2Token` when a route requires OAuth2 scopes."},"sessionToken":{"type":"apiKey","in":"header","name":"Authorization","description":"User session token from login: `Authorization: <token>` (no prefix). Prefer a bot account over user tokens where possible."},"adminApiKey":{"type":"apiKey","in":"header","name":"Authorization","description":"Admin API key: `Authorization: Admin <token>`. Only valid for `/admin/*` endpoints."}}},"tags":[{"name":"Admin","description":"Administrative operations for instance management"}]}}