* [MM-71079] Add health finding types and Client4.getHealthFindings Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Co-authored-by: Cursor <cursoragent@cursor.com> * [MM-71079] Add health findings redux action, reducer and selectors Severity counts are derived from the fetched list and count firing findings only, so unknowns never inflate or deflate them. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Co-authored-by: Cursor <cursoragent@cursor.com> * [MM-71079] Add the read-only Site health System Console page Lists firing findings by area, with unknown findings in their own collapsed section that shows each one's cause. Registered under Reporting and gated like the API: HealthDashboard feature flag, Enterprise license and system admin. The sidebar now passes the system admin flag to isHidden checks, as route rendering already does. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Co-authored-by: Cursor <cursoragent@cursor.com> * [MM-71079] Read last-evaluated time from the findings API GET /api/v4/health/findings now returns {evaluated_at, findings}. Store evaluated_at alongside the findings and read it directly instead of deriving it from max(last_seen_at), which was 0 whenever every finding was muted and the page wrongly showed "Not evaluated yet". Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> * [MM-71079] Add Playwright smoke test for the Site health page Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> * [MM-71079] Return docs_url and console_path on rendered health findings HealthFinding.Render copies the rule's DocsURL and ConsolePath so the System Console page can link to the setting and the documentation. Like title, remediation and message, they are render-only and empty in a store result. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Co-authored-by: Cursor <cursoragent@cursor.com> * [MM-71079] Filter Site health findings by tab and group them by severity or category The summary pills become one segmented tab group: Open (firing plus unknown), Critical, Warning, Info, Recently resolved (last 7 days) and Unknown, each with a count. Severity counts are firing only. A Group by control switches between severity sections and per-area accordions; areas with a firing critical start expanded. Rows sort by severity then newest first, show how long they have been firing, unevaluated or since they resolved, and only one row is expanded at a time. The page title is shown once, in the admin header. Selectors return every finding; tab filtering, counting and grouping are pure helpers that take now, so the resolved window is testable. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Co-authored-by: Cursor <cursoragent@cursor.com> * [MM-71079] Link Site health findings to their setting and documentation An expanded finding gains a Resolve here section with link cards for console_path (in-app navigation to the System Console setting) and docs_url (opens in a new tab), each shown only when set. Details lead with the finding's state, and firing or unknown findings with a console_path get a primary Go to setting button. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Co-authored-by: Cursor <cursoragent@cursor.com> * [MM-71079] Find the Site health title in the admin header in the smoke test The page no longer renders a second "Site health" heading; the title lives only in the admin console header. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Co-authored-by: Cursor <cursoragent@cursor.com> * [MM-71079] Move SiteURL health rules to the platform area SITE_URL_EMPTY and SITE_URL_HTTP were in the cluster area, which the System Console shows as "High availability". Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> * [MM-71079] Simplify Site health page helpers Reuse getHealthFindingSection and countHealthFindingsByTab instead of local copies, gate on the FeatureFlags admin config like other flags, replace label switches with lookup tables, and memoize finding rows. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> * [MM-71079] Fix Site health resolved tab, accordion and row state Keep checks that passed on their first run out of Recently resolved, expand every area on filtered tabs, collapse the expanded row when the tab or grouping changes, and stop the e2e test depending on whether a health check has already run. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> * [MM-71079] Hide collapsed Site health panels The display rules on the findings list overrode the hidden attribute, so collapsing a category accordion left its findings visible. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Co-authored-by: Cursor <cursoragent@cursor.com>
Mattermost API Documentation
This repository holds the API reference documentation for Mattermost available at https://developers.mattermost.com/api-reference.
The Mattermost API reference uses the OpenAPI standard and the ReDoc document generator.
All documentation is available under the terms of a Creative Commons License.
Contributing
We're accepting pull requests! See something that could be documented better or is missing documentation? Make a PR and we'll gladly accept it.
All the documentation is written in YAML and found in the v4/source directories. APIv4 documentation is in the v4 directory. APIs for Playbooks are retrieved from GitHub at build time and integrated into the final YAML file.
- When adding a new route, please add it to the correct file. For example, a channel route will go in channels.yaml.
- To add a new tag, please do so in introduction.yaml
- Definitions should be added to definitions.yaml
There is no strict style guide but please try to follow the example of the existing documentation.
To build the full YAML, run make build and it will be output to v4/html/static/mattermost-openapi-v4.yaml. This will also check syntax using swagger-cli.
To test locally, run make build, make run and navigate to http://127.0.0.1:8080. For any updates to the source files, re-run the same commands.
Deployment
Deployment is handled automatically by our Github Actions. When a pull request is merged, it will automatically be deployed to https://developers.mattermost.com/api-reference.