MattermostClient.Net 1.0.1

dotnet add package MattermostClient.Net --version 1.0.1
                    
NuGet\Install-Package MattermostClient.Net -Version 1.0.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="MattermostClient.Net" Version="1.0.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="MattermostClient.Net" Version="1.0.1" />
                    
Directory.Packages.props
<PackageReference Include="MattermostClient.Net" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add MattermostClient.Net --version 1.0.1
                    
#r "nuget: MattermostClient.Net, 1.0.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package MattermostClient.Net@1.0.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=MattermostClient.Net&version=1.0.1
                    
Install as a Cake Addin
#tool nuget:?package=MattermostClient.Net&version=1.0.1
                    
Install as a Cake Tool

Mattermost.Net - the C# library for the Mattermost API

The Mattermost Web Services API enables Mattermost clients and third-party applications to interact with Mattermost servers.

Official JavaScript and Golang drivers are available to simplify API integration.

By using this API, you agree to our terms of service.

Find out more about Mattermost

Contents

Core Concepts

Drivers

Community

Schema & Conventions

  • All API access is through HTTP(S) requests at your-mattermost-url/api/v4.

  • All request and response bodies are application/json.

  • When using endpoints that require a user id, the string me can be used in place of the user id to indicate the action is to be taken for the logged in user.

  • For all endpoints that implement pagination via the per_page parameter:

    • Maximum items per page: 200 (requests exceeding this will be silently truncated)

    • Default value if a paged API requires a per_page parameter and it is not provided: 60

Authentication

There are multiple ways to authenticate against the Mattermost API.

All examples assume there is a Mattermost instance running at http://localhost:8065.

Session Token

Make an HTTP POST to your-mattermost-url/api/v4/users/login with a JSON body indicating the user's login_id, password and optionally the MFA token. The login_id can be an email, username or an AD/LDAP ID depending on the system's configuration.

curl -i -d '{"login_id":"someone@nowhere.com","password":"thisisabadpassword"}' http://localhost:8065/api/v4/users/login

NOTE: If you're running cURL on windows, you will have to change the single quotes to double quotes, and escape the inner double quotes with backslash, like below:

curl -i -d "{\\"login_id\\":\\"someone@nowhere.com\\",\\"password\\":\\"thisisabadpassword\\"}" http://localhost:8065/api/v4/users/login

If successful, the response will contain a Token header and a user object in the body.

HTTP/1.1 200 OK
Content-Type: application/json
Permissions-Policy:
Referrer-Policy: no-referrer
Token: ckh3t4knu3fzujt76o57f5jo4w
Vary: Origin
Vary: Accept-Encoding
X-Content-Type-Options: nosniff
X-Request-Id: bk3uzm335jr9tnoh4mcsybmmjr
X-Version-Id: 10.6.0.13685270376.215f100adf6ccda09afcaaa84ac4bfbd.true
Date: Fri, 28 Mar 2025 09:33:22 GMT
Content-Length: 796

{{user object as json}}

Include the Token as part of the Authorization header on your future API requests with the Bearer method.

curl -i -H 'Authorization: Bearer ckh3t4knu3fzujt76o57f5jo4w' http://localhost:8065/api/v4/users/me

Alternatively, include the Token as your MMAUTHTOKEN cookie value on you future API requests:

curl -i -H 'Cookie: MMAUTHTOKEN=ckh3t4knu3fzujt76o57f5jo4w' http://localhost:8065/api/v4/users/me

You should now be able to access the API as the user you logged in as.

Personal Access Tokens

Using personal access tokens is very similar to using a session token. The only real difference is that session tokens will expire, while personal access tokens will live until they are manually revoked by the user or an admin.

Just like session tokens, include the personal access token as part of the Authorization header in your requests using the Bearer method. Assuming our personal access token is 9xuqwrwgstrb3mzrxb83nb357a, we could use it as shown below.

curl -i -H 'Authorization: Bearer 9xuqwrwgstrb3mzrxb83nb357a' http://localhost:8065/api/v4/users/me

Rate Limiting

Whenever you make an HTTP request to the Mattermost API you might notice the following headers included in the response:

X-Ratelimit-Limit: 10
X-Ratelimit-Remaining: 9
X-Ratelimit-Reset: 1441983590

These headers are telling you your current rate limit status.

Header Description
X-Ratelimit-Limit The maximum number of requests you can make per second.
X-Ratelimit-Remaining The number of requests remaining in the current window.
X-Ratelimit-Reset The remaining UTC epoch seconds before the rate limit resets.

If you exceed your rate limit for a window you will receive the following error in the body of the response:

HTTP/1.1 429 Too Many Requests
Date: Tue, 10 Sep 2015 11:20:28 GMT
X-RateLimit-Limit: 10
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 1

limit exceeded

Error Handling

All errors will return an appropriate HTTP response code along with the following JSON body:

{
  "id": "the.error.id",
  "message": "Something went wrong", // the reason for the error
  "request_id": "", // the ID of the request
  "status_code": 0, // the HTTP status code
  "is_oauth": false // whether the error is OAuth specific
}

WebSocket

In addition to the HTTP RESTful web service, Mattermost also offers a WebSocket event delivery system and some API functionality.

To connect to the WebSocket follow the standard opening handshake as defined by the RFC specification to the /api/v4/websocket endpoint of Mattermost.

Authentication

The Mattermost WebSocket can be authenticated using the standard API authentication methods (by a cookie or with an explicit Authorization header) or through an authentication challenge. If you're authenticating from a browser and have logged in with the Mattermost API, your authentication cookie should already be set. This is how the Mattermost webapp authenticates with the WebSocket.

To authenticate with an authentication challenge, first connect the WebSocket and then send the following JSON over the connection:

{
  "seq": 1,
  "action": "authentication_challenge",
  "data": {
    "token": "mattermosttokengoeshere"
  }
}

If successful, you will receive a standard OK response over the WebSocket connection:

{
  "status": "OK",
  "seq_reply": 1
}

Once successfully authenticated, the server will pass a hello WebSocket event containing server version over the connection.

Websocket Events

WebSocket events are primarily used to alert the client to changes in Mattermost, such as delivering new posts or alerting the client that another user is typing in a channel.

Events on the WebSocket will have the form:

{
  "event": "hello",
  "data": {
    "server_version": "3.6.0.1451.1c38da627ebb4e3635677db6939e9195"
  },
  "broadcast": {
    "omit_users": null,
    "user_id": "ay5sq51sebfh58ktrce5ijtcwy",
    "channel_id": "",
    "team_id": ""
  },
  "seq": 0
}

The event field indicates the event type, data contains any data relevant to the event and broadcast contains information about who the event was sent to. For example, the above example has user_id set to "ay5sq51sebfh58ktrce5ijtcwy" meaning that only the user with that ID received this event broadcast. The omit_users field can contain an array of user IDs that were specifically omitted from receiving the event.

The list of Mattermost WebSocket events are:

  • added_to_team
  • authentication_challenge
  • channel_converted
  • channel_created
  • channel_deleted
  • channel_member_updated
  • channel_updated
  • channel_viewed
  • config_changed
  • delete_team
  • direct_added
  • emoji_added
  • ephemeral_message
  • group_added
  • hello
  • leave_team
  • license_changed
  • memberrole_updated
  • new_user
  • plugin_disabled
  • plugin_enabled
  • plugin_statuses_changed
  • post_deleted
  • post_edited
  • post_unread
  • posted
  • preference_changed
  • preferences_changed
  • preferences_deleted
  • reaction_added
  • reaction_removed
  • response
  • role_updated
  • status_change
  • typing
  • update_team
  • user_added
  • user_removed
  • user_role_updated
  • user_updated
  • dialog_opened
  • thread_updated
  • thread_follow_changed
  • thread_read_changed

Websocket API

Mattermost has some basic support for WebSocket APIs. A connected WebSocket can make requests by sending the following over the connection:

{
  "action": "user_typing",
  "seq": 2,
  "data": {
    "channel_id": "nhze199c4j87ped4wannrjdt9c",
    "parent_id": ""
  }
}

This is an example of making a user_typing request, with the purpose of alerting the server that the connected client has begun typing in a channel or thread. The action field indicates what is being requested, and performs a similar duty as the route in a HTTP API. The data field is used to add any additional data along with the request. The server supports binary websocket messages as well in case the client has such a requirement.

The seq or sequence number is set by the client and should be incremented with every use. It is used to distinguish responses to requests that come down the WebSocket. For example, a standard response to the above request would be:

{
  "status": "OK",
  "seq_reply": 2
}

Notice seq_reply is 2, matching the seq of the original request. Using this a client can distinguish which request the response is meant for.

If there was any information to respond with, it would be encapsulated in a data field.

In the case of an error, the response would be:

{
  "status": "FAIL",
  "seq_reply": 2,
  "error": {
    "id": "some.error.id.here",
    "message": "Some error message here"
  }
}

The list of WebSocket API actions is:

  • user_typing
  • get_statuses
  • get_statuses_by_ids

To see how these actions work, please refer to either the Golang WebSocket driver or our JavaScript WebSocket driver.

Drivers

The easiest way to interact with the Mattermost Web Service API is through a language specific driver.

Official Drivers

Community-built Drivers

For community-built drivers and API wrappers, see our app directory.

Support

Mattermost core committers work with the community to keep the API documentation up-to-date. If you have questions on API routes not listed in this reference, you can:

Bug reports in the documentation or the API are also welcome, as are pull requests to fix the issues.

Contributing

When you have answers to API questions not addressed in our documentation we ask you to consider making a pull request to improve our reference. Small and large changes are all welcome.

We also have Help Wanted tickets available for community members who would like to help others more easily use the APIs. We acknowledge everyone's contribution in the release notes of our next version.

The source code for this API reference is hosted at https://github.com/mattermost/mattermost/tree/master/api.

This C# SDK is automatically generated by the OpenAPI Generator project:

  • API version: 4.0.0
  • SDK version: 1.0.0
  • Generator version: 7.17.0
  • Build package: org.openapitools.codegen.languages.CSharpClientCodegen

<a id="frameworks-supported"></a>

Frameworks supported

<a id="dependencies"></a>

Dependencies

The DLLs included in the package may not be the latest version. We recommend using NuGet to obtain the latest version of the packages:

Install-Package Newtonsoft.Json
Install-Package JsonSubTypes
Install-Package System.ComponentModel.Annotations

<a id="installation"></a>

Installation

Run the following command to generate the DLL

  • [Mac/Linux] /bin/sh build.sh
  • [Windows] build.bat

Then include the DLL (under the bin folder) in the C# project, and use the namespaces:

using Mattermost.Net.Api;
using Mattermost.Net.Client;
using Mattermost.Net.Model;

<a id="packaging"></a>

Packaging

A .nuspec is included with the project. You can follow the Nuget quickstart to create and publish packages.

This .nuspec uses placeholders from the .csproj, so build the .csproj directly:

nuget pack -Build -OutputDirectory out Mattermost.Net.csproj

Then, publish to a local feed or other host and consume the new package via Nuget as usual.

<a id="usage"></a>

Usage

To use the API client with a HTTP proxy, setup a System.Net.WebProxy

Configuration c = new Configuration();
System.Net.WebProxy webProxy = new System.Net.WebProxy("http://myProxyUrl:80/");
webProxy.Credentials = System.Net.CredentialCache.DefaultCredentials;
c.Proxy = webProxy;

Connections

Each ApiClass (properly the ApiClient inside it) will create an instance of HttpClient. It will use that for the entire lifecycle and dispose it when called the Dispose method.

To better manager the connections it's a common practice to reuse the HttpClient and HttpClientHandler (see here for details). To use your own HttpClient instance just pass it to the ApiClass constructor.

HttpClientHandler yourHandler = new HttpClientHandler();
HttpClient yourHttpClient = new HttpClient(yourHandler);
var api = new YourApiClass(yourHttpClient, yourHandler);

If you want to use an HttpClient and don't have access to the handler, for example in a DI context in Asp.net Core when using IHttpClientFactory.

HttpClient yourHttpClient = new HttpClient();
var api = new YourApiClass(yourHttpClient);

You'll loose some configuration settings, the features affected are: Setting and Retrieving Cookies, Client Certificates, Proxy settings. You need to either manually handle those in your setup of the HttpClient or they won't be available.

Here an example of DI setup in a sample web project:

services.AddHttpClient<YourApiClass>(httpClient =>
   new PetApi(httpClient));

<a id="getting-started"></a>

Getting Started

using System.Collections.Generic;
using System.Diagnostics;
using System.Net.Http;
using Mattermost.Net.Api;
using Mattermost.Net.Client;
using Mattermost.Net.Model;

namespace Example
{
    public class Example
    {
        public static void Main()
        {

            Configuration config = new Configuration();
            config.BasePath = "http://localhost:8065";
            // Configure Bearer token for authorization: bearerAuth
            config.AccessToken = "YOUR_BEARER_TOKEN";

            // create instances of HttpClient, HttpClientHandler to be reused later with different Api classes
            HttpClient httpClient = new HttpClient();
            HttpClientHandler httpClientHandler = new HttpClientHandler();
            var apiInstance = new AccessControlApi(httpClient, config, httpClientHandler);
            var policyId = "policyId_example";  // string | The ID of the access control policy.
            var assignAccessControlPolicyToChannelsRequest = new AssignAccessControlPolicyToChannelsRequest(); // AssignAccessControlPolicyToChannelsRequest |

            try
            {
                // Assign an access control policy to channels
                StatusOK result = apiInstance.AssignAccessControlPolicyToChannels(policyId, assignAccessControlPolicyToChannelsRequest);
                Debug.WriteLine(result);
            }
            catch (ApiException e)
            {
                Debug.Print("Exception when calling AccessControlApi.AssignAccessControlPolicyToChannels: " + e.Message );
                Debug.Print("Status Code: "+ e.ErrorCode);
                Debug.Print(e.StackTrace);
            }

        }
    }
}

<a id="documentation-for-api-endpoints"></a>

Documentation for API Endpoints

All URIs are relative to http://localhost:8065

Class Method HTTP request Description
AccessControlApi AssignAccessControlPolicyToChannels POST /api/v4/access_control_policies/{policy_id}/assign Assign an access control policy to channels
AccessControlApi CheckAccessControlPolicyExpression POST /api/v4/access_control_policies/cel/check Check an access control policy expression
AccessControlApi CreateAccessControlPolicy PUT /api/v4/access_control_policies Create an access control policy
AccessControlApi DeleteAccessControlPolicy DELETE /api/v4/access_control_policies/{policy_id} Delete an access control policy
AccessControlApi GetAccessControlPolicy GET /api/v4/access_control_policies/{policy_id} Get an access control policy
AccessControlApi GetAccessControlPolicyAutocompleteFields GET /api/v4/access_control_policies/cel/autocomplete/fields Get autocomplete fields for access control policies
AccessControlApi GetCELVisualAST POST /api/v4/access_control_policies/cel/visual_ast Get the visual AST for a CEL expression
AccessControlApi GetChannelAccessControlAttributes GET /api/v4/channels/{channel_id}/access_control/attributes Get access control attributes for a channel
AccessControlApi GetChannelsForAccessControlPolicy GET /api/v4/access_control_policies/{policy_id}/resources/channels Get channels for an access control policy
AccessControlApi SearchAccessControlPolicies POST /api/v4/access_control_policies/search Search access control policies
AccessControlApi SearchChannelsForAccessControlPolicy POST /api/v4/access_control_policies/{policy_id}/resources/channels/search Search channels for an access control policy
AccessControlApi TestAccessControlPolicyExpression POST /api/v4/access_control_policies/cel/test Test an access control policy expression
AccessControlApi UnassignAccessControlPolicyFromChannels DELETE /api/v4/access_control_policies/{policy_id}/unassign Unassign an access control policy from channels
AccessControlApi UpdateAccessControlPoliciesActive PUT /api/v4/access_control_policies/activate Activate or deactivate access control policies
AccessControlApi UpdateAccessControlPolicyActiveStatus GET /api/v4/access_control_policies/{policy_id}/activate Activate or deactivate an access control policy
AccessControlApi ValidateExpressionAgainstRequester POST /api/v4/access_control_policies/cel/validate_requester Validate if the current user matches a CEL expression
AgentsApi GetAgents GET /api/v4/agents Get available agents
AgentsApi GetLLMServices GET /api/v4/llmservices Get available LLM services
AuditLogsApi AddAuditLogCertificate POST /api/v4/audit_logs/certificate Upload audit log certificate
AuditLogsApi RemoveAuditLogCertificate DELETE /api/v4/audit_logs/certificate Remove audit log certificate
AuthenticationApi MigrateAuthToLdap POST /api/v4/users/migrate_auth/ldap Migrate user accounts authentication type to LDAP.
AuthenticationApi MigrateAuthToSaml POST /api/v4/users/migrate_auth/saml Migrate user accounts authentication type to SAML.
BleveApi PurgeBleveIndexes POST /api/v4/bleve/purge_indexes Purge all Bleve indexes
BookmarksApi CreateChannelBookmark POST /api/v4/channels/{channel_id}/bookmarks Create channel bookmark
BookmarksApi DeleteChannelBookmark DELETE /api/v4/channels/{channel_id}/bookmarks/{bookmark_id} Delete channel bookmark
BookmarksApi ListChannelBookmarksForChannel GET /api/v4/channels/{channel_id}/bookmarks Get channel bookmarks for Channel
BookmarksApi UpdateChannelBookmark PATCH /api/v4/channels/{channel_id}/bookmarks/{bookmark_id} Update channel bookmark
BookmarksApi UpdateChannelBookmarkSortOrder POST /api/v4/channels/{channel_id}/bookmarks/{bookmark_id}/sort_order Update channel bookmark's order
BotsApi AssignBot POST /api/v4/bots/{bot_user_id}/assign/{user_id} Assign a bot to a user
BotsApi ConvertBotToUser POST /api/v4/bots/{bot_user_id}/convert_to_user Convert a bot into a user
BotsApi ConvertUserToBot POST /api/v4/users/{user_id}/convert_to_bot Convert a user into a bot
BotsApi CreateBot POST /api/v4/bots Create a bot
BotsApi DeleteBotIconImage DELETE /api/v4/bots/{bot_user_id}/icon Delete bot's LHS icon image
BotsApi DisableBot POST /api/v4/bots/{bot_user_id}/disable Disable a bot
BotsApi EnableBot POST /api/v4/bots/{bot_user_id}/enable Enable a bot
BotsApi GetBot GET /api/v4/bots/{bot_user_id} Get a bot
BotsApi GetBotIconImage GET /api/v4/bots/{bot_user_id}/icon Get bot's LHS icon
BotsApi GetBots GET /api/v4/bots Get bots
BotsApi PatchBot PUT /api/v4/bots/{bot_user_id} Patch a bot
BotsApi SetBotIconImage POST /api/v4/bots/{bot_user_id}/icon Set bot's LHS icon image
BrandApi DeleteBrandImage DELETE /api/v4/brand/image Delete current brand image
BrandApi GetBrandImage GET /api/v4/brand/image Get brand image
BrandApi UploadBrandImage POST /api/v4/brand/image Upload brand image
ChannelsApi AddChannelMember POST /api/v4/channels/{channel_id}/members Add user(s) to channel
ChannelsApi AutocompleteChannelsForTeam GET /api/v4/teams/{team_id}/channels/autocomplete Autocomplete channels
ChannelsApi AutocompleteChannelsForTeamForSearch GET /api/v4/teams/{team_id}/channels/search_autocomplete Autocomplete channels for search
ChannelsApi ChannelMembersMinusGroupMembers GET /api/v4/channels/{channel_id}/members_minus_group_members Channel members minus group members.
ChannelsApi CreateChannel POST /api/v4/channels Create a channel
ChannelsApi CreateDirectChannel POST /api/v4/channels/direct Create a direct message channel
ChannelsApi CreateGroupChannel POST /api/v4/channels/group Create a group message channel
ChannelsApi CreateSidebarCategoryForTeamForUser POST /api/v4/users/{user_id}/teams/{team_id}/channels/categories Create user's sidebar category
ChannelsApi DeleteChannel DELETE /api/v4/channels/{channel_id} Delete a channel
ChannelsApi GetAllChannels GET /api/v4/channels Get a list of all channels
ChannelsApi GetChannel GET /api/v4/channels/{channel_id} Get a channel
ChannelsApi GetChannelAccessControlAttributes GET /api/v4/channels/{channel_id}/access_control/attributes Get access control attributes for a channel
ChannelsApi GetChannelByName GET /api/v4/teams/{team_id}/channels/name/{channel_name} Get a channel by name
ChannelsApi GetChannelByNameForTeamName GET /api/v4/teams/name/{team_name}/channels/name/{channel_name} Get a channel by name and team name
ChannelsApi GetChannelMember GET /api/v4/channels/{channel_id}/members/{user_id} Get channel member
ChannelsApi GetChannelMemberCountsByGroup GET /api/v4/channels/{channel_id}/member_counts_by_group Channel members counts for each group that has atleast one member in the channel
ChannelsApi GetChannelMembers GET /api/v4/channels/{channel_id}/members Get channel members
ChannelsApi GetChannelMembersByIds POST /api/v4/channels/{channel_id}/members/ids Get channel members by ids
ChannelsApi GetChannelMembersForUser GET /api/v4/users/{user_id}/teams/{team_id}/channels/members Get channel memberships and roles for a user
ChannelsApi GetChannelMembersTimezones GET /api/v4/channels/{channel_id}/timezones Get timezones in a channel
ChannelsApi GetChannelModerations GET /api/v4/channels/{channel_id}/moderations Get information about channel's moderation.
ChannelsApi GetChannelStats GET /api/v4/channels/{channel_id}/stats Get channel statistics
ChannelsApi GetChannelUnread GET /api/v4/users/{user_id}/channels/{channel_id}/unread Get unread messages
ChannelsApi GetChannelsForTeamForUser GET /api/v4/users/{user_id}/teams/{team_id}/channels Get channels for user
ChannelsApi GetChannelsForUser GET /api/v4/users/{user_id}/channels Get all channels from all teams
ChannelsApi GetDeletedChannelsForTeam GET /api/v4/teams/{team_id}/channels/deleted Get deleted channels
ChannelsApi GetGroupMessageMembersCommonTeams GET /api/v4/channels/{channel_id}/common_teams Get common teams for members of a Group Message.
ChannelsApi GetPinnedPosts GET /api/v4/channels/{channel_id}/pinned Get a channel's pinned posts
ChannelsApi GetPrivateChannelsForTeam GET /api/v4/teams/{team_id}/channels/private Get private channels
ChannelsApi GetPublicChannelsByIdsForTeam POST /api/v4/teams/{team_id}/channels/ids Get a list of channels by ids
ChannelsApi GetPublicChannelsForTeam GET /api/v4/teams/{team_id}/channels Get public channels
ChannelsApi GetSidebarCategoriesForTeamForUser GET /api/v4/users/{user_id}/teams/{team_id}/channels/categories Get user's sidebar categories
ChannelsApi GetSidebarCategoryForTeamForUser GET /api/v4/users/{user_id}/teams/{team_id}/channels/categories/{category_id} Get sidebar category
ChannelsApi GetSidebarCategoryOrderForTeamForUser GET /api/v4/users/{user_id}/teams/{team_id}/channels/categories/order Get user's sidebar category order
ChannelsApi MoveChannel POST /api/v4/channels/{channel_id}/move Move a channel
ChannelsApi PatchChannel PUT /api/v4/channels/{channel_id}/patch Patch a channel
ChannelsApi PatchChannelModerations PUT /api/v4/channels/{channel_id}/moderations/patch Update a channel's moderation settings.
ChannelsApi RemoveSidebarCategoryForTeamForUser DELETE /api/v4/users/{user_id}/teams/{team_id}/channels/categories/{category_id} Delete sidebar category
ChannelsApi RemoveUserFromChannel DELETE /api/v4/channels/{channel_id}/members/{user_id} Remove user from channel
ChannelsApi RestoreChannel POST /api/v4/channels/{channel_id}/restore Restore a channel
ChannelsApi SearchAllChannels POST /api/v4/channels/search Search all private and open type channels across all teams
ChannelsApi SearchChannels POST /api/v4/teams/{team_id}/channels/search Search channels
ChannelsApi SearchGroupChannels POST /api/v4/channels/group/search Search Group Channels
ChannelsApi UpdateChannel PUT /api/v4/channels/{channel_id} Update a channel
ChannelsApi UpdateChannelMemberSchemeRoles PUT /api/v4/channels/{channel_id}/members/{user_id}/schemeRoles Update the scheme-derived roles of a channel member.
ChannelsApi UpdateChannelNotifyProps PUT /api/v4/channels/{channel_id}/members/{user_id}/notify_props Update channel notifications
ChannelsApi UpdateChannelPrivacy PUT /api/v4/channels/{channel_id}/privacy Update channel's privacy
ChannelsApi UpdateChannelRoles PUT /api/v4/channels/{channel_id}/members/{user_id}/roles Update channel roles
ChannelsApi UpdateChannelScheme PUT /api/v4/channels/{channel_id}/scheme Set a channel's scheme
ChannelsApi UpdateSidebarCategoriesForTeamForUser PUT /api/v4/users/{user_id}/teams/{team_id}/channels/categories Update user's sidebar categories
ChannelsApi UpdateSidebarCategoryForTeamForUser PUT /api/v4/users/{user_id}/teams/{team_id}/channels/categories/{category_id} Update sidebar category
ChannelsApi UpdateSidebarCategoryOrderForTeamForUser PUT /api/v4/users/{user_id}/teams/{team_id}/channels/categories/order Update user's sidebar category order
ChannelsApi ViewChannel POST /api/v4/channels/members/{user_id}/view View channel
CloudApi ConfirmCustomerPayment POST /api/v4/cloud/payment/confirm Completes the payment setup intent
CloudApi CreateCustomerPayment POST /api/v4/cloud/payment Create a customer setup payment intent
CloudApi GetCloudCustomer GET /api/v4/cloud/customer Get cloud customer
CloudApi GetCloudLimits GET /api/v4/cloud/limits Get cloud workspace limits
CloudApi GetCloudProducts GET /api/v4/cloud/products Get cloud products
CloudApi GetEndpointForInstallationInformation GET /api/v4/cloud/installation GET endpoint for Installation information
CloudApi GetInvoiceForSubscriptionAsPdf GET /api/v4/cloud/subscription/invoices/{invoice_id}/pdf Get cloud invoice PDF
CloudApi GetInvoicesForSubscription GET /api/v4/cloud/subscription/invoices Get cloud subscription invoices
CloudApi GetPreviewModalData GET /api/v4/cloud/preview/modal_data Get cloud preview modal data
CloudApi GetSubscription GET /api/v4/cloud/subscription Get cloud subscription
CloudApi PostEndpointForCwsWebhooks POST /api/v4/cloud/webhook POST endpoint for CWS Webhooks
CloudApi UpdateCloudCustomer PUT /api/v4/cloud/customer Update cloud customer
CloudApi UpdateCloudCustomerAddress PUT /api/v4/cloud/customer/address Update cloud customer address
ClusterApi GetClusterStatus GET /api/v4/cluster/status Get cluster status
CommandsApi CreateCommand POST /api/v4/commands Create a command
CommandsApi DeleteCommand DELETE /api/v4/commands/{command_id} Delete a command
CommandsApi ExecuteCommand POST /api/v4/commands/execute Execute a command
CommandsApi GetCommandById GET /api/v4/commands/{command_id} Get a command
CommandsApi ListAutocompleteCommands GET /api/v4/teams/{team_id}/commands/autocomplete List autocomplete commands
CommandsApi ListCommandAutocompleteSuggestions GET /api/v4/teams/{team_id}/commands/autocomplete_suggestions List commands' autocomplete data
CommandsApi ListCommands GET /api/v4/commands List commands for a team
CommandsApi MoveCommand PUT /api/v4/commands/{command_id}/move Move a command
CommandsApi RegenCommandToken PUT /api/v4/commands/{command_id}/regen_token Generate a new token
CommandsApi UpdateCommand PUT /api/v4/commands/{command_id} Update a command
ComplianceApi CreateComplianceReport POST /api/v4/compliance/reports Create report
ComplianceApi DownloadComplianceReport GET /api/v4/compliance/reports/{report_id}/download Download a report
ComplianceApi GetComplianceReport GET /api/v4/compliance/reports/{report_id} Get a report
ComplianceApi GetComplianceReports GET /api/v4/compliance/reports Get reports
ConditionsApi CreatePlaybookCondition POST /plugins/playbooks/api/v0/playbooks/{id}/conditions Create a playbook condition
ConditionsApi DeletePlaybookCondition DELETE /plugins/playbooks/api/v0/playbooks/{id}/conditions/{conditionID} Delete a playbook condition
ConditionsApi GetPlaybookConditions GET /plugins/playbooks/api/v0/playbooks/{id}/conditions List playbook conditions
ConditionsApi GetRunConditions GET /plugins/playbooks/api/v0/runs/{id}/conditions List run conditions
ConditionsApi UpdatePlaybookCondition PUT /plugins/playbooks/api/v0/playbooks/{id}/conditions/{conditionID} Update a playbook condition
ContentFlaggingApi ApiV4ContentFlaggingConfigGet GET /api/v4/content_flagging/config Get the system content flagging configuration
ContentFlaggingApi ApiV4ContentFlaggingConfigPut PUT /api/v4/content_flagging/config Update the system content flagging configuration
ContentFlaggingApi ApiV4ContentFlaggingFieldsGet GET /api/v4/content_flagging/fields Get content flagging property fields
ContentFlaggingApi ApiV4ContentFlaggingFlagConfigGet GET /api/v4/content_flagging/flag/config Get content flagging configuration
ContentFlaggingApi ApiV4ContentFlaggingPostPostIdAssignContentReviewerIdPost POST /api/v4/content_flagging/post/{post_id}/assign/{content_reviewer_id} Assign a content reviewer to a flagged post
ContentFlaggingApi ApiV4ContentFlaggingPostPostIdFieldValuesGet GET /api/v4/content_flagging/post/{post_id}/field_values Get content flagging property field values for a post
ContentFlaggingApi ApiV4ContentFlaggingPostPostIdFlagPost POST /api/v4/content_flagging/post/{post_id}/flag Flag a post
ContentFlaggingApi ApiV4ContentFlaggingPostPostIdGet GET /api/v4/content_flagging/post/{post_id} Get a flagged post with all its content.
ContentFlaggingApi ApiV4ContentFlaggingPostPostIdKeepPut PUT /api/v4/content_flagging/post/{post_id}/keep Keep a flagged post
ContentFlaggingApi ApiV4ContentFlaggingPostPostIdRemovePut PUT /api/v4/content_flagging/post/{post_id}/remove Remove a flagged post
ContentFlaggingApi ApiV4ContentFlaggingTeamTeamIdReviewersSearchGet GET /api/v4/content_flagging/team/{team_id}/reviewers/search Search content reviewers in a team
ContentFlaggingApi ApiV4ContentFlaggingTeamTeamIdStatusGet GET /api/v4/content_flagging/team/{team_id}/status Get content flagging status for a team
CustomProfileAttributesApi CreateCPAField POST /api/v4/custom_profile_attributes/fields Create a Custom Profile Attribute field
CustomProfileAttributesApi DeleteCPAField DELETE /api/v4/custom_profile_attributes/fields/{field_id} Delete a Custom Profile Attribute field
CustomProfileAttributesApi GetCPAGroup GET /api/v4/custom_profile_attributes/group Get Custom Profile Attribute property group data
CustomProfileAttributesApi ListAllCPAFields GET /api/v4/custom_profile_attributes/fields List all the Custom Profile Attributes fields
CustomProfileAttributesApi ListCPAValues GET /api/v4/users/{user_id}/custom_profile_attributes List Custom Profile Attribute values
CustomProfileAttributesApi PatchCPAField PATCH /api/v4/custom_profile_attributes/fields/{field_id} Patch a Custom Profile Attribute field
CustomProfileAttributesApi PatchCPAValues PATCH /api/v4/custom_profile_attributes/values Patch Custom Profile Attribute values
CustomProfileAttributesApi PatchCPAValuesForUser PATCH /api/v4/users/{user_id}/custom_profile_attributes Update custom profile attribute values for a user
DataRetentionApi AddChannelsToRetentionPolicy POST /api/v4/data_retention/policies/{policy_id}/channels Add channels to a granular data retention policy
DataRetentionApi AddTeamsToRetentionPolicy POST /api/v4/data_retention/policies/{policy_id}/teams Add teams to a granular data retention policy
DataRetentionApi CreateDataRetentionPolicy POST /api/v4/data_retention/policies Create a new granular data retention policy
DataRetentionApi DeleteDataRetentionPolicy DELETE /api/v4/data_retention/policies/{policy_id} Delete a granular data retention policy
DataRetentionApi GetChannelPoliciesForUser GET /api/v4/users/{user_id}/data_retention/channel_policies Get the policies which are applied to a user's channels
DataRetentionApi GetChannelsForRetentionPolicy GET /api/v4/data_retention/policies/{policy_id}/channels Get the channels for a granular data retention policy
DataRetentionApi GetDataRetentionPolicies GET /api/v4/data_retention/policies Get the granular data retention policies
DataRetentionApi GetDataRetentionPoliciesCount GET /api/v4/data_retention/policies_count Get the number of granular data retention policies
DataRetentionApi GetDataRetentionPolicy GET /api/v4/data_retention/policy Get the global data retention policy
DataRetentionApi GetDataRetentionPolicyByID GET /api/v4/data_retention/policies/{policy_id} Get a granular data retention policy
DataRetentionApi GetTeamPoliciesForUser GET /api/v4/users/{user_id}/data_retention/team_policies Get the policies which are applied to a user's teams
DataRetentionApi GetTeamsForRetentionPolicy GET /api/v4/data_retention/policies/{policy_id}/teams Get the teams for a granular data retention policy
DataRetentionApi PatchDataRetentionPolicy PATCH /api/v4/data_retention/policies/{policy_id} Patch a granular data retention policy
DataRetentionApi RemoveChannelsFromRetentionPolicy DELETE /api/v4/data_retention/policies/{policy_id}/channels Delete channels from a granular data retention policy
DataRetentionApi RemoveTeamsFromRetentionPolicy DELETE /api/v4/data_retention/policies/{policy_id}/teams Delete teams from a granular data retention policy
DataRetentionApi SearchChannelsForRetentionPolicy POST /api/v4/data_retention/policies/{policy_id}/channels/search Search for the channels in a granular data retention policy
DataRetentionApi SearchTeamsForRetentionPolicy POST /api/v4/data_retention/policies/{policy_id}/teams/search Search for the teams in a granular data retention policy
ElasticsearchApi PurgeElasticsearchIndexes POST /api/v4/elasticsearch/purge_indexes Purge all Elasticsearch indexes
ElasticsearchApi TestElasticsearch POST /api/v4/elasticsearch/test Test Elasticsearch configuration
EmojiApi AutocompleteEmoji GET /api/v4/emoji/autocomplete Autocomplete custom emoji
EmojiApi CreateEmoji POST /api/v4/emoji Create a custom emoji
EmojiApi DeleteEmoji DELETE /api/v4/emoji/{emoji_id} Delete a custom emoji
EmojiApi GetEmoji GET /api/v4/emoji/{emoji_id} Get a custom emoji
EmojiApi GetEmojiByName GET /api/v4/emoji/name/{emoji_name} Get a custom emoji by name
EmojiApi GetEmojiImage GET /api/v4/emoji/{emoji_id}/image Get custom emoji image
EmojiApi GetEmojiList GET /api/v4/emoji Get a list of custom emoji
EmojiApi GetEmojisByNames POST /api/v4/emoji/names Get custom emojis by name
EmojiApi SearchEmoji POST /api/v4/emoji/search Search custom emoji
ExportsApi DeleteExport DELETE /api/v4/exports/{export_name} Delete an export file
ExportsApi DownloadExport GET /api/v4/exports/{export_name} Download an export file
ExportsApi ListExports GET /api/v4/exports List export files
FilesApi GetFile GET /api/v4/files/{file_id} Get a file
FilesApi GetFileInfo GET /api/v4/files/{file_id}/info Get metadata for a file
FilesApi GetFileLink GET /api/v4/files/{file_id}/link Get a public file link
FilesApi GetFilePreview GET /api/v4/files/{file_id}/preview Get a file's preview
FilesApi GetFilePublic GET /files/{file_id}/public Get a public file
FilesApi GetFileThumbnail GET /api/v4/files/{file_id}/thumbnail Get a file's thumbnail
FilesApi SearchFiles POST /api/v4/teams/{team_id}/files/search Search files in a team
FilesApi SearchFiles_0 POST /api/v4/files/search Search files across the teams of the current user
FilesApi UploadFile POST /api/v4/files Upload a file
FilteringApi ApplyIPFilters POST /api/v4/ip_filtering Get all IP filters
FilteringApi GetIPFilters GET /api/v4/ip_filtering Get all IP filters
FilteringApi MyIP GET /api/v4/ip_filtering/my_ip Get all IP filters
GroupMessageApi GetGroupMessageMembersCommonTeams GET /api/v4/channels/{channel_id}/common_teams Get common teams for members of a Group Message.
GroupsApi AddGroupMembers POST /api/v4/groups/{group_id}/members Adds members to a custom group
GroupsApi CreateGroup POST /api/v4/groups Create a custom group
GroupsApi DeleteGroup DELETE /api/v4/groups/{group_id} Deletes a custom group
GroupsApi DeleteGroupMembers DELETE /api/v4/groups/{group_id}/members Removes members from a custom group
GroupsApi GetGroup GET /api/v4/groups/{group_id} Get a group
GroupsApi GetGroupStats GET /api/v4/groups/{group_id}/stats Get group stats
GroupsApi GetGroupSyncableForChannelId GET /api/v4/groups/{group_id}/channels/{channel_id} Get GroupSyncable from channel ID
GroupsApi GetGroupSyncableForTeamId GET /api/v4/groups/{group_id}/teams/{team_id} Get GroupSyncable from Team ID
GroupsApi GetGroupSyncablesChannels GET /api/v4/groups/{group_id}/channels Get group channels
GroupsApi GetGroupSyncablesTeams GET /api/v4/groups/{group_id}/teams Get group teams
GroupsApi GetGroupUsers GET /api/v4/groups/{group_id}/members Get group users
GroupsApi GetGroups GET /api/v4/groups Get groups
GroupsApi GetGroupsAssociatedToChannelsByTeam GET /api/v4/teams/{team_id}/groups_by_channels Get team groups by channels
GroupsApi GetGroupsByChannel GET /api/v4/channels/{channel_id}/groups Get channel groups
GroupsApi GetGroupsByNames POST /api/v4/groups/names Get groups by name
GroupsApi GetGroupsByTeam GET /api/v4/teams/{team_id}/groups Get team groups
GroupsApi GetGroupsByUserId GET /api/v4/users/{user_id}/groups Get groups for a userId
GroupsApi LinkGroupSyncableForChannel POST /api/v4/groups/{group_id}/channels/{channel_id}/link Link a channel to a group
GroupsApi LinkGroupSyncableForTeam POST /api/v4/groups/{group_id}/teams/{team_id}/link Link a team to a group
GroupsApi PatchGroup PUT /api/v4/groups/{group_id}/patch Patch a group
GroupsApi PatchGroupSyncableForChannel PUT /api/v4/groups/{group_id}/channels/{channel_id}/patch Patch a GroupSyncable associated to Channel
GroupsApi PatchGroupSyncableForTeam PUT /api/v4/groups/{group_id}/teams/{team_id}/patch Patch a GroupSyncable associated to Team
GroupsApi RestoreGroup POST /api/v4/groups/{group_id}/restore Restore a previously deleted group.
GroupsApi UnlinkGroupSyncableForChannel DELETE /api/v4/groups/{group_id}/channels/{channel_id}/link Delete a link from a channel to a group
GroupsApi UnlinkGroupSyncableForTeam DELETE /api/v4/groups/{group_id}/teams/{team_id}/link Delete a link from a team to a group
GroupsApi UnlinkLdapGroup DELETE /api/v4/ldap/groups/{remote_id}/link Delete a link for LDAP group
ImportsApi DeleteImport DELETE /api/v4/imports/{import_name} Delete an import file
ImportsApi ListImports GET /api/v4/imports List import files
IntegrationActionsApi LookupInteractiveDialog POST /api/v4/actions/dialogs/lookup Lookup dialog elements
IntegrationActionsApi OpenInteractiveDialog POST /api/v4/actions/dialogs/open Open a dialog
IntegrationActionsApi SubmitInteractiveDialog POST /api/v4/actions/dialogs/submit Submit a dialog
InternalApi CreatePlaybookRunFromDialog POST /plugins/playbooks/api/v0/runs/dialog Create a new playbook run from dialog
InternalApi EndPlaybookRunDialog POST /plugins/playbooks/api/v0/runs/{id}/end End a playbook run from dialog
InternalApi GetChecklistAutocomplete GET /plugins/playbooks/api/v0/runs/checklist-autocomplete Get autocomplete data for /playbook check
InternalApi NextStageDialog POST /plugins/playbooks/api/v0/runs/{id}/next-stage-dialog Go to next stage from dialog
IpApi ApplyIPFilters POST /api/v4/ip_filtering Get all IP filters
IpApi GetIPFilters GET /api/v4/ip_filtering Get all IP filters
IpApi MyIP GET /api/v4/ip_filtering/my_ip Get all IP filters
JobsApi CancelJob POST /api/v4/jobs/{job_id}/cancel Cancel a job.
JobsApi CreateJob POST /api/v4/jobs Create a new job.
JobsApi DownloadJob GET /api/v4/jobs/{job_id}/download Download the results of a job.
JobsApi GetJob GET /api/v4/jobs/{job_id} Get a job.
JobsApi GetJobs GET /api/v4/jobs Get the jobs.
JobsApi GetJobsByType GET /api/v4/jobs/type/{type} Get the jobs of the given type.
JobsApi UpdateJobStatus PATCH /api/v4/jobs/{job_id}/status Update the status of a job
LDAPApi AddUserToGroupSyncables POST /api/v4/ldap/users/{user_id}/group_sync_memberships Create memberships for LDAP configured channels and teams for this user
LDAPApi DeleteLdapPrivateCertificate DELETE /api/v4/ldap/certificate/private Remove private key
LDAPApi DeleteLdapPublicCertificate DELETE /api/v4/ldap/certificate/public Remove public certificate
LDAPApi MigrateAuthToLdap POST /api/v4/users/migrate_auth/ldap Migrate user accounts authentication type to LDAP.
LDAPApi MigrateIdLdap POST /api/v4/ldap/migrateid Migrate Id LDAP
LDAPApi SyncLdap POST /api/v4/ldap/sync Sync with LDAP
LDAPApi TestLdap POST /api/v4/ldap/test Test LDAP configuration
LDAPApi TestLdapConnection POST /api/v4/ldap/test_connection Test LDAP connection with specific settings
LDAPApi TestLdapDiagnostics POST /api/v4/ldap/test_diagnostics Test LDAP diagnostics with specific settings
LDAPApi UploadLdapPrivateCertificate POST /api/v4/ldap/certificate/private Upload private key
LDAPApi UploadLdapPublicCertificate POST /api/v4/ldap/certificate/public Upload public certificate
LdapApi GetLdapGroups GET /api/v4/ldap/groups Returns a list of LDAP groups
LdapApi LinkLdapGroup POST /api/v4/ldap/groups/{remote_id}/link Link a LDAP group
LogsApi DownloadSystemLogs GET /api/v4/logs/download Download system logs
MetricsApi SubmitPerformanceReport POST /api/v4/client_perf Report client performance metrics
MigrateApi MigrateAuthToLdap POST /api/v4/users/migrate_auth/ldap Migrate user accounts authentication type to LDAP.
MigrateApi MigrateAuthToSaml POST /api/v4/users/migrate_auth/saml Migrate user accounts authentication type to SAML.
OAuthApi CreateOAuthApp POST /api/v4/oauth/apps Register OAuth app
OAuthApi DeleteOAuthApp DELETE /api/v4/oauth/apps/{app_id} Delete an OAuth app
OAuthApi GetAuthorizationServerMetadata GET /.well-known/oauth-authorization-server Get OAuth 2.0 Authorization Server Metadata
OAuthApi GetAuthorizedOAuthAppsForUser GET /api/v4/users/{user_id}/oauth/apps/authorized Get authorized OAuth apps
OAuthApi GetOAuthApp GET /api/v4/oauth/apps/{app_id} Get an OAuth app
OAuthApi GetOAuthAppInfo GET /api/v4/oauth/apps/{app_id}/info Get info on an OAuth app
OAuthApi GetOAuthApps GET /api/v4/oauth/apps Get OAuth apps
OAuthApi RegenerateOAuthAppSecret POST /api/v4/oauth/apps/{app_id}/regen_secret Regenerate OAuth app secret
OAuthApi RegisterOAuthClient POST /api/v4/oauth/apps/register Register OAuth client using Dynamic Client Registration
OAuthApi UpdateOAuthApp PUT /api/v4/oauth/apps/{app_id} Update an OAuth app
OauthApi CreateOutgoingOAuthConnection POST /api/v4/oauth/outgoing_connections Create a connection
OauthApi DeleteOutgoingOAuthConnection DELETE /api/v4/oauth/outgoing_connections/{connection_id} Delete a connection
OauthApi GetOutgoingOAuthConnection GET /api/v4/oauth/outgoing_connections/{connection_id} Get a connection
OauthApi ListOutgoingOAuthConnections GET /api/v4/oauth/outgoing_connections List all connections
OauthApi UpdateOutgoingOAuthConnection PUT /api/v4/oauth/outgoing_connections/{connection_id} Update a connection
OauthApi ValidateOutgoingOAuthConnection POST /api/v4/oauth/outgoing_connections/validate Validate a connection configuration
OutgoingConnectionsApi CreateOutgoingOAuthConnection POST /api/v4/oauth/outgoing_connections Create a connection
OutgoingConnectionsApi DeleteOutgoingOAuthConnection DELETE /api/v4/oauth/outgoing_connections/{connection_id} Delete a connection
OutgoingConnectionsApi GetOutgoingOAuthConnection GET /api/v4/oauth/outgoing_connections/{connection_id} Get a connection
OutgoingConnectionsApi ListOutgoingOAuthConnections GET /api/v4/oauth/outgoing_connections List all connections
OutgoingConnectionsApi UpdateOutgoingOAuthConnection PUT /api/v4/oauth/outgoing_connections/{connection_id} Update a connection
OutgoingConnectionsApi ValidateOutgoingOAuthConnection POST /api/v4/oauth/outgoing_connections/validate Validate a connection configuration
OutgoingOauthConnectionsApi CreateOutgoingOAuthConnection POST /api/v4/oauth/outgoing_connections Create a connection
OutgoingOauthConnectionsApi DeleteOutgoingOAuthConnection DELETE /api/v4/oauth/outgoing_connections/{connection_id} Delete a connection
OutgoingOauthConnectionsApi GetOutgoingOAuthConnection GET /api/v4/oauth/outgoing_connections/{connection_id} Get a connection
OutgoingOauthConnectionsApi ListOutgoingOAuthConnections GET /api/v4/oauth/outgoing_connections List all connections
OutgoingOauthConnectionsApi UpdateOutgoingOAuthConnection PUT /api/v4/oauth/outgoing_connections/{connection_id} Update a connection
OutgoingOauthConnectionsApi ValidateOutgoingOAuthConnection POST /api/v4/oauth/outgoing_connections/validate Validate a connection configuration
PermissionsApi GetAncillaryPermissionsPost POST /api/v4/permissions/ancillary Return all system console subsection ancillary permissions
PlaybookAutofollowsApi GetAutoFollows GET /plugins/playbooks/api/v0/playbooks/{id}/autofollows Get the list of followers' user IDs of a playbook
PlaybookRunsApi AddChecklistItem POST /plugins/playbooks/api/v0/runs/{id}/checklists/{checklist}/add Add an item to a playbook run's checklist
PlaybookRunsApi ChangeOwner POST /plugins/playbooks/api/v0/runs/{id}/owner Update playbook run owner
PlaybookRunsApi CreatePlaybookRunFromPost POST /plugins/playbooks/api/v0/runs Create a new playbook run
PlaybookRunsApi EndPlaybookRun PUT /plugins/playbooks/api/v0/runs/{id}/end End a playbook run
PlaybookRunsApi Finish PUT /plugins/playbooks/api/v0/runs/{id}/finish Finish a playbook
PlaybookRunsApi GetChannels GET /plugins/playbooks/api/v0/runs/channels Get playbook run channels
PlaybookRunsApi GetOwners GET /plugins/playbooks/api/v0/runs/owners Get all owners
PlaybookRunsApi GetPlaybookRun GET /plugins/playbooks/api/v0/runs/{id} Get a playbook run
PlaybookRunsApi GetPlaybookRunByChannelId GET /plugins/playbooks/api/v0/runs/channel/{channel_id} Find playbook run by channel ID
PlaybookRunsApi GetPlaybookRunMetadata GET /plugins/playbooks/api/v0/runs/{id}/metadata Get playbook run metadata
PlaybookRunsApi GetRunPropertyFields GET /plugins/playbooks/api/v0/runs/{id}/property_fields Get property fields for a playbook run
PlaybookRunsApi GetRunPropertyValues GET /plugins/playbooks/api/v0/runs/{id}/property_values Get property values for a playbook run
PlaybookRunsApi ItemDelete DELETE /plugins/playbooks/api/v0/runs/{id}/checklists/{checklist}/item/{item} Delete an item of a playbook run's checklist
PlaybookRunsApi ItemRename PUT /plugins/playbooks/api/v0/runs/{id}/checklists/{checklist}/item/{item} Update an item of a playbook run's checklist
PlaybookRunsApi ItemRun PUT /plugins/playbooks/api/v0/runs/{id}/checklists/{checklist}/item/{item}/run Run an item's slash command
PlaybookRunsApi ItemSetAssignee PUT /plugins/playbooks/api/v0/runs/{id}/checklists/{checklist}/item/{item}/assignee Update the assignee of an item
PlaybookRunsApi ItemSetState PUT /plugins/playbooks/api/v0/runs/{id}/checklists/{checklist}/item/{item}/state Update the state of an item
PlaybookRunsApi ListPlaybookRuns GET /plugins/playbooks/api/v0/runs List all playbook runs
PlaybookRunsApi ReoderChecklistItem PUT /plugins/playbooks/api/v0/runs/{id}/checklists/{checklist}/reorder Reorder an item in a playbook run's checklist
PlaybookRunsApi RestartPlaybookRun PUT /plugins/playbooks/api/v0/runs/{id}/restart Restart a playbook run
PlaybookRunsApi SetRunPropertyValue PUT /plugins/playbooks/api/v0/runs/{id}/property_fields/{field_id}/value Set a property value for a playbook run
PlaybookRunsApi Status POST /plugins/playbooks/api/v0/runs/{id}/status Update a playbook run's status
PlaybookRunsApi UpdatePlaybookRun PATCH /plugins/playbooks/api/v0/runs/{id} Update a playbook run
PlaybooksApi CreatePlaybook POST /plugins/playbooks/api/v0/playbooks Create a playbook
PlaybooksApi CreatePlaybookPropertyField POST /plugins/playbooks/api/v0/playbooks/{id}/property_fields Create a property field for a playbook
PlaybooksApi DeletePlaybook DELETE /plugins/playbooks/api/v0/playbooks/{id} Delete a playbook
PlaybooksApi DeletePlaybookPropertyField DELETE /plugins/playbooks/api/v0/playbooks/{id}/property_fields/{field_id} Delete a property field for a playbook
PlaybooksApi GetPlaybook GET /plugins/playbooks/api/v0/playbooks/{id} Get a playbook
PlaybooksApi GetPlaybookPropertyFields GET /plugins/playbooks/api/v0/playbooks/{id}/property_fields Get property fields for a playbook
PlaybooksApi GetPlaybooks GET /plugins/playbooks/api/v0/playbooks List all playbooks
PlaybooksApi ReorderPlaybookPropertyFields POST /plugins/playbooks/api/v0/playbooks/{id}/property_fields/reorder Reorder property fields for a playbook
PlaybooksApi UpdatePlaybook PUT /plugins/playbooks/api/v0/playbooks/{id} Update a playbook
PlaybooksApi UpdatePlaybookPropertyField PUT /plugins/playbooks/api/v0/playbooks/{id}/property_fields/{field_id} Update a property field for a playbook
PluginsApi DisablePlugin POST /api/v4/plugins/{plugin_id}/disable Disable plugin
PluginsApi EnablePlugin POST /api/v4/plugins/{plugin_id}/enable Enable plugin
PluginsApi GetMarketplacePlugins GET /api/v4/plugins/marketplace Gets all the marketplace plugins
PluginsApi GetMarketplaceVisitedByAdmin GET /api/v4/plugins/marketplace/first_admin_visit Get if the Plugin Marketplace has been visited by at least an admin.
PluginsApi GetPluginStatuses GET /api/v4/plugins/statuses Get plugins status
PluginsApi GetPlugins GET /api/v4/plugins Get plugins
PluginsApi GetWebappPlugins GET /api/v4/plugins/webapp Get webapp plugins
PluginsApi InstallMarketplacePlugin POST /api/v4/plugins/marketplace Installs a marketplace plugin
PluginsApi InstallPluginFromUrl POST /api/v4/plugins/install_from_url Install plugin from url
PluginsApi RemovePlugin DELETE /api/v4/plugins/{plugin_id} Remove plugin
PluginsApi UploadPlugin POST /api/v4/plugins Upload plugin
PostsApi BurnPost DELETE /api/v4/posts/{post_id}/burn Burn a burn-on-read post
PostsApi CreatePost POST /api/v4/posts Create a post
PostsApi CreatePostEphemeral POST /api/v4/posts/ephemeral Create a ephemeral post
PostsApi DeleteAcknowledgementForPost DELETE /api/v4/users/{user_id}/posts/{post_id}/ack Delete a post acknowledgement
PostsApi DeletePost DELETE /api/v4/posts/{post_id} Delete a post
PostsApi DoPostAction POST /api/v4/posts/{post_id}/actions/{action_id} Perform a post action
PostsApi GetFileInfosForPost GET /api/v4/posts/{post_id}/files/info Get file info for post
PostsApi GetFlaggedPostsForUser GET /api/v4/users/{user_id}/posts/flagged Get a list of flagged posts
PostsApi GetPost GET /api/v4/posts/{post_id} Get a post
PostsApi GetPostThread GET /api/v4/posts/{post_id}/thread Get a thread
PostsApi GetPostsAroundLastUnread GET /api/v4/users/{user_id}/channels/{channel_id}/posts/unread Get posts around oldest unread
PostsApi GetPostsByIds POST /api/v4/posts/ids Get posts by a list of ids
PostsApi GetPostsForChannel GET /api/v4/channels/{channel_id}/posts Get posts for a channel
PostsApi MoveThread POST /api/v4/posts/{post_id}/move Move a post (and any posts within that post's thread)
PostsApi PatchPost PUT /api/v4/posts/{post_id}/patch Patch a post
PostsApi PinPost POST /api/v4/posts/{post_id}/pin Pin a post to the channel
PostsApi RestorePostVersion POST /api/v4/posts/{post_id}/restore/{restore_version_id} Restores a past version of a post
PostsApi RevealPost GET /api/v4/posts/{post_id}/reveal Reveal a burn-on-read post
PostsApi RewriteMessage POST /api/v4/posts/rewrite Rewrite a message using AI
PostsApi SaveAcknowledgementForPost POST /api/v4/users/{user_id}/posts/{post_id}/ack Acknowledge a post
PostsApi SearchPosts POST /api/v4/teams/{team_id}/posts/search Search for team posts
PostsApi SetPostReminder POST /api/v4/users/{user_id}/posts/{post_id}/reminder Set a post reminder
PostsApi SetPostUnread POST /api/v4/users/{user_id}/posts/{post_id}/set_unread Mark as unread from a post.
PostsApi UnpinPost POST /api/v4/posts/{post_id}/unpin Unpin a post to the channel
PostsApi UpdatePost PUT /api/v4/posts/{post_id} Update a post
PreferencesApi DeletePreferences POST /api/v4/users/{user_id}/preferences/delete Delete user's preferences
PreferencesApi GetPreferences GET /api/v4/users/{user_id}/preferences Get the user's preferences
PreferencesApi GetPreferencesByCategory GET /api/v4/users/{user_id}/preferences/{category} List a user's preferences by category
PreferencesApi GetPreferencesByCategoryByName GET /api/v4/users/{user_id}/preferences/{category}/name/{preference_name} Get a specific user preference
PreferencesApi UpdatePreferences PUT /api/v4/users/{user_id}/preferences Save the user's preferences
ReactionsApi DeleteReaction DELETE /api/v4/users/{user_id}/posts/{post_id}/reactions/{emoji_name} Remove a reaction from a post
ReactionsApi GetBulkReactions POST /api/v4/posts/ids/reactions Bulk get the reaction for posts
ReactionsApi GetReactions GET /api/v4/posts/{post_id}/reactions Get a list of reactions to a post
ReactionsApi SaveReaction POST /api/v4/reactions Create a reaction
RemoteClustersApi AcceptRemoteClusterInvite POST /api/v4/remotecluster/accept_invite Accept a remote cluster invite code.
RemoteClustersApi CreateRemoteCluster POST /api/v4/remotecluster Create a new remote cluster.
RemoteClustersApi DeleteRemoteCluster DELETE /api/v4/remotecluster/{remote_id} Delete a remote cluster.
RemoteClustersApi GenerateRemoteClusterInvite POST /api/v4/remotecluster/{remote_id}/generate_invite Generate invite code.
RemoteClustersApi GetRemoteCluster GET /api/v4/remotecluster/{remote_id} Get a remote cluster.
RemoteClustersApi GetRemoteClusters GET /api/v4/remotecluster Get a list of remote clusters.
RemoteClustersApi PatchRemoteCluster PATCH /api/v4/remotecluster/{remote_id} Patch a remote cluster.
ReportsApi GetPostsForReporting POST /api/v4/reports/posts Get posts for reporting and compliance purposes using cursor-based pagination
ReportsApi GetUserCountForReporting GET /api/v4/reports/users/count Gets the full count of users that match the filter.
ReportsApi GetUsersForReporting GET /api/v4/reports/users Get a list of paged and sorted users for admin reporting purposes
ReportsApi StartBatchUsersExport POST /api/v4/reports/users/export Starts a job to export the users to a report file.
RolesApi GetAllRoles GET /api/v4/roles Get a list of all the roles
RolesApi GetRole GET /api/v4/roles/{role_id} Get a role
RolesApi GetRoleByName GET /api/v4/roles/name/{role_name} Get a role
RolesApi GetRolesByNames POST /api/v4/roles/names Get a list of roles by name
RolesApi PatchRole PUT /api/v4/roles/{role_id}/patch Patch a role
RootApi AcknowledgeNotification POST /api/v4/notifications/ack Acknowledge receiving of a notification
SAMLApi DeleteSamlIdpCertificate DELETE /api/v4/saml/certificate/idp Remove IDP certificate
SAMLApi DeleteSamlPrivateCertificate DELETE /api/v4/saml/certificate/private Remove private key
SAMLApi DeleteSamlPublicCertificate DELETE /api/v4/saml/certificate/public Remove public certificate
SAMLApi GetSamlCertificateStatus GET /api/v4/saml/certificate/status Get certificate status
SAMLApi GetSamlMetadata GET /api/v4/saml/metadata Get metadata
SAMLApi GetSamlMetadataFromIdp POST /api/v4/saml/metadatafromidp Get metadata from Identity Provider
SAMLApi MigrateAuthToSaml POST /api/v4/users/migrate_auth/saml Migrate user accounts authentication type to SAML.
SAMLApi ResetSamlAuthDataToEmail POST /api/v4/saml/reset_auth_data Reset AuthData to Email
SAMLApi UploadSamlIdpCertificate POST /api/v4/saml/certificate/idp Upload IDP certificate
SAMLApi UploadSamlPrivateCertificate POST /api/v4/saml/certificate/private Upload private key
SAMLApi UploadSamlPublicCertificate POST /api/v4/saml/certificate/public Upload public certificate
ScheduledPostApi CreateScheduledPost POST /api/v4/posts/schedule Creates a scheduled post
ScheduledPostApi DeleteScheduledPost DELETE /api/v4/posts/schedule/{scheduled_post_id} Delete a scheduled post
ScheduledPostApi GetUserScheduledPosts GET /api/v4/posts/scheduled/team/{team_id} Gets all scheduled posts for a user for the specified team..
ScheduledPostApi UpdateScheduledPost PUT /api/v4/posts/schedule/{scheduled_post_id} Update a scheduled post
SchemesApi CreateScheme POST /api/v4/schemes Create a scheme
SchemesApi DeleteScheme DELETE /api/v4/schemes/{scheme_id} Delete a scheme
SchemesApi GetChannelsForScheme GET /api/v4/schemes/{scheme_id}/channels Get a page of channels which use this scheme.
SchemesApi GetScheme GET /api/v4/schemes/{scheme_id} Get a scheme
SchemesApi GetSchemes GET /api/v4/schemes Get the schemes.
SchemesApi GetTeamsForScheme GET /api/v4/schemes/{scheme_id}/teams Get a page of teams which use this scheme.
SchemesApi PatchScheme PUT /api/v4/schemes/{scheme_id}/patch Patch a scheme
SearchApi SearchFiles POST /api/v4/teams/{team_id}/files/search Search files in a team
SearchApi SearchFiles_0 POST /api/v4/files/search Search files across the teams of the current user
SharedChannelsApi CanUserDirectMessage GET /api/v4/sharedchannels/users/{user_id}/can_dm/{other_user_id} Check if user can DM another user in shared channels context
SharedChannelsApi GetAllSharedChannels GET /api/v4/sharedchannels/{team_id} Get all shared channels for team.
SharedChannelsApi GetRemoteClusterInfo GET /api/v4/sharedchannels/remote_info/{remote_id} Get remote cluster info by ID for user.
SharedChannelsApi GetSharedChannelRemotes GET /api/v4/sharedchannels/{channel_id}/remotes Get remote clusters for a shared channel
SharedChannelsApi GetSharedChannelRemotesByRemoteCluster GET /api/v4/remotecluster/{remote_id}/sharedchannelremotes Get shared channel remotes by remote cluster.
SharedChannelsApi InviteRemoteClusterToChannel POST /api/v4/remotecluster/{remote_id}/channels/{channel_id}/invite Invites a remote cluster to a channel.
SharedChannelsApi UninviteRemoteClusterToChannel POST /api/v4/remotecluster/{remote_id}/channels/{channel_id}/uninvite Uninvites a remote cluster to a channel.
StatusApi GetUserStatus GET /api/v4/users/{user_id}/status Get user status
StatusApi GetUsersStatusesByIds POST /api/v4/users/status/ids Get user statuses by id
StatusApi PostUserRecentCustomStatusDelete POST /api/v4/users/{user_id}/status/custom/recent/delete Delete user's recent custom status
StatusApi RemoveRecentCustomStatus DELETE /api/v4/users/{user_id}/status/custom/recent Delete user's recent custom status
StatusApi UnsetUserCustomStatus DELETE /api/v4/users/{user_id}/status/custom Unsets user custom status
StatusApi UpdateUserCustomStatus PUT /api/v4/users/{user_id}/status/custom Update user custom status
StatusApi UpdateUserStatus PUT /api/v4/users/{user_id}/status Update user status
SystemApi CheckIntegrity POST /api/v4/integrity Perform a database integrity check
SystemApi ClearServerBusy DELETE /api/v4/server_busy Clears the server busy (high load) flag
SystemApi DatabaseRecycle POST /api/v4/database/recycle Recycle database connections
SystemApi GenerateSupportPacket GET /api/v4/system/support_packet Download a zip file which contains helpful and useful information for troubleshooting your mattermost instance.
SystemApi GetAnalyticsOld GET /api/v4/analytics/old Get analytics
SystemApi GetAudits GET /api/v4/audits Get audits
SystemApi GetClientConfig GET /api/v4/config/client Get client configuration
SystemApi GetClientLicense GET /api/v4/license/client Get client license
SystemApi GetConfig GET /api/v4/config Get configuration
SystemApi GetEnvironmentConfig GET /api/v4/config/environment Get configuration made through environment variables
SystemApi GetImageByUrl GET /api/v4/image Get an image by url
SystemApi GetLicenseLoadMetric GET /api/v4/license/load_metric Get license load metric
SystemApi GetLogs GET /api/v4/logs Get logs
SystemApi GetNotices GET /api/v4/system/notices/{teamId} Get notices for logged in user in specified team
SystemApi GetPing GET /api/v4/system/ping Check system health
SystemApi GetPrevTrialLicense GET /api/v4/trial-license/prev Get last trial license used
SystemApi GetRedirectLocation GET /api/v4/redirect_location Get redirect location
SystemApi GetServerBusyExpires GET /api/v4/server_busy Get server busy expiry time.
SystemApi GetSupportedTimezone GET /api/v4/system/timezones Retrieve a list of supported timezones
SystemApi InvalidateCaches POST /api/v4/caches/invalidate Invalidate all the caches
SystemApi IsAllowedToUpgradeToEnterprise GET /api/v4/upgrade_to_enterprise/allowed Check if the user is allowed to upgrade to Enterprise Edition
SystemApi MarkNoticesViewed PUT /api/v4/system/notices/view Update notices as 'viewed'
SystemApi PatchConfig PUT /api/v4/config/patch Patch configuration
SystemApi PostLog POST /api/v4/logs Add log message
SystemApi ReloadConfig POST /api/v4/config/reload Reload configuration
SystemApi RemoveLicenseFile DELETE /api/v4/license Remove license file
SystemApi RequestLicenseRenewalLink GET /api/v4/license/renewal Request the license renewal link
SystemApi RequestTrialLicense POST /api/v4/trial-license Request and install a trial license for your server
SystemApi RestartServer POST /api/v4/restart Restart the system after an upgrade from Team Edition to Enterprise Edition
SystemApi SetServerBusy POST /api/v4/server_busy Set the server busy (high load) flag
SystemApi TestEmail POST /api/v4/email/test Send a test email
SystemApi TestNotification POST /api/v4/notifications/test Send a test notification
SystemApi TestS3Connection POST /api/v4/file/s3_test Test AWS S3 connection
SystemApi TestSiteURL POST /api/v4/site_url/test Checks the validity of a Site URL
SystemApi UpdateConfig PUT /api/v4/config Update configuration
SystemApi UpdateMarketplaceVisitedByAdmin POST /api/v4/plugins/marketplace/first_admin_visit Stores that the Plugin Marketplace has been visited by at least an admin.
SystemApi UpgradeToEnterprise POST /api/v4/upgrade_to_enterprise Executes an inplace upgrade from Team Edition to Enterprise Edition
SystemApi UpgradeToEnterpriseStatus GET /api/v4/upgrade_to_enterprise/status Get the current status for the inplace upgrade from Team Edition to Enterprise Edition
SystemApi UploadLicenseFile POST /api/v4/license Upload license file
TeamsApi AddTeamMember POST /api/v4/teams/{team_id}/members Add user to team
TeamsApi AddTeamMemberFromInvite POST /api/v4/teams/members/invite Add user to team from invite
TeamsApi AddTeamMembers POST /api/v4/teams/{team_id}/members/batch Add multiple users to team
TeamsApi CreateTeam POST /api/v4/teams Create a team
TeamsApi GetAllTeams GET /api/v4/teams Get teams
TeamsApi GetTeam GET /api/v4/teams/{team_id} Get a team
TeamsApi GetTeamByName GET /api/v4/teams/name/{name} Get a team by name
TeamsApi GetTeamIcon GET /api/v4/teams/{team_id}/image Get the team icon
TeamsApi GetTeamInviteInfo GET /api/v4/teams/invite/{invite_id} Get invite info for a team
TeamsApi GetTeamMember GET /api/v4/teams/{team_id}/members/{user_id} Get a team member
TeamsApi GetTeamMembers GET /api/v4/teams/{team_id}/members Get team members
TeamsApi GetTeamMembersByIds POST /api/v4/teams/{team_id}/members/ids Get team members by ids
TeamsApi GetTeamMembersForUser GET /api/v4/users/{user_id}/teams/members Get team members for a user
TeamsApi GetTeamStats GET /api/v4/teams/{team_id}/stats Get a team stats
TeamsApi GetTeamUnread GET /api/v4/users/{user_id}/teams/{team_id}/unread Get unreads for a team
TeamsApi GetTeamsForUser GET /api/v4/users/{user_id}/teams Get a user's teams
TeamsApi GetTeamsUnreadForUser GET /api/v4/users/{user_id}/teams/unread Get team unreads for a user
TeamsApi ImportTeam POST /api/v4/teams/{team_id}/import Import a Team from other application
TeamsApi InvalidateEmailInvites DELETE /api/v4/teams/invites/email Invalidate active email invitations
TeamsApi InviteGuestsToTeam POST /api/v4/teams/{team_id}/invite-guests/email Invite guests to the team by email
TeamsApi InviteUsersToTeam POST /api/v4/teams/{team_id}/invite/email Invite users to the team by email
TeamsApi PatchTeam PUT /api/v4/teams/{team_id}/patch Patch a team
TeamsApi RegenerateTeamInviteId POST /api/v4/teams/{team_id}/regenerate_invite_id Regenerate the Invite ID from a Team
TeamsApi RemoveTeamIcon DELETE /api/v4/teams/{team_id}/image Remove the team icon
TeamsApi RemoveTeamMember DELETE /api/v4/teams/{team_id}/members/{user_id} Remove user from team
TeamsApi RestoreTeam POST /api/v4/teams/{team_id}/restore Restore a team
TeamsApi SearchFiles POST /api/v4/teams/{team_id}/files/search Search files in a team
TeamsApi SearchTeams POST /api/v4/teams/search Search teams
TeamsApi SetTeamIcon POST /api/v4/teams/{team_id}/image Sets the team icon
TeamsApi SoftDeleteTeam DELETE /api/v4/teams/{team_id} Delete a team
TeamsApi TeamExists GET /api/v4/teams/name/{name}/exists Check if team exists
TeamsApi TeamMembersMinusGroupMembers GET /api/v4/teams/{team_id}/members_minus_group_members Team members minus group members.
TeamsApi UpdateTeam PUT /api/v4/teams/{team_id} Update a team
TeamsApi UpdateTeamMemberRoles PUT /api/v4/teams/{team_id}/members/{user_id}/roles Update a team member roles
TeamsApi UpdateTeamMemberSchemeRoles PUT /api/v4/teams/{team_id}/members/{user_id}/schemeRoles Update the scheme-derived roles of a team member.
TeamsApi UpdateTeamPrivacy PUT /api/v4/teams/{team_id}/privacy Update teams's privacy
TeamsApi UpdateTeamScheme PUT /api/v4/teams/{team_id}/scheme Set a team's scheme
TermsOfServiceApi CreateTermsOfService POST /api/v4/terms_of_service Creates a new terms of service
TermsOfServiceApi GetTermsOfService GET /api/v4/terms_of_service Get latest terms of service
TermsOfServiceApi GetUserTermsOfService GET /api/v4/users/{user_id}/terms_of_service Fetches user's latest terms of service action if the latest action was for acceptance.
TermsOfServiceApi RegisterTermsOfServiceAction POST /api/v4/users/{user_id}/terms_of_service Records user action when they accept or decline custom terms of service
ThreadsApi GetThreadMentionCountsByChannel GET /api/v4/users/{user_id}/teams/{team_id}/threads/mention_counts Get all unread mention counts from followed threads, per-channel
ThreadsApi GetUserThread GET /api/v4/users/{user_id}/teams/{team_id}/threads/{thread_id} Get a thread followed by the user
ThreadsApi GetUserThreads GET /api/v4/users/{user_id}/teams/{team_id}/threads Get all threads that user is following
ThreadsApi SetThreadUnreadByPostId POST /api/v4/users/{user_id}/teams/{team_id}/threads/{thread_id}/set_unread/{post_id} Mark a thread that user is following as unread based on a post id
ThreadsApi StartFollowingThread PUT /api/v4/users/{user_id}/teams/{team_id}/threads/{thread_id}/following Start following a thread
ThreadsApi StopFollowingThread DELETE /api/v4/users/{user_id}/teams/{team_id}/threads/{thread_id}/following Stop following a thread
ThreadsApi UpdateThreadReadForUser PUT /api/v4/users/{user_id}/teams/{team_id}/threads/{thread_id}/read/{timestamp} Mark a thread that user is following read state to the timestamp
ThreadsApi UpdateThreadsReadForUser PUT /api/v4/users/{user_id}/teams/{team_id}/threads/read Mark all threads that user is following as read
TimelineApi RemoveTimelineEvent DELETE /plugins/playbooks/api/v0/runs/{id}/timeline/{event_id} Remove a timeline event from the playbook run
UploadsApi CreateUpload POST /api/v4/uploads Create an upload
UploadsApi GetUpload GET /api/v4/uploads/{upload_id} Get an upload session
UploadsApi UploadData POST /api/v4/uploads/{upload_id} Perform a file upload
UsageApi GetPostsUsage GET /api/v4/usage/posts Get current usage of posts
UsageApi GetStorageUsage GET /api/v4/usage/storage Get the total file storage usage for the instance in bytes.
UsersApi AttachDeviceExtraProps PUT /api/v4/users/sessions/device Attach mobile device and extra props to the session object
UsersApi AutocompleteUsers GET /api/v4/users/autocomplete Autocomplete users
UsersApi CheckUserMfa POST /api/v4/users/mfa Check MFA
UsersApi ConvertBotToUser POST /api/v4/bots/{bot_user_id}/convert_to_user Convert a bot into a user
UsersApi ConvertUserToBot POST /api/v4/users/{user_id}/convert_to_bot Convert a user into a bot
UsersApi CreateUser POST /api/v4/users Create a user
UsersApi CreateUserAccessToken POST /api/v4/users/{user_id}/tokens Create a user access token
UsersApi DeleteUser DELETE /api/v4/users/{user_id} Deactivate a user account.
UsersApi DemoteUserToGuest POST /api/v4/users/{user_id}/demote Demote a user to a guest
UsersApi DisableUserAccessToken POST /api/v4/users/tokens/disable Disable personal access token
UsersApi EnableUserAccessToken POST /api/v4/users/tokens/enable Enable personal access token
UsersApi GenerateMfaSecret POST /api/v4/users/{user_id}/mfa/generate Generate MFA secret
UsersApi GetChannelMembersWithTeamDataForUser GET /api/v4/users/{user_id}/channel_members Get all channel members from all teams for a user
UsersApi GetDefaultProfileImage GET /api/v4/users/{user_id}/image/default Return user's default (generated) profile image
UsersApi GetKnownUsers GET /api/v4/users/known Get user IDs of known users
UsersApi GetLoginType POST /api/v4/users/login/type Get login authentication type
UsersApi GetProfileImage GET /api/v4/users/{user_id}/image Get user's profile image
UsersApi GetServerLimits GET /api/v4/limits/server Gets the server limits for the server
UsersApi GetSessions GET /api/v4/users/{user_id}/sessions Get user's sessions
UsersApi GetTotalUsersStats GET /api/v4/users/stats Get total count of users in the system
UsersApi GetTotalUsersStatsFiltered GET /api/v4/users/stats/filtered Get total count of users in the system matching the specified filters
UsersApi GetUploadsForUser GET /api/v4/users/{user_id}/uploads Get uploads for a user
UsersApi GetUser GET /api/v4/users/{user_id} Get a user
UsersApi GetUserAccessToken GET /api/v4/users/tokens/{token_id} Get a user access token
UsersApi GetUserAccessTokens GET /api/v4/users/tokens Get user access tokens
UsersApi GetUserAccessTokensForUser GET /api/v4/users/{user_id}/tokens Get user access tokens
UsersApi GetUserAudits GET /api/v4/users/{user_id}/audits Get user's audits
UsersApi GetUserByEmail GET /api/v4/users/email/{email} Get a user by email
UsersApi GetUserByUsername GET /api/v4/users/username/{username} Get a user by username
UsersApi GetUserTermsOfService GET /api/v4/users/{user_id}/terms_of_service Fetches user's latest terms of service action if the latest action was for acceptance.
UsersApi GetUsers GET /api/v4/users Get users
UsersApi GetUsersByGroupChannelIds POST /api/v4/users/group_channels Get users by group channels ids
UsersApi GetUsersByIds POST /api/v4/users/ids Get users by ids
UsersApi GetUsersByUsernames POST /api/v4/users/usernames Get users by usernames
UsersApi GetUsersWithInvalidEmails GET /api/v4/users/invalid_emails Get users with invalid emails
UsersApi Login POST /api/v4/users/login Login to Mattermost server
UsersApi LoginByCwsToken POST /api/v4/users/login/cws Auto-Login to Mattermost server using CWS token
UsersApi LoginIntune POST /oauth/intune Login with Microsoft Intune MAM
UsersApi LoginSSOCodeExchange POST /api/v4/users/login/sso/code-exchange Exchange SSO login code for session tokens
UsersApi Logout POST /api/v4/users/logout Logout from the Mattermost server
UsersApi MigrateAuthToLdap POST /api/v4/users/migrate_auth/ldap Migrate user accounts authentication type to LDAP.
UsersApi MigrateAuthToSaml POST /api/v4/users/migrate_auth/saml Migrate user accounts authentication type to SAML.
UsersApi PatchUser PUT /api/v4/users/{user_id}/patch Patch a user
UsersApi PermanentDeleteAllUsers DELETE /api/v4/users Permanent delete all users
UsersApi PromoteGuestToUser POST /api/v4/users/{user_id}/promote Promote a guest to user
UsersApi PublishUserTyping POST /api/v4/users/{user_id}/typing Publish a user typing websocket event.
UsersApi RegisterTermsOfServiceAction POST /api/v4/users/{user_id}/terms_of_service Records user action when they accept or decline custom terms of service
UsersApi ResetPassword POST /api/v4/users/password/reset Reset password
UsersApi ResetPasswordFailedAttempts POST /api/v4/users/{user_id}/reset_failed_attempts Reset the failed password attempts for a user
UsersApi RevokeAllSessions POST /api/v4/users/{user_id}/sessions/revoke/all Revoke all active sessions for a user
UsersApi RevokeSession POST /api/v4/users/{user_id}/sessions/revoke Revoke a user session
UsersApi RevokeSessionsFromAllUsers POST /api/v4/users/sessions/revoke/all Revoke all sessions from all users.
UsersApi RevokeUserAccessToken POST /api/v4/users/tokens/revoke Revoke a user access token
UsersApi SearchUserAccessTokens POST /api/v4/users/tokens/search Search tokens
UsersApi SearchUsers POST /api/v4/users/search Search users
UsersApi SendPasswordResetEmail POST /api/v4/users/password/reset/send Send password reset email
UsersApi SendVerificationEmail POST /api/v4/users/email/verify/send Send verification email
UsersApi SetDefaultProfileImage DELETE /api/v4/users/{user_id}/image Delete user's profile image
UsersApi SetProfileImage POST /api/v4/users/{user_id}/image Set user's profile image
UsersApi SwitchAccountType POST /api/v4/users/login/switch Switch login method
UsersApi UpdateUser PUT /api/v4/users/{user_id} Update a user
UsersApi UpdateUserActive PUT /api/v4/users/{user_id}/active Activate or deactivate a user
UsersApi UpdateUserAuth PUT /api/v4/users/{user_id}/auth Update a user's authentication method
UsersApi UpdateUserMfa PUT /api/v4/users/{user_id}/mfa Update a user's MFA
UsersApi UpdateUserPassword PUT /api/v4/users/{user_id}/password Update a user's password
UsersApi UpdateUserRoles PUT /api/v4/users/{user_id}/roles Update a user's roles
UsersApi VerifyUserEmail POST /api/v4/users/email/verify Verify user email
UsersApi VerifyUserEmailWithoutToken POST /api/v4/users/{user_id}/email/verify/member Verify user email by ID
WebhooksApi CreateIncomingWebhook POST /api/v4/hooks/incoming Create an incoming webhook
WebhooksApi CreateOutgoingWebhook POST /api/v4/hooks/outgoing Create an outgoing webhook
WebhooksApi DeleteIncomingWebhook DELETE /api/v4/hooks/incoming/{hook_id} Delete an incoming webhook
WebhooksApi DeleteOutgoingWebhook DELETE /api/v4/hooks/outgoing/{hook_id} Delete an outgoing webhook
WebhooksApi GetIncomingWebhook GET /api/v4/hooks/incoming/{hook_id} Get an incoming webhook
WebhooksApi GetIncomingWebhooks GET /api/v4/hooks/incoming List incoming webhooks
WebhooksApi GetOutgoingWebhook GET /api/v4/hooks/outgoing/{hook_id} Get an outgoing webhook
WebhooksApi GetOutgoingWebhooks GET /api/v4/hooks/outgoing List outgoing webhooks
WebhooksApi RegenOutgoingHookToken POST /api/v4/hooks/outgoing/{hook_id}/regen_token Regenerate the token for the outgoing webhook.
WebhooksApi UpdateIncomingWebhook PUT /api/v4/hooks/incoming/{hook_id} Update an incoming webhook
WebhooksApi UpdateOutgoingWebhook PUT /api/v4/hooks/outgoing/{hook_id} Update an outgoing webhook

<a id="documentation-for-models"></a>

Documentation for Models

<a id="documentation-for-authorization"></a>

Documentation for Authorization

Authentication schemes defined for the API: <a id="bearerAuth"></a>

bearerAuth

  • Type: Bearer Authentication

<a id="BearerAuth"></a>

BearerAuth

  • Type: Bearer Authentication

Generate script

openapi-generator-cli generate \
  -i mattermost-openapi-v4.yaml \
  -g csharp \
  -o Mattermost_Net \
  --library httpclient \
  --skip-validate-spec \
  --additional-properties \
packageName=Mattermost.Net,\
targetFramework=net9.0,\
netCoreProjectFile=true,\
nullableReferenceTypes=true
Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.1 320 12/18/2025
1.0.0 294 12/18/2025

Initial release