{"openapi":"3.0.0","info":{"description":"Mattermost messaging API - manage teams, channels, posts, users and files on your Mattermost server with a Personal Access Token sent as a Bearer token","version":[{"name":"1","value":""}]},"servers":[{"description":"Mattermost messaging API - manage teams, channels, posts, users and files on your Mattermost server with a Personal Access Token sent as a Bearer token","url":"https://api.apirails.com/mattermost"}],"paths":{"/users/login":{"post":{"tags":["Users"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#Login","api_endpoint":"https://{site_url}/api/v4/users/login"},"summary":"Login to Mattermost server","description":"Login to Mattermost server | ##### Permissions\nNo permission required | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"device_id":{"type":"string","description":"body.device_id (string field from the documented request schema)"},"id":{"type":"string","description":"body.id (string field from the documented request schema)"},"ldap_only":{"type":"boolean","description":"body.ldap_only (boolean field from the documented request schema)","enum":[true,false]},"login_id":{"type":"string","description":"body.login_id (string field from the documented request schema)"},"magic_link_token":{"type":"string","description":"Magic link token for passwordless guest authentication. When provided, authenticates the user using the magic link token instead of password. Requires guest magic link feature to be enabled."},"password":{"type":"string","description":"The password used for email authentication."},"token":{"type":"string","description":"body.token (string field from the documented request schema)"},"voip_device_id":{"type":"string","description":"VoIP push token. Same prefix shape as device_id. Optional; when provided, enables ring-style call push notifications."}}},"example":{"device_id":["string"],"id":["string"],"ldap_only":[false],"login_id":["string"],"magic_link_token":["string"],"password":["string"],"token":["string"],"voip_device_id":["string"]}}}}}},"/users/login/desktop_token":{"post":{"tags":["Users"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#LoginWithDesktopToken","api_endpoint":"https://{site_url}/api/v4/users/login/desktop_token"},"summary":"Login using desktop token","description":"Login using desktop token | Login to Mattermost with a short-lived desktop token.\n##### Permissions No permission required. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"device_id":{"type":"string","description":"body.device_id (string field from the documented request schema)"},"token":{"type":"string","description":"body.token (string field from the documented request schema)","required":true}}},"example":{"device_id":["string"],"token":["string"]}}}}}},"/users/login/cws":{"post":{"tags":["Users"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#LoginByCwsToken","api_endpoint":"https://{site_url}/api/v4/users/login/cws"},"summary":"Auto-Login to Mattermost server using CWS token","description":"Auto-Login to Mattermost server using CWS token | CWS stands for Customer Web Server which is the cloud service used to manage cloud instances.\n##### Permissions\nA Cloud license is required | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"cws_token":{"type":"string","description":"body.cws_token (string field from the documented request schema)"},"login_id":{"type":"string","description":"body.login_id (string field from the documented request schema)"}}},"example":{"cws_token":["string"],"login_id":["string"]}}}}}},"/users/login/sso/code-exchange":{"post":{"tags":["Users"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#LoginSSOCodeExchange","api_endpoint":"https://{site_url}/api/v4/users/login/sso/code-exchange"},"summary":"Exchange SSO login code for session tokens","description":"Exchange SSO login code for session tokens | Exchange a short-lived login_code for session tokens using SAML code exchange (mobile SSO flow).\n**Deprecated:** This endpoint is deprecated and will be removed in a future release. Mobile clients should use the direct SSO callback flow instead.\n##### Permissions\nNo permission required. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"code_verifier":{"type":"string","description":"SAML verifier to prove code possession","required":true},"login_code":{"type":"string","description":"Short-lived one-time code from SSO callback","required":true},"state":{"type":"string","description":"State parameter to prevent CSRF attacks","required":true}}},"example":{"code_verifier":["string"],"login_code":["string"],"state":["string"]}}}}}},"/oauth/intune":{"post":{"tags":["Users"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#LoginIntune","api_endpoint":"https://{site_url}/oauth/intune"},"summary":"Login with Microsoft Intune MAM","description":"Login with Microsoft Intune MAM | Authenticate a mobile user using a Microsoft Entra ID (Azure AD) access token for Intune Mobile Application Management (MAM) protected apps.\nThis endpoint enables authentication for mobile apps protected by Microsoft Intune MAM policies. The access token is obtained via the Microsoft Authentication Library (MSAL) and validated against the configured Azure AD tenant and Intune MAM app registration.\n**Authentication Flow:**\n1. Mobile app acquires an Entra ID access token via MSAL with the Intune MAM scope\n2. Token is sent to this endpoint for validation\n3. Server validates the token signature, claims, and tenant configuration\n4. User is authenticated or created based on the token claims\n5. Session token is returned for subsequent API requests\n**User Provisioning:**\n- **Office365 AuthService**: Users are automatically created on first login using the `oid` (Azure AD object ID) claim as the unique identifier\n- **SAML AuthService**: Users must first login via web/desktop to establish their account with the `oid` (Azure AD object ID) as AuthData. Intune MAM  always uses objectId for SAML users. For Entra ID Domain Services LDAP sync, configure LdapSettings.IdAttribute to `msDS-aadObjectId` to ensure consistency.\n**Error Handling:**\nThis endpoint returns specific HTTP status codes to help mobile apps handle different error scenarios:\n- `428 Precondition Required`: SAML user needs to login via web/desktop first\n- `403 Forbidden`: Configuration issues or bot accounts\n- `409 Conflict`: User account is deactivated\n- `401 Unauthorized`: Token has expired\n- `400 Bad Request`: Invalid token format, claims, or configuration\n##### Permissions\nNo permission required. Authentication is performed via the Entra ID access token.\n##### Enterprise Feature\nRequires Mattermost Enterprise Advanced license and proper Intune MAM configuration (tenant ID, client ID, and auth service). | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"access_token":{"type":"string","description":"Microsoft Entra ID access token obtained via MSAL (Microsoft Authentication Library). This token must be scoped to the Intune MAM app registration and will be validated against the configured tenant.","required":true},"device_id":{"type":"string","description":"Optional mobile device identifier used for push notifications. If provided, the device will be registered for receiving push notifications."},"voip_device_id":{"type":"string","description":"Optional VoIP push token. Same prefix shape as device_id. When provided, enables ring-style call push notifications."}}},"example":{"access_token":["string"],"device_id":["string"],"voip_device_id":["string"]}}}}}},"/users/logout":{"post":{"tags":["Users"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#Logout","api_endpoint":"https://{site_url}/api/v4/users/logout"},"summary":"Logout from the Mattermost server","description":"Logout from the Mattermost server | ##### Permissions\nAn active session is required | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/users/notify-admin":{"post":{"tags":["Users"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#NotifyAdmin","api_endpoint":"https://{site_url}/api/v4/users/notify-admin"},"summary":"Save notify-admin intent","description":"Save notify-admin intent | Save a notify-admin request for upgrade or trial flows.\n##### Permissions Must be authenticated. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"required_feature":{"type":"string","description":"body.required_feature (string field from the documented request schema)"},"required_plan":{"type":"string","description":"body.required_plan (string field from the documented request schema)"},"trial_notification":{"type":"boolean","description":"body.trial_notification (boolean field from the documented request schema)","enum":[true,false]}}},"example":{"required_feature":["string"],"required_plan":["string"],"trial_notification":[false]}}}}}},"/users/trigger-notify-admin-posts":{"post":{"tags":["Users"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#TriggerNotifyAdminPosts","api_endpoint":"https://{site_url}/api/v4/users/trigger-notify-admin-posts"},"summary":"Trigger notify-admin posts","description":"Trigger notify-admin posts | Trigger admin notification posts manually when enabled by configuration.\n##### Permissions Must be authenticated and have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"required_feature":{"type":"string","description":"body.required_feature (string field from the documented request schema)"},"required_plan":{"type":"string","description":"body.required_plan (string field from the documented request schema)"},"trial_notification":{"type":"boolean","description":"body.trial_notification (boolean field from the documented request schema)","enum":[true,false]}}},"example":{"required_feature":["string"],"required_plan":["string"],"trial_notification":[false]}}}}}},"/users":{"post":{"tags":["Users"],"parameters":[{"name":"iid","in":"query","description":"Token id from an invitation link","required":false,"schema":{"type":"string","example":""}},{"name":"t","in":"query","description":"Token id from an email invitation","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#CreateUser","api_endpoint":"https://{site_url}/api/v4/users"},"summary":"Create a user","description":"Create a user | Create a new user on the system. Password is required for email login. For other authentication types such as LDAP or SAML, auth_data and auth_service fields are required.\n##### Permissions\nNo permission required for creating email/username accounts on an open server. Auth Token is required for other authentication types such as LDAP or SAML. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"auth_data":{"type":"string","description":"Service-specific authentication data, such as email address."},"auth_service":{"type":"string","description":"The authentication service, one of \"email\", \"gitlab\", \"ldap\", \"saml\", \"office365\", \"google\", and \"\"."},"email":{"type":"string","description":"body.email (string field from the documented request schema)","required":true},"first_name":{"type":"string","description":"body.first_name (string field from the documented request schema)"},"last_name":{"type":"string","description":"body.last_name (string field from the documented request schema)"},"locale":{"type":"string","description":"body.locale (string field from the documented request schema)"},"nickname":{"type":"string","description":"body.nickname (string field from the documented request schema)"},"notify_props":{"type":"object","description":"body.notify_props (object field from the documented request schema)","properties":{"auto_responder_message":{"type":"string","description":"The message sent to users when they are auto-responded to. Defaults to \"\"."},"channel":{"type":"string","description":"Set to \"true\" to enable channel-wide notifications (@channel, @all, etc.), \"false\" to disable. Defaults to \"true\"."},"comments":{"type":"string","description":"Set to \"any\" to enable notifications for comments to any post you have replied to, \"root\" for comments on your posts, and \"never\" to disable. Only affects users with collapsed reply threads disabled. Defaults to \"never\"."},"desktop":{"type":"string","description":"Set to \"all\" to receive desktop notifications for all activity, \"mention\" for mentions and direct messages only, and \"none\" to disable. Defaults to \"all\"."},"desktop_sound":{"type":"string","description":"Set to \"true\" to enable sound on desktop notifications, \"false\" to disable. Defaults to \"true\"."},"desktop_threads":{"type":"string","description":"Set to \"all\" to enable desktop notifications for followed threads and \"none\" to disable. Defaults to \"all\"."},"email":{"type":"string","description":"Set to \"true\" to enable email notifications, \"false\" to disable. Defaults to \"true\"."},"email_threads":{"type":"string","description":"Set to \"all\" to enable email notifications for followed threads and \"none\" to disable. Defaults to \"all\"."},"first_name":{"type":"string","description":"Set to \"true\" to enable mentions for first name. Defaults to \"true\" if a first name is set, \"false\" otherwise."},"mention_keys":{"type":"string","description":"A comma-separated list of words to count as mentions. Defaults to username and @username."},"push":{"type":"string","description":"Set to \"all\" to receive push notifications for all activity, \"mention\" for mentions and direct messages only, and \"none\" to disable. Defaults to \"mention\"."},"push_threads":{"type":"string","description":"Set to \"all\" to enable mobile push notifications for followed threads and \"none\" to disable. Defaults to \"all\"."}}},"password":{"type":"string","description":"The password used for email authentication."},"position":{"type":"string","description":"body.position (string field from the documented request schema)"},"props":{"type":"object","description":"body.props (object field from the documented request schema)","properties":{}},"timezone":{"type":"object","description":"body.timezone (object field from the documented request schema)","properties":{"automaticTimezone":{"type":"string","description":"This value is set automatically when the \"useAutomaticTimezone\" is set to \"true\"."},"manualTimezone":{"type":"string","description":"Value when setting manually the timezone, i.e. \"Europe/Berlin\"."},"useAutomaticTimezone":{"type":"string","description":"Set to \"true\" to use the browser/system timezone, \"false\" to set manually. Defaults to \"true\"."}}},"username":{"type":"string","description":"body.username (string field from the documented request schema)","required":true}}},"example":{"auth_data":["string"],"auth_service":["string"],"email":["string"],"first_name":["string"],"last_name":["string"],"locale":["string"],"nickname":["string"],"notify_props":[{"auto_responder_message":"string","channel":"string","comments":"string","desktop":"string","desktop_sound":"string","desktop_threads":"string","email":"string","email_threads":"string","first_name":"string","mention_keys":"string","push":"string","push_threads":"string"}],"password":["string"],"position":["string"],"props":[{}],"timezone":[{"automaticTimezone":"string","manualTimezone":"string","useAutomaticTimezone":"string"}],"username":["string"]}}}}},"get":{"tags":["Users"],"parameters":[{"name":"abac_match_only","in":"query","description":"When used with `not_in_channel`, restricts the result to users whose attributes satisfy the channel's Attribute-Based Access Control (ABAC) membership policy.\nOn private channels with an ABAC policy this filter is always applied regardless of this parameter (hard gate). On public channels with an advisory ABAC policy the full not_in_channel candidate list is returned by default; set this to `true` to fetch only the matching subset of candidates (for example to annotate recommended members in the invite UI).\n__Minimum server version__: 11.8","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"active","in":"query","description":"Whether or not to list only users that are active. This option cannot be used along with the `inactive` option.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"channel_roles","in":"query","description":"Comma separated string used to filter users based on any of the specified channel roles, can only be used in conjunction with `in_channel`\nExample: `?in_channel=4eb6axxw7fg3je5iyasnfudc5y&channel_roles=channel_user` will return users that are only channel users and not admins or guests\n__Minimum server version__: 5.26","required":false,"schema":{"type":"string","example":""}},{"name":"group_constrained","in":"query","description":"When used with `not_in_channel` or `not_in_team`, returns only the users that are allowed to join the channel or team based on its group constrains.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"in_channel","in":"query","description":"The ID of the channel to get users for.","required":false,"schema":{"type":"string","example":""}},{"name":"in_group","in":"query","description":"The ID of the group to get users for. Must have `manage_system` permission.","required":false,"schema":{"type":"string","example":""}},{"name":"in_team","in":"query","description":"The ID of the team to get users for.","required":false,"schema":{"type":"string","example":""}},{"name":"inactive","in":"query","description":"Whether or not to list only users that are deactivated. This option cannot be used along with the `active` option.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"not_in_channel","in":"query","description":"The ID of the channel to exclude users for. Must be used with \"in_channel\" query parameter.","required":false,"schema":{"type":"string","example":""}},{"name":"not_in_team","in":"query","description":"The ID of the team to exclude users for. Must not be used with \"in_team\" query parameter.","required":false,"schema":{"type":"string","example":""}},{"name":"page","in":"query","description":"The page to select.","required":false,"schema":{"type":"number","example":""}},{"name":"per_page","in":"query","description":"The number of users per page.","required":false,"schema":{"type":"number","example":""}},{"name":"role","in":"query","description":"Returns users that have this role.","required":false,"schema":{"type":"string","example":""}},{"name":"roles","in":"query","description":"Comma separated string used to filter users based on any of the specified system roles\nExample: `?roles=system_admin,system_user` will return users that are either system admins or system users\n__Minimum server version__: 5.26","required":false,"schema":{"type":"string","example":""}},{"name":"sort","in":"query","description":"Sort is only available in conjunction with certain options below. The paging parameter is also always available.\n##### `in_team`\nCan be \"\", \"last_activity_at\" or \"create_at\".\nWhen left blank, sorting is done by username.\nNote that when \"last_activity_at\" is specified, an additional \"last_activity_at\" field will be returned in the response packet.\n__Minimum server version__: 4.0\n##### `in_channel`\nCan be \"\", \"status\".\nWhen left blank, sorting is done by username. `status` will sort by User's current status (Online, Away, DND, Offline), then by Username.\n__Minimum server version__: 4.7\n##### `in_group`\nCan be \"\", \"display_name\".\nWhen left blank, sorting is done by username. `display_name` will sort alphabetically by user's display name.\n__Minimum server version__: 7.7","required":false,"schema":{"type":"string","example":""}},{"name":"team_roles","in":"query","description":"Comma separated string used to filter users based on any of the specified team roles, can only be used in conjunction with `in_team`\nExample: `?in_team=4eb6axxw7fg3je5iyasnfudc5y&team_roles=team_user` will return users that are only team users and not admins or guests\n__Minimum server version__: 5.26","required":false,"schema":{"type":"string","example":""}},{"name":"without_team","in":"query","description":"Whether or not to list users that are not on any team. This option takes precendence over `in_team`, `in_channel`, and `not_in_channel`.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetUsers","api_endpoint":"https://{site_url}/api/v4/users"},"summary":"Get users","description":"Get users | Get a page of a list of users. Based on query string parameters, select users from a team, channel, or select users not in a specific channel.\nSince server version 4.0, some basic sorting is available using the `sort` query parameter. Sorting is currently only supported when selecting users on a team.\nSome fields, like `email_verified` and `notify_props`, are only visible for the authorized user or if the authorized user has the `manage_system` permission.\n##### Permissions\nRequires an active session and (if specified) membership to the channel or team being selected from. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]},"delete":{"tags":["Users"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#PermanentDeleteAllUsers","api_endpoint":"https://{site_url}/api/v4/users"},"summary":"Permanent delete all users","description":"Permanent delete all users | Permanently deletes all users and all their related information, including posts.\n__Minimum server version__: 5.26.0\n__Local mode only__: This endpoint is only available through [local mode](https://docs.mattermost.com/administration/mmctl-cli-tool.html#local-mode). | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/users/ids":{"post":{"tags":["Users"],"parameters":[{"name":"since","in":"query","description":"Only return users that have been modified since the given Unix timestamp (in milliseconds).\n__Minimum server version__: 5.14","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetUsersByIds","api_endpoint":"https://{site_url}/api/v4/users/ids"},"summary":"Get users by ids","description":"Get users by ids | Get a list of users based on a provided list of user ids.\n##### Permissions\nRequires an active session but no other permissions. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"body":{"type":"array","description":"body (request body parameter from the official API reference)","items":{"type":"string"}}}},"example":{"body":[["string"]]}}}}}},"/users/group_channels":{"post":{"tags":["Users"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetUsersByGroupChannelIds","api_endpoint":"https://{site_url}/api/v4/users/group_channels"},"summary":"Get users by group channels ids","description":"Get users by group channels ids | Get an object containing a key per group channel id in the\nquery and its value as a list of users members of that group\nchannel.\nThe user must be a member of the group ids in the query, or\nthey will be omitted from the response.\n##### Permissions\nRequires an active session but no other permissions.\n__Minimum server version__: 5.14 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"body":{"type":"array","description":"body (request body parameter from the official API reference)","items":{"type":"string"}}}},"example":{"body":[["string"]]}}}}}},"/users/usernames":{"post":{"tags":["Users"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetUsersByUsernames","api_endpoint":"https://{site_url}/api/v4/users/usernames"},"summary":"Get users by usernames","description":"Get users by usernames | Get a list of users based on a provided list of usernames.\n##### Permissions\nRequires an active session but no other permissions. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"body":{"type":"array","description":"body (request body parameter from the official API reference)","items":{"type":"string"}}}},"example":{"body":[["string"]]}}}}}},"/users/search":{"post":{"tags":["Users"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#SearchUsers","api_endpoint":"https://{site_url}/api/v4/users/search"},"summary":"Search users","description":"Search users | Get a list of users based on search criteria provided in the request body. Searches are typically done against username, full name, nickname and email unless otherwise configured by the server.\n##### Permissions\nRequires an active session and `read_channel` and/or `view_team` permissions for any channels or teams specified in the request body. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"allow_inactive":{"type":"boolean","description":"When `true`, include deactivated users in the results","enum":[true,false]},"group_constrained":{"type":"boolean","description":"When used with `not_in_channel_id` or `not_in_team_id`, returns only the users that are allowed to join the channel or team based on its group constrains.","enum":[true,false]},"in_channel_id":{"type":"string","description":"If provided, only search users in this channel"},"in_group_id":{"type":"string","description":"If provided, only search users in this group. Must have `manage_system` permission."},"limit":{"type":"number","description":"The maximum number of users to return in the results\n__Available as of server version 5.6. Defaults to `100` if not provided or on an earlier server version.__"},"not_in_channel_id":{"type":"string","description":"If provided, only search users not in this channel. Must specifiy `team_id` when using this option"},"not_in_team_id":{"type":"string","description":"If provided, only search users not on this team"},"team_id":{"type":"string","description":"If provided, only search users on this team"},"term":{"type":"string","description":"The term to match against username, full name, nickname and email","required":true},"without_team":{"type":"boolean","description":"Set this to `true` if you would like to search for users that are not on a team. This option takes precendence over `team_id`, `in_channel_id`, and `not_in_channel_id`.","enum":[true,false]}}},"example":{"allow_inactive":[false],"group_constrained":[false],"in_channel_id":["string"],"in_group_id":["string"],"limit":[100],"not_in_channel_id":["string"],"not_in_team_id":["string"],"team_id":["string"],"term":["string"],"without_team":[false]}}}}}},"/users/autocomplete":{"get":{"tags":["Users"],"parameters":[{"name":"channel_id","in":"query","description":"Channel ID","required":false,"schema":{"type":"string","example":""}},{"name":"limit","in":"query","description":"The maximum number of users to return in each subresult\n__Available as of server version 5.6. Defaults to `100` if not provided or on an earlier server version.__","required":false,"schema":{"type":"number","example":""}},{"name":"name","in":"query","description":"Username, nickname first name or last name","required":true,"schema":{"type":"string","example":""}},{"name":"team_id","in":"query","description":"Team ID","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#AutocompleteUsers","api_endpoint":"https://{site_url}/api/v4/users/autocomplete"},"summary":"Autocomplete users","description":"Autocomplete users | Get a list of users for the purpose of autocompleting based on the provided search term. Specify a combination of `team_id` and `channel_id` to filter results further.\n##### Permissions\nRequires an active session and `view_team` and `read_channel` on any teams or channels used to filter the results further. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/users/known":{"get":{"tags":["Users"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetKnownUsers","api_endpoint":"https://{site_url}/api/v4/users/known"},"summary":"Get user IDs of known users","description":"Get user IDs of known users | Get the list of user IDs of users with any direct relationship with a\nuser. That means any user sharing any channel, including direct and\ngroup channels.\n##### Permissions\nMust be authenticated.\n__Minimum server version__: 5.23 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/users/stats":{"get":{"tags":["Users"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetTotalUsersStats","api_endpoint":"https://{site_url}/api/v4/users/stats"},"summary":"Get total count of users in the system","description":"Get total count of users in the system | Get a total count of users in the system.\n##### Permissions\nMust be authenticated. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/users/stats/filtered":{"get":{"tags":["Users"],"parameters":[{"name":"channel_roles","in":"query","description":"Comma separated string used to filter users based on any of the specified channel roles, can only be used in conjunction with `in_channel`\nExample: `?in_channel=4eb6axxw7fg3je5iyasnfudc5y&channel_roles=channel_user` will include users that are only channel users and not admins or guests","required":false,"schema":{"type":"string","example":""}},{"name":"in_channel","in":"query","description":"The ID of the channel to get user stats for.","required":false,"schema":{"type":"string","example":""}},{"name":"in_team","in":"query","description":"The ID of the team to get user stats for.","required":false,"schema":{"type":"string","example":""}},{"name":"include_bots","in":"query","description":"If bot accounts should be included in the count.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"include_deleted","in":"query","description":"If deleted accounts should be included in the count.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"roles","in":"query","description":"Comma separated string used to filter users based on any of the specified system roles\nExample: `?roles=system_admin,system_user` will include users that are either system admins or system users","required":false,"schema":{"type":"string","example":""}},{"name":"team_roles","in":"query","description":"Comma separated string used to filter users based on any of the specified team roles, can only be used in conjunction with `in_team`\nExample: `?in_team=4eb6axxw7fg3je5iyasnfudc5y&team_roles=team_user` will include users that are only team users and not admins or guests","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetTotalUsersStatsFiltered","api_endpoint":"https://{site_url}/api/v4/users/stats/filtered"},"summary":"Get total count of users in the system matching the specified filters","description":"Get total count of users in the system matching the specified filters | Get a count of users in the system matching the specified filters.\n__Minimum server version__: 5.26\n##### Permissions\nMust have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/users/{user_id}":{"get":{"tags":["Users"],"parameters":[{"name":"user_id","in":"path","description":"User GUID. This can also be \"me\" which will point to the current user.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetUser","api_endpoint":"https://{site_url}/api/v4/users/{user_id}"},"summary":"Get a user","description":"Get a user | Get a user a object. Sensitive information will be sanitized out.\n##### Permissions\nRequires an active session but no other permissions. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]},"put":{"tags":["Users"],"parameters":[{"name":"user_id","in":"path","description":"User GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UpdateUser","api_endpoint":"https://{site_url}/api/v4/users/{user_id}"},"summary":"Update a user","description":"Update a user | Update a user by providing the user object. The fields that can be updated are defined in the request body, all other provided fields will be ignored. Any fields not included in the request body will be set to null or reverted to default values.\n##### Permissions\nMust be logged in as the user being updated or have the `edit_other_users` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"email":{"type":"string","description":"body.email (string field from the documented request schema)","required":true},"first_name":{"type":"string","description":"body.first_name (string field from the documented request schema)"},"id":{"type":"string","description":"body.id (string field from the documented request schema)","required":true},"last_name":{"type":"string","description":"body.last_name (string field from the documented request schema)"},"locale":{"type":"string","description":"body.locale (string field from the documented request schema)"},"nickname":{"type":"string","description":"body.nickname (string field from the documented request schema)"},"notify_props":{"type":"object","description":"body.notify_props (object field from the documented request schema)","properties":{"auto_responder_message":{"type":"string","description":"The message sent to users when they are auto-responded to. Defaults to \"\"."},"channel":{"type":"string","description":"Set to \"true\" to enable channel-wide notifications (@channel, @all, etc.), \"false\" to disable. Defaults to \"true\"."},"comments":{"type":"string","description":"Set to \"any\" to enable notifications for comments to any post you have replied to, \"root\" for comments on your posts, and \"never\" to disable. Only affects users with collapsed reply threads disabled. Defaults to \"never\"."},"desktop":{"type":"string","description":"Set to \"all\" to receive desktop notifications for all activity, \"mention\" for mentions and direct messages only, and \"none\" to disable. Defaults to \"all\"."},"desktop_sound":{"type":"string","description":"Set to \"true\" to enable sound on desktop notifications, \"false\" to disable. Defaults to \"true\"."},"desktop_threads":{"type":"string","description":"Set to \"all\" to enable desktop notifications for followed threads and \"none\" to disable. Defaults to \"all\"."},"email":{"type":"string","description":"Set to \"true\" to enable email notifications, \"false\" to disable. Defaults to \"true\"."},"email_threads":{"type":"string","description":"Set to \"all\" to enable email notifications for followed threads and \"none\" to disable. Defaults to \"all\"."},"first_name":{"type":"string","description":"Set to \"true\" to enable mentions for first name. Defaults to \"true\" if a first name is set, \"false\" otherwise."},"mention_keys":{"type":"string","description":"A comma-separated list of words to count as mentions. Defaults to username and @username."},"push":{"type":"string","description":"Set to \"all\" to receive push notifications for all activity, \"mention\" for mentions and direct messages only, and \"none\" to disable. Defaults to \"mention\"."},"push_threads":{"type":"string","description":"Set to \"all\" to enable mobile push notifications for followed threads and \"none\" to disable. Defaults to \"all\"."}}},"position":{"type":"string","description":"body.position (string field from the documented request schema)"},"props":{"type":"object","description":"body.props (object field from the documented request schema)","properties":{}},"timezone":{"type":"object","description":"body.timezone (object field from the documented request schema)","properties":{"automaticTimezone":{"type":"string","description":"This value is set automatically when the \"useAutomaticTimezone\" is set to \"true\"."},"manualTimezone":{"type":"string","description":"Value when setting manually the timezone, i.e. \"Europe/Berlin\"."},"useAutomaticTimezone":{"type":"string","description":"Set to \"true\" to use the browser/system timezone, \"false\" to set manually. Defaults to \"true\"."}}},"username":{"type":"string","description":"body.username (string field from the documented request schema)","required":true}}},"example":{"email":["string"],"first_name":["string"],"id":["string"],"last_name":["string"],"locale":["string"],"nickname":["string"],"notify_props":[{"auto_responder_message":"string","channel":"string","comments":"string","desktop":"string","desktop_sound":"string","desktop_threads":"string","email":"string","email_threads":"string","first_name":"string","mention_keys":"string","push":"string","push_threads":"string"}],"position":["string"],"props":[{}],"timezone":[{"automaticTimezone":"string","manualTimezone":"string","useAutomaticTimezone":"string"}],"username":["string"]}}}}},"delete":{"tags":["Users"],"parameters":[{"name":"user_id","in":"path","description":"User GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#DeleteUser","api_endpoint":"https://{site_url}/api/v4/users/{user_id}"},"summary":"Deactivate a user account.","description":"Deactivate a user account. | Deactivates the user and revokes all its sessions by archiving its user object.\nAs of server version 5.28, optionally use the `permanent=true` query parameter to permanently delete the user for compliance reasons. To use this feature `ServiceSettings.EnableAPIUserDeletion` must be set to `true` in the server's configuration.\n##### Permissions\nMust be logged in as the user being deactivated or have the `edit_other_users` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/users/{user_id}/patch":{"put":{"tags":["Users"],"parameters":[{"name":"user_id","in":"path","description":"User GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#PatchUser","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/patch"},"summary":"Patch a user","description":"Patch a user | Partially update a user by providing only the fields you want to update. Omitted fields will not be updated. The fields that can be updated are defined in the request body, all other provided fields will be ignored.\n##### Permissions\nMust be logged in as the user being updated or have the `edit_other_users` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"email":{"type":"string","description":"body.email (string field from the documented request schema)"},"first_name":{"type":"string","description":"body.first_name (string field from the documented request schema)"},"last_name":{"type":"string","description":"body.last_name (string field from the documented request schema)"},"locale":{"type":"string","description":"body.locale (string field from the documented request schema)"},"nickname":{"type":"string","description":"body.nickname (string field from the documented request schema)"},"notify_props":{"type":"object","description":"body.notify_props (object field from the documented request schema)","properties":{"auto_responder_message":{"type":"string","description":"The message sent to users when they are auto-responded to. Defaults to \"\"."},"channel":{"type":"string","description":"Set to \"true\" to enable channel-wide notifications (@channel, @all, etc.), \"false\" to disable. Defaults to \"true\"."},"comments":{"type":"string","description":"Set to \"any\" to enable notifications for comments to any post you have replied to, \"root\" for comments on your posts, and \"never\" to disable. Only affects users with collapsed reply threads disabled. Defaults to \"never\"."},"desktop":{"type":"string","description":"Set to \"all\" to receive desktop notifications for all activity, \"mention\" for mentions and direct messages only, and \"none\" to disable. Defaults to \"all\"."},"desktop_sound":{"type":"string","description":"Set to \"true\" to enable sound on desktop notifications, \"false\" to disable. Defaults to \"true\"."},"desktop_threads":{"type":"string","description":"Set to \"all\" to enable desktop notifications for followed threads and \"none\" to disable. Defaults to \"all\"."},"email":{"type":"string","description":"Set to \"true\" to enable email notifications, \"false\" to disable. Defaults to \"true\"."},"email_threads":{"type":"string","description":"Set to \"all\" to enable email notifications for followed threads and \"none\" to disable. Defaults to \"all\"."},"first_name":{"type":"string","description":"Set to \"true\" to enable mentions for first name. Defaults to \"true\" if a first name is set, \"false\" otherwise."},"mention_keys":{"type":"string","description":"A comma-separated list of words to count as mentions. Defaults to username and @username."},"push":{"type":"string","description":"Set to \"all\" to receive push notifications for all activity, \"mention\" for mentions and direct messages only, and \"none\" to disable. Defaults to \"mention\"."},"push_threads":{"type":"string","description":"Set to \"all\" to enable mobile push notifications for followed threads and \"none\" to disable. Defaults to \"all\"."}}},"position":{"type":"string","description":"body.position (string field from the documented request schema)"},"props":{"type":"object","description":"body.props (object field from the documented request schema)","properties":{}},"timezone":{"type":"object","description":"body.timezone (object field from the documented request schema)","properties":{"automaticTimezone":{"type":"string","description":"This value is set automatically when the \"useAutomaticTimezone\" is set to \"true\"."},"manualTimezone":{"type":"string","description":"Value when setting manually the timezone, i.e. \"Europe/Berlin\"."},"useAutomaticTimezone":{"type":"string","description":"Set to \"true\" to use the browser/system timezone, \"false\" to set manually. Defaults to \"true\"."}}},"username":{"type":"string","description":"body.username (string field from the documented request schema)"}}},"example":{"email":["string"],"first_name":["string"],"last_name":["string"],"locale":["string"],"nickname":["string"],"notify_props":[{"auto_responder_message":"string","channel":"string","comments":"string","desktop":"string","desktop_sound":"string","desktop_threads":"string","email":"string","email_threads":"string","first_name":"string","mention_keys":"string","push":"string","push_threads":"string"}],"position":["string"],"props":[{}],"timezone":[{"automaticTimezone":"string","manualTimezone":"string","useAutomaticTimezone":"string"}],"username":["string"]}}}}}},"/users/{user_id}/roles":{"put":{"tags":["Users"],"parameters":[{"name":"user_id","in":"path","description":"User GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UpdateUserRoles","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/roles"},"summary":"Update a user's roles","description":"Update a user's roles | Update a user's system-level roles. Valid user roles are \"system_user\", \"system_admin\" or both of them. Overwrites any previously assigned system-level roles.\n##### Permissions\nMust have the `manage_roles` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"roles":{"type":"string","description":"body.roles (string field from the documented request schema)","required":true}}},"example":{"roles":["string"]}}}}}},"/users/{user_id}/active":{"put":{"tags":["Users"],"parameters":[{"name":"user_id","in":"path","description":"User GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UpdateUserActive","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/active"},"summary":"Activate or deactivate a user","description":"Activate or deactivate a user | Activate or deactivate a user's account. A deactivated user can't log into Mattermost or use it without being reactivated.\n__Since server version 4.6, users using a SSO provider to login can be activated or deactivated with this endpoint. However, if their activation status in Mattermost does not reflect their status in the SSO provider, the next synchronization or login by that user will reset the activation status to that of their account in the SSO provider. Server versions 4.5 and before do not allow activation or deactivation of SSO users from this endpoint.__\n##### Permissions\nUser can deactivate themselves.\nUser with `manage_system` permission can activate or deactivate a user. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"active":{"type":"boolean","description":"body.active (boolean field from the documented request schema)","required":true,"enum":[true,false]}}},"example":{"active":[false]}}}}}},"/users/{user_id}/image":{"get":{"tags":["Users"],"parameters":[{"name":"user_id","in":"path","description":"User GUID","required":true,"schema":{"type":"string","example":""}},{"name":"_","in":"query","description":"Not used by the server. Clients can pass in the last picture update time of the user to potentially take advantage of caching","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetProfileImage","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/image"},"summary":"Get user's profile image","description":"Get user's profile image | Get a user's profile image based on user_id string parameter.\n##### Permissions\nMust be logged in. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]},"post":{"tags":["Users"],"parameters":[{"name":"user_id","in":"path","description":"User GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#SetProfileImage","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/image"},"summary":"Set user's profile image","description":"Set user's profile image | Set a user's profile image based on user_id string parameter.\n##### Permissions\nMust be logged in as the user being updated or have the `edit_other_users` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"image":{"type":"string","description":"The image to be uploaded","required":true}}},"example":{"image":["string"]}}}}},"delete":{"tags":["Users"],"parameters":[{"name":"user_id","in":"path","description":"User GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#SetDefaultProfileImage","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/image"},"summary":"Delete user's profile image","description":"Delete user's profile image | Delete user's profile image and reset to default image based on user_id string parameter.\n##### Permissions\nMust be logged in as the user being updated or have the `edit_other_users` permission.\n__Minimum server version__: 5.5 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/users/{user_id}/image/default":{"get":{"tags":["Users"],"parameters":[{"name":"user_id","in":"path","description":"User GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetDefaultProfileImage","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/image/default"},"summary":"Return user's default (generated) profile image","description":"Return user's default (generated) profile image | Returns the default (generated) user profile image based on user_id string parameter.\n##### Permissions\nMust be logged in.\n__Minimum server version__: 5.5 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/users/username/{username}":{"get":{"tags":["Users"],"parameters":[{"name":"username","in":"path","description":"Username","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetUserByUsername","api_endpoint":"https://{site_url}/api/v4/users/username/{username}"},"summary":"Get a user by username","description":"Get a user by username | Get a user object by providing a username. Sensitive information will be sanitized out.\n##### Permissions\nRequires an active session but no other permissions. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/users/auth_data":{"get":{"tags":["Users"],"parameters":[{"name":"value","in":"query","description":"The user's AuthData as stored in `Users.AuthData`. Must be URL-encoded; in particular, Base64 `+` characters must be sent as `%2B` so they are not decoded as spaces.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetUserByAuthData","api_endpoint":"https://{site_url}/api/v4/users/auth_data"},"summary":"Get a user by auth data","description":"Get a user by auth data | Get a user by their external auth data identifier. The `value` is matched against what is stored in `Users.AuthData`, which for most identity providers is the identifier as the provider issues it.\nThe exception is Active Directory `objectGUID`: under `auth_service: ldap` it is stored as the LDAP filter hex-escape form (e.g. `\\61\\14\\e1\\d1\\c5\\35\\18\\4a\\b6\\60\\d6\\78\\50\\fd\\0d\\5d`), and under `auth_service: saml` it is stored as the standard Base64 of the same bytes (e.g. `YRTh0cU1GEq2YNZ4UP0NXQ==`). Use the form matching the user's current `AuthService`.\n##### Permissions\nMust be a system admin. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/users/password/reset":{"post":{"tags":["Users"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#ResetPassword","api_endpoint":"https://{site_url}/api/v4/users/password/reset"},"summary":"Reset password","description":"Reset password | Update the password for a user using a one-use, timed recovery code tied to the user's account. Only works for non-SSO users.\n##### Permissions\nNo permissions required. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"code":{"type":"string","description":"The recovery code","required":true},"new_password":{"type":"string","description":"The new password for the user","required":true}}},"example":{"code":["string"],"new_password":["string"]}}}}}},"/users/{user_id}/mfa":{"put":{"tags":["Users"],"parameters":[{"name":"user_id","in":"path","description":"User GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UpdateUserMfa","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/mfa"},"summary":"Update a user's MFA","description":"Update a user's MFA | Activates multi-factor authentication for the user if `activate` is true and a valid `code` is provided. If activate is false, then `code` is not required and multi-factor authentication is disabled for the user.\n##### Permissions\nMust be logged in as the user being updated or have the `edit_other_users` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"activate":{"type":"boolean","description":"Use `true` to activate, `false` to deactivate","required":true,"enum":[true,false]},"code":{"type":"string","description":"The code produced by your MFA client. Required if `activate` is true"}}},"example":{"activate":[false],"code":["string"]}}}}}},"/users/{user_id}/mfa/generate":{"post":{"tags":["Users"],"parameters":[{"name":"user_id","in":"path","description":"User GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GenerateMfaSecret","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/mfa/generate"},"summary":"Generate MFA secret","description":"Generate MFA secret | Generates an multi-factor authentication secret for a user and returns it as a string and as base64 encoded QR code image.\n##### Permissions\nMust be logged in as the user or have the `edit_other_users` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/users/{user_id}/demote":{"post":{"tags":["Users"],"parameters":[{"name":"user_id","in":"path","description":"User GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#DemoteUserToGuest","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/demote"},"summary":"Demote a user to a guest","description":"Demote a user to a guest | Convert a regular user into a guest. This will convert the user into a\nguest for the whole system while retaining their existing team and\nchannel memberships.\n__Minimum server version__: 5.16\n##### Permissions\nMust be logged in as the user or have the `demote_to_guest` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/users/{user_id}/promote":{"post":{"tags":["Users"],"parameters":[{"name":"user_id","in":"path","description":"User GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#PromoteGuestToUser","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/promote"},"summary":"Promote a guest to user","description":"Promote a guest to user | Convert a guest into a regular user. This will convert the guest into a\nuser for the whole system while retaining any team and channel\nmemberships and automatically joining them to the default channels.\n__Minimum server version__: 5.16\n##### Permissions\nMust be logged in as the user or have the `promote_guest` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/users/{user_id}/convert_to_bot":{"post":{"tags":["Bots"],"parameters":[{"name":"user_id","in":"path","description":"User GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#ConvertUserToBot","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/convert_to_bot"},"summary":"Convert a user into a bot","description":"Convert a user into a bot | Convert a user into a bot.\n__Minimum server version__: 5.26\n##### Permissions\nMust have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/users/{user_id}/password":{"put":{"tags":["Users"],"parameters":[{"name":"user_id","in":"path","description":"User GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UpdateUserPassword","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/password"},"summary":"Update a user's password","description":"Update a user's password | Update a user's password. New password must meet password policy set by server configuration. Current password is required if you're updating your own password.\n##### Permissions\nMust be logged in as the user the password is being changed for or have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"current_password":{"type":"string","description":"The current password for the user"},"new_password":{"type":"string","description":"The new password for the user","required":true}}},"example":{"current_password":["string"],"new_password":["string"]}}}}}},"/users/password/reset/send":{"post":{"tags":["Users"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#SendPasswordResetEmail","api_endpoint":"https://{site_url}/api/v4/users/password/reset/send"},"summary":"Send password reset email","description":"Send password reset email | Send an email containing a link for resetting the user's password. The link will contain a one-use, timed recovery code tied to the user's account. Only works for non-SSO users.\n##### Permissions\nNo permissions required. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"email":{"type":"string","description":"The email of the user","required":true}}},"example":{"email":["string"]}}}}}},"/users/email/{email}":{"get":{"tags":["Users"],"parameters":[{"name":"email","in":"path","description":"User Email","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetUserByEmail","api_endpoint":"https://{site_url}/api/v4/users/email/{email}"},"summary":"Get a user by email","description":"Get a user by email | Get a user object by providing a user email. Sensitive information will be sanitized out.\n##### Permissions\nRequires an active session and for the current session to be able to view another user's email based on the server's privacy settings. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/users/{user_id}/sessions":{"get":{"tags":["Users"],"parameters":[{"name":"user_id","in":"path","description":"User GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetSessions","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/sessions"},"summary":"Get user's sessions","description":"Get user's sessions | Get a list of sessions by providing the user GUID. Sensitive information will be sanitized out.\n##### Permissions\nMust be logged in as the user being updated or have the `edit_other_users` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/users/{user_id}/sessions/revoke":{"post":{"tags":["Users"],"parameters":[{"name":"user_id","in":"path","description":"User GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#RevokeSession","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/sessions/revoke"},"summary":"Revoke a user session","description":"Revoke a user session | Revokes a user session from the provided user id and session id strings.\n##### Permissions\nMust be logged in as the user being updated or have the `edit_other_users` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"session_id":{"type":"string","description":"The session GUID to revoke.","required":true}}},"example":{"session_id":["string"]}}}}}},"/users/{user_id}/sessions/revoke/all":{"post":{"tags":["Users"],"parameters":[{"name":"user_id","in":"path","description":"User GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#RevokeAllSessions","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/sessions/revoke/all"},"summary":"Revoke all active sessions for a user","description":"Revoke all active sessions for a user | Revokes all user sessions from the provided user id and session id strings.\n##### Permissions\nMust be logged in as the user being updated or have the `edit_other_users` permission.\n__Minimum server version__: 4.4 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/users/sessions/device":{"put":{"tags":["Users"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#AttachDeviceExtraProps","api_endpoint":"https://{site_url}/api/v4/users/sessions/device"},"summary":"Attach mobile device and extra props to the session object","description":"Attach mobile device and extra props to the session object | Attach extra props to the session object of the currently logged in session.\nAdding a mobile device id will enable push notifications for a user, if configured by the server.\nOther props are also available, like whether the device has notifications disabled and the mobile version.\n##### Permissions\nMust be authenticated. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"deviceNotificationDisabled":{"type":"string","description":"Whether the mobile device has notifications disabled. Accepted values are \"true\" or \"false\"."},"device_id":{"type":"string","description":"Mobile device id. For Android prefix the id with `android:` and Apple with `apple:`"},"mobileVersion":{"type":"string","description":"Mobile app version. The version must be parseable as a semver."},"voip_device_id":{"type":"string","description":"VoIP push token. Same prefix shape as device_id. Optional; when provided, enables ring-style call push notifications."}}},"example":{"deviceNotificationDisabled":["string"],"device_id":["string"],"mobileVersion":["string"],"voip_device_id":["string"]}}}}}},"/users/sessions/attributes/manifest":{"get":{"tags":["Users"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetSessionAttributesManifest","api_endpoint":"https://{site_url}/api/v4/users/sessions/attributes/manifest"},"summary":"Get the session attributes manifest","description":"Get the session attributes manifest | Get the set of session attributes the server expects the client to collect, filtered to the requesting client's platform, including the per-attribute TTL and grace period.\nRequires the `SessionAttributes` feature flag and an Enterprise Advanced license. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/users/{user_id}/audits":{"get":{"tags":["Users"],"parameters":[{"name":"user_id","in":"path","description":"User GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetUserAudits","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/audits"},"summary":"Get user's audits","description":"Get user's audits | Get a list of audit by providing the user GUID.\n##### Permissions\nMust be logged in as the user or have the `edit_other_users` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/users/{user_id}/email/verify/member":{"post":{"tags":["Users"],"parameters":[{"name":"user_id","in":"path","description":"User GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#VerifyUserEmailWithoutToken","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/email/verify/member"},"summary":"Verify user email by ID","description":"Verify user email by ID | Verify the email used by a user without a token.\n__Minimum server version__: 5.24\n##### Permissions\nMust have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/users/email/verify":{"post":{"tags":["Users"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#VerifyUserEmail","api_endpoint":"https://{site_url}/api/v4/users/email/verify"},"summary":"Verify user email","description":"Verify user email | Verify the email used by a user to sign-up their account with.\n##### Permissions\nNo permissions required. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"token":{"type":"string","description":"The token given to validate the email","required":true}}},"example":{"token":["string"]}}}}}},"/users/email/verify/send":{"post":{"tags":["Users"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#SendVerificationEmail","api_endpoint":"https://{site_url}/api/v4/users/email/verify/send"},"summary":"Send verification email","description":"Send verification email | Send an email with a verification link to a user that has an email matching the one in the request body. This endpoint will return success even if the email does not match any users on the system.\n##### Permissions\nNo permissions required. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"email":{"type":"string","description":"Email of a user","required":true}}},"example":{"email":["string"]}}}}}},"/users/login/switch":{"post":{"tags":["Users"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#SwitchAccountType","api_endpoint":"https://{site_url}/api/v4/users/login/switch"},"summary":"Switch login method","description":"Switch login method | Switch a user's login method from using email to OAuth2/SAML/LDAP or back to email. When switching to OAuth2/SAML, account switching is not complete until the user follows the returned link and completes any steps on the OAuth2/SAML service provider.\nTo switch from email to OAuth2/SAML, specify `current_service`, `new_service`, `email` and `password`.\nTo switch from OAuth2/SAML to email, specify `current_service`, `new_service`, `email` and `new_password`.\nTo switch from email to LDAP/AD, specify `current_service`, `new_service`, `email`, `password`, `ldap_ip` and `new_password` (this is the user's LDAP password).\nTo switch from LDAP/AD to email, specify `current_service`, `new_service`, `ldap_ip`, `password` (this is the user's LDAP password), `email`  and `new_password`.\nAdditionally, specify `mfa_code` when trying to switch an account on LDAP/AD or email that has MFA activated.\n##### Permissions\nNo current authentication required except when switching from OAuth2/SAML to email. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"current_service":{"type":"string","description":"The service the user currently uses to login","required":true},"email":{"type":"string","description":"The email of the user"},"ldap_id":{"type":"string","description":"The LDAP/AD id of the user"},"mfa_code":{"type":"string","description":"The MFA code of the current service"},"new_service":{"type":"string","description":"The service the user will use to login","required":true},"password":{"type":"string","description":"The password used with the current service"}}},"example":{"current_service":["string"],"email":["string"],"ldap_id":["string"],"mfa_code":["string"],"new_service":["string"],"password":["string"]}}}}}},"/users/login/type":{"post":{"tags":["Users"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetLoginType","api_endpoint":"https://{site_url}/api/v4/users/login/type"},"summary":"Get login authentication type","description":"Get login authentication type | Get the authentication service type (auth_service) for a user to determine how they should authenticate. This endpoint is typically used in the login flow to determine which authentication method to use.\nFor this version, the endpoint only returns a non-empty `auth_service` if the user has magic_link enabled. For all other authentication methods (email/password, OAuth, SAML, LDAP), an empty string is returned.\n##### Permissions\nNo permission required | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"device_id":{"type":"string","description":"The device ID for audit logging purposes"},"id":{"type":"string","description":"The user ID (optional, can be used with login_id)"},"login_id":{"type":"string","description":"The login ID (email, username, or unique identifier)"}}},"example":{"device_id":["string"],"id":["string"],"login_id":["string"]}}}}}},"/users/{user_id}/tokens":{"post":{"tags":["Users"],"parameters":[{"name":"user_id","in":"path","description":"User GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#CreateUserAccessToken","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/tokens"},"summary":"Create a user access token","description":"Create a user access token | Generate a user access token that can be used to authenticate with the Mattermost REST API.\n__Minimum server version__: 4.1\n##### Permissions\nMust have `create_user_access_token` permission. For non-self requests, must also have the `edit_other_users` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"description":{"type":"string","description":"A description of the token usage","required":true}}},"example":{"description":["string"]}}}}},"get":{"tags":["Users"],"parameters":[{"name":"user_id","in":"path","description":"User GUID","required":true,"schema":{"type":"string","example":""}},{"name":"page","in":"query","description":"The page to select.","required":false,"schema":{"type":"number","example":""}},{"name":"per_page","in":"query","description":"The number of tokens per page.","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetUserAccessTokensForUser","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/tokens"},"summary":"Get user access tokens","description":"Get user access tokens | Get a list of user access tokens for a user. Does not include the actual authentication tokens. Use query parameters for paging.\n__Minimum server version__: 4.1\n##### Permissions\nMust have `read_user_access_token` permission. For non-self requests, must also have the `edit_other_users` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/users/tokens":{"get":{"tags":["Users"],"parameters":[{"name":"page","in":"query","description":"The page to select.","required":false,"schema":{"type":"number","example":""}},{"name":"per_page","in":"query","description":"The number of tokens per page.","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetUserAccessTokens","api_endpoint":"https://{site_url}/api/v4/users/tokens"},"summary":"Get user access tokens","description":"Get user access tokens | Get a page of user access tokens for users on the system. Does not include the actual authentication tokens. Use query parameters for paging.\n__Minimum server version__: 4.7\n##### Permissions\nMust have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/users/tokens/revoke":{"post":{"tags":["Users"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#RevokeUserAccessToken","api_endpoint":"https://{site_url}/api/v4/users/tokens/revoke"},"summary":"Revoke a user access token","description":"Revoke a user access token | Revoke a user access token and delete any sessions using the token.\n__Minimum server version__: 4.1\n##### Permissions\nMust have `revoke_user_access_token` permission. For non-self requests, must also have the `edit_other_users` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"token_id":{"type":"string","description":"The user access token GUID to revoke","required":true}}},"example":{"token_id":["string"]}}}}}},"/users/tokens/non_compliant/count":{"get":{"tags":["Users"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetNonCompliantUserAccessTokenCount","api_endpoint":"https://{site_url}/api/v4/users/tokens/non_compliant/count"},"summary":"Count non-compliant personal access tokens","description":"Count non-compliant personal access tokens | Count the active personal access tokens that violate the configured `ServiceSettings.MaximumPersonalAccessTokenLifetimeDays` policy (tokens that never expire or expire beyond the cap). Bot account tokens are exempt and never counted. Returns 0 when no maximum lifetime is configured.\n__Minimum server version__: 11.1\n##### Permissions\nMust have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/users/tokens/non_compliant/revoke":{"post":{"tags":["Users"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#RevokeNonCompliantUserAccessTokens","api_endpoint":"https://{site_url}/api/v4/users/tokens/non_compliant/revoke"},"summary":"Revoke non-compliant personal access tokens","description":"Revoke non-compliant personal access tokens | Revoke (hard-delete) every active personal access token that violates the configured `ServiceSettings.MaximumPersonalAccessTokenLifetimeDays` policy, along with any sessions created from them, and return the number of tokens revoked. Bot account tokens are exempt. The request is rejected with 400 when no maximum lifetime is configured, since there is nothing to revoke. This is irreversible; use `/users/tokens/non_compliant/count` first to preview the blast radius.\n__Minimum server version__: 11.1\n##### Permissions\nMust have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/users/tokens/{token_id}":{"get":{"tags":["Users"],"parameters":[{"name":"token_id","in":"path","description":"User access token GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetUserAccessToken","api_endpoint":"https://{site_url}/api/v4/users/tokens/{token_id}"},"summary":"Get a user access token","description":"Get a user access token | Get a user access token. Does not include the actual authentication token.\n__Minimum server version__: 4.1\n##### Permissions\nMust have `read_user_access_token` permission. For non-self requests, must also have the `edit_other_users` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/users/tokens/disable":{"post":{"tags":["Users"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#DisableUserAccessToken","api_endpoint":"https://{site_url}/api/v4/users/tokens/disable"},"summary":"Disable personal access token","description":"Disable personal access token | Disable a personal access token and delete any sessions using the token. The token can be re-enabled using `/users/tokens/enable`.\n__Minimum server version__: 4.4\n##### Permissions\nMust have `revoke_user_access_token` permission. For non-self requests, must also have the `edit_other_users` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"token_id":{"type":"string","description":"The personal access token GUID to disable","required":true}}},"example":{"token_id":["string"]}}}}}},"/users/tokens/enable":{"post":{"tags":["Users"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#EnableUserAccessToken","api_endpoint":"https://{site_url}/api/v4/users/tokens/enable"},"summary":"Enable personal access token","description":"Enable personal access token | Re-enable a personal access token that has been disabled.\n__Minimum server version__: 4.4\n##### Permissions\nMust have `create_user_access_token` permission. For non-self requests, must also have the `edit_other_users` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"token_id":{"type":"string","description":"The personal access token GUID to enable","required":true}}},"example":{"token_id":["string"]}}}}}},"/users/tokens/rotate":{"post":{"tags":["Users"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#RotateUserAccessToken","api_endpoint":"https://{site_url}/api/v4/users/tokens/rotate"},"summary":"Rotate a personal access token","description":"Rotate a personal access token | Generate a new secret for an existing personal access token, immediately invalidating the old secret and any sessions that used it. The response includes the new token secret (shown once, like token creation).\n__Minimum server version__: 10.10\n##### Permissions\nMust have `create_user_access_token` permission. For non-self requests, must also have the `edit_other_users` permission. To rotate a token belonging to a system admin, must also have the `manage_system` permission. OAuth sessions cannot use this endpoint. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"expires_at":{"type":"number","description":"New expiry for the token as a Unix timestamp in milliseconds. Use 0 for no expiry (subject to server policy)."},"token_id":{"type":"string","description":"The personal access token GUID to rotate","required":true}}},"example":{"expires_at":[0],"token_id":["string"]}}}}}},"/users/tokens/search":{"post":{"tags":["Users"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#SearchUserAccessTokens","api_endpoint":"https://{site_url}/api/v4/users/tokens/search"},"summary":"Search tokens","description":"Search tokens | Get a list of tokens based on search criteria provided in the request body. Searches are done against the token id, user id and username.\n__Minimum server version__: 4.7\n##### Permissions\nMust have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"term":{"type":"string","description":"The search term to match against the token id, user id or username.","required":true}}},"example":{"term":["string"]}}}}}},"/users/{user_id}/auth":{"put":{"tags":["Users"],"parameters":[{"name":"user_id","in":"path","description":"User GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UpdateUserAuth","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/auth"},"summary":"Update a user's authentication method","description":"Update a user's authentication method | Updates a user's authentication method. This can be used to change them to/from LDAP authentication for example.\nFor `auth_service` set to `email`, omit `auth_data`; this clears external authentication and switches the user to email authentication. For other authentication services, `auth_data` must be present and non-empty.\n__Minimum server version__: 4.6\n##### Permissions\nMust have the `edit_other_users` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"auth_data":{"type":"string","description":"Service-specific authentication data. Required and must be non-empty for external authentication services. Omit this field when `auth_service` is `email`."},"auth_service":{"type":"string","description":"The authentication service such as \"email\", \"gitlab\", or \"ldap\". Use \"email\" with omitted `auth_data` to clear external authentication.","required":true}}},"example":{"auth_data":["string"],"auth_service":["string"]}}}}}},"/users/{user_id}/terms_of_service":{"post":{"tags":["Users"],"parameters":[{"name":"user_id","in":"path","description":"User GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#RegisterTermsOfServiceAction","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/terms_of_service"},"summary":"Records user action when they accept or decline custom terms of service","description":"Records user action when they accept or decline custom terms of service | Records user action when they accept or decline custom terms of service. Records the action in audit table.\nUpdates user's last accepted terms of service ID if they accepted it.\n__Minimum server version__: 5.4\n##### Permissions\nMust be logged in as the user being acted on. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"accepted":{"type":"string","description":"true or false, indicates whether the user accepted or rejected the terms of service.","required":true},"serviceTermsId":{"type":"string","description":"terms of service ID on which the user is acting on","required":true}}},"example":{"accepted":["string"],"serviceTermsId":["string"]}}}}},"get":{"tags":["Users"],"parameters":[{"name":"user_id","in":"path","description":"User GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetUserTermsOfService","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/terms_of_service"},"summary":"Fetches user's latest terms of service action if the latest action was for acceptance.","description":"Fetches user's latest terms of service action if the latest action was for acceptance. | Will be deprecated in v6.0\nFetches user's latest terms of service action if the latest action was for acceptance.\n__Minimum server version__: 5.6\n##### Permissions\nMust be logged in as the user being acted on. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/users/sessions/revoke/all":{"post":{"tags":["Users"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#RevokeSessionsFromAllUsers","api_endpoint":"https://{site_url}/api/v4/users/sessions/revoke/all"},"summary":"Revoke all sessions from all users.","description":"Revoke all sessions from all users. | For any session currently on the server (including admin) it will be revoked.\nClients will be notified to log out users.\n__Minimum server version__: 5.14\n##### Permissions\nMust have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/users/{user_id}/typing":{"post":{"tags":["Users"],"parameters":[{"name":"user_id","in":"path","description":"User GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#PublishUserTyping","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/typing"},"summary":"Publish a user typing websocket event.","description":"Publish a user typing websocket event. | Notify users in the given channel via websocket that the given user is typing.\n__Minimum server version__: 5.26\n##### Permissions\nMust have `manage_system` permission to publish for any user other than oneself. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"channel_id":{"type":"string","description":"The id of the channel to which to direct the typing event.","required":true},"parent_id":{"type":"string","description":"The optional id of the root post of the thread to which the user is replying. If unset, the typing event is directed at the entire channel."}}},"example":{"channel_id":["string"],"parent_id":["string"]}}}}}},"/users/{user_id}/uploads":{"get":{"tags":["Users"],"parameters":[{"name":"user_id","in":"path","description":"The ID of the user. This can also be \"me\" which will point to the current user.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetUploadsForUser","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/uploads"},"summary":"Get uploads for a user","description":"Get uploads for a user | Gets all the upload sessions belonging to a user.\n__Minimum server version__: 5.28\n##### Permissions\nMust be logged in as the user who created the upload sessions. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/users/{user_id}/channel_members":{"get":{"tags":["Users"],"parameters":[{"name":"user_id","in":"path","description":"The ID of the user. This can also be \"me\" which will point to the current user.","required":true,"schema":{"type":"string","example":""}},{"name":"page","in":"query","description":"Page specifies which part of the results to return, by perPage.","required":false,"schema":{"type":"number","example":""}},{"name":"per_page","in":"query","description":"The size of the returned chunk of results.","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetChannelMembersWithTeamDataForUser","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/channel_members"},"summary":"Get all channel members from all teams for a user","description":"Get all channel members from all teams for a user | Get all channel members from all teams for a user.\n__Minimum server version__: 6.2.0\n##### Permissions\nLogged in as the user, or have `edit_other_users` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/users/migrate_auth/ldap":{"post":{"tags":["Users"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#MigrateAuthToLdap","api_endpoint":"https://{site_url}/api/v4/users/migrate_auth/ldap"},"summary":"Migrate user accounts authentication type to LDAP.","description":"Migrate user accounts authentication type to LDAP. | Migrates accounts from one authentication provider to another. For example, you can upgrade your authentication provider from email to LDAP.\n__Minimum server version__: 5.28\n##### Permissions\nMust have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"force":{"type":"boolean","description":"body.force (boolean field from the documented request schema)","required":true,"enum":[true,false]},"from":{"type":"string","description":"The current authentication type for the matched users.","required":true},"match_field":{"type":"string","description":"Foreign user field name to match.","required":true}}},"example":{"force":[false],"from":["string"],"match_field":["string"]}}}}}},"/users/migrate_auth/saml":{"post":{"tags":["Users"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#MigrateAuthToSaml","api_endpoint":"https://{site_url}/api/v4/users/migrate_auth/saml"},"summary":"Migrate user accounts authentication type to SAML.","description":"Migrate user accounts authentication type to SAML. | Migrates accounts from one authentication provider to another. For example, you can upgrade your authentication provider from email to SAML.\n__Minimum server version__: 5.28\n##### Permissions\nMust have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"auto":{"type":"boolean","description":"body.auto (boolean field from the documented request schema)","required":true,"enum":[true,false]},"from":{"type":"string","description":"The current authentication type for the matched users.","required":true},"matches":{"type":"object","description":"Users map.","required":true,"properties":{}}}},"example":{"auto":[false],"from":["string"],"matches":[{}]}}}}}},"/users/{user_id}/teams/{team_id}/threads":{"get":{"tags":["Threads"],"parameters":[{"name":"team_id","in":"path","description":"The ID of the team in which the thread is.","required":true,"schema":{"type":"string","example":""}},{"name":"user_id","in":"path","description":"The ID of the user. This can also be \"me\" which will point to the current user.","required":true,"schema":{"type":"string","example":""}},{"name":"deleted","in":"query","description":"Deleted will specify that even deleted threads should be returned (For mobile sync).","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"extended","in":"query","description":"Extended will enrich the response with participant details.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"page","in":"query","description":"Page specifies which part of the results to return, by per_page.","required":false,"schema":{"type":"number","example":""}},{"name":"per_page","in":"query","description":"The size of the returned chunk of results.","required":false,"schema":{"type":"number","example":""}},{"name":"since","in":"query","description":"Since filters the threads based on their LastUpdateAt timestamp.","required":false,"schema":{"type":"number","example":""}},{"name":"threadsOnly","in":"query","description":"Setting this to true will only return threads.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"totalsOnly","in":"query","description":"Setting this to true will only return the total counts.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetUserThreads","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/teams/{team_id}/threads"},"summary":"Get all threads that user is following","description":"Get all threads that user is following | Get all threads that user is following\n__Minimum server version__: 5.29\n##### Permissions\nMust be logged in as the user or have `edit_other_users` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/users/{user_id}/teams/{team_id}/read":{"put":{"tags":["Channels"],"parameters":[{"name":"team_id","in":"path","description":"Team ID to mark all channels as read in","required":true,"schema":{"type":"string","example":""}},{"name":"user_id","in":"path","description":"User ID to mark channels as read for","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#MarkAllTeamChannelsRead","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/teams/{team_id}/read"},"summary":"Mark all channels and threads in a team as read","description":"Mark all channels and threads in a team as read | Mark all channels and threads in a team as read for a user.\n##### Permissions\nMust be logged in as user or have `edit_other_users` permission. Must have `view_team` permission for the team.\n__Minimum server version__: 11.3 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/users/{user_id}/teams/{team_id}/threads/read":{"put":{"tags":["Threads"],"parameters":[{"name":"team_id","in":"path","description":"The ID of the team in which the thread is.","required":true,"schema":{"type":"string","example":""}},{"name":"user_id","in":"path","description":"The ID of the user. This can also be \"me\" which will point to the current user.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UpdateThreadsReadForUser","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/teams/{team_id}/threads/read"},"summary":"Mark all threads that user is following as read","description":"Mark all threads that user is following as read | Mark all threads that user is following as read\n__Minimum server version__: 5.29\n##### Permissions\nMust be logged in as the user or have `edit_other_users` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/users/{user_id}/teams/{team_id}/threads/{thread_id}/read/{timestamp}":{"put":{"tags":["Threads"],"parameters":[{"name":"team_id","in":"path","description":"The ID of the team in which the thread is.","required":true,"schema":{"type":"string","example":""}},{"name":"thread_id","in":"path","description":"The ID of the thread to update","required":true,"schema":{"type":"string","example":""}},{"name":"timestamp","in":"path","description":"The timestamp to which the thread's \"last read\" state will be reset.","required":true,"schema":{"type":"string","example":""}},{"name":"user_id","in":"path","description":"The ID of the user. This can also be \"me\" which will point to the current user.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UpdateThreadReadForUser","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/teams/{team_id}/threads/{thread_id}/read/{timestamp}"},"summary":"Mark a thread that user is following read state to the timestamp","description":"Mark a thread that user is following read state to the timestamp | Mark a thread that user is following as read\n__Minimum server version__: 5.29\n##### Permissions\nMust be logged in as the user or have `edit_other_users` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/users/{user_id}/teams/{team_id}/threads/{thread_id}/set_unread/{post_id}":{"post":{"tags":["Threads"],"parameters":[{"name":"post_id","in":"path","description":"The ID of a post belonging to the thread to mark as unread.","required":true,"schema":{"type":"string","example":""}},{"name":"team_id","in":"path","description":"The ID of the team in which the thread is.","required":true,"schema":{"type":"string","example":""}},{"name":"thread_id","in":"path","description":"The ID of the thread to update","required":true,"schema":{"type":"string","example":""}},{"name":"user_id","in":"path","description":"The ID of the user. This can also be \"me\" which will point to the current user.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#SetThreadUnreadByPostId","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/teams/{team_id}/threads/{thread_id}/set_unread/{post_id}"},"summary":"Mark a thread that user is following as unread based on a post id","description":"Mark a thread that user is following as unread based on a post id | Mark a thread that user is following as unread\n__Minimum server version__: 6.7\n##### Permissions\nMust have `read_channel` permission for the channel the thread is in or if the channel is public, have the `read_public_channels` permission for the team.\nMust have `edit_other_users` permission if the user is not the one marking the thread for himself. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/users/{user_id}/teams/{team_id}/threads/{thread_id}/following":{"put":{"tags":["Threads"],"parameters":[{"name":"team_id","in":"path","description":"The ID of the team in which the thread is.","required":true,"schema":{"type":"string","example":""}},{"name":"thread_id","in":"path","description":"The ID of the thread to follow","required":true,"schema":{"type":"string","example":""}},{"name":"user_id","in":"path","description":"The ID of the user. This can also be \"me\" which will point to the current user.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#StartFollowingThread","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/teams/{team_id}/threads/{thread_id}/following"},"summary":"Start following a thread","description":"Start following a thread | Start following a thread\n__Minimum server version__: 5.29\n##### Permissions\nMust be logged in as the user or have `edit_other_users` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}},"delete":{"tags":["Threads"],"parameters":[{"name":"team_id","in":"path","description":"The ID of the team in which the thread is.","required":true,"schema":{"type":"string","example":""}},{"name":"thread_id","in":"path","description":"The ID of the thread to update","required":true,"schema":{"type":"string","example":""}},{"name":"user_id","in":"path","description":"The ID of the user. This can also be \"me\" which will point to the current user.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#StopFollowingThread","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/teams/{team_id}/threads/{thread_id}/following"},"summary":"Stop following a thread","description":"Stop following a thread | Stop following a thread\n__Minimum server version__: 5.29\n##### Permissions\nMust be logged in as the user or have `edit_other_users` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/users/{user_id}/teams/{team_id}/threads/{thread_id}":{"get":{"tags":["Threads"],"parameters":[{"name":"team_id","in":"path","description":"The ID of the team in which the thread is.","required":true,"schema":{"type":"string","example":""}},{"name":"thread_id","in":"path","description":"The ID of the thread to follow","required":true,"schema":{"type":"string","example":""}},{"name":"user_id","in":"path","description":"The ID of the user. This can also be \"me\" which will point to the current user.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetUserThread","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/teams/{team_id}/threads/{thread_id}"},"summary":"Get a thread followed by the user","description":"Get a thread followed by the user | Get a thread\n__Minimum server version__: 5.29\n##### Permissions\nMust be logged in as the user or have `edit_other_users` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/drafts":{"post":{"tags":["Users"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UpsertDraft","api_endpoint":"https://{site_url}/api/v4/drafts"},"summary":"Upsert synced draft","description":"Upsert synced draft | Create or update a synced draft for the current user.\n##### Permissions\nMust be authenticated, have permission to create posts in the channel, and synced drafts must be enabled. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"type":{"type":"string","description":"body.type (string field from the documented request schema)"},"channel_id":{"type":"string","description":"body.channel_id (string field from the documented request schema)","required":true},"file_ids":{"type":"array","description":"body.file_ids (array field from the documented request schema)","items":{"type":"string"}},"message":{"type":"string","description":"Draft message. Set to an empty string to delete the draft.","required":true},"priority":{"type":"object","description":"Priority metadata associated with a post or draft.","properties":{"persistent_notifications":{"type":"boolean","description":"Whether persistent notifications are enabled for the post.","enum":[true,false]},"priority":{"type":"string","description":"The priority label of a post, either empty, important, or urgent."},"requested_ack":{"type":"boolean","description":"Whether the post author has requested acknowledgements.","enum":[true,false]}}},"props":{"type":"object","description":"body.props (object field from the documented request schema)","properties":{}},"root_id":{"type":"string","description":"body.root_id (string field from the documented request schema)"}}},"example":{"type":["string"],"channel_id":["string"],"file_ids":[["string"]],"message":["string"],"priority":[{"persistent_notifications":false,"priority":"","requested_ack":false}],"props":[{}],"root_id":["string"]}}}}}},"/users/{user_id}/teams/{team_id}/drafts":{"get":{"tags":["Users"],"parameters":[{"name":"team_id","in":"path","description":"Team ID","required":true,"schema":{"type":"string","example":""}},{"name":"user_id","in":"path","description":"User ID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetDrafts","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/teams/{team_id}/drafts"},"summary":"Get synced drafts for a team","description":"Get synced drafts for a team | Get synced drafts for the current user in a team.\n##### Permissions\nMust have `view_team` permission for the team and synced drafts must be enabled. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/users/{user_id}/channels/{channel_id}/drafts":{"delete":{"tags":["Users"],"parameters":[{"name":"channel_id","in":"path","description":"Channel ID","required":true,"schema":{"type":"string","example":""}},{"name":"user_id","in":"path","description":"User ID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#DeleteDraft","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/channels/{channel_id}/drafts"},"summary":"Delete synced draft","description":"Delete synced draft | Delete a synced draft for a channel.\n##### Permissions\nMust be authenticated as the draft owner and synced drafts must be enabled. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/users/{user_id}/channels/{channel_id}/drafts/{thread_id}":{"delete":{"tags":["Users"],"parameters":[{"name":"channel_id","in":"path","description":"Channel ID","required":true,"schema":{"type":"string","example":""}},{"name":"thread_id","in":"path","description":"Root post ID of the thread","required":true,"schema":{"type":"string","example":""}},{"name":"user_id","in":"path","description":"User ID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#DeleteDraftForThread","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/channels/{channel_id}/drafts/{thread_id}"},"summary":"Delete synced thread draft","description":"Delete synced thread draft | Delete a synced draft for a channel thread.\n##### Permissions\nMust be authenticated as the draft owner and synced drafts must be enabled. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/users/{user_id}/data_retention/team_policies":{"get":{"tags":["Data Retention"],"parameters":[{"name":"user_id","in":"path","description":"The ID of the user. This can also be \"me\" which will point to the current user.","required":true,"schema":{"type":"string","example":""}},{"name":"page","in":"query","description":"The page to select.","required":false,"schema":{"type":"number","example":""}},{"name":"per_page","in":"query","description":"The number of policies per page.","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetTeamPoliciesForUser","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/data_retention/team_policies"},"summary":"Get the policies which are applied to a user's teams","description":"Get the policies which are applied to a user's teams | Gets the policies which are applied to the all of the teams to which a user belongs.\n__Minimum server version__: 5.35\n##### Permissions\nMust be logged in as the user or have the `manage_system` permission.\n##### License\nRequires an E20 license. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/users/{user_id}/data_retention/channel_policies":{"get":{"tags":["Data Retention"],"parameters":[{"name":"user_id","in":"path","description":"The ID of the user. This can also be \"me\" which will point to the current user.","required":true,"schema":{"type":"string","example":""}},{"name":"page","in":"query","description":"The page to select.","required":false,"schema":{"type":"number","example":""}},{"name":"per_page","in":"query","description":"The number of policies per page.","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetChannelPoliciesForUser","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/data_retention/channel_policies"},"summary":"Get the policies which are applied to a user's channels","description":"Get the policies which are applied to a user's channels | Gets the policies which are applied to the all of the channels to which a user belongs.\n__Minimum server version__: 5.35\n##### Permissions\nMust be logged in as the user or have the `manage_system` permission.\n##### License\nRequires an E20 license. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/users/invalid_emails":{"get":{"tags":["Users"],"parameters":[{"name":"page","in":"query","description":"The page to select.","required":false,"schema":{"type":"number","example":""}},{"name":"per_page","in":"query","description":"The number of users per page.","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetUsersWithInvalidEmails","api_endpoint":"https://{site_url}/api/v4/users/invalid_emails"},"summary":"Get users with invalid emails","description":"Get users with invalid emails | Get users whose emails are considered invalid.\nIt is an error to invoke this API if your team settings enable an open server.\n##### Permissions\nRequires `sysconsole_read_user_management_users`. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/users/{user_id}/reset_failed_attempts":{"post":{"tags":["Users"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#resetPasswordFailedAttempts","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/reset_failed_attempts"},"summary":"Reset the failed password attempts for a user","description":"Reset the failed password attempts for a user | Reset the FailedAttempts field for a user to 0. This will only work for ldap and email/password users.\n##### Permissions\nRequires `sysconsole_write_user_management_users` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/users/{user_id}/status":{"get":{"tags":["Status"],"parameters":[{"name":"user_id","in":"path","description":"User ID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetUserStatus","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/status"},"summary":"Get user status","description":"Get user status | Get user status by id from the server.\n##### Permissions\nMust be authenticated. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]},"put":{"tags":["Status"],"parameters":[{"name":"user_id","in":"path","description":"User ID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UpdateUserStatus","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/status"},"summary":"Update user status","description":"Update user status | Manually set a user's status. When setting a user's status, the status will remain that value until set \"online\" again, which will return the status to being automatically updated based on user activity.\n##### Permissions\nMust have `edit_other_users` permission for the team. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"dnd_end_time":{"type":"number","description":"Time in epoch seconds at which a dnd status would be unset."},"status":{"type":"string","description":"User status, can be `online`, `away`, `offline` and `dnd`","required":true},"user_id":{"type":"string","description":"User ID","required":true}}},"example":{"dnd_end_time":[0],"status":["string"],"user_id":["string"]}}}}}},"/users/status/ids":{"post":{"tags":["Status"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetUsersStatusesByIds","api_endpoint":"https://{site_url}/api/v4/users/status/ids"},"summary":"Get user statuses by id","description":"Get user statuses by id | Get a list of user statuses by id from the server.\n##### Permissions\nMust be authenticated. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"body":{"type":"array","description":"body (request body parameter from the official API reference)","items":{"type":"string"}}}},"example":{"body":[["string"]]}}}}}},"/users/{user_id}/status/custom":{"put":{"tags":["Status"],"parameters":[{"name":"user_id","in":"path","description":"User ID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UpdateUserCustomStatus","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/status/custom"},"summary":"Update user custom status","description":"Update user custom status | Updates a user's custom status by setting the value in the user's props and updates the user. Also save the given custom status to the recent custom statuses in the user's props\n##### Permissions\nMust be logged in as the user whose custom status is being updated. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"text":{"type":"string","description":"Any custom status text","required":true},"duration":{"type":"string","description":"Duration of custom status, can be `thirty_minutes`, `one_hour`, `four_hours`, `today`, `this_week` or `date_and_time`"},"emoji":{"type":"string","description":"Any emoji","required":true},"expires_at":{"type":"string","description":"The time at which custom status should be expired. It should be in ISO format."}}},"example":{"text":["string"],"duration":["string"],"emoji":["string"],"expires_at":["string"]}}}}},"delete":{"tags":["Status"],"parameters":[{"name":"user_id","in":"path","description":"User ID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UnsetUserCustomStatus","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/status/custom"},"summary":"Unsets user custom status","description":"Unsets user custom status | Unsets a user's custom status by updating the user's props and updates the user\n##### Permissions\nMust be logged in as the user whose custom status is being removed. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/users/{user_id}/status/custom/recent":{"delete":{"tags":["Status"],"parameters":[{"name":"user_id","in":"path","description":"User ID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#RemoveRecentCustomStatus","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/status/custom/recent"},"summary":"Delete user's recent custom status","description":"Delete user's recent custom status | Deletes a user's recent custom status by removing the specific status from the recentCustomStatuses in the user's props and updates the user.\n##### Permissions\nMust be logged in as the user whose recent custom status is being deleted. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"text":{"type":"string","description":"Any custom status text","required":true},"duration":{"type":"string","description":"Duration of custom status, can be `thirty_minutes`, `one_hour`, `four_hours`, `today`, `this_week` or `date_and_time`","required":true},"emoji":{"type":"string","description":"Any emoji","required":true},"expires_at":{"type":"string","description":"The time at which custom status should be expired. It should be in ISO format.","required":true}}},"example":{"text":["string"],"duration":["string"],"emoji":["string"],"expires_at":["string"]}}}}}},"/users/{user_id}/status/custom/recent/delete":{"post":{"tags":["Status"],"parameters":[{"name":"user_id","in":"path","description":"User ID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#PostUserRecentCustomStatusDelete","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/status/custom/recent/delete"},"summary":"Delete user's recent custom status","description":"Delete user's recent custom status | Deletes a user's recent custom status by removing the specific status from the recentCustomStatuses in the user's props and updates the user.\n##### Permissions\nMust be logged in as the user whose recent custom status is being deleted. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"text":{"type":"string","description":"Any custom status text","required":true},"duration":{"type":"string","description":"Duration of custom status, can be `thirty_minutes`, `one_hour`, `four_hours`, `today`, `this_week` or `date_and_time`","required":true},"emoji":{"type":"string","description":"Any emoji","required":true},"expires_at":{"type":"string","description":"The time at which custom status should be expired. It should be in ISO format.","required":true}}},"example":{"text":["string"],"duration":["string"],"emoji":["string"],"expires_at":["string"]}}}}}},"/teams":{"post":{"tags":["Teams"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#CreateTeam","api_endpoint":"https://{site_url}/api/v4/teams"},"summary":"Create a team","description":"Create a team | Create a new team on the system.\n##### Permissions\nMust be authenticated and have the `create_team` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"type":{"type":"string","description":"`'O'` for open, `'I'` for invite only","required":true},"display_name":{"type":"string","description":"Non-unique UI name for the team","required":true},"name":{"type":"string","description":"Unique handler for a team, will be present in the team URL","required":true}}},"example":{"type":["string"],"display_name":["string"],"name":["string"]}}}}},"get":{"tags":["Teams"],"parameters":[{"name":"exclude_policy_constrained","in":"query","description":"If set to true, teams which are part of a data retention policy will be excluded. The `sysconsole_read_compliance` permission is required to use this parameter.\n__Minimum server version__: 5.35","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"include_total_count","in":"query","description":"Appends a total count of returned teams inside the response object - ex: `{ \"teams\": [], \"total_count\" : 0 }`.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"page","in":"query","description":"The page to select.","required":false,"schema":{"type":"number","example":""}},{"name":"per_page","in":"query","description":"The number of teams per page.","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetAllTeams","api_endpoint":"https://{site_url}/api/v4/teams"},"summary":"Get teams","description":"Get teams | For regular users only returns open teams. Users with the \"manage_system\" permission will return teams regardless of type. The result is based on query string parameters - page and per_page.\n##### Permissions\nMust be authenticated. \"manage_system\" permission is required to show all teams. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/teams/{team_id}":{"get":{"tags":["Teams"],"parameters":[{"name":"team_id","in":"path","description":"Team GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetTeam","api_endpoint":"https://{site_url}/api/v4/teams/{team_id}"},"summary":"Get a team","description":"Get a team | Get a team on the system.\n##### Permissions\nMust be authenticated and have the `view_team` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]},"put":{"tags":["Teams"],"parameters":[{"name":"team_id","in":"path","description":"Team GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UpdateTeam","api_endpoint":"https://{site_url}/api/v4/teams/{team_id}"},"summary":"Update a team","description":"Update a team | Update a team by providing the team object. The fields that can be updated are defined in the request body, all other provided fields will be ignored.\n##### Permissions\nMust have the `manage_team` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"allow_open_invite":{"type":"string","description":"body.allow_open_invite (string field from the documented request schema)","required":true},"allowed_domains":{"type":"string","description":"body.allowed_domains (string field from the documented request schema)","required":true},"company_name":{"type":"string","description":"body.company_name (string field from the documented request schema)","required":true},"description":{"type":"string","description":"body.description (string field from the documented request schema)","required":true},"display_name":{"type":"string","description":"body.display_name (string field from the documented request schema)","required":true},"id":{"type":"string","description":"body.id (string field from the documented request schema)","required":true},"invite_id":{"type":"string","description":"body.invite_id (string field from the documented request schema)","required":true}}},"example":{"allow_open_invite":["string"],"allowed_domains":["string"],"company_name":["string"],"description":["string"],"display_name":["string"],"id":["string"],"invite_id":["string"]}}}}},"delete":{"tags":["Teams"],"parameters":[{"name":"team_id","in":"path","description":"Team GUID","required":true,"schema":{"type":"string","example":""}},{"name":"permanent","in":"query","description":"Permanently delete the team, to be used for compliance reasons only. As of server version 5.0, `ServiceSettings.EnableAPITeamDeletion` must be set to `true` in the server's configuration.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#SoftDeleteTeam","api_endpoint":"https://{site_url}/api/v4/teams/{team_id}"},"summary":"Delete a team","description":"Delete a team | Soft deletes a team, by marking the team as deleted in the database. Soft deleted teams will not be accessible in the user interface.\nOptionally use the permanent query parameter to hard delete the team for compliance reasons. As of server version 5.0, to use this feature `ServiceSettings.EnableAPITeamDeletion` must be set to `true` in the server's configuration.\n##### Permissions\nMust have the `manage_team` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/teams/{team_id}/patch":{"put":{"tags":["Teams"],"parameters":[{"name":"team_id","in":"path","description":"Team GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#PatchTeam","api_endpoint":"https://{site_url}/api/v4/teams/{team_id}/patch"},"summary":"Patch a team","description":"Patch a team | Partially update a team by providing only the fields you want to update. Omitted fields will not be updated. The fields that can be updated are defined in the request body, all other provided fields will be ignored.\n##### Permissions\nMust have the `manage_team` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"allow_open_invite":{"type":"boolean","description":"body.allow_open_invite (boolean field from the documented request schema)","enum":[true,false]},"company_name":{"type":"string","description":"body.company_name (string field from the documented request schema)"},"description":{"type":"string","description":"body.description (string field from the documented request schema)"},"display_name":{"type":"string","description":"body.display_name (string field from the documented request schema)"},"invite_id":{"type":"string","description":"body.invite_id (string field from the documented request schema)"}}},"example":{"allow_open_invite":[false],"company_name":["string"],"description":["string"],"display_name":["string"],"invite_id":["string"]}}}}}},"/teams/{team_id}/privacy":{"put":{"tags":["Teams"],"parameters":[{"name":"team_id","in":"path","description":"Team GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UpdateTeamPrivacy","api_endpoint":"https://{site_url}/api/v4/teams/{team_id}/privacy"},"summary":"Update teams's privacy","description":"Update teams's privacy | Updates team's privacy allowing changing a team from Public (open) to Private (invitation only) and back.\n__Minimum server version__: 5.24\n##### Permissions\n`manage_team` permission for the team of the team. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"privacy":{"type":"string","description":"Team privacy setting: 'O' for a public (open) team, 'I' for a private (invitation only) team","required":true}}},"example":{"privacy":["string"]}}}}}},"/teams/{team_id}/restore":{"post":{"tags":["Teams"],"parameters":[{"name":"team_id","in":"path","description":"Team GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#RestoreTeam","api_endpoint":"https://{site_url}/api/v4/teams/{team_id}/restore"},"summary":"Restore a team","description":"Restore a team | Restore a team that was previously soft deleted.\n__Minimum server version__: 5.24\n##### Permissions\nMust have the `manage_team` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/teams/name/{team_name}":{"get":{"tags":["Teams"],"parameters":[{"name":"team_name","in":"path","description":"Team Name","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetTeamByName","api_endpoint":"https://{site_url}/api/v4/teams/name/{team_name}"},"summary":"Get a team by name","description":"Get a team by name | Get a team based on provided name string\n##### Permissions\nMust be authenticated, team type is open and have the `view_team` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/teams/search":{"post":{"tags":["Teams"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#SearchTeams","api_endpoint":"https://{site_url}/api/v4/teams/search"},"summary":"Search teams","description":"Search teams | Search teams based on search term and options provided in the request body.\n##### Permissions\nLogged in user only shows open teams\nLogged in user with \"manage_system\" permission shows all teams | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"allow_open_invite":{"type":"boolean","description":"Filters results to teams where `allow_open_invite` is set to true or false, excludes group constrained channels if this filter option is passed.\nIf this filter option is not passed then the query will remain unchanged.\n__Minimum server version__: 5.28","enum":[true,false]},"exclude_policy_constrained":{"type":"boolean","description":"If set to true, only teams which do not have a granular retention policy assigned to them will be returned. The `sysconsole_read_compliance_data_retention` permission is required to use this parameter.\n__Minimum server version__: 5.35","enum":[true,false]},"group_constrained":{"type":"boolean","description":"Filters results to teams where `group_constrained` is set to true or false, returns the union of results when used with `allow_open_invite`\nIf the filter option is not passed then the query will remain unchanged.\n__Minimum server version__: 5.28","enum":[true,false]},"page":{"type":"string","description":"The page number to return, if paginated. If this parameter is not present with the `per_page` parameter then the results will be returned un-paged."},"per_page":{"type":"string","description":"The number of entries to return per page, if paginated. If this parameter is not present with the `page` parameter then the results will be returned un-paged."},"term":{"type":"string","description":"The search term to match against the name or display name of teams"}}},"example":{"allow_open_invite":[false],"exclude_policy_constrained":[false],"group_constrained":[false],"page":["string"],"per_page":["string"],"term":["string"]}}}}}},"/teams/name/{team_name}/exists":{"get":{"tags":["Teams"],"parameters":[{"name":"team_name","in":"path","description":"Team Name","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#TeamExists","api_endpoint":"https://{site_url}/api/v4/teams/name/{team_name}/exists"},"summary":"Check if team exists","description":"Check if team exists | Check if the team exists based on a team name.\n##### Permissions\nMust be authenticated. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/users/{user_id}/teams":{"get":{"tags":["Teams"],"parameters":[{"name":"user_id","in":"path","description":"User GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetTeamsForUser","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/teams"},"summary":"Get a user's teams","description":"Get a user's teams | Get a list of teams that a user is on.\n##### Permissions\nMust be authenticated as the user or have the `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/teams/{team_id}/members":{"get":{"tags":["Teams"],"parameters":[{"name":"team_id","in":"path","description":"Team GUID","required":true,"schema":{"type":"string","example":""}},{"name":"exclude_deleted_users","in":"query","description":"Excludes deleted users from the results","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"page","in":"query","description":"The page to select.","required":false,"schema":{"type":"number","example":""}},{"name":"per_page","in":"query","description":"The number of users per page.","required":false,"schema":{"type":"number","example":""}},{"name":"sort","in":"query","description":"To sort by Username, set to 'Username', otherwise sort is by 'UserID'","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetTeamMembers","api_endpoint":"https://{site_url}/api/v4/teams/{team_id}/members"},"summary":"Get team members","description":"Get team members | Get a page team members list based on query string parameters - team id, page and per page.\n##### Permissions\nMust be authenticated and have the `view_team` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]},"post":{"tags":["Teams"],"parameters":[{"name":"team_id","in":"path","description":"Team GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#AddTeamMember","api_endpoint":"https://{site_url}/api/v4/teams/{team_id}/members"},"summary":"Add user to team","description":"Add user to team | Add user to the team by user_id.\n##### Permissions\nMust be authenticated and team be open to add self. For adding another user, authenticated user must have the `add_user_to_team` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"team_id":{"type":"string","description":"body.team_id (string field from the documented request schema)"},"user_id":{"type":"string","description":"body.user_id (string field from the documented request schema)"}}},"example":{"team_id":["string"],"user_id":["string"]}}}}}},"/teams/members/invite":{"post":{"tags":["Teams"],"parameters":[{"name":"token","in":"query","description":"Token id from the invitation","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#AddTeamMemberFromInvite","api_endpoint":"https://{site_url}/api/v4/teams/members/invite"},"summary":"Add user to team from invite","description":"Add user to team from invite | Using either an invite id or hash/data pair from an email invite link, add a user to a team.\n##### Permissions\nMust be authenticated. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/teams/{team_id}/members/batch":{"post":{"tags":["Teams"],"parameters":[{"name":"team_id","in":"path","description":"Team GUID","required":true,"schema":{"type":"string","example":""}},{"name":"graceful","in":"query","description":"Instead of aborting the operation if a user cannot be added, return an arrray that will contain both the success and added members and the ones with error, in form of `[{\"member\": {...}, \"user_id\", \"...\", \"error\": {...}}]`","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#AddTeamMembers","api_endpoint":"https://{site_url}/api/v4/teams/{team_id}/members/batch"},"summary":"Add multiple users to team","description":"Add multiple users to team | Add a number of users to the team by user_id.\n##### Permissions\nMust be authenticated. Authenticated user must have the `add_user_to_team` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"body":{"type":"array","description":"body (request body parameter from the official API reference)","items":{"type":"object","properties":{"delete_at":{"type":"number","description":"The time in milliseconds that this team member was deleted."},"explicit_roles":{"type":"string","description":"The list of roles explicitly assigned to this team member, as a space separated list of role names. This list does *not* include any roles granted implicitly through permissions schemes."},"roles":{"type":"string","description":"The complete list of roles assigned to this team member, as a space-separated list of role names, including any roles granted implicitly through permissions schemes."},"scheme_admin":{"type":"boolean","description":"Whether this team member holds the default admin role defined by the team's permissions scheme.","enum":[true,false]},"scheme_user":{"type":"boolean","description":"Whether this team member holds the default user role defined by the team's permissions scheme.","enum":[true,false]},"team_id":{"type":"string","description":"The ID of the team this member belongs to."},"user_id":{"type":"string","description":"The ID of the user this member relates to."}}}}}},"example":{"body":[[{"delete_at":0,"explicit_roles":"string","roles":"string","scheme_admin":false,"scheme_user":false,"team_id":"string","user_id":"string"}]]}}}}}},"/users/{user_id}/teams/members":{"get":{"tags":["Teams"],"parameters":[{"name":"user_id","in":"path","description":"User GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetTeamMembersForUser","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/teams/members"},"summary":"Get team members for a user","description":"Get team members for a user | Get a list of team members for a user. Useful for getting the ids of teams the user is on and the roles they have in those teams.\n##### Permissions\nMust be logged in as the user or have the `edit_other_users` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/teams/{team_id}/members/{user_id}":{"get":{"tags":["Teams"],"parameters":[{"name":"team_id","in":"path","description":"Team GUID","required":true,"schema":{"type":"string","example":""}},{"name":"user_id","in":"path","description":"User GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetTeamMember","api_endpoint":"https://{site_url}/api/v4/teams/{team_id}/members/{user_id}"},"summary":"Get a team member","description":"Get a team member | Get a team member on the system.\n##### Permissions\nMust be authenticated and have the `view_team` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]},"delete":{"tags":["Teams"],"parameters":[{"name":"team_id","in":"path","description":"Team GUID","required":true,"schema":{"type":"string","example":""}},{"name":"user_id","in":"path","description":"User GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#RemoveTeamMember","api_endpoint":"https://{site_url}/api/v4/teams/{team_id}/members/{user_id}"},"summary":"Remove user from team","description":"Remove user from team | Delete the team member object for a user, effectively removing them from a team.\n##### Permissions\nMust be logged in as the user or have the `remove_user_from_team` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/teams/{team_id}/members/ids":{"post":{"tags":["Teams"],"parameters":[{"name":"team_id","in":"path","description":"Team GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetTeamMembersByIds","api_endpoint":"https://{site_url}/api/v4/teams/{team_id}/members/ids"},"summary":"Get team members by ids","description":"Get team members by ids | Get a list of team members based on a provided array of user ids.\n##### Permissions\nMust have `view_team` permission for the team. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"body":{"type":"array","description":"body (request body parameter from the official API reference)","items":{"type":"string"}}}},"example":{"body":[["string"]]}}}}}},"/teams/{team_id}/stats":{"get":{"tags":["Teams"],"parameters":[{"name":"team_id","in":"path","description":"Team GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetTeamStats","api_endpoint":"https://{site_url}/api/v4/teams/{team_id}/stats"},"summary":"Get a team stats","description":"Get a team stats | Get a team stats on the system.\n##### Permissions\nMust be authenticated and have the `view_team` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/teams/{team_id}/access_control/policy":{"get":{"tags":["Teams"],"parameters":[{"name":"team_id","in":"path","description":"Team GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetTeamAccessControlPolicy","api_endpoint":"https://{site_url}/api/v4/teams/{team_id}/access_control/policy"},"summary":"Get the access control policy for a team","description":"Get the access control policy for a team | Get the attribute-based access control policy assigned to a team, along\nwith whether the team currently enforces a membership policy. `policy` is\nnull when no policy is assigned or attribute-based access control is not\navailable on the server.\n##### Permissions\nMust have the `manage_system` permission or the `manage_team_access_rules`\npermission for the team. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/teams/{team_id}/access_control/attributes":{"get":{"tags":["Teams"],"parameters":[{"name":"team_id","in":"path","description":"Team GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetTeamAccessControlAttributes","api_endpoint":"https://{site_url}/api/v4/teams/{team_id}/access_control/attributes"},"summary":"Get the access control attributes governing a team","description":"Get the access control attributes governing a team | Get the attributes used by the team's membership access control policy,\nas a map of attribute name to the values that satisfy the rule. This lets\nmembership surfaces explain the requirement to join the team. Values that\nare source-only or shared-only are stripped, so no sensitive value is\ndisclosed. The map is empty when no membership policy governs the team.\n##### Permissions\nMust have the `view_team` permission for the team. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/teams/{team_id}/regenerate_invite_id":{"post":{"tags":["Teams"],"parameters":[{"name":"team_id","in":"path","description":"Team GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#RegenerateTeamInviteId","api_endpoint":"https://{site_url}/api/v4/teams/{team_id}/regenerate_invite_id"},"summary":"Regenerate the Invite ID from a Team","description":"Regenerate the Invite ID from a Team | Regenerates the invite ID used in invite links of a team\n##### Permissions\nMust be authenticated and have the `manage_team` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/teams/{team_id}/image":{"get":{"tags":["Teams"],"parameters":[{"name":"team_id","in":"path","description":"Team GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetTeamIcon","api_endpoint":"https://{site_url}/api/v4/teams/{team_id}/image"},"summary":"Get the team icon","description":"Get the team icon | Get the team icon of the team.\n__Minimum server version__: 4.9\n##### Permissions\nUser must be authenticated. In addition, team must be open or the user must have the `view_team` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]},"post":{"tags":["Teams"],"parameters":[{"name":"team_id","in":"path","description":"Team GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#SetTeamIcon","api_endpoint":"https://{site_url}/api/v4/teams/{team_id}/image"},"summary":"Sets the team icon","description":"Sets the team icon | Sets the team icon for the team.\n__Minimum server version__: 4.9\n##### Permissions\nMust be authenticated and have the `manage_team` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"image":{"type":"string","description":"The image to be uploaded","required":true}}},"example":{"image":["string"]}}}}},"delete":{"tags":["Teams"],"parameters":[{"name":"team_id","in":"path","description":"Team GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#RemoveTeamIcon","api_endpoint":"https://{site_url}/api/v4/teams/{team_id}/image"},"summary":"Remove the team icon","description":"Remove the team icon | Remove the team icon for the team.\n__Minimum server version__: 4.10\n##### Permissions\nMust be authenticated and have the `manage_team` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/teams/{team_id}/members/{user_id}/roles":{"put":{"tags":["Teams"],"parameters":[{"name":"team_id","in":"path","description":"Team GUID","required":true,"schema":{"type":"string","example":""}},{"name":"user_id","in":"path","description":"User GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UpdateTeamMemberRoles","api_endpoint":"https://{site_url}/api/v4/teams/{team_id}/members/{user_id}/roles"},"summary":"Update a team member roles","description":"Update a team member roles | Update a team member roles. Valid team roles are \"team_user\", \"team_admin\" or both of them. Overwrites any previously assigned team roles.\n##### Permissions\nMust be authenticated and have the `manage_team_roles` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"roles":{"type":"string","description":"body.roles (string field from the documented request schema)","required":true}}},"example":{"roles":["string"]}}}}}},"/teams/{team_id}/members/{user_id}/schemeRoles":{"put":{"tags":["Teams"],"parameters":[{"name":"team_id","in":"path","description":"Team GUID","required":true,"schema":{"type":"string","example":""}},{"name":"user_id","in":"path","description":"User GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UpdateTeamMemberSchemeRoles","api_endpoint":"https://{site_url}/api/v4/teams/{team_id}/members/{user_id}/schemeRoles"},"summary":"Update the scheme-derived roles of a team member.","description":"Update the scheme-derived roles of a team member. | Update a team member's scheme_admin/scheme_user properties. Typically this should either be `scheme_admin=false, scheme_user=true` for ordinary team member, or `scheme_admin=true, scheme_user=true` for a team admin.\n__Minimum server version__: 5.0\n##### Permissions\nMust be authenticated and have the `manage_team_roles` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"scheme_admin":{"type":"boolean","description":"body.scheme_admin (boolean field from the documented request schema)","required":true,"enum":[true,false]},"scheme_user":{"type":"boolean","description":"body.scheme_user (boolean field from the documented request schema)","required":true,"enum":[true,false]}}},"example":{"scheme_admin":[false],"scheme_user":[false]}}}}}},"/users/{user_id}/teams/unread":{"get":{"tags":["Teams"],"parameters":[{"name":"user_id","in":"path","description":"User GUID","required":true,"schema":{"type":"string","example":""}},{"name":"exclude_team","in":"query","description":"Optional team id to be excluded from the results","required":true,"schema":{"type":"string","example":""}},{"name":"include_collapsed_threads","in":"query","description":"Boolean to determine whether the collapsed threads should be included or not","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetTeamsUnreadForUser","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/teams/unread"},"summary":"Get team unreads for a user","description":"Get team unreads for a user | Get the count for unread messages and mentions in the teams the user is a member of.\n##### Permissions\nMust be logged in. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/users/{user_id}/teams/{team_id}/unread":{"get":{"tags":["Teams"],"parameters":[{"name":"team_id","in":"path","description":"Team GUID","required":true,"schema":{"type":"string","example":""}},{"name":"user_id","in":"path","description":"User GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetTeamUnread","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/teams/{team_id}/unread"},"summary":"Get unreads for a team","description":"Get unreads for a team | Get the unread mention and message counts for a team for the specified user.\n##### Permissions\nMust be the user or have `edit_other_users` permission and have `view_team` permission for the team. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/teams/{team_id}/invite/email":{"post":{"tags":["Teams"],"parameters":[{"name":"team_id","in":"path","description":"Team GUID","required":true,"schema":{"type":"string","example":""}},{"name":"graceful","in":"query","description":"When provided with a non-empty value, returns an array with both successful invites and errors instead of aborting on the first error. Required when using `profiles`.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#InviteUsersToTeam","api_endpoint":"https://{site_url}/api/v4/teams/{team_id}/invite/email"},"summary":"Invite users to the team by email","description":"Invite users to the team by email | Invite users to the existing team using the user's email.\nThe number of emails that can be sent is rate limited to 20 per hour with a burst of 20 emails. If the rate limit exceeds, the error message contains details on when to retry and when the timer will be reset.\n##### Permissions\nMust have `invite_user` and `add_user_to_team` permissions for the team. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"channelIds":{"type":"array","description":"List of channel IDs to invite the users to","items":{"type":"string"}},"emails":{"type":"array","description":"List of user's email","required":true,"items":{"type":"string"}},"message":{"type":"string","description":"Custom message included in the invitation email"},"profiles":{"type":"array","description":"Profile fields to pre-set on the accounts created from these invitations. Each entry must reference an email present in `emails`. Requires a non-empty `graceful` query parameter, an Enterprise license, and locked profile fields to be enabled.\n__Minimum server version__: 11.11","items":{"type":"object","properties":{"email":{"type":"string","description":"body.profiles.email (string field from the documented request schema)","required":true},"first_name":{"type":"string","description":"body.profiles.first_name (string field from the documented request schema)"},"last_name":{"type":"string","description":"body.profiles.last_name (string field from the documented request schema)"},"username":{"type":"string","description":"body.profiles.username (string field from the documented request schema)","required":true}}}}}},"example":{"channelIds":[["string"]],"emails":[["string"]],"message":["string"],"profiles":[[{"email":"string","first_name":"string","last_name":"string","username":"string"}]]}}}}}},"/teams/{team_id}/invite-guests/email":{"post":{"tags":["Teams"],"parameters":[{"name":"team_id","in":"path","description":"Team GUID","required":true,"schema":{"type":"string","example":""}},{"name":"graceful","in":"query","description":"If true, returns an array with both successful invites and errors instead of aborting on first error.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"guest_magic_link","in":"query","description":"If true, invites guests with magic link (passwordless) authentication. Requires guest magic link feature to be enabled.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#InviteGuestsToTeam","api_endpoint":"https://{site_url}/api/v4/teams/{team_id}/invite-guests/email"},"summary":"Invite guests to the team by email","description":"Invite guests to the team by email | Invite guests to existing team channels usign the user's email.\nThe number of emails that can be sent is rate limited to 20 per hour with a burst of 20 emails. If the rate limit exceeds, the error message contains details on when to retry and when the timer will be reset.\n__Minimum server version__: 5.16\n##### Permissions\nMust have `invite_guest` permission for the team. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"channels":{"type":"array","description":"List of channel ids","required":true,"items":{"type":"string"}},"emails":{"type":"array","description":"List of emails","required":true,"items":{"type":"string"}},"message":{"type":"string","description":"Message to include in the invite"}}},"example":{"channels":[["string"]],"emails":[["string"]],"message":["string"]}}}}}},"/teams/invites/email":{"delete":{"tags":["Teams"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#InvalidateEmailInvites","api_endpoint":"https://{site_url}/api/v4/teams/invites/email"},"summary":"Invalidate active email invitations","description":"Invalidate active email invitations | Invalidate active email invitations that have not been accepted by the user.\n##### Permissions\nMust have `sysconsole_write_authentication` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/teams/invite/{invite_id}":{"get":{"tags":["Teams"],"parameters":[{"name":"invite_id","in":"path","description":"Invite id for a team","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetTeamInviteInfo","api_endpoint":"https://{site_url}/api/v4/teams/invite/{invite_id}"},"summary":"Get invite info for a team","description":"Get invite info for a team | Get the `name`, `display_name`, `description` and `id` for a team from the invite id.\n__Minimum server version__: 4.0\n##### Permissions\nNo authentication required. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/teams/{team_id}/scheme":{"put":{"tags":["Teams"],"parameters":[{"name":"team_id","in":"path","description":"Team GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UpdateTeamScheme","api_endpoint":"https://{site_url}/api/v4/teams/{team_id}/scheme"},"summary":"Set a team's scheme","description":"Set a team's scheme | Set a team's scheme, more specifically sets the scheme_id value of a team record.\n##### Permissions\nMust have `manage_system` permission.\n__Minimum server version__: 5.0 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"scheme_id":{"type":"string","description":"The ID of the scheme.","required":true}}},"example":{"scheme_id":["string"]}}}}}},"/teams/{team_id}/members_minus_group_members":{"get":{"tags":["Teams"],"parameters":[{"name":"team_id","in":"path","description":"Team GUID","required":true,"schema":{"type":"string","example":""}},{"name":"group_ids","in":"query","description":"A comma-separated list of group ids.","required":true,"schema":{"type":"string","example":""}},{"name":"page","in":"query","description":"The page to select.","required":false,"schema":{"type":"number","example":""}},{"name":"per_page","in":"query","description":"The number of users per page.","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#TeamMembersMinusGroupMembers","api_endpoint":"https://{site_url}/api/v4/teams/{team_id}/members_minus_group_members"},"summary":"Team members minus group members.","description":"Team members minus group members. | Get the set of users who are members of the team minus the set of users who are members of the given groups.\nEach user object contains an array of group objects representing the group memberships for that user.\nEach user object contains the boolean fields `scheme_guest`, `scheme_user`, and `scheme_admin` representing the roles that user has for the given team.\n##### Permissions\nMust have `manage_system` permission.\n__Minimum server version__: 5.14 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/channels":{"get":{"tags":["Channels"],"parameters":[{"name":"exclude_default_channels","in":"query","description":"Whether to exclude default channels (ex Town Square, Off-Topic) from the results.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"exclude_policy_constrained","in":"query","description":"If set to true, channels which are part of a data retention policy will be excluded. The `sysconsole_read_compliance` permission is required to use this parameter.\n__Minimum server version__: 5.35","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"include_deleted","in":"query","description":"Include channels that have been archived. This correlates to the `DeleteAt` flag being set in the database.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"include_total_count","in":"query","description":"Appends a total count of returned channels inside the response object - ex: `{ \"channels\": [], \"total_count\" : 0 }`.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"not_associated_to_group","in":"query","description":"A group id to exclude channels that are associated with that group via GroupChannel records. This can also be left blank with `not_associated_to_group=`.","required":false,"schema":{"type":"string","example":""}},{"name":"page","in":"query","description":"The page to select.","required":false,"schema":{"type":"number","example":""}},{"name":"per_page","in":"query","description":"The number of channels per page.","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetAllChannels","api_endpoint":"https://{site_url}/api/v4/channels"},"summary":"Get a list of all channels","description":"Get a list of all channels | ##### Permissions\n`manage_system` | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]},"post":{"tags":["Channels"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#CreateChannel","api_endpoint":"https://{site_url}/api/v4/channels"},"summary":"Create a channel","description":"Create a channel | Create a new channel.\n##### Permissions\nIf creating a public channel, `create_public_channel` permission is required. If creating a private channel, `create_private_channel` permission is required. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"type":{"type":"string","description":"'O' for a public channel, 'P' for a private channel","required":true},"default_category_name":{"type":"string","description":"Default sidebar category name for members when joining this channel. Requires `EnableChannelCategorySorting` to be enabled on the server."},"display_name":{"type":"string","description":"The non-unique UI name for the channel","required":true},"header":{"type":"string","description":"Markdown-formatted text to display in the header of the channel"},"managed_category_name":{"type":"string","description":"The name of the managed category to assign this channel to. Requires an Enterprise license and the `ManagedChannelCategories` feature flag to be enabled."},"name":{"type":"string","description":"The unique handle for the channel, will be present in the channel URL","required":true},"purpose":{"type":"string","description":"A short description of the purpose of the channel"},"team_id":{"type":"string","description":"The team ID of the team to create the channel on","required":true}}},"example":{"type":["string"],"default_category_name":["string"],"display_name":["string"],"header":["string"],"managed_category_name":["string"],"name":["string"],"purpose":["string"],"team_id":["string"]}}}}}},"/channels/direct":{"post":{"tags":["Channels"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#CreateDirectChannel","api_endpoint":"https://{site_url}/api/v4/channels/direct"},"summary":"Create a direct message channel","description":"Create a direct message channel | Create a new direct message channel between two users.\n##### Permissions\nMust be one of the two users and have `create_direct_channel` permission. Having the `manage_system` permission voids the previous requirements. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"body":{"type":"array","description":"body (request body parameter from the official API reference)","items":{"type":"string"}}}},"example":{"body":[["string"]]}}}}}},"/channels/group":{"post":{"tags":["Channels"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#CreateGroupChannel","api_endpoint":"https://{site_url}/api/v4/channels/group"},"summary":"Create a group message channel","description":"Create a group message channel | Create a new group message channel to group of users. If the logged in user's id is not included in the list, it will be appended to the end.\n##### Permissions\nMust have `create_group_channel` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"body":{"type":"array","description":"body (request body parameter from the official API reference)","items":{"type":"string"}}}},"example":{"body":[["string"]]}}}}}},"/channels/search":{"post":{"tags":["Channels"],"parameters":[{"name":"system_console","in":"query","description":"Is the request from system_console. If this is set to true, it filters channels by the logged in user.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#SearchAllChannels","api_endpoint":"https://{site_url}/api/v4/channels/search"},"summary":"Search all private and open type channels across all teams","description":"Search all private and open type channels across all teams | Returns all private and open type channels where 'term' matches on the name, display name, or purpose of\nthe channel.\nConfigured 'default' channels (ex Town Square and Off-Topic) can be excluded from the results\nwith the `exclude_default_channels` boolean parameter.\nChannels that are associated (via GroupChannel records) to a given group can be excluded from the results\nwith the `not_associated_to_group` parameter and a group id string. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"deleted":{"type":"boolean","description":"Filters results to only return deleted / archived channels\n__Minimum server version__: 5.26","enum":[true,false]},"exclude_default_channels":{"type":"boolean","description":"Exclude default channels from the results by setting this parameter to true.","enum":[true,false]},"exclude_group_constrained":{"type":"boolean","description":"Filters results to exclude channels constrained to a group\n__Minimum server version__: 5.26","enum":[true,false]},"exclude_policy_constrained":{"type":"boolean","description":"If set to true, only channels which do not have a granular retention policy assigned to them will be returned. The `sysconsole_read_compliance_data_retention` permission is required to use this parameter.\n__Minimum server version__: 5.35","enum":[true,false]},"exclude_remote":{"type":"boolean","description":"If set to true, only returns channels that are local to this server.\n__Minimum server version__: 10.2","enum":[true,false]},"group_constrained":{"type":"boolean","description":"Filters results to only return channels constrained to a group\n__Minimum server version__: 5.26","enum":[true,false]},"include_search_by_id":{"type":"boolean","description":"If set to true, returns channels where given search 'term' matches channel ID.\n__Minimum server version__: 5.35","enum":[true,false]},"not_associated_to_group":{"type":"string","description":"A group id to exclude channels that are associated to that group via GroupChannel records."},"page":{"type":"string","description":"The page number to return, if paginated. If this parameter is not present with the `per_page` parameter then the results will be returned un-paged."},"per_page":{"type":"string","description":"The number of entries to return per page, if paginated. If this parameter is not present with the `page` parameter then the results will be returned un-paged."},"private":{"type":"boolean","description":"Filters results to only return Private channels, can be used in conjunction with `public` to return both `private` and `public` channels\n__Minimum server version__: 5.26","enum":[true,false]},"public":{"type":"boolean","description":"Filters results to only return Public / Open channels, can be used in conjunction with `private` to return both `public` and `private` channels\n__Minimum server version__: 5.26","enum":[true,false]},"team_ids":{"type":"array","description":"Filters results to channels belonging to the given team ids\n__Minimum server version__: 5.26","items":{"type":"string"}},"term":{"type":"string","description":"The string to search in the channel name, display name, and purpose.","required":true}}},"example":{"deleted":[false],"exclude_default_channels":[false],"exclude_group_constrained":[false],"exclude_policy_constrained":[false],"exclude_remote":[false],"group_constrained":[false],"include_search_by_id":[false],"not_associated_to_group":["string"],"page":["string"],"per_page":["string"],"private":[false],"public":[false],"team_ids":[["string"]],"term":["string"]}}}}}},"/channels/group/search":{"post":{"tags":["Channels"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#SearchGroupChannels","api_endpoint":"https://{site_url}/api/v4/channels/group/search"},"summary":"Search Group Channels","description":"Search Group Channels | Get a list of group channels for a user which members' usernames match the search term.\n__Minimum server version__: 5.14 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"term":{"type":"string","description":"The search term to match against the members' usernames of the group channels","required":true}}},"example":{"term":["string"]}}}}}},"/teams/{team_id}/channels/ids":{"post":{"tags":["Channels"],"parameters":[{"name":"team_id","in":"path","description":"Team GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetPublicChannelsByIdsForTeam","api_endpoint":"https://{site_url}/api/v4/teams/{team_id}/channels/ids"},"summary":"Get a list of channels by ids","description":"Get a list of channels by ids | Get a list of public channels on a team by id.\n##### Permissions\n`view_team` for the team the channels are on. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"body":{"type":"array","description":"body (request body parameter from the official API reference)","items":{"type":"string"}}}},"example":{"body":[["string"]]}}}}}},"/channels/{channel_id}/timezones":{"get":{"tags":["Channels"],"parameters":[{"name":"channel_id","in":"path","description":"Channel GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetChannelMembersTimezones","api_endpoint":"https://{site_url}/api/v4/channels/{channel_id}/timezones"},"summary":"Get timezones in a channel","description":"Get timezones in a channel | Get a list of timezones for the users who are in this channel.\n__Minimum server version__: 5.6\n##### Permissions\nMust have the `read_channel` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/channels/{channel_id}":{"get":{"tags":["Channels"],"parameters":[{"name":"channel_id","in":"path","description":"Channel GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetChannel","api_endpoint":"https://{site_url}/api/v4/channels/{channel_id}"},"summary":"Get a channel","description":"Get a channel | Get channel from the provided channel id string.\n##### Permissions\n`read_channel` permission for the channel. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]},"put":{"tags":["Channels"],"parameters":[{"name":"channel_id","in":"path","description":"Channel GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UpdateChannel","api_endpoint":"https://{site_url}/api/v4/channels/{channel_id}"},"summary":"Update a channel","description":"Update a channel | Update a channel. The fields that can be updated are listed as parameters. Omitted fields will be treated as blanks.\n##### Permissions\nIf updating a public channel, `manage_public_channel_members` permission is required. If updating a private channel, `manage_private_channel_members` permission is required. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"display_name":{"type":"string","description":"The non-unique UI name for the channel"},"header":{"type":"string","description":"Markdown-formatted text to display in the header of the channel"},"id":{"type":"string","description":"The channel's id, not updatable","required":true},"name":{"type":"string","description":"The unique handle for the channel, will be present in the channel URL"},"purpose":{"type":"string","description":"A short description of the purpose of the channel"}}},"example":{"display_name":["string"],"header":["string"],"id":["string"],"name":["string"],"purpose":["string"]}}}}},"delete":{"tags":["Channels"],"parameters":[{"name":"channel_id","in":"path","description":"Channel GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#DeleteChannel","api_endpoint":"https://{site_url}/api/v4/channels/{channel_id}"},"summary":"Delete a channel","description":"Delete a channel | Archives a channel. This will set the `deleteAt` to the current timestamp in the database. Soft deleted channels may not be accessible in the user interface. They can be viewed and unarchived in the **System Console > User Management > Channels** based on your license. Direct and group message channels cannot be deleted.\nAs of server version 5.28, optionally use the `permanent=true` query parameter to permanently delete the channel for compliance reasons. To use this feature `ServiceSettings.EnableAPIChannelDeletion` must be set to `true` in the server's configuration. If you permanently delete a channel this action is not recoverable outside of a database backup.\n##### Permissions\n`delete_public_channel` permission if the channel is public,\n`delete_private_channel` permission if the channel is private,\nor have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/channels/{channel_id}/patch":{"put":{"tags":["Channels"],"parameters":[{"name":"channel_id","in":"path","description":"Channel ID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#PatchChannel","api_endpoint":"https://{site_url}/api/v4/channels/{channel_id}/patch"},"summary":"Patch a channel","description":"Patch a channel | Partially update a channel by providing only the fields you want to update. Omitted fields will not be updated. At least one of the allowed fields must be provided.\n**Public and private channels:** Can update `name`, `display_name`, `purpose`, `header`, `group_constrained`, `autotranslation`, and `banner_info` (subject to permissions and channel type).\n**Direct and group message channels:** Only `header` and (when not restricted by config) `autotranslation` can be updated; the caller must be a channel member. Updating `name`, `display_name`, or `purpose` is not allowed.\nThe default channel (e.g. Town Square) cannot have its `name` changed.\n##### Permissions\n- **Public channel:** For property updates (name, display_name, purpose, header, group_constrained), `manage_public_channel_properties` is required. For `autotranslation`, `manage_public_channel_auto_translation` is required. For `banner_info`, `manage_public_channel_banner` is required (Channel Banner feature and Enterprise license required). - **Private channel:** For property updates, `manage_private_channel_properties` is required. For `autotranslation`, `manage_private_channel_auto_translation` is required. For `banner_info`, `manage_private_channel_banner` is required (Channel Banner feature and Enterprise license required). - **Direct or group message channel:** Must be a member of the channel; only `header` and (when allowed) `autotranslation` can be updated. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"autotranslation":{"type":"boolean","description":"Enable or disable automatic message translation in the channel. Requires the auto-translation feature and appropriate channel permission. May be restricted for direct and group message channels by server configuration.","enum":[true,false]},"banner_info":{"type":"object","description":"body.banner_info (object field from the documented request schema)","properties":{"text":{"type":"string","description":"text is the actual text that renders in the channel banner. Markdown is supported."},"background_color":{"type":"string","description":"background_color is the HEX color code for the banner's background"},"enabled":{"type":"boolean","description":"enabled indicates whether the channel banner is enabled or not","enum":[true,false]}}},"default_category_name":{"type":"string","description":"Default sidebar category name for members when joining this channel. Set to an empty string to clear. Requires `EnableChannelCategorySorting` to be enabled on the server."},"display_name":{"type":"string","description":"The non-unique UI name for the channel. Cannot be updated for direct or group message channels."},"group_constrained":{"type":"boolean","description":"When true, only members of the linked LDAP groups can join the channel. Only applicable to public and private channels.","enum":[true,false]},"header":{"type":"string","description":"Markdown-formatted text to display in the header of the channel"},"managed_category_name":{"type":"string","description":"The name of the managed category to assign this channel to. Set to an empty string to clear. Requires an Enterprise license and the `ManagedChannelCategories` feature flag to be enabled."},"name":{"type":"string","description":"The unique handle for the channel, will be present in the channel URL. Cannot be updated for direct or group message channels. Cannot be changed for the default channel (e.g. Town Square)."},"purpose":{"type":"string","description":"A short description of the purpose of the channel. Cannot be updated for direct or group message channels."}}},"example":{"autotranslation":[false],"banner_info":[{"text":"string","background_color":"string","enabled":false}],"default_category_name":["string"],"display_name":["string"],"group_constrained":[false],"header":["string"],"managed_category_name":["string"],"name":["string"],"purpose":["string"]}}}}}},"/channels/{channel_id}/privacy":{"put":{"tags":["Channels"],"parameters":[{"name":"channel_id","in":"path","description":"Channel GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UpdateChannelPrivacy","api_endpoint":"https://{site_url}/api/v4/channels/{channel_id}/privacy"},"summary":"Update channel's privacy","description":"Update channel's privacy | Updates channel's privacy allowing changing a channel from Public to Private and back.\n__Minimum server version__: 5.16\n##### Permissions\n`manage_team` permission for the channels team on version = 5.28. `convert_private_channel_to_public` permission for the channel if updating privacy to 'O' on version >= 5.28. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"privacy":{"type":"string","description":"Channel privacy setting: 'O' for a public channel, 'P' for a private channel","required":true}}},"example":{"privacy":["string"]}}}}}},"/channels/{channel_id}/restore":{"post":{"tags":["Channels"],"parameters":[{"name":"channel_id","in":"path","description":"Channel GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#RestoreChannel","api_endpoint":"https://{site_url}/api/v4/channels/{channel_id}/restore"},"summary":"Restore a channel","description":"Restore a channel | Restore channel from the provided channel id string.\n__Minimum server version__: 3.10\n##### Permissions\n`manage_team` permission for the team of the channel. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/channels/{channel_id}/move":{"post":{"tags":["Channels"],"parameters":[{"name":"channel_id","in":"path","description":"Channel GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#MoveChannel","api_endpoint":"https://{site_url}/api/v4/channels/{channel_id}/move"},"summary":"Move a channel","description":"Move a channel | Move a channel to another team.\n__Minimum server version__: 5.26\n##### Permissions\nMust have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"force":{"type":"boolean","description":"Remove members those are not member of target team before moving the channel.","enum":[true,false]},"team_id":{"type":"string","description":"body.team_id (string field from the documented request schema)","required":true}}},"example":{"force":[false],"team_id":["string"]}}}}}},"/channels/{channel_id}/stats":{"get":{"tags":["Channels"],"parameters":[{"name":"channel_id","in":"path","description":"Channel GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetChannelStats","api_endpoint":"https://{site_url}/api/v4/channels/{channel_id}/stats"},"summary":"Get channel statistics","description":"Get channel statistics | Get statistics for a channel.\n##### Permissions\nMust have the `read_channel` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/channels/{channel_id}/pinned":{"get":{"tags":["Channels"],"parameters":[{"name":"channel_id","in":"path","description":"Channel GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetPinnedPosts","api_endpoint":"https://{site_url}/api/v4/channels/{channel_id}/pinned"},"summary":"Get a channel's pinned posts","description":"Get a channel's pinned posts | Get a list of pinned posts for channel. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/teams/{team_id}/channels":{"get":{"tags":["Channels"],"parameters":[{"name":"team_id","in":"path","description":"Team GUID","required":true,"schema":{"type":"string","example":""}},{"name":"page","in":"query","description":"The page to select.","required":false,"schema":{"type":"number","example":""}},{"name":"per_page","in":"query","description":"The number of public channels per page.","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetPublicChannelsForTeam","api_endpoint":"https://{site_url}/api/v4/teams/{team_id}/channels"},"summary":"Get public channels","description":"Get public channels | Get a page of public channels on a team based on query string parameters - page and per_page.\n##### Permissions\nMust be authenticated and have the `list_team_channels` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/teams/{team_id}/channels/private":{"get":{"tags":["Channels"],"parameters":[{"name":"team_id","in":"path","description":"Team GUID","required":true,"schema":{"type":"string","example":""}},{"name":"page","in":"query","description":"The page to select.","required":false,"schema":{"type":"number","example":""}},{"name":"per_page","in":"query","description":"The number of private channels per page.","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetPrivateChannelsForTeam","api_endpoint":"https://{site_url}/api/v4/teams/{team_id}/channels/private"},"summary":"Get private channels","description":"Get private channels | Get a page of private channels on a team based on query string\nparameters - team_id, page and per_page.\n__Minimum server version__: 5.26\n##### Permissions\nMust have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/teams/{team_id}/channels/recommended":{"get":{"tags":["Channels"],"parameters":[{"name":"team_id","in":"path","description":"Team GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetRecommendedChannelsForTeam","api_endpoint":"https://{site_url}/api/v4/teams/{team_id}/channels/recommended"},"summary":"Get recommended public channels for the current user","description":"Get recommended public channels for the current user | Return the public channels on a team that have a membership policy\nassigned, where the requesting user's attributes match to the policy.\nMembership policies on public channels are advisory: anyone can still join\nthese channels. This endpoint surfaces them as \"Recommended channels\"\nfor the requester.\nReturns an empty list if the Enterprise Advanced license is not\nactive, if `AccessControlSettings.EnableAttributeBasedAccessControl`\nis `false`, or if the user's attributes do not match any active\npublic-channel policy in the team.\n__Minimum server version__: 11.8\n##### Permissions\nMust be authenticated and have `list_team_channels` on the team. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/teams/{team_id}/channels/deleted":{"get":{"tags":["Channels"],"parameters":[{"name":"team_id","in":"path","description":"Team GUID","required":true,"schema":{"type":"string","example":""}},{"name":"page","in":"query","description":"The page to select.","required":false,"schema":{"type":"number","example":""}},{"name":"per_page","in":"query","description":"The number of public channels per page.","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetDeletedChannelsForTeam","api_endpoint":"https://{site_url}/api/v4/teams/{team_id}/channels/deleted"},"summary":"Get deleted channels","description":"Get deleted channels | Get a page of deleted channels on a team based on query string parameters - team_id, page and per_page.\n__Minimum server version__: 3.10 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/teams/{team_id}/channels/autocomplete":{"get":{"tags":["Channels"],"parameters":[{"name":"team_id","in":"path","description":"Team GUID","required":true,"schema":{"type":"string","example":""}},{"name":"name","in":"query","description":"Name or display name","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#AutocompleteChannelsForTeam","api_endpoint":"https://{site_url}/api/v4/teams/{team_id}/channels/autocomplete"},"summary":"Autocomplete channels","description":"Autocomplete channels | Autocomplete public channels on a team based on the search term provided in the request URL.\n__Minimum server version__: 4.7\n##### Permissions\nMust have the `list_team_channels` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/teams/{team_id}/channels/search_autocomplete":{"get":{"tags":["Channels"],"parameters":[{"name":"team_id","in":"path","description":"Team GUID","required":true,"schema":{"type":"string","example":""}},{"name":"name","in":"query","description":"Name or display name","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#AutocompleteChannelsForTeamForSearch","api_endpoint":"https://{site_url}/api/v4/teams/{team_id}/channels/search_autocomplete"},"summary":"Autocomplete channels for search","description":"Autocomplete channels for search | Autocomplete your channels on a team based on the search term provided in the request URL.\n__Minimum server version__: 5.4\n##### Permissions\nMust have the `list_team_channels` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/teams/{team_id}/channels/managed_categories":{"get":{"tags":["Channels"],"parameters":[{"name":"team_id","in":"path","description":"Team ID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetManagedCategories","api_endpoint":"https://{site_url}/api/v4/teams/{team_id}/channels/managed_categories"},"summary":"Get managed category mappings","description":"Get managed category mappings | Returns a map of channel ID to managed category name for all channels the requesting user is a member of in the given team that have a managed category assigned.\nRequires an Enterprise license and the `ManagedChannelCategories` feature flag to be enabled.\n##### Permissions\nMust be authenticated. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/teams/{team_id}/channels/search":{"post":{"tags":["Channels"],"parameters":[{"name":"team_id","in":"path","description":"Team GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#SearchChannels","api_endpoint":"https://{site_url}/api/v4/teams/{team_id}/channels/search"},"summary":"Search channels","description":"Search channels | Search public channels on a team based on the search term provided in the request body.\n##### Permissions\nMust have the `list_team_channels` permission.\nIn server version 5.16 and later, a user without the `list_team_channels` permission will be able to use this endpoint, with the search results limited to the channels that the user is a member of. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"term":{"type":"string","description":"The search term to match against the name or display name of channels","required":true}}},"example":{"term":["string"]}}}}}},"/teams/{team_id}/channels/name/{channel_name}":{"get":{"tags":["Channels"],"parameters":[{"name":"channel_name","in":"path","description":"Channel Name","required":true,"schema":{"type":"string","example":""}},{"name":"team_id","in":"path","description":"Team GUID","required":true,"schema":{"type":"string","example":""}},{"name":"include_deleted","in":"query","description":"Defines if deleted channels should be returned or not (Mattermost Server 5.26.0+)","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetChannelByName","api_endpoint":"https://{site_url}/api/v4/teams/{team_id}/channels/name/{channel_name}"},"summary":"Get a channel by name","description":"Get a channel by name | Gets channel from the provided team id and channel name strings.\n##### Permissions\n`read_channel` permission for the channel. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/teams/name/{team_name}/channels/name/{channel_name}":{"get":{"tags":["Channels"],"parameters":[{"name":"channel_name","in":"path","description":"Channel Name","required":true,"schema":{"type":"string","example":""}},{"name":"team_name","in":"path","description":"Team Name","required":true,"schema":{"type":"string","example":""}},{"name":"include_deleted","in":"query","description":"Defines if deleted channels should be returned or not (Mattermost Server 5.26.0+)","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetChannelByNameForTeamName","api_endpoint":"https://{site_url}/api/v4/teams/name/{team_name}/channels/name/{channel_name}"},"summary":"Get a channel by name and team name","description":"Get a channel by name and team name | Gets a channel from the provided team name and channel name strings.\n##### Permissions\n`read_channel` permission for the channel. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/channels/{channel_id}/members":{"get":{"tags":["Channels"],"parameters":[{"name":"channel_id","in":"path","description":"Channel GUID","required":true,"schema":{"type":"string","example":""}},{"name":"page","in":"query","description":"The page to select.","required":false,"schema":{"type":"number","example":""}},{"name":"per_page","in":"query","description":"The number of members per page.","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetChannelMembers","api_endpoint":"https://{site_url}/api/v4/channels/{channel_id}/members"},"summary":"Get channel members","description":"Get channel members | Get a page of members for a channel.\n##### Permissions\n`read_channel` permission for the channel. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]},"post":{"tags":["Channels"],"parameters":[{"name":"channel_id","in":"path","description":"The channel ID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#AddChannelMember","api_endpoint":"https://{site_url}/api/v4/channels/{channel_id}/members"},"summary":"Add user(s) to channel","description":"Add user(s) to channel | Add a user(s) to a channel by creating a channel member object(s). | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"post_root_id":{"type":"string","description":"The ID of root post where link to add channel member originates"},"user_id":{"type":"string","description":"The ID of user to add into the channel, for backwards compatibility."},"user_ids":{"type":"array","description":"The IDs of users to add into the channel, required if 'user_id' doess not exist.","items":{"type":"string"}}}},"example":{"post_root_id":["string"],"user_id":["string"],"user_ids":[["string"]]}}}}},"put":{"tags":["Channels"],"parameters":[{"name":"channel_id","in":"path","description":"Channel GUID","required":true,"schema":{"type":"string","example":""}},{"name":"batch_delay_ms","in":"query","description":"Milliseconds to pause between batches, giving the server time to process websocket events and plugin hooks.","required":false,"schema":{"type":"number","example":""}},{"name":"batch_size","in":"query","description":"Number of add/remove operations per batch.","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#SetChannelMembers","api_endpoint":"https://{site_url}/api/v4/channels/{channel_id}/members"},"summary":"Set channel members","description":"Set channel members | Set the complete membership list for a channel, with optional channel admin designation.\nThe server compares the provided list against the current membership and adds or removes\nusers as needed. Users already in the channel are left untouched (no-op).\nWhen `channel_admins` is provided, a role reconciliation phase runs after membership\nchanges: listed users are promoted to channel admin, all other members are demoted.\nWhen `channel_admins` is omitted (null), existing admin roles are preserved.\nResults are streamed back as NDJSON (`application/x-ndjson`), one line per batch. Each line\nis a JSON object with `added`, `removed`, `promoted`, `demoted`, and `errors` arrays for\nthat batch.\nRemovals are processed before additions, then role changes. Private channels cannot be\nemptied entirely. DM/GM and group-constrained channels are rejected.\n#### Example: membership only\nRequest (using `batch_size=2` and `batch_delay_ms=200`):\n```bash\ncurl -X PUT \\\n  'https://mattermost.example.com/api/v4/channels/channel123/members?batch_size=2&batch_delay_ms=200' \\\n  -H 'Authorization: Bearer ' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"members\": [\"user_id_1\", \"user_id_2\", \"user_id_3\", \"user_id_4\"]}'\n```\nStreamed NDJSON response (one JSON object per line, one line per batch):\n```text\n{\"added\":[],\"removed\":[\"user_id_5\",\"user_id_6\"],\"errors\":[]}\n{\"added\":[\"user_id_3\",\"user_id_4\"],\"removed\":[],\"errors\":[]}\n{\"added\":[],\"removed\":[],\"errors\":[{\"user_id\":\"user_id_7\",\"id\":\"api.channel.add_members.user_denied\",\"error\":\"user is not a member of the team\"}]}\n```\nIn this example, `user_id_1` and `user_id_2` were already members (no-op), `user_id_5` and\n`user_id_6` were removed, `user_id_3` and `user_id_4` were added, and `user_id_7` could not\nbe added because the user is not on the team.\n#### Example: membership with admin roles\n```bash\ncurl -X PUT \\\n  'https://mattermost.example.com/api/v4/channels/channel123/members' \\\n  -H 'Authorization: Bearer ' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"members\": [\"user_id_1\", \"user_id_2\", \"user_id_3\"], \"channel_admins\": [\"user_id_1\"]}'\n```\nResponse:\n```text\n{\"added\":[\"user_id_3\"],\"removed\":[\"user_id_4\"]}\n{\"promoted\":[\"user_id_1\"],\"demoted\":[\"user_id_2\"]}\n```\nIn this example, `user_id_1` was promoted to channel admin and `user_id_2` was demoted.\nWhen `channel_admins` is omitted, existing admin roles are preserved.\n__Minimum server version__: 11.7\n##### Permissions\nMust have `manage_system` permission (system admin only). | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"channel_admins":{"type":"array","description":"User IDs that should have the channel admin role. Users listed here are automatically included in the desired membership (they do not need to also appear in `members`). When null or omitted, existing admin roles are preserved for members who remain in the channel. When present (including empty array), admin roles are set declaratively.","items":{"type":"string"}},"members":{"type":"array","description":"User IDs for the desired channel membership. The final membership is the union of `members` and `channel_admins`.","required":true,"items":{"type":"string"}}}},"example":{"channel_admins":[["string"]],"members":[["string"]]}}}}}},"/channels/{channel_id}/members/ids":{"post":{"tags":["Channels"],"parameters":[{"name":"channel_id","in":"path","description":"Channel GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetChannelMembersByIds","api_endpoint":"https://{site_url}/api/v4/channels/{channel_id}/members/ids"},"summary":"Get channel members by ids","description":"Get channel members by ids | Get a list of channel members based on the provided user ids.\n##### Permissions\nMust have the `read_channel` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"body":{"type":"array","description":"body (request body parameter from the official API reference)","items":{"type":"string"}}}},"example":{"body":[["string"]]}}}}}},"/channels/{channel_id}/members/{user_id}":{"get":{"tags":["Channels"],"parameters":[{"name":"channel_id","in":"path","description":"Channel GUID","required":true,"schema":{"type":"string","example":""}},{"name":"user_id","in":"path","description":"User GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetChannelMember","api_endpoint":"https://{site_url}/api/v4/channels/{channel_id}/members/{user_id}"},"summary":"Get channel member","description":"Get channel member | Get a channel member.\n##### Permissions\n`read_channel` permission for the channel. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]},"delete":{"tags":["Channels"],"parameters":[{"name":"channel_id","in":"path","description":"Channel GUID","required":true,"schema":{"type":"string","example":""}},{"name":"user_id","in":"path","description":"User GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#RemoveUserFromChannel","api_endpoint":"https://{site_url}/api/v4/channels/{channel_id}/members/{user_id}"},"summary":"Remove user from channel","description":"Remove user from channel | Delete a channel member, effectively removing them from a channel.\nIn server version 5.3 and later, channel members can only be deleted from public or private channels.\n##### Permissions\n`manage_public_channel_members` permission if the channel is public.\n`manage_private_channel_members` permission if the channel is private. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/channels/{channel_id}/members/{user_id}/roles":{"put":{"tags":["Channels"],"parameters":[{"name":"channel_id","in":"path","description":"Channel GUID","required":true,"schema":{"type":"string","example":""}},{"name":"user_id","in":"path","description":"User GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UpdateChannelRoles","api_endpoint":"https://{site_url}/api/v4/channels/{channel_id}/members/{user_id}/roles"},"summary":"Update channel roles","description":"Update channel roles | Update a user's roles for a channel.\n##### Permissions\nMust have `manage_channel_roles` permission for the channel. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"roles":{"type":"string","description":"body.roles (string field from the documented request schema)","required":true}}},"example":{"roles":["string"]}}}}}},"/channels/{channel_id}/members/{user_id}/schemeRoles":{"put":{"tags":["Channels"],"parameters":[{"name":"channel_id","in":"path","description":"Channel GUID","required":true,"schema":{"type":"string","example":""}},{"name":"user_id","in":"path","description":"User GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UpdateChannelMemberSchemeRoles","api_endpoint":"https://{site_url}/api/v4/channels/{channel_id}/members/{user_id}/schemeRoles"},"summary":"Update the scheme-derived roles of a channel member.","description":"Update the scheme-derived roles of a channel member. | Update a channel member's scheme_admin/scheme_user properties. Typically this should either be `scheme_admin=false, scheme_user=true` for ordinary channel member, or `scheme_admin=true, scheme_user=true` for a channel admin.\n__Minimum server version__: 5.0\n##### Permissions\nMust be authenticated and have the `manage_channel_roles` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"scheme_admin":{"type":"boolean","description":"body.scheme_admin (boolean field from the documented request schema)","required":true,"enum":[true,false]},"scheme_user":{"type":"boolean","description":"body.scheme_user (boolean field from the documented request schema)","required":true,"enum":[true,false]}}},"example":{"scheme_admin":[false],"scheme_user":[false]}}}}}},"/channels/{channel_id}/members/{user_id}/notify_props":{"put":{"tags":["Channels"],"parameters":[{"name":"channel_id","in":"path","description":"Channel GUID","required":true,"schema":{"type":"string","example":""}},{"name":"user_id","in":"path","description":"User GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UpdateChannelNotifyProps","api_endpoint":"https://{site_url}/api/v4/channels/{channel_id}/members/{user_id}/notify_props"},"summary":"Update channel notifications","description":"Update channel notifications | Update a user's notification properties for a channel. Only the provided fields are updated.\n##### Permissions\nMust be logged in as the user or have `edit_other_users` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"desktop":{"type":"string","description":"Set to \"all\" to receive desktop notifications for all activity, \"mention\" for mentions and direct messages only, \"none\" to disable, or \"default\" to use the global user notification setting."},"email":{"type":"string","description":"Set to \"true\" to enable email notifications, \"false\" to disable, or \"default\" to use the global user notification setting."},"mark_unread":{"type":"string","description":"Set to \"all\" to mark the channel unread for any new message, \"mention\" to mark unread for new mentions only. Defaults to \"all\"."},"push":{"type":"string","description":"Set to \"all\" to receive push notifications for all activity, \"mention\" for mentions and direct messages only, \"none\" to disable, or \"default\" to use the global user notification setting."}}},"example":{"desktop":["string"],"email":["string"],"mark_unread":["string"],"push":["string"]}}}}}},"/channels/{channel_id}/members/{user_id}/autotranslation":{"put":{"tags":["Channels"],"parameters":[{"name":"channel_id","in":"path","description":"Channel GUID","required":true,"schema":{"type":"string","example":""}},{"name":"user_id","in":"path","description":"User GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UpdateChannelMemberAutotranslation","api_endpoint":"https://{site_url}/api/v4/channels/{channel_id}/members/{user_id}/autotranslation"},"summary":"Update channel member autotranslation setting","description":"Update channel member autotranslation setting | Update a user's autotranslation setting for a channel. This controls whether messages in the channel should not be automatically translated for the user. By default, autotranslations are enabled for all users if the channel is enabled for autotranslation.\n##### Permissions\nMust be logged in as the user or have `edit_other_users` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"autotranslation_disabled":{"type":"boolean","description":"Whether to disable autotranslation for the user in this channel","required":true,"enum":[true,false]}}},"example":{"autotranslation_disabled":[false]}}}}}},"/channels/members/{user_id}/mark_read":{"post":{"tags":["Channels"],"parameters":[{"name":"user_id","in":"path","description":"User ID to mark channels read for","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#MarkChannelsReadForUser","api_endpoint":"https://{site_url}/api/v4/channels/members/{user_id}/mark_read"},"summary":"Mark multiple channels as read","description":"Mark multiple channels as read | Mark multiple channels as viewed for the given user.\n##### Permissions\nMust be logged in as the user or have `edit_other_users` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"body":{"type":"array","description":"body (request body parameter from the official API reference)","items":{"type":"string"}}}},"example":{"body":[["string"]]}}}}}},"/channels/stats/member_count":{"post":{"tags":["Channels"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetChannelsMemberCount","api_endpoint":"https://{site_url}/api/v4/channels/stats/member_count"},"summary":"Get member counts for multiple channels","description":"Get member counts for multiple channels | Get channel member counts for a list of channel IDs.\n##### Permissions\nMust have access to member count for all requested channels. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"body":{"type":"array","description":"body (request body parameter from the official API reference)","items":{"type":"string"}}}},"example":{"body":[["string"]]}}}}}},"/channels/members/{user_id}/view":{"post":{"tags":["Channels"],"parameters":[{"name":"user_id","in":"path","description":"User ID to perform the view action for","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#ViewChannel","api_endpoint":"https://{site_url}/api/v4/channels/members/{user_id}/view"},"summary":"View channel","description":"View channel | Perform all the actions involved in viewing a channel. This includes marking channels as read, clearing push notifications, and updating the active channel.\n##### Permissions\nMust be logged in as user or have `edit_other_users` permission.\n__Response only includes `last_viewed_at_times` in Mattermost server 4.3 and newer.__ | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"channel_id":{"type":"string","description":"The channel ID that is being viewed. Use a blank string to indicate that all channels have lost focus.","required":true},"prev_channel_id":{"type":"string","description":"The channel ID of the previous channel, used when switching channels. Providing this ID will cause push notifications to clear on the channel being switched to."}}},"example":{"channel_id":["string"],"prev_channel_id":["string"]}}}}}},"/channels/members/{user_id}/direct/read":{"put":{"tags":["Channels"],"parameters":[{"name":"user_id","in":"path","description":"User ID to mark messages as read for","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#MarkAllDirectMessagesRead","api_endpoint":"https://{site_url}/api/v4/channels/members/{user_id}/direct/read"},"summary":"Mark all direct and group messages as read","description":"Mark all direct and group messages as read | Mark all direct and group messages as read for a user.\n##### Permissions\nMust be logged in as user or have `edit_other_users` permission.\n__Minimum server version__: 11.3 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/users/{user_id}/teams/{team_id}/channels/members":{"get":{"tags":["Channels"],"parameters":[{"name":"team_id","in":"path","description":"Team GUID","required":true,"schema":{"type":"string","example":""}},{"name":"user_id","in":"path","description":"User GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetChannelMembersForUser","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/teams/{team_id}/channels/members"},"summary":"Get channel memberships and roles for a user","description":"Get channel memberships and roles for a user | Get all channel memberships and associated membership roles (i.e. `channel_user`, `channel_admin`) for a user on a specific team.\n##### Permissions\nLogged in as the user and `view_team` permission for the team. Having `manage_system` permission voids the previous requirements. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/users/{user_id}/teams/{team_id}/channels":{"get":{"tags":["Channels"],"parameters":[{"name":"team_id","in":"path","description":"Team GUID","required":true,"schema":{"type":"string","example":""}},{"name":"user_id","in":"path","description":"User GUID","required":true,"schema":{"type":"string","example":""}},{"name":"include_deleted","in":"query","description":"Defines if deleted channels should be returned or not","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"last_delete_at","in":"query","description":"Filters the deleted channels by this time in epoch format. Does not have any effect if include_deleted is set to false.","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetChannelsForTeamForUser","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/teams/{team_id}/channels"},"summary":"Get channels for user","description":"Get channels for user | Get all the channels on a team for a user.\n##### Permissions\nLogged in as the user, or have `edit_other_users` permission, and `view_team` permission for the team. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/users/{user_id}/channels":{"get":{"tags":["Channels"],"parameters":[{"name":"user_id","in":"path","description":"The ID of the user. This can also be \"me\" which will point to the current user.","required":true,"schema":{"type":"string","example":""}},{"name":"include_deleted","in":"query","description":"Defines if deleted channels should be returned or not","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"last_delete_at","in":"query","description":"Filters the deleted channels by this time in epoch format. Does not have any effect if include_deleted is set to false.","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetChannelsForUser","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/channels"},"summary":"Get all channels from all teams","description":"Get all channels from all teams | Get all channels from all teams that a user is a member of.\n__Minimum server version__: 6.1\n##### Permissions\nLogged in as the user, or have `edit_other_users` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/users/{user_id}/channels/{channel_id}/unread":{"get":{"tags":["Channels"],"parameters":[{"name":"channel_id","in":"path","description":"Channel GUID","required":true,"schema":{"type":"string","example":""}},{"name":"user_id","in":"path","description":"User GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetChannelUnread","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/channels/{channel_id}/unread"},"summary":"Get unread messages","description":"Get unread messages | Get the total unread messages and mentions for a channel for a user.\n##### Permissions\nMust be logged in as user and have the `read_channel` permission, or have `edit_other_usrs` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/channels/{channel_id}/scheme":{"put":{"tags":["Channels"],"parameters":[{"name":"channel_id","in":"path","description":"Channel GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UpdateChannelScheme","api_endpoint":"https://{site_url}/api/v4/channels/{channel_id}/scheme"},"summary":"Set a channel's scheme","description":"Set a channel's scheme | Set a channel's scheme, more specifically sets the scheme_id value of a channel record.\n##### Permissions\nMust have `manage_system` permission.\n__Minimum server version__: 4.10 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"scheme_id":{"type":"string","description":"The ID of the scheme.","required":true}}},"example":{"scheme_id":["string"]}}}}}},"/channels/{channel_id}/members_minus_group_members":{"get":{"tags":["Channels"],"parameters":[{"name":"channel_id","in":"path","description":"Channel GUID","required":true,"schema":{"type":"string","example":""}},{"name":"group_ids","in":"query","description":"A comma-separated list of group ids.","required":true,"schema":{"type":"string","example":""}},{"name":"page","in":"query","description":"The page to select.","required":false,"schema":{"type":"number","example":""}},{"name":"per_page","in":"query","description":"The number of users per page.","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#ChannelMembersMinusGroupMembers","api_endpoint":"https://{site_url}/api/v4/channels/{channel_id}/members_minus_group_members"},"summary":"Channel members minus group members.","description":"Channel members minus group members. | Get the set of users who are members of the channel minus the set of users who are members of the given groups.\nEach user object contains an array of group objects representing the group memberships for that user.\nEach user object contains the boolean fields `scheme_guest`, `scheme_user`, and `scheme_admin` representing the roles that user has for the given channel.\n##### Permissions\nMust have `manage_system` permission.\n__Minimum server version__: 5.14 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/channels/{channel_id}/member_counts_by_group":{"get":{"tags":["Channels"],"parameters":[{"name":"channel_id","in":"path","description":"Channel GUID","required":true,"schema":{"type":"string","example":""}},{"name":"include_timezones","in":"query","description":"Defines if member timezone counts should be returned or not","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetChannelMemberCountsByGroup","api_endpoint":"https://{site_url}/api/v4/channels/{channel_id}/member_counts_by_group"},"summary":"Channel members counts for each group that has atleast one member in the channel","description":"Channel members counts for each group that has atleast one member in the channel | Returns a set of ChannelMemberCountByGroup objects which contain a `group_id`, `channel_member_count` and a `channel_member_timezones_count`.\n##### Permissions\nMust have `read_channel` permission for the given channel.\n__Minimum server version__: 5.24 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/channels/{channel_id}/moderations":{"get":{"tags":["Channels"],"parameters":[{"name":"channel_id","in":"path","description":"Channel GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetChannelModerations","api_endpoint":"https://{site_url}/api/v4/channels/{channel_id}/moderations"},"summary":"Get information about channel's moderation.","description":"Get information about channel's moderation. | ##### Permissions\nMust have `manage_system` permission.\n__Minimum server version__: 5.22 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/channels/{channel_id}/moderations/patch":{"put":{"tags":["Channels"],"parameters":[{"name":"channel_id","in":"path","description":"Channel GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#PatchChannelModerations","api_endpoint":"https://{site_url}/api/v4/channels/{channel_id}/moderations/patch"},"summary":"Update a channel's moderation settings.","description":"Update a channel's moderation settings. | ##### Permissions\nMust have `manage_system` permission.\n__Minimum server version__: 5.22 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"name":{"type":"string","description":"body.name (string field from the documented request schema)"},"roles":{"type":"object","description":"body.roles (object field from the documented request schema)","properties":{"guests":{"type":"boolean","description":"body.roles.guests (boolean field from the documented request schema)","enum":[true,false]},"members":{"type":"boolean","description":"body.roles.members (boolean field from the documented request schema)","enum":[true,false]}}}}},"example":{"name":["string"],"roles":[{"guests":false,"members":false}]}}}}}},"/users/{user_id}/teams/{team_id}/channels/categories":{"get":{"tags":["Channels"],"parameters":[{"name":"team_id","in":"path","description":"Team GUID","required":true,"schema":{"type":"string","example":""}},{"name":"user_id","in":"path","description":"User GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetSidebarCategoriesForTeamForUser","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/teams/{team_id}/channels/categories"},"summary":"Get user's sidebar categories","description":"Get user's sidebar categories | Get a list of sidebar categories that will appear in the user's sidebar on the given team, including a list of channel IDs in each category.\n__Minimum server version__: 5.26\n##### Permissions\nMust be authenticated and have the `list_team_channels` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]},"post":{"tags":["Channels"],"parameters":[{"name":"team_id","in":"path","description":"Team GUID","required":true,"schema":{"type":"string","example":""}},{"name":"user_id","in":"path","description":"User GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#CreateSidebarCategoryForTeamForUser","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/teams/{team_id}/channels/categories"},"summary":"Create user's sidebar category","description":"Create user's sidebar category | Create a custom sidebar category for the user on the given team.\n__Minimum server version__: 5.26\n##### Permissions\nMust be authenticated and have the `list_team_channels` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"type":{"type":"string","description":"body.type (string field from the documented request schema)"},"display_name":{"type":"string","description":"body.display_name (string field from the documented request schema)"},"id":{"type":"string","description":"body.id (string field from the documented request schema)"},"team_id":{"type":"string","description":"body.team_id (string field from the documented request schema)"},"user_id":{"type":"string","description":"body.user_id (string field from the documented request schema)"}}},"example":{"type":["channels"],"display_name":["string"],"id":["string"],"team_id":["string"],"user_id":["string"]}}}}},"put":{"tags":["Channels"],"parameters":[{"name":"team_id","in":"path","description":"Team GUID","required":true,"schema":{"type":"string","example":""}},{"name":"user_id","in":"path","description":"User GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UpdateSidebarCategoriesForTeamForUser","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/teams/{team_id}/channels/categories"},"summary":"Update user's sidebar categories","description":"Update user's sidebar categories | Update any number of sidebar categories for the user on the given team. This can be used to reorder the channels in these categories.\n__Minimum server version__: 5.26\n##### Permissions\nMust be authenticated and have the `list_team_channels` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"body":{"type":"array","description":"body (request body parameter from the official API reference)","items":{"type":"object","properties":{"type":{"type":"string","description":"body.type (string field from the documented request schema)"},"display_name":{"type":"string","description":"body.display_name (string field from the documented request schema)"},"id":{"type":"string","description":"body.id (string field from the documented request schema)"},"team_id":{"type":"string","description":"body.team_id (string field from the documented request schema)"},"user_id":{"type":"string","description":"body.user_id (string field from the documented request schema)"}}}}}},"example":{"body":[[{"type":"channels","display_name":"string","id":"string","team_id":"string","user_id":"string"}]]}}}}}},"/users/{user_id}/teams/{team_id}/channels/categories/order":{"get":{"tags":["Channels"],"parameters":[{"name":"team_id","in":"path","description":"Team GUID","required":true,"schema":{"type":"string","example":""}},{"name":"user_id","in":"path","description":"User GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetSidebarCategoryOrderForTeamForUser","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/teams/{team_id}/channels/categories/order"},"summary":"Get user's sidebar category order","description":"Get user's sidebar category order | Returns the order of the sidebar categories for a user on the given team as an array of IDs.\n__Minimum server version__: 5.26\n##### Permissions\nMust be authenticated and have the `list_team_channels` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]},"put":{"tags":["Channels"],"parameters":[{"name":"team_id","in":"path","description":"Team GUID","required":true,"schema":{"type":"string","example":""}},{"name":"user_id","in":"path","description":"User GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UpdateSidebarCategoryOrderForTeamForUser","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/teams/{team_id}/channels/categories/order"},"summary":"Update user's sidebar category order","description":"Update user's sidebar category order | Updates the order of the sidebar categories for a user on the given team. The provided array must include the IDs of all categories on the team.\n__Minimum server version__: 5.26\n##### Permissions\nMust be authenticated and have the `list_team_channels` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"body":{"type":"array","description":"body (request body parameter from the official API reference)","items":{"type":"string"}}}},"example":{"body":[["string"]]}}}}}},"/users/{user_id}/teams/{team_id}/channels/categories/{category_id}":{"get":{"tags":["Channels"],"parameters":[{"name":"category_id","in":"path","description":"Category GUID","required":true,"schema":{"type":"string","example":""}},{"name":"team_id","in":"path","description":"Team GUID","required":true,"schema":{"type":"string","example":""}},{"name":"user_id","in":"path","description":"User GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetSidebarCategoryForTeamForUser","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/teams/{team_id}/channels/categories/{category_id}"},"summary":"Get sidebar category","description":"Get sidebar category | Returns a single sidebar category for the user on the given team.\n__Minimum server version__: 5.26\n##### Permissions\nMust be authenticated and have the `list_team_channels` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]},"put":{"tags":["Channels"],"parameters":[{"name":"category_id","in":"path","description":"Category GUID","required":true,"schema":{"type":"string","example":""}},{"name":"team_id","in":"path","description":"Team GUID","required":true,"schema":{"type":"string","example":""}},{"name":"user_id","in":"path","description":"User GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UpdateSidebarCategoryForTeamForUser","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/teams/{team_id}/channels/categories/{category_id}"},"summary":"Update sidebar category","description":"Update sidebar category | Updates a single sidebar category for the user on the given team.\n__Minimum server version__: 5.26\n##### Permissions\nMust be authenticated and have the `list_team_channels` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"type":{"type":"string","description":"body.type (string field from the documented request schema)"},"display_name":{"type":"string","description":"body.display_name (string field from the documented request schema)"},"id":{"type":"string","description":"body.id (string field from the documented request schema)"},"team_id":{"type":"string","description":"body.team_id (string field from the documented request schema)"},"user_id":{"type":"string","description":"body.user_id (string field from the documented request schema)"}}},"example":{"type":["channels"],"display_name":["string"],"id":["string"],"team_id":["string"],"user_id":["string"]}}}}},"delete":{"tags":["Channels"],"parameters":[{"name":"category_id","in":"path","description":"Category GUID","required":true,"schema":{"type":"string","example":""}},{"name":"team_id","in":"path","description":"Team GUID","required":true,"schema":{"type":"string","example":""}},{"name":"user_id","in":"path","description":"User GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#RemoveSidebarCategoryForTeamForUser","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/teams/{team_id}/channels/categories/{category_id}"},"summary":"Delete sidebar category","description":"Delete sidebar category | Deletes a single sidebar category for the user on the given team. Only custom categories can be deleted.\n__Minimum server version__: 5.26\n##### Permissions\nMust be authenticated and have the `list_team_channels` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/channels/{channel_id}/common_teams":{"get":{"tags":["Channels"],"parameters":[{"name":"channel_id","in":"path","description":"Channel GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetGroupMessageMembersCommonTeams","api_endpoint":"https://{site_url}/api/v4/channels/{channel_id}/common_teams"},"summary":"Get common teams for members of a Group Message.","description":"Get common teams for members of a Group Message. | Gets all the common teams for all active members of a Group Message channel.\nReturns empty list of no common teams are found.\n__Minimum server version__: 9.1\n##### Permissions\nMust be authenticated and have the `read_channel` permission for the channel. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/channels/{channel_id}/convert_to_channel":{"post":{"tags":["Channels"],"parameters":[{"name":"channel_id","in":"path","description":"Group message channel ID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#ConvertGroupMessageToChannel","api_endpoint":"https://{site_url}/api/v4/channels/{channel_id}/convert_to_channel"},"summary":"Convert group message to private channel","description":"Convert group message to private channel | Converts a group message channel into a private channel in the specified team.\n##### Permissions\nMust have `create_private_channel` permission in the destination team. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"channel_id":{"type":"string","description":"body.channel_id (string field from the documented request schema)","required":true},"team_id":{"type":"string","description":"body.team_id (string field from the documented request schema)","required":true}}},"example":{"channel_id":["string"],"team_id":["string"]}}}}}},"/posts":{"post":{"tags":["Posts"],"parameters":[{"name":"set_online","in":"query","description":"Whether to set the user status as online or not.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"silent","in":"query","description":"When `true`, the post is delivered silently: visible in the channel and broadcast over WebSocket, but produces no desktop/push/email notifications, no unread or mention count increments, and no \"New Messages\" line. Only bot accounts, OAuth apps, incoming webhooks, and plugins may set this; non-integration senders receive HTTP 403. `force_notification` overrides `silent`.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#CreatePost","api_endpoint":"https://{site_url}/api/v4/posts"},"summary":"Create a post","description":"Create a post | Create a new post in a channel. To create the post as a comment on another post, provide `root_id`.\n##### Permissions\nMust have `create_post` permission for the channel the post is being created in. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"channel_id":{"type":"string","description":"The channel ID to post in","required":true},"file_ids":{"type":"array","description":"A list of file IDs to associate with the post. Note that posts are limited to 5 files maximum. Please use additional posts for more files.","items":{"type":"string"}},"message":{"type":"string","description":"The message contents, can be formatted with Markdown","required":true},"metadata":{"type":"object","description":"A JSON object to add post metadata, e.g the post's priority","properties":{"priority":{"type":"object","description":"An object containing the post's priority properties"}}},"props":{"type":"object","description":"A general JSON property bag to attach to the post","properties":{}},"root_id":{"type":"string","description":"The post ID to comment on"}}},"example":{"channel_id":["string"],"file_ids":[["string"]],"message":["string"],"metadata":[{"priority":{"priority":"string","requested_ack":false}}],"props":[{}],"root_id":["string"]}}}}}},"/posts/ephemeral":{"post":{"tags":["Posts"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#CreatePostEphemeral","api_endpoint":"https://{site_url}/api/v4/posts/ephemeral"},"summary":"Create a ephemeral post","description":"Create a ephemeral post | Create a new ephemeral post in a channel.\n##### Permissions\nMust have `create_post_ephemeral` permission (currently only given to system admin) | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"post":{"type":"object","description":"Post object to create","required":true,"properties":{"channel_id":{"type":"string","description":"The channel ID to post in","required":true},"message":{"type":"string","description":"The message contents, can be formatted with Markdown","required":true}}},"user_id":{"type":"string","description":"The target user id for the ephemeral post","required":true}}},"example":{"post":[{"channel_id":"string","message":"string"}],"user_id":["string"]}}}}}},"/posts/search":{"post":{"tags":["Posts"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#SearchPostsInAllTeams","api_endpoint":"https://{site_url}/api/v4/posts/search"},"summary":"Search posts across all teams","description":"Search posts across all teams | Search posts visible to the current user across all teams.\n##### Permissions\nMust be authenticated. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"include_deleted_channels":{"type":"boolean","description":"body.include_deleted_channels (boolean field from the documented request schema)","enum":[true,false]},"is_or_search":{"type":"boolean","description":"body.is_or_search (boolean field from the documented request schema)","enum":[true,false]},"page":{"type":"number","description":"body.page (number field from the documented request schema)"},"per_page":{"type":"number","description":"body.per_page (number field from the documented request schema)"},"terms":{"type":"string","description":"body.terms (string field from the documented request schema)","required":true},"time_zone_offset":{"type":"number","description":"body.time_zone_offset (number field from the documented request schema)"}}},"example":{"include_deleted_channels":[false],"is_or_search":[false],"page":[0],"per_page":[0],"terms":["string"],"time_zone_offset":[0]}}}}}},"/posts/{post_id}":{"get":{"tags":["Posts"],"parameters":[{"name":"post_id","in":"path","description":"ID of the post to get","required":true,"schema":{"type":"string","example":""}},{"name":"include_deleted","in":"query","description":"Defines if result should include deleted posts, must have 'manage_system' (admin) permission.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetPost","api_endpoint":"https://{site_url}/api/v4/posts/{post_id}"},"summary":"Get a post","description":"Get a post | Get a single post.\n##### Permissions\nMust have `read_channel` permission for the channel the post is in or if the channel is public, have the `read_public_channels` permission for the team. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]},"delete":{"tags":["Posts"],"parameters":[{"name":"post_id","in":"path","description":"ID of the post to delete","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#DeletePost","api_endpoint":"https://{site_url}/api/v4/posts/{post_id}"},"summary":"Delete a post","description":"Delete a post | Soft deletes a post, by marking the post as deleted in the database. Soft deleted posts will not be returned in post queries.\n##### Permissions\nMust be logged in as the user or have `delete_others_posts` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}},"put":{"tags":["Posts"],"parameters":[{"name":"post_id","in":"path","description":"ID of the post to update","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UpdatePost","api_endpoint":"https://{site_url}/api/v4/posts/{post_id}"},"summary":"Update a post","description":"Update a post | Update a post. Only the fields listed below are updatable, omitted fields will be treated as blank.\n##### Permissions\nMust have `edit_post` permission for the channel the post is in. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"has_reactions":{"type":"boolean","description":"Set to `true` if the post has reactions to it","enum":[true,false]},"id":{"type":"string","description":"ID of the post to update","required":true},"is_pinned":{"type":"boolean","description":"Set to `true` to pin the post to the channel it is in","enum":[true,false]},"message":{"type":"string","description":"The message text of the post"},"props":{"type":"string","description":"A general JSON property bag to attach to the post"}}},"example":{"has_reactions":[false],"id":["string"],"is_pinned":[false],"message":["string"],"props":["string"]}}}}}},"/users/{user_id}/posts/{post_id}/set_unread":{"post":{"tags":["Posts"],"parameters":[{"name":"post_id","in":"path","description":"Post GUID","required":true,"schema":{"type":"string","example":""}},{"name":"user_id","in":"path","description":"User GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#SetPostUnread","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/posts/{post_id}/set_unread"},"summary":"Mark as unread from a post.","description":"Mark as unread from a post. | Mark a channel as being unread from a given post.\n##### Permissions\nMust have `read_channel` permission for the channel the post is in or if the channel is public, have the `read_public_channels` permission for the team.\nMust have `edit_other_users` permission if the user is not the one marking the post for himself.\n__Minimum server version__: 5.18 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/posts/{post_id}/patch":{"put":{"tags":["Posts"],"parameters":[{"name":"post_id","in":"path","description":"Post GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#PatchPost","api_endpoint":"https://{site_url}/api/v4/posts/{post_id}/patch"},"summary":"Patch a post","description":"Patch a post | Partially update a post by providing only the fields you want to update. Omitted fields will not be updated. The fields that can be updated are defined in the request body, all other provided fields will be ignored.\n##### Permissions\nMust have the `edit_post` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"file_ids":{"type":"array","description":"The list of files attached to this post","items":{"type":"string"}},"has_reactions":{"type":"boolean","description":"Set to `true` if the post has reactions to it","enum":[true,false]},"is_pinned":{"type":"boolean","description":"Set to `true` to pin the post to the channel it is in","enum":[true,false]},"message":{"type":"string","description":"The message text of the post"},"props":{"type":"string","description":"A general JSON property bag to attach to the post"}}},"example":{"file_ids":[["string"]],"has_reactions":[false],"is_pinned":[false],"message":["string"],"props":["string"]}}}}}},"/posts/{post_id}/thread":{"get":{"tags":["Posts"],"parameters":[{"name":"post_id","in":"path","description":"ID of a post in the thread","required":true,"schema":{"type":"string","example":""}},{"name":"collapsedThreads","in":"query","description":"Whether the client uses CRT or not","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"collapsedThreadsExtended","in":"query","description":"Whether to return the associated users as part of the response or not","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"direction","in":"query","description":"The direction to return the posts. Either up or down.","required":false,"schema":{"type":"string","example":""}},{"name":"fromCreateAt","in":"query","description":"The create_at timestamp to return the next page of posts from","required":false,"schema":{"type":"number","example":""}},{"name":"fromPost","in":"query","description":"The post_id to return the next page of posts from","required":false,"schema":{"type":"string","example":""}},{"name":"fromUpdateAt","in":"query","description":"The update_at timestamp to return the next page of posts from. You cannot set this flag with direction=down.","required":false,"schema":{"type":"number","example":""}},{"name":"perPage","in":"query","description":"The number of posts per page","required":false,"schema":{"type":"number","example":""}},{"name":"skipFetchThreads","in":"query","description":"Whether to skip fetching threads or not","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"updatesOnly","in":"query","description":"This flag is used to make the API work with the updateAt value. If you set this flag, you must set a value for fromUpdateAt.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetPostThread","api_endpoint":"https://{site_url}/api/v4/posts/{post_id}/thread"},"summary":"Get a thread","description":"Get a thread | Get a post and the rest of the posts in the same thread.\n##### Permissions\nMust have `read_channel` permission for the channel the post is in or if the channel is public, have the `read_public_channels` permission for the team. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/users/{user_id}/posts/flagged":{"get":{"tags":["Posts"],"parameters":[{"name":"user_id","in":"path","description":"ID of the user","required":true,"schema":{"type":"string","example":""}},{"name":"channel_id","in":"query","description":"Channel ID","required":false,"schema":{"type":"string","example":""}},{"name":"page","in":"query","description":"The page to select","required":false,"schema":{"type":"number","example":""}},{"name":"per_page","in":"query","description":"The number of posts per page","required":false,"schema":{"type":"number","example":""}},{"name":"team_id","in":"query","description":"Team ID","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetFlaggedPostsForUser","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/posts/flagged"},"summary":"Get a list of flagged posts","description":"Get a list of flagged posts | Get a page of flagged posts of a user provided user id string. Selects from a channel, team, or all flagged posts by a user. Will only return posts from channels in which the user is member.\n##### Permissions\nMust be user or have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/posts/{post_id}/files/info":{"get":{"tags":["Posts"],"parameters":[{"name":"post_id","in":"path","description":"ID of the post","required":true,"schema":{"type":"string","example":""}},{"name":"include_deleted","in":"query","description":"Defines if result should include deleted posts, must have 'manage_system' (admin) permission.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetFileInfosForPost","api_endpoint":"https://{site_url}/api/v4/posts/{post_id}/files/info"},"summary":"Get file info for post","description":"Get file info for post | Gets a list of file information objects for the files attached to a post.\n##### Permissions\nMust have `read_channel` permission for the channel the post is in. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/posts/{post_id}/info":{"get":{"tags":["Posts"],"parameters":[{"name":"post_id","in":"path","description":"Post ID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetPostInfo","api_endpoint":"https://{site_url}/api/v4/posts/{post_id}/info"},"summary":"Get post info","description":"Get post info | Get additional metadata and access information for a post.\n##### Permissions\nMust be able to access the post's team and channel context. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/posts/{post_id}/edit_history":{"get":{"tags":["Posts"],"parameters":[{"name":"post_id","in":"path","description":"Post ID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetEditHistoryForPost","api_endpoint":"https://{site_url}/api/v4/posts/{post_id}/edit_history"},"summary":"Get post edit history","description":"Get post edit history | Get edit history entries for a post.\n##### Permissions\nMust have `edit_post` permission in the channel. For most posts, only the original author can access history. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/channels/{channel_id}/posts":{"get":{"tags":["Posts"],"parameters":[{"name":"channel_id","in":"path","description":"The channel ID to get the posts for","required":true,"schema":{"type":"string","example":""}},{"name":"type","in":"query","description":"Filter posts by type.","required":false,"schema":{"type":"string","example":""}},{"name":"after","in":"query","description":"A post id to select the posts that came after this one","required":false,"schema":{"type":"string","example":""}},{"name":"before","in":"query","description":"A post id to select the posts that came before this one","required":false,"schema":{"type":"string","example":""}},{"name":"include_deleted","in":"query","description":"Whether to include deleted posts or not. Must have system admin permissions.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"page","in":"query","description":"The page to select","required":false,"schema":{"type":"number","example":""}},{"name":"per_page","in":"query","description":"The number of posts per page","required":false,"schema":{"type":"number","example":""}},{"name":"since","in":"query","description":"Provide a non-zero value in Unix time milliseconds to select posts modified after that time","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetPostsForChannel","api_endpoint":"https://{site_url}/api/v4/channels/{channel_id}/posts"},"summary":"Get posts for a channel","description":"Get posts for a channel | Get a page of posts in a channel. Use the query parameters to modify the behaviour of this endpoint. The parameter `since` must not be used with any of `before`, `after`, `page`, and `per_page` parameters.\nIf `since` is used, it will always return all posts modified since that time, ordered by their create time limited till 1000. A caveat with this parameter is that there is no guarantee that the returned posts will be consecutive. It is left to the clients to maintain state and fill any missing holes in the post order.\n##### Permissions\nMust have `read_channel` permission for the channel. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/users/{user_id}/channels/{channel_id}/posts/unread":{"get":{"tags":["Posts"],"parameters":[{"name":"channel_id","in":"path","description":"The channel ID to get the posts for","required":true,"schema":{"type":"string","example":""}},{"name":"user_id","in":"path","description":"ID of the user","required":true,"schema":{"type":"string","example":""}},{"name":"collapsedThreads","in":"query","description":"Whether the client uses CRT or not","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"collapsedThreadsExtended","in":"query","description":"Whether to return the associated users as part of the response or not","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"limit_after","in":"query","description":"Number of posts after and including the oldest unread post. Maximum is 200 posts if limit is set greater than that.","required":false,"schema":{"type":"number","example":""}},{"name":"limit_before","in":"query","description":"Number of posts before the oldest unread posts. Maximum is 200 posts if limit is set greater than that.","required":false,"schema":{"type":"number","example":""}},{"name":"skipFetchThreads","in":"query","description":"Whether to skip fetching threads or not","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetPostsAroundLastUnread","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/channels/{channel_id}/posts/unread"},"summary":"Get posts around oldest unread","description":"Get posts around oldest unread | Get the oldest unread post in the channel for the given user as well as the posts around it. The returned list is sorted in descending order (most recent post first).\n##### Permissions\nMust be logged in as the user or have `edit_other_users` permission, and must have `read_channel` permission for the channel.\n__Minimum server version__: 5.14 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/teams/{team_id}/posts/search":{"post":{"tags":["Posts"],"parameters":[{"name":"team_id","in":"path","description":"Team GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#SearchPosts","api_endpoint":"https://{site_url}/api/v4/teams/{team_id}/posts/search"},"summary":"Search for team posts","description":"Search for team posts | Search posts in the team and from the provided terms string.\n##### Permissions\nMust be authenticated and have the `view_team` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"include_deleted_channels":{"type":"boolean","description":"Set to true if deleted channels should be included in the search. (archived channels)","enum":[true,false]},"is_or_search":{"type":"boolean","description":"Set to true if an Or search should be performed vs an And search.","required":true,"enum":[true,false]},"page":{"type":"number","description":"The page to select. (Only works with Elasticsearch)"},"per_page":{"type":"number","description":"The number of posts per page. (Only works with Elasticsearch)"},"terms":{"type":"string","description":"The search terms as inputed by the user. To search for posts from a user include `from:someusername`, using a user's username. To search in a specific channel include `in:somechannel`, using the channel name (not the display name).","required":true},"time_zone_offset":{"type":"number","description":"Offset from UTC of user timezone for date searches."}}},"example":{"include_deleted_channels":[false],"is_or_search":[false],"page":[0],"per_page":[60],"terms":["string"],"time_zone_offset":[0]}}}}}},"/posts/{post_id}/pin":{"post":{"tags":["Posts"],"parameters":[{"name":"post_id","in":"path","description":"Post GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#PinPost","api_endpoint":"https://{site_url}/api/v4/posts/{post_id}/pin"},"summary":"Pin a post to the channel","description":"Pin a post to the channel | Pin a post to a channel it is in based from the provided post id string.\n##### Permissions\nMust be authenticated and have the `read_channel` permission to the channel the post is in. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/posts/{post_id}/unpin":{"post":{"tags":["Posts"],"parameters":[{"name":"post_id","in":"path","description":"Post GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UnpinPost","api_endpoint":"https://{site_url}/api/v4/posts/{post_id}/unpin"},"summary":"Unpin a post to the channel","description":"Unpin a post to the channel | Unpin a post to a channel it is in based from the provided post id string.\n##### Permissions\nMust be authenticated and have the `read_channel` permission to the channel the post is in. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/posts/{post_id}/actions/{action_id}":{"post":{"tags":["Posts"],"parameters":[{"name":"action_id","in":"path","description":"Action GUID","required":true,"schema":{"type":"string","example":""}},{"name":"post_id","in":"path","description":"Post GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#DoPostAction","api_endpoint":"https://{site_url}/api/v4/posts/{post_id}/actions/{action_id}"},"summary":"Perform a post action","description":"Perform a post action | Perform a post action, which allows users to interact with integrations through posts.\n##### Permissions\nMust be authenticated and have the `read_channel` permission to the channel the post is in. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/posts/ids":{"post":{"tags":["Posts"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#getPostsByIds","api_endpoint":"https://{site_url}/api/v4/posts/ids"},"summary":"Get posts by a list of ids","description":"Get posts by a list of ids | Fetch a list of posts based on the provided postIDs\n##### Permissions\nMust have `read_channel` permission for the channel the post is in or if the channel is public, have the `read_public_channels` permission for the team. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"body":{"type":"array","description":"body (request body parameter from the official API reference)","items":{"type":"string"}}}},"example":{"body":[["string"]]}}}}}},"/users/{user_id}/posts/{post_id}/reminder":{"post":{"tags":["Posts"],"parameters":[{"name":"post_id","in":"path","description":"Post GUID","required":true,"schema":{"type":"string","example":""}},{"name":"user_id","in":"path","description":"User GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#SetPostReminder","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/posts/{post_id}/reminder"},"summary":"Set a post reminder","description":"Set a post reminder | Set a reminder for the user for the post.\n##### Permissions\nMust have `read_channel` permission for the channel the post is in.\n__Minimum server version__: 7.2 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"target_time":{"type":"number","description":"Target time for the reminder","required":true}}},"example":{"target_time":[0]}}}}}},"/users/{user_id}/posts/{post_id}/ack":{"post":{"tags":["Posts"],"parameters":[{"name":"post_id","in":"path","description":"Post GUID","required":true,"schema":{"type":"string","example":""}},{"name":"user_id","in":"path","description":"User GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#SaveAcknowledgementForPost","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/posts/{post_id}/ack"},"summary":"Acknowledge a post","description":"Acknowledge a post | Acknowledge a post that has a request for acknowledgements.\n##### Permissions\nMust have `read_channel` permission for the channel the post is in.\n Must be logged in as the user or have `edit_other_users` permission.\n__Minimum server version__: 7.7 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}},"delete":{"tags":["Posts"],"parameters":[{"name":"post_id","in":"path","description":"Post GUID","required":true,"schema":{"type":"string","example":""}},{"name":"user_id","in":"path","description":"User GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#DeleteAcknowledgementForPost","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/posts/{post_id}/ack"},"summary":"Delete a post acknowledgement","description":"Delete a post acknowledgement | Delete an acknowledgement form a post that you had previously acknowledged.\n##### Permissions\nMust have `read_channel` permission for the channel the post is in.\n Must be logged in as the user or have `edit_other_users` permission.\n The post must have been acknowledged in the previous 5 minutes.\n__Minimum server version__: 7.7 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/posts/{post_id}/move":{"post":{"tags":["Posts"],"parameters":[{"name":"post_id","in":"path","description":"The identifier of the post to move","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#MoveThread","api_endpoint":"https://{site_url}/api/v4/posts/{post_id}/move"},"summary":"Move a post (and any posts within that post's thread)","description":"Move a post (and any posts within that post's thread) | Move a post/thread to another channel.\nTHIS IS A BETA FEATURE. The API is subject to change without notice.\n##### Permissions\nMust have `read_channel` permission for the channel the post is in. Must have `write_post` permission for the channel the post is being moved to.\n__Minimum server version__: 9.3 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"channel_id":{"type":"string","description":"The channel identifier of where the post/thread is to be moved","required":true}}},"example":{"channel_id":["string"]}}}}}},"/posts/{post_id}/restore/{restore_version_id}":{"post":{"tags":["Posts"],"parameters":[{"name":"post_id","in":"path","description":"The identifier of the post to restore","required":true,"schema":{"type":"string","example":""}},{"name":"restore_version_id","in":"path","description":"The identifier of the past version of post to restore to","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#RestorePostVersion","api_endpoint":"https://{site_url}/api/v4/posts/{post_id}/restore/{restore_version_id}"},"summary":"Restores a past version of a post","description":"Restores a past version of a post | Restores the post with `post_id` to its past version having the ID `restore_version_id`.\n##### Permissions\nMust have `read_channel` permission for the channel the post is in. Must have `edit_post` permission for the channel the post is being moved to. Must be the author of the post being restored.\n__Minimum server version__: 10.5 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/posts/{post_id}/reveal":{"get":{"tags":["Posts"],"parameters":[{"name":"post_id","in":"path","description":"The identifier of the post to reveal","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#RevealPost","api_endpoint":"https://{site_url}/api/v4/posts/{post_id}/reveal"},"summary":"Reveal a burn-on-read post","description":"Reveal a burn-on-read post | Reveal a burn-on-read post. This endpoint allows a user to reveal a post that was created with burn-on-read functionality. Once revealed, the post content becomes visible to the user. If the post is already revealed and not expired, this is a no-op. If the post has expired, an error will be returned.\n##### Permissions\nMust have `read_channel` permission for the channel the post is in.\n Must be a member of the channel the post is in.\n Cannot reveal your own post.\n##### Feature Flag\nRequires `BurnOnRead` feature flag and Enterprise Advanced license.\n__Minimum server version__: 11.2 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/posts/{post_id}/burn":{"delete":{"tags":["Posts"],"parameters":[{"name":"post_id","in":"path","description":"The identifier of the post to burn","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#BurnPost","api_endpoint":"https://{site_url}/api/v4/posts/{post_id}/burn"},"summary":"Burn a burn-on-read post","description":"Burn a burn-on-read post | Burn a burn-on-read post. This endpoint allows a user to burn a post that was created with burn-on-read functionality. If the user is the author of the post, the post will be permanently deleted. If the user is not the author, the post will be expired for that user by updating their read receipt expiration time. If the user has not revealed the post yet, an error will be returned. If the post is already expired for the user, this is a no-op.\n##### Permissions\nMust have `read_channel` permission for the channel the post is in.\n Must be a member of the channel the post is in.\n##### Feature Flag\nRequires `BurnOnRead` feature flag and Enterprise Advanced license.\n__Minimum server version__: 11.2 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/posts/rewrite":{"post":{"tags":["Posts"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#RewriteMessage","api_endpoint":"https://{site_url}/api/v4/posts/rewrite"},"summary":"Rewrite a message using AI","description":"Rewrite a message using AI | Rewrite a message using AI based on the specified action. The message will be processed by an AI agent and returned in a rewritten form.\n##### Permissions\nMust be authenticated.\n__Minimum server version__: 11.2 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"action":{"type":"string","description":"The rewrite action to perform","required":true},"agent_id":{"type":"string","description":"The ID of the AI agent to use for rewriting","required":true},"custom_prompt":{"type":"string","description":"Custom prompt for rewriting. Required when action is \"custom\", optional otherwise."},"message":{"type":"string","description":"The message text to rewrite","required":true}}},"example":{"action":["custom"],"agent_id":["string"],"custom_prompt":["string"],"message":["string"]}}}}}},"/users/{user_id}/preferences":{"get":{"tags":["Preferences"],"parameters":[{"name":"user_id","in":"path","description":"User GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetPreferences","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/preferences"},"summary":"Get the user's preferences","description":"Get the user's preferences | Get a list of the user's preferences.\n##### Permissions\nMust be logged in as the user being updated or have the `edit_other_users` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]},"put":{"tags":["Preferences"],"parameters":[{"name":"user_id","in":"path","description":"User GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UpdatePreferences","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/preferences"},"summary":"Save the user's preferences","description":"Save the user's preferences | Save a list of the user's preferences.\n##### Permissions\nMust be logged in as the user being updated or have the `edit_other_users` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"body":{"type":"array","description":"body (request body parameter from the official API reference)","items":{"type":"object","properties":{"category":{"type":"string","description":"body.category (string field from the documented request schema)"},"name":{"type":"string","description":"body.name (string field from the documented request schema)"},"user_id":{"type":"string","description":"The ID of the user that owns this preference"},"value":{"type":"string","description":"body.value (string field from the documented request schema)"}}}}}},"example":{"body":[[{"category":"string","name":"string","user_id":"string","value":"string"}]]}}}}}},"/users/{user_id}/preferences/delete":{"post":{"tags":["Preferences"],"parameters":[{"name":"user_id","in":"path","description":"User GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#DeletePreferences","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/preferences/delete"},"summary":"Delete user's preferences","description":"Delete user's preferences | Delete a list of the user's preferences.\n##### Permissions\nMust be logged in as the user being updated or have the `edit_other_users` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"body":{"type":"array","description":"body (request body parameter from the official API reference)","items":{"type":"object","properties":{"category":{"type":"string","description":"body.category (string field from the documented request schema)"},"name":{"type":"string","description":"body.name (string field from the documented request schema)"},"user_id":{"type":"string","description":"The ID of the user that owns this preference"},"value":{"type":"string","description":"body.value (string field from the documented request schema)"}}}}}},"example":{"body":[[{"category":"string","name":"string","user_id":"string","value":"string"}]]}}}}}},"/users/{user_id}/preferences/{category}":{"get":{"tags":["Preferences"],"parameters":[{"name":"category","in":"path","description":"The category of a group of preferences","required":true,"schema":{"type":"string","example":""}},{"name":"user_id","in":"path","description":"User GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetPreferencesByCategory","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/preferences/{category}"},"summary":"List a user's preferences by category","description":"List a user's preferences by category | Lists the current user's stored preferences in the given category.\n##### Permissions\nMust be logged in as the user being updated or have the `edit_other_users` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/users/{user_id}/preferences/{category}/name/{preference_name}":{"get":{"tags":["Preferences"],"parameters":[{"name":"category","in":"path","description":"The category of a group of preferences","required":true,"schema":{"type":"string","example":""}},{"name":"preference_name","in":"path","description":"The name of the preference","required":true,"schema":{"type":"string","example":""}},{"name":"user_id","in":"path","description":"User GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetPreferencesByCategoryByName","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/preferences/{category}/name/{preference_name}"},"summary":"Get a specific user preference","description":"Get a specific user preference | Gets a single preference for the current user with the given category and name.\n##### Permissions\nMust be logged in as the user being updated or have the `edit_other_users` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/files":{"post":{"tags":["Files"],"parameters":[{"name":"channel_id","in":"query","description":"The ID of the channel that this file will be uploaded to","required":false,"schema":{"type":"string","example":""}},{"name":"filename","in":"query","description":"The name of the file to be uploaded","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UploadFile","api_endpoint":"https://{site_url}/api/v4/files"},"summary":"Upload a file","description":"Upload a file | Uploads a file that can later be attached to a post.\nThis request can either be a multipart/form-data request with a channel_id, files and optional\nclient_ids defined in the FormData, or it can be a request with the channel_id and filename\ndefined as query parameters with the contents of a single file in the body of the request.\nOnly multipart/form-data requests are supported by server versions up to and including 4.7.\nServer versions 4.8 and higher support both types of requests.\n__Minimum server version__: 9.4\nStarting with server version 9.4 when uploading a file for a channel bookmark, the bookmark=true query parameter should be included in the query string\n##### Permissions\nMust have `upload_file` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"channel_id":{"type":"string","description":"The ID of the channel that this file will be uploaded to"},"client_ids":{"type":"string","description":"A unique identifier for the file that will be returned in the response"},"files":{"type":"string","description":"A file to be uploaded"}}},"example":{"channel_id":["string"],"client_ids":["string"],"files":["string"]}}}}}},"/files/{file_id}":{"get":{"tags":["Files"],"parameters":[{"name":"file_id","in":"path","description":"The ID of the file to get","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetFile","api_endpoint":"https://{site_url}/api/v4/files/{file_id}"},"summary":"Get a file","description":"Get a file | Gets a file that has been uploaded previously.\n##### Permissions\nMust have `read_channel` permission or be uploader of the file. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/files/{file_id}/thumbnail":{"get":{"tags":["Files"],"parameters":[{"name":"file_id","in":"path","description":"The ID of the file to get","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetFileThumbnail","api_endpoint":"https://{site_url}/api/v4/files/{file_id}/thumbnail"},"summary":"Get a file's thumbnail","description":"Get a file's thumbnail | Gets a file's thumbnail.\n##### Permissions\nMust have `read_channel` permission or be uploader of the file. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/files/{file_id}/preview":{"get":{"tags":["Files"],"parameters":[{"name":"file_id","in":"path","description":"The ID of the file to get","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetFilePreview","api_endpoint":"https://{site_url}/api/v4/files/{file_id}/preview"},"summary":"Get a file's preview","description":"Get a file's preview | Gets a file's preview.\n##### Permissions\nMust have `read_channel` permission or be uploader of the file. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/files/{file_id}/link":{"get":{"tags":["Files"],"parameters":[{"name":"file_id","in":"path","description":"The ID of the file to get a link for","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetFileLink","api_endpoint":"https://{site_url}/api/v4/files/{file_id}/link"},"summary":"Get a public file link","description":"Get a public file link | Gets a public link for a file that can be accessed without logging into Mattermost.\n##### Permissions\nMust have `read_channel` permission or be uploader of the file. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/files/{file_id}/info":{"get":{"tags":["Files"],"parameters":[{"name":"file_id","in":"path","description":"The ID of the file info to get","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetFileInfo","api_endpoint":"https://{site_url}/api/v4/files/{file_id}/info"},"summary":"Get metadata for a file","description":"Get metadata for a file | Gets a file's info.\n##### Permissions\nMust have `read_channel` permission or be uploader of the file. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/files/{file_id}/public":{"get":{"tags":["Files"],"parameters":[{"name":"file_id","in":"path","description":"The ID of the file to get","required":true,"schema":{"type":"string","example":""}},{"name":"h","in":"query","description":"File hash","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetFilePublic","api_endpoint":"https://{site_url}/files/{file_id}/public"},"summary":"Get a public file","description":"Get a public file | ##### Permissions\nNo permissions required. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/teams/{team_id}/files/search":{"post":{"tags":["Teams"],"parameters":[{"name":"team_id","in":"path","description":"Team GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#SearchFiles","api_endpoint":"https://{site_url}/api/v4/teams/{team_id}/files/search"},"summary":"Search files in a team","description":"Search files in a team | Search for files in a team based on file name, extention and file content (if file content extraction is enabled and supported for the files).\n__Minimum server version__: 5.34\n##### Permissions\nMust be authenticated and have the `view_team` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"include_deleted_channels":{"type":"boolean","description":"Set to true if deleted channels should be included in the search. (archived channels)","enum":[true,false]},"is_or_search":{"type":"boolean","description":"Set to true if an Or search should be performed vs an And search.","required":true,"enum":[true,false]},"page":{"type":"number","description":"The page to select. (Only works with Elasticsearch)"},"per_page":{"type":"number","description":"The number of posts per page. (Only works with Elasticsearch)"},"terms":{"type":"string","description":"The search terms as inputed by the user. To search for files from a user include `from:someusername`, using a user's username. To search in a specific channel include `in:somechannel`, using the channel name (not the display name). To search for specific extensions include `ext:extension`.","required":true},"time_zone_offset":{"type":"number","description":"Offset from UTC of user timezone for date searches."}}},"example":{"include_deleted_channels":[false],"is_or_search":[false],"page":[0],"per_page":[60],"terms":["string"],"time_zone_offset":[0]}}}}}},"/files/search":{"post":{"tags":["Files"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#SearchFiles","api_endpoint":"https://{site_url}/api/v4/files/search"},"summary":"Search files across the teams of the current user","description":"Search files across the teams of the current user | Search for files in the teams of the current user based on file name, extention and file content (if file content extraction is enabled and supported for the files).\n__Minimum server version__: 10.2\n##### Permissions\nMust be authenticated and have the `view_team` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"include_deleted_channels":{"type":"boolean","description":"Set to true if deleted channels should be included in the search. (archived channels)","enum":[true,false]},"is_or_search":{"type":"boolean","description":"Set to true if an Or search should be performed vs an And search.","required":true,"enum":[true,false]},"page":{"type":"number","description":"The page to select. (Only works with Elasticsearch)"},"per_page":{"type":"number","description":"The number of posts per page. (Only works with Elasticsearch)"},"terms":{"type":"string","description":"The search terms as entered by the user. To search for files from a user include `from:someusername`, using a user's username. To search in a specific channel include `in:somechannel`, using the channel name (not the display name). To search for specific extensions include `ext:extension`.","required":true},"time_zone_offset":{"type":"number","description":"Offset from UTC of user timezone for date searches."}}},"example":{"include_deleted_channels":[false],"is_or_search":[false],"page":[0],"per_page":[60],"terms":["string"],"time_zone_offset":[0]}}}}}},"/recaps":{"post":{"tags":["Recaps"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#CreateRecap","api_endpoint":"https://{site_url}/api/v4/recaps"},"summary":"Create a channel recap","description":"Create a channel recap | Create a new AI-powered recap for the specified channels. The recap will summarize unread messages in the selected channels, extracting highlights and action items. This creates a background job that processes the recap asynchronously. The recap is created for the authenticated user.\n##### Permissions\nMust be authenticated. User must be a member of all specified channels.\n__Minimum server version__: 11.2 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"agent_id":{"type":"string","description":"ID of the AI agent to use for generating the recap","required":true},"channel_ids":{"type":"array","description":"List of channel IDs to include in the recap","required":true,"items":{"type":"string"}},"title":{"type":"string","description":"Title for the recap","required":true}}},"example":{"agent_id":["string"],"channel_ids":[["string"]],"title":["string"]}}}}},"get":{"tags":["Recaps"],"parameters":[{"name":"page","in":"query","description":"The page to select.","required":false,"schema":{"type":"number","example":""}},{"name":"per_page","in":"query","description":"The number of recaps per page.","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetRecapsForUser","api_endpoint":"https://{site_url}/api/v4/recaps"},"summary":"Get current user's recaps","description":"Get current user's recaps | Get a paginated list of recaps created by the authenticated user.\n##### Permissions\nMust be authenticated.\n__Minimum server version__: 11.2 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/recaps/limit_status":{"get":{"tags":["Recaps"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetRecapLimitStatus","api_endpoint":"https://{site_url}/api/v4/recaps/limit_status"},"summary":"Get recap limit status for the current user","description":"Get recap limit status for the current user | Get the current user's recap usage limits and status, including daily usage, effective limits, and cooldown information.\n##### Permissions\nMust be authenticated.\n__Minimum server version__: 11.2 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/recaps/mark_viewed":{"post":{"tags":["Recaps"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#MarkRecapsAsViewed","api_endpoint":"https://{site_url}/api/v4/recaps/mark_viewed"},"summary":"Mark all of the authenticated user's finished recaps as viewed","description":"Mark all of the authenticated user's finished recaps as viewed | Mark every not-yet-viewed completed or failed recap belonging to the authenticated user as viewed at the current time. Pending and processing recaps are not affected. Returns the IDs of the recaps that were updated. The server broadcasts a `recap_updated` WebSocket event for each affected recap.\nTypically called once when the recaps page is opened so the sidebar unread badge can be cleared in bulk.\n##### Permissions\nMust be authenticated. Operates only on the authenticated user's own recaps.\n__Minimum server version__: 11.2 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/recaps/{recap_id}":{"get":{"tags":["Recaps"],"parameters":[{"name":"recap_id","in":"path","description":"Recap GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetRecap","api_endpoint":"https://{site_url}/api/v4/recaps/{recap_id}"},"summary":"Get a specific recap","description":"Get a specific recap | Get a recap by its ID, including all channel summaries. Only the authenticated user who created the recap can retrieve it.\n##### Permissions\nMust be authenticated. Can only retrieve recaps created by the current user.\n__Minimum server version__: 11.2 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]},"delete":{"tags":["Recaps"],"parameters":[{"name":"recap_id","in":"path","description":"Recap GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#DeleteRecap","api_endpoint":"https://{site_url}/api/v4/recaps/{recap_id}"},"summary":"Delete a recap","description":"Delete a recap | Delete a recap by its ID. Only the authenticated user who created the recap can delete it.\n##### Permissions\nMust be authenticated. Can only delete recaps created by the current user.\n__Minimum server version__: 11.2 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/recaps/{recap_id}/read":{"post":{"tags":["Recaps"],"parameters":[{"name":"recap_id","in":"path","description":"Recap GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#MarkRecapAsRead","api_endpoint":"https://{site_url}/api/v4/recaps/{recap_id}/read"},"summary":"Mark a recap as read","description":"Mark a recap as read | Mark a recap as read by the authenticated user. This updates the recap's read status and timestamp.\n##### Permissions\nMust be authenticated. Can only mark recaps created by the current user as read.\n__Minimum server version__: 11.2 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/recaps/{recap_id}/regenerate":{"post":{"tags":["Recaps"],"parameters":[{"name":"recap_id","in":"path","description":"Recap GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#RegenerateRecap","api_endpoint":"https://{site_url}/api/v4/recaps/{recap_id}/regenerate"},"summary":"Regenerate a recap","description":"Regenerate a recap | Regenerate a recap by its ID. This creates a new background job to regenerate the AI-powered recap with the latest messages from the specified channels.\n##### Permissions\nMust be authenticated. Can only regenerate recaps created by the current user.\n__Minimum server version__: 11.2 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/uploads":{"post":{"tags":["Uploads"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#CreateUpload","api_endpoint":"https://{site_url}/api/v4/uploads"},"summary":"Create an upload","description":"Create an upload | Creates a new upload session.\n__Minimum server version__: 5.28\n##### Permissions\nMust have `upload_file` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":false,"content":{"multipart/form-data":{"schema":{"type":"object","required":[],"properties":{"channel_id":{"type":"string","description":"The ID of the channel to upload to.","required":true},"file_size":{"type":"number","description":"The size of the file to upload in bytes.","required":true},"filename":{"type":"string","description":"The name of the file to upload.","required":true}}},"example":{"channel_id":["string"],"file_size":[0],"filename":["string"]}}}}}},"/uploads/{upload_id}":{"get":{"tags":["Uploads"],"parameters":[{"name":"upload_id","in":"path","description":"The ID of the upload session to get.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetUpload","api_endpoint":"https://{site_url}/api/v4/uploads/{upload_id}"},"summary":"Get an upload session","description":"Get an upload session | Gets an upload session that has been previously created.\n##### Permissions\nMust be logged in as the user who created the upload session. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]},"post":{"tags":["Uploads"],"parameters":[{"name":"upload_id","in":"path","description":"The ID of the upload session the data belongs to.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UploadData","api_endpoint":"https://{site_url}/api/v4/uploads/{upload_id}"},"summary":"Perform a file upload","description":"Perform a file upload | Starts or resumes a file upload.  \nTo resume an existing (incomplete) upload, data should be sent starting from the offset specified in the upload session object.\nThe request body can be in one of two formats:\n- Binary file content streamed in request's body\n- multipart/form-data\n##### Permissions\nMust be logged in as the user who created the upload session. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":false,"content":{"multipart/form-data":{"schema":{"type":"object","required":[],"properties":{"body":{"type":"string","description":"body (request body parameter from the official API reference)"}}},"example":{"body":["string"]}}}}}},"/jobs":{"get":{"tags":["Jobs"],"parameters":[{"name":"job_type","in":"query","description":"The type of jobs to fetch.","required":false,"schema":{"type":"string","example":""}},{"name":"page","in":"query","description":"The page to select.","required":false,"schema":{"type":"number","example":""}},{"name":"per_page","in":"query","description":"The number of jobs per page.","required":false,"schema":{"type":"number","example":""}},{"name":"status","in":"query","description":"The status of jobs to fetch.","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetJobs","api_endpoint":"https://{site_url}/api/v4/jobs"},"summary":"Get the jobs.","description":"Get the jobs. | Get a page of jobs. Use the query parameters to modify the behaviour of\nthis endpoint.\n__Minimum server version: 4.1__\n##### Permissions\nMust have permission to read at least one job type returned by this call.\nWhen no `job_type` query parameter is set, the server only includes job types your session may read; required permission depends on the job type:\n- `read_data_retention_job` — `data_retention`\n- `read_compliance_export_job` — `message_export`\n- `read_elasticsearch_post_indexing_job` — `elasticsearch_post_indexing`\n- `read_elasticsearch_post_aggregation_job` — `elasticsearch_post_aggregation`\n- `read_ldap_sync_job` — `ldap_sync`\n- `read_jobs` — `migrations`, `plugins`, `product_notices`, `expiry_notify`, `active_users`, `import_process`, `import_delete`, `export_process`, `export_delete`, `cloud`, `mobile_session_metadata`, `extract_content`\n- `manage_system` — `access_control_sync`\nWhen `job_type` is set, you must have the permission that matches that type (same mapping as above).\nThis endpoint does not accept `team_id`. To list `access_control_sync` jobs scoped to a team without `manage_system`, use `GET /api/v4/jobs/type/access_control_sync` with query parameter `team_id` set to the team GUID (requires `manage_team_access_rules` on that team). | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]},"post":{"tags":["Jobs"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#CreateJob","api_endpoint":"https://{site_url}/api/v4/jobs"},"summary":"Create a new job.","description":"Create a new job. | Create a new job.\n__Minimum server version: 4.1__\n##### Permissions\nMust have permission to create the requested job type. Required permission depends on `type`:\n- `create_data_retention_job` — `data_retention`\n- `create_compliance_export_job` — `message_export`\n- `create_elasticsearch_post_indexing_job` — `elasticsearch_post_indexing`\n- `create_elasticsearch_post_aggregation_job` — `elasticsearch_post_aggregation`\n- `create_ldap_sync_job` — `ldap_sync`\n- `manage_jobs` — `migrations`, `plugins`, `product_notices`, `expiry_notify`, `active_users`, `import_process`, `import_delete`, `export_process`, `export_delete`, `cloud`, `extract_content`\n- `access_control_sync` — `manage_system`, or `manage_channel_access_rules` on the channel given in job `data`, or `manage_team_access_rules` on the team in job `data` (see server logic for scoped sync jobs) | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"type":{"type":"string","description":"The type of job to create","required":true},"data":{"type":"object","description":"An object containing any additional data required for this job type","properties":{}}}},"example":{"type":["string"],"data":[{}]}}}}}},"/jobs/{job_id}":{"get":{"tags":["Jobs"],"parameters":[{"name":"job_id","in":"path","description":"Job GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetJob","api_endpoint":"https://{site_url}/api/v4/jobs/{job_id}"},"summary":"Get a job.","description":"Get a job. | Gets a single job.\n__Minimum server version: 4.1__\n##### Permissions\nMust have permission to read the job's type:\n- `read_data_retention_job` — `data_retention`\n- `read_compliance_export_job` — `message_export`\n- `read_elasticsearch_post_indexing_job` — `elasticsearch_post_indexing`\n- `read_elasticsearch_post_aggregation_job` — `elasticsearch_post_aggregation`\n- `read_ldap_sync_job` — `ldap_sync`\n- `read_jobs` — `migrations`, `plugins`, `product_notices`, `expiry_notify`, `active_users`, `import_process`, `import_delete`, `export_process`, `export_delete`, `cloud`, `mobile_session_metadata`, `extract_content`\n- `manage_system` — `access_control_sync` | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/jobs/{job_id}/download":{"get":{"tags":["Jobs"],"parameters":[{"name":"job_id","in":"path","description":"Job GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#DownloadJob","api_endpoint":"https://{site_url}/api/v4/jobs/{job_id}/download"},"summary":"Download the results of a job.","description":"Download the results of a job. | Download the result of a single job.\n__Minimum server version: 5.28__\n##### Permissions\nMust have `download_compliance_export_result` permission for message export jobs. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/jobs/{job_id}/cancel":{"post":{"tags":["Jobs"],"parameters":[{"name":"job_id","in":"path","description":"Job GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#CancelJob","api_endpoint":"https://{site_url}/api/v4/jobs/{job_id}/cancel"},"summary":"Cancel a job.","description":"Cancel a job. | Cancel a job.\n__Minimum server version: 4.1__\n##### Permissions\nSame as creating that job type (cancel uses the create permission check):\n- `create_data_retention_job` — `data_retention`\n- `create_compliance_export_job` — `message_export`\n- `create_elasticsearch_post_indexing_job` — `elasticsearch_post_indexing`\n- `create_elasticsearch_post_aggregation_job` — `elasticsearch_post_aggregation`\n- `create_ldap_sync_job` — `ldap_sync`\n- `manage_jobs` — `migrations`, `plugins`, `product_notices`, `expiry_notify`, `active_users`, `import_process`, `import_delete`, `export_process`, `export_delete`, `cloud`, `extract_content`\n- `access_control_sync` — `manage_system`, or `manage_channel_access_rules` / `manage_team_access_rules` for scoped jobs as when creating | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/jobs/type/{job_type}":{"get":{"tags":["Jobs"],"parameters":[{"name":"job_type","in":"path","description":"Job type","required":true,"schema":{"type":"string","example":""}},{"name":"page","in":"query","description":"The page to select.","required":false,"schema":{"type":"number","example":""}},{"name":"per_page","in":"query","description":"The number of jobs per page.","required":false,"schema":{"type":"number","example":""}},{"name":"team_id","in":"query","description":"Optional team GUID. When set, the server returns jobs of the given `job_type` whose job data includes this `team_id` (see server filtering). For `access_control_sync`, team admins with `manage_team_access_rules` on this team may use this parameter to read team-scoped jobs without `manage_system`.","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetJobsByType","api_endpoint":"https://{site_url}/api/v4/jobs/type/{job_type}"},"summary":"Get the jobs of the given type.","description":"Get the jobs of the given type. | Get a page of jobs of the given type. Use the query parameters to modify\nthe behaviour of this endpoint.\n__Minimum server version: 4.1__\n##### Permissions\nMust have permission to read the path `job_type`, using the same mapping as `GET /api/v4/jobs`:\n- `read_data_retention_job` — `data_retention`\n- `read_compliance_export_job` — `message_export`\n- `read_elasticsearch_post_indexing_job` — `elasticsearch_post_indexing`\n- `read_elasticsearch_post_aggregation_job` — `elasticsearch_post_aggregation`\n- `read_ldap_sync_job` — `ldap_sync`\n- `read_jobs` — `migrations`, `plugins`, `product_notices`, `expiry_notify`, `active_users`, `import_process`, `import_delete`, `export_process`, `export_delete`, `cloud`, `mobile_session_metadata`, `extract_content`\n- `manage_system` — `access_control_sync`\nWhen `job_type` is `access_control_sync` and query parameter `team_id` is set to a valid team GUID, team admins with `manage_team_access_rules` on that team may list jobs scoped to that team without `manage_system`. When `team_id` is set, results include only jobs whose stored data matches that team for the requested type. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/jobs/{job_id}/status":{"patch":{"tags":["Jobs"],"parameters":[{"name":"job_id","in":"path","description":"Job GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UpdateJobStatus","api_endpoint":"https://{site_url}/api/v4/jobs/{job_id}/status"},"summary":"Update the status of a job","description":"Update the status of a job | Update the status of a job. Valid status updates:\n- 'in_progress' -> 'pending'\n- 'in_progress' | 'pending' -> 'cancel_requested'\n- 'cancel_requested' -> 'canceled'\nAdd force to the body of the PATCH request to bypass the given rules, the only statuses you can go to are: pending, cancel_requested and canceled. This can have unexpected consequences and should be used with caution.\n##### Permissions\nMust have permission to manage the job's type:\n- `manage_data_retention_job` — `data_retention`\n- `manage_compliance_export_job` — `message_export`\n- `manage_elasticsearch_post_indexing_job` — `elasticsearch_post_indexing`\n- `manage_elasticsearch_post_aggregation_job` — `elasticsearch_post_aggregation`\n- `manage_ldap_sync_job` — `ldap_sync`\n- `manage_jobs` — `migrations`, `plugins`, `product_notices`, `expiry_notify`, `active_users`, `import_process`, `import_delete`, `export_process`, `export_delete`, `cloud`, `extract_content`\n- `manage_system` — `access_control_sync` | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"force":{"type":"boolean","description":"Set this to true to bypass status restrictions","enum":[true,false]},"status":{"type":"string","description":"The status you want to set","required":true}}},"example":{"force":[false],"status":["string"]}}}}}},"/system/timezones":{"get":{"tags":["System"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetSupportedTimezone","api_endpoint":"https://{site_url}/api/v4/system/timezones"},"summary":"Retrieve a list of supported timezones","description":"Retrieve a list of supported timezones | __Minimum server version__: 3.10\n##### Permissions\nMust be logged in. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/system/ping":{"get":{"tags":["System"],"parameters":[{"name":"device_id","in":"query","description":"Check whether this device id can receive push notifications","required":false,"schema":{"type":"string","example":""}},{"name":"get_server_status","in":"query","description":"Check the status of the database and file storage as well. When true, adds `database_status` and `filestore_status` to the response. If authenticated with `manage_system` permission, also adds `root_status`.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"use_rest_semantics","in":"query","description":"Returns 200 status code even if the server status is unhealthy.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetPing","api_endpoint":"https://{site_url}/api/v4/system/ping"},"summary":"Check system health","description":"Check system health | Check if the server is up and healthy based on the configuration setting `GoRoutineHealthThreshold`. If `GoRoutineHealthThreshold` and the number of goroutines on the server exceeds that threshold the server is considered unhealthy. If `GoRoutineHealthThreshold` is not set or the number of goroutines is below the threshold the server is considered healthy.\n__Minimum server version__: 3.10\nIf a \"device_id\" is passed in the query, it will test the Push Notification Proxy in order to discover whether the device is able to receive notifications. The response will have a \"CanReceiveNotifications\" property with one of the following values: - true: It can receive notifications - false: It cannot receive notifications - unknown: There has been an unknown error, and it is not certain whether it can\n  receive notifications.\n__Minimum server version__: 6.5\nIf \"use_rest_semantics\" is set to true in the query, the endpoint will not return an error status code in the header if the request is somehow completed successfully.\n__Minimum server version__: 9.6\n##### Permissions\nNone. Authentication is not required for this endpoint.\n##### Response Details\nThe response varies based on query parameters and authentication:\n- **Basic response** (no parameters): Returns basic server information including\n  `status`, mobile app versions, and active search backend.\n- **Enhanced response** (`get_server_status=true`): Additionally returns\n  `database_status` and `filestore_status` to verify backend connectivity.\n  Authentication is not required.\n- **Admin response** (`get_server_status=true` with `manage_system` permission):\n  Additionally returns `root_status` indicating whether the server is running as root.\n  Requires authentication with `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/websocket":{"get":{"tags":["System"],"parameters":[{"name":"connection_id","in":"query","description":"Existing connection identifier for reconnect flows.","required":false,"schema":{"type":"string","example":""}},{"name":"disconnect_err_code","in":"query","description":"Optional close code used by clients to indicate disconnect reason.","required":false,"schema":{"type":"string","example":""}},{"name":"posted_ack","in":"query","description":"Whether post acknowledgement events are enabled for this connection.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"sequence_number","in":"query","description":"Last received sequence number for reconnect flows.","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#ConnectWebSocket","api_endpoint":"https://{site_url}/api/v4/websocket"},"summary":"Open a WebSocket connection","description":"Open a WebSocket connection | Upgrades the HTTP connection to a WebSocket connection used for real-time events and websocket actions.\n##### Permissions\nNo permission required to connect. Authentication can be performed via standard API auth (cookie/header)\nor by sending an `authentication_challenge` action after connecting. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/manualtest":{"get":{"tags":["System"],"parameters":[{"name":"teamname","in":"query","description":"Optional team display name used for helper team creation.","required":false,"schema":{"type":"string","example":""}},{"name":"test","in":"query","description":"Name of the manual test to run.","required":true,"schema":{"type":"string","example":""}},{"name":"uid","in":"query","description":"Optional unique value used to randomize generated resources.","required":false,"schema":{"type":"string","example":""}},{"name":"username","in":"query","description":"Optional username used for helper account creation.","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#ManualTest","api_endpoint":"https://{site_url}/manualtest"},"summary":"Run manual testing helpers","description":"Run manual testing helpers | Invokes manual test helpers used by developers and automated manual test scenarios.\nThis endpoint is only registered when `ServiceSettings.EnableTesting` is enabled.\n##### Permissions\nNone. Authentication is not required; this route uses the same handler stack as other unauthenticated API handlers (`APIHandler`).\n__Security note:__ Only enable `EnableTesting` on non-production, developer-oriented deployments. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/system/notices/{team_id}":{"get":{"tags":["System"],"parameters":[{"name":"team_id","in":"path","description":"ID of the team","required":true,"schema":{"type":"string","example":""}},{"name":"client","in":"query","description":"Client type (web/mobile-ios/mobile-android/desktop)","required":true,"schema":{"type":"string","example":""}},{"name":"clientVersion","in":"query","description":"Version of the client (desktop/mobile/web) that issues the request","required":true,"schema":{"type":"string","example":""}},{"name":"locale","in":"query","description":"Client locale","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetNotices","api_endpoint":"https://{site_url}/api/v4/system/notices/{team_id}"},"summary":"Get notices for logged in user in specified team","description":"Get notices for logged in user in specified team | Will return appropriate product notices for current user in the team specified by team_id parameter.\n__Minimum server version__: 5.26\n##### Permissions\nMust be logged in. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/system/notices/view":{"put":{"tags":["System"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#MarkNoticesViewed","api_endpoint":"https://{site_url}/api/v4/system/notices/view"},"summary":"Update notices as 'viewed'","description":"Update notices as 'viewed' | Will mark the specified notices as 'viewed' by the logged in user.\n__Minimum server version__: 5.26\n##### Permissions\nMust be logged in. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"body":{"type":"array","description":"body (request body parameter from the official API reference)","items":{"type":"string"}}}},"example":{"body":[["string"]]}}}}}},"/system/onboarding/complete":{"get":{"tags":["System"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetOnboardingComplete","api_endpoint":"https://{site_url}/api/v4/system/onboarding/complete"},"summary":"Get first admin onboarding completion status","description":"Get first admin onboarding completion status | Get whether first admin onboarding is complete.\n##### Permissions Must have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]},"post":{"tags":["System"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#CompleteOnboarding","api_endpoint":"https://{site_url}/api/v4/system/onboarding/complete"},"summary":"Complete first admin onboarding","description":"Complete first admin onboarding | Mark first admin onboarding as complete and optionally trigger plugin installation.\n##### Permissions Must have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"install_plugins":{"type":"array","description":"Marketplace plugin IDs to install as part of onboarding.","items":{"type":"string"}},"organization":{"type":"string","description":"Organization name for self-hosted onboarding."}}},"example":{"install_plugins":[["string"]],"organization":["string"]}}}}}},"/system/e2e/ai_bridge":{"put":{"tags":["System"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#SetAIBridgeTestHelper","api_endpoint":"https://{site_url}/api/v4/system/e2e/ai_bridge"},"summary":"Configure AI bridge E2E test helper","description":"Configure AI bridge E2E test helper | Configure the in-memory AI bridge test helper used by end-to-end tests to mock agent availability, agent/service listings, queued completion responses, and test-only AI feature flag overrides.\nThis endpoint is only available when `EnableTesting` is enabled. `EnableTesting` is intended only for isolated non-production environments and must never be enabled in production.\n##### Permissions\nMust have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"agent_completions":{"type":"object","description":"Queued mocked completion responses keyed by explicit bridge operation name","properties":{}},"agents":{"type":"array","description":"Mock agent list returned from the bridge","items":{"type":"object","properties":{"displayName":{"type":"string","description":"Human-readable name for the agent"},"id":{"type":"string","description":"Unique identifier for the agent"},"service_id":{"type":"string","description":"ID of the service providing this agent"},"service_type":{"type":"string","description":"Type of the service (e.g., openai, anthropic)"},"username":{"type":"string","description":"Username associated with the agent bot"}}}},"feature_flags":{"type":"object","description":"body.feature_flags (object field from the documented request schema)","properties":{"enable_ai_plugin_bridge":{"type":"boolean","description":"Override for the EnableAIPluginBridge feature flag in test mode","enum":[true,false]},"enable_ai_recaps":{"type":"boolean","description":"Override for the EnableAIRecaps feature flag in test mode","enum":[true,false]}}},"record_requests":{"type":"boolean","description":"Whether bridge requests should be recorded for later inspection","enum":[true,false]},"services":{"type":"array","description":"Mock service list returned from the bridge","items":{"type":"object","properties":{"type":{"type":"string","description":"Type of the service (e.g., openai, anthropic, azure)"},"id":{"type":"string","description":"Unique identifier for the LLM service"},"name":{"type":"string","description":"Name of the LLM service"}}}},"status":{"type":"object","description":"body.status (object field from the documented request schema)","properties":{"available":{"type":"boolean","description":"Whether the mocked AI bridge should be reported as available","enum":[true,false]},"reason":{"type":"string","description":"Optional reason code when the mocked AI bridge is unavailable"}}}}},"example":{"agent_completions":[{}],"agents":[[{"displayName":"string","id":"string","service_id":"string","service_type":"string","username":"string"}]],"feature_flags":[{"enable_ai_plugin_bridge":false,"enable_ai_recaps":false}],"record_requests":[false],"services":[[{"type":"string","id":"string","name":"string"}]],"status":[{"available":false,"reason":"string"}]}}}}},"get":{"tags":["System"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetAIBridgeTestHelper","api_endpoint":"https://{site_url}/api/v4/system/e2e/ai_bridge"},"summary":"Get AI bridge E2E test helper state","description":"Get AI bridge E2E test helper state | Retrieve the current in-memory AI bridge test helper state used for end-to-end tests.\nThis endpoint is only available when `EnableTesting` is enabled. `EnableTesting` is intended only for isolated non-production environments and must never be enabled in production.\n##### Permissions\nMust have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]},"delete":{"tags":["System"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#DeleteAIBridgeTestHelper","api_endpoint":"https://{site_url}/api/v4/system/e2e/ai_bridge"},"summary":"Reset AI bridge E2E test helper","description":"Reset AI bridge E2E test helper | Reset the in-memory AI bridge test helper state used for end-to-end tests.\nThis endpoint is only available when `EnableTesting` is enabled. `EnableTesting` is intended only for isolated non-production environments and must never be enabled in production.\n##### Permissions\nMust have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/database/recycle":{"post":{"tags":["System"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#DatabaseRecycle","api_endpoint":"https://{site_url}/api/v4/database/recycle"},"summary":"Recycle database connections","description":"Recycle database connections | Recycle database connections by closing and reconnecting all connections to master and read replica databases.\n##### Permissions\nMust have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/email/test":{"post":{"tags":["System"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#TestEmail","api_endpoint":"https://{site_url}/api/v4/email/test"},"summary":"Send a test email","description":"Send a test email | Send a test email to make sure you have your email settings configured correctly. Optionally provide a configuration in the request body to test. If no valid configuration is present in the request body the current server configuration will be tested.\n##### Permissions\nMust have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"AnalyticsSettings":{"type":"object","description":"body.AnalyticsSettings (object field from the documented request schema)","properties":{"MaxUsersForStatistics":{"type":"number","description":"body.AnalyticsSettings.MaxUsersForStatistics (number field from the documented request schema)"}}},"ClusterSettings":{"type":"object","description":"body.ClusterSettings (object field from the documented request schema)","properties":{"Enable":{"type":"boolean","description":"body.ClusterSettings.Enable (boolean field from the documented request schema)","enum":[true,false]},"InterNodeListenAddress":{"type":"string","description":"body.ClusterSettings.InterNodeListenAddress (string field from the documented request schema)"},"InterNodeUrls":{"type":"array","description":"body.ClusterSettings.InterNodeUrls (array field from the documented request schema)"}}},"ComplianceSettings":{"type":"object","description":"body.ComplianceSettings (object field from the documented request schema)","properties":{"Directory":{"type":"string","description":"body.ComplianceSettings.Directory (string field from the documented request schema)"},"Enable":{"type":"boolean","description":"body.ComplianceSettings.Enable (boolean field from the documented request schema)","enum":[true,false]},"EnableDaily":{"type":"boolean","description":"body.ComplianceSettings.EnableDaily (boolean field from the documented request schema)","enum":[true,false]}}},"EmailSettings":{"type":"object","description":"body.EmailSettings (object field from the documented request schema)","properties":{"ConnectionSecurity":{"type":"string","description":"body.EmailSettings.ConnectionSecurity (string field from the documented request schema)"},"EmailBatchingBufferSize":{"type":"number","description":"body.EmailSettings.EmailBatchingBufferSize (number field from the documented request schema)"},"EmailBatchingInterval":{"type":"number","description":"body.EmailSettings.EmailBatchingInterval (number field from the documented request schema)"},"EnableEmailBatching":{"type":"boolean","description":"body.EmailSettings.EnableEmailBatching (boolean field from the documented request schema)","enum":[true,false]},"EnableSignInWithEmail":{"type":"boolean","description":"body.EmailSettings.EnableSignInWithEmail (boolean field from the documented request schema)","enum":[true,false]},"EnableSignInWithUsername":{"type":"boolean","description":"body.EmailSettings.EnableSignInWithUsername (boolean field from the documented request schema)","enum":[true,false]},"EnableSignUpWithEmail":{"type":"boolean","description":"body.EmailSettings.EnableSignUpWithEmail (boolean field from the documented request schema)","enum":[true,false]},"FeedbackEmail":{"type":"string","description":"body.EmailSettings.FeedbackEmail (string field from the documented request schema)"},"FeedbackName":{"type":"string","description":"body.EmailSettings.FeedbackName (string field from the documented request schema)"},"FeedbackOrganization":{"type":"string","description":"body.EmailSettings.FeedbackOrganization (string field from the documented request schema)"},"InviteSalt":{"type":"string","description":"body.EmailSettings.InviteSalt (string field from the documented request schema)"},"PasswordResetSalt":{"type":"string","description":"body.EmailSettings.PasswordResetSalt (string field from the documented request schema)"},"PushNotificationContents":{"type":"string","description":"body.EmailSettings.PushNotificationContents (string field from the documented request schema)"},"PushNotificationServer":{"type":"string","description":"body.EmailSettings.PushNotificationServer (string field from the documented request schema)"},"RequireEmailVerification":{"type":"boolean","description":"body.EmailSettings.RequireEmailVerification (boolean field from the documented request schema)","enum":[true,false]},"SMTPPassword":{"type":"string","description":"body.EmailSettings.SMTPPassword (string field from the documented request schema)"},"SMTPPort":{"type":"string","description":"body.EmailSettings.SMTPPort (string field from the documented request schema)"},"SMTPServer":{"type":"string","description":"body.EmailSettings.SMTPServer (string field from the documented request schema)"},"SMTPUsername":{"type":"string","description":"body.EmailSettings.SMTPUsername (string field from the documented request schema)"},"SendEmailNotifications":{"type":"boolean","description":"body.EmailSettings.SendEmailNotifications (boolean field from the documented request schema)","enum":[true,false]},"SendPushNotifications":{"type":"boolean","description":"body.EmailSettings.SendPushNotifications (boolean field from the documented request schema)","enum":[true,false]}}},"FileSettings":{"type":"object","description":"body.FileSettings (object field from the documented request schema)","properties":{"AmazonS3AccessKeyId":{"type":"string","description":"body.FileSettings.AmazonS3AccessKeyId (string field from the documented request schema)"},"AmazonS3Bucket":{"type":"string","description":"body.FileSettings.AmazonS3Bucket (string field from the documented request schema)"},"AmazonS3Endpoint":{"type":"string","description":"body.FileSettings.AmazonS3Endpoint (string field from the documented request schema)"},"AmazonS3Region":{"type":"string","description":"body.FileSettings.AmazonS3Region (string field from the documented request schema)"},"AmazonS3SSL":{"type":"boolean","description":"body.FileSettings.AmazonS3SSL (boolean field from the documented request schema)","enum":[true,false]},"AmazonS3SecretAccessKey":{"type":"string","description":"body.FileSettings.AmazonS3SecretAccessKey (string field from the documented request schema)"},"AmazonS3StorageClass":{"type":"string","description":"body.FileSettings.AmazonS3StorageClass (string field from the documented request schema)"},"Directory":{"type":"string","description":"body.FileSettings.Directory (string field from the documented request schema)"},"DriverName":{"type":"string","description":"body.FileSettings.DriverName (string field from the documented request schema)"},"EnablePublicLink":{"type":"boolean","description":"body.FileSettings.EnablePublicLink (boolean field from the documented request schema)","enum":[true,false]},"InitialFont":{"type":"string","description":"body.FileSettings.InitialFont (string field from the documented request schema)"},"MaxFileSize":{"type":"number","description":"body.FileSettings.MaxFileSize (number field from the documented request schema)"},"PreviewHeight":{"type":"number","description":"body.FileSettings.PreviewHeight (number field from the documented request schema)"},"PreviewWidth":{"type":"number","description":"body.FileSettings.PreviewWidth (number field from the documented request schema)"},"ProfileHeight":{"type":"number","description":"body.FileSettings.ProfileHeight (number field from the documented request schema)"},"ProfileWidth":{"type":"number","description":"body.FileSettings.ProfileWidth (number field from the documented request schema)"},"PublicLinkSalt":{"type":"string","description":"body.FileSettings.PublicLinkSalt (string field from the documented request schema)"},"ThumbnailHeight":{"type":"number","description":"body.FileSettings.ThumbnailHeight (number field from the documented request schema)"},"ThumbnailWidth":{"type":"number","description":"body.FileSettings.ThumbnailWidth (number field from the documented request schema)"}}},"GitLabSettings":{"type":"object","description":"body.GitLabSettings (object field from the documented request schema)","properties":{"AuthEndpoint":{"type":"string","description":"body.GitLabSettings.AuthEndpoint (string field from the documented request schema)"},"Enable":{"type":"boolean","description":"body.GitLabSettings.Enable (boolean field from the documented request schema)","enum":[true,false]},"Id":{"type":"string","description":"body.GitLabSettings.Id (string field from the documented request schema)"},"Scope":{"type":"string","description":"body.GitLabSettings.Scope (string field from the documented request schema)"},"Secret":{"type":"string","description":"body.GitLabSettings.Secret (string field from the documented request schema)"},"TokenEndpoint":{"type":"string","description":"body.GitLabSettings.TokenEndpoint (string field from the documented request schema)"},"UserApiEndpoint":{"type":"string","description":"body.GitLabSettings.UserApiEndpoint (string field from the documented request schema)"}}},"GoogleSettings":{"type":"object","description":"body.GoogleSettings (object field from the documented request schema)","properties":{"AuthEndpoint":{"type":"string","description":"body.GoogleSettings.AuthEndpoint (string field from the documented request schema)"},"Enable":{"type":"boolean","description":"body.GoogleSettings.Enable (boolean field from the documented request schema)","enum":[true,false]},"Id":{"type":"string","description":"body.GoogleSettings.Id (string field from the documented request schema)"},"Scope":{"type":"string","description":"body.GoogleSettings.Scope (string field from the documented request schema)"},"Secret":{"type":"string","description":"body.GoogleSettings.Secret (string field from the documented request schema)"},"TokenEndpoint":{"type":"string","description":"body.GoogleSettings.TokenEndpoint (string field from the documented request schema)"},"UserApiEndpoint":{"type":"string","description":"body.GoogleSettings.UserApiEndpoint (string field from the documented request schema)"}}},"LdapSettings":{"type":"object","description":"body.LdapSettings (object field from the documented request schema)","properties":{"BaseDN":{"type":"string","description":"body.LdapSettings.BaseDN (string field from the documented request schema)"},"BindPassword":{"type":"string","description":"body.LdapSettings.BindPassword (string field from the documented request schema)"},"BindUsername":{"type":"string","description":"body.LdapSettings.BindUsername (string field from the documented request schema)"},"ConnectionSecurity":{"type":"string","description":"body.LdapSettings.ConnectionSecurity (string field from the documented request schema)"},"EmailAttribute":{"type":"string","description":"body.LdapSettings.EmailAttribute (string field from the documented request schema)"},"Enable":{"type":"boolean","description":"body.LdapSettings.Enable (boolean field from the documented request schema)","enum":[true,false]},"FirstNameAttribute":{"type":"string","description":"body.LdapSettings.FirstNameAttribute (string field from the documented request schema)"},"IdAttribute":{"type":"string","description":"body.LdapSettings.IdAttribute (string field from the documented request schema)"},"LastNameAttribute":{"type":"string","description":"body.LdapSettings.LastNameAttribute (string field from the documented request schema)"},"LdapPort":{"type":"number","description":"body.LdapSettings.LdapPort (number field from the documented request schema)"},"LdapServer":{"type":"string","description":"body.LdapSettings.LdapServer (string field from the documented request schema)"},"LoginFieldName":{"type":"string","description":"body.LdapSettings.LoginFieldName (string field from the documented request schema)"},"MaxPageSize":{"type":"number","description":"body.LdapSettings.MaxPageSize (number field from the documented request schema)"},"NicknameAttribute":{"type":"string","description":"body.LdapSettings.NicknameAttribute (string field from the documented request schema)"},"PositionAttribute":{"type":"string","description":"body.LdapSettings.PositionAttribute (string field from the documented request schema)"},"QueryTimeout":{"type":"number","description":"body.LdapSettings.QueryTimeout (number field from the documented request schema)"},"SkipCertificateVerification":{"type":"boolean","description":"body.LdapSettings.SkipCertificateVerification (boolean field from the documented request schema)","enum":[true,false]},"SyncIntervalMinutes":{"type":"number","description":"body.LdapSettings.SyncIntervalMinutes (number field from the documented request schema)"},"UserFilter":{"type":"string","description":"body.LdapSettings.UserFilter (string field from the documented request schema)"},"UsernameAttribute":{"type":"string","description":"body.LdapSettings.UsernameAttribute (string field from the documented request schema)"}}},"LocalizationSettings":{"type":"object","description":"body.LocalizationSettings (object field from the documented request schema)","properties":{"AvailableLocales":{"type":"string","description":"body.LocalizationSettings.AvailableLocales (string field from the documented request schema)"},"DefaultClientLocale":{"type":"string","description":"body.LocalizationSettings.DefaultClientLocale (string field from the documented request schema)"},"DefaultServerLocale":{"type":"string","description":"body.LocalizationSettings.DefaultServerLocale (string field from the documented request schema)"}}},"LogSettings":{"type":"object","description":"body.LogSettings (object field from the documented request schema)","properties":{"ConsoleLevel":{"type":"string","description":"body.LogSettings.ConsoleLevel (string field from the documented request schema)"},"EnableConsole":{"type":"boolean","description":"body.LogSettings.EnableConsole (boolean field from the documented request schema)","enum":[true,false]},"EnableDiagnostics":{"type":"boolean","description":"body.LogSettings.EnableDiagnostics (boolean field from the documented request schema)","enum":[true,false]},"EnableFile":{"type":"boolean","description":"body.LogSettings.EnableFile (boolean field from the documented request schema)","enum":[true,false]},"EnableWebhookDebugging":{"type":"boolean","description":"body.LogSettings.EnableWebhookDebugging (boolean field from the documented request schema)","enum":[true,false]},"FileLevel":{"type":"string","description":"body.LogSettings.FileLevel (string field from the documented request schema)"},"FileLocation":{"type":"string","description":"body.LogSettings.FileLocation (string field from the documented request schema)"}}},"MetricsSettings":{"type":"object","description":"body.MetricsSettings (object field from the documented request schema)","properties":{"BlockProfileRate":{"type":"number","description":"body.MetricsSettings.BlockProfileRate (number field from the documented request schema)"},"Enable":{"type":"boolean","description":"body.MetricsSettings.Enable (boolean field from the documented request schema)","enum":[true,false]},"ListenAddress":{"type":"string","description":"body.MetricsSettings.ListenAddress (string field from the documented request schema)"}}},"NativeAppSettings":{"type":"object","description":"body.NativeAppSettings (object field from the documented request schema)","properties":{"AndroidAppDownloadLink":{"type":"string","description":"body.NativeAppSettings.AndroidAppDownloadLink (string field from the documented request schema)"},"AppDownloadLink":{"type":"string","description":"body.NativeAppSettings.AppDownloadLink (string field from the documented request schema)"},"IosAppDownloadLink":{"type":"string","description":"body.NativeAppSettings.IosAppDownloadLink (string field from the documented request schema)"}}},"Office365Settings":{"type":"object","description":"body.Office365Settings (object field from the documented request schema)","properties":{"AuthEndpoint":{"type":"string","description":"body.Office365Settings.AuthEndpoint (string field from the documented request schema)"},"Enable":{"type":"boolean","description":"body.Office365Settings.Enable (boolean field from the documented request schema)","enum":[true,false]},"Id":{"type":"string","description":"body.Office365Settings.Id (string field from the documented request schema)"},"Scope":{"type":"string","description":"body.Office365Settings.Scope (string field from the documented request schema)"},"Secret":{"type":"string","description":"body.Office365Settings.Secret (string field from the documented request schema)"},"TokenEndpoint":{"type":"string","description":"body.Office365Settings.TokenEndpoint (string field from the documented request schema)"},"UserApiEndpoint":{"type":"string","description":"body.Office365Settings.UserApiEndpoint (string field from the documented request schema)"}}},"PasswordSettings":{"type":"object","description":"body.PasswordSettings (object field from the documented request schema)","properties":{"Lowercase":{"type":"boolean","description":"body.PasswordSettings.Lowercase (boolean field from the documented request schema)","enum":[true,false]},"MinimumLength":{"type":"number","description":"body.PasswordSettings.MinimumLength (number field from the documented request schema)"},"Number":{"type":"boolean","description":"body.PasswordSettings.Number (boolean field from the documented request schema)","enum":[true,false]},"Symbol":{"type":"boolean","description":"body.PasswordSettings.Symbol (boolean field from the documented request schema)","enum":[true,false]},"Uppercase":{"type":"boolean","description":"body.PasswordSettings.Uppercase (boolean field from the documented request schema)","enum":[true,false]}}},"PrivacySettings":{"type":"object","description":"body.PrivacySettings (object field from the documented request schema)","properties":{"ShowEmailAddress":{"type":"boolean","description":"body.PrivacySettings.ShowEmailAddress (boolean field from the documented request schema)","enum":[true,false]},"ShowFullName":{"type":"boolean","description":"body.PrivacySettings.ShowFullName (boolean field from the documented request schema)","enum":[true,false]}}},"RateLimitSettings":{"type":"object","description":"body.RateLimitSettings (object field from the documented request schema)","properties":{"Enable":{"type":"boolean","description":"body.RateLimitSettings.Enable (boolean field from the documented request schema)","enum":[true,false]},"MaxBurst":{"type":"number","description":"body.RateLimitSettings.MaxBurst (number field from the documented request schema)"},"MemoryStoreSize":{"type":"number","description":"body.RateLimitSettings.MemoryStoreSize (number field from the documented request schema)"},"PerSec":{"type":"number","description":"body.RateLimitSettings.PerSec (number field from the documented request schema)"},"VaryByHeader":{"type":"string","description":"body.RateLimitSettings.VaryByHeader (string field from the documented request schema)"},"VaryByRemoteAddr":{"type":"boolean","description":"body.RateLimitSettings.VaryByRemoteAddr (boolean field from the documented request schema)","enum":[true,false]}}},"SamlSettings":{"type":"object","description":"body.SamlSettings (object field from the documented request schema)","properties":{"AssertionConsumerServiceURL":{"type":"string","description":"body.SamlSettings.AssertionConsumerServiceURL (string field from the documented request schema)"},"EmailAttribute":{"type":"string","description":"body.SamlSettings.EmailAttribute (string field from the documented request schema)"},"Enable":{"type":"boolean","description":"body.SamlSettings.Enable (boolean field from the documented request schema)","enum":[true,false]},"Encrypt":{"type":"boolean","description":"body.SamlSettings.Encrypt (boolean field from the documented request schema)","enum":[true,false]},"FirstNameAttribute":{"type":"string","description":"body.SamlSettings.FirstNameAttribute (string field from the documented request schema)"},"IdpCertificateFile":{"type":"string","description":"body.SamlSettings.IdpCertificateFile (string field from the documented request schema)"},"IdpDescriptorUrl":{"type":"string","description":"body.SamlSettings.IdpDescriptorUrl (string field from the documented request schema)"},"IdpUrl":{"type":"string","description":"body.SamlSettings.IdpUrl (string field from the documented request schema)"},"LastNameAttribute":{"type":"string","description":"body.SamlSettings.LastNameAttribute (string field from the documented request schema)"},"LocaleAttribute":{"type":"string","description":"body.SamlSettings.LocaleAttribute (string field from the documented request schema)"},"LoginButtonText":{"type":"string","description":"body.SamlSettings.LoginButtonText (string field from the documented request schema)"},"NicknameAttribute":{"type":"string","description":"body.SamlSettings.NicknameAttribute (string field from the documented request schema)"},"PositionAttribute":{"type":"string","description":"body.SamlSettings.PositionAttribute (string field from the documented request schema)"},"PrivateKeyFile":{"type":"string","description":"body.SamlSettings.PrivateKeyFile (string field from the documented request schema)"},"PublicCertificateFile":{"type":"string","description":"body.SamlSettings.PublicCertificateFile (string field from the documented request schema)"},"UsernameAttribute":{"type":"string","description":"body.SamlSettings.UsernameAttribute (string field from the documented request schema)"},"Verify":{"type":"boolean","description":"body.SamlSettings.Verify (boolean field from the documented request schema)","enum":[true,false]}}},"ServiceSettings":{"type":"object","description":"body.ServiceSettings (object field from the documented request schema)","properties":{"AllowCorsFrom":{"type":"string","description":"body.ServiceSettings.AllowCorsFrom (string field from the documented request schema)"},"ConnectionSecurity":{"type":"string","description":"body.ServiceSettings.ConnectionSecurity (string field from the documented request schema)"},"EnableCommands":{"type":"boolean","description":"body.ServiceSettings.EnableCommands (boolean field from the documented request schema)","enum":[true,false]},"EnableCustomEmoji":{"type":"boolean","description":"body.ServiceSettings.EnableCustomEmoji (boolean field from the documented request schema)","enum":[true,false]},"EnableDeveloper":{"type":"boolean","description":"body.ServiceSettings.EnableDeveloper (boolean field from the documented request schema)","enum":[true,false]},"EnableIncomingWebhooks":{"type":"boolean","description":"body.ServiceSettings.EnableIncomingWebhooks (boolean field from the documented request schema)","enum":[true,false]},"EnableInsecureOutgoingConnections":{"type":"boolean","description":"body.ServiceSettings.EnableInsecureOutgoingConnections (boolean field from the documented request schema)","enum":[true,false]},"EnableMultifactorAuthentication":{"type":"boolean","description":"body.ServiceSettings.EnableMultifactorAuthentication (boolean field from the documented request schema)","enum":[true,false]},"EnableOAuthServiceProvider":{"type":"boolean","description":"body.ServiceSettings.EnableOAuthServiceProvider (boolean field from the documented request schema)","enum":[true,false]},"EnableOnlyAdminIntegrations":{"type":"boolean","description":"body.ServiceSettings.EnableOnlyAdminIntegrations (boolean field from the documented request schema)","enum":[true,false]},"EnableOutgoingWebhooks":{"type":"boolean","description":"body.ServiceSettings.EnableOutgoingWebhooks (boolean field from the documented request schema)","enum":[true,false]},"EnablePostIconOverride":{"type":"boolean","description":"body.ServiceSettings.EnablePostIconOverride (boolean field from the documented request schema)","enum":[true,false]},"EnablePostUsernameOverride":{"type":"boolean","description":"body.ServiceSettings.EnablePostUsernameOverride (boolean field from the documented request schema)","enum":[true,false]},"EnableSecurityFixAlert":{"type":"boolean","description":"body.ServiceSettings.EnableSecurityFixAlert (boolean field from the documented request schema)","enum":[true,false]},"EnableTesting":{"type":"boolean","description":"Intended only for isolated non-production environments and must never be enabled in production.","enum":[true,false]},"EnforceMultifactorAuthentication":{"type":"boolean","description":"body.ServiceSettings.EnforceMultifactorAuthentication (boolean field from the documented request schema)","enum":[true,false]},"Forward80To443":{"type":"boolean","description":"body.ServiceSettings.Forward80To443 (boolean field from the documented request schema)","enum":[true,false]},"GoogleDeveloperKey":{"type":"string","description":"body.ServiceSettings.GoogleDeveloperKey (string field from the documented request schema)"},"LetsEncryptCertificateCacheFile":{"type":"string","description":"body.ServiceSettings.LetsEncryptCertificateCacheFile (string field from the documented request schema)"},"ListenAddress":{"type":"string","description":"body.ServiceSettings.ListenAddress (string field from the documented request schema)"},"MaximumLoginAttempts":{"type":"number","description":"body.ServiceSettings.MaximumLoginAttempts (number field from the documented request schema)"},"ReadTimeout":{"type":"number","description":"body.ServiceSettings.ReadTimeout (number field from the documented request schema)"},"RestrictCustomEmojiCreation":{"type":"string","description":"body.ServiceSettings.RestrictCustomEmojiCreation (string field from the documented request schema)"},"SegmentDeveloperKey":{"type":"string","description":"body.ServiceSettings.SegmentDeveloperKey (string field from the documented request schema)"},"SessionCacheInMinutes":{"type":"number","description":"body.ServiceSettings.SessionCacheInMinutes (number field from the documented request schema)"},"SessionLengthMobileInDays":{"type":"number","description":"body.ServiceSettings.SessionLengthMobileInDays (number field from the documented request schema)"},"SessionLengthSSOInDays":{"type":"number","description":"body.ServiceSettings.SessionLengthSSOInDays (number field from the documented request schema)"},"SessionLengthWebInDays":{"type":"number","description":"body.ServiceSettings.SessionLengthWebInDays (number field from the documented request schema)"},"SiteURL":{"type":"string","description":"body.ServiceSettings.SiteURL (string field from the documented request schema)"},"TLSCertFile":{"type":"string","description":"body.ServiceSettings.TLSCertFile (string field from the documented request schema)"},"TLSKeyFile":{"type":"string","description":"body.ServiceSettings.TLSKeyFile (string field from the documented request schema)"},"UseLetsEncrypt":{"type":"boolean","description":"body.ServiceSettings.UseLetsEncrypt (boolean field from the documented request schema)","enum":[true,false]},"WebserverMode":{"type":"string","description":"body.ServiceSettings.WebserverMode (string field from the documented request schema)"},"WebsocketPort":{"type":"number","description":"body.ServiceSettings.WebsocketPort (number field from the documented request schema)"},"WebsocketSecurePort":{"type":"number","description":"body.ServiceSettings.WebsocketSecurePort (number field from the documented request schema)"},"WriteTimeout":{"type":"number","description":"body.ServiceSettings.WriteTimeout (number field from the documented request schema)"}}},"SqlSettings":{"type":"object","description":"body.SqlSettings (object field from the documented request schema)","properties":{"AtRestEncryptKey":{"type":"string","description":"body.SqlSettings.AtRestEncryptKey (string field from the documented request schema)"},"DataSource":{"type":"string","description":"body.SqlSettings.DataSource (string field from the documented request schema)"},"DataSourceReplicas":{"type":"array","description":"body.SqlSettings.DataSourceReplicas (array field from the documented request schema)"},"DriverName":{"type":"string","description":"body.SqlSettings.DriverName (string field from the documented request schema)"},"MaxIdleConns":{"type":"number","description":"body.SqlSettings.MaxIdleConns (number field from the documented request schema)"},"MaxOpenConns":{"type":"number","description":"body.SqlSettings.MaxOpenConns (number field from the documented request schema)"},"Trace":{"type":"boolean","description":"body.SqlSettings.Trace (boolean field from the documented request schema)","enum":[true,false]}}},"SupportSettings":{"type":"object","description":"body.SupportSettings (object field from the documented request schema)","properties":{"AboutLink":{"type":"string","description":"body.SupportSettings.AboutLink (string field from the documented request schema)"},"AllowDownloadLogs":{"type":"boolean","description":"body.SupportSettings.AllowDownloadLogs (boolean field from the documented request schema)","enum":[true,false]},"HelpLink":{"type":"string","description":"body.SupportSettings.HelpLink (string field from the documented request schema)"},"PrivacyPolicyLink":{"type":"string","description":"body.SupportSettings.PrivacyPolicyLink (string field from the documented request schema)"},"ReportAProblemLink":{"type":"string","description":"body.SupportSettings.ReportAProblemLink (string field from the documented request schema)"},"ReportAProblemMail":{"type":"string","description":"body.SupportSettings.ReportAProblemMail (string field from the documented request schema)"},"ReportAProblemType":{"type":"string","description":"body.SupportSettings.ReportAProblemType (string field from the documented request schema)"},"SupportEmail":{"type":"string","description":"body.SupportSettings.SupportEmail (string field from the documented request schema)"},"TermsOfServiceLink":{"type":"string","description":"body.SupportSettings.TermsOfServiceLink (string field from the documented request schema)"}}},"TeamSettings":{"type":"object","description":"body.TeamSettings (object field from the documented request schema)","properties":{"CustomBrandText":{"type":"string","description":"body.TeamSettings.CustomBrandText (string field from the documented request schema)"},"CustomDescriptionText":{"type":"string","description":"body.TeamSettings.CustomDescriptionText (string field from the documented request schema)"},"EnableCustomBrand":{"type":"boolean","description":"body.TeamSettings.EnableCustomBrand (boolean field from the documented request schema)","enum":[true,false]},"EnableOpenServer":{"type":"boolean","description":"body.TeamSettings.EnableOpenServer (boolean field from the documented request schema)","enum":[true,false]},"EnableTeamCreation":{"type":"boolean","description":"body.TeamSettings.EnableTeamCreation (boolean field from the documented request schema)","enum":[true,false]},"EnableUserCreation":{"type":"boolean","description":"body.TeamSettings.EnableUserCreation (boolean field from the documented request schema)","enum":[true,false]},"MaxChannelsPerTeam":{"type":"number","description":"body.TeamSettings.MaxChannelsPerTeam (number field from the documented request schema)"},"MaxNotificationsPerChannel":{"type":"number","description":"body.TeamSettings.MaxNotificationsPerChannel (number field from the documented request schema)"},"MaxUsersPerTeam":{"type":"number","description":"body.TeamSettings.MaxUsersPerTeam (number field from the documented request schema)"},"RestrictCreationToDomains":{"type":"string","description":"body.TeamSettings.RestrictCreationToDomains (string field from the documented request schema)"},"RestrictDirectMessage":{"type":"string","description":"body.TeamSettings.RestrictDirectMessage (string field from the documented request schema)"},"RestrictPrivateChannelCreation":{"type":"string","description":"body.TeamSettings.RestrictPrivateChannelCreation (string field from the documented request schema)"},"RestrictPrivateChannelDeletion":{"type":"string","description":"body.TeamSettings.RestrictPrivateChannelDeletion (string field from the documented request schema)"},"RestrictPrivateChannelManagement":{"type":"string","description":"body.TeamSettings.RestrictPrivateChannelManagement (string field from the documented request schema)"},"RestrictPublicChannelCreation":{"type":"string","description":"body.TeamSettings.RestrictPublicChannelCreation (string field from the documented request schema)"},"RestrictPublicChannelDeletion":{"type":"string","description":"body.TeamSettings.RestrictPublicChannelDeletion (string field from the documented request schema)"},"RestrictPublicChannelManagement":{"type":"string","description":"body.TeamSettings.RestrictPublicChannelManagement (string field from the documented request schema)"},"RestrictTeamInvite":{"type":"string","description":"body.TeamSettings.RestrictTeamInvite (string field from the documented request schema)"},"SiteName":{"type":"string","description":"body.TeamSettings.SiteName (string field from the documented request schema)"},"UserStatusAwayTimeout":{"type":"number","description":"body.TeamSettings.UserStatusAwayTimeout (number field from the documented request schema)"}}}}},"example":{"AnalyticsSettings":[{"MaxUsersForStatistics":0}],"ClusterSettings":[{"Enable":false,"InterNodeListenAddress":"string","InterNodeUrls":["string"]}],"ComplianceSettings":[{"Directory":"string","Enable":false,"EnableDaily":false}],"EmailSettings":[{"EnableSignInWithEmail":false,"EnableSignInWithUsername":false,"EnableSignUpWithEmail":false,"FeedbackEmail":"string","FeedbackName":"string","FeedbackOrganization":"string","RequireEmailVerification":false,"SMTPPassword":"string","SMTPPort":"string","SMTPServer":"string","SMTPUsername":"string","SendEmailNotifications":false}],"FileSettings":[{"Directory":"string","DriverName":"string","EnablePublicLink":false,"InitialFont":"string","MaxFileSize":0,"PreviewHeight":0,"PreviewWidth":0,"ProfileHeight":0,"ProfileWidth":0,"PublicLinkSalt":"string","ThumbnailHeight":0,"ThumbnailWidth":0}],"GitLabSettings":[{"AuthEndpoint":"string","Enable":false,"Id":"string","Scope":"string","Secret":"string","TokenEndpoint":"string","UserApiEndpoint":"string"}],"GoogleSettings":[{"AuthEndpoint":"string","Enable":false,"Id":"string","Scope":"string","Secret":"string","TokenEndpoint":"string","UserApiEndpoint":"string"}],"LdapSettings":[{"BaseDN":"string","BindPassword":"string","BindUsername":"string","ConnectionSecurity":"string","EmailAttribute":"string","Enable":false,"FirstNameAttribute":"string","LastNameAttribute":"string","LdapPort":0,"LdapServer":"string","UserFilter":"string","UsernameAttribute":"string"}],"LocalizationSettings":[{"AvailableLocales":"string","DefaultClientLocale":"string","DefaultServerLocale":"string"}],"LogSettings":[{"ConsoleLevel":"string","EnableConsole":false,"EnableDiagnostics":false,"EnableFile":false,"EnableWebhookDebugging":false,"FileLevel":"string","FileLocation":"string"}],"MetricsSettings":[{"BlockProfileRate":0,"Enable":false,"ListenAddress":"string"}],"NativeAppSettings":[{"AndroidAppDownloadLink":"string","AppDownloadLink":"string","IosAppDownloadLink":"string"}],"Office365Settings":[{"AuthEndpoint":"string","Enable":false,"Id":"string","Scope":"string","Secret":"string","TokenEndpoint":"string","UserApiEndpoint":"string"}],"PasswordSettings":[{"Lowercase":false,"MinimumLength":0,"Number":false,"Symbol":false,"Uppercase":false}],"PrivacySettings":[{"ShowEmailAddress":false,"ShowFullName":false}],"RateLimitSettings":[{"Enable":false,"MaxBurst":0,"MemoryStoreSize":0,"PerSec":0,"VaryByHeader":"string","VaryByRemoteAddr":false}],"SamlSettings":[{"AssertionConsumerServiceURL":"string","EmailAttribute":"string","Enable":false,"Encrypt":false,"FirstNameAttribute":"string","IdpCertificateFile":"string","IdpDescriptorUrl":"string","IdpUrl":"string","LastNameAttribute":"string","PrivateKeyFile":"string","PublicCertificateFile":"string","Verify":false}],"ServiceSettings":[{"ConnectionSecurity":"string","Forward80To443":false,"LetsEncryptCertificateCacheFile":"string","ListenAddress":"string","MaximumLoginAttempts":0,"ReadTimeout":0,"SegmentDeveloperKey":"string","SiteURL":"string","TLSCertFile":"string","TLSKeyFile":"string","UseLetsEncrypt":false,"WriteTimeout":0}],"SqlSettings":[{"AtRestEncryptKey":"string","DataSource":"string","DataSourceReplicas":["string"],"DriverName":"string","MaxIdleConns":0,"MaxOpenConns":0,"Trace":false}],"SupportSettings":[{"AboutLink":"string","AllowDownloadLogs":false,"HelpLink":"string","PrivacyPolicyLink":"string","ReportAProblemLink":"string","ReportAProblemMail":"string","ReportAProblemType":"string","SupportEmail":"string","TermsOfServiceLink":"string"}],"TeamSettings":[{"CustomBrandText":"string","CustomDescriptionText":"string","EnableCustomBrand":false,"EnableOpenServer":false,"EnableTeamCreation":false,"EnableUserCreation":false,"MaxUsersPerTeam":0,"RestrictCreationToDomains":"string","RestrictDirectMessage":"string","RestrictPublicChannelManagement":"string","RestrictTeamInvite":"string","SiteName":"string"}]}}}}}},"/notifications/test":{"post":{"tags":["System"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#TestNotification","api_endpoint":"https://{site_url}/api/v4/notifications/test"},"summary":"Send a test notification","description":"Send a test notification | Send a test notification to make sure you have your notification settings configured correctly.\n##### Permissions\nMust be logged in. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/site_url/test":{"post":{"tags":["System"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#TestSiteURL","api_endpoint":"https://{site_url}/api/v4/site_url/test"},"summary":"Checks the validity of a Site URL","description":"Checks the validity of a Site URL | Sends a Ping request to the mattermost server using the specified Site URL.\n##### Permissions\nMust have `manage_system` permission.\n__Minimum server version__: 5.16 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"site_url":{"type":"string","description":"The Site URL to test","required":true}}},"example":{"site_url":["string"]}}}}}},"/file/test":{"post":{"tags":["System"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#TestFileStoreConnection","api_endpoint":"https://{site_url}/api/v4/file/test"},"summary":"Test the configured file storage backend","description":"Test the configured file storage backend | Send a test to validate that the server can connect to the configured file storage backend (local, Amazon S3, or Azure Blob Storage). Optionally provide a configuration in the request body to test. If no valid configuration is present in the request body the current server configuration will be tested.\n##### Permissions\nMust have `manage_system` permission.\n__Minimum server version__: 11.10 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"AnalyticsSettings":{"type":"object","description":"body.AnalyticsSettings (object field from the documented request schema)","properties":{"MaxUsersForStatistics":{"type":"number","description":"body.AnalyticsSettings.MaxUsersForStatistics (number field from the documented request schema)"}}},"ClusterSettings":{"type":"object","description":"body.ClusterSettings (object field from the documented request schema)","properties":{"Enable":{"type":"boolean","description":"body.ClusterSettings.Enable (boolean field from the documented request schema)","enum":[true,false]},"InterNodeListenAddress":{"type":"string","description":"body.ClusterSettings.InterNodeListenAddress (string field from the documented request schema)"},"InterNodeUrls":{"type":"array","description":"body.ClusterSettings.InterNodeUrls (array field from the documented request schema)"}}},"ComplianceSettings":{"type":"object","description":"body.ComplianceSettings (object field from the documented request schema)","properties":{"Directory":{"type":"string","description":"body.ComplianceSettings.Directory (string field from the documented request schema)"},"Enable":{"type":"boolean","description":"body.ComplianceSettings.Enable (boolean field from the documented request schema)","enum":[true,false]},"EnableDaily":{"type":"boolean","description":"body.ComplianceSettings.EnableDaily (boolean field from the documented request schema)","enum":[true,false]}}},"EmailSettings":{"type":"object","description":"body.EmailSettings (object field from the documented request schema)","properties":{"ConnectionSecurity":{"type":"string","description":"body.EmailSettings.ConnectionSecurity (string field from the documented request schema)"},"EmailBatchingBufferSize":{"type":"number","description":"body.EmailSettings.EmailBatchingBufferSize (number field from the documented request schema)"},"EmailBatchingInterval":{"type":"number","description":"body.EmailSettings.EmailBatchingInterval (number field from the documented request schema)"},"EnableEmailBatching":{"type":"boolean","description":"body.EmailSettings.EnableEmailBatching (boolean field from the documented request schema)","enum":[true,false]},"EnableSignInWithEmail":{"type":"boolean","description":"body.EmailSettings.EnableSignInWithEmail (boolean field from the documented request schema)","enum":[true,false]},"EnableSignInWithUsername":{"type":"boolean","description":"body.EmailSettings.EnableSignInWithUsername (boolean field from the documented request schema)","enum":[true,false]},"EnableSignUpWithEmail":{"type":"boolean","description":"body.EmailSettings.EnableSignUpWithEmail (boolean field from the documented request schema)","enum":[true,false]},"FeedbackEmail":{"type":"string","description":"body.EmailSettings.FeedbackEmail (string field from the documented request schema)"},"FeedbackName":{"type":"string","description":"body.EmailSettings.FeedbackName (string field from the documented request schema)"},"FeedbackOrganization":{"type":"string","description":"body.EmailSettings.FeedbackOrganization (string field from the documented request schema)"},"InviteSalt":{"type":"string","description":"body.EmailSettings.InviteSalt (string field from the documented request schema)"},"PasswordResetSalt":{"type":"string","description":"body.EmailSettings.PasswordResetSalt (string field from the documented request schema)"},"PushNotificationContents":{"type":"string","description":"body.EmailSettings.PushNotificationContents (string field from the documented request schema)"},"PushNotificationServer":{"type":"string","description":"body.EmailSettings.PushNotificationServer (string field from the documented request schema)"},"RequireEmailVerification":{"type":"boolean","description":"body.EmailSettings.RequireEmailVerification (boolean field from the documented request schema)","enum":[true,false]},"SMTPPassword":{"type":"string","description":"body.EmailSettings.SMTPPassword (string field from the documented request schema)"},"SMTPPort":{"type":"string","description":"body.EmailSettings.SMTPPort (string field from the documented request schema)"},"SMTPServer":{"type":"string","description":"body.EmailSettings.SMTPServer (string field from the documented request schema)"},"SMTPUsername":{"type":"string","description":"body.EmailSettings.SMTPUsername (string field from the documented request schema)"},"SendEmailNotifications":{"type":"boolean","description":"body.EmailSettings.SendEmailNotifications (boolean field from the documented request schema)","enum":[true,false]},"SendPushNotifications":{"type":"boolean","description":"body.EmailSettings.SendPushNotifications (boolean field from the documented request schema)","enum":[true,false]}}},"FileSettings":{"type":"object","description":"body.FileSettings (object field from the documented request schema)","properties":{"AmazonS3AccessKeyId":{"type":"string","description":"body.FileSettings.AmazonS3AccessKeyId (string field from the documented request schema)"},"AmazonS3Bucket":{"type":"string","description":"body.FileSettings.AmazonS3Bucket (string field from the documented request schema)"},"AmazonS3Endpoint":{"type":"string","description":"body.FileSettings.AmazonS3Endpoint (string field from the documented request schema)"},"AmazonS3Region":{"type":"string","description":"body.FileSettings.AmazonS3Region (string field from the documented request schema)"},"AmazonS3SSL":{"type":"boolean","description":"body.FileSettings.AmazonS3SSL (boolean field from the documented request schema)","enum":[true,false]},"AmazonS3SecretAccessKey":{"type":"string","description":"body.FileSettings.AmazonS3SecretAccessKey (string field from the documented request schema)"},"AmazonS3StorageClass":{"type":"string","description":"body.FileSettings.AmazonS3StorageClass (string field from the documented request schema)"},"Directory":{"type":"string","description":"body.FileSettings.Directory (string field from the documented request schema)"},"DriverName":{"type":"string","description":"body.FileSettings.DriverName (string field from the documented request schema)"},"EnablePublicLink":{"type":"boolean","description":"body.FileSettings.EnablePublicLink (boolean field from the documented request schema)","enum":[true,false]},"InitialFont":{"type":"string","description":"body.FileSettings.InitialFont (string field from the documented request schema)"},"MaxFileSize":{"type":"number","description":"body.FileSettings.MaxFileSize (number field from the documented request schema)"},"PreviewHeight":{"type":"number","description":"body.FileSettings.PreviewHeight (number field from the documented request schema)"},"PreviewWidth":{"type":"number","description":"body.FileSettings.PreviewWidth (number field from the documented request schema)"},"ProfileHeight":{"type":"number","description":"body.FileSettings.ProfileHeight (number field from the documented request schema)"},"ProfileWidth":{"type":"number","description":"body.FileSettings.ProfileWidth (number field from the documented request schema)"},"PublicLinkSalt":{"type":"string","description":"body.FileSettings.PublicLinkSalt (string field from the documented request schema)"},"ThumbnailHeight":{"type":"number","description":"body.FileSettings.ThumbnailHeight (number field from the documented request schema)"},"ThumbnailWidth":{"type":"number","description":"body.FileSettings.ThumbnailWidth (number field from the documented request schema)"}}},"GitLabSettings":{"type":"object","description":"body.GitLabSettings (object field from the documented request schema)","properties":{"AuthEndpoint":{"type":"string","description":"body.GitLabSettings.AuthEndpoint (string field from the documented request schema)"},"Enable":{"type":"boolean","description":"body.GitLabSettings.Enable (boolean field from the documented request schema)","enum":[true,false]},"Id":{"type":"string","description":"body.GitLabSettings.Id (string field from the documented request schema)"},"Scope":{"type":"string","description":"body.GitLabSettings.Scope (string field from the documented request schema)"},"Secret":{"type":"string","description":"body.GitLabSettings.Secret (string field from the documented request schema)"},"TokenEndpoint":{"type":"string","description":"body.GitLabSettings.TokenEndpoint (string field from the documented request schema)"},"UserApiEndpoint":{"type":"string","description":"body.GitLabSettings.UserApiEndpoint (string field from the documented request schema)"}}},"GoogleSettings":{"type":"object","description":"body.GoogleSettings (object field from the documented request schema)","properties":{"AuthEndpoint":{"type":"string","description":"body.GoogleSettings.AuthEndpoint (string field from the documented request schema)"},"Enable":{"type":"boolean","description":"body.GoogleSettings.Enable (boolean field from the documented request schema)","enum":[true,false]},"Id":{"type":"string","description":"body.GoogleSettings.Id (string field from the documented request schema)"},"Scope":{"type":"string","description":"body.GoogleSettings.Scope (string field from the documented request schema)"},"Secret":{"type":"string","description":"body.GoogleSettings.Secret (string field from the documented request schema)"},"TokenEndpoint":{"type":"string","description":"body.GoogleSettings.TokenEndpoint (string field from the documented request schema)"},"UserApiEndpoint":{"type":"string","description":"body.GoogleSettings.UserApiEndpoint (string field from the documented request schema)"}}},"LdapSettings":{"type":"object","description":"body.LdapSettings (object field from the documented request schema)","properties":{"BaseDN":{"type":"string","description":"body.LdapSettings.BaseDN (string field from the documented request schema)"},"BindPassword":{"type":"string","description":"body.LdapSettings.BindPassword (string field from the documented request schema)"},"BindUsername":{"type":"string","description":"body.LdapSettings.BindUsername (string field from the documented request schema)"},"ConnectionSecurity":{"type":"string","description":"body.LdapSettings.ConnectionSecurity (string field from the documented request schema)"},"EmailAttribute":{"type":"string","description":"body.LdapSettings.EmailAttribute (string field from the documented request schema)"},"Enable":{"type":"boolean","description":"body.LdapSettings.Enable (boolean field from the documented request schema)","enum":[true,false]},"FirstNameAttribute":{"type":"string","description":"body.LdapSettings.FirstNameAttribute (string field from the documented request schema)"},"IdAttribute":{"type":"string","description":"body.LdapSettings.IdAttribute (string field from the documented request schema)"},"LastNameAttribute":{"type":"string","description":"body.LdapSettings.LastNameAttribute (string field from the documented request schema)"},"LdapPort":{"type":"number","description":"body.LdapSettings.LdapPort (number field from the documented request schema)"},"LdapServer":{"type":"string","description":"body.LdapSettings.LdapServer (string field from the documented request schema)"},"LoginFieldName":{"type":"string","description":"body.LdapSettings.LoginFieldName (string field from the documented request schema)"},"MaxPageSize":{"type":"number","description":"body.LdapSettings.MaxPageSize (number field from the documented request schema)"},"NicknameAttribute":{"type":"string","description":"body.LdapSettings.NicknameAttribute (string field from the documented request schema)"},"PositionAttribute":{"type":"string","description":"body.LdapSettings.PositionAttribute (string field from the documented request schema)"},"QueryTimeout":{"type":"number","description":"body.LdapSettings.QueryTimeout (number field from the documented request schema)"},"SkipCertificateVerification":{"type":"boolean","description":"body.LdapSettings.SkipCertificateVerification (boolean field from the documented request schema)","enum":[true,false]},"SyncIntervalMinutes":{"type":"number","description":"body.LdapSettings.SyncIntervalMinutes (number field from the documented request schema)"},"UserFilter":{"type":"string","description":"body.LdapSettings.UserFilter (string field from the documented request schema)"},"UsernameAttribute":{"type":"string","description":"body.LdapSettings.UsernameAttribute (string field from the documented request schema)"}}},"LocalizationSettings":{"type":"object","description":"body.LocalizationSettings (object field from the documented request schema)","properties":{"AvailableLocales":{"type":"string","description":"body.LocalizationSettings.AvailableLocales (string field from the documented request schema)"},"DefaultClientLocale":{"type":"string","description":"body.LocalizationSettings.DefaultClientLocale (string field from the documented request schema)"},"DefaultServerLocale":{"type":"string","description":"body.LocalizationSettings.DefaultServerLocale (string field from the documented request schema)"}}},"LogSettings":{"type":"object","description":"body.LogSettings (object field from the documented request schema)","properties":{"ConsoleLevel":{"type":"string","description":"body.LogSettings.ConsoleLevel (string field from the documented request schema)"},"EnableConsole":{"type":"boolean","description":"body.LogSettings.EnableConsole (boolean field from the documented request schema)","enum":[true,false]},"EnableDiagnostics":{"type":"boolean","description":"body.LogSettings.EnableDiagnostics (boolean field from the documented request schema)","enum":[true,false]},"EnableFile":{"type":"boolean","description":"body.LogSettings.EnableFile (boolean field from the documented request schema)","enum":[true,false]},"EnableWebhookDebugging":{"type":"boolean","description":"body.LogSettings.EnableWebhookDebugging (boolean field from the documented request schema)","enum":[true,false]},"FileLevel":{"type":"string","description":"body.LogSettings.FileLevel (string field from the documented request schema)"},"FileLocation":{"type":"string","description":"body.LogSettings.FileLocation (string field from the documented request schema)"}}},"MetricsSettings":{"type":"object","description":"body.MetricsSettings (object field from the documented request schema)","properties":{"BlockProfileRate":{"type":"number","description":"body.MetricsSettings.BlockProfileRate (number field from the documented request schema)"},"Enable":{"type":"boolean","description":"body.MetricsSettings.Enable (boolean field from the documented request schema)","enum":[true,false]},"ListenAddress":{"type":"string","description":"body.MetricsSettings.ListenAddress (string field from the documented request schema)"}}},"NativeAppSettings":{"type":"object","description":"body.NativeAppSettings (object field from the documented request schema)","properties":{"AndroidAppDownloadLink":{"type":"string","description":"body.NativeAppSettings.AndroidAppDownloadLink (string field from the documented request schema)"},"AppDownloadLink":{"type":"string","description":"body.NativeAppSettings.AppDownloadLink (string field from the documented request schema)"},"IosAppDownloadLink":{"type":"string","description":"body.NativeAppSettings.IosAppDownloadLink (string field from the documented request schema)"}}},"Office365Settings":{"type":"object","description":"body.Office365Settings (object field from the documented request schema)","properties":{"AuthEndpoint":{"type":"string","description":"body.Office365Settings.AuthEndpoint (string field from the documented request schema)"},"Enable":{"type":"boolean","description":"body.Office365Settings.Enable (boolean field from the documented request schema)","enum":[true,false]},"Id":{"type":"string","description":"body.Office365Settings.Id (string field from the documented request schema)"},"Scope":{"type":"string","description":"body.Office365Settings.Scope (string field from the documented request schema)"},"Secret":{"type":"string","description":"body.Office365Settings.Secret (string field from the documented request schema)"},"TokenEndpoint":{"type":"string","description":"body.Office365Settings.TokenEndpoint (string field from the documented request schema)"},"UserApiEndpoint":{"type":"string","description":"body.Office365Settings.UserApiEndpoint (string field from the documented request schema)"}}},"PasswordSettings":{"type":"object","description":"body.PasswordSettings (object field from the documented request schema)","properties":{"Lowercase":{"type":"boolean","description":"body.PasswordSettings.Lowercase (boolean field from the documented request schema)","enum":[true,false]},"MinimumLength":{"type":"number","description":"body.PasswordSettings.MinimumLength (number field from the documented request schema)"},"Number":{"type":"boolean","description":"body.PasswordSettings.Number (boolean field from the documented request schema)","enum":[true,false]},"Symbol":{"type":"boolean","description":"body.PasswordSettings.Symbol (boolean field from the documented request schema)","enum":[true,false]},"Uppercase":{"type":"boolean","description":"body.PasswordSettings.Uppercase (boolean field from the documented request schema)","enum":[true,false]}}},"PrivacySettings":{"type":"object","description":"body.PrivacySettings (object field from the documented request schema)","properties":{"ShowEmailAddress":{"type":"boolean","description":"body.PrivacySettings.ShowEmailAddress (boolean field from the documented request schema)","enum":[true,false]},"ShowFullName":{"type":"boolean","description":"body.PrivacySettings.ShowFullName (boolean field from the documented request schema)","enum":[true,false]}}},"RateLimitSettings":{"type":"object","description":"body.RateLimitSettings (object field from the documented request schema)","properties":{"Enable":{"type":"boolean","description":"body.RateLimitSettings.Enable (boolean field from the documented request schema)","enum":[true,false]},"MaxBurst":{"type":"number","description":"body.RateLimitSettings.MaxBurst (number field from the documented request schema)"},"MemoryStoreSize":{"type":"number","description":"body.RateLimitSettings.MemoryStoreSize (number field from the documented request schema)"},"PerSec":{"type":"number","description":"body.RateLimitSettings.PerSec (number field from the documented request schema)"},"VaryByHeader":{"type":"string","description":"body.RateLimitSettings.VaryByHeader (string field from the documented request schema)"},"VaryByRemoteAddr":{"type":"boolean","description":"body.RateLimitSettings.VaryByRemoteAddr (boolean field from the documented request schema)","enum":[true,false]}}},"SamlSettings":{"type":"object","description":"body.SamlSettings (object field from the documented request schema)","properties":{"AssertionConsumerServiceURL":{"type":"string","description":"body.SamlSettings.AssertionConsumerServiceURL (string field from the documented request schema)"},"EmailAttribute":{"type":"string","description":"body.SamlSettings.EmailAttribute (string field from the documented request schema)"},"Enable":{"type":"boolean","description":"body.SamlSettings.Enable (boolean field from the documented request schema)","enum":[true,false]},"Encrypt":{"type":"boolean","description":"body.SamlSettings.Encrypt (boolean field from the documented request schema)","enum":[true,false]},"FirstNameAttribute":{"type":"string","description":"body.SamlSettings.FirstNameAttribute (string field from the documented request schema)"},"IdpCertificateFile":{"type":"string","description":"body.SamlSettings.IdpCertificateFile (string field from the documented request schema)"},"IdpDescriptorUrl":{"type":"string","description":"body.SamlSettings.IdpDescriptorUrl (string field from the documented request schema)"},"IdpUrl":{"type":"string","description":"body.SamlSettings.IdpUrl (string field from the documented request schema)"},"LastNameAttribute":{"type":"string","description":"body.SamlSettings.LastNameAttribute (string field from the documented request schema)"},"LocaleAttribute":{"type":"string","description":"body.SamlSettings.LocaleAttribute (string field from the documented request schema)"},"LoginButtonText":{"type":"string","description":"body.SamlSettings.LoginButtonText (string field from the documented request schema)"},"NicknameAttribute":{"type":"string","description":"body.SamlSettings.NicknameAttribute (string field from the documented request schema)"},"PositionAttribute":{"type":"string","description":"body.SamlSettings.PositionAttribute (string field from the documented request schema)"},"PrivateKeyFile":{"type":"string","description":"body.SamlSettings.PrivateKeyFile (string field from the documented request schema)"},"PublicCertificateFile":{"type":"string","description":"body.SamlSettings.PublicCertificateFile (string field from the documented request schema)"},"UsernameAttribute":{"type":"string","description":"body.SamlSettings.UsernameAttribute (string field from the documented request schema)"},"Verify":{"type":"boolean","description":"body.SamlSettings.Verify (boolean field from the documented request schema)","enum":[true,false]}}},"ServiceSettings":{"type":"object","description":"body.ServiceSettings (object field from the documented request schema)","properties":{"AllowCorsFrom":{"type":"string","description":"body.ServiceSettings.AllowCorsFrom (string field from the documented request schema)"},"ConnectionSecurity":{"type":"string","description":"body.ServiceSettings.ConnectionSecurity (string field from the documented request schema)"},"EnableCommands":{"type":"boolean","description":"body.ServiceSettings.EnableCommands (boolean field from the documented request schema)","enum":[true,false]},"EnableCustomEmoji":{"type":"boolean","description":"body.ServiceSettings.EnableCustomEmoji (boolean field from the documented request schema)","enum":[true,false]},"EnableDeveloper":{"type":"boolean","description":"body.ServiceSettings.EnableDeveloper (boolean field from the documented request schema)","enum":[true,false]},"EnableIncomingWebhooks":{"type":"boolean","description":"body.ServiceSettings.EnableIncomingWebhooks (boolean field from the documented request schema)","enum":[true,false]},"EnableInsecureOutgoingConnections":{"type":"boolean","description":"body.ServiceSettings.EnableInsecureOutgoingConnections (boolean field from the documented request schema)","enum":[true,false]},"EnableMultifactorAuthentication":{"type":"boolean","description":"body.ServiceSettings.EnableMultifactorAuthentication (boolean field from the documented request schema)","enum":[true,false]},"EnableOAuthServiceProvider":{"type":"boolean","description":"body.ServiceSettings.EnableOAuthServiceProvider (boolean field from the documented request schema)","enum":[true,false]},"EnableOnlyAdminIntegrations":{"type":"boolean","description":"body.ServiceSettings.EnableOnlyAdminIntegrations (boolean field from the documented request schema)","enum":[true,false]},"EnableOutgoingWebhooks":{"type":"boolean","description":"body.ServiceSettings.EnableOutgoingWebhooks (boolean field from the documented request schema)","enum":[true,false]},"EnablePostIconOverride":{"type":"boolean","description":"body.ServiceSettings.EnablePostIconOverride (boolean field from the documented request schema)","enum":[true,false]},"EnablePostUsernameOverride":{"type":"boolean","description":"body.ServiceSettings.EnablePostUsernameOverride (boolean field from the documented request schema)","enum":[true,false]},"EnableSecurityFixAlert":{"type":"boolean","description":"body.ServiceSettings.EnableSecurityFixAlert (boolean field from the documented request schema)","enum":[true,false]},"EnableTesting":{"type":"boolean","description":"Intended only for isolated non-production environments and must never be enabled in production.","enum":[true,false]},"EnforceMultifactorAuthentication":{"type":"boolean","description":"body.ServiceSettings.EnforceMultifactorAuthentication (boolean field from the documented request schema)","enum":[true,false]},"Forward80To443":{"type":"boolean","description":"body.ServiceSettings.Forward80To443 (boolean field from the documented request schema)","enum":[true,false]},"GoogleDeveloperKey":{"type":"string","description":"body.ServiceSettings.GoogleDeveloperKey (string field from the documented request schema)"},"LetsEncryptCertificateCacheFile":{"type":"string","description":"body.ServiceSettings.LetsEncryptCertificateCacheFile (string field from the documented request schema)"},"ListenAddress":{"type":"string","description":"body.ServiceSettings.ListenAddress (string field from the documented request schema)"},"MaximumLoginAttempts":{"type":"number","description":"body.ServiceSettings.MaximumLoginAttempts (number field from the documented request schema)"},"ReadTimeout":{"type":"number","description":"body.ServiceSettings.ReadTimeout (number field from the documented request schema)"},"RestrictCustomEmojiCreation":{"type":"string","description":"body.ServiceSettings.RestrictCustomEmojiCreation (string field from the documented request schema)"},"SegmentDeveloperKey":{"type":"string","description":"body.ServiceSettings.SegmentDeveloperKey (string field from the documented request schema)"},"SessionCacheInMinutes":{"type":"number","description":"body.ServiceSettings.SessionCacheInMinutes (number field from the documented request schema)"},"SessionLengthMobileInDays":{"type":"number","description":"body.ServiceSettings.SessionLengthMobileInDays (number field from the documented request schema)"},"SessionLengthSSOInDays":{"type":"number","description":"body.ServiceSettings.SessionLengthSSOInDays (number field from the documented request schema)"},"SessionLengthWebInDays":{"type":"number","description":"body.ServiceSettings.SessionLengthWebInDays (number field from the documented request schema)"},"SiteURL":{"type":"string","description":"body.ServiceSettings.SiteURL (string field from the documented request schema)"},"TLSCertFile":{"type":"string","description":"body.ServiceSettings.TLSCertFile (string field from the documented request schema)"},"TLSKeyFile":{"type":"string","description":"body.ServiceSettings.TLSKeyFile (string field from the documented request schema)"},"UseLetsEncrypt":{"type":"boolean","description":"body.ServiceSettings.UseLetsEncrypt (boolean field from the documented request schema)","enum":[true,false]},"WebserverMode":{"type":"string","description":"body.ServiceSettings.WebserverMode (string field from the documented request schema)"},"WebsocketPort":{"type":"number","description":"body.ServiceSettings.WebsocketPort (number field from the documented request schema)"},"WebsocketSecurePort":{"type":"number","description":"body.ServiceSettings.WebsocketSecurePort (number field from the documented request schema)"},"WriteTimeout":{"type":"number","description":"body.ServiceSettings.WriteTimeout (number field from the documented request schema)"}}},"SqlSettings":{"type":"object","description":"body.SqlSettings (object field from the documented request schema)","properties":{"AtRestEncryptKey":{"type":"string","description":"body.SqlSettings.AtRestEncryptKey (string field from the documented request schema)"},"DataSource":{"type":"string","description":"body.SqlSettings.DataSource (string field from the documented request schema)"},"DataSourceReplicas":{"type":"array","description":"body.SqlSettings.DataSourceReplicas (array field from the documented request schema)"},"DriverName":{"type":"string","description":"body.SqlSettings.DriverName (string field from the documented request schema)"},"MaxIdleConns":{"type":"number","description":"body.SqlSettings.MaxIdleConns (number field from the documented request schema)"},"MaxOpenConns":{"type":"number","description":"body.SqlSettings.MaxOpenConns (number field from the documented request schema)"},"Trace":{"type":"boolean","description":"body.SqlSettings.Trace (boolean field from the documented request schema)","enum":[true,false]}}},"SupportSettings":{"type":"object","description":"body.SupportSettings (object field from the documented request schema)","properties":{"AboutLink":{"type":"string","description":"body.SupportSettings.AboutLink (string field from the documented request schema)"},"AllowDownloadLogs":{"type":"boolean","description":"body.SupportSettings.AllowDownloadLogs (boolean field from the documented request schema)","enum":[true,false]},"HelpLink":{"type":"string","description":"body.SupportSettings.HelpLink (string field from the documented request schema)"},"PrivacyPolicyLink":{"type":"string","description":"body.SupportSettings.PrivacyPolicyLink (string field from the documented request schema)"},"ReportAProblemLink":{"type":"string","description":"body.SupportSettings.ReportAProblemLink (string field from the documented request schema)"},"ReportAProblemMail":{"type":"string","description":"body.SupportSettings.ReportAProblemMail (string field from the documented request schema)"},"ReportAProblemType":{"type":"string","description":"body.SupportSettings.ReportAProblemType (string field from the documented request schema)"},"SupportEmail":{"type":"string","description":"body.SupportSettings.SupportEmail (string field from the documented request schema)"},"TermsOfServiceLink":{"type":"string","description":"body.SupportSettings.TermsOfServiceLink (string field from the documented request schema)"}}},"TeamSettings":{"type":"object","description":"body.TeamSettings (object field from the documented request schema)","properties":{"CustomBrandText":{"type":"string","description":"body.TeamSettings.CustomBrandText (string field from the documented request schema)"},"CustomDescriptionText":{"type":"string","description":"body.TeamSettings.CustomDescriptionText (string field from the documented request schema)"},"EnableCustomBrand":{"type":"boolean","description":"body.TeamSettings.EnableCustomBrand (boolean field from the documented request schema)","enum":[true,false]},"EnableOpenServer":{"type":"boolean","description":"body.TeamSettings.EnableOpenServer (boolean field from the documented request schema)","enum":[true,false]},"EnableTeamCreation":{"type":"boolean","description":"body.TeamSettings.EnableTeamCreation (boolean field from the documented request schema)","enum":[true,false]},"EnableUserCreation":{"type":"boolean","description":"body.TeamSettings.EnableUserCreation (boolean field from the documented request schema)","enum":[true,false]},"MaxChannelsPerTeam":{"type":"number","description":"body.TeamSettings.MaxChannelsPerTeam (number field from the documented request schema)"},"MaxNotificationsPerChannel":{"type":"number","description":"body.TeamSettings.MaxNotificationsPerChannel (number field from the documented request schema)"},"MaxUsersPerTeam":{"type":"number","description":"body.TeamSettings.MaxUsersPerTeam (number field from the documented request schema)"},"RestrictCreationToDomains":{"type":"string","description":"body.TeamSettings.RestrictCreationToDomains (string field from the documented request schema)"},"RestrictDirectMessage":{"type":"string","description":"body.TeamSettings.RestrictDirectMessage (string field from the documented request schema)"},"RestrictPrivateChannelCreation":{"type":"string","description":"body.TeamSettings.RestrictPrivateChannelCreation (string field from the documented request schema)"},"RestrictPrivateChannelDeletion":{"type":"string","description":"body.TeamSettings.RestrictPrivateChannelDeletion (string field from the documented request schema)"},"RestrictPrivateChannelManagement":{"type":"string","description":"body.TeamSettings.RestrictPrivateChannelManagement (string field from the documented request schema)"},"RestrictPublicChannelCreation":{"type":"string","description":"body.TeamSettings.RestrictPublicChannelCreation (string field from the documented request schema)"},"RestrictPublicChannelDeletion":{"type":"string","description":"body.TeamSettings.RestrictPublicChannelDeletion (string field from the documented request schema)"},"RestrictPublicChannelManagement":{"type":"string","description":"body.TeamSettings.RestrictPublicChannelManagement (string field from the documented request schema)"},"RestrictTeamInvite":{"type":"string","description":"body.TeamSettings.RestrictTeamInvite (string field from the documented request schema)"},"SiteName":{"type":"string","description":"body.TeamSettings.SiteName (string field from the documented request schema)"},"UserStatusAwayTimeout":{"type":"number","description":"body.TeamSettings.UserStatusAwayTimeout (number field from the documented request schema)"}}}}},"example":{"AnalyticsSettings":[{"MaxUsersForStatistics":0}],"ClusterSettings":[{"Enable":false,"InterNodeListenAddress":"string","InterNodeUrls":["string"]}],"ComplianceSettings":[{"Directory":"string","Enable":false,"EnableDaily":false}],"EmailSettings":[{"EnableSignInWithEmail":false,"EnableSignInWithUsername":false,"EnableSignUpWithEmail":false,"FeedbackEmail":"string","FeedbackName":"string","FeedbackOrganization":"string","RequireEmailVerification":false,"SMTPPassword":"string","SMTPPort":"string","SMTPServer":"string","SMTPUsername":"string","SendEmailNotifications":false}],"FileSettings":[{"Directory":"string","DriverName":"string","EnablePublicLink":false,"InitialFont":"string","MaxFileSize":0,"PreviewHeight":0,"PreviewWidth":0,"ProfileHeight":0,"ProfileWidth":0,"PublicLinkSalt":"string","ThumbnailHeight":0,"ThumbnailWidth":0}],"GitLabSettings":[{"AuthEndpoint":"string","Enable":false,"Id":"string","Scope":"string","Secret":"string","TokenEndpoint":"string","UserApiEndpoint":"string"}],"GoogleSettings":[{"AuthEndpoint":"string","Enable":false,"Id":"string","Scope":"string","Secret":"string","TokenEndpoint":"string","UserApiEndpoint":"string"}],"LdapSettings":[{"BaseDN":"string","BindPassword":"string","BindUsername":"string","ConnectionSecurity":"string","EmailAttribute":"string","Enable":false,"FirstNameAttribute":"string","LastNameAttribute":"string","LdapPort":0,"LdapServer":"string","UserFilter":"string","UsernameAttribute":"string"}],"LocalizationSettings":[{"AvailableLocales":"string","DefaultClientLocale":"string","DefaultServerLocale":"string"}],"LogSettings":[{"ConsoleLevel":"string","EnableConsole":false,"EnableDiagnostics":false,"EnableFile":false,"EnableWebhookDebugging":false,"FileLevel":"string","FileLocation":"string"}],"MetricsSettings":[{"BlockProfileRate":0,"Enable":false,"ListenAddress":"string"}],"NativeAppSettings":[{"AndroidAppDownloadLink":"string","AppDownloadLink":"string","IosAppDownloadLink":"string"}],"Office365Settings":[{"AuthEndpoint":"string","Enable":false,"Id":"string","Scope":"string","Secret":"string","TokenEndpoint":"string","UserApiEndpoint":"string"}],"PasswordSettings":[{"Lowercase":false,"MinimumLength":0,"Number":false,"Symbol":false,"Uppercase":false}],"PrivacySettings":[{"ShowEmailAddress":false,"ShowFullName":false}],"RateLimitSettings":[{"Enable":false,"MaxBurst":0,"MemoryStoreSize":0,"PerSec":0,"VaryByHeader":"string","VaryByRemoteAddr":false}],"SamlSettings":[{"AssertionConsumerServiceURL":"string","EmailAttribute":"string","Enable":false,"Encrypt":false,"FirstNameAttribute":"string","IdpCertificateFile":"string","IdpDescriptorUrl":"string","IdpUrl":"string","LastNameAttribute":"string","PrivateKeyFile":"string","PublicCertificateFile":"string","Verify":false}],"ServiceSettings":[{"ConnectionSecurity":"string","Forward80To443":false,"LetsEncryptCertificateCacheFile":"string","ListenAddress":"string","MaximumLoginAttempts":0,"ReadTimeout":0,"SegmentDeveloperKey":"string","SiteURL":"string","TLSCertFile":"string","TLSKeyFile":"string","UseLetsEncrypt":false,"WriteTimeout":0}],"SqlSettings":[{"AtRestEncryptKey":"string","DataSource":"string","DataSourceReplicas":["string"],"DriverName":"string","MaxIdleConns":0,"MaxOpenConns":0,"Trace":false}],"SupportSettings":[{"AboutLink":"string","AllowDownloadLogs":false,"HelpLink":"string","PrivacyPolicyLink":"string","ReportAProblemLink":"string","ReportAProblemMail":"string","ReportAProblemType":"string","SupportEmail":"string","TermsOfServiceLink":"string"}],"TeamSettings":[{"CustomBrandText":"string","CustomDescriptionText":"string","EnableCustomBrand":false,"EnableOpenServer":false,"EnableTeamCreation":false,"EnableUserCreation":false,"MaxUsersPerTeam":0,"RestrictCreationToDomains":"string","RestrictDirectMessage":"string","RestrictPublicChannelManagement":"string","RestrictTeamInvite":"string","SiteName":"string"}]}}}}}},"/file/s3_test":{"post":{"tags":["System"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#TestS3Connection","api_endpoint":"https://{site_url}/api/v4/file/s3_test"},"summary":"Test AWS S3 connection","description":"Test AWS S3 connection | Deprecated alias for `/api/v4/file/test` kept for backwards compatibility. New callers should use `/api/v4/file/test`, which is backend-agnostic.\n##### Permissions\nMust have `manage_system` permission.\n__Minimum server version__: 4.8 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"AnalyticsSettings":{"type":"object","description":"body.AnalyticsSettings (object field from the documented request schema)","properties":{"MaxUsersForStatistics":{"type":"number","description":"body.AnalyticsSettings.MaxUsersForStatistics (number field from the documented request schema)"}}},"ClusterSettings":{"type":"object","description":"body.ClusterSettings (object field from the documented request schema)","properties":{"Enable":{"type":"boolean","description":"body.ClusterSettings.Enable (boolean field from the documented request schema)","enum":[true,false]},"InterNodeListenAddress":{"type":"string","description":"body.ClusterSettings.InterNodeListenAddress (string field from the documented request schema)"},"InterNodeUrls":{"type":"array","description":"body.ClusterSettings.InterNodeUrls (array field from the documented request schema)"}}},"ComplianceSettings":{"type":"object","description":"body.ComplianceSettings (object field from the documented request schema)","properties":{"Directory":{"type":"string","description":"body.ComplianceSettings.Directory (string field from the documented request schema)"},"Enable":{"type":"boolean","description":"body.ComplianceSettings.Enable (boolean field from the documented request schema)","enum":[true,false]},"EnableDaily":{"type":"boolean","description":"body.ComplianceSettings.EnableDaily (boolean field from the documented request schema)","enum":[true,false]}}},"EmailSettings":{"type":"object","description":"body.EmailSettings (object field from the documented request schema)","properties":{"ConnectionSecurity":{"type":"string","description":"body.EmailSettings.ConnectionSecurity (string field from the documented request schema)"},"EmailBatchingBufferSize":{"type":"number","description":"body.EmailSettings.EmailBatchingBufferSize (number field from the documented request schema)"},"EmailBatchingInterval":{"type":"number","description":"body.EmailSettings.EmailBatchingInterval (number field from the documented request schema)"},"EnableEmailBatching":{"type":"boolean","description":"body.EmailSettings.EnableEmailBatching (boolean field from the documented request schema)","enum":[true,false]},"EnableSignInWithEmail":{"type":"boolean","description":"body.EmailSettings.EnableSignInWithEmail (boolean field from the documented request schema)","enum":[true,false]},"EnableSignInWithUsername":{"type":"boolean","description":"body.EmailSettings.EnableSignInWithUsername (boolean field from the documented request schema)","enum":[true,false]},"EnableSignUpWithEmail":{"type":"boolean","description":"body.EmailSettings.EnableSignUpWithEmail (boolean field from the documented request schema)","enum":[true,false]},"FeedbackEmail":{"type":"string","description":"body.EmailSettings.FeedbackEmail (string field from the documented request schema)"},"FeedbackName":{"type":"string","description":"body.EmailSettings.FeedbackName (string field from the documented request schema)"},"FeedbackOrganization":{"type":"string","description":"body.EmailSettings.FeedbackOrganization (string field from the documented request schema)"},"InviteSalt":{"type":"string","description":"body.EmailSettings.InviteSalt (string field from the documented request schema)"},"PasswordResetSalt":{"type":"string","description":"body.EmailSettings.PasswordResetSalt (string field from the documented request schema)"},"PushNotificationContents":{"type":"string","description":"body.EmailSettings.PushNotificationContents (string field from the documented request schema)"},"PushNotificationServer":{"type":"string","description":"body.EmailSettings.PushNotificationServer (string field from the documented request schema)"},"RequireEmailVerification":{"type":"boolean","description":"body.EmailSettings.RequireEmailVerification (boolean field from the documented request schema)","enum":[true,false]},"SMTPPassword":{"type":"string","description":"body.EmailSettings.SMTPPassword (string field from the documented request schema)"},"SMTPPort":{"type":"string","description":"body.EmailSettings.SMTPPort (string field from the documented request schema)"},"SMTPServer":{"type":"string","description":"body.EmailSettings.SMTPServer (string field from the documented request schema)"},"SMTPUsername":{"type":"string","description":"body.EmailSettings.SMTPUsername (string field from the documented request schema)"},"SendEmailNotifications":{"type":"boolean","description":"body.EmailSettings.SendEmailNotifications (boolean field from the documented request schema)","enum":[true,false]},"SendPushNotifications":{"type":"boolean","description":"body.EmailSettings.SendPushNotifications (boolean field from the documented request schema)","enum":[true,false]}}},"FileSettings":{"type":"object","description":"body.FileSettings (object field from the documented request schema)","properties":{"AmazonS3AccessKeyId":{"type":"string","description":"body.FileSettings.AmazonS3AccessKeyId (string field from the documented request schema)"},"AmazonS3Bucket":{"type":"string","description":"body.FileSettings.AmazonS3Bucket (string field from the documented request schema)"},"AmazonS3Endpoint":{"type":"string","description":"body.FileSettings.AmazonS3Endpoint (string field from the documented request schema)"},"AmazonS3Region":{"type":"string","description":"body.FileSettings.AmazonS3Region (string field from the documented request schema)"},"AmazonS3SSL":{"type":"boolean","description":"body.FileSettings.AmazonS3SSL (boolean field from the documented request schema)","enum":[true,false]},"AmazonS3SecretAccessKey":{"type":"string","description":"body.FileSettings.AmazonS3SecretAccessKey (string field from the documented request schema)"},"AmazonS3StorageClass":{"type":"string","description":"body.FileSettings.AmazonS3StorageClass (string field from the documented request schema)"},"Directory":{"type":"string","description":"body.FileSettings.Directory (string field from the documented request schema)"},"DriverName":{"type":"string","description":"body.FileSettings.DriverName (string field from the documented request schema)"},"EnablePublicLink":{"type":"boolean","description":"body.FileSettings.EnablePublicLink (boolean field from the documented request schema)","enum":[true,false]},"InitialFont":{"type":"string","description":"body.FileSettings.InitialFont (string field from the documented request schema)"},"MaxFileSize":{"type":"number","description":"body.FileSettings.MaxFileSize (number field from the documented request schema)"},"PreviewHeight":{"type":"number","description":"body.FileSettings.PreviewHeight (number field from the documented request schema)"},"PreviewWidth":{"type":"number","description":"body.FileSettings.PreviewWidth (number field from the documented request schema)"},"ProfileHeight":{"type":"number","description":"body.FileSettings.ProfileHeight (number field from the documented request schema)"},"ProfileWidth":{"type":"number","description":"body.FileSettings.ProfileWidth (number field from the documented request schema)"},"PublicLinkSalt":{"type":"string","description":"body.FileSettings.PublicLinkSalt (string field from the documented request schema)"},"ThumbnailHeight":{"type":"number","description":"body.FileSettings.ThumbnailHeight (number field from the documented request schema)"},"ThumbnailWidth":{"type":"number","description":"body.FileSettings.ThumbnailWidth (number field from the documented request schema)"}}},"GitLabSettings":{"type":"object","description":"body.GitLabSettings (object field from the documented request schema)","properties":{"AuthEndpoint":{"type":"string","description":"body.GitLabSettings.AuthEndpoint (string field from the documented request schema)"},"Enable":{"type":"boolean","description":"body.GitLabSettings.Enable (boolean field from the documented request schema)","enum":[true,false]},"Id":{"type":"string","description":"body.GitLabSettings.Id (string field from the documented request schema)"},"Scope":{"type":"string","description":"body.GitLabSettings.Scope (string field from the documented request schema)"},"Secret":{"type":"string","description":"body.GitLabSettings.Secret (string field from the documented request schema)"},"TokenEndpoint":{"type":"string","description":"body.GitLabSettings.TokenEndpoint (string field from the documented request schema)"},"UserApiEndpoint":{"type":"string","description":"body.GitLabSettings.UserApiEndpoint (string field from the documented request schema)"}}},"GoogleSettings":{"type":"object","description":"body.GoogleSettings (object field from the documented request schema)","properties":{"AuthEndpoint":{"type":"string","description":"body.GoogleSettings.AuthEndpoint (string field from the documented request schema)"},"Enable":{"type":"boolean","description":"body.GoogleSettings.Enable (boolean field from the documented request schema)","enum":[true,false]},"Id":{"type":"string","description":"body.GoogleSettings.Id (string field from the documented request schema)"},"Scope":{"type":"string","description":"body.GoogleSettings.Scope (string field from the documented request schema)"},"Secret":{"type":"string","description":"body.GoogleSettings.Secret (string field from the documented request schema)"},"TokenEndpoint":{"type":"string","description":"body.GoogleSettings.TokenEndpoint (string field from the documented request schema)"},"UserApiEndpoint":{"type":"string","description":"body.GoogleSettings.UserApiEndpoint (string field from the documented request schema)"}}},"LdapSettings":{"type":"object","description":"body.LdapSettings (object field from the documented request schema)","properties":{"BaseDN":{"type":"string","description":"body.LdapSettings.BaseDN (string field from the documented request schema)"},"BindPassword":{"type":"string","description":"body.LdapSettings.BindPassword (string field from the documented request schema)"},"BindUsername":{"type":"string","description":"body.LdapSettings.BindUsername (string field from the documented request schema)"},"ConnectionSecurity":{"type":"string","description":"body.LdapSettings.ConnectionSecurity (string field from the documented request schema)"},"EmailAttribute":{"type":"string","description":"body.LdapSettings.EmailAttribute (string field from the documented request schema)"},"Enable":{"type":"boolean","description":"body.LdapSettings.Enable (boolean field from the documented request schema)","enum":[true,false]},"FirstNameAttribute":{"type":"string","description":"body.LdapSettings.FirstNameAttribute (string field from the documented request schema)"},"IdAttribute":{"type":"string","description":"body.LdapSettings.IdAttribute (string field from the documented request schema)"},"LastNameAttribute":{"type":"string","description":"body.LdapSettings.LastNameAttribute (string field from the documented request schema)"},"LdapPort":{"type":"number","description":"body.LdapSettings.LdapPort (number field from the documented request schema)"},"LdapServer":{"type":"string","description":"body.LdapSettings.LdapServer (string field from the documented request schema)"},"LoginFieldName":{"type":"string","description":"body.LdapSettings.LoginFieldName (string field from the documented request schema)"},"MaxPageSize":{"type":"number","description":"body.LdapSettings.MaxPageSize (number field from the documented request schema)"},"NicknameAttribute":{"type":"string","description":"body.LdapSettings.NicknameAttribute (string field from the documented request schema)"},"PositionAttribute":{"type":"string","description":"body.LdapSettings.PositionAttribute (string field from the documented request schema)"},"QueryTimeout":{"type":"number","description":"body.LdapSettings.QueryTimeout (number field from the documented request schema)"},"SkipCertificateVerification":{"type":"boolean","description":"body.LdapSettings.SkipCertificateVerification (boolean field from the documented request schema)","enum":[true,false]},"SyncIntervalMinutes":{"type":"number","description":"body.LdapSettings.SyncIntervalMinutes (number field from the documented request schema)"},"UserFilter":{"type":"string","description":"body.LdapSettings.UserFilter (string field from the documented request schema)"},"UsernameAttribute":{"type":"string","description":"body.LdapSettings.UsernameAttribute (string field from the documented request schema)"}}},"LocalizationSettings":{"type":"object","description":"body.LocalizationSettings (object field from the documented request schema)","properties":{"AvailableLocales":{"type":"string","description":"body.LocalizationSettings.AvailableLocales (string field from the documented request schema)"},"DefaultClientLocale":{"type":"string","description":"body.LocalizationSettings.DefaultClientLocale (string field from the documented request schema)"},"DefaultServerLocale":{"type":"string","description":"body.LocalizationSettings.DefaultServerLocale (string field from the documented request schema)"}}},"LogSettings":{"type":"object","description":"body.LogSettings (object field from the documented request schema)","properties":{"ConsoleLevel":{"type":"string","description":"body.LogSettings.ConsoleLevel (string field from the documented request schema)"},"EnableConsole":{"type":"boolean","description":"body.LogSettings.EnableConsole (boolean field from the documented request schema)","enum":[true,false]},"EnableDiagnostics":{"type":"boolean","description":"body.LogSettings.EnableDiagnostics (boolean field from the documented request schema)","enum":[true,false]},"EnableFile":{"type":"boolean","description":"body.LogSettings.EnableFile (boolean field from the documented request schema)","enum":[true,false]},"EnableWebhookDebugging":{"type":"boolean","description":"body.LogSettings.EnableWebhookDebugging (boolean field from the documented request schema)","enum":[true,false]},"FileLevel":{"type":"string","description":"body.LogSettings.FileLevel (string field from the documented request schema)"},"FileLocation":{"type":"string","description":"body.LogSettings.FileLocation (string field from the documented request schema)"}}},"MetricsSettings":{"type":"object","description":"body.MetricsSettings (object field from the documented request schema)","properties":{"BlockProfileRate":{"type":"number","description":"body.MetricsSettings.BlockProfileRate (number field from the documented request schema)"},"Enable":{"type":"boolean","description":"body.MetricsSettings.Enable (boolean field from the documented request schema)","enum":[true,false]},"ListenAddress":{"type":"string","description":"body.MetricsSettings.ListenAddress (string field from the documented request schema)"}}},"NativeAppSettings":{"type":"object","description":"body.NativeAppSettings (object field from the documented request schema)","properties":{"AndroidAppDownloadLink":{"type":"string","description":"body.NativeAppSettings.AndroidAppDownloadLink (string field from the documented request schema)"},"AppDownloadLink":{"type":"string","description":"body.NativeAppSettings.AppDownloadLink (string field from the documented request schema)"},"IosAppDownloadLink":{"type":"string","description":"body.NativeAppSettings.IosAppDownloadLink (string field from the documented request schema)"}}},"Office365Settings":{"type":"object","description":"body.Office365Settings (object field from the documented request schema)","properties":{"AuthEndpoint":{"type":"string","description":"body.Office365Settings.AuthEndpoint (string field from the documented request schema)"},"Enable":{"type":"boolean","description":"body.Office365Settings.Enable (boolean field from the documented request schema)","enum":[true,false]},"Id":{"type":"string","description":"body.Office365Settings.Id (string field from the documented request schema)"},"Scope":{"type":"string","description":"body.Office365Settings.Scope (string field from the documented request schema)"},"Secret":{"type":"string","description":"body.Office365Settings.Secret (string field from the documented request schema)"},"TokenEndpoint":{"type":"string","description":"body.Office365Settings.TokenEndpoint (string field from the documented request schema)"},"UserApiEndpoint":{"type":"string","description":"body.Office365Settings.UserApiEndpoint (string field from the documented request schema)"}}},"PasswordSettings":{"type":"object","description":"body.PasswordSettings (object field from the documented request schema)","properties":{"Lowercase":{"type":"boolean","description":"body.PasswordSettings.Lowercase (boolean field from the documented request schema)","enum":[true,false]},"MinimumLength":{"type":"number","description":"body.PasswordSettings.MinimumLength (number field from the documented request schema)"},"Number":{"type":"boolean","description":"body.PasswordSettings.Number (boolean field from the documented request schema)","enum":[true,false]},"Symbol":{"type":"boolean","description":"body.PasswordSettings.Symbol (boolean field from the documented request schema)","enum":[true,false]},"Uppercase":{"type":"boolean","description":"body.PasswordSettings.Uppercase (boolean field from the documented request schema)","enum":[true,false]}}},"PrivacySettings":{"type":"object","description":"body.PrivacySettings (object field from the documented request schema)","properties":{"ShowEmailAddress":{"type":"boolean","description":"body.PrivacySettings.ShowEmailAddress (boolean field from the documented request schema)","enum":[true,false]},"ShowFullName":{"type":"boolean","description":"body.PrivacySettings.ShowFullName (boolean field from the documented request schema)","enum":[true,false]}}},"RateLimitSettings":{"type":"object","description":"body.RateLimitSettings (object field from the documented request schema)","properties":{"Enable":{"type":"boolean","description":"body.RateLimitSettings.Enable (boolean field from the documented request schema)","enum":[true,false]},"MaxBurst":{"type":"number","description":"body.RateLimitSettings.MaxBurst (number field from the documented request schema)"},"MemoryStoreSize":{"type":"number","description":"body.RateLimitSettings.MemoryStoreSize (number field from the documented request schema)"},"PerSec":{"type":"number","description":"body.RateLimitSettings.PerSec (number field from the documented request schema)"},"VaryByHeader":{"type":"string","description":"body.RateLimitSettings.VaryByHeader (string field from the documented request schema)"},"VaryByRemoteAddr":{"type":"boolean","description":"body.RateLimitSettings.VaryByRemoteAddr (boolean field from the documented request schema)","enum":[true,false]}}},"SamlSettings":{"type":"object","description":"body.SamlSettings (object field from the documented request schema)","properties":{"AssertionConsumerServiceURL":{"type":"string","description":"body.SamlSettings.AssertionConsumerServiceURL (string field from the documented request schema)"},"EmailAttribute":{"type":"string","description":"body.SamlSettings.EmailAttribute (string field from the documented request schema)"},"Enable":{"type":"boolean","description":"body.SamlSettings.Enable (boolean field from the documented request schema)","enum":[true,false]},"Encrypt":{"type":"boolean","description":"body.SamlSettings.Encrypt (boolean field from the documented request schema)","enum":[true,false]},"FirstNameAttribute":{"type":"string","description":"body.SamlSettings.FirstNameAttribute (string field from the documented request schema)"},"IdpCertificateFile":{"type":"string","description":"body.SamlSettings.IdpCertificateFile (string field from the documented request schema)"},"IdpDescriptorUrl":{"type":"string","description":"body.SamlSettings.IdpDescriptorUrl (string field from the documented request schema)"},"IdpUrl":{"type":"string","description":"body.SamlSettings.IdpUrl (string field from the documented request schema)"},"LastNameAttribute":{"type":"string","description":"body.SamlSettings.LastNameAttribute (string field from the documented request schema)"},"LocaleAttribute":{"type":"string","description":"body.SamlSettings.LocaleAttribute (string field from the documented request schema)"},"LoginButtonText":{"type":"string","description":"body.SamlSettings.LoginButtonText (string field from the documented request schema)"},"NicknameAttribute":{"type":"string","description":"body.SamlSettings.NicknameAttribute (string field from the documented request schema)"},"PositionAttribute":{"type":"string","description":"body.SamlSettings.PositionAttribute (string field from the documented request schema)"},"PrivateKeyFile":{"type":"string","description":"body.SamlSettings.PrivateKeyFile (string field from the documented request schema)"},"PublicCertificateFile":{"type":"string","description":"body.SamlSettings.PublicCertificateFile (string field from the documented request schema)"},"UsernameAttribute":{"type":"string","description":"body.SamlSettings.UsernameAttribute (string field from the documented request schema)"},"Verify":{"type":"boolean","description":"body.SamlSettings.Verify (boolean field from the documented request schema)","enum":[true,false]}}},"ServiceSettings":{"type":"object","description":"body.ServiceSettings (object field from the documented request schema)","properties":{"AllowCorsFrom":{"type":"string","description":"body.ServiceSettings.AllowCorsFrom (string field from the documented request schema)"},"ConnectionSecurity":{"type":"string","description":"body.ServiceSettings.ConnectionSecurity (string field from the documented request schema)"},"EnableCommands":{"type":"boolean","description":"body.ServiceSettings.EnableCommands (boolean field from the documented request schema)","enum":[true,false]},"EnableCustomEmoji":{"type":"boolean","description":"body.ServiceSettings.EnableCustomEmoji (boolean field from the documented request schema)","enum":[true,false]},"EnableDeveloper":{"type":"boolean","description":"body.ServiceSettings.EnableDeveloper (boolean field from the documented request schema)","enum":[true,false]},"EnableIncomingWebhooks":{"type":"boolean","description":"body.ServiceSettings.EnableIncomingWebhooks (boolean field from the documented request schema)","enum":[true,false]},"EnableInsecureOutgoingConnections":{"type":"boolean","description":"body.ServiceSettings.EnableInsecureOutgoingConnections (boolean field from the documented request schema)","enum":[true,false]},"EnableMultifactorAuthentication":{"type":"boolean","description":"body.ServiceSettings.EnableMultifactorAuthentication (boolean field from the documented request schema)","enum":[true,false]},"EnableOAuthServiceProvider":{"type":"boolean","description":"body.ServiceSettings.EnableOAuthServiceProvider (boolean field from the documented request schema)","enum":[true,false]},"EnableOnlyAdminIntegrations":{"type":"boolean","description":"body.ServiceSettings.EnableOnlyAdminIntegrations (boolean field from the documented request schema)","enum":[true,false]},"EnableOutgoingWebhooks":{"type":"boolean","description":"body.ServiceSettings.EnableOutgoingWebhooks (boolean field from the documented request schema)","enum":[true,false]},"EnablePostIconOverride":{"type":"boolean","description":"body.ServiceSettings.EnablePostIconOverride (boolean field from the documented request schema)","enum":[true,false]},"EnablePostUsernameOverride":{"type":"boolean","description":"body.ServiceSettings.EnablePostUsernameOverride (boolean field from the documented request schema)","enum":[true,false]},"EnableSecurityFixAlert":{"type":"boolean","description":"body.ServiceSettings.EnableSecurityFixAlert (boolean field from the documented request schema)","enum":[true,false]},"EnableTesting":{"type":"boolean","description":"Intended only for isolated non-production environments and must never be enabled in production.","enum":[true,false]},"EnforceMultifactorAuthentication":{"type":"boolean","description":"body.ServiceSettings.EnforceMultifactorAuthentication (boolean field from the documented request schema)","enum":[true,false]},"Forward80To443":{"type":"boolean","description":"body.ServiceSettings.Forward80To443 (boolean field from the documented request schema)","enum":[true,false]},"GoogleDeveloperKey":{"type":"string","description":"body.ServiceSettings.GoogleDeveloperKey (string field from the documented request schema)"},"LetsEncryptCertificateCacheFile":{"type":"string","description":"body.ServiceSettings.LetsEncryptCertificateCacheFile (string field from the documented request schema)"},"ListenAddress":{"type":"string","description":"body.ServiceSettings.ListenAddress (string field from the documented request schema)"},"MaximumLoginAttempts":{"type":"number","description":"body.ServiceSettings.MaximumLoginAttempts (number field from the documented request schema)"},"ReadTimeout":{"type":"number","description":"body.ServiceSettings.ReadTimeout (number field from the documented request schema)"},"RestrictCustomEmojiCreation":{"type":"string","description":"body.ServiceSettings.RestrictCustomEmojiCreation (string field from the documented request schema)"},"SegmentDeveloperKey":{"type":"string","description":"body.ServiceSettings.SegmentDeveloperKey (string field from the documented request schema)"},"SessionCacheInMinutes":{"type":"number","description":"body.ServiceSettings.SessionCacheInMinutes (number field from the documented request schema)"},"SessionLengthMobileInDays":{"type":"number","description":"body.ServiceSettings.SessionLengthMobileInDays (number field from the documented request schema)"},"SessionLengthSSOInDays":{"type":"number","description":"body.ServiceSettings.SessionLengthSSOInDays (number field from the documented request schema)"},"SessionLengthWebInDays":{"type":"number","description":"body.ServiceSettings.SessionLengthWebInDays (number field from the documented request schema)"},"SiteURL":{"type":"string","description":"body.ServiceSettings.SiteURL (string field from the documented request schema)"},"TLSCertFile":{"type":"string","description":"body.ServiceSettings.TLSCertFile (string field from the documented request schema)"},"TLSKeyFile":{"type":"string","description":"body.ServiceSettings.TLSKeyFile (string field from the documented request schema)"},"UseLetsEncrypt":{"type":"boolean","description":"body.ServiceSettings.UseLetsEncrypt (boolean field from the documented request schema)","enum":[true,false]},"WebserverMode":{"type":"string","description":"body.ServiceSettings.WebserverMode (string field from the documented request schema)"},"WebsocketPort":{"type":"number","description":"body.ServiceSettings.WebsocketPort (number field from the documented request schema)"},"WebsocketSecurePort":{"type":"number","description":"body.ServiceSettings.WebsocketSecurePort (number field from the documented request schema)"},"WriteTimeout":{"type":"number","description":"body.ServiceSettings.WriteTimeout (number field from the documented request schema)"}}},"SqlSettings":{"type":"object","description":"body.SqlSettings (object field from the documented request schema)","properties":{"AtRestEncryptKey":{"type":"string","description":"body.SqlSettings.AtRestEncryptKey (string field from the documented request schema)"},"DataSource":{"type":"string","description":"body.SqlSettings.DataSource (string field from the documented request schema)"},"DataSourceReplicas":{"type":"array","description":"body.SqlSettings.DataSourceReplicas (array field from the documented request schema)"},"DriverName":{"type":"string","description":"body.SqlSettings.DriverName (string field from the documented request schema)"},"MaxIdleConns":{"type":"number","description":"body.SqlSettings.MaxIdleConns (number field from the documented request schema)"},"MaxOpenConns":{"type":"number","description":"body.SqlSettings.MaxOpenConns (number field from the documented request schema)"},"Trace":{"type":"boolean","description":"body.SqlSettings.Trace (boolean field from the documented request schema)","enum":[true,false]}}},"SupportSettings":{"type":"object","description":"body.SupportSettings (object field from the documented request schema)","properties":{"AboutLink":{"type":"string","description":"body.SupportSettings.AboutLink (string field from the documented request schema)"},"AllowDownloadLogs":{"type":"boolean","description":"body.SupportSettings.AllowDownloadLogs (boolean field from the documented request schema)","enum":[true,false]},"HelpLink":{"type":"string","description":"body.SupportSettings.HelpLink (string field from the documented request schema)"},"PrivacyPolicyLink":{"type":"string","description":"body.SupportSettings.PrivacyPolicyLink (string field from the documented request schema)"},"ReportAProblemLink":{"type":"string","description":"body.SupportSettings.ReportAProblemLink (string field from the documented request schema)"},"ReportAProblemMail":{"type":"string","description":"body.SupportSettings.ReportAProblemMail (string field from the documented request schema)"},"ReportAProblemType":{"type":"string","description":"body.SupportSettings.ReportAProblemType (string field from the documented request schema)"},"SupportEmail":{"type":"string","description":"body.SupportSettings.SupportEmail (string field from the documented request schema)"},"TermsOfServiceLink":{"type":"string","description":"body.SupportSettings.TermsOfServiceLink (string field from the documented request schema)"}}},"TeamSettings":{"type":"object","description":"body.TeamSettings (object field from the documented request schema)","properties":{"CustomBrandText":{"type":"string","description":"body.TeamSettings.CustomBrandText (string field from the documented request schema)"},"CustomDescriptionText":{"type":"string","description":"body.TeamSettings.CustomDescriptionText (string field from the documented request schema)"},"EnableCustomBrand":{"type":"boolean","description":"body.TeamSettings.EnableCustomBrand (boolean field from the documented request schema)","enum":[true,false]},"EnableOpenServer":{"type":"boolean","description":"body.TeamSettings.EnableOpenServer (boolean field from the documented request schema)","enum":[true,false]},"EnableTeamCreation":{"type":"boolean","description":"body.TeamSettings.EnableTeamCreation (boolean field from the documented request schema)","enum":[true,false]},"EnableUserCreation":{"type":"boolean","description":"body.TeamSettings.EnableUserCreation (boolean field from the documented request schema)","enum":[true,false]},"MaxChannelsPerTeam":{"type":"number","description":"body.TeamSettings.MaxChannelsPerTeam (number field from the documented request schema)"},"MaxNotificationsPerChannel":{"type":"number","description":"body.TeamSettings.MaxNotificationsPerChannel (number field from the documented request schema)"},"MaxUsersPerTeam":{"type":"number","description":"body.TeamSettings.MaxUsersPerTeam (number field from the documented request schema)"},"RestrictCreationToDomains":{"type":"string","description":"body.TeamSettings.RestrictCreationToDomains (string field from the documented request schema)"},"RestrictDirectMessage":{"type":"string","description":"body.TeamSettings.RestrictDirectMessage (string field from the documented request schema)"},"RestrictPrivateChannelCreation":{"type":"string","description":"body.TeamSettings.RestrictPrivateChannelCreation (string field from the documented request schema)"},"RestrictPrivateChannelDeletion":{"type":"string","description":"body.TeamSettings.RestrictPrivateChannelDeletion (string field from the documented request schema)"},"RestrictPrivateChannelManagement":{"type":"string","description":"body.TeamSettings.RestrictPrivateChannelManagement (string field from the documented request schema)"},"RestrictPublicChannelCreation":{"type":"string","description":"body.TeamSettings.RestrictPublicChannelCreation (string field from the documented request schema)"},"RestrictPublicChannelDeletion":{"type":"string","description":"body.TeamSettings.RestrictPublicChannelDeletion (string field from the documented request schema)"},"RestrictPublicChannelManagement":{"type":"string","description":"body.TeamSettings.RestrictPublicChannelManagement (string field from the documented request schema)"},"RestrictTeamInvite":{"type":"string","description":"body.TeamSettings.RestrictTeamInvite (string field from the documented request schema)"},"SiteName":{"type":"string","description":"body.TeamSettings.SiteName (string field from the documented request schema)"},"UserStatusAwayTimeout":{"type":"number","description":"body.TeamSettings.UserStatusAwayTimeout (number field from the documented request schema)"}}}}},"example":{"AnalyticsSettings":[{"MaxUsersForStatistics":0}],"ClusterSettings":[{"Enable":false,"InterNodeListenAddress":"string","InterNodeUrls":["string"]}],"ComplianceSettings":[{"Directory":"string","Enable":false,"EnableDaily":false}],"EmailSettings":[{"EnableSignInWithEmail":false,"EnableSignInWithUsername":false,"EnableSignUpWithEmail":false,"FeedbackEmail":"string","FeedbackName":"string","FeedbackOrganization":"string","RequireEmailVerification":false,"SMTPPassword":"string","SMTPPort":"string","SMTPServer":"string","SMTPUsername":"string","SendEmailNotifications":false}],"FileSettings":[{"Directory":"string","DriverName":"string","EnablePublicLink":false,"InitialFont":"string","MaxFileSize":0,"PreviewHeight":0,"PreviewWidth":0,"ProfileHeight":0,"ProfileWidth":0,"PublicLinkSalt":"string","ThumbnailHeight":0,"ThumbnailWidth":0}],"GitLabSettings":[{"AuthEndpoint":"string","Enable":false,"Id":"string","Scope":"string","Secret":"string","TokenEndpoint":"string","UserApiEndpoint":"string"}],"GoogleSettings":[{"AuthEndpoint":"string","Enable":false,"Id":"string","Scope":"string","Secret":"string","TokenEndpoint":"string","UserApiEndpoint":"string"}],"LdapSettings":[{"BaseDN":"string","BindPassword":"string","BindUsername":"string","ConnectionSecurity":"string","EmailAttribute":"string","Enable":false,"FirstNameAttribute":"string","LastNameAttribute":"string","LdapPort":0,"LdapServer":"string","UserFilter":"string","UsernameAttribute":"string"}],"LocalizationSettings":[{"AvailableLocales":"string","DefaultClientLocale":"string","DefaultServerLocale":"string"}],"LogSettings":[{"ConsoleLevel":"string","EnableConsole":false,"EnableDiagnostics":false,"EnableFile":false,"EnableWebhookDebugging":false,"FileLevel":"string","FileLocation":"string"}],"MetricsSettings":[{"BlockProfileRate":0,"Enable":false,"ListenAddress":"string"}],"NativeAppSettings":[{"AndroidAppDownloadLink":"string","AppDownloadLink":"string","IosAppDownloadLink":"string"}],"Office365Settings":[{"AuthEndpoint":"string","Enable":false,"Id":"string","Scope":"string","Secret":"string","TokenEndpoint":"string","UserApiEndpoint":"string"}],"PasswordSettings":[{"Lowercase":false,"MinimumLength":0,"Number":false,"Symbol":false,"Uppercase":false}],"PrivacySettings":[{"ShowEmailAddress":false,"ShowFullName":false}],"RateLimitSettings":[{"Enable":false,"MaxBurst":0,"MemoryStoreSize":0,"PerSec":0,"VaryByHeader":"string","VaryByRemoteAddr":false}],"SamlSettings":[{"AssertionConsumerServiceURL":"string","EmailAttribute":"string","Enable":false,"Encrypt":false,"FirstNameAttribute":"string","IdpCertificateFile":"string","IdpDescriptorUrl":"string","IdpUrl":"string","LastNameAttribute":"string","PrivateKeyFile":"string","PublicCertificateFile":"string","Verify":false}],"ServiceSettings":[{"ConnectionSecurity":"string","Forward80To443":false,"LetsEncryptCertificateCacheFile":"string","ListenAddress":"string","MaximumLoginAttempts":0,"ReadTimeout":0,"SegmentDeveloperKey":"string","SiteURL":"string","TLSCertFile":"string","TLSKeyFile":"string","UseLetsEncrypt":false,"WriteTimeout":0}],"SqlSettings":[{"AtRestEncryptKey":"string","DataSource":"string","DataSourceReplicas":["string"],"DriverName":"string","MaxIdleConns":0,"MaxOpenConns":0,"Trace":false}],"SupportSettings":[{"AboutLink":"string","AllowDownloadLogs":false,"HelpLink":"string","PrivacyPolicyLink":"string","ReportAProblemLink":"string","ReportAProblemMail":"string","ReportAProblemType":"string","SupportEmail":"string","TermsOfServiceLink":"string"}],"TeamSettings":[{"CustomBrandText":"string","CustomDescriptionText":"string","EnableCustomBrand":false,"EnableOpenServer":false,"EnableTeamCreation":false,"EnableUserCreation":false,"MaxUsersPerTeam":0,"RestrictCreationToDomains":"string","RestrictDirectMessage":"string","RestrictPublicChannelManagement":"string","RestrictTeamInvite":"string","SiteName":"string"}]}}}}}},"/config":{"get":{"tags":["System"],"parameters":[{"name":"remove_defaults","in":"query","description":"Remove default values from the exported configuration.\n__Minimum server version__: 10.4.0","required":false,"schema":{"type":"string","example":""}},{"name":"remove_masked","in":"query","description":"Remove masked values from the exported configuration.\n__Minimum server version__: 10.4.0","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetConfig","api_endpoint":"https://{site_url}/api/v4/config"},"summary":"Get configuration","description":"Get configuration | Retrieve the current server configuration\n##### Permissions\nMust have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]},"put":{"tags":["System"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UpdateConfig","api_endpoint":"https://{site_url}/api/v4/config"},"summary":"Update configuration","description":"Update configuration | Submit a new configuration for the server to use. As of server version 4.8, the `PluginSettings.EnableUploads` and `PluginSettings.SignaturePublicKeyFiles` settings cannot be modified by this endpoint.\nNote that the parameters that aren't set in the configuration that you provide will be reset to default values. Therefore, if you want to change a configuration parameter and leave the other ones unchanged, you need to get the existing configuration first, change the field that you want, then put that new configuration.\n##### Permissions\nMust have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"AnalyticsSettings":{"type":"object","description":"body.AnalyticsSettings (object field from the documented request schema)","properties":{"MaxUsersForStatistics":{"type":"number","description":"body.AnalyticsSettings.MaxUsersForStatistics (number field from the documented request schema)"}}},"ClusterSettings":{"type":"object","description":"body.ClusterSettings (object field from the documented request schema)","properties":{"Enable":{"type":"boolean","description":"body.ClusterSettings.Enable (boolean field from the documented request schema)","enum":[true,false]},"InterNodeListenAddress":{"type":"string","description":"body.ClusterSettings.InterNodeListenAddress (string field from the documented request schema)"},"InterNodeUrls":{"type":"array","description":"body.ClusterSettings.InterNodeUrls (array field from the documented request schema)"}}},"ComplianceSettings":{"type":"object","description":"body.ComplianceSettings (object field from the documented request schema)","properties":{"Directory":{"type":"string","description":"body.ComplianceSettings.Directory (string field from the documented request schema)"},"Enable":{"type":"boolean","description":"body.ComplianceSettings.Enable (boolean field from the documented request schema)","enum":[true,false]},"EnableDaily":{"type":"boolean","description":"body.ComplianceSettings.EnableDaily (boolean field from the documented request schema)","enum":[true,false]}}},"EmailSettings":{"type":"object","description":"body.EmailSettings (object field from the documented request schema)","properties":{"ConnectionSecurity":{"type":"string","description":"body.EmailSettings.ConnectionSecurity (string field from the documented request schema)"},"EmailBatchingBufferSize":{"type":"number","description":"body.EmailSettings.EmailBatchingBufferSize (number field from the documented request schema)"},"EmailBatchingInterval":{"type":"number","description":"body.EmailSettings.EmailBatchingInterval (number field from the documented request schema)"},"EnableEmailBatching":{"type":"boolean","description":"body.EmailSettings.EnableEmailBatching (boolean field from the documented request schema)","enum":[true,false]},"EnableSignInWithEmail":{"type":"boolean","description":"body.EmailSettings.EnableSignInWithEmail (boolean field from the documented request schema)","enum":[true,false]},"EnableSignInWithUsername":{"type":"boolean","description":"body.EmailSettings.EnableSignInWithUsername (boolean field from the documented request schema)","enum":[true,false]},"EnableSignUpWithEmail":{"type":"boolean","description":"body.EmailSettings.EnableSignUpWithEmail (boolean field from the documented request schema)","enum":[true,false]},"FeedbackEmail":{"type":"string","description":"body.EmailSettings.FeedbackEmail (string field from the documented request schema)"},"FeedbackName":{"type":"string","description":"body.EmailSettings.FeedbackName (string field from the documented request schema)"},"FeedbackOrganization":{"type":"string","description":"body.EmailSettings.FeedbackOrganization (string field from the documented request schema)"},"InviteSalt":{"type":"string","description":"body.EmailSettings.InviteSalt (string field from the documented request schema)"},"PasswordResetSalt":{"type":"string","description":"body.EmailSettings.PasswordResetSalt (string field from the documented request schema)"},"PushNotificationContents":{"type":"string","description":"body.EmailSettings.PushNotificationContents (string field from the documented request schema)"},"PushNotificationServer":{"type":"string","description":"body.EmailSettings.PushNotificationServer (string field from the documented request schema)"},"RequireEmailVerification":{"type":"boolean","description":"body.EmailSettings.RequireEmailVerification (boolean field from the documented request schema)","enum":[true,false]},"SMTPPassword":{"type":"string","description":"body.EmailSettings.SMTPPassword (string field from the documented request schema)"},"SMTPPort":{"type":"string","description":"body.EmailSettings.SMTPPort (string field from the documented request schema)"},"SMTPServer":{"type":"string","description":"body.EmailSettings.SMTPServer (string field from the documented request schema)"},"SMTPUsername":{"type":"string","description":"body.EmailSettings.SMTPUsername (string field from the documented request schema)"},"SendEmailNotifications":{"type":"boolean","description":"body.EmailSettings.SendEmailNotifications (boolean field from the documented request schema)","enum":[true,false]},"SendPushNotifications":{"type":"boolean","description":"body.EmailSettings.SendPushNotifications (boolean field from the documented request schema)","enum":[true,false]}}},"FileSettings":{"type":"object","description":"body.FileSettings (object field from the documented request schema)","properties":{"AmazonS3AccessKeyId":{"type":"string","description":"body.FileSettings.AmazonS3AccessKeyId (string field from the documented request schema)"},"AmazonS3Bucket":{"type":"string","description":"body.FileSettings.AmazonS3Bucket (string field from the documented request schema)"},"AmazonS3Endpoint":{"type":"string","description":"body.FileSettings.AmazonS3Endpoint (string field from the documented request schema)"},"AmazonS3Region":{"type":"string","description":"body.FileSettings.AmazonS3Region (string field from the documented request schema)"},"AmazonS3SSL":{"type":"boolean","description":"body.FileSettings.AmazonS3SSL (boolean field from the documented request schema)","enum":[true,false]},"AmazonS3SecretAccessKey":{"type":"string","description":"body.FileSettings.AmazonS3SecretAccessKey (string field from the documented request schema)"},"AmazonS3StorageClass":{"type":"string","description":"body.FileSettings.AmazonS3StorageClass (string field from the documented request schema)"},"Directory":{"type":"string","description":"body.FileSettings.Directory (string field from the documented request schema)"},"DriverName":{"type":"string","description":"body.FileSettings.DriverName (string field from the documented request schema)"},"EnablePublicLink":{"type":"boolean","description":"body.FileSettings.EnablePublicLink (boolean field from the documented request schema)","enum":[true,false]},"InitialFont":{"type":"string","description":"body.FileSettings.InitialFont (string field from the documented request schema)"},"MaxFileSize":{"type":"number","description":"body.FileSettings.MaxFileSize (number field from the documented request schema)"},"PreviewHeight":{"type":"number","description":"body.FileSettings.PreviewHeight (number field from the documented request schema)"},"PreviewWidth":{"type":"number","description":"body.FileSettings.PreviewWidth (number field from the documented request schema)"},"ProfileHeight":{"type":"number","description":"body.FileSettings.ProfileHeight (number field from the documented request schema)"},"ProfileWidth":{"type":"number","description":"body.FileSettings.ProfileWidth (number field from the documented request schema)"},"PublicLinkSalt":{"type":"string","description":"body.FileSettings.PublicLinkSalt (string field from the documented request schema)"},"ThumbnailHeight":{"type":"number","description":"body.FileSettings.ThumbnailHeight (number field from the documented request schema)"},"ThumbnailWidth":{"type":"number","description":"body.FileSettings.ThumbnailWidth (number field from the documented request schema)"}}},"GitLabSettings":{"type":"object","description":"body.GitLabSettings (object field from the documented request schema)","properties":{"AuthEndpoint":{"type":"string","description":"body.GitLabSettings.AuthEndpoint (string field from the documented request schema)"},"Enable":{"type":"boolean","description":"body.GitLabSettings.Enable (boolean field from the documented request schema)","enum":[true,false]},"Id":{"type":"string","description":"body.GitLabSettings.Id (string field from the documented request schema)"},"Scope":{"type":"string","description":"body.GitLabSettings.Scope (string field from the documented request schema)"},"Secret":{"type":"string","description":"body.GitLabSettings.Secret (string field from the documented request schema)"},"TokenEndpoint":{"type":"string","description":"body.GitLabSettings.TokenEndpoint (string field from the documented request schema)"},"UserApiEndpoint":{"type":"string","description":"body.GitLabSettings.UserApiEndpoint (string field from the documented request schema)"}}},"GoogleSettings":{"type":"object","description":"body.GoogleSettings (object field from the documented request schema)","properties":{"AuthEndpoint":{"type":"string","description":"body.GoogleSettings.AuthEndpoint (string field from the documented request schema)"},"Enable":{"type":"boolean","description":"body.GoogleSettings.Enable (boolean field from the documented request schema)","enum":[true,false]},"Id":{"type":"string","description":"body.GoogleSettings.Id (string field from the documented request schema)"},"Scope":{"type":"string","description":"body.GoogleSettings.Scope (string field from the documented request schema)"},"Secret":{"type":"string","description":"body.GoogleSettings.Secret (string field from the documented request schema)"},"TokenEndpoint":{"type":"string","description":"body.GoogleSettings.TokenEndpoint (string field from the documented request schema)"},"UserApiEndpoint":{"type":"string","description":"body.GoogleSettings.UserApiEndpoint (string field from the documented request schema)"}}},"LdapSettings":{"type":"object","description":"body.LdapSettings (object field from the documented request schema)","properties":{"BaseDN":{"type":"string","description":"body.LdapSettings.BaseDN (string field from the documented request schema)"},"BindPassword":{"type":"string","description":"body.LdapSettings.BindPassword (string field from the documented request schema)"},"BindUsername":{"type":"string","description":"body.LdapSettings.BindUsername (string field from the documented request schema)"},"ConnectionSecurity":{"type":"string","description":"body.LdapSettings.ConnectionSecurity (string field from the documented request schema)"},"EmailAttribute":{"type":"string","description":"body.LdapSettings.EmailAttribute (string field from the documented request schema)"},"Enable":{"type":"boolean","description":"body.LdapSettings.Enable (boolean field from the documented request schema)","enum":[true,false]},"FirstNameAttribute":{"type":"string","description":"body.LdapSettings.FirstNameAttribute (string field from the documented request schema)"},"IdAttribute":{"type":"string","description":"body.LdapSettings.IdAttribute (string field from the documented request schema)"},"LastNameAttribute":{"type":"string","description":"body.LdapSettings.LastNameAttribute (string field from the documented request schema)"},"LdapPort":{"type":"number","description":"body.LdapSettings.LdapPort (number field from the documented request schema)"},"LdapServer":{"type":"string","description":"body.LdapSettings.LdapServer (string field from the documented request schema)"},"LoginFieldName":{"type":"string","description":"body.LdapSettings.LoginFieldName (string field from the documented request schema)"},"MaxPageSize":{"type":"number","description":"body.LdapSettings.MaxPageSize (number field from the documented request schema)"},"NicknameAttribute":{"type":"string","description":"body.LdapSettings.NicknameAttribute (string field from the documented request schema)"},"PositionAttribute":{"type":"string","description":"body.LdapSettings.PositionAttribute (string field from the documented request schema)"},"QueryTimeout":{"type":"number","description":"body.LdapSettings.QueryTimeout (number field from the documented request schema)"},"SkipCertificateVerification":{"type":"boolean","description":"body.LdapSettings.SkipCertificateVerification (boolean field from the documented request schema)","enum":[true,false]},"SyncIntervalMinutes":{"type":"number","description":"body.LdapSettings.SyncIntervalMinutes (number field from the documented request schema)"},"UserFilter":{"type":"string","description":"body.LdapSettings.UserFilter (string field from the documented request schema)"},"UsernameAttribute":{"type":"string","description":"body.LdapSettings.UsernameAttribute (string field from the documented request schema)"}}},"LocalizationSettings":{"type":"object","description":"body.LocalizationSettings (object field from the documented request schema)","properties":{"AvailableLocales":{"type":"string","description":"body.LocalizationSettings.AvailableLocales (string field from the documented request schema)"},"DefaultClientLocale":{"type":"string","description":"body.LocalizationSettings.DefaultClientLocale (string field from the documented request schema)"},"DefaultServerLocale":{"type":"string","description":"body.LocalizationSettings.DefaultServerLocale (string field from the documented request schema)"}}},"LogSettings":{"type":"object","description":"body.LogSettings (object field from the documented request schema)","properties":{"ConsoleLevel":{"type":"string","description":"body.LogSettings.ConsoleLevel (string field from the documented request schema)"},"EnableConsole":{"type":"boolean","description":"body.LogSettings.EnableConsole (boolean field from the documented request schema)","enum":[true,false]},"EnableDiagnostics":{"type":"boolean","description":"body.LogSettings.EnableDiagnostics (boolean field from the documented request schema)","enum":[true,false]},"EnableFile":{"type":"boolean","description":"body.LogSettings.EnableFile (boolean field from the documented request schema)","enum":[true,false]},"EnableWebhookDebugging":{"type":"boolean","description":"body.LogSettings.EnableWebhookDebugging (boolean field from the documented request schema)","enum":[true,false]},"FileLevel":{"type":"string","description":"body.LogSettings.FileLevel (string field from the documented request schema)"},"FileLocation":{"type":"string","description":"body.LogSettings.FileLocation (string field from the documented request schema)"}}},"MetricsSettings":{"type":"object","description":"body.MetricsSettings (object field from the documented request schema)","properties":{"BlockProfileRate":{"type":"number","description":"body.MetricsSettings.BlockProfileRate (number field from the documented request schema)"},"Enable":{"type":"boolean","description":"body.MetricsSettings.Enable (boolean field from the documented request schema)","enum":[true,false]},"ListenAddress":{"type":"string","description":"body.MetricsSettings.ListenAddress (string field from the documented request schema)"}}},"NativeAppSettings":{"type":"object","description":"body.NativeAppSettings (object field from the documented request schema)","properties":{"AndroidAppDownloadLink":{"type":"string","description":"body.NativeAppSettings.AndroidAppDownloadLink (string field from the documented request schema)"},"AppDownloadLink":{"type":"string","description":"body.NativeAppSettings.AppDownloadLink (string field from the documented request schema)"},"IosAppDownloadLink":{"type":"string","description":"body.NativeAppSettings.IosAppDownloadLink (string field from the documented request schema)"}}},"Office365Settings":{"type":"object","description":"body.Office365Settings (object field from the documented request schema)","properties":{"AuthEndpoint":{"type":"string","description":"body.Office365Settings.AuthEndpoint (string field from the documented request schema)"},"Enable":{"type":"boolean","description":"body.Office365Settings.Enable (boolean field from the documented request schema)","enum":[true,false]},"Id":{"type":"string","description":"body.Office365Settings.Id (string field from the documented request schema)"},"Scope":{"type":"string","description":"body.Office365Settings.Scope (string field from the documented request schema)"},"Secret":{"type":"string","description":"body.Office365Settings.Secret (string field from the documented request schema)"},"TokenEndpoint":{"type":"string","description":"body.Office365Settings.TokenEndpoint (string field from the documented request schema)"},"UserApiEndpoint":{"type":"string","description":"body.Office365Settings.UserApiEndpoint (string field from the documented request schema)"}}},"PasswordSettings":{"type":"object","description":"body.PasswordSettings (object field from the documented request schema)","properties":{"Lowercase":{"type":"boolean","description":"body.PasswordSettings.Lowercase (boolean field from the documented request schema)","enum":[true,false]},"MinimumLength":{"type":"number","description":"body.PasswordSettings.MinimumLength (number field from the documented request schema)"},"Number":{"type":"boolean","description":"body.PasswordSettings.Number (boolean field from the documented request schema)","enum":[true,false]},"Symbol":{"type":"boolean","description":"body.PasswordSettings.Symbol (boolean field from the documented request schema)","enum":[true,false]},"Uppercase":{"type":"boolean","description":"body.PasswordSettings.Uppercase (boolean field from the documented request schema)","enum":[true,false]}}},"PrivacySettings":{"type":"object","description":"body.PrivacySettings (object field from the documented request schema)","properties":{"ShowEmailAddress":{"type":"boolean","description":"body.PrivacySettings.ShowEmailAddress (boolean field from the documented request schema)","enum":[true,false]},"ShowFullName":{"type":"boolean","description":"body.PrivacySettings.ShowFullName (boolean field from the documented request schema)","enum":[true,false]}}},"RateLimitSettings":{"type":"object","description":"body.RateLimitSettings (object field from the documented request schema)","properties":{"Enable":{"type":"boolean","description":"body.RateLimitSettings.Enable (boolean field from the documented request schema)","enum":[true,false]},"MaxBurst":{"type":"number","description":"body.RateLimitSettings.MaxBurst (number field from the documented request schema)"},"MemoryStoreSize":{"type":"number","description":"body.RateLimitSettings.MemoryStoreSize (number field from the documented request schema)"},"PerSec":{"type":"number","description":"body.RateLimitSettings.PerSec (number field from the documented request schema)"},"VaryByHeader":{"type":"string","description":"body.RateLimitSettings.VaryByHeader (string field from the documented request schema)"},"VaryByRemoteAddr":{"type":"boolean","description":"body.RateLimitSettings.VaryByRemoteAddr (boolean field from the documented request schema)","enum":[true,false]}}},"SamlSettings":{"type":"object","description":"body.SamlSettings (object field from the documented request schema)","properties":{"AssertionConsumerServiceURL":{"type":"string","description":"body.SamlSettings.AssertionConsumerServiceURL (string field from the documented request schema)"},"EmailAttribute":{"type":"string","description":"body.SamlSettings.EmailAttribute (string field from the documented request schema)"},"Enable":{"type":"boolean","description":"body.SamlSettings.Enable (boolean field from the documented request schema)","enum":[true,false]},"Encrypt":{"type":"boolean","description":"body.SamlSettings.Encrypt (boolean field from the documented request schema)","enum":[true,false]},"FirstNameAttribute":{"type":"string","description":"body.SamlSettings.FirstNameAttribute (string field from the documented request schema)"},"IdpCertificateFile":{"type":"string","description":"body.SamlSettings.IdpCertificateFile (string field from the documented request schema)"},"IdpDescriptorUrl":{"type":"string","description":"body.SamlSettings.IdpDescriptorUrl (string field from the documented request schema)"},"IdpUrl":{"type":"string","description":"body.SamlSettings.IdpUrl (string field from the documented request schema)"},"LastNameAttribute":{"type":"string","description":"body.SamlSettings.LastNameAttribute (string field from the documented request schema)"},"LocaleAttribute":{"type":"string","description":"body.SamlSettings.LocaleAttribute (string field from the documented request schema)"},"LoginButtonText":{"type":"string","description":"body.SamlSettings.LoginButtonText (string field from the documented request schema)"},"NicknameAttribute":{"type":"string","description":"body.SamlSettings.NicknameAttribute (string field from the documented request schema)"},"PositionAttribute":{"type":"string","description":"body.SamlSettings.PositionAttribute (string field from the documented request schema)"},"PrivateKeyFile":{"type":"string","description":"body.SamlSettings.PrivateKeyFile (string field from the documented request schema)"},"PublicCertificateFile":{"type":"string","description":"body.SamlSettings.PublicCertificateFile (string field from the documented request schema)"},"UsernameAttribute":{"type":"string","description":"body.SamlSettings.UsernameAttribute (string field from the documented request schema)"},"Verify":{"type":"boolean","description":"body.SamlSettings.Verify (boolean field from the documented request schema)","enum":[true,false]}}},"ServiceSettings":{"type":"object","description":"body.ServiceSettings (object field from the documented request schema)","properties":{"AllowCorsFrom":{"type":"string","description":"body.ServiceSettings.AllowCorsFrom (string field from the documented request schema)"},"ConnectionSecurity":{"type":"string","description":"body.ServiceSettings.ConnectionSecurity (string field from the documented request schema)"},"EnableCommands":{"type":"boolean","description":"body.ServiceSettings.EnableCommands (boolean field from the documented request schema)","enum":[true,false]},"EnableCustomEmoji":{"type":"boolean","description":"body.ServiceSettings.EnableCustomEmoji (boolean field from the documented request schema)","enum":[true,false]},"EnableDeveloper":{"type":"boolean","description":"body.ServiceSettings.EnableDeveloper (boolean field from the documented request schema)","enum":[true,false]},"EnableIncomingWebhooks":{"type":"boolean","description":"body.ServiceSettings.EnableIncomingWebhooks (boolean field from the documented request schema)","enum":[true,false]},"EnableInsecureOutgoingConnections":{"type":"boolean","description":"body.ServiceSettings.EnableInsecureOutgoingConnections (boolean field from the documented request schema)","enum":[true,false]},"EnableMultifactorAuthentication":{"type":"boolean","description":"body.ServiceSettings.EnableMultifactorAuthentication (boolean field from the documented request schema)","enum":[true,false]},"EnableOAuthServiceProvider":{"type":"boolean","description":"body.ServiceSettings.EnableOAuthServiceProvider (boolean field from the documented request schema)","enum":[true,false]},"EnableOnlyAdminIntegrations":{"type":"boolean","description":"body.ServiceSettings.EnableOnlyAdminIntegrations (boolean field from the documented request schema)","enum":[true,false]},"EnableOutgoingWebhooks":{"type":"boolean","description":"body.ServiceSettings.EnableOutgoingWebhooks (boolean field from the documented request schema)","enum":[true,false]},"EnablePostIconOverride":{"type":"boolean","description":"body.ServiceSettings.EnablePostIconOverride (boolean field from the documented request schema)","enum":[true,false]},"EnablePostUsernameOverride":{"type":"boolean","description":"body.ServiceSettings.EnablePostUsernameOverride (boolean field from the documented request schema)","enum":[true,false]},"EnableSecurityFixAlert":{"type":"boolean","description":"body.ServiceSettings.EnableSecurityFixAlert (boolean field from the documented request schema)","enum":[true,false]},"EnableTesting":{"type":"boolean","description":"Intended only for isolated non-production environments and must never be enabled in production.","enum":[true,false]},"EnforceMultifactorAuthentication":{"type":"boolean","description":"body.ServiceSettings.EnforceMultifactorAuthentication (boolean field from the documented request schema)","enum":[true,false]},"Forward80To443":{"type":"boolean","description":"body.ServiceSettings.Forward80To443 (boolean field from the documented request schema)","enum":[true,false]},"GoogleDeveloperKey":{"type":"string","description":"body.ServiceSettings.GoogleDeveloperKey (string field from the documented request schema)"},"LetsEncryptCertificateCacheFile":{"type":"string","description":"body.ServiceSettings.LetsEncryptCertificateCacheFile (string field from the documented request schema)"},"ListenAddress":{"type":"string","description":"body.ServiceSettings.ListenAddress (string field from the documented request schema)"},"MaximumLoginAttempts":{"type":"number","description":"body.ServiceSettings.MaximumLoginAttempts (number field from the documented request schema)"},"ReadTimeout":{"type":"number","description":"body.ServiceSettings.ReadTimeout (number field from the documented request schema)"},"RestrictCustomEmojiCreation":{"type":"string","description":"body.ServiceSettings.RestrictCustomEmojiCreation (string field from the documented request schema)"},"SegmentDeveloperKey":{"type":"string","description":"body.ServiceSettings.SegmentDeveloperKey (string field from the documented request schema)"},"SessionCacheInMinutes":{"type":"number","description":"body.ServiceSettings.SessionCacheInMinutes (number field from the documented request schema)"},"SessionLengthMobileInDays":{"type":"number","description":"body.ServiceSettings.SessionLengthMobileInDays (number field from the documented request schema)"},"SessionLengthSSOInDays":{"type":"number","description":"body.ServiceSettings.SessionLengthSSOInDays (number field from the documented request schema)"},"SessionLengthWebInDays":{"type":"number","description":"body.ServiceSettings.SessionLengthWebInDays (number field from the documented request schema)"},"SiteURL":{"type":"string","description":"body.ServiceSettings.SiteURL (string field from the documented request schema)"},"TLSCertFile":{"type":"string","description":"body.ServiceSettings.TLSCertFile (string field from the documented request schema)"},"TLSKeyFile":{"type":"string","description":"body.ServiceSettings.TLSKeyFile (string field from the documented request schema)"},"UseLetsEncrypt":{"type":"boolean","description":"body.ServiceSettings.UseLetsEncrypt (boolean field from the documented request schema)","enum":[true,false]},"WebserverMode":{"type":"string","description":"body.ServiceSettings.WebserverMode (string field from the documented request schema)"},"WebsocketPort":{"type":"number","description":"body.ServiceSettings.WebsocketPort (number field from the documented request schema)"},"WebsocketSecurePort":{"type":"number","description":"body.ServiceSettings.WebsocketSecurePort (number field from the documented request schema)"},"WriteTimeout":{"type":"number","description":"body.ServiceSettings.WriteTimeout (number field from the documented request schema)"}}},"SqlSettings":{"type":"object","description":"body.SqlSettings (object field from the documented request schema)","properties":{"AtRestEncryptKey":{"type":"string","description":"body.SqlSettings.AtRestEncryptKey (string field from the documented request schema)"},"DataSource":{"type":"string","description":"body.SqlSettings.DataSource (string field from the documented request schema)"},"DataSourceReplicas":{"type":"array","description":"body.SqlSettings.DataSourceReplicas (array field from the documented request schema)"},"DriverName":{"type":"string","description":"body.SqlSettings.DriverName (string field from the documented request schema)"},"MaxIdleConns":{"type":"number","description":"body.SqlSettings.MaxIdleConns (number field from the documented request schema)"},"MaxOpenConns":{"type":"number","description":"body.SqlSettings.MaxOpenConns (number field from the documented request schema)"},"Trace":{"type":"boolean","description":"body.SqlSettings.Trace (boolean field from the documented request schema)","enum":[true,false]}}},"SupportSettings":{"type":"object","description":"body.SupportSettings (object field from the documented request schema)","properties":{"AboutLink":{"type":"string","description":"body.SupportSettings.AboutLink (string field from the documented request schema)"},"AllowDownloadLogs":{"type":"boolean","description":"body.SupportSettings.AllowDownloadLogs (boolean field from the documented request schema)","enum":[true,false]},"HelpLink":{"type":"string","description":"body.SupportSettings.HelpLink (string field from the documented request schema)"},"PrivacyPolicyLink":{"type":"string","description":"body.SupportSettings.PrivacyPolicyLink (string field from the documented request schema)"},"ReportAProblemLink":{"type":"string","description":"body.SupportSettings.ReportAProblemLink (string field from the documented request schema)"},"ReportAProblemMail":{"type":"string","description":"body.SupportSettings.ReportAProblemMail (string field from the documented request schema)"},"ReportAProblemType":{"type":"string","description":"body.SupportSettings.ReportAProblemType (string field from the documented request schema)"},"SupportEmail":{"type":"string","description":"body.SupportSettings.SupportEmail (string field from the documented request schema)"},"TermsOfServiceLink":{"type":"string","description":"body.SupportSettings.TermsOfServiceLink (string field from the documented request schema)"}}},"TeamSettings":{"type":"object","description":"body.TeamSettings (object field from the documented request schema)","properties":{"CustomBrandText":{"type":"string","description":"body.TeamSettings.CustomBrandText (string field from the documented request schema)"},"CustomDescriptionText":{"type":"string","description":"body.TeamSettings.CustomDescriptionText (string field from the documented request schema)"},"EnableCustomBrand":{"type":"boolean","description":"body.TeamSettings.EnableCustomBrand (boolean field from the documented request schema)","enum":[true,false]},"EnableOpenServer":{"type":"boolean","description":"body.TeamSettings.EnableOpenServer (boolean field from the documented request schema)","enum":[true,false]},"EnableTeamCreation":{"type":"boolean","description":"body.TeamSettings.EnableTeamCreation (boolean field from the documented request schema)","enum":[true,false]},"EnableUserCreation":{"type":"boolean","description":"body.TeamSettings.EnableUserCreation (boolean field from the documented request schema)","enum":[true,false]},"MaxChannelsPerTeam":{"type":"number","description":"body.TeamSettings.MaxChannelsPerTeam (number field from the documented request schema)"},"MaxNotificationsPerChannel":{"type":"number","description":"body.TeamSettings.MaxNotificationsPerChannel (number field from the documented request schema)"},"MaxUsersPerTeam":{"type":"number","description":"body.TeamSettings.MaxUsersPerTeam (number field from the documented request schema)"},"RestrictCreationToDomains":{"type":"string","description":"body.TeamSettings.RestrictCreationToDomains (string field from the documented request schema)"},"RestrictDirectMessage":{"type":"string","description":"body.TeamSettings.RestrictDirectMessage (string field from the documented request schema)"},"RestrictPrivateChannelCreation":{"type":"string","description":"body.TeamSettings.RestrictPrivateChannelCreation (string field from the documented request schema)"},"RestrictPrivateChannelDeletion":{"type":"string","description":"body.TeamSettings.RestrictPrivateChannelDeletion (string field from the documented request schema)"},"RestrictPrivateChannelManagement":{"type":"string","description":"body.TeamSettings.RestrictPrivateChannelManagement (string field from the documented request schema)"},"RestrictPublicChannelCreation":{"type":"string","description":"body.TeamSettings.RestrictPublicChannelCreation (string field from the documented request schema)"},"RestrictPublicChannelDeletion":{"type":"string","description":"body.TeamSettings.RestrictPublicChannelDeletion (string field from the documented request schema)"},"RestrictPublicChannelManagement":{"type":"string","description":"body.TeamSettings.RestrictPublicChannelManagement (string field from the documented request schema)"},"RestrictTeamInvite":{"type":"string","description":"body.TeamSettings.RestrictTeamInvite (string field from the documented request schema)"},"SiteName":{"type":"string","description":"body.TeamSettings.SiteName (string field from the documented request schema)"},"UserStatusAwayTimeout":{"type":"number","description":"body.TeamSettings.UserStatusAwayTimeout (number field from the documented request schema)"}}}}},"example":{"AnalyticsSettings":[{"MaxUsersForStatistics":0}],"ClusterSettings":[{"Enable":false,"InterNodeListenAddress":"string","InterNodeUrls":["string"]}],"ComplianceSettings":[{"Directory":"string","Enable":false,"EnableDaily":false}],"EmailSettings":[{"EnableSignInWithEmail":false,"EnableSignInWithUsername":false,"EnableSignUpWithEmail":false,"FeedbackEmail":"string","FeedbackName":"string","FeedbackOrganization":"string","RequireEmailVerification":false,"SMTPPassword":"string","SMTPPort":"string","SMTPServer":"string","SMTPUsername":"string","SendEmailNotifications":false}],"FileSettings":[{"Directory":"string","DriverName":"string","EnablePublicLink":false,"InitialFont":"string","MaxFileSize":0,"PreviewHeight":0,"PreviewWidth":0,"ProfileHeight":0,"ProfileWidth":0,"PublicLinkSalt":"string","ThumbnailHeight":0,"ThumbnailWidth":0}],"GitLabSettings":[{"AuthEndpoint":"string","Enable":false,"Id":"string","Scope":"string","Secret":"string","TokenEndpoint":"string","UserApiEndpoint":"string"}],"GoogleSettings":[{"AuthEndpoint":"string","Enable":false,"Id":"string","Scope":"string","Secret":"string","TokenEndpoint":"string","UserApiEndpoint":"string"}],"LdapSettings":[{"BaseDN":"string","BindPassword":"string","BindUsername":"string","ConnectionSecurity":"string","EmailAttribute":"string","Enable":false,"FirstNameAttribute":"string","LastNameAttribute":"string","LdapPort":0,"LdapServer":"string","UserFilter":"string","UsernameAttribute":"string"}],"LocalizationSettings":[{"AvailableLocales":"string","DefaultClientLocale":"string","DefaultServerLocale":"string"}],"LogSettings":[{"ConsoleLevel":"string","EnableConsole":false,"EnableDiagnostics":false,"EnableFile":false,"EnableWebhookDebugging":false,"FileLevel":"string","FileLocation":"string"}],"MetricsSettings":[{"BlockProfileRate":0,"Enable":false,"ListenAddress":"string"}],"NativeAppSettings":[{"AndroidAppDownloadLink":"string","AppDownloadLink":"string","IosAppDownloadLink":"string"}],"Office365Settings":[{"AuthEndpoint":"string","Enable":false,"Id":"string","Scope":"string","Secret":"string","TokenEndpoint":"string","UserApiEndpoint":"string"}],"PasswordSettings":[{"Lowercase":false,"MinimumLength":0,"Number":false,"Symbol":false,"Uppercase":false}],"PrivacySettings":[{"ShowEmailAddress":false,"ShowFullName":false}],"RateLimitSettings":[{"Enable":false,"MaxBurst":0,"MemoryStoreSize":0,"PerSec":0,"VaryByHeader":"string","VaryByRemoteAddr":false}],"SamlSettings":[{"AssertionConsumerServiceURL":"string","EmailAttribute":"string","Enable":false,"Encrypt":false,"FirstNameAttribute":"string","IdpCertificateFile":"string","IdpDescriptorUrl":"string","IdpUrl":"string","LastNameAttribute":"string","PrivateKeyFile":"string","PublicCertificateFile":"string","Verify":false}],"ServiceSettings":[{"ConnectionSecurity":"string","Forward80To443":false,"LetsEncryptCertificateCacheFile":"string","ListenAddress":"string","MaximumLoginAttempts":0,"ReadTimeout":0,"SegmentDeveloperKey":"string","SiteURL":"string","TLSCertFile":"string","TLSKeyFile":"string","UseLetsEncrypt":false,"WriteTimeout":0}],"SqlSettings":[{"AtRestEncryptKey":"string","DataSource":"string","DataSourceReplicas":["string"],"DriverName":"string","MaxIdleConns":0,"MaxOpenConns":0,"Trace":false}],"SupportSettings":[{"AboutLink":"string","AllowDownloadLogs":false,"HelpLink":"string","PrivacyPolicyLink":"string","ReportAProblemLink":"string","ReportAProblemMail":"string","ReportAProblemType":"string","SupportEmail":"string","TermsOfServiceLink":"string"}],"TeamSettings":[{"CustomBrandText":"string","CustomDescriptionText":"string","EnableCustomBrand":false,"EnableOpenServer":false,"EnableTeamCreation":false,"EnableUserCreation":false,"MaxUsersPerTeam":0,"RestrictCreationToDomains":"string","RestrictDirectMessage":"string","RestrictPublicChannelManagement":"string","RestrictTeamInvite":"string","SiteName":"string"}]}}}}}},"/config/reload":{"post":{"tags":["System"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#ReloadConfig","api_endpoint":"https://{site_url}/api/v4/config/reload"},"summary":"Reload configuration","description":"Reload configuration | Reload the configuration file to pick up on any changes made to it.\n##### Permissions\nMust have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/config/migrate":{"post":{"tags":["System"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#MigrateConfig","api_endpoint":"https://{site_url}/api/v4/config/migrate"},"summary":"Migrate config storage","description":"Migrate config storage | Migrate configuration between storage backends.\nThis endpoint is only exposed over a local socket.\n##### Permissions\nMust have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"from":{"type":"string","description":"Source config store name.","required":true},"to":{"type":"string","description":"Destination config store name.","required":true}}},"example":{"from":["string"],"to":["string"]}}}}}},"/config/client":{"get":{"tags":["System"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetClientConfig","api_endpoint":"https://{site_url}/api/v4/config/client"},"summary":"Get client configuration","description":"Get client configuration | Get a subset of the server configuration needed by the client.\n##### Permissions\nNo permission required. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/config/environment":{"get":{"tags":["System"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetEnvironmentConfig","api_endpoint":"https://{site_url}/api/v4/config/environment"},"summary":"Get configuration made through environment variables","description":"Get configuration made through environment variables | Retrieve a json object mirroring the server configuration where fields are set to true\nif the corresponding config setting is set through an environment variable. Settings\nthat haven't been set through environment variables will be missing from the object.\n__Minimum server version__: 4.10\n##### Permissions\nMust have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/config/patch":{"put":{"tags":["System"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#PatchConfig","api_endpoint":"https://{site_url}/api/v4/config/patch"},"summary":"Patch configuration","description":"Patch configuration | Submit configuration to patch. As of server version 4.8, the `PluginSettings.EnableUploads` and `PluginSettings.SignaturePublicKeyFiles` settings cannot be modified by this endpoint.\n##### Permissions\nMust have `manage_system` permission.\n__Minimum server version__: 5.20\n##### Note\nThe Plugins are stored as a map, and since a map may recursively go  down to any depth, individual fields of a map are not changed.  Consider using the `update config` (PUT api/v4/config) endpoint to update a plugins configurations. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"AnalyticsSettings":{"type":"object","description":"body.AnalyticsSettings (object field from the documented request schema)","properties":{"MaxUsersForStatistics":{"type":"number","description":"body.AnalyticsSettings.MaxUsersForStatistics (number field from the documented request schema)"}}},"ClusterSettings":{"type":"object","description":"body.ClusterSettings (object field from the documented request schema)","properties":{"Enable":{"type":"boolean","description":"body.ClusterSettings.Enable (boolean field from the documented request schema)","enum":[true,false]},"InterNodeListenAddress":{"type":"string","description":"body.ClusterSettings.InterNodeListenAddress (string field from the documented request schema)"},"InterNodeUrls":{"type":"array","description":"body.ClusterSettings.InterNodeUrls (array field from the documented request schema)"}}},"ComplianceSettings":{"type":"object","description":"body.ComplianceSettings (object field from the documented request schema)","properties":{"Directory":{"type":"string","description":"body.ComplianceSettings.Directory (string field from the documented request schema)"},"Enable":{"type":"boolean","description":"body.ComplianceSettings.Enable (boolean field from the documented request schema)","enum":[true,false]},"EnableDaily":{"type":"boolean","description":"body.ComplianceSettings.EnableDaily (boolean field from the documented request schema)","enum":[true,false]}}},"EmailSettings":{"type":"object","description":"body.EmailSettings (object field from the documented request schema)","properties":{"ConnectionSecurity":{"type":"string","description":"body.EmailSettings.ConnectionSecurity (string field from the documented request schema)"},"EmailBatchingBufferSize":{"type":"number","description":"body.EmailSettings.EmailBatchingBufferSize (number field from the documented request schema)"},"EmailBatchingInterval":{"type":"number","description":"body.EmailSettings.EmailBatchingInterval (number field from the documented request schema)"},"EnableEmailBatching":{"type":"boolean","description":"body.EmailSettings.EnableEmailBatching (boolean field from the documented request schema)","enum":[true,false]},"EnableSignInWithEmail":{"type":"boolean","description":"body.EmailSettings.EnableSignInWithEmail (boolean field from the documented request schema)","enum":[true,false]},"EnableSignInWithUsername":{"type":"boolean","description":"body.EmailSettings.EnableSignInWithUsername (boolean field from the documented request schema)","enum":[true,false]},"EnableSignUpWithEmail":{"type":"boolean","description":"body.EmailSettings.EnableSignUpWithEmail (boolean field from the documented request schema)","enum":[true,false]},"FeedbackEmail":{"type":"string","description":"body.EmailSettings.FeedbackEmail (string field from the documented request schema)"},"FeedbackName":{"type":"string","description":"body.EmailSettings.FeedbackName (string field from the documented request schema)"},"FeedbackOrganization":{"type":"string","description":"body.EmailSettings.FeedbackOrganization (string field from the documented request schema)"},"InviteSalt":{"type":"string","description":"body.EmailSettings.InviteSalt (string field from the documented request schema)"},"PasswordResetSalt":{"type":"string","description":"body.EmailSettings.PasswordResetSalt (string field from the documented request schema)"},"PushNotificationContents":{"type":"string","description":"body.EmailSettings.PushNotificationContents (string field from the documented request schema)"},"PushNotificationServer":{"type":"string","description":"body.EmailSettings.PushNotificationServer (string field from the documented request schema)"},"RequireEmailVerification":{"type":"boolean","description":"body.EmailSettings.RequireEmailVerification (boolean field from the documented request schema)","enum":[true,false]},"SMTPPassword":{"type":"string","description":"body.EmailSettings.SMTPPassword (string field from the documented request schema)"},"SMTPPort":{"type":"string","description":"body.EmailSettings.SMTPPort (string field from the documented request schema)"},"SMTPServer":{"type":"string","description":"body.EmailSettings.SMTPServer (string field from the documented request schema)"},"SMTPUsername":{"type":"string","description":"body.EmailSettings.SMTPUsername (string field from the documented request schema)"},"SendEmailNotifications":{"type":"boolean","description":"body.EmailSettings.SendEmailNotifications (boolean field from the documented request schema)","enum":[true,false]},"SendPushNotifications":{"type":"boolean","description":"body.EmailSettings.SendPushNotifications (boolean field from the documented request schema)","enum":[true,false]}}},"FileSettings":{"type":"object","description":"body.FileSettings (object field from the documented request schema)","properties":{"AmazonS3AccessKeyId":{"type":"string","description":"body.FileSettings.AmazonS3AccessKeyId (string field from the documented request schema)"},"AmazonS3Bucket":{"type":"string","description":"body.FileSettings.AmazonS3Bucket (string field from the documented request schema)"},"AmazonS3Endpoint":{"type":"string","description":"body.FileSettings.AmazonS3Endpoint (string field from the documented request schema)"},"AmazonS3Region":{"type":"string","description":"body.FileSettings.AmazonS3Region (string field from the documented request schema)"},"AmazonS3SSL":{"type":"boolean","description":"body.FileSettings.AmazonS3SSL (boolean field from the documented request schema)","enum":[true,false]},"AmazonS3SecretAccessKey":{"type":"string","description":"body.FileSettings.AmazonS3SecretAccessKey (string field from the documented request schema)"},"AmazonS3StorageClass":{"type":"string","description":"body.FileSettings.AmazonS3StorageClass (string field from the documented request schema)"},"Directory":{"type":"string","description":"body.FileSettings.Directory (string field from the documented request schema)"},"DriverName":{"type":"string","description":"body.FileSettings.DriverName (string field from the documented request schema)"},"EnablePublicLink":{"type":"boolean","description":"body.FileSettings.EnablePublicLink (boolean field from the documented request schema)","enum":[true,false]},"InitialFont":{"type":"string","description":"body.FileSettings.InitialFont (string field from the documented request schema)"},"MaxFileSize":{"type":"number","description":"body.FileSettings.MaxFileSize (number field from the documented request schema)"},"PreviewHeight":{"type":"number","description":"body.FileSettings.PreviewHeight (number field from the documented request schema)"},"PreviewWidth":{"type":"number","description":"body.FileSettings.PreviewWidth (number field from the documented request schema)"},"ProfileHeight":{"type":"number","description":"body.FileSettings.ProfileHeight (number field from the documented request schema)"},"ProfileWidth":{"type":"number","description":"body.FileSettings.ProfileWidth (number field from the documented request schema)"},"PublicLinkSalt":{"type":"string","description":"body.FileSettings.PublicLinkSalt (string field from the documented request schema)"},"ThumbnailHeight":{"type":"number","description":"body.FileSettings.ThumbnailHeight (number field from the documented request schema)"},"ThumbnailWidth":{"type":"number","description":"body.FileSettings.ThumbnailWidth (number field from the documented request schema)"}}},"GitLabSettings":{"type":"object","description":"body.GitLabSettings (object field from the documented request schema)","properties":{"AuthEndpoint":{"type":"string","description":"body.GitLabSettings.AuthEndpoint (string field from the documented request schema)"},"Enable":{"type":"boolean","description":"body.GitLabSettings.Enable (boolean field from the documented request schema)","enum":[true,false]},"Id":{"type":"string","description":"body.GitLabSettings.Id (string field from the documented request schema)"},"Scope":{"type":"string","description":"body.GitLabSettings.Scope (string field from the documented request schema)"},"Secret":{"type":"string","description":"body.GitLabSettings.Secret (string field from the documented request schema)"},"TokenEndpoint":{"type":"string","description":"body.GitLabSettings.TokenEndpoint (string field from the documented request schema)"},"UserApiEndpoint":{"type":"string","description":"body.GitLabSettings.UserApiEndpoint (string field from the documented request schema)"}}},"GoogleSettings":{"type":"object","description":"body.GoogleSettings (object field from the documented request schema)","properties":{"AuthEndpoint":{"type":"string","description":"body.GoogleSettings.AuthEndpoint (string field from the documented request schema)"},"Enable":{"type":"boolean","description":"body.GoogleSettings.Enable (boolean field from the documented request schema)","enum":[true,false]},"Id":{"type":"string","description":"body.GoogleSettings.Id (string field from the documented request schema)"},"Scope":{"type":"string","description":"body.GoogleSettings.Scope (string field from the documented request schema)"},"Secret":{"type":"string","description":"body.GoogleSettings.Secret (string field from the documented request schema)"},"TokenEndpoint":{"type":"string","description":"body.GoogleSettings.TokenEndpoint (string field from the documented request schema)"},"UserApiEndpoint":{"type":"string","description":"body.GoogleSettings.UserApiEndpoint (string field from the documented request schema)"}}},"LdapSettings":{"type":"object","description":"body.LdapSettings (object field from the documented request schema)","properties":{"BaseDN":{"type":"string","description":"body.LdapSettings.BaseDN (string field from the documented request schema)"},"BindPassword":{"type":"string","description":"body.LdapSettings.BindPassword (string field from the documented request schema)"},"BindUsername":{"type":"string","description":"body.LdapSettings.BindUsername (string field from the documented request schema)"},"ConnectionSecurity":{"type":"string","description":"body.LdapSettings.ConnectionSecurity (string field from the documented request schema)"},"EmailAttribute":{"type":"string","description":"body.LdapSettings.EmailAttribute (string field from the documented request schema)"},"Enable":{"type":"boolean","description":"body.LdapSettings.Enable (boolean field from the documented request schema)","enum":[true,false]},"FirstNameAttribute":{"type":"string","description":"body.LdapSettings.FirstNameAttribute (string field from the documented request schema)"},"IdAttribute":{"type":"string","description":"body.LdapSettings.IdAttribute (string field from the documented request schema)"},"LastNameAttribute":{"type":"string","description":"body.LdapSettings.LastNameAttribute (string field from the documented request schema)"},"LdapPort":{"type":"number","description":"body.LdapSettings.LdapPort (number field from the documented request schema)"},"LdapServer":{"type":"string","description":"body.LdapSettings.LdapServer (string field from the documented request schema)"},"LoginFieldName":{"type":"string","description":"body.LdapSettings.LoginFieldName (string field from the documented request schema)"},"MaxPageSize":{"type":"number","description":"body.LdapSettings.MaxPageSize (number field from the documented request schema)"},"NicknameAttribute":{"type":"string","description":"body.LdapSettings.NicknameAttribute (string field from the documented request schema)"},"PositionAttribute":{"type":"string","description":"body.LdapSettings.PositionAttribute (string field from the documented request schema)"},"QueryTimeout":{"type":"number","description":"body.LdapSettings.QueryTimeout (number field from the documented request schema)"},"SkipCertificateVerification":{"type":"boolean","description":"body.LdapSettings.SkipCertificateVerification (boolean field from the documented request schema)","enum":[true,false]},"SyncIntervalMinutes":{"type":"number","description":"body.LdapSettings.SyncIntervalMinutes (number field from the documented request schema)"},"UserFilter":{"type":"string","description":"body.LdapSettings.UserFilter (string field from the documented request schema)"},"UsernameAttribute":{"type":"string","description":"body.LdapSettings.UsernameAttribute (string field from the documented request schema)"}}},"LocalizationSettings":{"type":"object","description":"body.LocalizationSettings (object field from the documented request schema)","properties":{"AvailableLocales":{"type":"string","description":"body.LocalizationSettings.AvailableLocales (string field from the documented request schema)"},"DefaultClientLocale":{"type":"string","description":"body.LocalizationSettings.DefaultClientLocale (string field from the documented request schema)"},"DefaultServerLocale":{"type":"string","description":"body.LocalizationSettings.DefaultServerLocale (string field from the documented request schema)"}}},"LogSettings":{"type":"object","description":"body.LogSettings (object field from the documented request schema)","properties":{"ConsoleLevel":{"type":"string","description":"body.LogSettings.ConsoleLevel (string field from the documented request schema)"},"EnableConsole":{"type":"boolean","description":"body.LogSettings.EnableConsole (boolean field from the documented request schema)","enum":[true,false]},"EnableDiagnostics":{"type":"boolean","description":"body.LogSettings.EnableDiagnostics (boolean field from the documented request schema)","enum":[true,false]},"EnableFile":{"type":"boolean","description":"body.LogSettings.EnableFile (boolean field from the documented request schema)","enum":[true,false]},"EnableWebhookDebugging":{"type":"boolean","description":"body.LogSettings.EnableWebhookDebugging (boolean field from the documented request schema)","enum":[true,false]},"FileLevel":{"type":"string","description":"body.LogSettings.FileLevel (string field from the documented request schema)"},"FileLocation":{"type":"string","description":"body.LogSettings.FileLocation (string field from the documented request schema)"}}},"MetricsSettings":{"type":"object","description":"body.MetricsSettings (object field from the documented request schema)","properties":{"BlockProfileRate":{"type":"number","description":"body.MetricsSettings.BlockProfileRate (number field from the documented request schema)"},"Enable":{"type":"boolean","description":"body.MetricsSettings.Enable (boolean field from the documented request schema)","enum":[true,false]},"ListenAddress":{"type":"string","description":"body.MetricsSettings.ListenAddress (string field from the documented request schema)"}}},"NativeAppSettings":{"type":"object","description":"body.NativeAppSettings (object field from the documented request schema)","properties":{"AndroidAppDownloadLink":{"type":"string","description":"body.NativeAppSettings.AndroidAppDownloadLink (string field from the documented request schema)"},"AppDownloadLink":{"type":"string","description":"body.NativeAppSettings.AppDownloadLink (string field from the documented request schema)"},"IosAppDownloadLink":{"type":"string","description":"body.NativeAppSettings.IosAppDownloadLink (string field from the documented request schema)"}}},"Office365Settings":{"type":"object","description":"body.Office365Settings (object field from the documented request schema)","properties":{"AuthEndpoint":{"type":"string","description":"body.Office365Settings.AuthEndpoint (string field from the documented request schema)"},"Enable":{"type":"boolean","description":"body.Office365Settings.Enable (boolean field from the documented request schema)","enum":[true,false]},"Id":{"type":"string","description":"body.Office365Settings.Id (string field from the documented request schema)"},"Scope":{"type":"string","description":"body.Office365Settings.Scope (string field from the documented request schema)"},"Secret":{"type":"string","description":"body.Office365Settings.Secret (string field from the documented request schema)"},"TokenEndpoint":{"type":"string","description":"body.Office365Settings.TokenEndpoint (string field from the documented request schema)"},"UserApiEndpoint":{"type":"string","description":"body.Office365Settings.UserApiEndpoint (string field from the documented request schema)"}}},"PasswordSettings":{"type":"object","description":"body.PasswordSettings (object field from the documented request schema)","properties":{"Lowercase":{"type":"boolean","description":"body.PasswordSettings.Lowercase (boolean field from the documented request schema)","enum":[true,false]},"MinimumLength":{"type":"number","description":"body.PasswordSettings.MinimumLength (number field from the documented request schema)"},"Number":{"type":"boolean","description":"body.PasswordSettings.Number (boolean field from the documented request schema)","enum":[true,false]},"Symbol":{"type":"boolean","description":"body.PasswordSettings.Symbol (boolean field from the documented request schema)","enum":[true,false]},"Uppercase":{"type":"boolean","description":"body.PasswordSettings.Uppercase (boolean field from the documented request schema)","enum":[true,false]}}},"PrivacySettings":{"type":"object","description":"body.PrivacySettings (object field from the documented request schema)","properties":{"ShowEmailAddress":{"type":"boolean","description":"body.PrivacySettings.ShowEmailAddress (boolean field from the documented request schema)","enum":[true,false]},"ShowFullName":{"type":"boolean","description":"body.PrivacySettings.ShowFullName (boolean field from the documented request schema)","enum":[true,false]}}},"RateLimitSettings":{"type":"object","description":"body.RateLimitSettings (object field from the documented request schema)","properties":{"Enable":{"type":"boolean","description":"body.RateLimitSettings.Enable (boolean field from the documented request schema)","enum":[true,false]},"MaxBurst":{"type":"number","description":"body.RateLimitSettings.MaxBurst (number field from the documented request schema)"},"MemoryStoreSize":{"type":"number","description":"body.RateLimitSettings.MemoryStoreSize (number field from the documented request schema)"},"PerSec":{"type":"number","description":"body.RateLimitSettings.PerSec (number field from the documented request schema)"},"VaryByHeader":{"type":"string","description":"body.RateLimitSettings.VaryByHeader (string field from the documented request schema)"},"VaryByRemoteAddr":{"type":"boolean","description":"body.RateLimitSettings.VaryByRemoteAddr (boolean field from the documented request schema)","enum":[true,false]}}},"SamlSettings":{"type":"object","description":"body.SamlSettings (object field from the documented request schema)","properties":{"AssertionConsumerServiceURL":{"type":"string","description":"body.SamlSettings.AssertionConsumerServiceURL (string field from the documented request schema)"},"EmailAttribute":{"type":"string","description":"body.SamlSettings.EmailAttribute (string field from the documented request schema)"},"Enable":{"type":"boolean","description":"body.SamlSettings.Enable (boolean field from the documented request schema)","enum":[true,false]},"Encrypt":{"type":"boolean","description":"body.SamlSettings.Encrypt (boolean field from the documented request schema)","enum":[true,false]},"FirstNameAttribute":{"type":"string","description":"body.SamlSettings.FirstNameAttribute (string field from the documented request schema)"},"IdpCertificateFile":{"type":"string","description":"body.SamlSettings.IdpCertificateFile (string field from the documented request schema)"},"IdpDescriptorUrl":{"type":"string","description":"body.SamlSettings.IdpDescriptorUrl (string field from the documented request schema)"},"IdpUrl":{"type":"string","description":"body.SamlSettings.IdpUrl (string field from the documented request schema)"},"LastNameAttribute":{"type":"string","description":"body.SamlSettings.LastNameAttribute (string field from the documented request schema)"},"LocaleAttribute":{"type":"string","description":"body.SamlSettings.LocaleAttribute (string field from the documented request schema)"},"LoginButtonText":{"type":"string","description":"body.SamlSettings.LoginButtonText (string field from the documented request schema)"},"NicknameAttribute":{"type":"string","description":"body.SamlSettings.NicknameAttribute (string field from the documented request schema)"},"PositionAttribute":{"type":"string","description":"body.SamlSettings.PositionAttribute (string field from the documented request schema)"},"PrivateKeyFile":{"type":"string","description":"body.SamlSettings.PrivateKeyFile (string field from the documented request schema)"},"PublicCertificateFile":{"type":"string","description":"body.SamlSettings.PublicCertificateFile (string field from the documented request schema)"},"UsernameAttribute":{"type":"string","description":"body.SamlSettings.UsernameAttribute (string field from the documented request schema)"},"Verify":{"type":"boolean","description":"body.SamlSettings.Verify (boolean field from the documented request schema)","enum":[true,false]}}},"ServiceSettings":{"type":"object","description":"body.ServiceSettings (object field from the documented request schema)","properties":{"AllowCorsFrom":{"type":"string","description":"body.ServiceSettings.AllowCorsFrom (string field from the documented request schema)"},"ConnectionSecurity":{"type":"string","description":"body.ServiceSettings.ConnectionSecurity (string field from the documented request schema)"},"EnableCommands":{"type":"boolean","description":"body.ServiceSettings.EnableCommands (boolean field from the documented request schema)","enum":[true,false]},"EnableCustomEmoji":{"type":"boolean","description":"body.ServiceSettings.EnableCustomEmoji (boolean field from the documented request schema)","enum":[true,false]},"EnableDeveloper":{"type":"boolean","description":"body.ServiceSettings.EnableDeveloper (boolean field from the documented request schema)","enum":[true,false]},"EnableIncomingWebhooks":{"type":"boolean","description":"body.ServiceSettings.EnableIncomingWebhooks (boolean field from the documented request schema)","enum":[true,false]},"EnableInsecureOutgoingConnections":{"type":"boolean","description":"body.ServiceSettings.EnableInsecureOutgoingConnections (boolean field from the documented request schema)","enum":[true,false]},"EnableMultifactorAuthentication":{"type":"boolean","description":"body.ServiceSettings.EnableMultifactorAuthentication (boolean field from the documented request schema)","enum":[true,false]},"EnableOAuthServiceProvider":{"type":"boolean","description":"body.ServiceSettings.EnableOAuthServiceProvider (boolean field from the documented request schema)","enum":[true,false]},"EnableOnlyAdminIntegrations":{"type":"boolean","description":"body.ServiceSettings.EnableOnlyAdminIntegrations (boolean field from the documented request schema)","enum":[true,false]},"EnableOutgoingWebhooks":{"type":"boolean","description":"body.ServiceSettings.EnableOutgoingWebhooks (boolean field from the documented request schema)","enum":[true,false]},"EnablePostIconOverride":{"type":"boolean","description":"body.ServiceSettings.EnablePostIconOverride (boolean field from the documented request schema)","enum":[true,false]},"EnablePostUsernameOverride":{"type":"boolean","description":"body.ServiceSettings.EnablePostUsernameOverride (boolean field from the documented request schema)","enum":[true,false]},"EnableSecurityFixAlert":{"type":"boolean","description":"body.ServiceSettings.EnableSecurityFixAlert (boolean field from the documented request schema)","enum":[true,false]},"EnableTesting":{"type":"boolean","description":"Intended only for isolated non-production environments and must never be enabled in production.","enum":[true,false]},"EnforceMultifactorAuthentication":{"type":"boolean","description":"body.ServiceSettings.EnforceMultifactorAuthentication (boolean field from the documented request schema)","enum":[true,false]},"Forward80To443":{"type":"boolean","description":"body.ServiceSettings.Forward80To443 (boolean field from the documented request schema)","enum":[true,false]},"GoogleDeveloperKey":{"type":"string","description":"body.ServiceSettings.GoogleDeveloperKey (string field from the documented request schema)"},"LetsEncryptCertificateCacheFile":{"type":"string","description":"body.ServiceSettings.LetsEncryptCertificateCacheFile (string field from the documented request schema)"},"ListenAddress":{"type":"string","description":"body.ServiceSettings.ListenAddress (string field from the documented request schema)"},"MaximumLoginAttempts":{"type":"number","description":"body.ServiceSettings.MaximumLoginAttempts (number field from the documented request schema)"},"ReadTimeout":{"type":"number","description":"body.ServiceSettings.ReadTimeout (number field from the documented request schema)"},"RestrictCustomEmojiCreation":{"type":"string","description":"body.ServiceSettings.RestrictCustomEmojiCreation (string field from the documented request schema)"},"SegmentDeveloperKey":{"type":"string","description":"body.ServiceSettings.SegmentDeveloperKey (string field from the documented request schema)"},"SessionCacheInMinutes":{"type":"number","description":"body.ServiceSettings.SessionCacheInMinutes (number field from the documented request schema)"},"SessionLengthMobileInDays":{"type":"number","description":"body.ServiceSettings.SessionLengthMobileInDays (number field from the documented request schema)"},"SessionLengthSSOInDays":{"type":"number","description":"body.ServiceSettings.SessionLengthSSOInDays (number field from the documented request schema)"},"SessionLengthWebInDays":{"type":"number","description":"body.ServiceSettings.SessionLengthWebInDays (number field from the documented request schema)"},"SiteURL":{"type":"string","description":"body.ServiceSettings.SiteURL (string field from the documented request schema)"},"TLSCertFile":{"type":"string","description":"body.ServiceSettings.TLSCertFile (string field from the documented request schema)"},"TLSKeyFile":{"type":"string","description":"body.ServiceSettings.TLSKeyFile (string field from the documented request schema)"},"UseLetsEncrypt":{"type":"boolean","description":"body.ServiceSettings.UseLetsEncrypt (boolean field from the documented request schema)","enum":[true,false]},"WebserverMode":{"type":"string","description":"body.ServiceSettings.WebserverMode (string field from the documented request schema)"},"WebsocketPort":{"type":"number","description":"body.ServiceSettings.WebsocketPort (number field from the documented request schema)"},"WebsocketSecurePort":{"type":"number","description":"body.ServiceSettings.WebsocketSecurePort (number field from the documented request schema)"},"WriteTimeout":{"type":"number","description":"body.ServiceSettings.WriteTimeout (number field from the documented request schema)"}}},"SqlSettings":{"type":"object","description":"body.SqlSettings (object field from the documented request schema)","properties":{"AtRestEncryptKey":{"type":"string","description":"body.SqlSettings.AtRestEncryptKey (string field from the documented request schema)"},"DataSource":{"type":"string","description":"body.SqlSettings.DataSource (string field from the documented request schema)"},"DataSourceReplicas":{"type":"array","description":"body.SqlSettings.DataSourceReplicas (array field from the documented request schema)"},"DriverName":{"type":"string","description":"body.SqlSettings.DriverName (string field from the documented request schema)"},"MaxIdleConns":{"type":"number","description":"body.SqlSettings.MaxIdleConns (number field from the documented request schema)"},"MaxOpenConns":{"type":"number","description":"body.SqlSettings.MaxOpenConns (number field from the documented request schema)"},"Trace":{"type":"boolean","description":"body.SqlSettings.Trace (boolean field from the documented request schema)","enum":[true,false]}}},"SupportSettings":{"type":"object","description":"body.SupportSettings (object field from the documented request schema)","properties":{"AboutLink":{"type":"string","description":"body.SupportSettings.AboutLink (string field from the documented request schema)"},"AllowDownloadLogs":{"type":"boolean","description":"body.SupportSettings.AllowDownloadLogs (boolean field from the documented request schema)","enum":[true,false]},"HelpLink":{"type":"string","description":"body.SupportSettings.HelpLink (string field from the documented request schema)"},"PrivacyPolicyLink":{"type":"string","description":"body.SupportSettings.PrivacyPolicyLink (string field from the documented request schema)"},"ReportAProblemLink":{"type":"string","description":"body.SupportSettings.ReportAProblemLink (string field from the documented request schema)"},"ReportAProblemMail":{"type":"string","description":"body.SupportSettings.ReportAProblemMail (string field from the documented request schema)"},"ReportAProblemType":{"type":"string","description":"body.SupportSettings.ReportAProblemType (string field from the documented request schema)"},"SupportEmail":{"type":"string","description":"body.SupportSettings.SupportEmail (string field from the documented request schema)"},"TermsOfServiceLink":{"type":"string","description":"body.SupportSettings.TermsOfServiceLink (string field from the documented request schema)"}}},"TeamSettings":{"type":"object","description":"body.TeamSettings (object field from the documented request schema)","properties":{"CustomBrandText":{"type":"string","description":"body.TeamSettings.CustomBrandText (string field from the documented request schema)"},"CustomDescriptionText":{"type":"string","description":"body.TeamSettings.CustomDescriptionText (string field from the documented request schema)"},"EnableCustomBrand":{"type":"boolean","description":"body.TeamSettings.EnableCustomBrand (boolean field from the documented request schema)","enum":[true,false]},"EnableOpenServer":{"type":"boolean","description":"body.TeamSettings.EnableOpenServer (boolean field from the documented request schema)","enum":[true,false]},"EnableTeamCreation":{"type":"boolean","description":"body.TeamSettings.EnableTeamCreation (boolean field from the documented request schema)","enum":[true,false]},"EnableUserCreation":{"type":"boolean","description":"body.TeamSettings.EnableUserCreation (boolean field from the documented request schema)","enum":[true,false]},"MaxChannelsPerTeam":{"type":"number","description":"body.TeamSettings.MaxChannelsPerTeam (number field from the documented request schema)"},"MaxNotificationsPerChannel":{"type":"number","description":"body.TeamSettings.MaxNotificationsPerChannel (number field from the documented request schema)"},"MaxUsersPerTeam":{"type":"number","description":"body.TeamSettings.MaxUsersPerTeam (number field from the documented request schema)"},"RestrictCreationToDomains":{"type":"string","description":"body.TeamSettings.RestrictCreationToDomains (string field from the documented request schema)"},"RestrictDirectMessage":{"type":"string","description":"body.TeamSettings.RestrictDirectMessage (string field from the documented request schema)"},"RestrictPrivateChannelCreation":{"type":"string","description":"body.TeamSettings.RestrictPrivateChannelCreation (string field from the documented request schema)"},"RestrictPrivateChannelDeletion":{"type":"string","description":"body.TeamSettings.RestrictPrivateChannelDeletion (string field from the documented request schema)"},"RestrictPrivateChannelManagement":{"type":"string","description":"body.TeamSettings.RestrictPrivateChannelManagement (string field from the documented request schema)"},"RestrictPublicChannelCreation":{"type":"string","description":"body.TeamSettings.RestrictPublicChannelCreation (string field from the documented request schema)"},"RestrictPublicChannelDeletion":{"type":"string","description":"body.TeamSettings.RestrictPublicChannelDeletion (string field from the documented request schema)"},"RestrictPublicChannelManagement":{"type":"string","description":"body.TeamSettings.RestrictPublicChannelManagement (string field from the documented request schema)"},"RestrictTeamInvite":{"type":"string","description":"body.TeamSettings.RestrictTeamInvite (string field from the documented request schema)"},"SiteName":{"type":"string","description":"body.TeamSettings.SiteName (string field from the documented request schema)"},"UserStatusAwayTimeout":{"type":"number","description":"body.TeamSettings.UserStatusAwayTimeout (number field from the documented request schema)"}}}}},"example":{"AnalyticsSettings":[{"MaxUsersForStatistics":0}],"ClusterSettings":[{"Enable":false,"InterNodeListenAddress":"string","InterNodeUrls":["string"]}],"ComplianceSettings":[{"Directory":"string","Enable":false,"EnableDaily":false}],"EmailSettings":[{"EnableSignInWithEmail":false,"EnableSignInWithUsername":false,"EnableSignUpWithEmail":false,"FeedbackEmail":"string","FeedbackName":"string","FeedbackOrganization":"string","RequireEmailVerification":false,"SMTPPassword":"string","SMTPPort":"string","SMTPServer":"string","SMTPUsername":"string","SendEmailNotifications":false}],"FileSettings":[{"Directory":"string","DriverName":"string","EnablePublicLink":false,"InitialFont":"string","MaxFileSize":0,"PreviewHeight":0,"PreviewWidth":0,"ProfileHeight":0,"ProfileWidth":0,"PublicLinkSalt":"string","ThumbnailHeight":0,"ThumbnailWidth":0}],"GitLabSettings":[{"AuthEndpoint":"string","Enable":false,"Id":"string","Scope":"string","Secret":"string","TokenEndpoint":"string","UserApiEndpoint":"string"}],"GoogleSettings":[{"AuthEndpoint":"string","Enable":false,"Id":"string","Scope":"string","Secret":"string","TokenEndpoint":"string","UserApiEndpoint":"string"}],"LdapSettings":[{"BaseDN":"string","BindPassword":"string","BindUsername":"string","ConnectionSecurity":"string","EmailAttribute":"string","Enable":false,"FirstNameAttribute":"string","LastNameAttribute":"string","LdapPort":0,"LdapServer":"string","UserFilter":"string","UsernameAttribute":"string"}],"LocalizationSettings":[{"AvailableLocales":"string","DefaultClientLocale":"string","DefaultServerLocale":"string"}],"LogSettings":[{"ConsoleLevel":"string","EnableConsole":false,"EnableDiagnostics":false,"EnableFile":false,"EnableWebhookDebugging":false,"FileLevel":"string","FileLocation":"string"}],"MetricsSettings":[{"BlockProfileRate":0,"Enable":false,"ListenAddress":"string"}],"NativeAppSettings":[{"AndroidAppDownloadLink":"string","AppDownloadLink":"string","IosAppDownloadLink":"string"}],"Office365Settings":[{"AuthEndpoint":"string","Enable":false,"Id":"string","Scope":"string","Secret":"string","TokenEndpoint":"string","UserApiEndpoint":"string"}],"PasswordSettings":[{"Lowercase":false,"MinimumLength":0,"Number":false,"Symbol":false,"Uppercase":false}],"PrivacySettings":[{"ShowEmailAddress":false,"ShowFullName":false}],"RateLimitSettings":[{"Enable":false,"MaxBurst":0,"MemoryStoreSize":0,"PerSec":0,"VaryByHeader":"string","VaryByRemoteAddr":false}],"SamlSettings":[{"AssertionConsumerServiceURL":"string","EmailAttribute":"string","Enable":false,"Encrypt":false,"FirstNameAttribute":"string","IdpCertificateFile":"string","IdpDescriptorUrl":"string","IdpUrl":"string","LastNameAttribute":"string","PrivateKeyFile":"string","PublicCertificateFile":"string","Verify":false}],"ServiceSettings":[{"ConnectionSecurity":"string","Forward80To443":false,"LetsEncryptCertificateCacheFile":"string","ListenAddress":"string","MaximumLoginAttempts":0,"ReadTimeout":0,"SegmentDeveloperKey":"string","SiteURL":"string","TLSCertFile":"string","TLSKeyFile":"string","UseLetsEncrypt":false,"WriteTimeout":0}],"SqlSettings":[{"AtRestEncryptKey":"string","DataSource":"string","DataSourceReplicas":["string"],"DriverName":"string","MaxIdleConns":0,"MaxOpenConns":0,"Trace":false}],"SupportSettings":[{"AboutLink":"string","AllowDownloadLogs":false,"HelpLink":"string","PrivacyPolicyLink":"string","ReportAProblemLink":"string","ReportAProblemMail":"string","ReportAProblemType":"string","SupportEmail":"string","TermsOfServiceLink":"string"}],"TeamSettings":[{"CustomBrandText":"string","CustomDescriptionText":"string","EnableCustomBrand":false,"EnableOpenServer":false,"EnableTeamCreation":false,"EnableUserCreation":false,"MaxUsersPerTeam":0,"RestrictCreationToDomains":"string","RestrictDirectMessage":"string","RestrictPublicChannelManagement":"string","RestrictTeamInvite":"string","SiteName":"string"}]}}}}}},"/license":{"post":{"tags":["System"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UploadLicenseFile","api_endpoint":"https://{site_url}/api/v4/license"},"summary":"Upload license file","description":"Upload license file | Upload a license to enable enterprise features.\n__Minimum server version__: 4.0\n##### Permissions\nMust have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"license":{"type":"string","description":"The license to be uploaded","required":true}}},"example":{"license":["string"]}}}}},"delete":{"tags":["System"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#RemoveLicenseFile","api_endpoint":"https://{site_url}/api/v4/license"},"summary":"Remove license file","description":"Remove license file | Remove the license file from the server. This will disable all enterprise features.\n__Minimum server version__: 4.0\n##### Permissions\nMust have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/license/preview":{"post":{"tags":["System"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#PreviewLicenseFile","api_endpoint":"https://{site_url}/api/v4/license/preview"},"summary":"Preview license file","description":"Preview license file | Validate and parse a license file without saving it. This allows administrators\nto preview the license details before applying it.\n__Minimum server version__: 10.9\n##### Permissions\nMust have `manage_license_information` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"license":{"type":"string","description":"The license to be previewed","required":true}}},"example":{"license":["string"]}}}}}},"/license/client":{"get":{"tags":["System"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetClientLicense","api_endpoint":"https://{site_url}/api/v4/license/client"},"summary":"Get client license","description":"Get client license | Get a subset of the server license needed by the client.\n##### Permissions\nNo permission required but having the `manage_system` permission returns more information. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/license/load_metric":{"get":{"tags":["System"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetLicenseLoadMetric","api_endpoint":"https://{site_url}/api/v4/license/load_metric"},"summary":"Get license load metric","description":"Get license load metric | Get the current license load metric, calculated based on monthly active users against the licensed user count. Returns a value of 0 when there is no license loaded or the license doesn't have a user count.\n__Minimum server version__: 10.8\n##### Permissions\nMust be logged in. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/trial-license":{"post":{"tags":["System"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#RequestTrialLicense","api_endpoint":"https://{site_url}/api/v4/trial-license"},"summary":"Request and install a trial license for your server","description":"Request and install a trial license for your server | Request and install a trial license for your server\n__Minimum server version__: 5.25\n##### Permissions\nMust have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"users":{"type":"number","description":"Number of users requested (20% extra is going to be added)","required":true}}},"example":{"users":[0]}}}}}},"/trial-license/prev":{"get":{"tags":["System"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetPrevTrialLicense","api_endpoint":"https://{site_url}/api/v4/trial-license/prev"},"summary":"Get last trial license used","description":"Get last trial license used | Get the last trial license used on the server\n__Minimum server version__: 5.36\n##### Permissions\nMust have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/audits":{"get":{"tags":["System"],"parameters":[{"name":"page","in":"query","description":"The page to select.","required":false,"schema":{"type":"number","example":""}},{"name":"per_page","in":"query","description":"The number of audits per page.","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetAudits","api_endpoint":"https://{site_url}/api/v4/audits"},"summary":"Get audits","description":"Get audits | Get a page of audits for all users on the system, selected with `page` and `per_page` query parameters.\n##### Permissions\nMust have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/caches/invalidate":{"post":{"tags":["System"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#InvalidateCaches","api_endpoint":"https://{site_url}/api/v4/caches/invalidate"},"summary":"Invalidate all the caches","description":"Invalidate all the caches | Purge all the in-memory caches for the Mattermost server. This can have a temporary negative effect on performance while the caches are re-populated.\n##### Permissions\nMust have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/logs":{"get":{"tags":["System"],"parameters":[{"name":"logs_per_page","in":"query","description":"The number of logs per page. There is a maximum limit of 10000 logs per page.","required":false,"schema":{"type":"string","example":""}},{"name":"page","in":"query","description":"The page to select.","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetLogs","api_endpoint":"https://{site_url}/api/v4/logs"},"summary":"Get logs","description":"Get logs | Get a page of server logs, selected with `page` and `logs_per_page` query parameters.\n##### Permissions\nMust have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]},"post":{"tags":["System"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#PostLog","api_endpoint":"https://{site_url}/api/v4/logs"},"summary":"Add log message","description":"Add log message | Add log messages to the server logs.\n##### Permissions\nUsers with `manage_system` permission can log ERROR or DEBUG messages.\nLogged in users can log ERROR or DEBUG messages when `ServiceSettings.EnableDeveloper` is `true` or just DEBUG messages when `false`.\nNon-logged in users can log ERROR or DEBUG messages when `ServiceSettings.EnableDeveloper` is `true` and cannot log when `false`. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"level":{"type":"string","description":"The error level, ERROR or DEBUG","required":true},"message":{"type":"string","description":"Message to send to the server logs","required":true}}},"example":{"level":["string"],"message":["string"]}}}}}},"/logs/query":{"post":{"tags":["System"],"parameters":[{"name":"logs_per_page","in":"query","description":"The number of logs per page.","required":false,"schema":{"type":"string","example":""}},{"name":"page","in":"query","description":"The page to select.","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#QueryLogs","api_endpoint":"https://{site_url}/api/v4/logs/query"},"summary":"Query server logs with filters","description":"Query server logs with filters | Query server logs using filter criteria.\n##### Permissions Must have `get_logs` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"date_from":{"type":"string","description":"Inclusive start of the time range. The server parses this using the layout `YYYY-MM-DD HH:MM:SS.mmm ±HH:MM` (milliseconds optional; timezone offset required), matching Go reference time `2006-01-02 15:04:05.999 -07:00`."},"date_to":{"type":"string","description":"Inclusive end of the time range. Same format as `date_from` (`YYYY-MM-DD HH:MM:SS.mmm ±HH:MM`, e.g. `2006-01-02 15:04:05.999 -07:00`)."},"log_levels":{"type":"array","description":"body.log_levels (array field from the documented request schema)","items":{"type":"string"}},"server_names":{"type":"array","description":"body.server_names (array field from the documented request schema)","items":{"type":"string"}}}},"example":{"date_from":["2024-01-15 14:30:45.123 -05:00"],"date_to":["2024-01-15 14:30:45.123 -05:00"],"log_levels":[["string"]],"server_names":[["string"]]}}}}}},"/analytics/old":{"get":{"tags":["System"],"parameters":[{"name":"name","in":"query","description":"Possible values are \"standard\", \"bot_post_counts_day\", \"post_counts_day\", \"user_counts_with_posts_day\" or \"extra_counts\"","required":false,"schema":{"type":"string","example":""}},{"name":"team_id","in":"query","description":"The team ID to filter the data by","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetAnalyticsOld","api_endpoint":"https://{site_url}/api/v4/analytics/old"},"summary":"Get analytics","description":"Get analytics | Get some analytics data about the system. This endpoint uses the old format, the `/analytics` route is reserved for the new format when it gets implemented.\nThe returned JSON changes based on the `name` query parameter but is always key/value pairs.\n__Minimum server version__: 4.0\n##### Permissions\nMust have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/latest_version":{"get":{"tags":["System"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetLatestVersion","api_endpoint":"https://{site_url}/api/v4/latest_version"},"summary":"Get latest public server release information","description":"Get latest public server release information | Retrieves metadata about the latest Mattermost server release from GitHub.\n##### Permissions Must have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/system/schema/version":{"get":{"tags":["System"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetAppliedSchemaMigrations","api_endpoint":"https://{site_url}/api/v4/system/schema/version"},"summary":"Get applied database schema migrations","description":"Get applied database schema migrations | Returns the list of applied database schema migrations.\n##### Permissions Must have at least one sysconsole read permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/server_busy":{"post":{"tags":["System"],"parameters":[{"name":"seconds","in":"query","description":"Number of seconds until server is automatically marked as not busy.","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#SetServerBusy","api_endpoint":"https://{site_url}/api/v4/server_busy"},"summary":"Set the server busy (high load) flag","description":"Set the server busy (high load) flag | Marks the server as currently having high load which disables non-critical services such as search, statuses and typing notifications.\n__Minimum server version__: 5.20\n##### Permissions\nMust have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}},"get":{"tags":["System"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetServerBusyExpires","api_endpoint":"https://{site_url}/api/v4/server_busy"},"summary":"Get server busy expiry time.","description":"Get server busy expiry time. | Gets the timestamp corresponding to when the server busy flag will be automatically cleared.\n__Minimum server version__: 5.20\n##### Permissions\nMust have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]},"delete":{"tags":["System"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#ClearServerBusy","api_endpoint":"https://{site_url}/api/v4/server_busy"},"summary":"Clears the server busy (high load) flag","description":"Clears the server busy (high load) flag | Marks the server as not having high load which re-enables non-critical services such as search, statuses and typing notifications.\n__Minimum server version__: 5.20\n##### Permissions\nMust have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/notifications/ack":{"post":{"tags":["Root"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#AcknowledgeNotification","api_endpoint":"https://{site_url}/api/v4/notifications/ack"},"summary":"Acknowledge receiving of a notification","description":"Acknowledge receiving of a notification | __Minimum server version__: 3.10\n##### Permissions\nMust be logged in. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/redirect_location":{"get":{"tags":["System"],"parameters":[{"name":"url","in":"query","description":"Url to check","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetRedirectLocation","api_endpoint":"https://{site_url}/api/v4/redirect_location"},"summary":"Get redirect location","description":"Get redirect location | __Minimum server version__: 3.10\n##### Permissions\nMust be logged in. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/image":{"get":{"tags":["System"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetImageByUrl","api_endpoint":"https://{site_url}/api/v4/image"},"summary":"Get an image by url","description":"Get an image by url | Fetches an image via Mattermost image proxy.\n__Minimum server version__: 3.10\n##### Permissions\nMust be logged in. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/upgrade_to_enterprise":{"post":{"tags":["System"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UpgradeToEnterprise","api_endpoint":"https://{site_url}/api/v4/upgrade_to_enterprise"},"summary":"Executes an inplace upgrade from Team Edition to Enterprise Edition","description":"Executes an inplace upgrade from Team Edition to Enterprise Edition | It downloads the Mattermost Enterprise Edition of your current version and replace your current version with it. After the upgrade you need to restart the Mattermost server.\n__Minimum server version__: 5.27\n##### Permissions\nMust have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/upgrade_to_enterprise/status":{"get":{"tags":["System"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UpgradeToEnterpriseStatus","api_endpoint":"https://{site_url}/api/v4/upgrade_to_enterprise/status"},"summary":"Get the current status for the inplace upgrade from Team Edition to Enterprise Edition","description":"Get the current status for the inplace upgrade from Team Edition to Enterprise Edition | It returns the percentage of completion of the current upgrade or the error if there is any.\n__Minimum server version__: 5.27\n##### Permissions\nMust have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/upgrade_to_enterprise/allowed":{"get":{"tags":["System"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#IsAllowedToUpgradeToEnterprise","api_endpoint":"https://{site_url}/api/v4/upgrade_to_enterprise/allowed"},"summary":"Check if the user is allowed to upgrade to Enterprise Edition","description":"Check if the user is allowed to upgrade to Enterprise Edition | Check if the user is allowed to upgrade to Enterprise Edition | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/restart":{"post":{"tags":["System"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#RestartServer","api_endpoint":"https://{site_url}/api/v4/restart"},"summary":"Restart the system after an upgrade from Team Edition to Enterprise Edition","description":"Restart the system after an upgrade from Team Edition to Enterprise Edition | It restarts the current running mattermost instance to execute the new Enterprise binary.\n__Minimum server version__: 5.27\n##### Permissions\nMust have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/integrity":{"post":{"tags":["System"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#CheckIntegrity","api_endpoint":"https://{site_url}/api/v4/integrity"},"summary":"Perform a database integrity check","description":"Perform a database integrity check | Performs a database integrity check.\n__Note__: This check may temporarily harm system performance.\n__Minimum server version__: 5.28.0\n__Local mode only__: This endpoint is only available through [local mode](https://docs.mattermost.com/administration/mmctl-cli-tool.html#local-mode). | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/system/support_packet":{"get":{"tags":["System"],"parameters":[{"name":"basic_server_logs","in":"query","description":"Specifies whether the server should include or exclude log files. Default value is true.\n__Minimum server version__: 9.8.0","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"plugin_packets","in":"query","description":"Specifies plugin identifiers whose content should be included in the Support Packet.\n__Minimum server version__: 9.8.0","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GenerateSupportPacket","api_endpoint":"https://{site_url}/api/v4/system/support_packet"},"summary":"Download a zip file which contains helpful and useful information for troubleshooting your mattermost instance.","description":"Download a zip file which contains helpful and useful information for troubleshooting your mattermost instance. | Download a zip file which contains helpful and useful information for troubleshooting your mattermost instance.\n__Minimum server version: 5.32__\n##### Permissions\nMust have any of the system console read permissions.\n##### License\nRequires either a E10 or E20 license. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/emoji":{"post":{"tags":["Emoji"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#CreateEmoji","api_endpoint":"https://{site_url}/api/v4/emoji"},"summary":"Create a custom emoji","description":"Create a custom emoji | Create a custom emoji for the team.\n##### Permissions\nMust be authenticated. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"emoji":{"type":"string","description":"A JSON object containing a `name` field with the name of the emoji and a `creator_id` field with the id of the authenticated user.","required":true},"image":{"type":"string","description":"A file to be uploaded","required":true}}},"example":{"emoji":["string"],"image":["string"]}}}}},"get":{"tags":["Emoji"],"parameters":[{"name":"page","in":"query","description":"The page to select.","required":false,"schema":{"type":"number","example":""}},{"name":"per_page","in":"query","description":"The number of emojis per page.","required":false,"schema":{"type":"number","example":""}},{"name":"sort","in":"query","description":"Either blank for no sorting or \"name\" to sort by emoji names. Minimum server version for sorting is 4.7.","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetEmojiList","api_endpoint":"https://{site_url}/api/v4/emoji"},"summary":"Get a list of custom emoji","description":"Get a list of custom emoji | Get a page of metadata for custom emoji on the system. Since server version 4.7, sort using the `sort` query parameter.\n##### Permissions\nMust be authenticated. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/emoji/{emoji_id}":{"get":{"tags":["Emoji"],"parameters":[{"name":"emoji_id","in":"path","description":"Emoji GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetEmoji","api_endpoint":"https://{site_url}/api/v4/emoji/{emoji_id}"},"summary":"Get a custom emoji","description":"Get a custom emoji | Get some metadata for a custom emoji.\n##### Permissions\nMust be authenticated. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]},"delete":{"tags":["Emoji"],"parameters":[{"name":"emoji_id","in":"path","description":"Emoji GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#DeleteEmoji","api_endpoint":"https://{site_url}/api/v4/emoji/{emoji_id}"},"summary":"Delete a custom emoji","description":"Delete a custom emoji | Delete a custom emoji.\n##### Permissions\nMust have the `manage_team` or `manage_system` permissions or be the user who created the emoji. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/emoji/name/{emoji_name}":{"get":{"tags":["Emoji"],"parameters":[{"name":"emoji_name","in":"path","description":"Emoji name","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetEmojiByName","api_endpoint":"https://{site_url}/api/v4/emoji/name/{emoji_name}"},"summary":"Get a custom emoji by name","description":"Get a custom emoji by name | Get some metadata for a custom emoji using its name.\n##### Permissions\nMust be authenticated.\n__Minimum server version__: 4.7 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/emoji/{emoji_id}/image":{"get":{"tags":["Emoji"],"parameters":[{"name":"emoji_id","in":"path","description":"Emoji GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetEmojiImage","api_endpoint":"https://{site_url}/api/v4/emoji/{emoji_id}/image"},"summary":"Get custom emoji image","description":"Get custom emoji image | Get the image for a custom emoji.\n##### Permissions\nMust be authenticated. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/emoji/search":{"post":{"tags":["Emoji"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#SearchEmoji","api_endpoint":"https://{site_url}/api/v4/emoji/search"},"summary":"Search custom emoji","description":"Search custom emoji | Search for custom emoji by name based on search criteria provided in the request body. A maximum of 200 results are returned.\n##### Permissions\nMust be authenticated.\n__Minimum server version__: 4.7 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"prefix_only":{"type":"string","description":"Set to only search for names starting with the search term."},"term":{"type":"string","description":"The term to match against the emoji name.","required":true}}},"example":{"prefix_only":["string"],"term":["string"]}}}}}},"/emoji/autocomplete":{"get":{"tags":["Emoji"],"parameters":[{"name":"name","in":"query","description":"The emoji name to search.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#AutocompleteEmoji","api_endpoint":"https://{site_url}/api/v4/emoji/autocomplete"},"summary":"Autocomplete custom emoji","description":"Autocomplete custom emoji | Get a list of custom emoji with names starting with or matching the provided name. Returns a maximum of 100 results.\n##### Permissions\nMust be authenticated.\n__Minimum server version__: 4.7 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/emoji/names":{"post":{"tags":["Emoji"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetEmojisByNames","api_endpoint":"https://{site_url}/api/v4/emoji/names"},"summary":"Get custom emojis by name","description":"Get custom emojis by name | Get a list of custom emoji based on a provided list of emoji names. A maximum of 200 results are returned.\n##### Permissions\nMust be authenticated.\n__Minimum server version__: 9.2 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"body":{"type":"array","description":"body (request body parameter from the official API reference)","items":{"type":"string"}}}},"example":{"body":[["string"]]}}}}}},"/hooks/incoming":{"post":{"tags":["Webhooks"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#CreateIncomingWebhook","api_endpoint":"https://{site_url}/api/v4/hooks/incoming"},"summary":"Create an incoming webhook","description":"Create an incoming webhook | Create an incoming webhook for a channel.\n##### Permissions\n`manage_webhooks` for the team the webhook is in.\n`manage_others_incoming_webhooks` for the team the webhook is in if the user is different than the requester. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"channel_id":{"type":"string","description":"The ID of a public channel or private group that receives the webhook payloads.","required":true},"channel_locked":{"type":"boolean","description":"Whether the webhook is locked to the channel.","enum":[true,false]},"description":{"type":"string","description":"The description for this incoming webhook"},"display_name":{"type":"string","description":"The display name for this incoming webhook"},"icon_url":{"type":"string","description":"The profile picture this incoming webhook will use when posting."},"user_id":{"type":"string","description":"The ID of the owner of the webhook if different than the requester. Required for [local mode](https://docs.mattermost.com/administration/mmctl-cli-tool.html#local-mode)."},"username":{"type":"string","description":"The username this incoming webhook will post as."}}},"example":{"channel_id":["string"],"channel_locked":[false],"description":["string"],"display_name":["string"],"icon_url":["string"],"user_id":["string"],"username":["string"]}}}}},"get":{"tags":["Webhooks"],"parameters":[{"name":"include_total_count","in":"query","description":"Appends a total count of returned hooks inside the response object - ex: `{ \"incoming_webhooks\": [], \"total_count\": 0 }`.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"page","in":"query","description":"The page to select.","required":false,"schema":{"type":"number","example":""}},{"name":"per_page","in":"query","description":"The number of hooks per page.","required":false,"schema":{"type":"number","example":""}},{"name":"team_id","in":"query","description":"The ID of the team to get hooks for.","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetIncomingWebhooks","api_endpoint":"https://{site_url}/api/v4/hooks/incoming"},"summary":"List incoming webhooks","description":"List incoming webhooks | Get a page of a list of incoming webhooks. Optionally filter for a specific team using query parameters.\n##### Permissions\n`manage_webhooks` for the system or `manage_webhooks` for the specific team. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/hooks/incoming/{hook_id}":{"get":{"tags":["Webhooks"],"parameters":[{"name":"hook_id","in":"path","description":"Incoming Webhook GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetIncomingWebhook","api_endpoint":"https://{site_url}/api/v4/hooks/incoming/{hook_id}"},"summary":"Get an incoming webhook","description":"Get an incoming webhook | Get an incoming webhook given the hook id.\n##### Permissions\n`manage_webhooks` for system or `manage_webhooks` for the specific team or `manage_webhooks` for the channel. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]},"delete":{"tags":["Webhooks"],"parameters":[{"name":"hook_id","in":"path","description":"Incoming webhook GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#DeleteIncomingWebhook","api_endpoint":"https://{site_url}/api/v4/hooks/incoming/{hook_id}"},"summary":"Delete an incoming webhook","description":"Delete an incoming webhook | Delete an incoming webhook given the hook id.\n##### Permissions\n`manage_webhooks` for system or `manage_webhooks` for the specific team or `manage_webhooks` for the channel. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}},"put":{"tags":["Webhooks"],"parameters":[{"name":"hook_id","in":"path","description":"Incoming Webhook GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UpdateIncomingWebhook","api_endpoint":"https://{site_url}/api/v4/hooks/incoming/{hook_id}"},"summary":"Update an incoming webhook","description":"Update an incoming webhook | Update an incoming webhook given the hook id.\n##### Permissions\n`manage_webhooks` for system or `manage_webhooks` for the specific team or `manage_webhooks` for the channel. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"channel_id":{"type":"string","description":"The ID of a public channel or private group that receives the webhook payloads.","required":true},"channel_locked":{"type":"boolean","description":"Whether the webhook is locked to the channel.","enum":[true,false]},"description":{"type":"string","description":"The description for this incoming webhook","required":true},"display_name":{"type":"string","description":"The display name for this incoming webhook","required":true},"icon_url":{"type":"string","description":"The profile picture this incoming webhook will use when posting."},"id":{"type":"string","description":"Incoming webhook GUID","required":true},"username":{"type":"string","description":"The username this incoming webhook will post as."}}},"example":{"channel_id":["string"],"channel_locked":[false],"description":["string"],"display_name":["string"],"icon_url":["string"],"id":["string"],"username":["string"]}}}}}},"/hooks/outgoing":{"post":{"tags":["Webhooks"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#CreateOutgoingWebhook","api_endpoint":"https://{site_url}/api/v4/hooks/outgoing"},"summary":"Create an outgoing webhook","description":"Create an outgoing webhook | Create an outgoing webhook for a team.\n##### Permissions\n`manage_webhooks` for the team the webhook is in.\n`manage_others_outgoing_webhooks` for the team the webhook is in if the user is different than the requester. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"callback_urls":{"type":"array","description":"The URLs to POST the payloads to when the webhook is triggered","required":true,"items":{"type":"string"}},"channel_id":{"type":"string","description":"The ID of a public channel that the webhook watchs"},"content_type":{"type":"string","description":"The format to POST the data in, either `application/json` or `application/x-www-form-urlencoded`"},"creator_id":{"type":"string","description":"The ID of the owner of the webhook if different than the requester. Required in [local mode](https://docs.mattermost.com/administration/mmctl-cli-tool.html#local-mode)."},"description":{"type":"string","description":"The description for this outgoing webhook"},"display_name":{"type":"string","description":"The display name for this outgoing webhook","required":true},"team_id":{"type":"string","description":"The ID of the team that the webhook watchs","required":true},"trigger_when":{"type":"number","description":"When to trigger the webhook, `0` when a trigger word is present at all and `1` if the message starts with a trigger word"},"trigger_words":{"type":"array","description":"List of words for the webhook to trigger on","required":true,"items":{"type":"string"}}}},"example":{"callback_urls":[["string"]],"channel_id":["string"],"content_type":["application/x-www-form-urlencoded"],"creator_id":["string"],"description":["string"],"display_name":["string"],"team_id":["string"],"trigger_when":[0],"trigger_words":[["string"]]}}}}},"get":{"tags":["Webhooks"],"parameters":[{"name":"channel_id","in":"query","description":"The ID of the channel to get hooks for.","required":false,"schema":{"type":"string","example":""}},{"name":"page","in":"query","description":"The page to select.","required":false,"schema":{"type":"number","example":""}},{"name":"per_page","in":"query","description":"The number of hooks per page.","required":false,"schema":{"type":"number","example":""}},{"name":"team_id","in":"query","description":"The ID of the team to get hooks for.","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetOutgoingWebhooks","api_endpoint":"https://{site_url}/api/v4/hooks/outgoing"},"summary":"List outgoing webhooks","description":"List outgoing webhooks | Get a page of a list of outgoing webhooks. Optionally filter for a specific team or channel using query parameters.\n##### Permissions\n`manage_webhooks` for the system or `manage_webhooks` for the specific team/channel. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/hooks/outgoing/{hook_id}":{"get":{"tags":["Webhooks"],"parameters":[{"name":"hook_id","in":"path","description":"Outgoing webhook GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetOutgoingWebhook","api_endpoint":"https://{site_url}/api/v4/hooks/outgoing/{hook_id}"},"summary":"Get an outgoing webhook","description":"Get an outgoing webhook | Get an outgoing webhook given the hook id.\n##### Permissions\n`manage_webhooks` for system or `manage_webhooks` for the specific team or `manage_webhooks` for the channel. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]},"delete":{"tags":["Webhooks"],"parameters":[{"name":"hook_id","in":"path","description":"Outgoing webhook GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#DeleteOutgoingWebhook","api_endpoint":"https://{site_url}/api/v4/hooks/outgoing/{hook_id}"},"summary":"Delete an outgoing webhook","description":"Delete an outgoing webhook | Delete an outgoing webhook given the hook id.\n##### Permissions\n`manage_webhooks` for system or `manage_webhooks` for the specific team or `manage_webhooks` for the channel. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}},"put":{"tags":["Webhooks"],"parameters":[{"name":"hook_id","in":"path","description":"outgoing Webhook GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UpdateOutgoingWebhook","api_endpoint":"https://{site_url}/api/v4/hooks/outgoing/{hook_id}"},"summary":"Update an outgoing webhook","description":"Update an outgoing webhook | Update an outgoing webhook given the hook id.\n##### Permissions\n`manage_webhooks` for system or `manage_webhooks` for the specific team or `manage_webhooks` for the channel. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"channel_id":{"type":"string","description":"The ID of a public channel or private group that receives the webhook payloads.","required":true},"description":{"type":"string","description":"The description for this incoming webhook","required":true},"display_name":{"type":"string","description":"The display name for this incoming webhook","required":true},"id":{"type":"string","description":"Outgoing webhook GUID","required":true}}},"example":{"channel_id":["string"],"description":["string"],"display_name":["string"],"id":["string"]}}}}}},"/hooks/outgoing/{hook_id}/regen_token":{"post":{"tags":["Webhooks"],"parameters":[{"name":"hook_id","in":"path","description":"Outgoing webhook GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#RegenOutgoingHookToken","api_endpoint":"https://{site_url}/api/v4/hooks/outgoing/{hook_id}/regen_token"},"summary":"Regenerate the token for the outgoing webhook.","description":"Regenerate the token for the outgoing webhook. | Regenerate the token for the outgoing webhook.\n##### Permissions\n`manage_webhooks` for system or `manage_webhooks` for the specific team or `manage_webhooks` for the channel. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/saml/metadata":{"get":{"tags":["SAML"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetSamlMetadata","api_endpoint":"https://{site_url}/api/v4/saml/metadata"},"summary":"Get metadata","description":"Get metadata | Get SAML metadata from the server. SAML must be configured properly.\n##### Permissions\nNo permission required. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/saml/metadatafromidp":{"post":{"tags":["SAML"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetSamlMetadataFromIdp","api_endpoint":"https://{site_url}/api/v4/saml/metadatafromidp"},"summary":"Get metadata from Identity Provider","description":"Get metadata from Identity Provider | Get SAML metadata from the Identity Provider. SAML must be configured properly.\n##### Permissions\nNo permission required. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"saml_metadata_url":{"type":"string","description":"The URL from which to retrieve the SAML IDP data."}}},"example":{"saml_metadata_url":["string"]}}}}}},"/saml/certificate/idp":{"post":{"tags":["SAML"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UploadSamlIdpCertificate","api_endpoint":"https://{site_url}/api/v4/saml/certificate/idp"},"summary":"Upload IDP certificate","description":"Upload IDP certificate | Upload the IDP certificate to be used with your SAML configuration. The server will pick a hard-coded filename for the IdpCertificateFile setting in your `config.json`.\n##### Permissions\nMust have `sysconsole_write_authentication` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"certificate":{"type":"string","description":"The IDP certificate file","required":true}}},"example":{"certificate":["string"]}}}}},"delete":{"tags":["SAML"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#DeleteSamlIdpCertificate","api_endpoint":"https://{site_url}/api/v4/saml/certificate/idp"},"summary":"Remove IDP certificate","description":"Remove IDP certificate | Delete the current IDP certificate being used with your SAML configuration. This will also disable SAML on your system as this certificate is required for SAML.\n##### Permissions\nMust have `sysconsole_write_authentication` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/saml/certificate/public":{"post":{"tags":["SAML"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UploadSamlPublicCertificate","api_endpoint":"https://{site_url}/api/v4/saml/certificate/public"},"summary":"Upload public certificate","description":"Upload public certificate | Upload the public certificate to be used for encryption with your SAML configuration. The server will pick a hard-coded filename for the PublicCertificateFile setting in your `config.json`.\n##### Permissions\nMust have `sysconsole_write_authentication` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"certificate":{"type":"string","description":"The public certificate file","required":true}}},"example":{"certificate":["string"]}}}}},"delete":{"tags":["SAML"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#DeleteSamlPublicCertificate","api_endpoint":"https://{site_url}/api/v4/saml/certificate/public"},"summary":"Remove public certificate","description":"Remove public certificate | Delete the current public certificate being used with your SAML configuration. This will also disable encryption for SAML on your system as this certificate is required for that.\n##### Permissions\nMust have `sysconsole_write_authentication` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/saml/certificate/private":{"post":{"tags":["SAML"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UploadSamlPrivateCertificate","api_endpoint":"https://{site_url}/api/v4/saml/certificate/private"},"summary":"Upload private key","description":"Upload private key | Upload the private key to be used for encryption with your SAML configuration. The server will pick a hard-coded filename for the PrivateKeyFile setting in your `config.json`.\n##### Permissions\nMust have `sysconsole_write_authentication` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"certificate":{"type":"string","description":"The private key file","required":true}}},"example":{"certificate":["string"]}}}}},"delete":{"tags":["SAML"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#DeleteSamlPrivateCertificate","api_endpoint":"https://{site_url}/api/v4/saml/certificate/private"},"summary":"Remove private key","description":"Remove private key | Delete the current private key being used with your SAML configuration. This will also disable encryption for SAML on your system as this key is required for that.\n##### Permissions\nMust have `sysconsole_write_authentication` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/saml/certificate/status":{"get":{"tags":["SAML"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetSamlCertificateStatus","api_endpoint":"https://{site_url}/api/v4/saml/certificate/status"},"summary":"Get certificate status","description":"Get certificate status | Get the status of the uploaded certificates and keys in use by your SAML configuration.\n##### Permissions\nMust have `sysconsole_write_authentication` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/saml/reset_auth_data":{"post":{"tags":["SAML"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#ResetSamlAuthDataToEmail","api_endpoint":"https://{site_url}/api/v4/saml/reset_auth_data"},"summary":"Reset AuthData to Email","description":"Reset AuthData to Email | Reset the AuthData field of SAML users to their email. This is meant to be used when the \"id\" attribute is set to an empty value (\"\") from a previously non-empty value.\n__Minimum server version__: 5.35\n##### Permissions\nMust have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"dry_run":{"type":"boolean","description":"If set to true, the number of users who would be affected is returned.","enum":[true,false]},"include_deleted":{"type":"boolean","description":"Whether to include deleted users.","enum":[true,false]},"user_ids":{"type":"array","description":"If set to a non-empty array, then users whose IDs are not in the array will be excluded.","items":{"type":"string"}}}},"example":{"dry_run":[false],"include_deleted":[false],"user_ids":[[]]}}}}}},"/compliance/reports":{"post":{"tags":["Compliance"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#CreateComplianceReport","api_endpoint":"https://{site_url}/api/v4/compliance/reports"},"summary":"Create report","description":"Create report | Create and save a compliance report.\n##### Permissions\nMust have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}},"get":{"tags":["Compliance"],"parameters":[{"name":"page","in":"query","description":"The page to select.","required":false,"schema":{"type":"number","example":""}},{"name":"per_page","in":"query","description":"The number of reports per page.","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetComplianceReports","api_endpoint":"https://{site_url}/api/v4/compliance/reports"},"summary":"Get reports","description":"Get reports | Get a list of compliance reports previously created by page, selected with `page` and `per_page` query parameters.\n##### Permissions\nMust have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/compliance/reports/{report_id}":{"get":{"tags":["Compliance"],"parameters":[{"name":"report_id","in":"path","description":"Compliance report GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetComplianceReport","api_endpoint":"https://{site_url}/api/v4/compliance/reports/{report_id}"},"summary":"Get a report","description":"Get a report | Get a compliance reports previously created.\n##### Permissions\nMust have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/compliance/reports/{report_id}/download":{"get":{"tags":["Compliance"],"parameters":[{"name":"report_id","in":"path","description":"Compliance report GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#DownloadComplianceReport","api_endpoint":"https://{site_url}/api/v4/compliance/reports/{report_id}/download"},"summary":"Download a report","description":"Download a report | Download the full contents of a report as a file.\n##### Permissions\nMust have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/ldap/sync":{"post":{"tags":["LDAP"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#SyncLdap","api_endpoint":"https://{site_url}/api/v4/ldap/sync"},"summary":"Sync with LDAP","description":"Sync with LDAP | Synchronize any user attribute changes in the configured AD/LDAP server with Mattermost.\n##### Permissions\nMust have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/ldap/test":{"post":{"tags":["LDAP"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#TestLdap","api_endpoint":"https://{site_url}/api/v4/ldap/test"},"summary":"Test LDAP configuration","description":"Test LDAP configuration | Test the current AD/LDAP configuration to see if the AD/LDAP server can be contacted successfully.\n##### Permissions\nMust have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/ldap/test_connection":{"post":{"tags":["LDAP"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#TestLdapConnection","api_endpoint":"https://{site_url}/api/v4/ldap/test_connection"},"summary":"Test LDAP connection with specific settings","description":"Test LDAP connection with specific settings | Test the LDAP connection using the provided settings without modifying the current server configuration.\n##### Permissions\nMust have `sysconsole_read_authentication_ldap` or `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"AdminFilter":{"type":"string","description":"body.AdminFilter (string field from the documented request schema)"},"BaseDN":{"type":"string","description":"body.BaseDN (string field from the documented request schema)"},"BindPassword":{"type":"string","description":"body.BindPassword (string field from the documented request schema)"},"BindUsername":{"type":"string","description":"body.BindUsername (string field from the documented request schema)"},"ConnectionSecurity":{"type":"string","description":"body.ConnectionSecurity (string field from the documented request schema)"},"EmailAttribute":{"type":"string","description":"body.EmailAttribute (string field from the documented request schema)"},"Enable":{"type":"boolean","description":"body.Enable (boolean field from the documented request schema)","enum":[true,false]},"EnableAdminFilter":{"type":"boolean","description":"body.EnableAdminFilter (boolean field from the documented request schema)","enum":[true,false]},"EnableSync":{"type":"boolean","description":"body.EnableSync (boolean field from the documented request schema)","enum":[true,false]},"FirstNameAttribute":{"type":"string","description":"body.FirstNameAttribute (string field from the documented request schema)"},"GroupDisplayNameAttribute":{"type":"string","description":"body.GroupDisplayNameAttribute (string field from the documented request schema)"},"GroupFilter":{"type":"string","description":"body.GroupFilter (string field from the documented request schema)"},"GroupIdAttribute":{"type":"string","description":"body.GroupIdAttribute (string field from the documented request schema)"},"GuestFilter":{"type":"string","description":"body.GuestFilter (string field from the documented request schema)"},"IdAttribute":{"type":"string","description":"body.IdAttribute (string field from the documented request schema)"},"LastNameAttribute":{"type":"string","description":"body.LastNameAttribute (string field from the documented request schema)"},"LdapPort":{"type":"number","description":"body.LdapPort (number field from the documented request schema)"},"LdapServer":{"type":"string","description":"body.LdapServer (string field from the documented request schema)"},"LoginFieldName":{"type":"string","description":"body.LoginFieldName (string field from the documented request schema)"},"LoginIdAttribute":{"type":"string","description":"body.LoginIdAttribute (string field from the documented request schema)"},"MaxPageSize":{"type":"number","description":"body.MaxPageSize (number field from the documented request schema)"},"MaximumLoginAttempts":{"type":"number","description":"body.MaximumLoginAttempts (number field from the documented request schema)"},"NicknameAttribute":{"type":"string","description":"body.NicknameAttribute (string field from the documented request schema)"},"PictureAttribute":{"type":"string","description":"body.PictureAttribute (string field from the documented request schema)"},"PositionAttribute":{"type":"string","description":"body.PositionAttribute (string field from the documented request schema)"},"PrivateKeyFile":{"type":"string","description":"body.PrivateKeyFile (string field from the documented request schema)"},"PublicCertificateFile":{"type":"string","description":"body.PublicCertificateFile (string field from the documented request schema)"},"QueryTimeout":{"type":"number","description":"body.QueryTimeout (number field from the documented request schema)"},"SkipCertificateVerification":{"type":"boolean","description":"body.SkipCertificateVerification (boolean field from the documented request schema)","enum":[true,false]},"SyncIntervalMinutes":{"type":"number","description":"body.SyncIntervalMinutes (number field from the documented request schema)"},"UserFilter":{"type":"string","description":"body.UserFilter (string field from the documented request schema)"},"UsernameAttribute":{"type":"string","description":"body.UsernameAttribute (string field from the documented request schema)"}}},"example":{"AdminFilter":["string"],"BaseDN":["string"],"BindPassword":["string"],"BindUsername":["string"],"ConnectionSecurity":["string"],"EmailAttribute":["string"],"Enable":[false],"EnableAdminFilter":[false],"EnableSync":[false],"FirstNameAttribute":["string"],"GroupDisplayNameAttribute":["string"],"GroupFilter":["string"],"GroupIdAttribute":["string"],"GuestFilter":["string"],"IdAttribute":["string"],"LastNameAttribute":["string"],"LdapPort":[0],"LdapServer":["string"],"LoginFieldName":["string"],"LoginIdAttribute":["string"],"MaxPageSize":[0],"MaximumLoginAttempts":[0],"NicknameAttribute":["string"],"PictureAttribute":["string"],"PositionAttribute":["string"],"PrivateKeyFile":["string"],"PublicCertificateFile":["string"],"QueryTimeout":[0],"SkipCertificateVerification":[false],"SyncIntervalMinutes":[0],"UserFilter":["string"],"UsernameAttribute":["string"]}}}}}},"/ldap/test_diagnostics":{"post":{"tags":["LDAP"],"parameters":[{"name":"test","in":"query","description":"Type of LDAP diagnostic test to run","required":true,"schema":{"type":"string","example":"","items":{"type":"string","enum":["filters","attributes","group_attributes"]}}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#TestLdapDiagnostics","api_endpoint":"https://{site_url}/api/v4/ldap/test_diagnostics"},"summary":"Test LDAP diagnostics with specific settings","description":"Test LDAP diagnostics with specific settings | Test LDAP diagnostics using the provided settings to validate configuration and see sample results without modifying the current server configuration. Use the `test` query parameter to specify which diagnostic to run.\n##### Permissions\nMust have `sysconsole_read_authentication_ldap` or `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"AdminFilter":{"type":"string","description":"body.AdminFilter (string field from the documented request schema)"},"BaseDN":{"type":"string","description":"body.BaseDN (string field from the documented request schema)"},"BindPassword":{"type":"string","description":"body.BindPassword (string field from the documented request schema)"},"BindUsername":{"type":"string","description":"body.BindUsername (string field from the documented request schema)"},"ConnectionSecurity":{"type":"string","description":"body.ConnectionSecurity (string field from the documented request schema)"},"EmailAttribute":{"type":"string","description":"body.EmailAttribute (string field from the documented request schema)"},"Enable":{"type":"boolean","description":"body.Enable (boolean field from the documented request schema)","enum":[true,false]},"EnableAdminFilter":{"type":"boolean","description":"body.EnableAdminFilter (boolean field from the documented request schema)","enum":[true,false]},"EnableSync":{"type":"boolean","description":"body.EnableSync (boolean field from the documented request schema)","enum":[true,false]},"FirstNameAttribute":{"type":"string","description":"body.FirstNameAttribute (string field from the documented request schema)"},"GroupDisplayNameAttribute":{"type":"string","description":"body.GroupDisplayNameAttribute (string field from the documented request schema)"},"GroupFilter":{"type":"string","description":"body.GroupFilter (string field from the documented request schema)"},"GroupIdAttribute":{"type":"string","description":"body.GroupIdAttribute (string field from the documented request schema)"},"GuestFilter":{"type":"string","description":"body.GuestFilter (string field from the documented request schema)"},"IdAttribute":{"type":"string","description":"body.IdAttribute (string field from the documented request schema)"},"LastNameAttribute":{"type":"string","description":"body.LastNameAttribute (string field from the documented request schema)"},"LdapPort":{"type":"number","description":"body.LdapPort (number field from the documented request schema)"},"LdapServer":{"type":"string","description":"body.LdapServer (string field from the documented request schema)"},"LoginFieldName":{"type":"string","description":"body.LoginFieldName (string field from the documented request schema)"},"LoginIdAttribute":{"type":"string","description":"body.LoginIdAttribute (string field from the documented request schema)"},"MaxPageSize":{"type":"number","description":"body.MaxPageSize (number field from the documented request schema)"},"MaximumLoginAttempts":{"type":"number","description":"body.MaximumLoginAttempts (number field from the documented request schema)"},"NicknameAttribute":{"type":"string","description":"body.NicknameAttribute (string field from the documented request schema)"},"PictureAttribute":{"type":"string","description":"body.PictureAttribute (string field from the documented request schema)"},"PositionAttribute":{"type":"string","description":"body.PositionAttribute (string field from the documented request schema)"},"PrivateKeyFile":{"type":"string","description":"body.PrivateKeyFile (string field from the documented request schema)"},"PublicCertificateFile":{"type":"string","description":"body.PublicCertificateFile (string field from the documented request schema)"},"QueryTimeout":{"type":"number","description":"body.QueryTimeout (number field from the documented request schema)"},"SkipCertificateVerification":{"type":"boolean","description":"body.SkipCertificateVerification (boolean field from the documented request schema)","enum":[true,false]},"SyncIntervalMinutes":{"type":"number","description":"body.SyncIntervalMinutes (number field from the documented request schema)"},"UserFilter":{"type":"string","description":"body.UserFilter (string field from the documented request schema)"},"UsernameAttribute":{"type":"string","description":"body.UsernameAttribute (string field from the documented request schema)"}}},"example":{"AdminFilter":["string"],"BaseDN":["string"],"BindPassword":["string"],"BindUsername":["string"],"ConnectionSecurity":["string"],"EmailAttribute":["string"],"Enable":[false],"EnableAdminFilter":[false],"EnableSync":[false],"FirstNameAttribute":["string"],"GroupDisplayNameAttribute":["string"],"GroupFilter":["string"],"GroupIdAttribute":["string"],"GuestFilter":["string"],"IdAttribute":["string"],"LastNameAttribute":["string"],"LdapPort":[0],"LdapServer":["string"],"LoginFieldName":["string"],"LoginIdAttribute":["string"],"MaxPageSize":[0],"MaximumLoginAttempts":[0],"NicknameAttribute":["string"],"PictureAttribute":["string"],"PositionAttribute":["string"],"PrivateKeyFile":["string"],"PublicCertificateFile":["string"],"QueryTimeout":[0],"SkipCertificateVerification":[false],"SyncIntervalMinutes":[0],"UserFilter":["string"],"UsernameAttribute":["string"]}}}}}},"/ldap/groups":{"get":{"tags":["LDAP"],"parameters":[{"name":"page","in":"query","description":"The page to select.","required":false,"schema":{"type":"number","example":""}},{"name":"per_page","in":"query","description":"The number of users per page. per page.","required":false,"schema":{"type":"number","example":""}},{"name":"q","in":"query","description":"Search term","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetLdapGroups","api_endpoint":"https://{site_url}/api/v4/ldap/groups"},"summary":"Returns a list of LDAP groups","description":"Returns a list of LDAP groups | ##### Permissions\nMust have `manage_system` permission.\n__Minimum server version__: 5.11 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/ldap/groups/{remote_id}/link":{"post":{"tags":["LDAP"],"parameters":[{"name":"remote_id","in":"path","description":"Group GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#LinkLdapGroup","api_endpoint":"https://{site_url}/api/v4/ldap/groups/{remote_id}/link"},"summary":"Link a LDAP group","description":"Link a LDAP group | ##### Permissions\nMust have `manage_system` permission.\n__Minimum server version__: 5.11 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}},"delete":{"tags":["Groups"],"parameters":[{"name":"remote_id","in":"path","description":"Group GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UnlinkLdapGroup","api_endpoint":"https://{site_url}/api/v4/ldap/groups/{remote_id}/link"},"summary":"Delete a link for LDAP group","description":"Delete a link for LDAP group | ##### Permissions\nMust have `manage_system` permission.\n__Minimum server version__: 5.11 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/ldap/migrateid":{"post":{"tags":["LDAP"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#MigrateIdLdap","api_endpoint":"https://{site_url}/api/v4/ldap/migrateid"},"summary":"Migrate Id LDAP","description":"Migrate Id LDAP | Migrate LDAP IdAttribute to new value.\n##### Permissions\nMust have `manage_system` permission.\n__Minimum server version__: 5.26 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"toAttribute":{"type":"string","description":"New IdAttribute value","required":true}}},"example":{"toAttribute":["string"]}}}}}},"/ldap/certificate/public":{"post":{"tags":["LDAP"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UploadLdapPublicCertificate","api_endpoint":"https://{site_url}/api/v4/ldap/certificate/public"},"summary":"Upload public certificate","description":"Upload public certificate | Upload the public certificate to be used for TLS verification. The server will pick a hard-coded filename for the PublicCertificateFile setting in your `config.json`.\n##### Permissions\nMust have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"certificate":{"type":"string","description":"The public certificate file","required":true}}},"example":{"certificate":["string"]}}}}},"delete":{"tags":["LDAP"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#DeleteLdapPublicCertificate","api_endpoint":"https://{site_url}/api/v4/ldap/certificate/public"},"summary":"Remove public certificate","description":"Remove public certificate | Delete the current public certificate being used for TLS verification.\n##### Permissions\nMust have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/ldap/certificate/private":{"post":{"tags":["LDAP"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UploadLdapPrivateCertificate","api_endpoint":"https://{site_url}/api/v4/ldap/certificate/private"},"summary":"Upload private key","description":"Upload private key | Upload the private key to be used for TLS verification. The server will pick a hard-coded filename for the PrivateKeyFile setting in your `config.json`.\n##### Permissions\nMust have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"certificate":{"type":"string","description":"The private key file","required":true}}},"example":{"certificate":["string"]}}}}},"delete":{"tags":["LDAP"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#DeleteLdapPrivateCertificate","api_endpoint":"https://{site_url}/api/v4/ldap/certificate/private"},"summary":"Remove private key","description":"Remove private key | Delete the current private key being used with your TLS verification.\n##### Permissions\nMust have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/ldap/users/{user_id}/group_sync_memberships":{"post":{"tags":["LDAP"],"parameters":[{"name":"user_id","in":"path","description":"User Id","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#AddUserToGroupSyncables","api_endpoint":"https://{site_url}/api/v4/ldap/users/{user_id}/group_sync_memberships"},"summary":"Create memberships for LDAP configured channels and teams for this user","description":"Create memberships for LDAP configured channels and teams for this user | Add the user to each channel and team configured for each LDAP group of whicht the user is a member.\n##### Permissions\nMust have `sysconsole_write_user_management_groups` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/groups":{"get":{"tags":["Groups"],"parameters":[{"name":"filter_allow_reference","in":"query","description":"Boolean which filters the group entries with the `allow_reference` attribute set.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"include_member_count","in":"query","description":"Boolean which adds the `member_count` attribute to each group JSON object","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"not_associated_to_channel","in":"query","description":"Group GUID which is used to return all the groups not associated to this channel","required":false,"schema":{"type":"string","example":""}},{"name":"not_associated_to_team","in":"query","description":"Team GUID which is used to return all the groups not associated to this team","required":false,"schema":{"type":"string","example":""}},{"name":"page","in":"query","description":"The page to select.","required":false,"schema":{"type":"number","example":""}},{"name":"per_page","in":"query","description":"The number of groups per page.","required":false,"schema":{"type":"number","example":""}},{"name":"q","in":"query","description":"String to pattern match the `name` and `display_name` field. Will return all groups whose `name` and `display_name` field match any of the text.","required":false,"schema":{"type":"string","example":""}},{"name":"since","in":"query","description":"Only return groups that have been modified since the given Unix timestamp (in milliseconds). All modified groups, including deleted and created groups, will be returned.\n__Minimum server version__: 5.24","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetGroups","api_endpoint":"https://{site_url}/api/v4/groups"},"summary":"Get groups","description":"Get groups | Retrieve a list of all groups not associated to a particular channel or team.\nIf you use `not_associated_to_team`, you must be a team admin for that particular team (permission to manage that team).\nIf you use `not_associated_to_channel`, you must be a channel admin for that particular channel (permission to manage that channel).\n__Minimum server version__: 5.11 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]},"post":{"tags":["Groups"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#CreateGroup","api_endpoint":"https://{site_url}/api/v4/groups"},"summary":"Create a custom group","description":"Create a custom group | Create a `custom` type group.\n#### Permission\nMust have `create_custom_group` permission.\n__Minimum server version__: 6.3 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"allow_reference":{"type":"boolean","description":"Must be true","required":true,"enum":[true,false]},"display_name":{"type":"string","description":"The display name of the group which can include spaces.","required":true},"name":{"type":"string","description":"The unique group name used for at-mentioning.","required":true},"source":{"type":"string","description":"Must be `custom`","required":true},"user_ids":{"type":"array","description":"The user ids of the group members to add.","required":true,"items":{"type":"string"}}}},"example":{"allow_reference":[false],"display_name":["string"],"name":["string"],"source":["string"],"user_ids":[["string"]]}}}}}},"/groups/{group_id}":{"get":{"tags":["Groups"],"parameters":[{"name":"group_id","in":"path","description":"Group GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetGroup","api_endpoint":"https://{site_url}/api/v4/groups/{group_id}"},"summary":"Get a group","description":"Get a group | Get group from the provided group id string\n##### Permissions\nMust have `manage_system` permission.\n__Minimum server version__: 5.11 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]},"delete":{"tags":["Groups"],"parameters":[{"name":"group_id","in":"path","description":"The ID of the group.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#DeleteGroup","api_endpoint":"https://{site_url}/api/v4/groups/{group_id}"},"summary":"Deletes a custom group","description":"Deletes a custom group | Soft deletes a custom group.\n##### Permissions\nMust have `custom_group_delete` permission for the given group.\n__Minimum server version__: 6.3 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/groups/{group_id}/patch":{"put":{"tags":["Groups"],"parameters":[{"name":"group_id","in":"path","description":"Group GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#PatchGroup","api_endpoint":"https://{site_url}/api/v4/groups/{group_id}/patch"},"summary":"Patch a group","description":"Patch a group | Partially update a group by providing only the fields you want to update. Omitted fields will not be updated. The fields that can be updated are defined in the request body, all other provided fields will be ignored.\n##### Permissions\nMust have `manage_system` permission.\n__Minimum server version__: 5.11 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"description":{"type":"string","description":"body.description (string field from the documented request schema)"},"display_name":{"type":"string","description":"body.display_name (string field from the documented request schema)"},"name":{"type":"string","description":"body.name (string field from the documented request schema)"}}},"example":{"description":["string"],"display_name":["string"],"name":["string"]}}}}}},"/groups/{group_id}/restore":{"post":{"tags":["Groups"],"parameters":[{"name":"group_id","in":"path","description":"Group GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#RestoreGroup","api_endpoint":"https://{site_url}/api/v4/groups/{group_id}/restore"},"summary":"Restore a previously deleted group.","description":"Restore a previously deleted group. | Restores a previously deleted custom group, allowing it to be used normally.\nMay not be used with LDAP groups.\n##### Permissions Must have `restore_custom_group` permission for the given group.\n__Minimum server version__: 7.7 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/groups/{group_id}/teams/{team_id}/link":{"post":{"tags":["Groups"],"parameters":[{"name":"group_id","in":"path","description":"Group GUID","required":true,"schema":{"type":"string","example":""}},{"name":"team_id","in":"path","description":"Team GUID.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#LinkGroupSyncableForTeam","api_endpoint":"https://{site_url}/api/v4/groups/{group_id}/teams/{team_id}/link"},"summary":"Link a team to a group","description":"Link a team to a group | Link a team to a group.\n##### Permissions\nRequires `invite_user` on the target team, or `sysconsole_write_user_management_groups`.\nIf the group has `allow_reference` disabled, also requires `sysconsole_read_user_management_groups`.\n__Minimum server version__: 5.11 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}},"delete":{"tags":["Groups"],"parameters":[{"name":"group_id","in":"path","description":"Group GUID","required":true,"schema":{"type":"string","example":""}},{"name":"team_id","in":"path","description":"Team GUID.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UnlinkGroupSyncableForTeam","api_endpoint":"https://{site_url}/api/v4/groups/{group_id}/teams/{team_id}/link"},"summary":"Unlink a team from a group","description":"Unlink a team from a group | Delete a link between a team and a group.\n##### Permissions\nRequires `invite_user` on the target team, or `sysconsole_write_user_management_groups`.\nIf the group has `allow_reference` disabled, also requires `sysconsole_read_user_management_groups`.\n__Minimum server version__: 5.11 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/groups/{group_id}/channels/{channel_id}/link":{"post":{"tags":["Groups"],"parameters":[{"name":"channel_id","in":"path","description":"Channel GUID.","required":true,"schema":{"type":"string","example":""}},{"name":"group_id","in":"path","description":"Group GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#LinkGroupSyncableForChannel","api_endpoint":"https://{site_url}/api/v4/groups/{group_id}/channels/{channel_id}/link"},"summary":"Link a channel to a group","description":"Link a channel to a group | Link a channel to a group.\n##### Permissions\nRequires `manage_private_channel_members` (private channel) or\n`manage_public_channel_members` (public channel) on the target channel.\nIf this is the group's first linkage into the channel's team context, also\nrequires `invite_user` on the team, or `sysconsole_write_user_management_groups`.\nIf the group has `allow_reference` disabled, also requires `sysconsole_read_user_management_groups`.\n__Minimum server version__: 5.11 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}},"delete":{"tags":["Groups"],"parameters":[{"name":"channel_id","in":"path","description":"Channel GUID.","required":true,"schema":{"type":"string","example":""}},{"name":"group_id","in":"path","description":"Group GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UnlinkGroupSyncableForChannel","api_endpoint":"https://{site_url}/api/v4/groups/{group_id}/channels/{channel_id}/link"},"summary":"Unlink a channel from a group","description":"Unlink a channel from a group | Delete a link between a channel and a group.\n##### Permissions\nRequires `manage_private_channel_members` (private channel) or\n`manage_public_channel_members` (public channel) on the target channel.\nIf unlinking would leave the group with no remaining linkage in that channel's team context (last/only linkage for that team), also\nrequires `invite_user` on the team, or `sysconsole_write_user_management_groups`.\nIf the group has `allow_reference` disabled, also requires `sysconsole_read_user_management_groups`.\n__Minimum server version__: 5.11 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/groups/{group_id}/teams/{team_id}":{"get":{"tags":["Groups"],"parameters":[{"name":"group_id","in":"path","description":"Group GUID","required":true,"schema":{"type":"string","example":""}},{"name":"team_id","in":"path","description":"Team GUID.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetGroupSyncableForTeamId","api_endpoint":"https://{site_url}/api/v4/groups/{group_id}/teams/{team_id}"},"summary":"Get a team syncable for a group","description":"Get a team syncable for a group | Get the GroupSyncableTeam object with the provided group and team identifiers.\n##### Permissions\nMust have `manage_system` permission.\n__Minimum server version__: 5.11 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/groups/{group_id}/channels/{channel_id}":{"get":{"tags":["Groups"],"parameters":[{"name":"channel_id","in":"path","description":"Channel GUID.","required":true,"schema":{"type":"string","example":""}},{"name":"group_id","in":"path","description":"Group GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetGroupSyncableForChannelId","api_endpoint":"https://{site_url}/api/v4/groups/{group_id}/channels/{channel_id}"},"summary":"Get a channel syncable for a group","description":"Get a channel syncable for a group | Get the GroupSyncableChannel object with the provided group and channel identifiers.\n##### Permissions\nMust have `manage_system` permission.\n__Minimum server version__: 5.11 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/groups/{group_id}/teams":{"get":{"tags":["Groups"],"parameters":[{"name":"group_id","in":"path","description":"Group GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetGroupSyncablesTeams","api_endpoint":"https://{site_url}/api/v4/groups/{group_id}/teams"},"summary":"Get team syncables for a group","description":"Get team syncables for a group | Retrieve the list of team syncables associated with the group.\n##### Permissions\nMust have `manage_system` permission.\n__Minimum server version__: 5.11 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/groups/{group_id}/channels":{"get":{"tags":["Groups"],"parameters":[{"name":"group_id","in":"path","description":"Group GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetGroupSyncablesChannels","api_endpoint":"https://{site_url}/api/v4/groups/{group_id}/channels"},"summary":"Get channel syncables for a group","description":"Get channel syncables for a group | Retrieve the list of channel syncables associated with the group.\n##### Permissions\nMust have `manage_system` permission.\n__Minimum server version__: 5.11 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/groups/{group_id}/teams/{team_id}/patch":{"put":{"tags":["Groups"],"parameters":[{"name":"group_id","in":"path","description":"Group GUID","required":true,"schema":{"type":"string","example":""}},{"name":"team_id","in":"path","description":"Team GUID.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#PatchGroupSyncableForTeam","api_endpoint":"https://{site_url}/api/v4/groups/{group_id}/teams/{team_id}/patch"},"summary":"Patch a team syncable for a group","description":"Patch a team syncable for a group | Partially update a GroupSyncableTeam by providing only the fields you want to update. Omitted fields will not be updated.\n##### Permissions Must have `manage_system` permission.\n__Minimum server version__: 5.11 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"auto_add":{"type":"boolean","description":"body.auto_add (boolean field from the documented request schema)","enum":[true,false]}}},"example":{"auto_add":[false]}}}}}},"/groups/{group_id}/channels/{channel_id}/patch":{"put":{"tags":["Groups"],"parameters":[{"name":"channel_id","in":"path","description":"Channel GUID.","required":true,"schema":{"type":"string","example":""}},{"name":"group_id","in":"path","description":"Group GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#PatchGroupSyncableForChannel","api_endpoint":"https://{site_url}/api/v4/groups/{group_id}/channels/{channel_id}/patch"},"summary":"Patch a channel syncable for a group","description":"Patch a channel syncable for a group | Partially update a GroupSyncableChannel by providing only the fields you want to update. Omitted fields will not be updated.\n##### Permissions Must have `manage_system` permission.\n__Minimum server version__: 5.11 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"auto_add":{"type":"boolean","description":"body.auto_add (boolean field from the documented request schema)","enum":[true,false]}}},"example":{"auto_add":[false]}}}}}},"/groups/{group_id}/members":{"get":{"tags":["Groups"],"parameters":[{"name":"group_id","in":"path","description":"Group GUID","required":true,"schema":{"type":"string","example":""}},{"name":"page","in":"query","description":"The page to select.","required":false,"schema":{"type":"number","example":""}},{"name":"per_page","in":"query","description":"The number of groups per page.","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetGroupUsers","api_endpoint":"https://{site_url}/api/v4/groups/{group_id}/members"},"summary":"Get group users","description":"Get group users | Retrieve the list of users associated with a given group.\n##### Permissions\nMust have `manage_system` permission.\n__Minimum server version__: 5.11 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]},"delete":{"tags":["Groups"],"parameters":[{"name":"group_id","in":"path","description":"The ID of the group to delete.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#DeleteGroupMembers","api_endpoint":"https://{site_url}/api/v4/groups/{group_id}/members"},"summary":"Removes members from a custom group","description":"Removes members from a custom group | Soft deletes a custom group members.\n##### Permissions\nMust have `custom_group_manage_members` permission for the given group.\n__Minimum server version__: 6.3 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"user_ids":{"type":"array","description":"body.user_ids (array field from the documented request schema)","items":{"type":"string"}}}},"example":{"user_ids":[["string"]]}}}}},"post":{"tags":["Groups"],"parameters":[{"name":"group_id","in":"path","description":"The ID of the group.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#AddGroupMembers","api_endpoint":"https://{site_url}/api/v4/groups/{group_id}/members"},"summary":"Adds members to a custom group","description":"Adds members to a custom group | Adds members to a custom group.\n##### Permissions\nMust have `custom_group_manage_members` permission for the given group.\n__Minimum server version__: 6.3 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"user_ids":{"type":"array","description":"body.user_ids (array field from the documented request schema)","items":{"type":"string"}}}},"example":{"user_ids":[["string"]]}}}}}},"/groups/{group_id}/stats":{"get":{"tags":["Groups"],"parameters":[{"name":"group_id","in":"path","description":"Group GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetGroupStats","api_endpoint":"https://{site_url}/api/v4/groups/{group_id}/stats"},"summary":"Get group stats","description":"Get group stats | Retrieve the stats of a given group.\n##### Permissions\nMust have `manage_system` permission.\n__Minimum server version__: 5.26 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/channels/{channel_id}/groups":{"get":{"tags":["Groups"],"parameters":[{"name":"channel_id","in":"path","description":"Channel GUID","required":true,"schema":{"type":"string","example":""}},{"name":"filter_allow_reference","in":"query","description":"Boolean which filters the group entries with the `allow_reference` attribute set.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"page","in":"query","description":"The page to select.","required":false,"schema":{"type":"number","example":""}},{"name":"per_page","in":"query","description":"The number of groups per page.","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetGroupsByChannel","api_endpoint":"https://{site_url}/api/v4/channels/{channel_id}/groups"},"summary":"Get channel groups","description":"Get channel groups | Retrieve the list of groups associated with a given channel.\n##### Permissions\nMust have `manage_system` permission.\n__Minimum server version__: 5.11 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/teams/{team_id}/groups":{"get":{"tags":["Groups"],"parameters":[{"name":"team_id","in":"path","description":"Team GUID","required":true,"schema":{"type":"string","example":""}},{"name":"filter_allow_reference","in":"query","description":"Boolean which filters in the group entries with the `allow_reference` attribute set.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"filter_archived","in":"query","description":"Boolean which filters out archived groups from the response.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"filter_has_member","in":"query","description":"User ID to filter groups that have this member.","required":false,"schema":{"type":"string","example":""}},{"name":"filter_parent_team_permitted","in":"query","description":"Boolean which filters groups based on parent team permissions.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"include_archived","in":"query","description":"Boolean which includes archived groups in the response.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"include_member_count","in":"query","description":"Boolean which adds a `member_count` field to each group object.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"include_member_ids","in":"query","description":"Boolean which adds member IDs to the group objects.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"include_timezones","in":"query","description":"Boolean which adds timezone information for group members.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"include_total_count","in":"query","description":"Boolean which adds total count of groups in the response.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"only_syncable_sources","in":"query","description":"Boolean which includes groups from syncable sources.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"page","in":"query","description":"The page to select.","required":false,"schema":{"type":"number","example":""}},{"name":"per_page","in":"query","description":"The number of groups per page.","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetGroupsByTeam","api_endpoint":"https://{site_url}/api/v4/teams/{team_id}/groups"},"summary":"Get team groups","description":"Get team groups | Retrieve the list of groups associated with a given team.\n##### Permissions\nMust have the `list_team_channels` permission.\n__Minimum server version__: 5.11 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/teams/{team_id}/groups_by_channels":{"get":{"tags":["Groups"],"parameters":[{"name":"team_id","in":"path","description":"Team GUID","required":true,"schema":{"type":"string","example":""}},{"name":"filter_allow_reference","in":"query","description":"Boolean which filters in the group entries with the `allow_reference` attribute set.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"page","in":"query","description":"The page to select.","required":false,"schema":{"type":"number","example":""}},{"name":"paginate","in":"query","description":"Boolean to determine whether the pagination should be applied or not","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"per_page","in":"query","description":"The number of groups per page.","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetGroupsAssociatedToChannelsByTeam","api_endpoint":"https://{site_url}/api/v4/teams/{team_id}/groups_by_channels"},"summary":"Get team groups by channels","description":"Get team groups by channels | Retrieve the set of groups associated with the channels in the given team grouped by channel.\n##### Permissions\nMust have the `list_team_channels` permission.\n__Minimum server version__: 5.11 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/users/{user_id}/groups":{"get":{"tags":["Groups"],"parameters":[{"name":"user_id","in":"path","description":"User GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetGroupsByUserId","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/groups"},"summary":"Get groups for a userId","description":"Get groups for a userId | Retrieve the list of groups associated to the user\n__Minimum server version__: 5.24 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/groups/names":{"post":{"tags":["Groups"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetGroupsByNames","api_endpoint":"https://{site_url}/api/v4/groups/names"},"summary":"Get groups by name","description":"Get groups by name | Get a list of groups based on a provided list of names.\n##### Permissions\nRequires an active session but no other permissions.\n__Minimum server version__: 11.0 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"body":{"type":"array","description":"body (request body parameter from the official API reference)","items":{"type":"string"}}}},"example":{"body":[["string"]]}}}}}},"/cluster/status":{"get":{"tags":["Cluster"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetClusterStatus","api_endpoint":"https://{site_url}/api/v4/cluster/status"},"summary":"Get cluster status","description":"Get cluster status | Get a list of all healthy nodes, including local information and status of each one. If a node is not present, it means it is not healthy.\n##### Permissions\nMust have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/brand/image":{"get":{"tags":["Brand"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetBrandImage","api_endpoint":"https://{site_url}/api/v4/brand/image"},"summary":"Get brand image","description":"Get brand image | Get the previously uploaded brand image. Returns 404 if no brand image has been uploaded.\n##### Permissions\nNo permission required. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]},"post":{"tags":["Brand"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UploadBrandImage","api_endpoint":"https://{site_url}/api/v4/brand/image"},"summary":"Upload brand image","description":"Upload brand image | Uploads a brand image.\n##### Permissions\nMust have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"image":{"type":"string","description":"The image to be uploaded","required":true}}},"example":{"image":["string"]}}}}},"delete":{"tags":["Brand"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#DeleteBrandImage","api_endpoint":"https://{site_url}/api/v4/brand/image"},"summary":"Delete current brand image","description":"Delete current brand image | Deletes the previously uploaded brand image. Returns 404 if no brand image has been uploaded.\n##### Permissions\nMust have `manage_system` permission.\n__Minimum server version: 5.6__ | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/commands":{"post":{"tags":["Commands"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#CreateCommand","api_endpoint":"https://{site_url}/api/v4/commands"},"summary":"Create a command","description":"Create a command | Create a command for a team.\n##### Permissions\n`manage_slash_commands` for the team the command is in. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"method":{"type":"string","description":"`'P'` for post request, `'G'` for get request","required":true},"team_id":{"type":"string","description":"Team ID to where the command should be created","required":true},"trigger":{"type":"string","description":"Activation word to trigger the command","required":true},"url":{"type":"string","description":"The URL that the command will make the request","required":true}}},"example":{"method":["string"],"team_id":["string"],"trigger":["string"],"url":["string"]}}}}},"get":{"tags":["Commands"],"parameters":[{"name":"custom_only","in":"query","description":"To get only the custom commands. If set to false will get the custom\nif the user have access plus the system commands, otherwise just the system commands.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"team_id","in":"query","description":"The team id.","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#ListCommands","api_endpoint":"https://{site_url}/api/v4/commands"},"summary":"List commands for a team","description":"List commands for a team | List commands for a team.\n##### Permissions\n`manage_slash_commands` if need list custom commands. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/teams/{team_id}/commands/autocomplete":{"get":{"tags":["Commands"],"parameters":[{"name":"team_id","in":"path","description":"Team GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#ListAutocompleteCommands","api_endpoint":"https://{site_url}/api/v4/teams/{team_id}/commands/autocomplete"},"summary":"List autocomplete commands","description":"List autocomplete commands | List autocomplete commands in the team.\n##### Permissions\n`view_team` for the team. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/teams/{team_id}/commands/autocomplete_suggestions":{"get":{"tags":["Commands"],"parameters":[{"name":"team_id","in":"path","description":"Team GUID","required":true,"schema":{"type":"string","example":""}},{"name":"user_input","in":"query","description":"String inputted by the user.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#ListCommandAutocompleteSuggestions","api_endpoint":"https://{site_url}/api/v4/teams/{team_id}/commands/autocomplete_suggestions"},"summary":"List commands' autocomplete data","description":"List commands' autocomplete data | List commands' autocomplete data for the team.\n##### Permissions\n`view_team` for the team.\n__Minimum server version__: 5.24 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/commands/{command_id}":{"get":{"tags":["Commands"],"parameters":[{"name":"command_id","in":"path","description":"ID of the command to get","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetCommandById","api_endpoint":"https://{site_url}/api/v4/commands/{command_id}"},"summary":"Get a command","description":"Get a command | Get a command definition based on command id string.\n##### Permissions\nMust have `manage_slash_commands` permission for the team the command is in.\n__Minimum server version__: 5.22 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]},"put":{"tags":["Commands"],"parameters":[{"name":"command_id","in":"path","description":"ID of the command to update","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UpdateCommand","api_endpoint":"https://{site_url}/api/v4/commands/{command_id}"},"summary":"Update a command","description":"Update a command | Update a single command based on command id string and Command struct.\n##### Permissions\nMust have `manage_slash_commands` permission for the team the command is in. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"method":{"type":"string","description":"Is the trigger done with HTTP Get ('G') or HTTP Post ('P')"},"auto_complete":{"type":"boolean","description":"Use auto complete for this command","enum":[true,false]},"auto_complete_desc":{"type":"string","description":"The description for this command shown when selecting the command"},"auto_complete_hint":{"type":"string","description":"The hint for this command"},"create_at":{"type":"number","description":"The time in milliseconds the command was created"},"creator_id":{"type":"string","description":"The user id for the commands creator"},"delete_at":{"type":"number","description":"The time in milliseconds the command was deleted, 0 if never deleted"},"description":{"type":"string","description":"Description for this command"},"display_name":{"type":"string","description":"Display name for the command"},"icon_url":{"type":"string","description":"The url to find the icon for this users avatar"},"id":{"type":"string","description":"The ID of the slash command"},"team_id":{"type":"string","description":"The team id for which this command is configured"},"token":{"type":"string","description":"The token which is used to verify the source of the payload"},"trigger":{"type":"string","description":"The string that triggers this command"},"update_at":{"type":"number","description":"The time in milliseconds the command was last updated"},"url":{"type":"string","description":"The URL that is triggered"},"username":{"type":"string","description":"What is the username for the response post"}}},"example":{"method":["string"],"auto_complete":[false],"auto_complete_desc":["string"],"auto_complete_hint":["string"],"create_at":[0],"creator_id":["string"],"delete_at":[0],"description":["string"],"display_name":["string"],"icon_url":["string"],"id":["string"],"team_id":["string"],"token":["string"],"trigger":["string"],"update_at":[0],"url":["string"],"username":["string"]}}}}},"delete":{"tags":["Commands"],"parameters":[{"name":"command_id","in":"path","description":"ID of the command to delete","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#DeleteCommand","api_endpoint":"https://{site_url}/api/v4/commands/{command_id}"},"summary":"Delete a command","description":"Delete a command | Delete a command based on command id string.\n##### Permissions\nMust have `manage_slash_commands` permission for the team the command is in. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/commands/{command_id}/move":{"put":{"tags":["Commands"],"parameters":[{"name":"command_id","in":"path","description":"ID of the command to move","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#MoveCommand","api_endpoint":"https://{site_url}/api/v4/commands/{command_id}/move"},"summary":"Move a command","description":"Move a command | Move a command to a different team based on command id string.\n##### Permissions\nMust have `manage_slash_commands` permission for the team the command is currently in and the destination team.\n__Minimum server version__: 5.22 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"team_id":{"type":"string","description":"Destination teamId"}}},"example":{"team_id":["string"]}}}}}},"/commands/{command_id}/regen_token":{"put":{"tags":["Commands"],"parameters":[{"name":"command_id","in":"path","description":"ID of the command to generate the new token","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#RegenCommandToken","api_endpoint":"https://{site_url}/api/v4/commands/{command_id}/regen_token"},"summary":"Generate a new token","description":"Generate a new token | Generate a new token for the command based on command id string.\n##### Permissions\nMust have `manage_slash_commands` permission for the team the command is in. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/commands/execute":{"post":{"tags":["Commands"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#ExecuteCommand","api_endpoint":"https://{site_url}/api/v4/commands/execute"},"summary":"Execute a command","description":"Execute a command | Execute a command on a team.\n##### Permissions\nMust have `use_slash_commands` permission for the team the command is in. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"channel_id":{"type":"string","description":"Channel Id where the command will execute","required":true},"command":{"type":"string","description":"The slash command to execute, including parameters. Eg, `'/echo bounces around the room'`","required":true}}},"example":{"channel_id":["string"],"command":["string"]}}}}}},"/oauth/apps":{"post":{"tags":["OAuth"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#CreateOAuthApp","api_endpoint":"https://{site_url}/api/v4/oauth/apps"},"summary":"Register OAuth app","description":"Register OAuth app | Register an OAuth 2.0 client application with Mattermost as the service provider.\n##### Permissions\nMust have `manage_oauth` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"callback_urls":{"type":"array","description":"A list of callback URLs for the appliation","required":true,"items":{"type":"string"}},"description":{"type":"string","description":"A short description of the application","required":true},"homepage":{"type":"string","description":"A link to the website of the application","required":true},"icon_url":{"type":"string","description":"A URL to an icon to display with the application"},"is_public":{"type":"boolean","description":"Set this to `true` to create a public client (no client secret). Public clients must use PKCE for authorization.","enum":[true,false]},"is_trusted":{"type":"boolean","description":"Set this to `true` to skip asking users for permission","enum":[true,false]},"name":{"type":"string","description":"The name of the client application","required":true}}},"example":{"callback_urls":[["string"]],"description":["string"],"homepage":["string"],"icon_url":["string"],"is_public":[false],"is_trusted":[false],"name":["string"]}}}}},"get":{"tags":["OAuth"],"parameters":[{"name":"page","in":"query","description":"The page to select.","required":false,"schema":{"type":"number","example":""}},{"name":"per_page","in":"query","description":"The number of apps per page.","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetOAuthApps","api_endpoint":"https://{site_url}/api/v4/oauth/apps"},"summary":"Get OAuth apps","description":"Get OAuth apps | Get a page of OAuth 2.0 client applications registered with Mattermost.\n##### Permissions\nWith `manage_oauth` permission, the apps registered by the logged in user are returned. With `manage_system_wide_oauth` permission, all apps regardless of creator are returned. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/oauth/apps/{app_id}":{"get":{"tags":["OAuth"],"parameters":[{"name":"app_id","in":"path","description":"Application client id","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetOAuthApp","api_endpoint":"https://{site_url}/api/v4/oauth/apps/{app_id}"},"summary":"Get an OAuth app","description":"Get an OAuth app | Get an OAuth 2.0 client application registered with Mattermost.\n##### Permissions\nIf app creator, must have `mange_oauth` permission otherwise `manage_system_wide_oauth` permission is required. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]},"put":{"tags":["OAuth"],"parameters":[{"name":"app_id","in":"path","description":"Application client id","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UpdateOAuthApp","api_endpoint":"https://{site_url}/api/v4/oauth/apps/{app_id}"},"summary":"Update an OAuth app","description":"Update an OAuth app | Update an OAuth 2.0 client application based on OAuth struct.\n##### Permissions\nIf app creator, must have `mange_oauth` permission otherwise `manage_system_wide_oauth` permission is required. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"callback_urls":{"type":"array","description":"A list of callback URLs for the appliation","required":true,"items":{"type":"string"}},"description":{"type":"string","description":"A short description of the application","required":true},"homepage":{"type":"string","description":"A link to the website of the application","required":true},"icon_url":{"type":"string","description":"A URL to an icon to display with the application"},"id":{"type":"string","description":"The id of the client application","required":true},"is_trusted":{"type":"boolean","description":"Set this to `true` to skip asking users for permission. It will be set to false if value is not provided.","enum":[true,false]},"name":{"type":"string","description":"The name of the client application","required":true}}},"example":{"callback_urls":[["string"]],"description":["string"],"homepage":["string"],"icon_url":["string"],"id":["string"],"is_trusted":[false],"name":["string"]}}}}},"delete":{"tags":["OAuth"],"parameters":[{"name":"app_id","in":"path","description":"Application client id","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#DeleteOAuthApp","api_endpoint":"https://{site_url}/api/v4/oauth/apps/{app_id}"},"summary":"Delete an OAuth app","description":"Delete an OAuth app | Delete and unregister an OAuth 2.0 client application \n##### Permissions\nIf app creator, must have `mange_oauth` permission otherwise `manage_system_wide_oauth` permission is required. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/oauth/apps/{app_id}/regen_secret":{"post":{"tags":["OAuth"],"parameters":[{"name":"app_id","in":"path","description":"Application client id","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#RegenerateOAuthAppSecret","api_endpoint":"https://{site_url}/api/v4/oauth/apps/{app_id}/regen_secret"},"summary":"Regenerate OAuth app secret","description":"Regenerate OAuth app secret | Regenerate the client secret for an OAuth 2.0 client application registered with Mattermost.\n##### Permissions\nIf app creator, must have `mange_oauth` permission otherwise `manage_system_wide_oauth` permission is required. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/oauth/apps/{app_id}/info":{"get":{"tags":["OAuth"],"parameters":[{"name":"app_id","in":"path","description":"Application client id","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetOAuthAppInfo","api_endpoint":"https://{site_url}/api/v4/oauth/apps/{app_id}/info"},"summary":"Get info on an OAuth app","description":"Get info on an OAuth app | Get public information about an OAuth 2.0 client application registered with Mattermost. The application's client secret will be blanked out.\n##### Permissions\nMust be authenticated. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/.well-known/oauth-authorization-server":{"get":{"tags":["OAuth"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetAuthorizationServerMetadata","api_endpoint":"https://{site_url}/.well-known/oauth-authorization-server"},"summary":"Get OAuth 2.0 Authorization Server Metadata","description":"Get OAuth 2.0 Authorization Server Metadata | Get the OAuth 2.0 Authorization Server Metadata as defined in RFC 8414. This endpoint provides metadata about the OAuth 2.0 authorization server's configuration, including supported endpoints, grant types, response types, and authentication methods.\n##### Permissions\nNo authentication required. This endpoint is publicly accessible to allow OAuth clients to discover the authorization server's configuration.\n##### Notes\n- This endpoint implements RFC 8414 (OAuth 2.0 Authorization Server Metadata) - The metadata is dynamically generated based on the server's configuration - OAuth Service Provider must be enabled in system settings for this endpoint to be available | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/oauth/apps/register":{"post":{"tags":["OAuth"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#RegisterOAuthClient","api_endpoint":"https://{site_url}/api/v4/oauth/apps/register"},"summary":"Register OAuth client using Dynamic Client Registration","description":"Register OAuth client using Dynamic Client Registration | Register an OAuth 2.0 client application using Dynamic Client Registration (DCR) as defined in RFC 7591. This endpoint allows clients to register without requiring administrative approval.\n##### Permissions\nNo authentication required. This endpoint implements the OAuth 2.0 Dynamic Client Registration Protocol and can be called by unauthenticated clients.\n##### Notes\n- This endpoint follows RFC 7591 (OAuth 2.0 Dynamic Client Registration Protocol) - The `client_uri` field, when provided, will be mapped to the OAuth app's homepage - All registered clients are marked as dynamically registered - Dynamic client registration must be enabled in system settings | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"client_name":{"type":"string","description":"Human-readable string name of the client to be presented to the end-user during authorization"},"client_uri":{"type":"string","description":"URL string of a web page providing information about the client"},"redirect_uris":{"type":"array","description":"Array of redirection URI strings for use in redirect-based flows such as the authorization code and implicit flows","required":true,"items":{"type":"string"}}}},"example":{"client_name":["string"],"client_uri":["string"],"redirect_uris":[["string"]]}}}}}},"/users/{user_id}/oauth/apps/authorized":{"get":{"tags":["OAuth"],"parameters":[{"name":"user_id","in":"path","description":"User GUID","required":true,"schema":{"type":"string","example":""}},{"name":"page","in":"query","description":"The page to select.","required":false,"schema":{"type":"number","example":""}},{"name":"per_page","in":"query","description":"The number of apps per page.","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetAuthorizedOAuthAppsForUser","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/oauth/apps/authorized"},"summary":"Get authorized OAuth apps","description":"Get authorized OAuth apps | Get a page of OAuth 2.0 client applications authorized to access a user's account.\n##### Permissions\nMust be authenticated as the user or have `edit_other_users` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/elasticsearch/test":{"post":{"tags":["Elasticsearch"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#TestElasticsearch","api_endpoint":"https://{site_url}/api/v4/elasticsearch/test"},"summary":"Test Elasticsearch configuration","description":"Test Elasticsearch configuration | Test the current Elasticsearch configuration to see if the Elasticsearch server can be contacted successfully.\nOptionally provide a configuration in the request body to test. If no valid configuration is present in the\nrequest body the current server configuration will be tested.\n__Minimum server version__: 4.1\n##### Permissions\nMust have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/elasticsearch/purge_indexes":{"post":{"tags":["Elasticsearch"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#PurgeElasticsearchIndexes","api_endpoint":"https://{site_url}/api/v4/elasticsearch/purge_indexes"},"summary":"Purge all Elasticsearch indexes","description":"Purge all Elasticsearch indexes | Deletes all Elasticsearch indexes and their contents. After calling this endpoint, it is\nnecessary to schedule a new Elasticsearch indexing job to repopulate the indexes.\n__Minimum server version__: 4.1\n##### Permissions\nMust have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/data_retention/policy":{"get":{"tags":["Data Retention"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetDataRetentionPolicy","api_endpoint":"https://{site_url}/api/v4/data_retention/policy"},"summary":"Get the global data retention policy","description":"Get the global data retention policy | Gets the current global data retention policy details from the server,\nincluding what data should be purged and the cutoff times for each data\ntype that should be purged.\n__Minimum server version__: 4.3\n##### Permissions\nRequires an active session but no other permissions.\n##### License\nRequires an E20 license. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/data_retention/policies_count":{"get":{"tags":["Data Retention"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetDataRetentionPoliciesCount","api_endpoint":"https://{site_url}/api/v4/data_retention/policies_count"},"summary":"Get the number of granular data retention policies","description":"Get the number of granular data retention policies | Gets the number of granular (i.e. team or channel-specific) data retention\npolicies from the server.\n__Minimum server version__: 5.35\n##### Permissions\nMust have the `sysconsole_read_compliance_data_retention` permission.\n##### License\nRequires an E20 license. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/data_retention/policies":{"get":{"tags":["Data Retention"],"parameters":[{"name":"page","in":"query","description":"The page to select.","required":false,"schema":{"type":"number","example":""}},{"name":"per_page","in":"query","description":"The number of policies per page.","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetDataRetentionPolicies","api_endpoint":"https://{site_url}/api/v4/data_retention/policies"},"summary":"Get the granular data retention policies","description":"Get the granular data retention policies | Gets details about the granular (i.e. team or channel-specific) data retention\npolicies from the server.\n__Minimum server version__: 5.35\n##### Permissions\nMust have the `sysconsole_read_compliance_data_retention` permission.\n##### License\nRequires an E20 license. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]},"post":{"tags":["Data Retention"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#CreateDataRetentionPolicy","api_endpoint":"https://{site_url}/api/v4/data_retention/policies"},"summary":"Create a new granular data retention policy","description":"Create a new granular data retention policy | Creates a new granular data retention policy with the specified display\nname and post duration.\n__Minimum server version__: 5.35\n##### Permissions\nMust have the `sysconsole_write_compliance_data_retention` permission.\n##### License\nRequires an E20 license. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"display_name":{"type":"string","description":"The display name for this retention policy.","required":true},"post_duration":{"type":"number","description":"The number of days a message will be retained before being deleted by this policy. If this value is less than 0, the policy has infinite retention (i.e. messages are never deleted).","required":true}}},"example":{"display_name":["string"],"post_duration":[0]}}}}}},"/data_retention/policies/{policy_id}":{"get":{"tags":["Data Retention"],"parameters":[{"name":"policy_id","in":"path","description":"The ID of the granular retention policy.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetDataRetentionPolicyByID","api_endpoint":"https://{site_url}/api/v4/data_retention/policies/{policy_id}"},"summary":"Get a granular data retention policy","description":"Get a granular data retention policy | Gets details about a granular data retention policies by ID.\n__Minimum server version__: 5.35\n##### Permissions\nMust have the `sysconsole_read_compliance_data_retention` permission.\n##### License\nRequires an E20 license. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]},"patch":{"tags":["Data Retention"],"parameters":[{"name":"policy_id","in":"path","description":"The ID of the granular retention policy.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#PatchDataRetentionPolicy","api_endpoint":"https://{site_url}/api/v4/data_retention/policies/{policy_id}"},"summary":"Patch a granular data retention policy","description":"Patch a granular data retention policy | Patches (i.e. replaces the fields of) a granular data retention policy.\nIf any fields are omitted, they will not be changed.\n__Minimum server version__: 5.35\n##### Permissions\nMust have the `sysconsole_write_compliance_data_retention` permission.\n##### License\nRequires an E20 license. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"display_name":{"type":"string","description":"The display name for this retention policy."},"post_duration":{"type":"number","description":"The number of days a message will be retained before being deleted by this policy. If this value is less than 0, the policy has infinite retention (i.e. messages are never deleted)."}}},"example":{"display_name":["string"],"post_duration":[0]}}}}},"delete":{"tags":["Data Retention"],"parameters":[{"name":"policy_id","in":"path","description":"The ID of the granular retention policy.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#DeleteDataRetentionPolicy","api_endpoint":"https://{site_url}/api/v4/data_retention/policies/{policy_id}"},"summary":"Delete a granular data retention policy","description":"Delete a granular data retention policy | Deletes a granular data retention policy.\n__Minimum server version__: 5.35\n##### Permissions\nMust have the `sysconsole_write_compliance_data_retention` permission.\n##### License\nRequires an E20 license. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/data_retention/policies/{policy_id}/teams":{"get":{"tags":["Data Retention"],"parameters":[{"name":"policy_id","in":"path","description":"The ID of the granular retention policy.","required":true,"schema":{"type":"string","example":""}},{"name":"page","in":"query","description":"The page to select.","required":false,"schema":{"type":"number","example":""}},{"name":"per_page","in":"query","description":"The number of teams per page.","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetTeamsForRetentionPolicy","api_endpoint":"https://{site_url}/api/v4/data_retention/policies/{policy_id}/teams"},"summary":"Get the teams for a granular data retention policy","description":"Get the teams for a granular data retention policy | Gets the teams to which a granular data retention policy is applied.\n__Minimum server version__: 5.35\n##### Permissions\nMust have the `sysconsole_read_compliance_data_retention` permission.\n##### License\nRequires an E20 license. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]},"post":{"tags":["Data Retention"],"parameters":[{"name":"policy_id","in":"path","description":"The ID of the granular retention policy.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#AddTeamsToRetentionPolicy","api_endpoint":"https://{site_url}/api/v4/data_retention/policies/{policy_id}/teams"},"summary":"Add teams to a granular data retention policy","description":"Add teams to a granular data retention policy | Adds teams to a granular data retention policy.\n __Minimum server version__: 5.35\n##### Permissions\nMust have the `sysconsole_write_compliance_data_retention` permission.\n##### License\nRequires an E20 license. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"body":{"type":"array","description":"body (request body parameter from the official API reference)","items":{"type":"string"}}}},"example":{"body":[["string"]]}}}}},"delete":{"tags":["Data Retention"],"parameters":[{"name":"policy_id","in":"path","description":"The ID of the granular retention policy.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#RemoveTeamsFromRetentionPolicy","api_endpoint":"https://{site_url}/api/v4/data_retention/policies/{policy_id}/teams"},"summary":"Delete teams from a granular data retention policy","description":"Delete teams from a granular data retention policy | Delete teams from a granular data retention policy.\n __Minimum server version__: 5.35\n##### Permissions\nMust have the `sysconsole_write_compliance_data_retention` permission.\n##### License\nRequires an E20 license. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"body":{"type":"array","description":"body (request body parameter from the official API reference)","items":{"type":"string"}}}},"example":{"body":[["string"]]}}}}}},"/data_retention/policies/{policy_id}/teams/search":{"post":{"tags":["Data Retention"],"parameters":[{"name":"policy_id","in":"path","description":"The ID of the granular retention policy.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#SearchTeamsForRetentionPolicy","api_endpoint":"https://{site_url}/api/v4/data_retention/policies/{policy_id}/teams/search"},"summary":"Search for the teams in a granular data retention policy","description":"Search for the teams in a granular data retention policy | Searches for the teams to which a granular data retention policy is applied.\n__Minimum server version__: 5.35\n##### Permissions\nMust have the `sysconsole_read_compliance_data_retention` permission.\n##### License\nRequires an E20 license. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"term":{"type":"string","description":"The search term to match against the name or display name of teams"}}},"example":{"term":["string"]}}}}}},"/data_retention/policies/{policy_id}/channels":{"get":{"tags":["Data Retention"],"parameters":[{"name":"policy_id","in":"path","description":"The ID of the granular retention policy.","required":true,"schema":{"type":"string","example":""}},{"name":"page","in":"query","description":"The page to select.","required":false,"schema":{"type":"number","example":""}},{"name":"per_page","in":"query","description":"The number of channels per page.","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetChannelsForRetentionPolicy","api_endpoint":"https://{site_url}/api/v4/data_retention/policies/{policy_id}/channels"},"summary":"Get the channels for a granular data retention policy","description":"Get the channels for a granular data retention policy | Gets the channels to which a granular data retention policy is applied.\n__Minimum server version__: 5.35\n##### Permissions\nMust have the `sysconsole_read_compliance_data_retention` permission.\n##### License\nRequires an E20 license. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]},"post":{"tags":["Data Retention"],"parameters":[{"name":"policy_id","in":"path","description":"The ID of the granular retention policy.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#AddChannelsToRetentionPolicy","api_endpoint":"https://{site_url}/api/v4/data_retention/policies/{policy_id}/channels"},"summary":"Add channels to a granular data retention policy","description":"Add channels to a granular data retention policy | Adds channels to a granular data retention policy.\n __Minimum server version__: 5.35\n##### Permissions\nMust have the `sysconsole_write_compliance_data_retention` permission.\n##### License\nRequires an E20 license. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"body":{"type":"array","description":"body (request body parameter from the official API reference)","items":{"type":"string"}}}},"example":{"body":[["string"]]}}}}},"delete":{"tags":["Data Retention"],"parameters":[{"name":"policy_id","in":"path","description":"The ID of the granular retention policy.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#RemoveChannelsFromRetentionPolicy","api_endpoint":"https://{site_url}/api/v4/data_retention/policies/{policy_id}/channels"},"summary":"Delete channels from a granular data retention policy","description":"Delete channels from a granular data retention policy | Delete channels from a granular data retention policy.\n __Minimum server version__: 5.35\n##### Permissions\nMust have the `sysconsole_write_compliance_data_retention` permission.\n##### License\nRequires an E20 license. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"body":{"type":"array","description":"body (request body parameter from the official API reference)","items":{"type":"string"}}}},"example":{"body":[["string"]]}}}}}},"/data_retention/policies/{policy_id}/channels/search":{"post":{"tags":["Data Retention"],"parameters":[{"name":"policy_id","in":"path","description":"The ID of the granular retention policy.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#SearchChannelsForRetentionPolicy","api_endpoint":"https://{site_url}/api/v4/data_retention/policies/{policy_id}/channels/search"},"summary":"Search for the channels in a granular data retention policy","description":"Search for the channels in a granular data retention policy | Searches for the channels to which a granular data retention policy is applied.\n__Minimum server version__: 5.35\n##### Permissions\nMust have the `sysconsole_read_compliance_data_retention` permission.\n##### License\nRequires an E20 license. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"deleted":{"type":"boolean","description":"Filters results to only return deleted / archived channels","enum":[true,false]},"private":{"type":"boolean","description":"Filters results to only return Private channels, can be used in conjunction with `public` to return both `private` and `public` channels","enum":[true,false]},"public":{"type":"boolean","description":"Filters results to only return Public / Open channels, can be used in conjunction with `private` to return both `public` and `private` channels","enum":[true,false]},"team_ids":{"type":"array","description":"Filters results to channels belonging to the given team ids","items":{"type":"string"}},"term":{"type":"string","description":"The string to search in the channel name, display name, and purpose."}}},"example":{"deleted":[false],"private":[false],"public":[false],"team_ids":[["string"]],"term":["string"]}}}}}},"/plugins":{"post":{"tags":["Plugins"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UploadPlugin","api_endpoint":"https://{site_url}/api/v4/plugins"},"summary":"Upload plugin","description":"Upload plugin | Upload a plugin that is contained within a compressed .tar.gz file. Plugins and plugin uploads must be enabled in the server's config settings.\n##### Permissions\nMust have `manage_system` permission.\n__Minimum server version__: 4.4 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"force":{"type":"string","description":"Set to 'true' to overwrite a previously installed plugin with the same ID, if any"},"plugin":{"type":"string","description":"The plugin image to be uploaded","required":true}}},"example":{"force":["string"],"plugin":["string"]}}}}},"get":{"tags":["Plugins"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetPlugins","api_endpoint":"https://{site_url}/api/v4/plugins"},"summary":"Get plugins","description":"Get plugins | Get a list of inactive and a list of active plugin manifests. Plugins must be enabled in the server's config settings.\n##### Permissions\nMust have `manage_system` permission.\n__Minimum server version__: 4.4 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/plugins/install_from_url":{"post":{"tags":["Plugins"],"parameters":[{"name":"force","in":"query","description":"Set to 'true' to overwrite a previously installed plugin with the same ID, if any","required":false,"schema":{"type":"string","example":""}},{"name":"plugin_download_url","in":"query","description":"URL used to download the plugin","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#InstallPluginFromUrl","api_endpoint":"https://{site_url}/api/v4/plugins/install_from_url"},"summary":"Install plugin from url","description":"Install plugin from url | Supply a URL to a plugin compressed in a .tar.gz file. Plugins must be enabled in the server's config settings.\n##### Permissions\nMust have `manage_system` permission.\n__Minimum server version__: 5.14 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/plugins/{plugin_id}":{"delete":{"tags":["Plugins"],"parameters":[{"name":"plugin_id","in":"path","description":"Id of the plugin to be removed","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#RemovePlugin","api_endpoint":"https://{site_url}/api/v4/plugins/{plugin_id}"},"summary":"Remove plugin","description":"Remove plugin | Remove the plugin with the provided ID from the server. All plugin files are deleted. Plugins must be enabled in the server's config settings.\n##### Permissions\nMust have `manage_system` permission.\n__Minimum server version__: 4.4 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/plugins/{plugin_id}/enable":{"post":{"tags":["Plugins"],"parameters":[{"name":"plugin_id","in":"path","description":"Id of the plugin to be enabled","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#EnablePlugin","api_endpoint":"https://{site_url}/api/v4/plugins/{plugin_id}/enable"},"summary":"Enable plugin","description":"Enable plugin | Enable a previously uploaded plugin. Plugins must be enabled in the server's config settings.\n##### Permissions\nMust have `manage_system` permission.\n__Minimum server version__: 4.4 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/plugins/{plugin_id}/disable":{"post":{"tags":["Plugins"],"parameters":[{"name":"plugin_id","in":"path","description":"Id of the plugin to be disabled","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#DisablePlugin","api_endpoint":"https://{site_url}/api/v4/plugins/{plugin_id}/disable"},"summary":"Disable plugin","description":"Disable plugin | Disable a previously enabled plugin. Plugins must be enabled in the server's config settings.\n##### Permissions\nMust have `manage_system` permission.\n__Minimum server version__: 4.4 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/plugins/webapp":{"get":{"tags":["Plugins"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetWebappPlugins","api_endpoint":"https://{site_url}/api/v4/plugins/webapp"},"summary":"Get webapp plugins","description":"Get webapp plugins | Get a list of web app plugins installed and activated on the server.\n##### Permissions\nNo permissions required.\n__Minimum server version__: 4.4 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/plugins/statuses":{"get":{"tags":["Plugins"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetPluginStatuses","api_endpoint":"https://{site_url}/api/v4/plugins/statuses"},"summary":"Get plugins status","description":"Get plugins status | Returns the status for plugins installed anywhere in the cluster\n##### Permissions\nNo permissions required.\n__Minimum server version__: 4.4 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/plugins/marketplace":{"post":{"tags":["Plugins"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#InstallMarketplacePlugin","api_endpoint":"https://{site_url}/api/v4/plugins/marketplace"},"summary":"Installs a marketplace plugin","description":"Installs a marketplace plugin | Installs a plugin listed in the marketplace server.\n##### Permissions\nMust have `manage_system` permission.\n__Minimum server version__: 5.16 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"id":{"type":"string","description":"The ID of the plugin to install.","required":true},"version":{"type":"string","description":"Optional plugin version. If omitted, the latest compatible version is installed."}}},"example":{"id":["string"],"version":["string"]}}}}},"get":{"tags":["Plugins"],"parameters":[{"name":"filter","in":"query","description":"Set to filter plugins by ID, name, or description.","required":false,"schema":{"type":"string","example":""}},{"name":"local_only","in":"query","description":"Set true to only retrieve local plugins.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"page","in":"query","description":"Page number to be fetched. (not yet implemented)","required":false,"schema":{"type":"number","example":""}},{"name":"per_page","in":"query","description":"Number of item per page. (not yet implemented)","required":false,"schema":{"type":"number","example":""}},{"name":"server_version","in":"query","description":"Set to filter minimum plugin server version. (not yet implemented)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetMarketplacePlugins","api_endpoint":"https://{site_url}/api/v4/plugins/marketplace"},"summary":"Gets all the marketplace plugins","description":"Gets all the marketplace plugins | Gets all plugins from the marketplace server, merging data from locally installed plugins as well as prepackaged plugins shipped with the server.\n##### Permissions\nMust have `manage_system` permission.\n__Minimum server version__: 5.16 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/plugins/marketplace/first_admin_visit":{"get":{"tags":["Plugins"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetMarketplaceVisitedByAdmin","api_endpoint":"https://{site_url}/api/v4/plugins/marketplace/first_admin_visit"},"summary":"Get if the Plugin Marketplace has been visited by at least an admin.","description":"Get if the Plugin Marketplace has been visited by at least an admin. | Retrieves the status that specifies that at least one System Admin has visited the in-product Plugin Marketplace.\n__Minimum server version: 5.33__\n##### Permissions\nMust have `manage_system` permissions. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]},"post":{"tags":["System"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UpdateMarketplaceVisitedByAdmin","api_endpoint":"https://{site_url}/api/v4/plugins/marketplace/first_admin_visit"},"summary":"Stores that the Plugin Marketplace has been visited by at least an admin.","description":"Stores that the Plugin Marketplace has been visited by at least an admin. | Stores the system-level status that specifies that at least an admin has visited the in-product Plugin Marketplace.\n__Minimum server version: 5.33__\n##### Permissions\nMust have `manage_system` permissions. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"name":{"type":"string","description":"System property name"},"value":{"type":"string","description":"System property value"}}},"example":{"name":["string"],"value":["string"]}}}}}},"/plugins/reattach":{"post":{"tags":["Plugins"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#ReattachPlugin","api_endpoint":"https://{site_url}/api/v4/plugins/reattach"},"summary":"Reattach a plugin process","description":"Reattach a plugin process | Reattaches the server to an already running plugin process.\nThis endpoint is only exposed over a local socket.\n##### Permissions\nMust have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"Manifest":{"type":"object","description":"body.Manifest (object field from the documented request schema)","required":true,"properties":{"backend":{"type":"object","description":"Deprecated in Mattermost 5.2 release."},"description":{"type":"string","description":"Description of what the plugin is and does."},"id":{"type":"string","description":"Globally unique identifier that represents the plugin."},"min_server_version":{"type":"string","description":"The minimum Mattermost server version required for the plugin.\nAvailable as server version 5.6."},"name":{"type":"string","description":"Name of the plugin."},"server":{"type":"object","description":"body.Manifest.server (object field from the documented request schema)"},"settings_schema":{"type":"object","description":"Settings schema used to define the System Console UI for the plugin."},"version":{"type":"string","description":"Version number of the plugin."},"webapp":{"type":"object","description":"body.Manifest.webapp (object field from the documented request schema)"}}},"PluginReattachConfig":{"type":"object","description":"body.PluginReattachConfig (object field from the documented request schema)","required":true,"properties":{"Addr":{"type":"object","description":"body.PluginReattachConfig.Addr (object field from the documented request schema)"},"Pid":{"type":"number","description":"body.PluginReattachConfig.Pid (number field from the documented request schema)"},"Protocol":{"type":"string","description":"body.PluginReattachConfig.Protocol (string field from the documented request schema)"},"ProtocolVersion":{"type":"number","description":"body.PluginReattachConfig.ProtocolVersion (number field from the documented request schema)"},"Test":{"type":"boolean","description":"body.PluginReattachConfig.Test (boolean field from the documented request schema)","enum":[true,false]}}}}},"example":{"Manifest":[{"backend":{"executable":"string"},"description":"string","id":"string","min_server_version":"string","name":"string","server":{"executable":"string","executables":{"darwin-amd64":"string","linux-amd64":"string","windows-amd64":"string"}},"settings_schema":{},"version":"string","webapp":{"bundle_path":"string"}}],"PluginReattachConfig":[{"Addr":{"Name":"string","Net":"string"},"Pid":0,"Protocol":"string","ProtocolVersion":0,"Test":false}]}}}}}},"/plugins/{plugin_id}/detach":{"post":{"tags":["Plugins"],"parameters":[{"name":"plugin_id","in":"path","description":"The ID of the plugin to detach.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#DetachPlugin","api_endpoint":"https://{site_url}/api/v4/plugins/{plugin_id}/detach"},"summary":"Detach a reattached plugin process","description":"Detach a reattached plugin process | Detaches a previously reattached plugin from the server.\nThis endpoint is only exposed over a local socket.\n##### Permissions\nMust have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/roles":{"get":{"tags":["Roles"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetAllRoles","api_endpoint":"https://{site_url}/api/v4/roles"},"summary":"Get a list of all the roles","description":"Get a list of all the roles | ##### Permissions\n`manage_system` permission is required.\n__Minimum server version__: 5.33 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/roles/{role_id}":{"get":{"tags":["Roles"],"parameters":[{"name":"role_id","in":"path","description":"Role GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetRole","api_endpoint":"https://{site_url}/api/v4/roles/{role_id}"},"summary":"Get a role","description":"Get a role | Get a role from the provided role id.\n##### Permissions\nRequires an active session but no other permissions.\n__Minimum server version__: 4.9 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/roles/name/{role_name}":{"get":{"tags":["Roles"],"parameters":[{"name":"role_name","in":"path","description":"Role Name","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetRoleByName","api_endpoint":"https://{site_url}/api/v4/roles/name/{role_name}"},"summary":"Get a role","description":"Get a role | Get a role from the provided role name.\n##### Permissions\nRequires an active session but no other permissions.\n__Minimum server version__: 4.9 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/roles/{role_id}/patch":{"put":{"tags":["Roles"],"parameters":[{"name":"role_id","in":"path","description":"Role GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#PatchRole","api_endpoint":"https://{site_url}/api/v4/roles/{role_id}/patch"},"summary":"Patch a role","description":"Patch a role | Partially update a role by providing only the fields you want to update. Omitted fields will not be updated. The fields that can be updated are defined in the request body, all other provided fields will be ignored.\n##### Permissions\nMust have `sysconsole_write_user_management_permissions` or `manage_system` permission. When updating the role of a system admin, the `manage_system` permission is mandatory.\n__Minimum server version__: 4.9 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"permissions":{"type":"array","description":"The permissions the role should grant.","items":{"type":"string"}}}},"example":{"permissions":[["string"]]}}}}}},"/roles/names":{"post":{"tags":["Roles"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetRolesByNames","api_endpoint":"https://{site_url}/api/v4/roles/names"},"summary":"Get a list of roles by name","description":"Get a list of roles by name | Get a list of roles from their names.\n##### Permissions\nRequires an active session but no other permissions.\n__Minimum server version__: 4.9 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"body":{"type":"array","description":"body (request body parameter from the official API reference)","items":{"type":"string"}}}},"example":{"body":[["string"]]}}}}}},"/schemes":{"get":{"tags":["Schemes"],"parameters":[{"name":"page","in":"query","description":"The page to select.","required":false,"schema":{"type":"number","example":""}},{"name":"per_page","in":"query","description":"The number of schemes per page.","required":false,"schema":{"type":"number","example":""}},{"name":"scope","in":"query","description":"Limit the results returned to the provided scope, either `team` or `channel`.","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetSchemes","api_endpoint":"https://{site_url}/api/v4/schemes"},"summary":"Get the schemes.","description":"Get the schemes. | Get a page of schemes. Use the query parameters to modify the behaviour of this endpoint.\n##### Permissions\nMust have `manage_system` permission.\n__Minimum server version__: 5.0 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]},"post":{"tags":["Schemes"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#CreateScheme","api_endpoint":"https://{site_url}/api/v4/schemes"},"summary":"Create a scheme","description":"Create a scheme | Create a new scheme.\n##### Permissions\nMust have `manage_system` permission.\n__Minimum server version__: 5.0 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"description":{"type":"string","description":"The description of the scheme"},"display_name":{"type":"string","description":"The display name of the scheme","required":true},"name":{"type":"string","description":"The name of the scheme"},"scope":{"type":"string","description":"The scope of the scheme (\"team\" or \"channel\")","required":true}}},"example":{"description":["string"],"display_name":["string"],"name":["string"],"scope":["string"]}}}}}},"/schemes/{scheme_id}":{"get":{"tags":["Schemes"],"parameters":[{"name":"scheme_id","in":"path","description":"Scheme GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetScheme","api_endpoint":"https://{site_url}/api/v4/schemes/{scheme_id}"},"summary":"Get a scheme","description":"Get a scheme | Get a scheme from the provided scheme id.\n##### Permissions\nMust have `manage_system` permission.\n__Minimum server version__: 5.0 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]},"delete":{"tags":["Schemes"],"parameters":[{"name":"scheme_id","in":"path","description":"ID of the scheme to delete","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#DeleteScheme","api_endpoint":"https://{site_url}/api/v4/schemes/{scheme_id}"},"summary":"Delete a scheme","description":"Delete a scheme | Soft deletes a scheme, by marking the scheme as deleted in the database.\n##### Permissions\nMust have `manage_system` permission.\n__Minimum server version__: 5.0 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/schemes/{scheme_id}/patch":{"put":{"tags":["Schemes"],"parameters":[{"name":"scheme_id","in":"path","description":"Scheme GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#PatchScheme","api_endpoint":"https://{site_url}/api/v4/schemes/{scheme_id}/patch"},"summary":"Patch a scheme","description":"Patch a scheme | Partially update a scheme by providing only the fields you want to update. Omitted fields will not be updated. The fields that can be updated are defined in the request body, all other provided fields will be ignored.\n##### Permissions\n`manage_system` permission is required.\n__Minimum server version__: 5.0 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"description":{"type":"string","description":"The description of the scheme"},"name":{"type":"string","description":"The human readable name of the scheme"}}},"example":{"description":["string"],"name":["string"]}}}}}},"/schemes/{scheme_id}/teams":{"get":{"tags":["Schemes"],"parameters":[{"name":"scheme_id","in":"path","description":"Scheme GUID","required":true,"schema":{"type":"string","example":""}},{"name":"page","in":"query","description":"The page to select.","required":false,"schema":{"type":"number","example":""}},{"name":"per_page","in":"query","description":"The number of teams per page.","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetTeamsForScheme","api_endpoint":"https://{site_url}/api/v4/schemes/{scheme_id}/teams"},"summary":"Get a page of teams which use this scheme.","description":"Get a page of teams which use this scheme. | Get a page of teams which use this scheme. The provided Scheme ID should be for a Team-scoped Scheme.\nUse the query parameters to modify the behaviour of this endpoint.\n##### Permissions\n`manage_system` permission is required.\n__Minimum server version__: 5.0 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/schemes/{scheme_id}/channels":{"get":{"tags":["Schemes"],"parameters":[{"name":"scheme_id","in":"path","description":"Scheme GUID","required":true,"schema":{"type":"string","example":""}},{"name":"page","in":"query","description":"The page to select.","required":false,"schema":{"type":"number","example":""}},{"name":"per_page","in":"query","description":"The number of channels per page.","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetChannelsForScheme","api_endpoint":"https://{site_url}/api/v4/schemes/{scheme_id}/channels"},"summary":"Get a page of channels which use this scheme.","description":"Get a page of channels which use this scheme. | Get a page of channels which use this scheme. The provided Scheme ID should be for a Channel-scoped Scheme.\nUse the query parameters to modify the behaviour of this endpoint.\n##### Permissions\n`manage_system` permission is required.\n__Minimum server version__: 5.0 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/terms_of_service":{"get":{"tags":["Terms Of Service"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetTermsOfService","api_endpoint":"https://{site_url}/api/v4/terms_of_service"},"summary":"Get latest terms of service","description":"Get latest terms of service | Get latest terms of service from the server\n__Minimum server version__: 5.4\n##### Permissions\nMust be authenticated. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]},"post":{"tags":["Terms Of Service"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#CreateTermsOfService","api_endpoint":"https://{site_url}/api/v4/terms_of_service"},"summary":"Creates a new terms of service","description":"Creates a new terms of service | Creates new terms of service\n__Minimum server version__: 5.4\n##### Permissions\nMust have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/remotecluster":{"get":{"tags":["Remote Clusters"],"parameters":[{"name":"exclude_offline","in":"query","description":"Exclude offline remote clusters","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"exclude_plugins","in":"query","description":"Select only remote clusters that don't belong to a plugin","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"in_channel","in":"query","description":"Select remote clusters in channel","required":false,"schema":{"type":"string","example":""}},{"name":"include_deleted","in":"query","description":"Include those remote clusters that have been deleted","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"not_in_channel","in":"query","description":"Select remote clusters not in this channel","required":false,"schema":{"type":"string","example":""}},{"name":"only_confirmed","in":"query","description":"Select only remote clusters already confirmed","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"only_plugins","in":"query","description":"Select only remote clusters that belong to a plugin","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"page","in":"query","description":"The page to select","required":false,"schema":{"type":"number","example":""}},{"name":"per_page","in":"query","description":"The number of remote clusters per page","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetRemoteClusters","api_endpoint":"https://{site_url}/api/v4/remotecluster"},"summary":"Get a list of remote clusters.","description":"Get a list of remote clusters. | Get a list of remote clusters.\n##### Permissions\n`manage_secure_connections` or `manage_shared_channels` | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]},"post":{"tags":["Remote Clusters"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#CreateRemoteCluster","api_endpoint":"https://{site_url}/api/v4/remotecluster"},"summary":"Create a new remote cluster.","description":"Create a new remote cluster. | Create a new remote cluster and generate an invite code.\n##### Permissions\n`manage_secure_connections` | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"default_team_id":{"type":"string","description":"body.default_team_id (string field from the documented request schema)","required":true},"display_name":{"type":"string","description":"body.display_name (string field from the documented request schema)"},"name":{"type":"string","description":"body.name (string field from the documented request schema)","required":true},"password":{"type":"string","description":"The password to use in the invite code. If empty,\nthe server will generate one and it will be part\nof the response"}}},"example":{"default_team_id":["string"],"display_name":["string"],"name":["string"],"password":["string"]}}}}}},"/remotecluster/{remote_id}":{"get":{"tags":["Remote Clusters"],"parameters":[{"name":"remote_id","in":"path","description":"Remote Cluster GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetRemoteCluster","api_endpoint":"https://{site_url}/api/v4/remotecluster/{remote_id}"},"summary":"Get a remote cluster.","description":"Get a remote cluster. | Get the Remote Cluster details from the provided id string.\n##### Permissions\n`manage_secure_connections` or `manage_shared_channels` | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]},"patch":{"tags":["Remote Clusters"],"parameters":[{"name":"remote_id","in":"path","description":"Remote Cluster GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#PatchRemoteCluster","api_endpoint":"https://{site_url}/api/v4/remotecluster/{remote_id}"},"summary":"Patch a remote cluster.","description":"Patch a remote cluster. | Partially update a Remote Cluster by providing only the fields you want to update. Ommited fields will not be updated.\n##### Permissions\n`manage_secure_connections` | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"default_team_id":{"type":"string","description":"The team where channels from invites are created"},"display_name":{"type":"string","description":"body.display_name (string field from the documented request schema)"}}},"example":{"default_team_id":["string"],"display_name":["string"]}}}}},"delete":{"tags":["Remote Clusters"],"parameters":[{"name":"remote_id","in":"path","description":"Remote Cluster GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#DeleteRemoteCluster","api_endpoint":"https://{site_url}/api/v4/remotecluster/{remote_id}"},"summary":"Delete a remote cluster.","description":"Delete a remote cluster. | Deletes a Remote Cluster.\n##### Permissions\n`manage_secure_connections` | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/remotecluster/{remote_id}/generate_invite":{"post":{"tags":["Remote Clusters"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GenerateRemoteClusterInvite","api_endpoint":"https://{site_url}/api/v4/remotecluster/{remote_id}/generate_invite"},"summary":"Generate invite code.","description":"Generate invite code. | Generates an invite code for a given remote cluster.\n##### Permissions\n`manage_secure_connections` | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"password":{"type":"string","description":"The password to encrypt the invite code with.","required":true}}},"example":{"password":["string"]}}}}}},"/remotecluster/accept_invite":{"post":{"tags":["Remote Clusters"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#AcceptRemoteClusterInvite","api_endpoint":"https://{site_url}/api/v4/remotecluster/accept_invite"},"summary":"Accept a remote cluster invite code.","description":"Accept a remote cluster invite code. | Accepts a remote cluster invite code.\n##### Permissions\n`manage_secure_connections` | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"default_team_id":{"type":"string","description":"body.default_team_id (string field from the documented request schema)","required":true},"display_name":{"type":"string","description":"body.display_name (string field from the documented request schema)"},"invite":{"type":"string","description":"body.invite (string field from the documented request schema)","required":true},"name":{"type":"string","description":"body.name (string field from the documented request schema)","required":true},"password":{"type":"string","description":"The password to decrypt the invite code.","required":true}}},"example":{"default_team_id":["string"],"display_name":["string"],"invite":["string"],"name":["string"],"password":["string"]}}}}}},"/remotecluster/ping":{"post":{"tags":["Remote Clusters"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#RemoteClusterPing","api_endpoint":"https://{site_url}/api/v4/remotecluster/ping"},"summary":"Receive a ping from a remote cluster.","description":"Receive a ping from a remote cluster. | Receives heartbeat traffic from an already linked remote cluster.\nThis endpoint is authenticated with a remote-cluster token and is\nused by the secure connection transport layer.\n##### Permissions\nNo user session permissions required. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"msg":{"type":"object","description":"body.msg (object field from the documented request schema)","properties":{"create_at":{"type":"number","description":"body.msg.create_at (number field from the documented request schema)"},"id":{"type":"string","description":"body.msg.id (string field from the documented request schema)"},"payload":{"type":"object","description":"Raw message payload."},"topic":{"type":"string","description":"body.msg.topic (string field from the documented request schema)"}}},"remote_id":{"type":"string","description":"body.remote_id (string field from the documented request schema)"}}},"example":{"msg":[{"create_at":0,"id":"string","payload":{},"topic":"string"}],"remote_id":["string"]}}}}}},"/remotecluster/msg":{"post":{"tags":["Remote Clusters"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#RemoteClusterAcceptMessage","api_endpoint":"https://{site_url}/api/v4/remotecluster/msg"},"summary":"Receive a remote cluster message.","description":"Receive a remote cluster message. | Receives and processes an incoming transport message from a linked\nremote cluster. This endpoint is authenticated with a remote-cluster\ntoken and is part of the secure connection protocol.\n##### Permissions\nNo user session permissions required. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"msg":{"type":"object","description":"body.msg (object field from the documented request schema)","properties":{"create_at":{"type":"number","description":"body.msg.create_at (number field from the documented request schema)"},"id":{"type":"string","description":"body.msg.id (string field from the documented request schema)"},"payload":{"type":"object","description":"Raw message payload."},"topic":{"type":"string","description":"body.msg.topic (string field from the documented request schema)"}}},"remote_id":{"type":"string","description":"body.remote_id (string field from the documented request schema)"}}},"example":{"msg":[{"create_at":0,"id":"string","payload":{},"topic":"string"}],"remote_id":["string"]}}}}}},"/remotecluster/confirm_invite":{"post":{"tags":["Remote Clusters"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#RemoteClusterConfirmInvite","api_endpoint":"https://{site_url}/api/v4/remotecluster/confirm_invite"},"summary":"Confirm an invite with a remote cluster.","description":"Confirm an invite with a remote cluster. | Confirms an invitation handshake from a linked remote cluster.\nThis endpoint is authenticated with a remote-cluster token and is\nused by the secure connection protocol.\n##### Permissions\nNo user session permissions required. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"msg":{"type":"object","description":"body.msg (object field from the documented request schema)","properties":{"create_at":{"type":"number","description":"body.msg.create_at (number field from the documented request schema)"},"id":{"type":"string","description":"body.msg.id (string field from the documented request schema)"},"payload":{"type":"object","description":"Raw message payload."},"topic":{"type":"string","description":"body.msg.topic (string field from the documented request schema)"}}},"remote_id":{"type":"string","description":"body.remote_id (string field from the documented request schema)"}}},"example":{"msg":[{"create_at":0,"id":"string","payload":{},"topic":"string"}],"remote_id":["string"]}}}}}},"/remotecluster/upload/{upload_id}":{"post":{"tags":["Remote Clusters"],"parameters":[{"name":"upload_id","in":"path","description":"The upload session ID.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UploadRemoteClusterData","api_endpoint":"https://{site_url}/api/v4/remotecluster/upload/{upload_id}"},"summary":"Upload file data for a remote upload session.","description":"Upload file data for a remote upload session. | Streams file data into an existing upload session from a linked\nremote cluster. This endpoint is authenticated with a remote-cluster token.\n##### Permissions\nNo user session permissions required. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":false,"content":{"multipart/form-data":{"schema":{"type":"object","required":[],"properties":{"body":{"type":"string","description":"body (request body parameter from the official API reference)"}}},"example":{"body":["string"]}}}}}},"/remotecluster/{user_id}/image":{"post":{"tags":["Remote Clusters"],"parameters":[{"name":"user_id","in":"path","description":"The remote user ID.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#RemoteSetProfileImage","api_endpoint":"https://{site_url}/api/v4/remotecluster/{user_id}/image"},"summary":"Set profile image for a remote user.","description":"Set profile image for a remote user. | Uploads and sets a profile image for a remote user managed by the\nrequesting remote cluster. This endpoint is authenticated with a\nremote-cluster token.\n##### Permissions\nNo user session permissions required. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"image":{"type":"string","description":"body.image (string field from the documented request schema)"}}},"example":{"image":["string"]}}}}}},"/sharedchannels/{team_id}":{"get":{"tags":["Shared Channels"],"parameters":[{"name":"team_id","in":"path","description":"Team Id","required":true,"schema":{"type":"string","example":""}},{"name":"page","in":"query","description":"The page to select.","required":false,"schema":{"type":"number","example":""}},{"name":"per_page","in":"query","description":"The number of sharedchannels per page.","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetAllSharedChannels","api_endpoint":"https://{site_url}/api/v4/sharedchannels/{team_id}"},"summary":"Get all shared channels for team.","description":"Get all shared channels for team. | Get all shared channels for a team.\n__Minimum server version__: 5.50\n##### Permissions\nMust be authenticated and have the `view_team` permission for the team.\nResults are restricted to channels the user is a member of unless the user has\n`manage_shared_channels`. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/remotecluster/{remote_id}/sharedchannelremotes":{"get":{"tags":["Shared Channels"],"parameters":[{"name":"remote_id","in":"path","description":"The remote cluster GUID","required":true,"schema":{"type":"string","example":""}},{"name":"exclude_confirmed","in":"query","description":"Show only those Shared channel remotes that are not confirmed yet","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"exclude_home","in":"query","description":"Show only those Shared channel remotes that were shared with this server","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"exclude_remote","in":"query","description":"Show only those Shared channel remotes that were shared from this server","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"include_deleted","in":"query","description":"Include those Shared channel remotes that have been deleted","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"include_unconfirmed","in":"query","description":"Include those Shared channel remotes that are unconfirmed","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"page","in":"query","description":"The page to select","required":false,"schema":{"type":"number","example":""}},{"name":"per_page","in":"query","description":"The number of shared channels per page","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetSharedChannelRemotesByRemoteCluster","api_endpoint":"https://{site_url}/api/v4/remotecluster/{remote_id}/sharedchannelremotes"},"summary":"Get shared channel remotes by remote cluster.","description":"Get shared channel remotes by remote cluster. | Get a list of the channels shared with a given remote cluster\nand their status.\n##### Permissions\n`manage_secure_connections` or `manage_shared_channels` | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/sharedchannels/remote_info/{remote_id}":{"get":{"tags":["Shared Channels"],"parameters":[{"name":"remote_id","in":"path","description":"Remote Cluster GUID","required":true,"schema":{"type":"string","example":""}},{"name":"include_deleted","in":"query","description":"Include deleted remote clusters","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetRemoteClusterInfo","api_endpoint":"https://{site_url}/api/v4/sharedchannels/remote_info/{remote_id}"},"summary":"Get remote cluster info by ID for user.","description":"Get remote cluster info by ID for user. | Get remote cluster info based on remoteId.\n__Minimum server version__: 5.50\n##### Permissions\nMust be authenticated and user must belong to at least one channel shared with the remote cluster. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/remotecluster/{remote_id}/channels/{channel_id}/invite":{"post":{"tags":["Shared Channels"],"parameters":[{"name":"channel_id","in":"path","description":"The channel GUID to invite the remote cluster to","required":true,"schema":{"type":"string","example":""}},{"name":"remote_id","in":"path","description":"The remote cluster GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#InviteRemoteClusterToChannel","api_endpoint":"https://{site_url}/api/v4/remotecluster/{remote_id}/channels/{channel_id}/invite"},"summary":"Invites a remote cluster to a channel.","description":"Invites a remote cluster to a channel. | Invites a remote cluster to a channel, sharing the channel if\nneeded. If the remote cluster was already invited to the\nchannel, calling this endpoint will have no effect.\n##### Permissions\n`manage_shared_channels` | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/remotecluster/{remote_id}/channels/{channel_id}/uninvite":{"post":{"tags":["Shared Channels"],"parameters":[{"name":"channel_id","in":"path","description":"The channel GUID to uninvite the remote cluster to","required":true,"schema":{"type":"string","example":""}},{"name":"remote_id","in":"path","description":"The remote cluster GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UninviteRemoteClusterToChannel","api_endpoint":"https://{site_url}/api/v4/remotecluster/{remote_id}/channels/{channel_id}/uninvite"},"summary":"Uninvites a remote cluster to a channel.","description":"Uninvites a remote cluster to a channel. | Stops sharing a channel with a remote cluster. If the channel\nwas not shared with the remote, calling this endpoint will\nhave no effect.\n##### Permissions\n`manage_shared_channels` | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/sharedchannels/{channel_id}/remotes":{"get":{"tags":["Shared Channels"],"parameters":[{"name":"channel_id","in":"path","description":"Channel GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetSharedChannelRemotes","api_endpoint":"https://{site_url}/api/v4/sharedchannels/{channel_id}/remotes"},"summary":"Get remote clusters for a shared channel","description":"Get remote clusters for a shared channel | Gets the remote clusters information for a shared channel.\n__Minimum server version__: 10.11\n##### Permissions\nMust be authenticated and have the `read_channel` permission for the channel. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/sharedchannels/users/{user_id}/can_dm/{other_user_id}":{"get":{"tags":["Shared Channels"],"parameters":[{"name":"other_user_id","in":"path","description":"Other user GUID","required":true,"schema":{"type":"string","example":""}},{"name":"user_id","in":"path","description":"User GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#CanUserDirectMessage","api_endpoint":"https://{site_url}/api/v4/sharedchannels/users/{user_id}/can_dm/{other_user_id}"},"summary":"Check if user can DM another user in shared channels context","description":"Check if user can DM another user in shared channels context | Checks if a user can send direct messages to another user in a shared channels context.\nIn addition to user visibility, this evaluates remote-cluster direct-connect restrictions\nfor remote users.\n__Minimum server version__: 10.11\n##### Permissions\nMust be authenticated and able to view the target user. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/reactions":{"post":{"tags":["Reactions"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#SaveReaction","api_endpoint":"https://{site_url}/api/v4/reactions"},"summary":"Create a reaction","description":"Create a reaction | Create a reaction.\n##### Permissions\nMust have `read_channel` permission for the channel the post is in. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"create_at":{"type":"number","description":"The time in milliseconds this reaction was made"},"emoji_name":{"type":"string","description":"The name of the emoji that was used for this reaction"},"post_id":{"type":"string","description":"The ID of the post to which this reaction was made"},"user_id":{"type":"string","description":"The ID of the user that made this reaction"}}},"example":{"create_at":[0],"emoji_name":["string"],"post_id":["string"],"user_id":["string"]}}}}}},"/posts/{post_id}/reactions":{"get":{"tags":["Reactions"],"parameters":[{"name":"post_id","in":"path","description":"ID of a post","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetReactions","api_endpoint":"https://{site_url}/api/v4/posts/{post_id}/reactions"},"summary":"Get a list of reactions to a post","description":"Get a list of reactions to a post | Get a list of reactions made by all users to a given post.\n##### Permissions\nMust have `read_channel` permission for the channel the post is in. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/users/{user_id}/posts/{post_id}/reactions/{emoji_name}":{"delete":{"tags":["Reactions"],"parameters":[{"name":"emoji_name","in":"path","description":"emoji name","required":true,"schema":{"type":"string","example":""}},{"name":"post_id","in":"path","description":"ID of the post","required":true,"schema":{"type":"string","example":""}},{"name":"user_id","in":"path","description":"ID of the user","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#DeleteReaction","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/posts/{post_id}/reactions/{emoji_name}"},"summary":"Remove a reaction from a post","description":"Remove a reaction from a post | Deletes a reaction made by a user from the given post.\n##### Permissions\nMust be user or have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/actions/dialogs/open":{"post":{"tags":["Integration Actions"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#OpenInteractiveDialog","api_endpoint":"https://{site_url}/api/v4/actions/dialogs/open"},"summary":"Open a dialog","description":"Open a dialog | Open an interactive dialog using a trigger ID provided by a slash command, or some other action payload. See https://docs.mattermost.com/developer/interactive-dialogs.html for more information on interactive dialogs.\nUp to 3 interactive dialogs may be open at once (minimum server version 11.10). Additional `open_dialog` events beyond this limit are silently ignored by the client.\n__Minimum server version: 5.6__ | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"dialog":{"type":"object","description":"Post object to create","required":true,"properties":{"callback_id":{"type":"string","description":"Set an ID that will be included when the dialog is submitted"},"elements":{"type":"array","description":"Input elements, see https://docs.mattermost.com/developer/interactive-dialogs.html#elements. Supported element types include `text`, `textarea`, `select`, `radio`, `bool`, and `action_button`. An `action_button` element (minimum server version 11.10) renders a clickable button — fields: `name`, `display_name`, `type` set to \"action_button\", and an `action_button` object with a required `url` (must be a valid lookup URL) and optional `context` (string map). Clicking it calls `POST /api/v4/actions/dialogs/execute`. `action_button` elements are not included in the dialog submission payload.","required":true},"introduction_text":{"type":"string","description":"Markdown formatted introductory paragraph"},"notify_on_cancel":{"type":"boolean","description":"Set true to receive payloads when user cancels a dialog","enum":[true,false]},"state":{"type":"string","description":"Set some state to be echoed back with the dialog submission"},"submit_label":{"type":"string","description":"Label on the submit button"},"title":{"type":"string","description":"Title of the dialog","required":true}}},"trigger_id":{"type":"string","description":"Trigger ID provided by other action","required":true},"url":{"type":"string","description":"The URL to send the submitted dialog payload to","required":true}}},"example":{"dialog":[{"callback_id":"string","elements":[{}],"introduction_text":"string","notify_on_cancel":false,"state":"string","submit_label":"string","title":"string"}],"trigger_id":["string"],"url":["string"]}}}}}},"/actions/dialogs/submit":{"post":{"tags":["Integration Actions"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#SubmitInteractiveDialog","api_endpoint":"https://{site_url}/api/v4/actions/dialogs/submit"},"summary":"Submit a dialog","description":"Submit a dialog | Endpoint used by the Mattermost clients to submit a dialog. See https://docs.mattermost.com/developer/interactive-dialogs.html for more information on interactive dialogs.\n__Minimum server version: 5.6__ | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"callback_id":{"type":"string","description":"Callback ID sent when the dialog was opened"},"cancelled":{"type":"boolean","description":"Set to true if the dialog was cancelled","enum":[true,false]},"channel_id":{"type":"string","description":"Channel ID the user submitted the dialog from","required":true},"file_ids":{"type":"array","description":"List of file IDs uploaded as part of the dialog submission. Each file must have been uploaded by the submitting user. A maximum of 10 file IDs may be submitted.","items":{"type":"string"}},"state":{"type":"string","description":"State sent when the dialog was opened"},"submission":{"type":"object","description":"String map where keys are element names and values are the element input values","required":true,"properties":{}},"team_id":{"type":"string","description":"Optional. The server resolves the authoritative team from the channel, so a client-supplied value is ignored. Empty for DM/GM channels (which have no team)."},"url":{"type":"string","description":"The URL to send the submitted dialog payload to","required":true}}},"example":{"callback_id":["string"],"cancelled":[false],"channel_id":["string"],"file_ids":[["string"]],"state":["string"],"submission":[{}],"team_id":["string"],"url":["string"]}}}}}},"/actions/dialogs/lookup":{"post":{"tags":["Integration Actions"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#LookupInteractiveDialog","api_endpoint":"https://{site_url}/api/v4/actions/dialogs/lookup"},"summary":"Lookup dialog elements","description":"Lookup dialog elements | Endpoint used by the Mattermost clients to lookup dynamic dialog elements. See https://docs.mattermost.com/developer/interactive-dialogs.html for more information on interactive dialogs.\n__Minimum server version: 11.0__ | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"callback_id":{"type":"string","description":"Callback ID sent when the dialog was opened"},"channel_id":{"type":"string","description":"Channel ID the user is performing the lookup from","required":true},"state":{"type":"string","description":"State sent when the dialog was opened"},"submission":{"type":"object","description":"String map where keys are element names and values are the element input values","required":true,"properties":{}},"team_id":{"type":"string","description":"Optional. The server resolves the authoritative team from the channel, so a client-supplied value is ignored. Empty for DM/GM channels (which have no team)."},"url":{"type":"string","description":"The URL to send the lookup request to","required":true}}},"example":{"callback_id":["string"],"channel_id":["string"],"state":["string"],"submission":[{}],"team_id":["string"],"url":["string"]}}}}}},"/actions/dialogs/execute":{"post":{"tags":["Integration Actions"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#ExecuteDialogAction","api_endpoint":"https://{site_url}/api/v4/actions/dialogs/execute"},"summary":"Execute a dialog action button","description":"Execute a dialog action button | Endpoint used by the Mattermost clients when a user clicks an `action_button` element inside an interactive dialog. The server generates a new trigger ID and forwards the button's context to the integration URL; the integration can then open a child (stacked) dialog with that trigger ID. See https://docs.mattermost.com/developer/interactive-dialogs.html for more information on interactive dialogs.\nThis request is always processed server-side. The client caps the number of simultaneously open interactive dialogs at 3, so if the resulting `open_dialog` event would exceed that limit the client silently skips rendering the additional dialog.\n__Minimum server version: 11.10__ | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"channel_id":{"type":"string","description":"Channel ID the user clicked the action button from","required":true},"context":{"type":"object","description":"String map of context values configured on the action button, forwarded to the integration","properties":{}},"team_id":{"type":"string","description":"Optional. The server resolves the authoritative team from the channel, so a client-supplied value is ignored. Empty for DM/GM channels (which have no team)."},"url":{"type":"string","description":"The action button URL to send the action payload to. Must be a valid lookup URL.","required":true}}},"example":{"channel_id":["string"],"context":[{}],"team_id":["string"],"url":["string"]}}}}}},"/bots":{"post":{"tags":["Bots"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#CreateBot","api_endpoint":"https://{site_url}/api/v4/bots"},"summary":"Create a bot","description":"Create a bot | Create a new bot account on the system. Username is required.\n##### Permissions\nMust have `create_bot` permission.\n__Minimum server version__: 5.10 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"description":{"type":"string","description":"body.description (string field from the documented request schema)"},"display_name":{"type":"string","description":"body.display_name (string field from the documented request schema)"},"username":{"type":"string","description":"body.username (string field from the documented request schema)","required":true}}},"example":{"description":["string"],"display_name":["string"],"username":["string"]}}}}},"get":{"tags":["Bots"],"parameters":[{"name":"include_deleted","in":"query","description":"If deleted bots should be returned.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"only_orphaned","in":"query","description":"When true, only orphaned bots will be returned. A bot is considered orphaned if its owner has been deactivated.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"page","in":"query","description":"The page to select.","required":false,"schema":{"type":"number","example":""}},{"name":"per_page","in":"query","description":"The number of users per page.","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetBots","api_endpoint":"https://{site_url}/api/v4/bots"},"summary":"Get bots","description":"Get bots | Get a page of a list of bots.\n##### Permissions\nMust have `read_bots` permission for bots you are managing, and `read_others_bots` permission for bots others are managing.\n__Minimum server version__: 5.10 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/bots/{bot_user_id}":{"put":{"tags":["Bots"],"parameters":[{"name":"bot_user_id","in":"path","description":"Bot user ID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#PatchBot","api_endpoint":"https://{site_url}/api/v4/bots/{bot_user_id}"},"summary":"Patch a bot","description":"Patch a bot | Partially update a bot by providing only the fields you want to update. Omitted fields will not be updated. The fields that can be updated are defined in the request body, all other provided fields will be ignored.\n##### Permissions\nMust have `manage_bots` permission. \n__Minimum server version__: 5.10 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"description":{"type":"string","description":"body.description (string field from the documented request schema)"},"display_name":{"type":"string","description":"body.display_name (string field from the documented request schema)"},"username":{"type":"string","description":"body.username (string field from the documented request schema)","required":true}}},"example":{"description":["string"],"display_name":["string"],"username":["string"]}}}}},"get":{"tags":["Bots"],"parameters":[{"name":"bot_user_id","in":"path","description":"Bot user ID","required":true,"schema":{"type":"string","example":""}},{"name":"include_deleted","in":"query","description":"If deleted bots should be returned.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetBot","api_endpoint":"https://{site_url}/api/v4/bots/{bot_user_id}"},"summary":"Get a bot","description":"Get a bot | Get a bot specified by its bot id.\n##### Permissions\nMust have `read_bots` permission for bots you are managing, and `read_others_bots` permission for bots others are managing.\n__Minimum server version__: 5.10 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/bots/{bot_user_id}/disable":{"post":{"tags":["Bots"],"parameters":[{"name":"bot_user_id","in":"path","description":"Bot user ID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#DisableBot","api_endpoint":"https://{site_url}/api/v4/bots/{bot_user_id}/disable"},"summary":"Disable a bot","description":"Disable a bot | Disable a bot.\n##### Permissions\nMust have `manage_bots` permission. \n__Minimum server version__: 5.10 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/bots/{bot_user_id}/enable":{"post":{"tags":["Bots"],"parameters":[{"name":"bot_user_id","in":"path","description":"Bot user ID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#EnableBot","api_endpoint":"https://{site_url}/api/v4/bots/{bot_user_id}/enable"},"summary":"Enable a bot","description":"Enable a bot | Enable a bot.\n##### Permissions\nMust have `manage_bots` permission. \n__Minimum server version__: 5.10 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/bots/{bot_user_id}/assign/{user_id}":{"post":{"tags":["Bots"],"parameters":[{"name":"bot_user_id","in":"path","description":"Bot user ID","required":true,"schema":{"type":"string","example":""}},{"name":"user_id","in":"path","description":"The user ID to assign the bot to.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#AssignBot","api_endpoint":"https://{site_url}/api/v4/bots/{bot_user_id}/assign/{user_id}"},"summary":"Assign a bot to a user","description":"Assign a bot to a user | Assign a bot to a specified user.\n##### Permissions\nMust have `manage_bots` permission. \n__Minimum server version__: 5.10 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/bots/{bot_user_id}/convert_to_user":{"post":{"tags":["Bots"],"parameters":[{"name":"bot_user_id","in":"path","description":"Bot user ID","required":true,"schema":{"type":"string","example":""}},{"name":"set_system_admin","in":"query","description":"Whether to give the user the system admin role.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#ConvertBotToUser","api_endpoint":"https://{site_url}/api/v4/bots/{bot_user_id}/convert_to_user"},"summary":"Convert a bot into a user","description":"Convert a bot into a user | Convert a bot into a user.\n__Minimum server version__: 5.26\n##### Permissions\nMust have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"email":{"type":"string","description":"body.email (string field from the documented request schema)"},"first_name":{"type":"string","description":"body.first_name (string field from the documented request schema)"},"last_name":{"type":"string","description":"body.last_name (string field from the documented request schema)"},"locale":{"type":"string","description":"body.locale (string field from the documented request schema)"},"nickname":{"type":"string","description":"body.nickname (string field from the documented request schema)"},"notify_props":{"type":"object","description":"body.notify_props (object field from the documented request schema)","properties":{"auto_responder_message":{"type":"string","description":"The message sent to users when they are auto-responded to. Defaults to \"\"."},"channel":{"type":"string","description":"Set to \"true\" to enable channel-wide notifications (@channel, @all, etc.), \"false\" to disable. Defaults to \"true\"."},"comments":{"type":"string","description":"Set to \"any\" to enable notifications for comments to any post you have replied to, \"root\" for comments on your posts, and \"never\" to disable. Only affects users with collapsed reply threads disabled. Defaults to \"never\"."},"desktop":{"type":"string","description":"Set to \"all\" to receive desktop notifications for all activity, \"mention\" for mentions and direct messages only, and \"none\" to disable. Defaults to \"all\"."},"desktop_sound":{"type":"string","description":"Set to \"true\" to enable sound on desktop notifications, \"false\" to disable. Defaults to \"true\"."},"desktop_threads":{"type":"string","description":"Set to \"all\" to enable desktop notifications for followed threads and \"none\" to disable. Defaults to \"all\"."},"email":{"type":"string","description":"Set to \"true\" to enable email notifications, \"false\" to disable. Defaults to \"true\"."},"email_threads":{"type":"string","description":"Set to \"all\" to enable email notifications for followed threads and \"none\" to disable. Defaults to \"all\"."},"first_name":{"type":"string","description":"Set to \"true\" to enable mentions for first name. Defaults to \"true\" if a first name is set, \"false\" otherwise."},"mention_keys":{"type":"string","description":"A comma-separated list of words to count as mentions. Defaults to username and @username."},"push":{"type":"string","description":"Set to \"all\" to receive push notifications for all activity, \"mention\" for mentions and direct messages only, and \"none\" to disable. Defaults to \"mention\"."},"push_threads":{"type":"string","description":"Set to \"all\" to enable mobile push notifications for followed threads and \"none\" to disable. Defaults to \"all\"."}}},"password":{"type":"string","description":"body.password (string field from the documented request schema)"},"position":{"type":"string","description":"body.position (string field from the documented request schema)"},"props":{"type":"object","description":"body.props (object field from the documented request schema)","properties":{}},"username":{"type":"string","description":"body.username (string field from the documented request schema)"}}},"example":{"email":["string"],"first_name":["string"],"last_name":["string"],"locale":["string"],"nickname":["string"],"notify_props":[{"auto_responder_message":"string","channel":"string","comments":"string","desktop":"string","desktop_sound":"string","desktop_threads":"string","email":"string","email_threads":"string","first_name":"string","mention_keys":"string","push":"string","push_threads":"string"}],"password":["string"],"position":["string"],"props":[{}],"username":["string"]}}}}}},"/cloud/limits":{"get":{"tags":["Cloud"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetCloudLimits","api_endpoint":"https://{site_url}/api/v4/cloud/limits"},"summary":"Get cloud workspace limits","description":"Get cloud workspace limits | Retrieve any cloud workspace limits applicable to this instance.\n##### Permissions\nMust be authenticated and be licensed for Cloud.\n__Minimum server version__: 7.0 __Note:__ This is intended for internal use and is subject to change. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/cloud/products":{"get":{"tags":["Cloud"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetCloudProducts","api_endpoint":"https://{site_url}/api/v4/cloud/products"},"summary":"Get cloud products","description":"Get cloud products | Retrieve a list of all products that are offered for Mattermost Cloud.\n##### Permissions\nMust have `manage_system` permission and be licensed for Cloud.\n__Minimum server version__: 5.28 __Note:__ This is intended for internal use and is subject to change. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/cloud/customer":{"get":{"tags":["Cloud"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetCloudCustomer","api_endpoint":"https://{site_url}/api/v4/cloud/customer"},"summary":"Get cloud customer","description":"Get cloud customer | Retrieves the customer information for the Mattermost Cloud customer bound to this installation.\n##### Permissions\nMust have `manage_system` permission and be licensed for Cloud.\n__Minimum server version__: 5.28 __Note:__ This is intended for internal use and is subject to change. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]},"put":{"tags":["Cloud"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UpdateCloudCustomer","api_endpoint":"https://{site_url}/api/v4/cloud/customer"},"summary":"Update cloud customer","description":"Update cloud customer | Updates the customer information for the Mattermost Cloud customer bound to this installation.\n##### Permissions\nMust have `manage_system` permission and be licensed for Cloud.\n__Minimum server version__: 5.29 __Note:__ This is intended for internal use and is subject to change. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"contact_first_name":{"type":"string","description":"body.contact_first_name (string field from the documented request schema)"},"contact_last_name":{"type":"string","description":"body.contact_last_name (string field from the documented request schema)"},"email":{"type":"string","description":"body.email (string field from the documented request schema)"},"name":{"type":"string","description":"body.name (string field from the documented request schema)"},"num_employees":{"type":"string","description":"body.num_employees (string field from the documented request schema)"}}},"example":{"contact_first_name":["string"],"contact_last_name":["string"],"email":["string"],"name":["string"],"num_employees":["string"]}}}}}},"/cloud/customer/address":{"put":{"tags":["Cloud"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UpdateCloudCustomerAddress","api_endpoint":"https://{site_url}/api/v4/cloud/customer/address"},"summary":"Update cloud customer address","description":"Update cloud customer address | Updates the company address for the Mattermost Cloud customer bound to this installation.\n##### Permissions\nMust have `manage_system` permission and be licensed for Cloud.\n__Minimum server version__: 5.29 __Note:__ This is intended for internal use and is subject to change. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"city":{"type":"string","description":"body.city (string field from the documented request schema)"},"country":{"type":"string","description":"body.country (string field from the documented request schema)"},"line1":{"type":"string","description":"body.line1 (string field from the documented request schema)"},"line2":{"type":"string","description":"body.line2 (string field from the documented request schema)"},"postal_code":{"type":"string","description":"body.postal_code (string field from the documented request schema)"},"state":{"type":"string","description":"body.state (string field from the documented request schema)"}}},"example":{"city":["string"],"country":["string"],"line1":["string"],"line2":["string"],"postal_code":["string"],"state":["string"]}}}}}},"/cloud/validate-business-email":{"post":{"tags":["Cloud"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#ValidateBusinessEmail","api_endpoint":"https://{site_url}/api/v4/cloud/validate-business-email"},"summary":"Validate business email","description":"Validate business email | Validate whether an email address is considered a business email by the cloud service.\n##### Permissions Must be authenticated. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"email":{"type":"string","description":"body.email (string field from the documented request schema)","required":true}}},"example":{"email":["string"]}}}}}},"/cloud/validate-workspace-business-email":{"post":{"tags":["Cloud"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#ValidateWorkspaceBusinessEmail","api_endpoint":"https://{site_url}/api/v4/cloud/validate-workspace-business-email"},"summary":"Validate workspace business email","description":"Validate workspace business email | Validate the current workspace customer/admin email as a business email.\n##### Permissions Must have `sysconsole_write_billing` permission and be licensed for Cloud. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/cloud/subscription":{"get":{"tags":["Cloud"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetSubscription","api_endpoint":"https://{site_url}/api/v4/cloud/subscription"},"summary":"Get cloud subscription","description":"Get cloud subscription | Retrieves the subscription information for the Mattermost Cloud customer bound to this installation.\n##### Permissions\nMust have `manage_system` permission and be licensed for Cloud.\n__Minimum server version__: 5.28 __Note:__ This is intended for internal use and is subject to change. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/cloud/installation":{"get":{"tags":["Cloud"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetEndpointForInstallationInformation","api_endpoint":"https://{site_url}/api/v4/cloud/installation"},"summary":"GET endpoint for Installation information","description":"GET endpoint for Installation information | An endpoint for fetching the installation information.\n##### Permissions\nMust have `sysconsole_read_site_ip_filters` permission and be licensed for Cloud.\n__Minimum server version__: 9.1 __Note:__ This is intended for internal use and is subject to change. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/cloud/subscription/invoices":{"get":{"tags":["Cloud"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetInvoicesForSubscription","api_endpoint":"https://{site_url}/api/v4/cloud/subscription/invoices"},"summary":"Get cloud subscription invoices","description":"Get cloud subscription invoices | Retrieves the invoices for the subscription bound to this installation.\n##### Permissions\nMust have `manage_system` permission and be licensed for Cloud.\n__Minimum server version__: 5.30 __Note:__ This is intended for internal use and is subject to change. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/cloud/subscription/invoices/{invoice_id}/pdf":{"get":{"tags":["Cloud"],"parameters":[{"name":"invoice_id","in":"path","description":"Invoice ID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetInvoiceForSubscriptionAsPdf","api_endpoint":"https://{site_url}/api/v4/cloud/subscription/invoices/{invoice_id}/pdf"},"summary":"Get cloud invoice PDF","description":"Get cloud invoice PDF | Retrieves the PDF for the invoice passed as parameter\n##### Permissions\nMust have `manage_system` permission and be licensed for Cloud.\n__Minimum server version__: 5.30 __Note:__ This is intended for internal use and is subject to change. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/hosted_customer/signup_available":{"get":{"tags":["Cloud"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#HostedCustomerSignupAvailable","api_endpoint":"https://{site_url}/api/v4/hosted_customer/signup_available"},"summary":"Check hosted signup availability","description":"Check hosted signup availability | Checks whether hosted signup is available for self-hosted workspaces.\n##### Permissions Must be authenticated. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/cloud/check-cws-connection":{"get":{"tags":["Cloud"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#CheckCWSConnection","api_endpoint":"https://{site_url}/api/v4/cloud/check-cws-connection"},"summary":"Check CWS connection","description":"Check CWS connection | Checks whether the Customer Web Server (CWS) is reachable from this instance. Used to detect if the deployment is air-gapped.\n##### Permissions\nNo permissions required.\n__Minimum server version__: 5.28 __Note:__ This is intended for internal use and is subject to change. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/cloud/webhook":{"post":{"tags":["Cloud"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#PostEndpointForCwsWebhooks","api_endpoint":"https://{site_url}/api/v4/cloud/webhook"},"summary":"POST endpoint for CWS Webhooks","description":"POST endpoint for CWS Webhooks | An endpoint for processing webhooks from the Customer Portal\n##### Permissions\nThis endpoint should only be accessed by CWS, in a Mattermost Cloud instance\n__Minimum server version__: 5.30 __Note:__ This is intended for internal use and is subject to change. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/cloud/preview/modal_data":{"get":{"tags":["Cloud"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetPreviewModalData","api_endpoint":"https://{site_url}/api/v4/cloud/preview/modal_data"},"summary":"Get cloud preview modal data","description":"Get cloud preview modal data | Retrieves modal content data from the configured S3 bucket for displaying cloud product preview modals.\n##### Permissions\nMust be authenticated. Must be in a Cloud Preview environment.\n__Minimum server version__: 10.0 __Note:__ This is intended for internal use and is subject to change. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/usage/posts":{"get":{"tags":["Usage"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetPostsUsage","api_endpoint":"https://{site_url}/api/v4/usage/posts"},"summary":"Get current usage of posts","description":"Get current usage of posts | Retrieve rounded off total no. of posts for this instance. Example: returns 4000 instead of 4321\n##### Permissions\nMust be authenticated.\n__Minimum server version__: 7.0 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/usage/storage":{"get":{"tags":["Usage"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetStorageUsage","api_endpoint":"https://{site_url}/api/v4/usage/storage"},"summary":"Get the total file storage usage for the instance in bytes.","description":"Get the total file storage usage for the instance in bytes. | Get the total file storage usage for the instance in bytes rounded down to the most significant digit. Example: returns 4000 instead of 4321\n##### Permissions\nMust be authenticated.\n__Minimum server version__: 7.1 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/usage/teams":{"get":{"tags":["Usage"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetTeamsUsage","api_endpoint":"https://{site_url}/api/v4/usage/teams"},"summary":"Get current usage of teams","description":"Get current usage of teams | Retrieve rounded total number of teams for this instance.\n##### Permissions Must be authenticated. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/permissions/ancillary":{"post":{"tags":["Permissions"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetAncillaryPermissionsPost","api_endpoint":"https://{site_url}/api/v4/permissions/ancillary"},"summary":"Return all system console subsection ancillary permissions","description":"Return all system console subsection ancillary permissions | Returns all the ancillary permissions for the corresponding system console subsection permissions appended to the requested permission subsections. __Minimum server version__: 9.10 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"body":{"type":"array","description":"body (request body parameter from the official API reference)","items":{"type":"string"}}}},"example":{"body":[["string"]]}}}}}},"/imports":{"get":{"tags":["Imports"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#ListImports","api_endpoint":"https://{site_url}/api/v4/imports"},"summary":"List import files","description":"List import files | Lists all available import files.\n__Minimum server version__: 5.31\n##### Permissions\nMust have `manage_system` permissions. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/imports/{import_name}":{"delete":{"tags":["Imports"],"parameters":[{"name":"import_name","in":"path","description":"The name of the import file to delete","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#DeleteImport","api_endpoint":"https://{site_url}/api/v4/imports/{import_name}"},"summary":"Delete an import file","description":"Delete an import file | Deletes an import file.\n__Minimum server version__: 5.31\n##### Permissions\nMust have `manage_system` permissions. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/exports":{"get":{"tags":["Exports"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#ListExports","api_endpoint":"https://{site_url}/api/v4/exports"},"summary":"List export files","description":"List export files | Lists all available export files.\n__Minimum server version__: 5.33\n##### Permissions\nMust have `manage_system` permissions. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/exports/{export_name}":{"get":{"tags":["Exports"],"parameters":[{"name":"export_name","in":"path","description":"The name of the export file to download","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#DownloadExport","api_endpoint":"https://{site_url}/api/v4/exports/{export_name}"},"summary":"Download an export file","description":"Download an export file | Downloads an export file.\n__Minimum server version__: 5.33\n##### Permissions\nMust have `manage_system` permissions. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]},"delete":{"tags":["Exports"],"parameters":[{"name":"export_name","in":"path","description":"The name of the export file to delete","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#DeleteExport","api_endpoint":"https://{site_url}/api/v4/exports/{export_name}"},"summary":"Delete an export file","description":"Delete an export file | Deletes an export file.\n__Minimum server version__: 5.33\n##### Permissions\nMust have `manage_system` permissions. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/exports/{export_name}/presign-url":{"post":{"tags":["Exports"],"parameters":[{"name":"export_name","in":"path","description":"The name of the export file","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#PresignExport","api_endpoint":"https://{site_url}/api/v4/exports/{export_name}/presign-url"},"summary":"Create a presigned URL for export download","description":"Create a presigned URL for export download | Creates a presigned URL for downloading an export file.\n__Minimum server version__: 5.33\n##### Permissions\nMust have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/ip_filtering":{"get":{"tags":["Ip"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetIPFilters","api_endpoint":"https://{site_url}/api/v4/ip_filtering"},"summary":"Get all IP filters","description":"Get all IP filters | Retrieve a list of IP filters applied to the workspace\n__Minimum server version__: 9.1 __Note:__ This is intended for internal use and only applicable to Cloud workspaces | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]},"post":{"tags":["Ip"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#ApplyIPFilters","api_endpoint":"https://{site_url}/api/v4/ip_filtering"},"summary":"Get all IP filters","description":"Get all IP filters | Adjust IP Filters applied to the workspace\n__Minimum server version__: 9.1 __Note:__ This is intended for internal use and only applicable to Cloud workspaces | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"body":{"type":"array","description":"body (request body parameter from the official API reference)","items":{"type":"object","properties":{"CIDRBlock":{"type":"string","description":"An IP address range in CIDR notation"},"Description":{"type":"string","description":"A description for the CIDRBlock"}}}}}},"example":{"body":[[{"CIDRBlock":"string","Description":"string"}]]}}}}}},"/ip_filtering/my_ip":{"get":{"tags":["Ip"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#MyIP","api_endpoint":"https://{site_url}/api/v4/ip_filtering/my_ip"},"summary":"Get all IP filters","description":"Get all IP filters | Retrieve your current IP address as seen by the workspace\n__Minimum server version__: 9.1 __Note:__ This is intended for internal use and only applicable to Cloud workspaces | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/channels/{channel_id}/bookmarks":{"get":{"tags":["Bookmarks"],"parameters":[{"name":"channel_id","in":"path","description":"Channel GUID","required":true,"schema":{"type":"string","example":""}},{"name":"bookmarks_since","in":"query","description":"Timestamp to filter the bookmarks with. If set, the\nendpoint returns bookmarks that have been added, updated\nor deleted since its value","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#ListChannelBookmarksForChannel","api_endpoint":"https://{site_url}/api/v4/channels/{channel_id}/bookmarks"},"summary":"Get channel bookmarks for Channel","description":"Get channel bookmarks for Channel | __Minimum server version__: 9.5 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]},"post":{"tags":["Bookmarks"],"parameters":[{"name":"channel_id","in":"path","description":"Channel GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#CreateChannelBookmark","api_endpoint":"https://{site_url}/api/v4/channels/{channel_id}/bookmarks"},"summary":"Create channel bookmark","description":"Create channel bookmark | Creates a new channel bookmark for this channel.\n__Minimum server version__: 9.5\n##### Permissions\nMust have the `add_bookmark_public_channel` or\n`add_bookmark_private_channel` depending on the channel\ntype. If the channel is a DM or GM, must be a non-guest\nmember. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"type":{"type":"string","description":"* `link` for channel bookmarks that reference a link. `link_url` is required\n* `file` for channel bookmarks that reference a file. `file_id` is required","required":true},"display_name":{"type":"string","description":"The name of the channel bookmark","required":true},"emoji":{"type":"string","description":"The emoji of the channel bookmark"},"file_id":{"type":"string","description":"The ID of the file associated with the channel bookmark. Required for bookmarks of type 'file'"},"image_url":{"type":"string","description":"The URL of the image associated with the channel bookmark. Optional, only applies for bookmarks of type 'link'"},"link_url":{"type":"string","description":"The URL associated with the channel bookmark. Required for bookmarks of type 'link'"}}},"example":{"type":["link"],"display_name":["string"],"emoji":["string"],"file_id":["string"],"image_url":["string"],"link_url":["string"]}}}}}},"/channels/{channel_id}/bookmarks/{bookmark_id}":{"patch":{"tags":["Bookmarks"],"parameters":[{"name":"bookmark_id","in":"path","description":"Bookmark GUID","required":true,"schema":{"type":"string","example":""}},{"name":"channel_id","in":"path","description":"Channel GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UpdateChannelBookmark","api_endpoint":"https://{site_url}/api/v4/channels/{channel_id}/bookmarks/{bookmark_id}"},"summary":"Update channel bookmark","description":"Update channel bookmark | Partially update a channel bookmark by providing only the\nfields you want to update. Ommited fields will not be\nupdated. The fields that can be updated are defined in the\nrequest body, all other provided fields will be ignored.\n__Minimum server version__: 9.5\n##### Permissions\nMust have the `edit_bookmark_public_channel` or\n`edit_bookmark_private_channel` depending on the channel\ntype. If the channel is a DM or GM, must be a non-guest\nmember. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"type":{"type":"string","description":"* `link` for channel bookmarks that reference a link. `link_url` is required\n* `file` for channel bookmarks that reference a file. `file_id` is required"},"display_name":{"type":"string","description":"The name of the channel bookmark"},"emoji":{"type":"string","description":"The emoji of the channel bookmark"},"file_id":{"type":"string","description":"The ID of the file associated with the channel bookmark. Required for bookmarks of type 'file'"},"image_url":{"type":"string","description":"The URL of the image associated with the channel bookmark"},"link_url":{"type":"string","description":"The URL associated with the channel bookmark. Required for type bookmarks of type 'link'"},"sort_order":{"type":"number","description":"The order of the channel bookmark"}}},"example":{"type":["link"],"display_name":["string"],"emoji":["string"],"file_id":["string"],"image_url":["string"],"link_url":["string"],"sort_order":[0]}}}}},"delete":{"tags":["Bookmarks"],"parameters":[{"name":"bookmark_id","in":"path","description":"Bookmark GUID","required":true,"schema":{"type":"string","example":""}},{"name":"channel_id","in":"path","description":"Channel GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#DeleteChannelBookmark","api_endpoint":"https://{site_url}/api/v4/channels/{channel_id}/bookmarks/{bookmark_id}"},"summary":"Delete channel bookmark","description":"Delete channel bookmark | Archives a channel bookmark. This will set the `deleteAt` to\nthe current timestamp in the database.\n__Minimum server version__: 9.5\n##### Permissions\nMust have the `delete_bookmark_public_channel` or\n`delete_bookmark_private_channel` depending on the channel\ntype. If the channel is a DM or GM, must be a non-guest\nmember. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/channels/{channel_id}/bookmarks/{bookmark_id}/sort_order":{"post":{"tags":["Bookmarks"],"parameters":[{"name":"bookmark_id","in":"path","description":"Bookmark GUID","required":true,"schema":{"type":"string","example":""}},{"name":"channel_id","in":"path","description":"Channel GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UpdateChannelBookmarkSortOrder","api_endpoint":"https://{site_url}/api/v4/channels/{channel_id}/bookmarks/{bookmark_id}/sort_order"},"summary":"Update channel bookmark's order","description":"Update channel bookmark's order | Updates the order of a channel bookmark, setting its new order\nfrom the parameters and updating the rest of the bookmarks of\nthe channel to accomodate for this change.\n__Minimum server version__: 9.5\n##### Permissions\nMust have the `order_bookmark_public_channel` or\n`order_bookmark_private_channel` depending on the channel\ntype. If the channel is a DM or GM, must be a non-guest\nmember. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"body":{"type":"number","description":"The new sort order for the Channel Bookmark"}}},"example":{"body":[0]}}}}}},"/boards":{"post":{"tags":["Boards"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#CreateBoard","api_endpoint":"https://{site_url}/api/v4/boards"},"summary":"Create a board channel","description":"Create a board channel | *__Experimental__: This endpoint is experimental and may change or be removed in a future release.*\nCreate a new board channel. Boards are channels with a kanban view backed\nby linked properties (status and assignee by default), and live alongside\nregular channels but cannot be created or modified through the\n`/api/v4/channels` endpoints.\nThe request body is a `Channel` object whose `type` must be `BO`\n(open board) or `BP` (private board). `team_id` and `display_name` are\nrequired.\nThis endpoint is gated behind the `IntegratedBoards` feature flag. When\nthe flag is off, the route is not registered and requests return `404`.\n##### Permissions\nMust have `create_public_channel` for type `BO`, or\n`create_private_channel` for type `BP`, on the target team. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"type":{"type":"string","description":"The board channel type.\n* `BO` - open board (visible to all team members)\n* `BP` - private board (visible to invited members)","required":true},"display_name":{"type":"string","description":"Human-readable name shown in the UI. Must not be empty.","required":true},"header":{"type":"string","description":"body.header (string field from the documented request schema)"},"name":{"type":"string","description":"URL-safe channel name. Auto-generated if omitted."},"purpose":{"type":"string","description":"body.purpose (string field from the documented request schema)"},"team_id":{"type":"string","description":"The team ID the board belongs to","required":true}}},"example":{"type":["BO"],"display_name":["string"],"header":["string"],"name":["string"],"purpose":["string"],"team_id":["string"]}}}}}},"/channels/{channel_id}/views":{"get":{"tags":["Views"],"parameters":[{"name":"channel_id","in":"path","description":"Channel GUID","required":true,"schema":{"type":"string","example":""}},{"name":"include_total_count","in":"query","description":"When true, the response is a ViewsWithCount object containing a views array and a total_count integer. When false or omitted, the response is a plain JSON array of View objects.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"page","in":"query","description":"The 0-based page number for pagination (default 0)","required":false,"schema":{"type":"number","example":""}},{"name":"per_page","in":"query","description":"The number of views per page (default 60, max 200)","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#ListChannelViews","api_endpoint":"https://{site_url}/api/v4/channels/{channel_id}/views"},"summary":"List channel views","description":"List channel views | *__Experimental__: This endpoint is experimental and may change or be removed in a future release.*\nGet a list of views for a channel.\n__Minimum server version__: 11.6\n##### Permissions\nMust have `read_channel_content` permission for the channel. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]},"post":{"tags":["Views"],"parameters":[{"name":"channel_id","in":"path","description":"Channel GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#CreateChannelView","api_endpoint":"https://{site_url}/api/v4/channels/{channel_id}/views"},"summary":"Create channel view","description":"Create channel view | *__Experimental__: This endpoint is experimental and may change or be removed in a future release.*\nCreate a new view for a channel.\n__Minimum server version__: 11.6\n##### Permissions\nMust have `create_post` permission for the channel. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"type":{"type":"string","description":"The type of the view.\n* `kanban` - a kanban view","required":true},"description":{"type":"string","description":"The description of the view"},"props":{"type":"object","description":"Arbitrary key-value properties for the view","properties":{}},"sort_order":{"type":"number","description":"The display order of the view within the channel"},"title":{"type":"string","description":"The title of the view","required":true}}},"example":{"type":["kanban"],"description":["string"],"props":[{}],"sort_order":[0],"title":["string"]}}}}}},"/channels/{channel_id}/views/{view_id}":{"get":{"tags":["Views"],"parameters":[{"name":"channel_id","in":"path","description":"Channel GUID","required":true,"schema":{"type":"string","example":""}},{"name":"view_id","in":"path","description":"View GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetChannelView","api_endpoint":"https://{site_url}/api/v4/channels/{channel_id}/views/{view_id}"},"summary":"Get a channel view","description":"Get a channel view | *__Experimental__: This endpoint is experimental and may change or be removed in a future release.*\nGet a single view by its ID.\n__Minimum server version__: 11.6\n##### Permissions\nMust have `read_channel_content` permission for the channel. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]},"patch":{"tags":["Views"],"parameters":[{"name":"channel_id","in":"path","description":"Channel GUID","required":true,"schema":{"type":"string","example":""}},{"name":"view_id","in":"path","description":"View GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UpdateChannelView","api_endpoint":"https://{site_url}/api/v4/channels/{channel_id}/views/{view_id}"},"summary":"Update a channel view","description":"Update a channel view | *__Experimental__: This endpoint is experimental and may change or be removed in a future release.*\nPartially update a channel view by providing only the fields\nyou want to update. Omitted fields will not be updated.\n__Minimum server version__: 11.6\n##### Permissions\nMust have `create_post` permission for the channel. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"description":{"type":"string","description":"body.description (string field from the documented request schema)"},"props":{"type":"object","description":"Arbitrary key-value properties for the view","properties":{}},"sort_order":{"type":"number","description":"body.sort_order (number field from the documented request schema)"},"title":{"type":"string","description":"body.title (string field from the documented request schema)"}}},"example":{"description":["string"],"props":[{}],"sort_order":[0],"title":["string"]}}}}},"delete":{"tags":["Views"],"parameters":[{"name":"channel_id","in":"path","description":"Channel GUID","required":true,"schema":{"type":"string","example":""}},{"name":"view_id","in":"path","description":"View GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#DeleteChannelView","api_endpoint":"https://{site_url}/api/v4/channels/{channel_id}/views/{view_id}"},"summary":"Delete a channel view","description":"Delete a channel view | *__Experimental__: This endpoint is experimental and may change or be removed in a future release.*\nSoft-deletes a channel view. Sets `delete_at` to current timestamp.\n__Minimum server version__: 11.6\n##### Permissions\nMust have `create_post` permission for the channel. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/channels/{channel_id}/views/{view_id}/posts":{"get":{"tags":["Views"],"parameters":[{"name":"channel_id","in":"path","description":"Channel GUID","required":true,"schema":{"type":"string","example":""}},{"name":"view_id","in":"path","description":"View GUID","required":true,"schema":{"type":"string","example":""}},{"name":"page","in":"query","description":"The 0-based page number for pagination (default 0)","required":false,"schema":{"type":"number","example":""}},{"name":"per_page","in":"query","description":"The number of posts per page (default 60, max 200)","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetPostsForView","api_endpoint":"https://{site_url}/api/v4/channels/{channel_id}/views/{view_id}/posts"},"summary":"Get posts for a view","description":"Get posts for a view | *__Experimental__: This endpoint is experimental and may change or be removed in a future release.*\nGet a paginated list of posts that belong to a specific view.\n__Minimum server version__: 11.6\n##### Permissions\nMust have `read_channel_content` permission for the channel. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/channels/{channel_id}/views/{view_id}/sort_order":{"post":{"tags":["Views"],"parameters":[{"name":"channel_id","in":"path","description":"Channel GUID","required":true,"schema":{"type":"string","example":""}},{"name":"view_id","in":"path","description":"View GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UpdateChannelViewSortOrder","api_endpoint":"https://{site_url}/api/v4/channels/{channel_id}/views/{view_id}/sort_order"},"summary":"Update a channel view's sort order","description":"Update a channel view's sort order | *__Experimental__: This endpoint is experimental and may change or be removed in a future release.*\nUpdates the sort order of a channel view, setting its new index\nfrom the request body and updating the rest of the views in the\nchannel to accommodate the change.\n__Minimum server version__: 11.6\n##### Permissions\nMust have `create_post` permission for the channel. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"body":{"type":"number","description":"The new sort order index for the view"}}},"example":{"body":[0]}}}}}},"/reports/users":{"get":{"tags":["Reports"],"parameters":[{"name":"date_range","in":"query","description":"The date range of the post statistics to display. Must be one of (\"last30days\", \"previousmonth\", \"last6months\", \"alltime\"). Will default to 'alltime' if the input is not valid.","required":false,"schema":{"type":"string","example":""}},{"name":"direction","in":"query","description":"The direction to accept paging values from. Will return values ahead of the cursor if \"prev\", and below the cursor if \"next\". Default is \"next\".","required":false,"schema":{"type":"string","example":""}},{"name":"from_column_value","in":"query","description":"The value of the sorted column corresponding to the cursor to read from. Should be blank for the first page asked for.","required":false,"schema":{"type":"string","example":""}},{"name":"from_id","in":"query","description":"The value of the user id corresponding to the cursor to read from. Should be blank for the first page asked for.","required":false,"schema":{"type":"string","example":""}},{"name":"has_no_team","in":"query","description":"If true, show only users that have no team. Will ignore provided \"team_filter\" if true.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"hide_active","in":"query","description":"If true, show only users that are inactive. Cannot be used at the same time as \"hide_inactive\"","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"hide_inactive","in":"query","description":"If true, show only users that are active. Cannot be used at the same time as \"hide_active\"","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"page_size","in":"query","description":"The maximum number of users to return.","required":false,"schema":{"type":"number","example":""}},{"name":"role_filter","in":"query","description":"Filter users by their role.","required":false,"schema":{"type":"string","example":""}},{"name":"search_term","in":"query","description":"A filtering search term that allows filtering by Username, FirstName, LastName, Nickname or Email","required":false,"schema":{"type":"string","example":""}},{"name":"sort_column","in":"query","description":"The column to sort the users by. Must be one of (\"CreateAt\", \"Username\", \"FirstName\", \"LastName\", \"Nickname\", \"Email\") or the API will return an error.","required":false,"schema":{"type":"string","example":""}},{"name":"sort_direction","in":"query","description":"The sorting direction. Must be one of (\"asc\", \"desc\"). Will default to 'asc' if not specified or the input is invalid.","required":false,"schema":{"type":"string","example":""}},{"name":"team_filter","in":"query","description":"Filter users by a specified team ID.","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetUsersForReporting","api_endpoint":"https://{site_url}/api/v4/reports/users"},"summary":"Get a list of paged and sorted users for admin reporting purposes","description":"Get a list of paged and sorted users for admin reporting purposes | Get a list of paged users for admin reporting purposes, based on provided parameters.\n##### Permissions\nRequires `sysconsole_read_user_management_users`. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/reports/users/count":{"get":{"tags":["Reports"],"parameters":[{"name":"has_no_team","in":"query","description":"If true, show only users that have no team. Will ignore provided \"team_filter\" if true.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"hide_active","in":"query","description":"If true, show only users that are inactive. Cannot be used at the same time as \"hide_inactive\"","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"hide_inactive","in":"query","description":"If true, show only users that are active. Cannot be used at the same time as \"hide_active\"","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"role_filter","in":"query","description":"Filter users by their role.","required":false,"schema":{"type":"string","example":""}},{"name":"search_term","in":"query","description":"A filtering search term that allows filtering by Username, FirstName, LastName, Nickname or Email","required":false,"schema":{"type":"string","example":""}},{"name":"team_filter","in":"query","description":"Filter users by a specified team ID.","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetUserCountForReporting","api_endpoint":"https://{site_url}/api/v4/reports/users/count"},"summary":"Gets the full count of users that match the filter.","description":"Gets the full count of users that match the filter. | Get the full count of users admin reporting purposes, based on provided parameters.\n##### Permissions\nRequires `sysconsole_read_user_management_users`. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/reports/users/export":{"post":{"tags":["Reports"],"parameters":[{"name":"date_range","in":"query","description":"The date range of the post statistics to display. Must be one of (\"last30days\", \"previousmonth\", \"last6months\", \"alltime\"). Will default to 'alltime' if the input is not valid.","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#StartBatchUsersExport","api_endpoint":"https://{site_url}/api/v4/reports/users/export"},"summary":"Starts a job to export the users to a report file.","description":"Starts a job to export the users to a report file. | Starts a job to export the users to a report file.\n##### Permissions\nRequires `sysconsole_read_user_management_users`. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/reports/posts":{"post":{"tags":["Reports"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetPostsForReporting","api_endpoint":"https://{site_url}/api/v4/reports/posts"},"summary":"Get posts for reporting and compliance purposes using cursor-based pagination","description":"Get posts for reporting and compliance purposes using cursor-based pagination | Get posts from a specific channel for reporting, compliance, and auditing purposes. This endpoint uses cursor-based pagination to efficiently retrieve large datasets.\nThe cursor is an opaque, base64-encoded token that contains all pagination state. Clients should treat the cursor as an opaque string and pass it back unchanged. When a cursor is provided, query parameters from the initial request are embedded in the cursor and take precedence over request body parameters.\n##### Permissions\nRequires `manage_system` permission (system admin only).\n##### License\nRequires an Enterprise license (or higher).\n##### Features\n- Cursor-based pagination for efficient large dataset retrieval - Support for both create_at and update_at time fields - Ascending or descending sort order - Time range filtering with optional end_time - Include/exclude deleted posts - Exclude system posts (any type starting with \"system_\") - Optional metadata enrichment (file info, reactions, emojis, priority, acknowledgements) | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"channel_id":{"type":"string","description":"The ID of the channel to retrieve posts from","required":true},"cursor":{"type":"string","description":"Opaque cursor string for pagination. Omit or use empty string for the first request. For subsequent requests, use the exact cursor value from the previous response's next_cursor. The cursor is base64-encoded and contains all pagination state including time, post ID, and query parameters. Do not attempt to parse or modify the cursor value."},"exclude_system_posts":{"type":"boolean","description":"If true, exclude all system posts.","enum":[true,false]},"include_deleted":{"type":"boolean","description":"If true, include posts that have been deleted (DeleteAt > 0). By default, only non-deleted posts are returned.","enum":[true,false]},"include_metadata":{"type":"boolean","description":"If true, enrich posts with additional metadata including file information, reactions, custom emojis, priority, and acknowledgements. Note that this may increase response time for large result sets.","enum":[true,false]},"per_page":{"type":"number","description":"Number of posts to return per page. Maximum 1000."},"sort_direction":{"type":"string","description":"Sort direction for pagination. Use \"asc\" to retrieve posts from oldest to newest, or \"desc\" to retrieve from newest to oldest."},"start_time":{"type":"number","description":"Optional start time for query range in Unix milliseconds. Only used for the first request (ignored when cursor is provided). - For \"asc\" (ascending): starts retrieving from this time going forward - For \"desc\" (descending): starts retrieving from this time going backward If omitted, defaults to 0 for ascending or MaxInt64 for descending."},"time_field":{"type":"string","description":"Which timestamp field to use for sorting and filtering. Use \"create_at\" to retrieve posts by creation time, or \"update_at\" to retrieve posts by last modification time."}}},"example":{"channel_id":["string"],"cursor":[""],"exclude_system_posts":[false],"include_deleted":[false],"include_metadata":[false],"per_page":[100],"sort_direction":["asc"],"start_time":[0],"time_field":["create_at"]}}}}}},"/limits/server":{"get":{"tags":["Users"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetServerLimits","api_endpoint":"https://{site_url}/api/v4/limits/server"},"summary":"Gets the server limits for the server","description":"Gets the server limits for the server | Gets the server limits for the server\n##### Permissions\nRequires `sysconsole_read_user_management_users`. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/logs/download":{"get":{"tags":["Logs"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#DownloadSystemLogs","api_endpoint":"https://{site_url}/api/v4/logs/download"},"summary":"Download system logs","description":"Download system logs | Downloads the system logs as a text file. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/oauth/outgoing_connections":{"get":{"tags":["OAuth"],"parameters":[{"name":"team_id","in":"query","description":"Current Team ID in integrations backstage","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#ListOutgoingOAuthConnections","api_endpoint":"https://{site_url}/api/v4/oauth/outgoing_connections"},"summary":"List all connections","description":"List all connections | List all outgoing OAuth connections.\n__Minimum server version__: 9.6 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]},"post":{"tags":["OAuth"],"parameters":[{"name":"team_id","in":"query","description":"Current Team ID in integrations backstage","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#CreateOutgoingOAuthConnection","api_endpoint":"https://{site_url}/api/v4/oauth/outgoing_connections"},"summary":"Create a connection","description":"Create a connection | Create an outgoing OAuth connection.\n__Minimum server version__: 9.6 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"audiences":{"type":"string","description":"The audiences of the outgoing OAuth connection."},"client_id":{"type":"string","description":"The client ID of the outgoing OAuth connection."},"client_secret":{"type":"string","description":"The client secret of the outgoing OAuth connection."},"credentials_password":{"type":"string","description":"The password of the credentials of the outgoing OAuth connection."},"credentials_username":{"type":"string","description":"The username of the credentials of the outgoing OAuth connection."},"grant_type":{"type":"string","description":"The grant type of the outgoing OAuth connection."},"name":{"type":"string","description":"The name of the outgoing OAuth connection."},"oauth_token_url":{"type":"string","description":"The OAuth token URL of the outgoing OAuth connection."}}},"example":{"audiences":["string"],"client_id":["string"],"client_secret":["string"],"credentials_password":["string"],"credentials_username":["string"],"grant_type":["string"],"name":["string"],"oauth_token_url":["string"]}}}}}},"/oauth/outgoing_connections/{outgoing_oauth_connection_id}":{"get":{"tags":["OAuth"],"parameters":[{"name":"outgoing_oauth_connection_id","in":"path","description":"Outgoing OAuth connection ID","required":true,"schema":{"type":"string","example":""}},{"name":"team_id","in":"query","description":"Current Team ID in integrations backstage","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetOutgoingOAuthConnection","api_endpoint":"https://{site_url}/api/v4/oauth/outgoing_connections/{outgoing_oauth_connection_id}"},"summary":"Get a connection","description":"Get a connection | Retrieve an outgoing OAuth connection.\n__Minimum server version__: 9.6 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]},"put":{"tags":["OAuth"],"parameters":[{"name":"outgoing_oauth_connection_id","in":"path","description":"Outgoing OAuth connection ID","required":true,"schema":{"type":"string","example":""}},{"name":"team_id","in":"query","description":"Current Team ID in integrations backstage","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UpdateOutgoingOAuthConnection","api_endpoint":"https://{site_url}/api/v4/oauth/outgoing_connections/{outgoing_oauth_connection_id}"},"summary":"Update a connection","description":"Update a connection | Update an outgoing OAuth connection.\n__Minimum server version__: 9.6 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"audiences":{"type":"string","description":"The audiences of the outgoing OAuth connection."},"client_id":{"type":"string","description":"The client ID of the outgoing OAuth connection."},"client_secret":{"type":"string","description":"The client secret of the outgoing OAuth connection."},"credentials_password":{"type":"string","description":"The password of the credentials of the outgoing OAuth connection."},"credentials_username":{"type":"string","description":"The username of the credentials of the outgoing OAuth connection."},"grant_type":{"type":"string","description":"The grant type of the outgoing OAuth connection."},"name":{"type":"string","description":"The name of the outgoing OAuth connection."},"oauth_token_url":{"type":"string","description":"The OAuth token URL of the outgoing OAuth connection."}}},"example":{"audiences":["string"],"client_id":["string"],"client_secret":["string"],"credentials_password":["string"],"credentials_username":["string"],"grant_type":["string"],"name":["string"],"oauth_token_url":["string"]}}}}},"delete":{"tags":["OAuth"],"parameters":[{"name":"outgoing_oauth_connection_id","in":"path","description":"Outgoing OAuth connection ID","required":true,"schema":{"type":"string","example":""}},{"name":"team_id","in":"query","description":"Current Team ID in integrations backstage","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#DeleteOutgoingOAuthConnection","api_endpoint":"https://{site_url}/api/v4/oauth/outgoing_connections/{outgoing_oauth_connection_id}"},"summary":"Delete a connection","description":"Delete a connection | Delete an outgoing OAuth connection.\n__Minimum server version__: 9.6 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/oauth/outgoing_connections/validate":{"post":{"tags":["OAuth"],"parameters":[{"name":"team_id","in":"query","description":"Current Team ID in integrations backstage","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#ValidateOutgoingOAuthConnection","api_endpoint":"https://{site_url}/api/v4/oauth/outgoing_connections/validate"},"summary":"Validate a connection configuration","description":"Validate a connection configuration | Validate an outgoing OAuth connection. If an id is provided in the payload, and no client secret is provided, then the stored client secret is implicitly used for the validation.\n__Minimum server version__: 9.6 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"audiences":{"type":"string","description":"The audiences of the outgoing OAuth connection."},"client_id":{"type":"string","description":"The client ID of the outgoing OAuth connection."},"client_secret":{"type":"string","description":"The client secret of the outgoing OAuth connection."},"credentials_password":{"type":"string","description":"The password of the credentials of the outgoing OAuth connection."},"credentials_username":{"type":"string","description":"The username of the credentials of the outgoing OAuth connection."},"grant_type":{"type":"string","description":"The grant type of the outgoing OAuth connection."},"name":{"type":"string","description":"The name of the outgoing OAuth connection."},"oauth_token_url":{"type":"string","description":"The OAuth token URL of the outgoing OAuth connection."}}},"example":{"audiences":["string"],"client_id":["string"],"client_secret":["string"],"credentials_password":["string"],"credentials_username":["string"],"grant_type":["string"],"name":["string"],"oauth_token_url":["string"]}}}}}},"/client_perf":{"post":{"tags":["Metrics"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#SubmitPerformanceReport","api_endpoint":"https://{site_url}/api/v4/client_perf"},"summary":"Report client performance metrics","description":"Report client performance metrics | Uploads client performance measurements to the server as part of the Client Performance Monitoring feature.\n__Minimum server version__: 9.9.0 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"client_id":{"type":"string","description":"Not currently used"},"counters":{"type":"array","description":"An array of counter metrics to be reported","items":{"type":"object","properties":{"labels":{"type":"array","description":"Labels to be applied to this metric when recorded by the metrics backend"},"metric":{"type":"string","description":"The name of the counter","required":true},"timestamp":{"type":"number","description":"The time that the counter was incremented"},"value":{"type":"number","description":"The value to increment the counter by","required":true}}}},"end":{"type":"number","description":"The time in milliseconds of the last metric in this report","required":true},"histograms":{"type":"array","description":"An array of histogram measurements to be reported","items":{"type":"object","properties":{"labels":{"type":"array","description":"Labels to be applied to this metric when recorded by the metrics backend"},"metric":{"type":"string","description":"The name of the measurement","required":true},"timestamp":{"type":"number","description":"The time that the measurement was taken"},"value":{"type":"number","description":"The value of the measurement","required":true}}}},"labels":{"type":"array","description":"Labels to be applied to all metrics when recorded by the metrics backend","items":{"type":"string"}},"start":{"type":"number","description":"The time in milliseconds of the first metric in this report","required":true},"version":{"type":"string","description":"An identifier for the schema of the data being submitted which currently must be \"0.1.0\"","required":true}}},"example":{"client_id":["string"],"counters":[[{"labels":["string"],"metric":"string","timestamp":0,"value":0}]],"end":[0],"histograms":[[{"labels":["string"],"metric":"string","timestamp":0,"value":0}]],"labels":[["string"]],"start":[0],"version":["string"]}}}}}},"/posts/schedule":{"post":{"tags":["Scheduled Post"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#CreateScheduledPost","api_endpoint":"https://{site_url}/api/v4/posts/schedule"},"summary":"Creates a scheduled post","description":"Creates a scheduled post | Creates a scheduled post\n##### Permissions\nMust have `create_post` permission for the channel the post is being created in.\n__Minimum server version__: 10.3 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"channel_id":{"type":"string","description":"The channel ID to post in","required":true},"file_ids":{"type":"array","description":"A list of file IDs to associate with the post. Note that posts are limited to 5 files maximum. Please use additional posts for more files.","items":{"type":"string"}},"message":{"type":"string","description":"The message contents, can be formatted with Markdown","required":true},"props":{"type":"object","description":"A general JSON property bag to attach to the post","properties":{}},"repeat_timezone":{"type":"string","description":"IANA timezone for weekly recurrence; required when `repeat_type` is `weekly`"},"repeat_type":{"type":"string","description":"Set to `weekly` for a recurring weekly schedule, or omit for a one-time schedule"},"root_id":{"type":"string","description":"The post ID to comment on"},"scheduled_at":{"type":"number","description":"UNIX timestamp in milliseconds of the time when the scheduled post should be sent","required":true}}},"example":{"channel_id":["string"],"file_ids":[["string"]],"message":["string"],"props":[{}],"repeat_timezone":["string"],"repeat_type":["string"],"root_id":["string"],"scheduled_at":[0]}}}}}},"/posts/scheduled/team/{team_id}":{"get":{"tags":["Scheduled Post"],"parameters":[{"name":"includeDirectChannels","in":"query","description":"Whether to include scheduled posts from DMs an GMs or not. Default is false","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetUserScheduledPosts","api_endpoint":"https://{site_url}/api/v4/posts/scheduled/team/{team_id}"},"summary":"Gets all scheduled posts for a user for the specified team..","description":"Gets all scheduled posts for a user for the specified team.. | Get user-team scheduled posts\n##### Permissions\nMust have `view_team` permission for the team the scheduled posts are being fetched for.\n__Minimum server version__: 10.3 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/posts/schedule/{scheduled_post_id}":{"put":{"tags":["Scheduled Post"],"parameters":[{"name":"scheduled_post_id","in":"path","description":"ID of the scheduled post to update","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UpdateScheduledPost","api_endpoint":"https://{site_url}/api/v4/posts/schedule/{scheduled_post_id}"},"summary":"Update a scheduled post","description":"Update a scheduled post | Updates a scheduled post\n##### Permissions\nMust have `create_post` permission for the channel where the scheduled post belongs to.\n__Minimum server version__: 10.3 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"channel_id":{"type":"string","description":"The channel ID to post in","required":true},"id":{"type":"string","description":"ID of the scheduled post to update","required":true},"message":{"type":"string","description":"The message contents, can be formatted with Markdown","required":true},"repeat_timezone":{"type":"string","description":"IANA timezone for weekly recurrence; required when `repeat_type` is `weekly`"},"repeat_type":{"type":"string","description":"Set to `weekly` for a recurring weekly schedule, or empty for a one-time schedule"},"scheduled_at":{"type":"number","description":"UNIX timestamp in milliseconds of the time when the scheduled post should be sent","required":true},"user_id":{"type":"string","description":"The current user ID","required":true}}},"example":{"channel_id":["string"],"id":["string"],"message":["string"],"repeat_timezone":["string"],"repeat_type":["string"],"scheduled_at":[0],"user_id":["string"]}}}}},"delete":{"tags":["Scheduled Post"],"parameters":[{"name":"scheduled_post_id","in":"path","description":"ID of the scheduled post to delete","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#DeleteScheduledPost","api_endpoint":"https://{site_url}/api/v4/posts/schedule/{scheduled_post_id}"},"summary":"Delete a scheduled post","description":"Delete a scheduled post | Delete a scheduled post\n__Minimum server version__: 10.3 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/custom_profile_attributes/fields":{"get":{"tags":["Custom Profile Attributes"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#ListAllCPAFields","api_endpoint":"https://{site_url}/api/v4/custom_profile_attributes/fields"},"summary":"List all the Custom Profile Attributes fields","description":"List all the Custom Profile Attributes fields | List all the Custom Profile Attributes fields.\n__Minimum server version__: 10.5\n##### Permissions\nMust be authenticated. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]},"post":{"tags":["Custom Profile Attributes"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#CreateCPAField","api_endpoint":"https://{site_url}/api/v4/custom_profile_attributes/fields"},"summary":"Create a Custom Profile Attribute field","description":"Create a Custom Profile Attribute field | Create a new Custom Profile Attribute field on the system.\n__Minimum server version__: 10.5\n##### Permissions\nMust have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"type":{"type":"string","description":"body.type (string field from the documented request schema)","required":true},"attrs":{"type":"object","description":"body.attrs (object field from the documented request schema)","properties":{"access_mode":{"type":"string","description":"Access mode of the field"},"display_name":{"type":"string","description":"Human-readable label shown in the UI. Defaults to the field `name` when omitted or empty. Maximum 255 characters."},"ldap":{"type":"string","description":"LDAP attribute for syncing"},"options":{"type":"array","description":"Options for select/multiselect fields"},"protected":{"type":"boolean","description":"If true, the field is read-only and cannot be modified.","enum":[true,false]},"saml":{"type":"string","description":"SAML attribute for syncing"},"sort_order":{"type":"number","description":"Sort order for displaying this attribute"},"source_plugin_id":{"type":"string","description":"The ID of the plugin that created this field. This attribute cannot be changed."},"value_type":{"type":"string","description":"Type of text value"},"visibility":{"type":"string","description":"Visibility of the attribute"}}},"name":{"type":"string","description":"The internal identifier for this attribute. Must match `^[A-Za-z_][A-Za-z0-9_]*$` and must not be a CEL reserved word (true, false, null, in, as, break, const, continue, else, for, function, if, import, let, loop, package, namespace, return, var, void, while). This name is used in ABAC policy expressions as `user.attributes.`.","required":true}}},"example":{"type":["string"],"attrs":[{"access_mode":"","display_name":"string","ldap":"string","options":[{"color":"string","name":"string"}],"protected":false,"saml":"string","sort_order":0,"source_plugin_id":"string","value_type":"email","visibility":"when_set"}],"name":["string"]}}}}}},"/custom_profile_attributes/fields/{field_id}":{"patch":{"tags":["Custom Profile Attributes"],"parameters":[{"name":"field_id","in":"path","description":"Custom Profile Attribute field GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#PatchCPAField","api_endpoint":"https://{site_url}/api/v4/custom_profile_attributes/fields/{field_id}"},"summary":"Patch a Custom Profile Attribute field","description":"Patch a Custom Profile Attribute field | Partially update a Custom Profile Attribute field by providing\nonly the fields you want to update. Omitted fields will not be\nupdated. The fields that can be updated are defined in the\nrequest body, all other provided fields will be ignored.\n**Note:** Fields with `attrs.protected = true` cannot be\nmodified and will return an error.\n__Minimum server version__: 10.5\n##### Permissions\nMust have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"type":{"type":"string","description":"body.type (string field from the documented request schema)"},"attrs":{"type":"object","description":"body.attrs (object field from the documented request schema)","properties":{"access_mode":{"type":"string","description":"Access mode of the field"},"display_name":{"type":"string","description":"Human-readable label shown in the UI. Maximum 255 characters."},"ldap":{"type":"string","description":"LDAP attribute for syncing"},"options":{"type":"array","description":"Options for select/multiselect fields"},"protected":{"type":"boolean","description":"If true, the field is read-only and cannot be modified.","enum":[true,false]},"saml":{"type":"string","description":"SAML attribute for syncing"},"sort_order":{"type":"number","description":"Sort order for displaying this attribute"},"source_plugin_id":{"type":"string","description":"The ID of the plugin that created this field. This attribute cannot be changed."},"value_type":{"type":"string","description":"Type of text value"},"visibility":{"type":"string","description":"Visibility of the attribute"}}},"name":{"type":"string","description":"New name for the attribute. When changed, must match `^[A-Za-z_][A-Za-z0-9_]*$` and must not be a CEL reserved word. Pre-existing fields with non-conforming names remain patchable on all other attributes; the validation only fires when `name` actually changes."}}},"example":{"type":["string"],"attrs":[{"access_mode":"","display_name":"string","ldap":"string","options":[{"color":"string","id":"string","name":"string"}],"protected":false,"saml":"string","sort_order":0,"source_plugin_id":"string","value_type":"email","visibility":"when_set"}],"name":["string"]}}}}},"delete":{"tags":["Custom Profile Attributes"],"parameters":[{"name":"field_id","in":"path","description":"Custom Profile Attribute field GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#DeleteCPAField","api_endpoint":"https://{site_url}/api/v4/custom_profile_attributes/fields/{field_id}"},"summary":"Delete a Custom Profile Attribute field","description":"Delete a Custom Profile Attribute field | Marks a Custom Profile Attribute field and all its values as\ndeleted.\n__Minimum server version__: 10.5\n##### Permissions\nMust have `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/custom_profile_attributes/values":{"patch":{"tags":["Custom Profile Attributes"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#PatchCPAValues","api_endpoint":"https://{site_url}/api/v4/custom_profile_attributes/values"},"summary":"Patch Custom Profile Attribute values","description":"Patch Custom Profile Attribute values | Partially update a set of values on the requester's Custom\nProfile Attribute fields by providing only the information you\nwant to update. Omitted fields will not be updated. The fields\nthat can be updated are defined in the request body, all other\nprovided fields will be ignored.\n**Note:** Values for fields with `attrs.protected = true` cannot be\nupdated and will return an error.\n__Minimum server version__: 10.5\n##### Permissions\nMust be authenticated. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"body":{"type":"array","description":"body (request body parameter from the official API reference)","items":{"type":"object","properties":{"id":{"type":"string","description":"body.id (string field from the documented request schema)"},"value":{"type":"string","description":"body.value (string field from the documented request schema)"}}}}}},"example":{"body":[[{"id":"string","value":"string"}]]}}}}}},"/custom_profile_attributes/group":{"get":{"tags":["Custom Profile Attributes"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetCPAGroup","api_endpoint":"https://{site_url}/api/v4/custom_profile_attributes/group"},"summary":"Get Custom Profile Attribute property group data","description":"Get Custom Profile Attribute property group data | Get the property group used for Custom Profile Attributes.\n__Minimum server version__: 10.8\n##### Permissions\nMust be authenticated. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/users/{user_id}/custom_profile_attributes":{"get":{"tags":["Custom Profile Attributes"],"parameters":[{"name":"user_id","in":"path","description":"User GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#ListCPAValues","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/custom_profile_attributes"},"summary":"List Custom Profile Attribute values","description":"List Custom Profile Attribute values | List all the Custom Profile Attributes values for specified user.\n__Minimum server version__: 10.5\n##### Permissions\nMust have `view members` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]},"patch":{"tags":["Custom Profile Attributes"],"parameters":[{"name":"user_id","in":"path","description":"User GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#PatchCPAValuesForUser","api_endpoint":"https://{site_url}/api/v4/users/{user_id}/custom_profile_attributes"},"summary":"Update custom profile attribute values for a user","description":"Update custom profile attribute values for a user | Update Custom Profile Attribute field values for a specific user.\n**Note:** Values for fields with `attrs.protected = true` cannot be\nupdated and will return an error.\n__Minimum server version__: 11\n##### Permissions\nMust have permission to edit the user. Users can only edit their own CPA values unless they are system administrators. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"body":{"type":"array","description":"body (request body parameter from the official API reference)","items":{"type":"object","properties":{"id":{"type":"string","description":"body.id (string field from the documented request schema)"},"value":{"type":"string","description":"body.value (string field from the documented request schema)"}}}}}},"example":{"body":[[{"id":"string","value":"string"}]]}}}}}},"/audit_logs/certificate":{"post":{"tags":["Audit Logs"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#AddAuditLogCertificate","api_endpoint":"https://{site_url}/api/v4/audit_logs/certificate"},"summary":"Upload audit log certificate","description":"Upload audit log certificate | Upload the certificate to be used for TLS verification with the audit log service.\n##### Permissions\nMust have `sysconsole_write_experimental_features` permission.\n__Minimum server version__: 10.9 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"certificate":{"type":"string","description":"The certificate file","required":true}}},"example":{"certificate":["string"]}}}}},"delete":{"tags":["Audit Logs"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#RemoveAuditLogCertificate","api_endpoint":"https://{site_url}/api/v4/audit_logs/certificate"},"summary":"Remove audit log certificate","description":"Remove audit log certificate | Delete the current certificate being used with the audit log service.\n##### Permissions\nMust have `sysconsole_write_experimental_features` permission.\n__Minimum server version__: 9.5 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/access_control_policies":{"put":{"tags":["Access Control"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#CreateAccessControlPolicy","api_endpoint":"https://{site_url}/api/v4/access_control_policies"},"summary":"Create an access control policy","description":"Create an access control policy | Creates a new access control policy.\n##### Permissions\nMust have the `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"create_at":{"type":"number","description":"The time in milliseconds the policy was created."},"delete_at":{"type":"number","description":"The time in milliseconds the policy was deleted."},"description":{"type":"string","description":"A description of the policy."},"display_name":{"type":"string","description":"The human-readable name for the policy."},"expression":{"type":"string","description":"The CEL expression defining the policy rules."},"id":{"type":"string","description":"The unique identifier of the policy."},"is_active":{"type":"boolean","description":"Whether the policy is currently active and enforced.","enum":[true,false]},"name":{"type":"string","description":"The unique name for the policy."},"update_at":{"type":"number","description":"The time in milliseconds the policy was last updated."}}},"example":{"create_at":[0],"delete_at":[0],"description":["string"],"display_name":["string"],"expression":["string"],"id":["string"],"is_active":[false],"name":["string"],"update_at":[0]}}}}}},"/access_control_policies/cel/check":{"post":{"tags":["Access Control"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#CheckAccessControlPolicyExpression","api_endpoint":"https://{site_url}/api/v4/access_control_policies/cel/check"},"summary":"Check an access control policy expression","description":"Check an access control policy expression | Checks the syntax and validity of an access control policy expression.\n##### Permissions\nMust have the `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"expression":{"type":"string","description":"The expression to check."}}},"example":{"expression":["string"]}}}}}},"/access_control_policies/cel/validate_requester":{"post":{"tags":["Access Control"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#ValidateExpressionAgainstRequester","api_endpoint":"https://{site_url}/api/v4/access_control_policies/cel/validate_requester"},"summary":"Validate if the current user matches a CEL expression","description":"Validate if the current user matches a CEL expression | Validates whether the current authenticated user matches the given CEL expression.\nThis is used to determine if a channel admin can test expressions they match.\n##### Permissions\nMust have `manage_system` permission OR be a channel admin for the specified channel (channelId required for channel admins). | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"channelId":{"type":"string","description":"The channel ID for channel-specific permission checks (required for channel admins)."},"expression":{"type":"string","description":"The CEL expression to validate against the current user.","required":true}}},"example":{"channelId":["string"],"expression":["string"]}}}}}},"/access_control_policies/cel/test":{"post":{"tags":["Access Control"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#TestAccessControlPolicyExpression","api_endpoint":"https://{site_url}/api/v4/access_control_policies/cel/test"},"summary":"Test an access control policy expression","description":"Test an access control policy expression | Tests an access control policy expression against users to see who would be affected.\n##### Permissions\nMust have the `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"after":{"type":"string","description":"The ID of the user to start the test after (for pagination)."},"channelId":{"type":"string","description":"The channel ID to contextually test the expression against (required for channel admins)."},"expression":{"type":"string","description":"The policy expression to test."},"limit":{"type":"number","description":"The maximum number of users to return."},"term":{"type":"string","description":"A search term to filter users against whom the expression is tested."}}},"example":{"after":["string"],"channelId":["string"],"expression":["string"],"limit":[0],"term":["string"]}}}}}},"/access_control_policies/cel/simulate_users":{"post":{"tags":["Access Control"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#SimulateAccessControlPolicyForUsers","api_endpoint":"https://{site_url}/api/v4/access_control_policies/cel/simulate_users"},"summary":"Simulate an access control policy decision for an explicit user list","description":"Simulate an access control policy decision for an explicit user list | Runs the dual-lane PDP simulation against a draft (unsaved) access\ncontrol policy for an explicit set of users (with optional per-user\nsession-attribute overrides). The server compiles the draft\nin-memory, layers on persisted higher-scoped permission policies,\nand returns per-user, per-action ALLOW/DENY decisions plus blame\nattribution for any deny.\nBacks the picker-driven \"Simulate access\" UX in the System Console\nand Channel Settings so authors can see how a draft interacts with\npersisted higher-scoped policies before saving.\nGated by the `PermissionPolicies` feature flag and the Enterprise\nAdvanced license. Returns 501 (Not Implemented) when either is\nmissing.\n##### Permissions\nMust have the `manage_system` permission, OR be a team admin with\n`manage_team_access_rules` on the request's `team_id` (when any\nprovided `channel_id` resolves to a channel in that team), OR be a\nchannel admin with `manage_channel_access_rules` on the request's\n`channel_id`. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"actions":{"type":"array","description":"Permission actions to simulate (e.g. `upload_file_attachment`,\n`download_file_attachment`). At least one action is required —\nthe picker UX only makes sense once an action is in scope. The\nbackend rejects empty arrays with `app.pap.simulate.missing_actions`\n(HTTP 400); `minItems` lets OpenAPI tooling catch that earlier\non the client.","required":true,"items":{"type":"string"}},"channel_id":{"type":"string","description":"Provides resource context for delegated channel admins and for\nresource-lane evaluation when `policy.type == \"channel\"`."},"evaluation_scope":{"type":"string","description":"Selects whether the simulator considers only the rule under\nsimulation (`this_rule`) or co-evaluates every contributing\nprogram (`all`). Empty defaults to `this_rule` on the server.\n`this_rule` is the authoring-time \"what does this rule alone\ndo?\" view: useful for iterating on a single rule without\nsibling rules shadowing or compensating for it. `all` mirrors\nthe live PDP at request time."},"policy":{"type":"object","description":"body.policy (object field from the documented request schema)","required":true,"properties":{"create_at":{"type":"number","description":"The time in milliseconds the policy was created."},"delete_at":{"type":"number","description":"The time in milliseconds the policy was deleted."},"description":{"type":"string","description":"A description of the policy."},"display_name":{"type":"string","description":"The human-readable name for the policy."},"expression":{"type":"string","description":"The CEL expression defining the policy rules."},"id":{"type":"string","description":"The unique identifier of the policy."},"is_active":{"type":"boolean","description":"Whether the policy is currently active and enforced.","enum":[true,false]},"name":{"type":"string","description":"The unique name for the policy."},"update_at":{"type":"number","description":"The time in milliseconds the policy was last updated."}}},"rule_name":{"type":"string","description":"Identifies which rule in `policy.rules` the author is editing\n(used for blame attribution). When set, denies originating from\nthis rule are tagged `source=this_rule`; other denies in the same\ndraft are tagged `source=sibling_rule`."},"team_id":{"type":"string","description":"Provides team context for team-level delegated admins."},"users":{"type":"array","description":"Explicit user list to evaluate, with per-user session-attribute\noverrides. At least one user is required (the backend rejects\nempty arrays with `app.pap.simulate.missing_users`).","required":true,"items":{"type":"object","properties":{"session_overrides":{"type":"object","description":"Replaces individual `session.*` attributes for this user only.\nApplied on top of the active-session snapshot when both are set,\nso a \"configure session\" panel can shadow specific values without\ndiscarding the rest of the active session."},"use_active_session":{"type":"boolean","description":"When true, inject the requesting admin's `session.*` attributes\n(network_status, device_managed, ip_range, etc.) into this user's\nevaluation context. Forward-compatible with future PDP work that\npopulates session attributes on the request context.","enum":[true,false]},"user_id":{"type":"string","description":"ID of the user to evaluate the draft policy against.","required":true}}}}}},"example":{"actions":[["string"]],"channel_id":["string"],"evaluation_scope":["all"],"policy":[{"create_at":0,"delete_at":0,"description":"string","display_name":"string","expression":"string","id":"string","is_active":false,"name":"string","update_at":0}],"rule_name":["string"],"team_id":["string"],"users":[[{"session_overrides":{},"use_active_session":false,"user_id":"string"}]]}}}}}},"/access_control_policies/search":{"post":{"tags":["Access Control"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#SearchAccessControlPolicies","api_endpoint":"https://{site_url}/api/v4/access_control_policies/search"},"summary":"Search access control policies","description":"Search access control policies | Searches for access control policies based on given criteria.\n##### Permissions\nMust have the `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"type":{"type":"string","description":"The type of policy (e.g., 'parent' or 'channel')."},"active":{"type":"boolean","description":"Filter policies by active status.","enum":[true,false]},"cursor":{"type":"object","description":"body.cursor (object field from the documented request schema)","properties":{"id":{"type":"string","description":"The ID of the policy to start searching after."}}},"ids":{"type":"array","description":"List of policy IDs to filter by.","items":{"type":"string"}},"include_children":{"type":"boolean","description":"Whether to include child policies in the result.","enum":[true,false]},"limit":{"type":"number","description":"The maximum number of policies to return."},"parent_id":{"type":"string","description":"The ID of the parent policy to search within."},"term":{"type":"string","description":"The search term to match against policy names or display names."}}},"example":{"type":["string"],"active":[false],"cursor":[{"id":"string"}],"ids":[["string"]],"include_children":[false],"limit":[0],"parent_id":["string"],"term":["string"]}}}}}},"/access_control_policies/cel/autocomplete/fields":{"get":{"tags":["Access Control"],"parameters":[{"name":"after","in":"query","description":"The field ID to start after for pagination.","required":false,"schema":{"type":"string","example":""}},{"name":"limit","in":"query","description":"The maximum number of fields to return.","required":true,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetAccessControlPolicyAutocompleteFields","api_endpoint":"https://{site_url}/api/v4/access_control_policies/cel/autocomplete/fields"},"summary":"Get autocomplete fields for access control policies","description":"Get autocomplete fields for access control policies | Provides a list of fields that can be used for autocompletion when creating/editing access control policy expressions.\n##### Permissions\nMust have the `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/access_control_policies/{policy_id}":{"get":{"tags":["Access Control"],"parameters":[{"name":"policy_id","in":"path","description":"The ID of the access control policy.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetAccessControlPolicy","api_endpoint":"https://{site_url}/api/v4/access_control_policies/{policy_id}"},"summary":"Get an access control policy","description":"Get an access control policy | Gets a specific access control policy by its ID.\n##### Permissions\nMust have the `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]},"delete":{"tags":["Access Control"],"parameters":[{"name":"policy_id","in":"path","description":"The ID of the access control policy.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#DeleteAccessControlPolicy","api_endpoint":"https://{site_url}/api/v4/access_control_policies/{policy_id}"},"summary":"Delete an access control policy","description":"Delete an access control policy | Deletes an access control policy by its ID.\n##### Permissions\nMust have the `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/access_control_policies/{policy_id}/activate":{"get":{"tags":["Access Control"],"parameters":[{"name":"policy_id","in":"path","description":"The ID of the access control policy.","required":true,"schema":{"type":"string","example":""}},{"name":"active","in":"query","description":"Set to \"true\" to activate, \"false\" to deactivate.","required":true,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UpdateAccessControlPolicyActiveStatus","api_endpoint":"https://{site_url}/api/v4/access_control_policies/{policy_id}/activate"},"summary":"Activate or deactivate an access control policy","description":"Activate or deactivate an access control policy | Updates the active status of an access control policy.\n**Deprecated:** This endpoint will be removed in a future release. Use the dedicated access control policy update endpoint instead.\nLink: ; rel=\"successor-version\"\n##### Permissions\nMust have the `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/access_control_policies/{policy_id}/assign":{"post":{"tags":["Access Control"],"parameters":[{"name":"policy_id","in":"path","description":"The ID of the access control policy.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#AssignAccessControlPolicyToChannels","api_endpoint":"https://{site_url}/api/v4/access_control_policies/{policy_id}/assign"},"summary":"Assign an access control policy to channels or teams","description":"Assign an access control policy to channels or teams | Assigns an access control policy to a list of channels and/or teams.\n##### Permissions\nMust have the `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"channel_ids":{"type":"array","description":"The IDs of the channels to assign the policy to.","items":{"type":"string"}},"team_ids":{"type":"array","description":"The IDs of the teams to assign the policy to. Requires the `manage_system` permission. Any unknown team ID is rejected with a 400.","items":{"type":"string"}}}},"example":{"channel_ids":[["string"]],"team_ids":[["string"]]}}}}}},"/access_control_policies/{policy_id}/unassign":{"delete":{"tags":["Access Control"],"parameters":[{"name":"policy_id","in":"path","description":"The ID of the access control policy.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UnassignAccessControlPolicyFromChannels","api_endpoint":"https://{site_url}/api/v4/access_control_policies/{policy_id}/unassign"},"summary":"Unassign an access control policy from channels or teams","description":"Unassign an access control policy from channels or teams | Unassigns an access control policy from a list of channels and/or teams.\n##### Permissions\nMust have the `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"channel_ids":{"type":"array","description":"The IDs of the channels to unassign the policy from.","items":{"type":"string"}},"team_ids":{"type":"array","description":"The IDs of the teams to unassign the policy from. Requires the `manage_system` permission. Any unknown team ID is rejected with a 400.","items":{"type":"string"}}}},"example":{"channel_ids":[["string"]],"team_ids":[["string"]]}}}}}},"/access_control_policies/{policy_id}/resources/channels":{"get":{"tags":["Access Control"],"parameters":[{"name":"policy_id","in":"path","description":"The ID of the access control policy.","required":true,"schema":{"type":"string","example":""}},{"name":"after","in":"query","description":"The channel ID to start after for pagination.","required":false,"schema":{"type":"string","example":""}},{"name":"limit","in":"query","description":"The maximum number of channels to return.","required":true,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetChannelsForAccessControlPolicy","api_endpoint":"https://{site_url}/api/v4/access_control_policies/{policy_id}/resources/channels"},"summary":"Get channels for an access control policy","description":"Get channels for an access control policy | Retrieves a paginated list of channels to which a specific access control policy is applied.\n##### Permissions\nMust have the `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/access_control_policies/{policy_id}/resources/channels/search":{"post":{"tags":["Access Control"],"parameters":[{"name":"policy_id","in":"path","description":"The ID of the access control policy.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#SearchChannelsForAccessControlPolicy","api_endpoint":"https://{site_url}/api/v4/access_control_policies/{policy_id}/resources/channels/search"},"summary":"Search channels for an access control policy","description":"Search channels for an access control policy | Searches for channels associated with a specific access control policy based on search criteria.\n##### Permissions\nMust have the `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"deleted":{"type":"boolean","description":"Filters results to only return deleted / archived channels.","enum":[true,false]},"include_deleted":{"type":"boolean","description":"Whether to include deleted channels in the search results.","enum":[true,false]},"private":{"type":"boolean","description":"Filters results to only return Private channels.","enum":[true,false]},"public":{"type":"boolean","description":"Filters results to only return Public / Open channels.","enum":[true,false]},"team_ids":{"type":"array","description":"Filters results to channels belonging to the given team ids.","items":{"type":"string"}},"term":{"type":"string","description":"The string to search in the channel name, display name, and purpose."}}},"example":{"deleted":[false],"include_deleted":[false],"private":[false],"public":[false],"team_ids":[["string"]],"term":["string"]}}}}}},"/channels/{channel_id}/access_control/attributes":{"get":{"tags":["Access Control"],"parameters":[{"name":"channel_id","in":"path","description":"The ID of the channel.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetChannelAccessControlAttributes","api_endpoint":"https://{site_url}/api/v4/channels/{channel_id}/access_control/attributes"},"summary":"Get access control attributes for a channel","description":"Get access control attributes for a channel | Retrieves the effective access control policy attributes for a specific channel.\nThis can be used to understand what attributes are currently being applied to the channel by the access control system.\n##### Permissions\nMust have `read_channel` permission for the specified channel. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/access_control_policies/cel/visual_ast":{"post":{"tags":["Access Control"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetCELVisualAST","api_endpoint":"https://{site_url}/api/v4/access_control_policies/cel/visual_ast"},"summary":"Get the visual AST for a CEL expression","description":"Get the visual AST for a CEL expression | Retrieves the visual AST for a CEL expression.\n##### Permissions\nMust have the `manage_system` permission. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"channelId":{"type":"string","description":"The channel ID to contextually test the expression against (required for channel admins)."},"expression":{"type":"string","description":"The CEL expression to visualize."}}},"example":{"channelId":["string"],"expression":["string"]}}}}}},"/access_control_policies/activate":{"put":{"tags":["Access Control"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UpdateAccessControlPoliciesActive","api_endpoint":"https://{site_url}/api/v4/access_control_policies/activate"},"summary":"Activate or deactivate access control policies","description":"Activate or deactivate access control policies | Updates the active status of access control policies.\n##### Permissions\nMust have the `manage_system` permission. OR be a channel admin with manage_channel_access_rules permission for the specified channels. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"entries":{"type":"array","description":"body.entries (array field from the documented request schema)","items":{"type":"object","properties":{"active":{"type":"boolean","description":"The active status of the policy.","enum":[true,false]},"id":{"type":"string","description":"The ID of the policy."}}}}}},"example":{"entries":[[{"active":false,"id":"string"}]]}}}}}},"/access_control/decisions/actions/search":{"post":{"tags":["Access Control"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#SearchAccessControlDecisionActions","api_endpoint":"https://{site_url}/api/v4/access_control/decisions/actions/search"},"summary":"Search allowed actions for the current user (render-time decision)","description":"Search allowed actions for the current user (render-time decision) | Returns non-authoritative, render-time ABAC decisions for the current\nsession user on a given resource and set of actions. Use these decisions\nto decide whether to show or hide UI controls before the user attempts\nan action.\nThe subject is always the authenticated session user; there is no way to\nprobe another user's decisions. Server-side enforcement always re-evaluates\nthe full policy on the actual request and remains the source of truth.\nGated by the `PermissionPolicies` feature flag and an Enterprise license.\nWhen ABAC is inactive for the resource, every action is returned as\n`allowed: true, evaluated: true`.\n##### Permissions\nMust be authenticated (any logged-in user). | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"actions":{"type":"array","description":"Actions to evaluate (max 16). Omit or leave empty for discovery mode: the server evaluates all registered actions for the resource type and returns the permitted set.","items":{"type":"string"}},"page":{"type":"object","description":"RESERVED for Phase 3 pagination. Accepted in requests but always ignored; next_token is never emitted in responses. Present to allow Phase 3 pagination as a non-breaking extension.","properties":{"next_token":{"type":"string","description":"body.page.next_token (string field from the documented request schema)"}}},"resource":{"type":"object","description":"Identifies a resource (type + id) for an ABAC decision request.","required":true,"properties":{"type":{"type":"string","description":"The resource type (e.g. \"channel\").","required":true},"id":{"type":"string","description":"The resource identifier.","required":true}}},"subject":{"type":"object","description":"RESERVED for Phase 3 cross-subject evaluation. In Phase 2 the ID must equal the authenticated session user ID; mismatches return 403. Present to allow Phase 3 as a non-breaking extension.","properties":{"type":{"type":"string","description":"body.subject.type (string field from the documented request schema)"},"id":{"type":"string","description":"body.subject.id (string field from the documented request schema)","required":true}}}}},"example":{"actions":[["string"]],"page":[{"next_token":"string"}],"resource":[{"type":"string","id":"string"}],"subject":[{"type":"string","id":"string"}]}}}}}},"/content_flagging/flag/config":{"get":{"tags":["Content Flagging"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetCFFlagConfig","api_endpoint":"https://{site_url}/api/v4/content_flagging/flag/config"},"summary":"Get content flagging configuration","description":"Get content flagging configuration | Returns the configuration for content flagging, including the list of available reasons for flagging content. This data is used to gather details from the user when they flag content.\nAn enterprise advanced license is required. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/content_flagging/team/{team_id}/status":{"get":{"tags":["Content Flagging"],"parameters":[{"name":"team_id","in":"path","description":"The ID of the team to retrieve the content flagging status for","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetCFTeamStatus","api_endpoint":"https://{site_url}/api/v4/content_flagging/team/{team_id}/status"},"summary":"Get content flagging status for a team","description":"Get content flagging status for a team | Returns the content flagging status for a specific team, indicating whether content flagging is enabled on the specified team or not.\nAn enterprise advanced license is required. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/content_flagging/post/{post_id}/flag":{"post":{"tags":["Content Flagging"],"parameters":[{"name":"post_id","in":"path","description":"The ID of the post to be flagged","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#PostCFPostFlag","api_endpoint":"https://{site_url}/api/v4/content_flagging/post/{post_id}/flag"},"summary":"Flag a post","description":"Flag a post | Flags a post with a reason and a comment. The user must have access to the channel to which the post belongs to.\nAn enterprise advanced license is required. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"comment":{"type":"string","description":"Comment from the user flagging the post."},"reason":{"type":"string","description":"The reason for flagging the post. This must be one of the configured reasons available for selection."}}},"example":{"comment":["string"],"reason":["string"]}}}}}},"/content_flagging/fields":{"get":{"tags":["Content Flagging"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetCFFields","api_endpoint":"https://{site_url}/api/v4/content_flagging/fields"},"summary":"Get content flagging property fields","description":"Get content flagging property fields | Returns the list of property fields that can be associated with content flagging reports. These fields are used for storing metadata about a post's flag.\nAn enterprise advanced license is required. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/content_flagging/post/{post_id}/field_values":{"get":{"tags":["Content Flagging"],"parameters":[{"name":"post_id","in":"path","description":"The ID of the post to retrieve property field values for","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetCFPostFieldValues","api_endpoint":"https://{site_url}/api/v4/content_flagging/post/{post_id}/field_values"},"summary":"Get content flagging property field values for a post","description":"Get content flagging property field values for a post | Returns the property field values associated with content flagging reports for a specific post. These values provide additional context about the flags on the post.\nAn enterprise advanced license is required. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/content_flagging/post/{post_id}":{"get":{"tags":["Content Flagging"],"parameters":[{"name":"post_id","in":"path","description":"The ID of the post to retrieve","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetCFPost","api_endpoint":"https://{site_url}/api/v4/content_flagging/post/{post_id}"},"summary":"Get a flagged post with all its content.","description":"Get a flagged post with all its content. | Returns the flagged post with all its data, even if it is soft-deleted. This endpoint is only accessible by content reviewers. A content reviewer can only fetch flagged posts from this API if the post is indeed flagged and they are a content reviewer of the post's team.\nAn enterprise advanced license is required. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/content_flagging/post/{post_id}/remove":{"put":{"tags":["Content Flagging"],"parameters":[{"name":"post_id","in":"path","description":"The ID of the post to be removed","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#RemoveCFPost","api_endpoint":"https://{site_url}/api/v4/content_flagging/post/{post_id}/remove"},"summary":"Remove a flagged post","description":"Remove a flagged post | Permanently removes a flagged post and all its associated contents from the system. This action is typically performed by content reviewers after they have reviewed the flagged content. This action is irreversible.\nThe user must be a content reviewer of the team to which the post belongs to.\nAn enterprise advanced license is required. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/content_flagging/post/{post_id}/keep":{"put":{"tags":["Content Flagging"],"parameters":[{"name":"post_id","in":"path","description":"The ID of the post to be kept","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#KeepCFPost","api_endpoint":"https://{site_url}/api/v4/content_flagging/post/{post_id}/keep"},"summary":"Keep a flagged post","description":"Keep a flagged post | Marks a flagged post as reviewed and keeps it in the system without any changes. This action is typically performed by content reviewers after they have reviewed the flagged content and determined that it does not violate any guidelines.\nThe user must be a content reviewer of the team to which the post belongs to.\nAn enterprise advanced license is required. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/content_flagging/config":{"get":{"tags":["Content Flagging"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetCFConfig","api_endpoint":"https://{site_url}/api/v4/content_flagging/config"},"summary":"Get the system content flagging configuration","description":"Get the system content flagging configuration | Returns the system configuration for content flagging, including settings related to notifications, flagging configurations, etc..\nOnly system admins can access this endpoint. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]},"put":{"tags":["Content Flagging"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UpdateCFConfig","api_endpoint":"https://{site_url}/api/v4/content_flagging/config"},"summary":"Update the system content flagging configuration","description":"Update the system content flagging configuration | Updates the system configuration for content flagging, including settings related to notifications, flagging configurations, etc..\nOnly system admins can access this endpoint. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"EnableContentFlagging":{"type":"boolean","description":"Flag to enable or disable content flagging feature","enum":[true,false]}}},"example":{"EnableContentFlagging":[true]}}}}}},"/content_flagging/team/{team_id}/reviewers/search":{"get":{"tags":["Content Flagging"],"parameters":[{"name":"team_id","in":"path","description":"The ID of the team to search for content reviewers for","required":true,"schema":{"type":"string","example":""}},{"name":"term","in":"query","description":"The search term to filter content reviewers by","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#SearchCFTeamReviewers","api_endpoint":"https://{site_url}/api/v4/content_flagging/team/{team_id}/reviewers/search"},"summary":"Search content reviewers in a team","description":"Search content reviewers in a team | Searches for content reviewers of a specific team based on a provided term. Only a content reviewer can access this endpoint.\nAn enterprise advanced license is required. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/content_flagging/post/{post_id}/assign/{content_reviewer_id}":{"post":{"tags":["Content Flagging"],"parameters":[{"name":"content_reviewer_id","in":"path","description":"The ID of the user to be assigned as the content reviewer for the post","required":true,"schema":{"type":"string","example":""}},{"name":"post_id","in":"path","description":"The ID of the post to assign a content reviewer to","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#PostCFPostReviewer","api_endpoint":"https://{site_url}/api/v4/content_flagging/post/{post_id}/assign/{content_reviewer_id}"},"summary":"Assign a content reviewer to a flagged post","description":"Assign a content reviewer to a flagged post | Assigns a content reviewer to a specific flagged post for review. The user must be a content reviewer of the team to which the post belongs to.\nAn enterprise advanced license is required. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/content_flagging/post/{post_id}/report":{"post":{"tags":["Content Flagging"],"parameters":[{"name":"post_id","in":"path","description":"The ID of the flagged post to generate the report for","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GenerateCFPostReport","api_endpoint":"https://{site_url}/api/v4/content_flagging/post/{post_id}/report"},"summary":"Generate and download a flagged post report","description":"Generate and download a flagged post report | Generates a ZIP archive containing the flagged post, its edit history, content review details, post metadata, and any associated file attachments, then streams the archive back to the caller as a download. All other content reviewers of the post's team are notified that a report has been generated.\nThe user must be a content reviewer of the team to which the post belongs to, and the post must be flagged.\nAn enterprise advanced license is required. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"comment":{"type":"string","description":"Optional comment from the reviewer to be included in the generated report."}}},"example":{"comment":["string"]}}}}}},"/content_flagging/post/{post_id}/exposure_report":{"post":{"tags":["Content Flagging"],"parameters":[{"name":"post_id","in":"path","description":"The ID of the flagged post to generate the exposure report for","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GenerateCFPostExposureReport","api_endpoint":"https://{site_url}/api/v4/content_flagging/post/{post_id}/exposure_report"},"summary":"Generate and download a post exposure report","description":"Generate and download a post exposure report | Generates a CSV report listing the users who may have been exposed to a flagged post, derived from the channel membership history between the post's creation and it being flagged, and from each member's channel read state. All other content reviewers of the post's team are notified that an exposure report has been generated.\nThe user must be a content reviewer of the team to which the post belongs to, and the post must be flagged. The report remains available after the review is closed, in any status.\nExposure reports are not available for direct or group message channels.\nAn enterprise advanced license is required. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/agents":{"get":{"tags":["Agents"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetAgents","api_endpoint":"https://{site_url}/api/v4/agents"},"summary":"Get available agents","description":"Get available agents | Retrieve all available agents from the plugin's bridge API. If a user ID is provided, only agents accessible to that user are returned.\n##### Permissions\nMust be authenticated.\n__Minimum server version__: 11.2 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/agents/status":{"get":{"tags":["Agents"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetAgentsStatus","api_endpoint":"https://{site_url}/api/v4/agents/status"},"summary":"Get agents bridge status","description":"Get agents bridge status | Retrieve the status of the AI plugin bridge. Returns availability boolean and a reason code if unavailable.\n##### Permissions\nMust be authenticated.\n__Minimum server version__: 11.2 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/llmservices":{"get":{"tags":["Agents"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetLLMServices","api_endpoint":"https://{site_url}/api/v4/llmservices"},"summary":"Get available LLM services","description":"Get available LLM services | Retrieve all available LLM services from the plugin's bridge API. If a user ID is provided, only services accessible to that user (via their permitted bots) are returned.\n##### Permissions\nMust be authenticated.\n__Minimum server version__: 11.2 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/scheduled_recaps":{"post":{"tags":["Scheduled Recaps"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#CreateScheduledRecap","api_endpoint":"https://{site_url}/api/v4/scheduled_recaps"},"summary":"Create a scheduled recap","description":"Create a scheduled recap | Create a new scheduled recap configuration. Scheduled recaps run on a recurring or one-time schedule, generating AI-powered channel summaries at the configured time and day(s).\n##### Permissions\nMust be authenticated. The recap is created for the authenticated user.\n__Minimum server version__: 11.2 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"channel_ids":{"type":"array","description":"body.channel_ids (array field from the documented request schema)","required":true,"items":{"type":"string"}},"channel_mode":{"type":"string","description":"body.channel_mode (string field from the documented request schema)","required":true}}},"example":{"channel_ids":[["string"]],"channel_mode":["specific"]}}}}},"get":{"tags":["Scheduled Recaps"],"parameters":[{"name":"page","in":"query","description":"The page to select.","required":false,"schema":{"type":"number","example":""}},{"name":"per_page","in":"query","description":"The number of scheduled recaps per page.","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetScheduledRecaps","api_endpoint":"https://{site_url}/api/v4/scheduled_recaps"},"summary":"Get current user's scheduled recaps","description":"Get current user's scheduled recaps | Get a paginated list of scheduled recaps for the authenticated user.\n##### Permissions\nMust be authenticated.\n__Minimum server version__: 11.2 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/scheduled_recaps/{scheduled_recap_id}":{"get":{"tags":["Scheduled Recaps"],"parameters":[{"name":"scheduled_recap_id","in":"path","description":"Scheduled Recap GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetScheduledRecap","api_endpoint":"https://{site_url}/api/v4/scheduled_recaps/{scheduled_recap_id}"},"summary":"Get a scheduled recap","description":"Get a scheduled recap | Get a scheduled recap by its ID. Only the user who owns the scheduled recap can retrieve it.\n##### Permissions\nMust be authenticated. Must own the scheduled recap.\n__Minimum server version__: 11.2 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]},"put":{"tags":["Scheduled Recaps"],"parameters":[{"name":"scheduled_recap_id","in":"path","description":"Scheduled Recap GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UpdateScheduledRecap","api_endpoint":"https://{site_url}/api/v4/scheduled_recaps/{scheduled_recap_id}"},"summary":"Update a scheduled recap","description":"Update a scheduled recap | Update a scheduled recap configuration. Only the user who owns the scheduled recap can update it. The `user_id` and `create_at` fields are preserved from the original and cannot be changed.\n##### Permissions\nMust be authenticated. Must own the scheduled recap.\n__Minimum server version__: 11.2 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"channel_ids":{"type":"array","description":"body.channel_ids (array field from the documented request schema)","required":true,"items":{"type":"string"}},"channel_mode":{"type":"string","description":"body.channel_mode (string field from the documented request schema)","required":true}}},"example":{"channel_ids":[["string"]],"channel_mode":["specific"]}}}}},"delete":{"tags":["Scheduled Recaps"],"parameters":[{"name":"scheduled_recap_id","in":"path","description":"Scheduled Recap GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#DeleteScheduledRecap","api_endpoint":"https://{site_url}/api/v4/scheduled_recaps/{scheduled_recap_id}"},"summary":"Delete a scheduled recap","description":"Delete a scheduled recap | Delete a scheduled recap by its ID. Only the user who owns the scheduled recap can delete it.\n##### Permissions\nMust be authenticated. Must own the scheduled recap.\n__Minimum server version__: 11.2 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/scheduled_recaps/{scheduled_recap_id}/pause":{"post":{"tags":["Scheduled Recaps"],"parameters":[{"name":"scheduled_recap_id","in":"path","description":"Scheduled Recap GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#PauseScheduledRecap","api_endpoint":"https://{site_url}/api/v4/scheduled_recaps/{scheduled_recap_id}/pause"},"summary":"Pause a scheduled recap","description":"Pause a scheduled recap | Pause a scheduled recap, preventing it from running until resumed. Only the user who owns the scheduled recap can pause it.\n##### Permissions\nMust be authenticated. Must own the scheduled recap.\n__Minimum server version__: 11.2 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/scheduled_recaps/{scheduled_recap_id}/resume":{"post":{"tags":["Scheduled Recaps"],"parameters":[{"name":"scheduled_recap_id","in":"path","description":"Scheduled Recap GUID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#ResumeScheduledRecap","api_endpoint":"https://{site_url}/api/v4/scheduled_recaps/{scheduled_recap_id}/resume"},"summary":"Resume a scheduled recap","description":"Resume a scheduled recap | Resume a previously paused scheduled recap, allowing it to run on its configured schedule again. Only the user who owns the scheduled recap can resume it.\n##### Permissions\nMust be authenticated. Must own the scheduled recap.\n__Minimum server version__: 11.2 | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/properties/groups/{group_name}/{object_type}/fields":{"post":{"tags":["Properties"],"parameters":[{"name":"group_name","in":"path","description":"The name of the property group","required":true,"schema":{"type":"string","example":""}},{"name":"object_type","in":"path","description":"The type of object this property field applies to","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#CreatePropertyField","api_endpoint":"https://{site_url}/api/v4/properties/groups/{group_name}/{object_type}/fields"},"summary":"Create a property field","description":"Create a property field | Create a new property field for a specific group and object type. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"type":{"type":"string","description":"The type of property field","required":true},"attrs":{"type":"object","description":"Additional attributes for the property field","properties":{}},"linked_field_id":{"type":"string","description":"The ID of a template field to link to. The source must be a template field in the same group, must not itself be linked, and must not be deleted. When set, the created field inherits the source's type, options, and security attributes; the `type` field in the request body is ignored. Can only be set at creation time."},"name":{"type":"string","description":"The name of the property field","required":true},"permission_field":{"type":"string","description":"Permission level for editing the field definition. Only system admins can set this; ignored for non-admin users."},"permission_options":{"type":"string","description":"Permission level for managing options on select/multiselect fields. Only system admins can set this; ignored for non-admin users."},"permission_values":{"type":"string","description":"Permission level for setting values on objects. Only system admins can set this; ignored for non-admin users."},"target_id":{"type":"string","description":"The ID of the target"},"target_type":{"type":"string","description":"The scope level of the property","required":true}}},"example":{"type":["text"],"attrs":[{}],"linked_field_id":["string"],"name":["string"],"permission_field":["member"],"permission_options":["member"],"permission_values":["member"],"target_id":["string"],"target_type":["string"]}}}}},"get":{"tags":["Properties"],"parameters":[{"name":"group_name","in":"path","description":"The name of the property group","required":true,"schema":{"type":"string","example":""}},{"name":"object_type","in":"path","description":"The type of object to retrieve property fields for","required":true,"schema":{"type":"string","example":""}},{"name":"channel_id","in":"query","description":"Hierarchical scope. When set, the response includes system-level rows, team-level rows for the channel's team, and channel-level rows for this channel. Mutually exclusive with `target_type` and `target_id`. Requires `read_channel` on the channel.","required":false,"schema":{"type":"string","example":""}},{"name":"cursor_create_at","in":"query","description":"The `create_at` timestamp of the last property field from the previous page. Required alongside `cursor_id` when `since` is absent. Mutually exclusive with `cursor_update_at`.","required":false,"schema":{"type":"number","example":""}},{"name":"cursor_id","in":"query","description":"The ID of the last property field from the previous page, for cursor-based pagination.","required":false,"schema":{"type":"string","example":""}},{"name":"cursor_update_at","in":"query","description":"The `update_at` timestamp of the last property field from the previous page. Required alongside `cursor_id` when `since` is present. Mutually exclusive with `cursor_create_at`.","required":false,"schema":{"type":"number","example":""}},{"name":"per_page","in":"query","description":"The number of property fields per page.","required":false,"schema":{"type":"number","example":""}},{"name":"since","in":"query","description":"Unix timestamp in milliseconds. When greater than 0, returns fields with `update_at` greater than or equal to this value, including tombstones.","required":false,"schema":{"type":"number","example":""}},{"name":"target_id","in":"query","description":"Single-target scope. Required when `target_type` is `channel` or `team`. Mutually exclusive with `channel_id` and `team_id`.","required":false,"schema":{"type":"string","example":""}},{"name":"target_type","in":"query","description":"Single-target scope. One of `system`, `team`, or `channel`. Required in single-target mode. Mutually exclusive with `channel_id` and `team_id`.","required":false,"schema":{"type":"string","example":"","items":{"type":"string","enum":["system","team","channel"]}}},{"name":"team_id","in":"query","description":"Hierarchical scope. When set without `channel_id`, the response includes system-level and team-level rows for this team. When `channel_id` is also set, this value is ignored — the channel's team is resolved server-side and used instead. Mutually exclusive with `target_type` and `target_id`. Requires `view_team` on the team.","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetPropertyFields","api_endpoint":"https://{site_url}/api/v4/properties/groups/{group_name}/{object_type}/fields"},"summary":"Get property fields","description":"Get property fields | Get a list of property fields for a specific group and object type. Uses cursor-based pagination.\n**Scope modes (mutually exclusive):**\n- **Hierarchical scope** (`channel_id` and/or `team_id`): returns fields scoped to the named resource *and every ancestor scope above it*. System-level rows are always included; team-level rows are included when `team_id` is set; channel-level rows are included only when `channel_id` is set. When `channel_id` is provided, the channel's team is resolved server-side, so any `team_id` the caller passes is ignored. For DM and GM channels there is no parent team, so the hierarchy collapses to `system → channel` and no team-scoped rows are returned. Requires the caller to have `read_channel` for the channel and/or `view_team` for the team.\n- **Single-target scope** (`target_type` + `target_id`): returns fields scoped to exactly one resource. `target_type` must be `system`, `team`, or `channel`; `target_id` is required for `team` and `channel`.\nMixing the two modes (any of `channel_id`/`team_id` together with any of `target_type`/`target_id`) returns 400. Omitting both modes also returns 400, except for the system case below.\n**System-object:** when `object_type` is `system`, the endpoint always resolves to `target_type=system` and ignores any `channel_id`, `team_id`, `target_type`, or `target_id` the caller may have passed. System-object fields can only live at the system scope by invariant, so any other scope is a semantic no-op rather than an error.\n**Delta sync via `since`:** When `since > 0`, the endpoint returns rows whose `update_at` is **greater than or equal to** the cutoff, *including* tombstoned rows (`delete_at > 0`). The inclusive boundary lets clients safely re-use the highest `update_at` seen on a previous page as the next `since` value without missing rows that happened to share that millisecond. Rows within a delta page are ordered by `(update_at, id)` and the cursor disambiguates same-millisecond rows across pages.\n**Cursor source:** the client owns the cursor. The initial delta-sync request omits `since` (or sends `since=0`). For subsequent requests the client persists the `update_at` and `id` of the last row in the response and passes them back as `cursor_update_at` and `cursor_id` alongside the same `since` value. This mirrors the cursor convention used by the shared-channel post-sync API.\n**Cursor key must match the active ordering:** in delta mode (`since > 0`) the endpoint orders by `update_at` and pagination requires `cursor_update_at`; otherwise it orders by `create_at` and pagination requires `cursor_create_at`. Passing the wrong key for the active mode returns 400. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/properties/groups/{group_name}/fields/search":{"post":{"tags":["Properties"],"parameters":[{"name":"group_name","in":"path","description":"The name of the property group","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#SearchPropertyFields","api_endpoint":"https://{site_url}/api/v4/properties/groups/{group_name}/fields/search"},"summary":"Search property fields across multiple object types","description":"Search property fields across multiple object types | Returns matching fields across every requested object type in one response. The request body is a `PropertyFieldSearch` object whose `object_types` field lists the object types to include.\nScope, `since`, cursor, and permission semantics are identical to the get property fields endpoint, including the system-object collapse: when `object_types` is exactly `[\"system\"]`, any scope or target params in the body are ignored and the endpoint resolves to `target_type=system`. Any other combination without an explicit scope returns 400.\nRequesting a single value in `object_types` is equivalent to calling the singular endpoint and is supported for client uniformity. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"channel_id":{"type":"string","description":"Hierarchical scope. When set, the response includes system-level rows, team-level rows for the channel's team, and channel-level rows for this channel across every requested `object_types`. Mutually exclusive with `target_type`/`target_id`. Requires `read_channel` on the channel."},"cursor_create_at":{"type":"number","description":"The `create_at` timestamp of the last property field from the previous page. Required alongside `cursor_id` when `since` is absent. Mutually exclusive with `cursor_update_at`."},"cursor_id":{"type":"string","description":"The ID of the last property field from the previous page, for cursor-based pagination."},"cursor_update_at":{"type":"number","description":"The `update_at` timestamp of the last property field from the previous page. Required alongside `cursor_id` when `since` is present. Mutually exclusive with `cursor_create_at`."},"object_types":{"type":"array","description":"One or more object types to include in the response. At least one value is required; unknown values return 400.","required":true,"items":{"type":"string"}},"per_page":{"type":"number","description":"The number of property fields per page."},"since":{"type":"number","description":"Unix timestamp in milliseconds. When greater than 0, returns fields with `update_at` greater than or equal to this value, including tombstones."},"target_id":{"type":"string","description":"Single-target scope. Required when `target_type` is `channel` or `team`. Mutually exclusive with `channel_id` and `team_id`."},"target_type":{"type":"string","description":"Single-target scope. Mutually exclusive with `channel_id` and `team_id`. Required if no hierarchical scope is given, except when `object_types` is exactly `[\"system\"]` — in that case any scope or target params are ignored and the endpoint resolves to `target_type=system`."},"team_id":{"type":"string","description":"Hierarchical scope. When set without `channel_id`, the response includes system-level and team-level rows for this team across every requested `object_types`. When `channel_id` is also set, this value is ignored — the channel's team is resolved server-side and used instead. Mutually exclusive with `target_type`/`target_id`. Requires `view_team` on the team."}}},"example":{"channel_id":["string"],"cursor_create_at":[0],"cursor_id":["string"],"cursor_update_at":[0],"object_types":[["post"]],"per_page":[60],"since":[0],"target_id":["string"],"target_type":["system"],"team_id":["string"]}}}}}},"/properties/groups/{group_name}/{object_type}/fields/{field_id}":{"patch":{"tags":["Properties"],"parameters":[{"name":"field_id","in":"path","description":"Property field ID","required":true,"schema":{"type":"string","example":""}},{"name":"group_name","in":"path","description":"The name of the property group","required":true,"schema":{"type":"string","example":""}},{"name":"object_type","in":"path","description":"The type of object this property field applies to","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UpdatePropertyField","api_endpoint":"https://{site_url}/api/v4/properties/groups/{group_name}/{object_type}/fields/{field_id}"},"summary":"Update a property field","description":"Update a property field | Partially update a property field by providing only the fields you want to update. Omitted fields will not be updated. The `attrs` object uses merge semantics: only the keys present in the patch are updated; omitted keys are preserved. Setting a key to `null` removes it from attrs.\n**Immutable fields:** `target_type`, `target_id`, and `object_type` cannot be changed after creation and are ignored if included in the patch.\n**Linked fields:** Fields with a `linked_field_id` cannot have their `type` or `attrs.options` modified (returns 400). The `linked_field_id` can only be cleared (set to empty string `\"\"`) to unlink the field; it cannot be changed to a different value. For non-linked fields, `linked_field_id` cannot be set to a new value (linking is only allowed at creation time).\n**Propagation:** When a template field's options are updated, the changes propagate atomically to all fields that link to it. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"type":{"type":"string","description":"body.type (string field from the documented request schema)"},"attrs":{"type":"object","description":"body.attrs (object field from the documented request schema)","properties":{}},"linked_field_id":{"type":"string","description":"Set to empty string to unlink a linked field. Cannot be set to a new value on an existing field; linking is only allowed at creation time."},"name":{"type":"string","description":"body.name (string field from the documented request schema)"}}},"example":{"type":["string"],"attrs":[{}],"linked_field_id":["string"],"name":["string"]}}}}},"delete":{"tags":["Properties"],"parameters":[{"name":"field_id","in":"path","description":"Property field ID","required":true,"schema":{"type":"string","example":""}},{"name":"group_name","in":"path","description":"The name of the property group","required":true,"schema":{"type":"string","example":""}},{"name":"object_type","in":"path","description":"The type of object this property field applies to","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#DeletePropertyField","api_endpoint":"https://{site_url}/api/v4/properties/groups/{group_name}/{object_type}/fields/{field_id}"},"summary":"Delete a property field","description":"Delete a property field | Deletes a property field and all its associated values. Returns 409 Conflict if the field has active linked dependents; unlink or delete dependent fields first. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/properties/groups/{group_name}/{object_type}/values/{target_id}":{"get":{"tags":["Properties"],"parameters":[{"name":"group_name","in":"path","description":"The name of the property group","required":true,"schema":{"type":"string","example":""}},{"name":"object_type","in":"path","description":"The type of object","required":true,"schema":{"type":"string","example":""}},{"name":"target_id","in":"path","description":"The ID of the target object","required":true,"schema":{"type":"string","example":""}},{"name":"cursor_create_at","in":"query","description":"The `create_at` timestamp of the last property value from the previous page. Required alongside `cursor_id` when `since` is absent. Mutually exclusive with `cursor_update_at`.","required":false,"schema":{"type":"number","example":""}},{"name":"cursor_id","in":"query","description":"The ID of the last property value from the previous page, for cursor-based pagination.","required":false,"schema":{"type":"string","example":""}},{"name":"cursor_update_at","in":"query","description":"The `update_at` timestamp of the last property value from the previous page. Required alongside `cursor_id` when `since` is present. Mutually exclusive with `cursor_create_at`.","required":false,"schema":{"type":"number","example":""}},{"name":"per_page","in":"query","description":"The number of property values per page.","required":false,"schema":{"type":"number","example":""}},{"name":"since","in":"query","description":"Unix timestamp in milliseconds. When greater than 0, returns values with `update_at` greater than or equal to this value, including tombstones.","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetPropertyValues","api_endpoint":"https://{site_url}/api/v4/properties/groups/{group_name}/{object_type}/values/{target_id}"},"summary":"Get property values for a target","description":"Get property values for a target | Get all property values for a specific target within a group. Uses cursor-based pagination. The `template` object type cannot have values and will return 400. The `system` object type must use the dedicated `/api/v4/properties/groups/{group_name}/system/values` endpoint and will return 400 on this route.\n**Delta sync via `since`:** When `since > 0`, the endpoint returns only rows whose `update_at` is greater than the cutoff, *including* tombstoned rows.\n**Cursor key must match the active ordering:** in delta mode (`since > 0`) the endpoint orders by `update_at` and pagination requires `cursor_update_at`; otherwise it orders by `create_at` and pagination requires `cursor_create_at`. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]},"patch":{"tags":["Properties"],"parameters":[{"name":"group_name","in":"path","description":"The name of the property group","required":true,"schema":{"type":"string","example":""}},{"name":"object_type","in":"path","description":"The type of object","required":true,"schema":{"type":"string","example":""}},{"name":"target_id","in":"path","description":"The ID of the target object","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UpdatePropertyValues","api_endpoint":"https://{site_url}/api/v4/properties/groups/{group_name}/{object_type}/values/{target_id}"},"summary":"Update property values for a target","description":"Update property values for a target | Update one or more property values for a specific target within a group. Uses upsert semantics: creates the value if it doesn't exist, updates it if it does. All field IDs must belong to the specified group. The `template` object type cannot have values and will return 400. The `system` object type must use the dedicated `/api/v4/properties/groups/{group_name}/system/values` endpoint and will return 400 on this route. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"body":{"type":"array","description":"body (request body parameter from the official API reference)","items":{"type":"object","properties":{"field_id":{"type":"string","description":"The ID of the property field","required":true},"value":{"type":"string","description":"The value to set for this property. Can be any JSON type.","required":true}}}}}},"example":{"body":[[{"field_id":"string","value":"string"}]]}}}}}},"/properties/groups/{group_name}/system/values":{"get":{"tags":["Properties"],"parameters":[{"name":"group_name","in":"path","description":"The name of the property group","required":true,"schema":{"type":"string","example":""}},{"name":"cursor_create_at","in":"query","description":"The `create_at` timestamp of the last property value from the previous page. Required alongside `cursor_id` when `since` is absent. Mutually exclusive with `cursor_update_at`.","required":false,"schema":{"type":"number","example":""}},{"name":"cursor_id","in":"query","description":"The ID of the last property value from the previous page, for cursor-based pagination.","required":false,"schema":{"type":"string","example":""}},{"name":"cursor_update_at","in":"query","description":"The `update_at` timestamp of the last property value from the previous page. Required alongside `cursor_id` when `since` is present. Mutually exclusive with `cursor_create_at`.","required":false,"schema":{"type":"number","example":""}},{"name":"per_page","in":"query","description":"The number of property values per page.","required":false,"schema":{"type":"number","example":""}},{"name":"since","in":"query","description":"Unix timestamp in milliseconds. When greater than 0, returns values with `update_at` greater than or equal to this value, including tombstones.","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#GetSystemPropertyValues","api_endpoint":"https://{site_url}/api/v4/properties/groups/{group_name}/system/values"},"summary":"Get property values for the system","description":"Get property values for the system | Get all property values attached to the Mattermost instance itself within a group. System-scoped values are readable by any authenticated user. This endpoint is the dedicated route for `system` object type; the `{object_type}/values/{target_id}` route returns 400 for `system`.\n**Delta sync via `since`:** When `since > 0`, the endpoint returns only rows whose `update_at` is greater than the cutoff, *including* tombstones.\n**Cursor key must match the active ordering:** in delta mode (`since > 0`) the endpoint orders by `update_at` and pagination requires `cursor_update_at`; otherwise it orders by `create_at` and pagination requires `cursor_create_at`. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]},"patch":{"tags":["Properties"],"parameters":[{"name":"group_name","in":"path","description":"The name of the property group","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#UpdateSystemPropertyValues","api_endpoint":"https://{site_url}/api/v4/properties/groups/{group_name}/system/values"},"summary":"Update property values for the system","description":"Update property values for the system | Update one or more property values attached to the Mattermost instance itself. Uses upsert semantics: creates the value if it doesn't exist, updates it if it does. Requires system administrator access. All field IDs must reference `system` object-type fields in the specified group; template field IDs are rejected with 400. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"body":{"type":"array","description":"body (request body parameter from the official API reference)","items":{"type":"object","properties":{"field_id":{"type":"string","description":"The ID of the property field","required":true},"value":{"type":"string","description":"The value to set for this property. Can be any JSON type.","required":true}}}}}},"example":{"body":[[{"field_id":"string","value":"string"}]]}}}}}},"/plugins/playbooks/api/v0/runs":{"get":{"tags":["PlaybookRuns"],"parameters":[{"name":"channel_id","in":"query","description":"The returned list will contain only the playbook runs associated with this channel ID.","required":false,"schema":{"type":"string","example":""}},{"name":"direction","in":"query","description":"Direction (ascending or descending) followed by the sorting of the playbook runs.","required":false,"schema":{"type":"string","example":"","items":{"type":"string","enum":["desc","asc"]}}},{"name":"omit_ended","in":"query","description":"When set to true, only active runs (with EndAt = 0) are returned. When false or omitted, both active and ended runs are returned.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"owner_user_id","in":"query","description":"The returned list will contain only the playbook runs commanded by this user. Specify \"me\" for current user.","required":false,"schema":{"type":"string","example":""}},{"name":"page","in":"query","description":"Zero-based index of the page to request.","required":false,"schema":{"type":"number","example":""}},{"name":"participant_id","in":"query","description":"The returned list will contain only the playbook runs for which the given user is a participant. Specify \"me\" for current user.","required":false,"schema":{"type":"string","example":""}},{"name":"per_page","in":"query","description":"Number of playbook runs to return per page.","required":false,"schema":{"type":"number","example":""}},{"name":"search_term","in":"query","description":"The returned list will contain only the playbook runs whose name contains the search term.","required":false,"schema":{"type":"string","example":""}},{"name":"since","in":"query","description":"Return only PlaybookRuns created/modified since the given timestamp (in milliseconds).","required":false,"schema":{"type":"number","example":""}},{"name":"sort","in":"query","description":"Field to sort the returned playbook runs by.","required":false,"schema":{"type":"string","example":"","items":{"type":"string","enum":["id","name","is_active","create_at","end_at","team_id","owner_user_id"]}}},{"name":"statuses","in":"query","description":"The returned list will contain only the playbook runs with the specified statuses.","required":false,"schema":{"type":"array","example":""}},{"name":"team_id","in":"query","description":"ID of the team to filter by.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#listPlaybookRuns","api_endpoint":"https://{site_url}/plugins/playbooks/api/v0/runs"},"summary":"List all playbook runs","description":"List all playbook runs | Retrieve a paged list of playbook runs, filtered by team, status, owner, name and/or members, and sorted by ID, name, status, creation date, end date, team or owner ID. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]},"post":{"tags":["PlaybookRuns"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#createPlaybookRunFromPost","api_endpoint":"https://{site_url}/plugins/playbooks/api/v0/runs"},"summary":"Create a new playbook run","description":"Create a new playbook run | Create a new playbook run in a team, using a playbook as template, with a specific name and a specific owner. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"name":{"type":"string","description":"The name of the playbook run.","required":true},"owner_user_id":{"type":"string","description":"The identifier of the user who is commanding the playbook run.","required":true},"playbook_id":{"type":"string","description":"The identifier of the playbook with from which this playbook run was created.","required":true},"post_id":{"type":"string","description":"If the playbook run was created from a post, this field contains the identifier of such post. If not, this field is empty."},"summary":{"type":"string","description":"The summary of the playbook run."},"team_id":{"type":"string","description":"The identifier of the team where the playbook run's channel is in.","required":true}}},"example":{"name":["Server down in EU cluster"],"owner_user_id":["bqnbdf8uc0a8yz4i39qrpgkvtg"],"playbook_id":["0y4a0ntte97cxvfont8y84wa7x"],"post_id":["b2ntfcrl4ujivl456ab4b3aago"],"summary":["There is one server in the EU cluster that is not responding since April 12."],"team_id":["61ji2mpflefup3cnuif80r5rde"]}}}}}},"/plugins/playbooks/api/v0/runs/dialog":{"post":{"tags":["Internal"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#createPlaybookRunFromDialog","api_endpoint":"https://{site_url}/plugins/playbooks/api/v0/runs/dialog"},"summary":"Create a new playbook run from dialog","description":"Create a new playbook run from dialog | This is an internal endpoint to create a playbook run from the submission of an interactive dialog, filled by a user in the webapp. See [Interactive Dialogs](https://docs.mattermost.com/developer/interactive-dialogs.html) for more information. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"type":{"type":"string","description":"body.type (string field from the documented request schema)"},"callback_id":{"type":"string","description":"Callback ID provided by the integration."},"cancelled":{"type":"boolean","description":"If the dialog was cancelled.","enum":[true,false]},"channel_id":{"type":"string","description":"ID of the channel the user was in when submitting the dialog."},"state":{"type":"string","description":"Stringified JSON with the post_id and the client_id."},"submission":{"type":"object","description":"Map of the dialog fields to their values","properties":{"playbookID":{"type":"string","description":"ID of the playbook to create the playbook run from.","required":true},"playbookRunDescription":{"type":"string","description":"An optional description of the playbook run."},"playbookRunName":{"type":"string","description":"The name of the playbook run to be created.","required":true}}},"team_id":{"type":"string","description":"ID of the team the user was on when submitting the dialog."},"url":{"type":"string","description":"body.url (string field from the documented request schema)"},"user_id":{"type":"string","description":"ID of the user who submitted the dialog."}}},"example":{"type":["dialog_submission"],"callback_id":["string"],"cancelled":[false],"channel_id":["string"],"state":["string"],"submission":[{"playbookID":"ahz0s61gh275i7z2ag4g1ntvjm","playbookRunDescription":"There is one server in the EU cluster that is not responding since April 12.","playbookRunName":"Server down in EU cluster."}],"team_id":["string"],"url":["string"],"user_id":["string"]}}}}}},"/plugins/playbooks/api/v0/runs/owners":{"get":{"tags":["PlaybookRuns"],"parameters":[{"name":"team_id","in":"query","description":"ID of the team to filter by.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#getOwners","api_endpoint":"https://{site_url}/plugins/playbooks/api/v0/runs/owners"},"summary":"Get all owners","description":"Get all owners | Get the owners of all playbook runs, filtered by team. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/plugins/playbooks/api/v0/runs/channels":{"get":{"tags":["PlaybookRuns"],"parameters":[{"name":"direction","in":"query","description":"Direction (ascending or descending) followed by the sorting of the playbook runs associated to the channels.","required":false,"schema":{"type":"string","example":"","items":{"type":"string","enum":["desc","asc"]}}},{"name":"owner_user_id","in":"query","description":"The returned list will contain only the channels whose playbook run is commanded by this user.","required":false,"schema":{"type":"string","example":""}},{"name":"participant_id","in":"query","description":"The returned list will contain only the channels associated to a playbook run for which the given user is a participant.","required":false,"schema":{"type":"string","example":""}},{"name":"search_term","in":"query","description":"The returned list will contain only the channels associated to a playbook run whose name contains the search term.","required":false,"schema":{"type":"string","example":""}},{"name":"sort","in":"query","description":"Field to sort the returned channels by, according to their playbook run.","required":false,"schema":{"type":"string","example":"","items":{"type":"string","enum":["id","name","create_at","end_at","team_id","owner_user_id"]}}},{"name":"status","in":"query","description":"The returned list will contain only the channels whose playbook run has this status.","required":false,"schema":{"type":"string","example":"","items":{"type":"string","enum":["all","InProgress","Finished"]}}},{"name":"team_id","in":"query","description":"ID of the team to filter by.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#getChannels","api_endpoint":"https://{site_url}/plugins/playbooks/api/v0/runs/channels"},"summary":"Get playbook run channels","description":"Get playbook run channels | Get all channels associated with a playbook run, filtered by team, status, owner, name and/or members, and sorted by ID, name, status, creation date, end date, team, or owner ID. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/plugins/playbooks/api/v0/runs/checklist-autocomplete":{"get":{"tags":["Internal"],"parameters":[{"name":"channel_ID","in":"query","description":"ID of the channel the user is in.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#getChecklistAutocomplete","api_endpoint":"https://{site_url}/plugins/playbooks/api/v0/runs/checklist-autocomplete"},"summary":"Get autocomplete data for /playbook check","description":"Get autocomplete data for /playbook check | This is an internal endpoint used by the autocomplete system to retrieve the data needed to show the list of items that the user can check. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/plugins/playbooks/api/v0/runs/channel/{channel_id}":{"get":{"tags":["PlaybookRuns"],"parameters":[{"name":"channel_id","in":"path","description":"ID of the channel associated to the playbook run to retrieve.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#getPlaybookRunByChannelId","api_endpoint":"https://{site_url}/plugins/playbooks/api/v0/runs/channel/{channel_id}"},"summary":"Find playbook run by channel ID","description":"Find playbook run by channel ID | Find playbook run by channel ID | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/plugins/playbooks/api/v0/runs/{id}":{"get":{"tags":["PlaybookRuns"],"parameters":[{"name":"id","in":"path","description":"ID of the playbook run to retrieve.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#getPlaybookRun","api_endpoint":"https://{site_url}/plugins/playbooks/api/v0/runs/{id}"},"summary":"Get a playbook run","description":"Get a playbook run | Get a playbook run | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]},"patch":{"tags":["PlaybookRuns"],"parameters":[{"name":"id","in":"path","description":"ID of the playbook run to retrieve.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#updatePlaybookRun","api_endpoint":"https://{site_url}/plugins/playbooks/api/v0/runs/{id}"},"summary":"Update a playbook run","description":"Update a playbook run | Update a playbook run | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"name":{"type":"string","description":"The new name of the playbook run. Must not be empty."},"summary":{"type":"string","description":"The new summary of the playbook run. Can be empty to clear the summary."}}},"example":{"name":["Updated Server Down Incident"],"summary":["## Incident Summary\n\nResolved the server outage."]}}}}}},"/plugins/playbooks/api/v0/runs/{id}/metadata":{"get":{"tags":["PlaybookRuns"],"parameters":[{"name":"id","in":"path","description":"ID of the playbook run whose metadata will be retrieved.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#getPlaybookRunMetadata","api_endpoint":"https://{site_url}/plugins/playbooks/api/v0/runs/{id}/metadata"},"summary":"Get playbook run metadata","description":"Get playbook run metadata | Get playbook run metadata | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/plugins/playbooks/api/v0/runs/{id}/end":{"put":{"tags":["PlaybookRuns"],"parameters":[{"name":"id","in":"path","description":"ID of the playbook run to end.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#endPlaybookRun","api_endpoint":"https://{site_url}/plugins/playbooks/api/v0/runs/{id}/end"},"summary":"End a playbook run","description":"End a playbook run | End a playbook run | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}},"post":{"tags":["Internal"],"parameters":[{"name":"id","in":"path","description":"ID of the playbook run to end.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#endPlaybookRunDialog","api_endpoint":"https://{site_url}/plugins/playbooks/api/v0/runs/{id}/end"},"summary":"End a playbook run from dialog","description":"End a playbook run from dialog | This is an internal endpoint to end a playbook run via a confirmation dialog, submitted by a user in the webapp. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/plugins/playbooks/api/v0/runs/{id}/restart":{"put":{"tags":["PlaybookRuns"],"parameters":[{"name":"id","in":"path","description":"ID of the playbook run to restart.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#restartPlaybookRun","api_endpoint":"https://{site_url}/plugins/playbooks/api/v0/runs/{id}/restart"},"summary":"Restart a playbook run","description":"Restart a playbook run | Restart a playbook run | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/plugins/playbooks/api/v0/runs/{id}/status":{"post":{"tags":["PlaybookRuns"],"parameters":[{"name":"id","in":"path","description":"ID of the playbook run to update.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#updatePlaybookRunStatus","api_endpoint":"https://{site_url}/plugins/playbooks/api/v0/runs/{id}/status"},"summary":"Update a playbook run's status","description":"Update a playbook run's status | Update a playbook run's status | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"message":{"type":"string","description":"The status update message.","required":true},"reminder":{"type":"number","description":"The number of seconds until the system will send a reminder to the owner to update the status. No reminder will be scheduled if reminder is 0 or omitted."}}},"example":{"message":["Starting to investigate."],"reminder":[600]}}}}}},"/plugins/playbooks/api/v0/runs/{id}/finish":{"put":{"tags":["PlaybookRuns"],"parameters":[{"name":"id","in":"path","description":"ID of the playbook run to finish.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#finish","api_endpoint":"https://{site_url}/plugins/playbooks/api/v0/runs/{id}/finish"},"summary":"Finish a playbook","description":"Finish a playbook | Finish a playbook | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/plugins/playbooks/api/v0/runs/{id}/owner":{"post":{"tags":["PlaybookRuns"],"parameters":[{"name":"id","in":"path","description":"ID of the playbook run whose owner will be changed.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#changeOwner","api_endpoint":"https://{site_url}/plugins/playbooks/api/v0/runs/{id}/owner"},"summary":"Update playbook run owner","description":"Update playbook run owner | Update playbook run owner | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"owner_id":{"type":"string","description":"The user ID of the new owner.","required":true}}},"example":{"owner_id":["hx7fqtqxp7nn8129t7e505ls6s"]}}}}}},"/plugins/playbooks/api/v0/runs/{id}/next-stage-dialog":{"post":{"tags":["Internal"],"parameters":[{"name":"id","in":"path","description":"The PlaybookRun ID","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#nextStageDialog","api_endpoint":"https://{site_url}/plugins/playbooks/api/v0/runs/{id}/next-stage-dialog"},"summary":"Go to next stage from dialog","description":"Go to next stage from dialog | This is an internal endpoint to go to the next stage via a confirmation dialog, submitted by a user in the webapp. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"state":{"type":"string","description":"String representation of the zero-based index of the stage to go to."}}},"example":{"state":["3"]}}}}}},"/plugins/playbooks/api/v0/runs/{id}/checklists/{checklist}/add":{"post":{"tags":["PlaybookRuns"],"parameters":[{"name":"checklist","in":"path","description":"Zero-based index of the checklist to modify.","required":true,"schema":{"type":"number","example":""}},{"name":"id","in":"path","description":"ID of the playbook run whose checklist will be modified.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#addChecklistItem","api_endpoint":"https://{site_url}/plugins/playbooks/api/v0/runs/{id}/checklists/{checklist}/add"},"summary":"Add an item to a playbook run's checklist","description":"Add an item to a playbook run's checklist | The most common pattern to add a new item is to only send its title as the request payload. By default, it is an open item, with no assignee and no slash command. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"assignee_id":{"type":"string","description":"The identifier of the user that has been assigned to complete this item. If the item has no assignee, this is an empty string."},"assignee_modified":{"type":"number","description":"The timestamp for the latest modification of the item's assignee, formatted as the number of milliseconds since the Unix epoch. It equals 0 if the item never got an assignee."},"command":{"type":"string","description":"The slash command associated with this item. If the item has no slash command associated, this is an empty string"},"command_last_run":{"type":"number","description":"The timestamp for the latest execution of the item's command, formatted as the number of milliseconds since the Unix epoch. It equals 0 if the command was never executed."},"description":{"type":"string","description":"A detailed description of the checklist item, formatted with Markdown."},"state":{"type":"string","description":"The state of the checklist item. An empty string means that the item is not done."},"state_modified":{"type":"number","description":"The timestamp for the latest modification of the item's state, formatted as the number of milliseconds since the Unix epoch. It equals 0 if the item was never modified."},"title":{"type":"string","description":"The title of the checklist item.","required":true}}},"example":{"assignee_id":["pisdatkjtdlkdhht2v4inxuzx1"],"assignee_modified":[1608897821125],"command":["/opsgenie on-call"],"command_last_run":[1608552221019],"description":["Ask the customer for more information in [Zendesk](https://www.zendesk.com/)."],"state":["closed"],"state_modified":[1607774621321],"title":["Gather information from customer."]}}}}}},"/plugins/playbooks/api/v0/runs/{id}/checklists/{checklist}/reorder":{"put":{"tags":["PlaybookRuns"],"parameters":[{"name":"checklist","in":"path","description":"Zero-based index of the checklist to modify.","required":true,"schema":{"type":"number","example":""}},{"name":"id","in":"path","description":"ID of the playbook run whose checklist will be modified.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#reoderChecklistItem","api_endpoint":"https://{site_url}/plugins/playbooks/api/v0/runs/{id}/checklists/{checklist}/reorder"},"summary":"Reorder an item in a playbook run's checklist","description":"Reorder an item in a playbook run's checklist | Reorder an item in a playbook run's checklist | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"item_num":{"type":"number","description":"Zero-based index of the item to reorder.","required":true},"new_location":{"type":"number","description":"Zero-based index of the new place to move the item to.","required":true}}},"example":{"item_num":[2],"new_location":[2]}}}}}},"/plugins/playbooks/api/v0/runs/{id}/checklists/{checklist}/item/{item}":{"put":{"tags":["PlaybookRuns"],"parameters":[{"name":"checklist","in":"path","description":"Zero-based index of the checklist to modify.","required":true,"schema":{"type":"number","example":""}},{"name":"id","in":"path","description":"ID of the playbook run whose checklist will be modified.","required":true,"schema":{"type":"string","example":""}},{"name":"item","in":"path","description":"Zero-based index of the item to modify.","required":true,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#itemRename","api_endpoint":"https://{site_url}/plugins/playbooks/api/v0/runs/{id}/checklists/{checklist}/item/{item}"},"summary":"Update an item of a playbook run's checklist","description":"Update an item of a playbook run's checklist | Update the title, slash command, and description of an item in one of the playbook run's checklists. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"command":{"type":"string","description":"The new slash command of the item.","required":true},"description":{"type":"string","description":"The new description of the item, formatted with Markdown."},"title":{"type":"string","description":"The new title of the item.","required":true}}},"example":{"command":["/jira update ticket"],"description":["Ask the customer for more information in [Zendesk](https://www.zendesk.com/)."],"title":["Gather information from server's logs."]}}}}},"delete":{"tags":["PlaybookRuns"],"parameters":[{"name":"checklist","in":"path","description":"Zero-based index of the checklist to modify.","required":true,"schema":{"type":"number","example":""}},{"name":"id","in":"path","description":"ID of the playbook run whose checklist will be modified.","required":true,"schema":{"type":"string","example":""}},{"name":"item","in":"path","description":"Zero-based index of the item to modify.","required":true,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#itemDelete","api_endpoint":"https://{site_url}/plugins/playbooks/api/v0/runs/{id}/checklists/{checklist}/item/{item}"},"summary":"Delete an item of a playbook run's checklist","description":"Delete an item of a playbook run's checklist | Delete an item of a playbook run's checklist | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/plugins/playbooks/api/v0/runs/{id}/checklists/{checklist}/item/{item}/state":{"put":{"tags":["PlaybookRuns"],"parameters":[{"name":"checklist","in":"path","description":"Zero-based index of the checklist to modify.","required":true,"schema":{"type":"number","example":""}},{"name":"id","in":"path","description":"ID of the playbook run whose checklist will be modified.","required":true,"schema":{"type":"string","example":""}},{"name":"item","in":"path","description":"Zero-based index of the item to modify.","required":true,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#itemSetState","api_endpoint":"https://{site_url}/plugins/playbooks/api/v0/runs/{id}/checklists/{checklist}/item/{item}/state"},"summary":"Update the state of an item","description":"Update the state of an item | Update the state of an item | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"new_state":{"type":"string","description":"The new state of the item.","required":true},"requirement_values":{"type":"object","description":"Optional map of requirement ID to filled value. When the task requirements\nbeta feature is enabled and the item has requirements, closing the item\nrequires every requirement to have a non-empty value (either already stored\non the item or supplied here). Clients that cannot collect requirement\nvalues (for example mobile, until supported) will receive 400 when trying\nto close such items.","properties":{}}}},"example":{"new_state":["closed"],"requirement_values":[{"req1abcxyz":"https://jira.example.com/browse/ABC-123"}]}}}}}},"/plugins/playbooks/api/v0/runs/{id}/checklists/{checklist}/item/{item}/assignee":{"put":{"tags":["PlaybookRuns"],"parameters":[{"name":"checklist","in":"path","description":"Zero-based index of the checklist whose item will get a new assignee.","required":true,"schema":{"type":"number","example":""}},{"name":"id","in":"path","description":"ID of the playbook run whose item will get a new assignee.","required":true,"schema":{"type":"string","example":""}},{"name":"item","in":"path","description":"Zero-based index of the item that will get a new assignee.","required":true,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#itemSetAssignee","api_endpoint":"https://{site_url}/plugins/playbooks/api/v0/runs/{id}/checklists/{checklist}/item/{item}/assignee"},"summary":"Update the assignee of an item","description":"Update the assignee of an item | Update the assignee of an item | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"assignee_id":{"type":"string","description":"The user ID of the new assignee of the item.","required":true}}},"example":{"assignee_id":["ruu86intseidqdxjojia41u7l1"]}}}}}},"/plugins/playbooks/api/v0/runs/{id}/checklists/{checklist}/item/{item}/run":{"put":{"tags":["PlaybookRuns"],"parameters":[{"name":"checklist","in":"path","description":"Zero-based index of the checklist whose item will be executed.","required":true,"schema":{"type":"number","example":""}},{"name":"id","in":"path","description":"ID of the playbook run whose item will be executed.","required":true,"schema":{"type":"string","example":""}},{"name":"item","in":"path","description":"Zero-based index of the item whose slash command will be executed.","required":true,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#itemRun","api_endpoint":"https://{site_url}/plugins/playbooks/api/v0/runs/{id}/checklists/{checklist}/item/{item}/run"},"summary":"Run an item's slash command","description":"Run an item's slash command | Run an item's slash command | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/plugins/playbooks/api/v0/runs/{id}/timeline/{event_id}":{"delete":{"tags":["Timeline"],"parameters":[{"name":"event_id","in":"path","description":"ID of the timeline event to be deleted","required":true,"schema":{"type":"string","example":""}},{"name":"id","in":"path","description":"ID of the playbook run whose timeline event will be modified.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#removeTimelineEvent","api_endpoint":"https://{site_url}/plugins/playbooks/api/v0/runs/{id}/timeline/{event_id}"},"summary":"Remove a timeline event from the playbook run","description":"Remove a timeline event from the playbook run | Remove a timeline event from the playbook run | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/plugins/playbooks/api/v0/playbooks":{"get":{"tags":["Playbooks"],"parameters":[{"name":"direction","in":"query","description":"Direction (ascending or descending) followed by the sorting of the playbooks.","required":false,"schema":{"type":"string","example":"","items":{"type":"string","enum":["desc","asc"]}}},{"name":"page","in":"query","description":"Zero-based index of the page to request.","required":false,"schema":{"type":"number","example":""}},{"name":"per_page","in":"query","description":"Number of playbooks to return per page.","required":false,"schema":{"type":"number","example":""}},{"name":"sort","in":"query","description":"Field to sort the returned playbooks by title, number of stages or total number of steps.","required":false,"schema":{"type":"string","example":"","items":{"type":"string","enum":["title","stages","steps"]}}},{"name":"team_id","in":"query","description":"ID of the team to filter by.","required":true,"schema":{"type":"string","example":""}},{"name":"with_archived","in":"query","description":"Includes archived playbooks in the result.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#getPlaybooks","api_endpoint":"https://{site_url}/plugins/playbooks/api/v0/playbooks"},"summary":"List all playbooks","description":"List all playbooks | Retrieve a paged list of playbooks, filtered by team, and sorted by title, number of stages or number of steps. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]},"post":{"tags":["Playbooks"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#createPlaybook","api_endpoint":"https://{site_url}/plugins/playbooks/api/v0/playbooks"},"summary":"Create a playbook","description":"Create a playbook | Create a playbook | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"announcement_channel_enabled":{"type":"boolean","description":"Boolean that indicates whether the playbook run creation will be announced in the channel declared in announcement_channel_id.","enum":[true,false]},"announcement_channel_id":{"type":"string","description":"ID of the channel where the playbook run will be automatically announced as soon as the playbook run is created."},"broadcast_channel_ids":{"type":"array","description":"The IDs of the channels where all the status updates will be broadcasted. The team of the broadcast channel must be the same as the playbook's team.","items":{"type":"string"}},"checklists":{"type":"array","description":"The stages defined by this playbook.","required":true,"items":{"type":"object","properties":{"items":{"type":"array","description":"The list of tasks to do.","required":true},"title":{"type":"string","description":"The title of the checklist.","required":true}}}},"create_public_playbook_run":{"type":"boolean","description":"A boolean indicating whether the playbook runs created from this playbook should be public or private.","required":true,"enum":[true,false]},"default_owner_enabled":{"type":"string","description":"Boolean that indicates whether the member declared in default_owner_id will be automatically assigned as owner."},"default_owner_id":{"type":"string","description":"User ID of the member that will be automatically assigned as owner as soon as the playbook run is created. If the member is not part of the playbook run's channel or is not included in the invited_user_ids list, they will be automatically invited to the channel."},"description":{"type":"string","description":"The description of the playbook."},"invite_users_enabled":{"type":"boolean","description":"Boolean that indicates whether the members declared in invited_user_ids will be automatically invited.","enum":[true,false]},"invited_user_ids":{"type":"array","description":"A list with the IDs of the members to be automatically invited to the playbook run's channel as soon as the playbook run is created.","items":{"type":"string"}},"member_ids":{"type":"array","description":"The identifiers of all the users that are members of this playbook.","required":true,"items":{"type":"string"}},"public":{"type":"boolean","description":"A boolean indicating whether the playbook is licensed as public or private. Required 'true' for free tier.","enum":[true,false]},"team_id":{"type":"string","description":"The identifier of the team where the playbook is in.","required":true},"title":{"type":"string","description":"The title of the playbook.","required":true},"webhook_on_creation_enabled":{"type":"boolean","description":"Boolean that indicates whether the webhook declared in webhook_on_creation_url will be automatically sent.","enum":[true,false]},"webhook_on_creation_url":{"type":"string","description":"An absolute URL where a POST request will be sent as soon as the playbook run is created. The allowed protocols are HTTP and HTTPS."},"webhook_on_status_update_enabled":{"type":"boolean","description":"Boolean that indicates whether the webhook declared in webhook_on_status_update_url will be automatically sent.","enum":[true,false]},"webhook_on_status_update_url":{"type":"string","description":"An absolute URL where a POST request will be sent as soon as the playbook run's status is updated. The allowed protocols are HTTP and HTTPS."}}},"example":{"announcement_channel_enabled":[true],"announcement_channel_id":["8iofau5swv32l6qtk3vlxgobta"],"broadcast_channel_ids":[["2zh7rpashwfwapwaqyslmhwbax"]],"checklists":[[{"items":[{"command":"/opsgenie on-call","description":"Ask the customer for more information in [Zendesk](https://www.zendesk.com/).","title":"Gather information from customer."}],"title":"Triage issue"}]],"create_public_playbook_run":[true],"default_owner_enabled":[true],"default_owner_id":["9dtruav6d9ce3oqnc5pwhtqtfq"],"description":["A playbook to follow when there is a playbook run regarding the availability of the cloud service."],"invite_users_enabled":[true],"invited_user_ids":[["01kidjn9iozv7bist427w4gkjo"]],"member_ids":[["ilh6s1j4yefbdhxhtlzt179i6m"]],"public":[true],"team_id":["p03rbi6viyztysbqnkvcqyel2i"],"title":["Cloud PlaybookRuns"],"webhook_on_creation_enabled":[true],"webhook_on_creation_url":["https://httpbin.org/post"],"webhook_on_status_update_enabled":[true],"webhook_on_status_update_url":["https://httpbin.org/post"]}}}}}},"/plugins/playbooks/api/v0/playbooks/{id}":{"get":{"tags":["Playbooks"],"parameters":[{"name":"id","in":"path","description":"ID of the playbook to retrieve.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#getPlaybook","api_endpoint":"https://{site_url}/plugins/playbooks/api/v0/playbooks/{id}"},"summary":"Get a playbook","description":"Get a playbook | Get a playbook | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]},"put":{"tags":["Playbooks"],"parameters":[{"name":"id","in":"path","description":"ID of the playbook to update.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#updatePlaybook","api_endpoint":"https://{site_url}/plugins/playbooks/api/v0/playbooks/{id}"},"summary":"Update a playbook","description":"Update a playbook | Update a playbook | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"channel_name_template":{"type":"string","description":"A template used to derive the channel name and the run name/title when a run is created from this playbook. May reference property fields and system tokens such as {SEQ}."},"channel_name_template_locked":{"type":"boolean","description":"When true, the channel_name_template always overrides the supplied name when creating a run. When false (the default), the template is only a suggested default and the caller may supply their own name.","enum":[true,false]},"checklists":{"type":"array","description":"The stages defined in this playbook.","items":{"type":"object","properties":{"id":{"type":"string","description":"A unique, 26 characters long, alphanumeric identifier for the checklist."},"items":{"type":"array","description":"The list of tasks to do."},"title":{"type":"string","description":"The title of the checklist."}}}},"create_at":{"type":"number","description":"The playbook creation timestamp, formatted as the number of milliseconds since the Unix epoch."},"create_public_playbook_run":{"type":"boolean","description":"A boolean indicating whether the playbook runs created from this playbook should be public or private.","enum":[true,false]},"delete_at":{"type":"number","description":"The playbook deletion timestamp, formatted as the number of milliseconds since the Unix epoch. It equals 0 if the playbook is not deleted."},"description":{"type":"string","description":"The description of the playbook."},"id":{"type":"string","description":"A unique, 26 characters long, alphanumeric identifier for the playbook."},"member_ids":{"type":"array","description":"The identifiers of all the users that are members of this playbook.","items":{"type":"string"}},"num_stages":{"type":"number","description":"The number of stages defined in this playbook."},"num_steps":{"type":"number","description":"The total number of steps from all the stages defined in this playbook."},"team_id":{"type":"string","description":"The identifier of the team where the playbook is in."},"title":{"type":"string","description":"The title of the playbook."}}},"example":{"channel_name_template":["Incident - {SEQ}"],"channel_name_template_locked":[false],"checklists":[[{"id":"6f6nsgxzoq84fqh1dnlyivgafd","items":[{"assignee_id":"pisdatkjtdlkdhht2v4inxuzx1","assignee_modified":1608897821125,"command":"/opsgenie on-call","command_last_run":1608552221019,"delete_at":1607774621321,"description":"Ask the customer for more information in [Zendesk](https://www.zendesk.com/).","due_date":1607774621321,"id":"6f6nsgxzoq84fqh1dnlyivgafd","state":"closed","state_modified":1607774621321,"task_actions":[{}],"title":"Gather information from customer."}],"title":"Triage issue"}]],"create_at":[1602235338837],"create_public_playbook_run":[true],"delete_at":[0],"description":["A playbook to follow when there is a playbook run regarding the availability of the cloud service."],"id":["iz0g457ikesz55dhxcfa0fk9yy"],"member_ids":[["ilh6s1j4yefbdhxhtlzt179i6m"]],"num_stages":[3],"num_steps":[18],"team_id":["p03rbi6viyztysbqnkvcqyel2i"],"title":["Cloud PlaybookRuns"]}}}}},"delete":{"tags":["Playbooks"],"parameters":[{"name":"id","in":"path","description":"ID of the playbook to delete.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#deletePlaybook","api_endpoint":"https://{site_url}/plugins/playbooks/api/v0/playbooks/{id}"},"summary":"Delete a playbook","description":"Delete a playbook | Delete a playbook | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/plugins/playbooks/api/v0/playbooks/{id}/property_fields":{"get":{"tags":["Playbooks"],"parameters":[{"name":"id","in":"path","description":"ID of the playbook to retrieve property fields from.","required":true,"schema":{"type":"string","example":""}},{"name":"updated_since","in":"query","description":"Filter results to only include property fields updated after this timestamp (Unix time in milliseconds).","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#getPlaybookPropertyFields","api_endpoint":"https://{site_url}/plugins/playbooks/api/v0/playbooks/{id}/property_fields"},"summary":"Get property fields for a playbook","description":"Get property fields for a playbook | Get property fields for a playbook | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]},"post":{"tags":["Playbooks"],"parameters":[{"name":"id","in":"path","description":"ID of the playbook to create a property field for.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#createPlaybookPropertyField","api_endpoint":"https://{site_url}/plugins/playbooks/api/v0/playbooks/{id}/property_fields"},"summary":"Create a property field for a playbook","description":"Create a property field for a playbook | Create a property field for a playbook | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"type":{"type":"string","description":"The type of the property field.","required":true},"attrs":{"type":"object","description":"Additional attributes for the property field.","properties":{"options":{"type":"array","description":"Available options for select/multiselect fields."},"parentID":{"type":"string","description":"Parent field ID for hierarchical fields."},"sortOrder":{"type":"number","description":"Display order of the field."},"visibility":{"type":"string","description":"When to show this field."}}},"name":{"type":"string","description":"The name of the property field.","required":true}}},"example":{"type":["select"],"attrs":[{"options":[{"color":"#ff0000","id":"opt1","name":"High"}],"parentID":"parent_field_id","sortOrder":1,"visibility":"when_set"}],"name":["Priority"]}}}}}},"/plugins/playbooks/api/v0/playbooks/{id}/property_fields/{field_id}":{"put":{"tags":["Playbooks"],"parameters":[{"name":"field_id","in":"path","description":"ID of the property field to update.","required":true,"schema":{"type":"string","example":""}},{"name":"id","in":"path","description":"ID of the playbook containing the property field.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#updatePlaybookPropertyField","api_endpoint":"https://{site_url}/plugins/playbooks/api/v0/playbooks/{id}/property_fields/{field_id}"},"summary":"Update a property field for a playbook","description":"Update a property field for a playbook | Update a property field for a playbook | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"type":{"type":"string","description":"The type of the property field.","required":true},"attrs":{"type":"object","description":"Additional attributes for the property field.","properties":{"options":{"type":"array","description":"Available options for select/multiselect fields."},"parentID":{"type":"string","description":"Parent field ID for hierarchical fields."},"sortOrder":{"type":"number","description":"Display order of the field."},"visibility":{"type":"string","description":"When to show this field."}}},"name":{"type":"string","description":"The name of the property field.","required":true}}},"example":{"type":["select"],"attrs":[{"options":[{"color":"#ff0000","id":"opt1","name":"High"}],"parentID":"parent_field_id","sortOrder":1,"visibility":"when_set"}],"name":["Priority"]}}}}},"delete":{"tags":["Playbooks"],"parameters":[{"name":"field_id","in":"path","description":"ID of the property field to delete.","required":true,"schema":{"type":"string","example":""}},{"name":"id","in":"path","description":"ID of the playbook containing the property field.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#deletePlaybookPropertyField","api_endpoint":"https://{site_url}/plugins/playbooks/api/v0/playbooks/{id}/property_fields/{field_id}"},"summary":"Delete a property field for a playbook","description":"Delete a property field for a playbook | Delete a property field for a playbook | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/plugins/playbooks/api/v0/playbooks/{id}/property_fields/reorder":{"post":{"tags":["Playbooks"],"parameters":[{"name":"id","in":"path","description":"ID of the playbook.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#reorderPlaybookPropertyFields","api_endpoint":"https://{site_url}/plugins/playbooks/api/v0/playbooks/{id}/property_fields/reorder"},"summary":"Reorder property fields for a playbook","description":"Reorder property fields for a playbook | Reorder property fields for a playbook | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"field_id":{"type":"string","description":"ID of the property field to move.","required":true},"target_position":{"type":"number","description":"Target position index (zero-based) where the field should be moved.","required":true}}},"example":{"field_id":["p7fj3k2l5m8n9q1r4s6t8v0w2x"],"target_position":[3]}}}}}},"/plugins/playbooks/api/v0/runs/{id}/property_fields":{"get":{"tags":["PlaybookRuns"],"parameters":[{"name":"id","in":"path","description":"ID of the playbook run to retrieve property fields from.","required":true,"schema":{"type":"string","example":""}},{"name":"updated_since","in":"query","description":"Filter results to only include property fields updated after this timestamp (Unix time in milliseconds).","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#getRunPropertyFields","api_endpoint":"https://{site_url}/plugins/playbooks/api/v0/runs/{id}/property_fields"},"summary":"Get property fields for a playbook run","description":"Get property fields for a playbook run | Get property fields for a playbook run | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/plugins/playbooks/api/v0/runs/{id}/property_values":{"get":{"tags":["PlaybookRuns"],"parameters":[{"name":"id","in":"path","description":"ID of the playbook run to retrieve property values from.","required":true,"schema":{"type":"string","example":""}},{"name":"updated_since","in":"query","description":"Filter results to only include property values updated after this timestamp (Unix time in milliseconds).","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#getRunPropertyValues","api_endpoint":"https://{site_url}/plugins/playbooks/api/v0/runs/{id}/property_values"},"summary":"Get property values for a playbook run","description":"Get property values for a playbook run | Get property values for a playbook run | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/plugins/playbooks/api/v0/runs/{id}/property_fields/{field_id}/value":{"put":{"tags":["PlaybookRuns"],"parameters":[{"name":"field_id","in":"path","description":"ID of the property field to set value for.","required":true,"schema":{"type":"string","example":""}},{"name":"id","in":"path","description":"ID of the playbook run to set property value for.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#setRunPropertyValue","api_endpoint":"https://{site_url}/plugins/playbooks/api/v0/runs/{id}/property_fields/{field_id}/value"},"summary":"Set a property value for a playbook run","description":"Set a property value for a playbook run | Set a property value for a playbook run | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"value":{"type":"string","description":"The JSON-encoded value to set for the property.","required":true}}},"example":{"value":["\"High Priority Issue\""]}}}}}},"/plugins/playbooks/api/v0/playbooks/{id}/autofollows":{"get":{"tags":["PlaybookAutofollows"],"parameters":[{"name":"id","in":"path","description":"ID of the playbook to retrieve followers from.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#getAutoFollows","api_endpoint":"https://{site_url}/plugins/playbooks/api/v0/playbooks/{id}/autofollows"},"summary":"Get the list of followers' user IDs of a playbook","description":"Get the list of followers' user IDs of a playbook | Get the list of followers' user IDs of a playbook | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}},"/plugins/playbooks/api/v0/playbooks/{id}/conditions":{"get":{"tags":["Conditions"],"parameters":[{"name":"id","in":"path","description":"ID of the playbook to retrieve conditions from.","required":true,"schema":{"type":"string","example":""}},{"name":"page","in":"query","description":"Zero-based index of the page to request.","required":false,"schema":{"type":"number","example":""}},{"name":"per_page","in":"query","description":"Number of conditions to return per page.","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#getPlaybookConditions","api_endpoint":"https://{site_url}/plugins/playbooks/api/v0/playbooks/{id}/conditions"},"summary":"List playbook conditions","description":"List playbook conditions | Retrieve a paged list of conditions for a playbook. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]},"post":{"tags":["Conditions"],"parameters":[{"name":"id","in":"path","description":"ID of the playbook to create a condition for.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#createPlaybookCondition","api_endpoint":"https://{site_url}/plugins/playbooks/api/v0/playbooks/{id}/conditions"},"summary":"Create a playbook condition","description":"Create a playbook condition | Create a new condition for a playbook. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"condition_expr":{"type":"object","description":"A logical condition expression that can combine multiple conditions using AND/OR operators, or perform field comparisons using Is/IsNot operators.","required":true,"properties":{"and":{"type":"array","description":"Logical AND operation. All conditions in the array must be true."},"is":{"type":"object","description":"body.condition_expr.is (object field from the documented request schema)"},"isNot":{"type":"object","description":"body.condition_expr.isNot (object field from the documented request schema)"},"or":{"type":"array","description":"Logical OR operation. At least one condition in the array must be true."}}},"create_at":{"type":"number","description":"The condition creation timestamp, formatted as the number of milliseconds since the Unix epoch."},"id":{"type":"string","description":"A unique, 26 characters long, alphanumeric identifier for the condition."},"playbook_id":{"type":"string","description":"The identifier of the playbook this condition belongs to."},"run_id":{"type":"string","description":"If this is a run condition (read-only snapshot), the identifier of the run. Empty for playbook conditions."},"update_at":{"type":"number","description":"The condition update timestamp, formatted as the number of milliseconds since the Unix epoch."},"version":{"type":"number","description":"Version number of the condition expression format. Currently only version 1 is supported.","required":true}}},"example":{"condition_expr":[{"and":[{"is":{"field_id":"status","value":"\"active\""}},{"or":[{"is":{"field_id":"priority","value":"\"high\""}},{"is":{"field_id":"priority","value":"\"critical\""}}]}]}],"create_at":[1606807976289],"id":["abc123def456ghi789"],"playbook_id":["iz0g457ikesz55dhxcfa0fk9yy"],"run_id":["mx3xyzdojfgyfdx8sc8of1gdme"],"update_at":[1606807976289],"version":[1]}}}}}},"/plugins/playbooks/api/v0/playbooks/{id}/conditions/{conditionID}":{"put":{"tags":["Conditions"],"parameters":[{"name":"conditionID","in":"path","description":"ID of the condition to update.","required":true,"schema":{"type":"string","example":""}},{"name":"id","in":"path","description":"ID of the playbook.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#updatePlaybookCondition","api_endpoint":"https://{site_url}/plugins/playbooks/api/v0/playbooks/{id}/conditions/{conditionID}"},"summary":"Update a playbook condition","description":"Update a playbook condition | Update an existing condition for a playbook. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"condition_expr":{"type":"object","description":"A logical condition expression that can combine multiple conditions using AND/OR operators, or perform field comparisons using Is/IsNot operators.","required":true,"properties":{"and":{"type":"array","description":"Logical AND operation. All conditions in the array must be true."},"is":{"type":"object","description":"body.condition_expr.is (object field from the documented request schema)"},"isNot":{"type":"object","description":"body.condition_expr.isNot (object field from the documented request schema)"},"or":{"type":"array","description":"Logical OR operation. At least one condition in the array must be true."}}},"create_at":{"type":"number","description":"The condition creation timestamp, formatted as the number of milliseconds since the Unix epoch."},"id":{"type":"string","description":"A unique, 26 characters long, alphanumeric identifier for the condition."},"playbook_id":{"type":"string","description":"The identifier of the playbook this condition belongs to."},"run_id":{"type":"string","description":"If this is a run condition (read-only snapshot), the identifier of the run. Empty for playbook conditions."},"update_at":{"type":"number","description":"The condition update timestamp, formatted as the number of milliseconds since the Unix epoch."},"version":{"type":"number","description":"Version number of the condition expression format. Currently only version 1 is supported.","required":true}}},"example":{"condition_expr":[{"and":[{"is":{"field_id":"status","value":"\"active\""}},{"or":[{"is":{"field_id":"priority","value":"\"high\""}},{"is":{"field_id":"priority","value":"\"critical\""}}]}]}],"create_at":[1606807976289],"id":["abc123def456ghi789"],"playbook_id":["iz0g457ikesz55dhxcfa0fk9yy"],"run_id":["mx3xyzdojfgyfdx8sc8of1gdme"],"update_at":[1606807976289],"version":[1]}}}}},"delete":{"tags":["Conditions"],"parameters":[{"name":"conditionID","in":"path","description":"ID of the condition to delete.","required":true,"schema":{"type":"string","example":""}},{"name":"id","in":"path","description":"ID of the playbook.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#deletePlaybookCondition","api_endpoint":"https://{site_url}/plugins/playbooks/api/v0/playbooks/{id}/conditions/{conditionID}"},"summary":"Delete a playbook condition","description":"Delete a playbook condition | Delete a condition from a playbook. Run conditions cannot be deleted as they are read-only snapshots. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/plugins/playbooks/api/v0/runs/{id}/conditions":{"get":{"tags":["Conditions"],"parameters":[{"name":"id","in":"path","description":"ID of the run to retrieve conditions from.","required":true,"schema":{"type":"string","example":""}},{"name":"page","in":"query","description":"Zero-based index of the page to request.","required":false,"schema":{"type":"number","example":""}},{"name":"per_page","in":"query","description":"Number of conditions to return per page.","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.mattermost.com/api-documentation#getRunConditions","api_endpoint":"https://{site_url}/plugins/playbooks/api/v0/runs/{id}/conditions"},"summary":"List run conditions","description":"List run conditions | Retrieve a paged list of conditions for a run. Run conditions are read-only snapshots copied from the playbook. | Source: official OpenAPI spec at https://developers.mattermost.com/mattermost-openapi-v4.yaml","security":[{"bearerAuth":[]}]}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer"}}},"security":[{"bearerAuth":[]}]}