Mattermost API v4
Every endpoint is a first-class, deep-linkable page generated directly from the canonical OpenAPI spec. Per-endpoint code samples in curl, PowerShell, Python, Node, and Go.
- 549Endpoints
- 38Resource groups
- 5Languagescurl · PowerShell · Python · Node · Go
- v4API versionStable, semver-tracked
- GETRead
- POSTCreate / action
- PUTReplace
- PATCHUpdate fields
- DELETERemove
Start here
Copy-pasteable curl quick-start for the most common operations: log in, post a message, create a channel, upload a file.
Log in flows, personal access tokens, session tokens, MFA, SSO. Required for almost every endpoint.
Every endpoint, grouped by resource: Users, Channels, Posts, Teams, Files, Webhooks, and more.
Common workflows
Create, list, archive, and manage channels. Add and remove members, change channel type, set headers and purposes.
Post, edit, delete, pin, react. Search, fetch threads, retrieve flagged posts.
Search, fetch, create, deactivate users. Manage roles, sessions, MFA, profile images.
Incoming and outgoing webhooks for integrations and ChatOps.
How it's generated
The canonical source is the OpenAPI specification in mattermost/mattermost/api/v4/source/ (56 YAML fragments, one per resource). The build pipeline:
node docs-site/scripts/build-openapi.mjs # bundle 56 fragments → one YAML, 435 paths, 550 ops
npx docusaurus gen-api-docs all # emit ~589 MDX files (one per endpoint + tag pages)
When the upstream spec changes, this regenerates automatically. AI never authors API reference content — it's deterministic from the spec.