Point the API spec and its route checker at the new base

The OpenAPI document keys every operation by its full path, so the spec
described endpoints that no longer exist the moment the server moved.

The openApiSync analyzer cross-checks each registered subrouter against
that document and reconstructs the prefix from a literal of its own, so
spec and analyzer have to move together or every route reports as
missing. Its special case for the v5 root goes away with the root
itself.

The api/v4 directory keeps its name: it is where the spec sources live,
not a URL anyone requests.

Co-authored-by: Hanzo Dev <[email protected]>
This commit is contained in:
2026-08-14 10:58:08 -07:00
co-authored by Hanzo Dev
parent c4c2c619ab
commit 404de134f3
60 changed files with 529 additions and 529 deletions
+17 -17
View File
@@ -1,4 +1,4 @@
/api/v4/access_control_policies:
/v1/team/access_control_policies:
put:
tags:
- access control
@@ -29,7 +29,7 @@
$ref: "#/components/responses/Forbidden"
"500":
$ref: "#/components/responses/InternalServerError"
/api/v4/access_control_policies/cel/check:
/v1/team/access_control_policies/cel/check:
post:
tags:
- access control
@@ -66,7 +66,7 @@
$ref: "#/components/responses/Forbidden"
"500":
$ref: "#/components/responses/InternalServerError"
/api/v4/access_control_policies/cel/validate_requester:
/v1/team/access_control_policies/cel/validate_requester:
post:
tags:
- access control
@@ -113,7 +113,7 @@
$ref: "#/components/responses/Forbidden"
"500":
$ref: "#/components/responses/InternalServerError"
/api/v4/access_control_policies/cel/test:
/v1/team/access_control_policies/cel/test:
post:
tags:
- access control
@@ -144,7 +144,7 @@
$ref: "#/components/responses/Forbidden"
"500":
$ref: "#/components/responses/InternalServerError"
/api/v4/access_control_policies/cel/simulate_users:
/v1/team/access_control_policies/cel/simulate_users:
post:
tags:
- access control
@@ -195,7 +195,7 @@
$ref: "#/components/responses/InternalServerError"
"501":
$ref: "#/components/responses/NotImplemented"
/api/v4/access_control_policies/search:
/v1/team/access_control_policies/search:
post:
tags:
- access control
@@ -226,7 +226,7 @@
$ref: "#/components/responses/Forbidden"
"500":
$ref: "#/components/responses/InternalServerError"
/api/v4/access_control_policies/cel/autocomplete/fields:
/v1/team/access_control_policies/cel/autocomplete/fields:
get:
tags:
- access control
@@ -265,7 +265,7 @@
$ref: "#/components/responses/Forbidden"
"500":
$ref: "#/components/responses/InternalServerError"
"/api/v4/access_control_policies/{policy_id}":
"/v1/team/access_control_policies/{policy_id}":
get:
tags:
- access control
@@ -332,7 +332,7 @@
$ref: "#/components/responses/NotFound"
"500":
$ref: "#/components/responses/InternalServerError"
"/api/v4/access_control_policies/{policy_id}/activate":
"/v1/team/access_control_policies/{policy_id}/activate":
get:
deprecated: true
tags:
@@ -342,7 +342,7 @@
Updates the active status of an access control policy.
**Deprecated:** This endpoint will be removed in a future release. Use the dedicated access control policy update endpoint instead.
Link: </api/v4/access_control_policies/activate>; rel="successor-version"
Link: </v1/team/access_control_policies/activate>; rel="successor-version"
##### Permissions
Must have the `manage_system` permission.
@@ -377,7 +377,7 @@
$ref: "#/components/responses/NotFound"
"500":
$ref: "#/components/responses/InternalServerError"
"/api/v4/access_control_policies/{policy_id}/assign":
"/v1/team/access_control_policies/{policy_id}/assign":
post:
tags:
- access control
@@ -431,7 +431,7 @@
$ref: "#/components/responses/NotFound"
"500":
$ref: "#/components/responses/InternalServerError"
"/api/v4/access_control_policies/{policy_id}/unassign":
"/v1/team/access_control_policies/{policy_id}/unassign":
delete:
tags:
- access control
@@ -485,7 +485,7 @@
$ref: "#/components/responses/NotFound"
"500":
$ref: "#/components/responses/InternalServerError"
"/api/v4/access_control_policies/{policy_id}/resources/channels":
"/v1/team/access_control_policies/{policy_id}/resources/channels":
get:
tags:
- access control
@@ -532,7 +532,7 @@
$ref: "#/components/responses/NotFound"
"500":
$ref: "#/components/responses/InternalServerError"
"/api/v4/access_control_policies/{policy_id}/resources/channels/search":
"/v1/team/access_control_policies/{policy_id}/resources/channels/search":
post:
tags:
- access control
@@ -572,7 +572,7 @@
$ref: "#/components/responses/NotFound"
"500":
$ref: "#/components/responses/InternalServerError"
"/api/v4/channels/{channel_id}/access_control/attributes":
"/v1/team/channels/{channel_id}/access_control/attributes":
get:
tags:
- access control
@@ -610,7 +610,7 @@
$ref: "#/components/responses/NotFound"
"500":
$ref: "#/components/responses/InternalServerError"
/api/v4/access_control_policies/cel/visual_ast:
/v1/team/access_control_policies/cel/visual_ast:
post:
tags:
- access control
@@ -641,7 +641,7 @@
$ref: "#/components/responses/Forbidden"
"500":
$ref: "#/components/responses/InternalServerError"
/api/v4/access_control_policies/activate:
/v1/team/access_control_policies/activate:
put:
tags:
- access control
+5 -5
View File
@@ -1,4 +1,4 @@
/api/v4/actions/dialogs/open:
/v1/team/actions/dialogs/open:
post:
tags:
- integration_actions
@@ -60,7 +60,7 @@
`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
`POST /v1/team/actions/dialogs/execute`. `action_button` elements are
not included in the dialog submission payload.
items:
type: object
@@ -85,7 +85,7 @@
$ref: "#/components/schemas/StatusOK"
"400":
$ref: "#/components/responses/BadRequest"
/api/v4/actions/dialogs/submit:
/v1/team/actions/dialogs/submit:
post:
tags:
- integration_actions
@@ -177,7 +177,7 @@
application/json:
schema:
$ref: "#/components/schemas/AppError"
/api/v4/actions/dialogs/lookup:
/v1/team/actions/dialogs/lookup:
post:
tags:
- integration_actions
@@ -271,7 +271,7 @@
application/json:
schema:
$ref: "#/components/schemas/AppError"
/api/v4/actions/dialogs/execute:
/v1/team/actions/dialogs/execute:
post:
tags:
- integration_actions
+3 -3
View File
@@ -1,4 +1,4 @@
/api/v4/agents:
/v1/team/agents:
get:
tags:
- agents
@@ -24,7 +24,7 @@
$ref: "#/components/responses/Unauthorized"
"500":
$ref: "#/components/responses/InternalServerError"
/api/v4/agents/status:
/v1/team/agents/status:
get:
tags:
- agents
@@ -50,7 +50,7 @@
$ref: "#/components/responses/Unauthorized"
"500":
$ref: "#/components/responses/InternalServerError"
/api/v4/llmservices:
/v1/team/llmservices:
get:
tags:
- agents
+1 -1
View File
@@ -1,4 +1,4 @@
/api/v4/audit_logs/certificate:
/v1/team/audit_logs/certificate:
post:
tags:
- audit_logs
+2 -2
View File
@@ -1,4 +1,4 @@
"/api/v4/boards":
"/v1/team/boards":
post:
tags:
- boards
@@ -9,7 +9,7 @@
Create a new board channel. Boards are channels with a kanban view backed
by linked properties (status and assignee by default), and live alongside
regular channels but cannot be created or modified through the
`/api/v4/channels` endpoints.
`/v1/team/channels` endpoints.
The request body is a `Channel` object whose `type` must be `BO`
(open board) or `BP` (private board). `team_id` and `display_name` are
+3 -3
View File
@@ -1,4 +1,4 @@
/api/v4/channels/{channel_id}/bookmarks:
/v1/team/channels/{channel_id}/bookmarks:
get:
tags:
- bookmarks
@@ -108,7 +108,7 @@
"403":
$ref: "#/components/responses/Forbidden"
/api/v4/channels/{channel_id}/bookmarks/{bookmark_id}:
/v1/team/channels/{channel_id}/bookmarks/{bookmark_id}:
patch:
tags:
- bookmarks
@@ -235,7 +235,7 @@
"404":
$ref: "#/components/responses/NotFound"
/api/v4/channels/{channel_id}/bookmarks/{bookmark_id}/sort_order:
/v1/team/channels/{channel_id}/bookmarks/{bookmark_id}/sort_order:
post:
tags:
- bookmarks
+6 -6
View File
@@ -1,4 +1,4 @@
/api/v4/bots:
/v1/team/bots:
post:
tags:
- bots
@@ -90,7 +90,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/bots/{bot_user_id}":
"/v1/team/bots/{bot_user_id}":
put:
tags:
- bots
@@ -180,7 +180,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/bots/{bot_user_id}/disable":
"/v1/team/bots/{bot_user_id}/disable":
post:
tags:
- bots
@@ -211,7 +211,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/bots/{bot_user_id}/enable":
"/v1/team/bots/{bot_user_id}/enable":
post:
tags:
- bots
@@ -242,7 +242,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/bots/{bot_user_id}/assign/{user_id}":
"/v1/team/bots/{bot_user_id}/assign/{user_id}":
post:
tags:
- bots
@@ -279,7 +279,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/bots/{bot_user_id}/convert_to_user":
"/v1/team/bots/{bot_user_id}/convert_to_user":
post:
tags:
- bots
+1 -1
View File
@@ -1,4 +1,4 @@
/api/v4/brand/image:
/v1/team/brand/image:
get:
tags:
- brand
+51 -51
View File
@@ -1,4 +1,4 @@
/api/v4/channels:
/v1/team/channels:
get:
tags:
- channels
@@ -133,7 +133,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
/api/v4/channels/direct:
/v1/team/channels/direct:
post:
tags:
- channels
@@ -169,7 +169,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
/api/v4/channels/group:
/v1/team/channels/group:
post:
tags:
- channels
@@ -206,7 +206,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
/api/v4/channels/search:
/v1/team/channels/search:
post:
tags:
- channels
@@ -361,7 +361,7 @@
$ref: "#/components/responses/BadRequest"
"401":
$ref: "#/components/responses/Unauthorized"
/api/v4/channels/group/search:
/v1/team/channels/group/search:
post:
tags:
- channels
@@ -400,7 +400,7 @@
$ref: "#/components/responses/BadRequest"
"401":
$ref: "#/components/responses/Unauthorized"
"/api/v4/teams/{team_id}/channels/ids":
"/v1/team/teams/{team_id}/channels/ids":
post:
tags:
- channels
@@ -441,7 +441,7 @@
$ref: "#/components/responses/Unauthorized"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/channels/{channel_id}/timezones":
"/v1/team/channels/{channel_id}/timezones":
get:
tags:
- channels
@@ -476,7 +476,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/channels/{channel_id}":
"/v1/team/channels/{channel_id}":
get:
tags:
- channels
@@ -608,7 +608,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/channels/{channel_id}/patch":
"/v1/team/channels/{channel_id}/patch":
put:
tags:
- channels
@@ -711,7 +711,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/channels/{channel_id}/privacy":
"/v1/team/channels/{channel_id}/privacy":
put:
tags:
- channels
@@ -765,7 +765,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/channels/{channel_id}/restore":
"/v1/team/channels/{channel_id}/restore":
post:
tags:
- channels
@@ -798,7 +798,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/channels/{channel_id}/move":
"/v1/team/channels/{channel_id}/move":
post:
tags:
- channels
@@ -848,7 +848,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/channels/{channel_id}/stats":
"/v1/team/channels/{channel_id}/stats":
get:
tags:
- channels
@@ -878,7 +878,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/channels/{channel_id}/pinned":
"/v1/team/channels/{channel_id}/pinned":
get:
tags:
- channels
@@ -905,7 +905,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/teams/{team_id}/channels":
"/v1/team/teams/{team_id}/channels":
get:
tags:
- channels
@@ -954,7 +954,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/teams/{team_id}/channels/private":
"/v1/team/teams/{team_id}/channels/private":
get:
tags:
- channels
@@ -1004,7 +1004,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/teams/{team_id}/channels/recommended":
"/v1/team/teams/{team_id}/channels/recommended":
get:
tags:
- channels
@@ -1051,7 +1051,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/teams/{team_id}/channels/deleted":
"/v1/team/teams/{team_id}/channels/deleted":
get:
tags:
- channels
@@ -1099,7 +1099,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/teams/{team_id}/channels/autocomplete":
"/v1/team/teams/{team_id}/channels/autocomplete":
get:
tags:
- channels
@@ -1146,7 +1146,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/teams/{team_id}/channels/search_autocomplete":
"/v1/team/teams/{team_id}/channels/search_autocomplete":
get:
tags:
- channels
@@ -1193,7 +1193,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/teams/{team_id}/channels/managed_categories":
"/v1/team/teams/{team_id}/channels/managed_categories":
get:
tags:
- channels
@@ -1235,7 +1235,7 @@
description: Returned when the `ManagedChannelCategories` feature flag is disabled.
"501":
description: Returned when the server does not have an Enterprise license.
"/api/v4/teams/{team_id}/channels/search":
"/v1/team/teams/{team_id}/channels/search":
post:
tags:
- channels
@@ -1289,7 +1289,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/teams/{team_id}/channels/name/{channel_name}":
"/v1/team/teams/{team_id}/channels/name/{channel_name}":
get:
tags:
- channels
@@ -1331,7 +1331,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/teams/name/{team_name}/channels/name/{channel_name}":
"/v1/team/teams/name/{team_name}/channels/name/{channel_name}":
get:
tags:
- channels
@@ -1373,7 +1373,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/channels/{channel_id}/members":
"/v1/team/channels/{channel_id}/members":
get:
tags:
- channels
@@ -1490,7 +1490,7 @@
```bash
curl -X PUT \
'https://mattermost.example.com/api/v4/channels/channel123/members?batch_size=2&batch_delay_ms=200' \
'https://mattermost.example.com/v1/team/channels/channel123/members?batch_size=2&batch_delay_ms=200' \
-H 'Authorization: Bearer <token>' \
-H 'Content-Type: application/json' \
-d '{"members": ["user_id_1", "user_id_2", "user_id_3", "user_id_4"]}'
@@ -1512,7 +1512,7 @@
```bash
curl -X PUT \
'https://mattermost.example.com/api/v4/channels/channel123/members' \
'https://mattermost.example.com/v1/team/channels/channel123/members' \
-H 'Authorization: Bearer <token>' \
-H 'Content-Type: application/json' \
-d '{"members": ["user_id_1", "user_id_2", "user_id_3"], "channel_admins": ["user_id_1"]}'
@@ -1649,7 +1649,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/channels/{channel_id}/members/ids":
"/v1/team/channels/{channel_id}/members/ids":
post:
tags:
- channels
@@ -1692,7 +1692,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/channels/{channel_id}/members/{user_id}":
"/v1/team/channels/{channel_id}/members/{user_id}":
get:
tags:
- channels
@@ -1770,7 +1770,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/channels/{channel_id}/members/{user_id}/roles":
"/v1/team/channels/{channel_id}/members/{user_id}/roles":
put:
tags:
- channels
@@ -1818,7 +1818,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/channels/{channel_id}/members/{user_id}/schemeRoles":
"/v1/team/channels/{channel_id}/members/{user_id}/schemeRoles":
put:
tags:
- channels
@@ -1878,7 +1878,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/channels/{channel_id}/members/{user_id}/notify_props":
"/v1/team/channels/{channel_id}/members/{user_id}/notify_props":
put:
tags:
- channels
@@ -1925,7 +1925,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/channels/{channel_id}/members/{user_id}/autotranslation":
"/v1/team/channels/{channel_id}/members/{user_id}/autotranslation":
put:
tags:
- channels
@@ -1980,7 +1980,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/channels/members/{user_id}/mark_read":
"/v1/team/channels/members/{user_id}/mark_read":
post:
tags:
- channels
@@ -2023,7 +2023,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/channels/stats/member_count":
"/v1/team/channels/stats/member_count":
post:
tags:
- channels
@@ -2057,7 +2057,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/channels/members/{user_id}/view":
"/v1/team/channels/members/{user_id}/view":
post:
tags:
- channels
@@ -2120,7 +2120,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/channels/members/{user_id}/direct/read":
"/v1/team/channels/members/{user_id}/direct/read":
put:
tags:
- channels
@@ -2166,7 +2166,7 @@
$ref: "#/components/responses/Forbidden"
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/users/{user_id}/teams/{team_id}/channels/members":
"/v1/team/users/{user_id}/teams/{team_id}/channels/members":
get:
tags:
- channels
@@ -2207,7 +2207,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/users/{user_id}/teams/{team_id}/channels":
"/v1/team/users/{user_id}/teams/{team_id}/channels":
get:
tags:
- channels
@@ -2261,7 +2261,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/users/{user_id}/channels":
"/v1/team/users/{user_id}/channels":
get:
tags:
- channels
@@ -2311,7 +2311,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/users/{user_id}/channels/{channel_id}/unread":
"/v1/team/users/{user_id}/channels/{channel_id}/unread":
get:
tags:
- channels
@@ -2351,7 +2351,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/channels/{channel_id}/scheme":
"/v1/team/channels/{channel_id}/scheme":
put:
tags:
- channels
@@ -2403,7 +2403,7 @@
$ref: "#/components/responses/Forbidden"
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/channels/{channel_id}/members_minus_group_members":
"/v1/team/channels/{channel_id}/members_minus_group_members":
get:
tags:
- channels
@@ -2460,7 +2460,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/channels/{channel_id}/member_counts_by_group":
"/v1/team/channels/{channel_id}/member_counts_by_group":
get:
tags:
- channels
@@ -2496,7 +2496,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/channels/{channel_id}/moderations":
"/v1/team/channels/{channel_id}/moderations":
get:
tags:
- channels
@@ -2531,7 +2531,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/channels/{channel_id}/moderations/patch":
"/v1/team/channels/{channel_id}/moderations/patch":
put:
tags:
- channels
@@ -2574,7 +2574,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/users/{user_id}/teams/{team_id}/channels/categories":
"/v1/team/users/{user_id}/teams/{team_id}/channels/categories":
get:
tags:
- channels
@@ -2716,7 +2716,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/users/{user_id}/teams/{team_id}/channels/categories/order":
"/v1/team/users/{user_id}/teams/{team_id}/channels/categories/order":
get:
tags:
- channels
@@ -2813,7 +2813,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/users/{user_id}/teams/{team_id}/channels/categories/{category_id}":
"/v1/team/users/{user_id}/teams/{team_id}/channels/categories/{category_id}":
get:
tags:
- channels
@@ -2963,7 +2963,7 @@
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/channels/{channel_id}/common_teams":
"/v1/team/channels/{channel_id}/common_teams":
get:
tags:
- channels
@@ -3002,7 +3002,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/channels/{channel_id}/convert_to_channel":
"/v1/team/channels/{channel_id}/convert_to_channel":
post:
tags:
- channels
+14 -14
View File
@@ -1,4 +1,4 @@
/api/v4/cloud/limits:
/v1/team/cloud/limits:
get:
tags:
- cloud
@@ -26,7 +26,7 @@
$ref: "#/components/responses/InternalServerError"
"501":
$ref: "#/components/responses/NotImplemented"
/api/v4/cloud/products:
/v1/team/cloud/products:
get:
tags:
- cloud
@@ -58,7 +58,7 @@
$ref: "#/components/responses/Forbidden"
"501":
$ref: "#/components/responses/NotImplemented"
/api/v4/cloud/customer:
/v1/team/cloud/customer:
get:
tags:
- cloud
@@ -135,7 +135,7 @@
$ref: "#/components/responses/Forbidden"
"501":
$ref: "#/components/responses/NotImplemented"
/api/v4/cloud/customer/address:
/v1/team/cloud/customer/address:
put:
tags:
- cloud
@@ -172,7 +172,7 @@
$ref: "#/components/responses/Forbidden"
"501":
$ref: "#/components/responses/NotImplemented"
/api/v4/cloud/validate-business-email:
/v1/team/cloud/validate-business-email:
post:
tags:
- cloud
@@ -212,7 +212,7 @@
$ref: "#/components/responses/Forbidden"
"501":
$ref: "#/components/responses/NotImplemented"
/api/v4/cloud/validate-workspace-business-email:
/v1/team/cloud/validate-workspace-business-email:
post:
tags:
- cloud
@@ -239,7 +239,7 @@
$ref: "#/components/responses/Forbidden"
"501":
$ref: "#/components/responses/NotImplemented"
/api/v4/cloud/subscription:
/v1/team/cloud/subscription:
get:
tags:
- cloud
@@ -269,7 +269,7 @@
$ref: "#/components/responses/Forbidden"
"501":
$ref: "#/components/responses/NotImplemented"
/api/v4/cloud/installation:
/v1/team/cloud/installation:
get:
tags:
- cloud
@@ -299,7 +299,7 @@
$ref: "#/components/responses/Forbidden"
"501":
$ref: "#/components/responses/NotImplemented"
/api/v4/cloud/subscription/invoices:
/v1/team/cloud/subscription/invoices:
get:
tags:
- cloud
@@ -331,7 +331,7 @@
$ref: "#/components/responses/Forbidden"
"501":
$ref: "#/components/responses/NotImplemented"
/api/v4/cloud/subscription/invoices/{invoice_id}/pdf:
/v1/team/cloud/subscription/invoices/{invoice_id}/pdf:
get:
tags:
- cloud
@@ -362,7 +362,7 @@
$ref: "#/components/responses/Forbidden"
"501":
$ref: "#/components/responses/NotImplemented"
/api/v4/hosted_customer/signup_available:
/v1/team/hosted_customer/signup_available:
get:
tags:
- cloud
@@ -378,7 +378,7 @@
$ref: "#/components/responses/Unauthorized"
"501":
$ref: "#/components/responses/NotImplemented"
/api/v4/cloud/check-cws-connection:
/v1/team/cloud/check-cws-connection:
get:
tags:
- cloud
@@ -408,7 +408,7 @@
enum:
- available
- unavailable
/api/v4/cloud/webhook:
/v1/team/cloud/webhook:
post:
tags:
- cloud
@@ -432,7 +432,7 @@
$ref: "#/components/responses/Forbidden"
"501":
$ref: "#/components/responses/NotImplemented"
/api/v4/cloud/preview/modal_data:
/v1/team/cloud/preview/modal_data:
get:
tags:
- cloud
+1 -1
View File
@@ -1,4 +1,4 @@
/api/v4/cluster/status:
/v1/team/cluster/status:
get:
tags:
- cluster
+7 -7
View File
@@ -1,4 +1,4 @@
/api/v4/commands:
/v1/team/commands:
post:
tags:
- commands
@@ -89,7 +89,7 @@
$ref: "#/components/responses/Forbidden"
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/teams/{team_id}/commands/autocomplete":
"/v1/team/teams/{team_id}/commands/autocomplete":
get:
tags:
- commands
@@ -121,7 +121,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/teams/{team_id}/commands/autocomplete_suggestions":
"/v1/team/teams/{team_id}/commands/autocomplete_suggestions":
get:
tags:
- commands
@@ -160,7 +160,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/commands/{command_id}":
"/v1/team/commands/{command_id}":
get:
tags:
- commands
@@ -265,7 +265,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/commands/{command_id}/move":
"/v1/team/commands/{command_id}/move":
put:
tags:
- commands
@@ -312,7 +312,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/commands/{command_id}/regen_token":
"/v1/team/commands/{command_id}/regen_token":
put:
tags:
- commands
@@ -348,7 +348,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
/api/v4/commands/execute:
/v1/team/commands/execute:
post:
tags:
- commands
+3 -3
View File
@@ -1,4 +1,4 @@
/api/v4/compliance/reports:
/v1/team/compliance/reports:
post:
tags:
- compliance
@@ -65,7 +65,7 @@
$ref: "#/components/responses/Forbidden"
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/compliance/reports/{report_id}":
"/v1/team/compliance/reports/{report_id}":
get:
tags:
- compliance
@@ -97,7 +97,7 @@
$ref: "#/components/responses/Forbidden"
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/compliance/reports/{report_id}/download":
"/v1/team/compliance/reports/{report_id}/download":
get:
tags:
- compliance
+12 -12
View File
@@ -1,4 +1,4 @@
/api/v4/content_flagging/flag/config:
/v1/team/content_flagging/flag/config:
get:
summary: Get content flagging configuration
description: |
@@ -29,7 +29,7 @@
description: Internal server error.
'501':
description: Feature is disabled either via config or an Enterprise Advanced license is not available.
/api/v4/content_flagging/team/{team_id}/status:
/v1/team/content_flagging/team/{team_id}/status:
get:
summary: Get content flagging status for a team
description: |
@@ -64,7 +64,7 @@
description: Internal server error.
'501':
description: Feature is disabled either via config or an Enterprise Advanced license is not available.
/api/v4/content_flagging/post/{post_id}/flag:
/v1/team/content_flagging/post/{post_id}/flag:
post:
summary: Flag a post
description: |
@@ -110,7 +110,7 @@
description: Internal server error.
'501':
description: Feature is disabled either via config or an Enterprise Advanced license is not available.
/api/v4/content_flagging/fields:
/v1/team/content_flagging/fields:
get:
summary: Get content flagging property fields
description: |
@@ -135,7 +135,7 @@
description: Internal server error.
'501':
description: Feature is disabled either via config or an Enterprise Advanced license is not available.
/api/v4/content_flagging/post/{post_id}/field_values:
/v1/team/content_flagging/post/{post_id}/field_values:
get:
summary: Get content flagging property field values for a post
description: |
@@ -169,7 +169,7 @@
description: Internal server error.
'501':
description: Feature is disabled either via config or an Enterprise Advanced license is not available.
/api/v4/content_flagging/post/{post_id}:
/v1/team/content_flagging/post/{post_id}:
get:
summary: Get a flagged post with all its content.
description: |
@@ -200,7 +200,7 @@
description: Internal server error.
'501':
description: Feature is disabled either via config or an Enterprise Advanced license is not available.
/api/v4/content_flagging/post/{post_id}/remove:
/v1/team/content_flagging/post/{post_id}/remove:
put:
summary: Remove a flagged post
description: |
@@ -232,7 +232,7 @@
description: Internal server error.
'501':
description: Feature is disabled either via config or an Enterprise Advanced license is not available.
/api/v4/content_flagging/post/{post_id}/keep:
/v1/team/content_flagging/post/{post_id}/keep:
put:
summary: Keep a flagged post
description: |
@@ -264,7 +264,7 @@
description: Internal server error.
'501':
description: Feature is disabled either via config or an Enterprise Advanced license is not available.
/api/v4/content_flagging/config:
/v1/team/content_flagging/config:
get:
summary: Get the system content flagging configuration
description: |
@@ -311,7 +311,7 @@
description: Internal server error.
'403':
description: User does not have permission to manage system configuration.
/api/v4/content_flagging/team/{team_id}/reviewers/search:
/v1/team/content_flagging/team/{team_id}/reviewers/search:
get:
summary: Search content reviewers in a team
description: |
@@ -352,7 +352,7 @@
description: Internal server error.
'501':
description: Feature is disabled either via config or an Enterprise Advanced license is not available.
/api/v4/content_flagging/post/{post_id}/assign/{content_reviewer_id}:
/v1/team/content_flagging/post/{post_id}/assign/{content_reviewer_id}:
post:
summary: Assign a content reviewer to a flagged post
description: |
@@ -391,7 +391,7 @@
description: Internal server error.
'501':
description: Feature is disabled either via config or an Enterprise Advanced license is not available.
/api/v4/content_flagging/post/{post_id}/report:
/v1/team/content_flagging/post/{post_id}/report:
post:
summary: Generate and download a flagged post report
description: |
+5 -5
View File
@@ -1,4 +1,4 @@
"/api/v4/custom_profile_attributes/fields":
"/v1/team/custom_profile_attributes/fields":
get:
tags:
- custom profile attributes
@@ -125,7 +125,7 @@
schema:
$ref: "#/components/schemas/AppError"
"/api/v4/custom_profile_attributes/fields/{field_id}":
"/v1/team/custom_profile_attributes/fields/{field_id}":
patch:
tags:
- custom profile attributes
@@ -274,7 +274,7 @@
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/custom_profile_attributes/values":
"/v1/team/custom_profile_attributes/values":
patch:
tags:
- custom profile attributes
@@ -336,7 +336,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/custom_profile_attributes/group":
"/v1/team/custom_profile_attributes/group":
get:
tags:
- custom profile attributes
@@ -365,7 +365,7 @@
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/users/{user_id}/custom_profile_attributes":
"/v1/team/users/{user_id}/custom_profile_attributes":
get:
tags:
- custom profile attributes
+8 -8
View File
@@ -1,4 +1,4 @@
/api/v4/data_retention/policy:
/v1/team/data_retention/policy:
get:
tags:
- data retention
@@ -31,7 +31,7 @@
$ref: "#/components/responses/InternalServerError"
"501":
$ref: "#/components/responses/NotImplemented"
/api/v4/data_retention/policies_count:
/v1/team/data_retention/policies_count:
get:
tags:
- data retention
@@ -67,7 +67,7 @@
$ref: "#/components/responses/InternalServerError"
"501":
$ref: "#/components/responses/NotImplemented"
/api/v4/data_retention/policies:
/v1/team/data_retention/policies:
get:
tags:
- data retention
@@ -151,7 +151,7 @@
$ref: "#/components/responses/InternalServerError"
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/data_retention/policies/{policy_id}":
"/v1/team/data_retention/policies/{policy_id}":
get:
tags:
- data retention
@@ -270,7 +270,7 @@
$ref: "#/components/responses/InternalServerError"
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/data_retention/policies/{policy_id}/teams":
"/v1/team/data_retention/policies/{policy_id}/teams":
get:
tags:
- data retention
@@ -414,7 +414,7 @@
$ref: "#/components/responses/InternalServerError"
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/data_retention/policies/{policy_id}/teams/search":
"/v1/team/data_retention/policies/{policy_id}/teams/search":
post:
tags:
- data retention
@@ -464,7 +464,7 @@
$ref: "#/components/responses/InternalServerError"
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/data_retention/policies/{policy_id}/channels":
"/v1/team/data_retention/policies/{policy_id}/channels":
get:
tags:
- data retention
@@ -606,7 +606,7 @@
$ref: "#/components/responses/InternalServerError"
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/data_retention/policies/{policy_id}/channels/search":
"/v1/team/data_retention/policies/{policy_id}/channels/search":
post:
tags:
- data retention
+2 -2
View File
@@ -1,4 +1,4 @@
/api/v4/elasticsearch/test:
/v1/team/elasticsearch/test:
post:
tags:
- elasticsearch
@@ -31,7 +31,7 @@
$ref: "#/components/responses/InternalServerError"
"501":
$ref: "#/components/responses/NotImplemented"
/api/v4/elasticsearch/purge_indexes:
/v1/team/elasticsearch/purge_indexes:
post:
tags:
- elasticsearch
+7 -7
View File
@@ -1,4 +1,4 @@
/api/v4/emoji:
/v1/team/emoji:
post:
tags:
- emoji
@@ -90,7 +90,7 @@
$ref: "#/components/responses/Forbidden"
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/emoji/{emoji_id}":
"/v1/team/emoji/{emoji_id}":
get:
tags:
- emoji
@@ -155,7 +155,7 @@
$ref: "#/components/responses/Forbidden"
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/emoji/name/{emoji_name}":
"/v1/team/emoji/name/{emoji_name}":
get:
tags:
- emoji
@@ -189,7 +189,7 @@
$ref: "#/components/responses/NotFound"
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/emoji/{emoji_id}/image":
"/v1/team/emoji/{emoji_id}/image":
get:
tags:
- emoji
@@ -219,7 +219,7 @@
$ref: "#/components/responses/InternalServerError"
"501":
$ref: "#/components/responses/NotImplemented"
/api/v4/emoji/search:
/v1/team/emoji/search:
post:
tags:
- emoji
@@ -268,7 +268,7 @@
$ref: "#/components/responses/Forbidden"
"501":
$ref: "#/components/responses/NotImplemented"
/api/v4/emoji/autocomplete:
/v1/team/emoji/autocomplete:
get:
tags:
- emoji
@@ -306,7 +306,7 @@
$ref: "#/components/responses/Forbidden"
"501":
$ref: "#/components/responses/NotImplemented"
/api/v4/emoji/names:
/v1/team/emoji/names:
post:
tags:
- emoji
+3 -3
View File
@@ -1,4 +1,4 @@
"/api/v4/exports":
"/v1/team/exports":
get:
tags:
- exports
@@ -21,7 +21,7 @@
$ref: "#/components/responses/Forbidden"
"500":
$ref: "#/components/responses/InternalServerError"
"/api/v4/exports/{export_name}":
"/v1/team/exports/{export_name}":
get:
tags:
- exports
@@ -84,7 +84,7 @@
$ref: "#/components/responses/Forbidden"
"500":
$ref: "#/components/responses/InternalServerError"
"/api/v4/exports/{export_name}/presign-url":
"/v1/team/exports/{export_name}/presign-url":
post:
tags:
- exports
+8 -8
View File
@@ -1,4 +1,4 @@
/api/v4/files:
/v1/team/files:
post:
tags:
- files
@@ -89,7 +89,7 @@
$ref: "#/components/responses/TooLarge"
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/files/{file_id}":
"/v1/team/files/{file_id}":
get:
tags:
- files
@@ -151,7 +151,7 @@
$ref: "#/components/responses/NotFound"
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/files/{file_id}/thumbnail":
"/v1/team/files/{file_id}/thumbnail":
get:
tags:
- files
@@ -213,7 +213,7 @@
$ref: "#/components/responses/NotFound"
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/files/{file_id}/preview":
"/v1/team/files/{file_id}/preview":
get:
tags:
- files
@@ -275,7 +275,7 @@
$ref: "#/components/responses/NotFound"
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/files/{file_id}/link":
"/v1/team/files/{file_id}/link":
get:
tags:
- files
@@ -324,7 +324,7 @@
$ref: "#/components/responses/NotFound"
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/files/{file_id}/info":
"/v1/team/files/{file_id}/info":
get:
tags:
- files
@@ -441,7 +441,7 @@
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/teams/{team_id}/files/search":
"/v1/team/teams/{team_id}/files/search":
post:
tags:
- teams
@@ -517,7 +517,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/files/search":
"/v1/team/files/search":
post:
tags:
- files
+19 -19
View File
@@ -1,4 +1,4 @@
/api/v4/groups:
/v1/team/groups:
get:
tags:
- groups
@@ -142,7 +142,7 @@
description: Group creation and memberships successful.
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/groups/{group_id}":
"/v1/team/groups/{group_id}":
get:
tags:
- groups
@@ -209,7 +209,7 @@
application/json:
schema:
$ref: "#/components/schemas/StatusOK"
"/api/v4/groups/{group_id}/patch":
"/v1/team/groups/{group_id}/patch":
put:
tags:
- groups
@@ -264,7 +264,7 @@
$ref: "#/components/responses/Forbidden"
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/groups/{group_id}/restore":
"/v1/team/groups/{group_id}/restore":
post:
tags:
- groups
@@ -301,7 +301,7 @@
$ref: "#/components/responses/Forbidden"
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/groups/{group_id}/teams/{team_id}/link":
"/v1/team/groups/{group_id}/teams/{team_id}/link":
post:
tags:
- groups
@@ -384,7 +384,7 @@
$ref: "#/components/responses/Forbidden"
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/groups/{group_id}/channels/{channel_id}/link":
"/v1/team/groups/{group_id}/channels/{channel_id}/link":
post:
tags:
- groups
@@ -473,7 +473,7 @@
$ref: "#/components/responses/Forbidden"
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/groups/{group_id}/teams/{team_id}":
"/v1/team/groups/{group_id}/teams/{team_id}":
get:
tags:
- groups
@@ -516,7 +516,7 @@
$ref: "#/components/responses/InternalServerError"
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/groups/{group_id}/channels/{channel_id}":
"/v1/team/groups/{group_id}/channels/{channel_id}":
get:
tags:
- groups
@@ -559,7 +559,7 @@
$ref: "#/components/responses/InternalServerError"
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/groups/{group_id}/teams":
"/v1/team/groups/{group_id}/teams":
get:
tags:
- groups
@@ -598,7 +598,7 @@
$ref: "#/components/responses/InternalServerError"
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/groups/{group_id}/channels":
"/v1/team/groups/{group_id}/channels":
get:
tags:
- groups
@@ -637,7 +637,7 @@
$ref: "#/components/responses/InternalServerError"
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/groups/{group_id}/teams/{team_id}/patch":
"/v1/team/groups/{group_id}/teams/{team_id}/patch":
put:
tags:
- groups
@@ -689,7 +689,7 @@
$ref: "#/components/responses/Forbidden"
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/groups/{group_id}/channels/{channel_id}/patch":
"/v1/team/groups/{group_id}/channels/{channel_id}/patch":
put:
tags:
- groups
@@ -741,7 +741,7 @@
$ref: "#/components/responses/Forbidden"
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/groups/{group_id}/members":
"/v1/team/groups/{group_id}/members":
get:
tags:
- groups
@@ -889,7 +889,7 @@
type: array
items:
$ref: "#/components/schemas/GroupMember"
"/api/v4/groups/{group_id}/stats":
"/v1/team/groups/{group_id}/stats":
get:
tags:
- groups
@@ -931,7 +931,7 @@
$ref: "#/components/responses/InternalServerError"
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/channels/{channel_id}/groups":
"/v1/team/channels/{channel_id}/groups":
get:
tags:
- groups
@@ -988,7 +988,7 @@
$ref: "#/components/responses/InternalServerError"
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/teams/{team_id}/groups":
"/v1/team/teams/{team_id}/groups":
get:
tags:
- groups
@@ -1098,7 +1098,7 @@
$ref: "#/components/responses/InternalServerError"
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/teams/{team_id}/groups_by_channels":
"/v1/team/teams/{team_id}/groups_by_channels":
get:
tags:
- groups
@@ -1162,7 +1162,7 @@
$ref: "#/components/responses/InternalServerError"
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/users/{user_id}/groups":
"/v1/team/users/{user_id}/groups":
get:
tags:
- groups
@@ -1192,7 +1192,7 @@
$ref: "#/components/responses/BadRequest"
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/groups/names":
"/v1/team/groups/names":
post:
tags:
- groups
+2 -2
View File
@@ -1,4 +1,4 @@
"/api/v4/imports":
"/v1/team/imports":
get:
tags:
- imports
@@ -22,7 +22,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/imports/{import_name}":
"/v1/team/imports/{import_name}":
delete:
tags:
- imports
+8 -8
View File
@@ -49,7 +49,7 @@ info:
## Schema & Conventions
- All API access is through HTTP(S) requests at `your-mattermost-url/api/v4`.
- All API access is through HTTP(S) requests at `your-mattermost-url/v1/team`.
- All request and response bodies are `application/json`.
@@ -70,20 +70,20 @@ info:
### Session Token
Make an HTTP POST to `your-mattermost-url/api/v4/users/login` with a JSON
Make an HTTP POST to `your-mattermost-url/v1/team/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.
```bash
curl -i -d '{"login_id":"[email protected]","password":"thisisabadpassword"}' http://localhost:8065/api/v4/users/login
curl -i -d '{"login_id":"[email protected]","password":"thisisabadpassword"}' http://localhost:8065/v1/team/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:
```bash
curl -i -d "{\"login_id\":\"[email protected]\",\"password\":\"thisisabadpassword\"}" http://localhost:8065/api/v4/users/login
curl -i -d "{\"login_id\":\"[email protected]\",\"password\":\"thisisabadpassword\"}" http://localhost:8065/v1/team/users/login
```
If successful, the response will contain a `Token` header and a user object in the body.
@@ -108,12 +108,12 @@ info:
Include the `Token` as part of the `Authorization` header on your future API requests with the `Bearer` method.
```bash
curl -i -H 'Authorization: Bearer ckh3t4knu3fzujt76o57f5jo4w' http://localhost:8065/api/v4/users/me
curl -i -H 'Authorization: Bearer ckh3t4knu3fzujt76o57f5jo4w' http://localhost:8065/v1/team/users/me
```
Alternatively, include the `Token` as your `MMAUTHTOKEN` cookie value on your future API requests:
```bash
curl -i -H 'Cookie: MMAUTHTOKEN=ckh3t4knu3fzujt76o57f5jo4w' http://localhost:8065/api/v4/users/me
curl -i -H 'Cookie: MMAUTHTOKEN=ckh3t4knu3fzujt76o57f5jo4w' http://localhost:8065/v1/team/users/me
```
@@ -127,7 +127,7 @@ info:
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.
```bash
curl -i -H 'Authorization: Bearer 9xuqwrwgstrb3mzrxb83nb357a' http://localhost:8065/api/v4/users/me
curl -i -H 'Authorization: Bearer 9xuqwrwgstrb3mzrxb83nb357a' http://localhost:8065/v1/team/users/me
```
## Rate Limiting
@@ -181,7 +181,7 @@ info:
## 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](https://tools.ietf.org/html/rfc6455#section-1.3) to the `/api/v4/websocket` endpoint of Mattermost.
To connect to the WebSocket follow the standard opening handshake as [defined by the RFC specification](https://tools.ietf.org/html/rfc6455#section-1.3) to the `/v1/team/websocket` endpoint of Mattermost.
### Authentication
+2 -2
View File
@@ -1,4 +1,4 @@
/api/v4/ip_filtering:
/v1/team/ip_filtering:
get:
tags:
- ip
@@ -60,7 +60,7 @@
$ref: "#/components/responses/InternalServerError"
"501":
$ref: "#/components/responses/NotImplemented"
/api/v4/ip_filtering/my_ip:
/v1/team/ip_filtering/my_ip:
get:
tags:
- ip
+8 -8
View File
@@ -1,4 +1,4 @@
/api/v4/jobs:
/v1/team/jobs:
get:
tags:
- jobs
@@ -23,7 +23,7 @@
When `job_type` is set, you must have the permission that matches that type (same mapping as above).
This 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).
This endpoint does not accept `team_id`. To list `access_control_sync` jobs scoped to a team without `manage_system`, use `GET /v1/team/jobs/type/access_control_sync` with query parameter `team_id` set to the team GUID (requires `manage_team_access_rules` on that team).
operationId: GetJobs
parameters:
- name: page
@@ -111,7 +111,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/jobs/{job_id}":
"/v1/team/jobs/{job_id}":
get:
tags:
- jobs
@@ -152,7 +152,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/jobs/{job_id}/download":
"/v1/team/jobs/{job_id}/download":
get:
tags:
- jobs
@@ -179,7 +179,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/jobs/{job_id}/cancel":
"/v1/team/jobs/{job_id}/cancel":
post:
tags:
- jobs
@@ -220,7 +220,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/jobs/type/{job_type}":
"/v1/team/jobs/type/{job_type}":
get:
tags:
- jobs
@@ -232,7 +232,7 @@
__Minimum server version: 4.1__
##### Permissions
Must have permission to read the path `job_type`, using the same mapping as `GET /api/v4/jobs`:
Must have permission to read the path `job_type`, using the same mapping as `GET /v1/team/jobs`:
- `read_data_retention_job` — `data_retention`
- `read_compliance_export_job` — `message_export`
@@ -284,7 +284,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/jobs/{job_id}/status":
"/v1/team/jobs/{job_id}/status":
patch:
tags:
- jobs
+10 -10
View File
@@ -1,4 +1,4 @@
/api/v4/ldap/sync:
/v1/team/ldap/sync:
post:
tags:
- LDAP
@@ -20,7 +20,7 @@
$ref: "#/components/schemas/StatusOK"
"501":
$ref: "#/components/responses/NotImplemented"
/api/v4/ldap/test:
/v1/team/ldap/test:
post:
tags:
- LDAP
@@ -44,7 +44,7 @@
$ref: "#/components/responses/InternalServerError"
"501":
$ref: "#/components/responses/NotImplemented"
/api/v4/ldap/test_connection:
/v1/team/ldap/test_connection:
post:
tags:
- LDAP
@@ -81,7 +81,7 @@
$ref: "#/components/responses/InternalServerError"
"501":
$ref: "#/components/responses/NotImplemented"
/api/v4/ldap/test_diagnostics:
/v1/team/ldap/test_diagnostics:
post:
tags:
- LDAP
@@ -133,7 +133,7 @@
$ref: "#/components/responses/InternalServerError"
"501":
$ref: "#/components/responses/NotImplemented"
/api/v4/ldap/groups:
/v1/team/ldap/groups:
get:
tags:
- LDAP
@@ -180,7 +180,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
/api/v4/ldap/groups/{remote_id}/link:
/v1/team/ldap/groups/{remote_id}/link:
post:
tags:
- LDAP
@@ -243,7 +243,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
/api/v4/ldap/migrateid:
/v1/team/ldap/migrateid:
post:
tags:
- LDAP
@@ -286,7 +286,7 @@
$ref: "#/components/responses/InternalServerError"
"501":
$ref: "#/components/responses/NotImplemented"
/api/v4/ldap/certificate/public:
/v1/team/ldap/certificate/public:
post:
tags:
- LDAP
@@ -350,7 +350,7 @@
$ref: "#/components/responses/Forbidden"
"501":
$ref: "#/components/responses/NotImplemented"
/api/v4/ldap/certificate/private:
/v1/team/ldap/certificate/private:
post:
tags:
- LDAP
@@ -414,7 +414,7 @@
$ref: "#/components/responses/Forbidden"
"501":
$ref: "#/components/responses/NotImplemented"
/api/v4/ldap/users/{user_id}/group_sync_memberships:
/v1/team/ldap/users/{user_id}/group_sync_memberships:
post:
tags:
- LDAP
+1 -1
View File
@@ -1,4 +1,4 @@
/api/v4/limits/server:
/v1/team/limits/server:
get:
tags:
- users
+1 -1
View File
@@ -1,4 +1,4 @@
/api/v4/logs/download:
/v1/team/logs/download:
get:
tags:
- logs
+1 -1
View File
@@ -1,4 +1,4 @@
/api/v4/client_perf:
/v1/team/client_perf:
post:
tags:
- metrics
+6 -6
View File
@@ -1,4 +1,4 @@
/api/v4/oauth/apps:
/v1/team/oauth/apps:
post:
tags:
- OAuth
@@ -103,7 +103,7 @@
$ref: "#/components/responses/Forbidden"
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/oauth/apps/{app_id}":
"/v1/team/oauth/apps/{app_id}":
get:
tags:
- OAuth
@@ -247,7 +247,7 @@
$ref: "#/components/responses/NotFound"
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/oauth/apps/{app_id}/regen_secret":
"/v1/team/oauth/apps/{app_id}/regen_secret":
post:
tags:
- OAuth
@@ -284,7 +284,7 @@
$ref: "#/components/responses/NotFound"
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/oauth/apps/{app_id}/info":
"/v1/team/oauth/apps/{app_id}/info":
get:
tags:
- OAuth
@@ -354,7 +354,7 @@
application/json:
schema:
$ref: "#/components/schemas/AppError"
/api/v4/oauth/apps/register:
/v1/team/oauth/apps/register:
post:
tags:
- OAuth
@@ -394,7 +394,7 @@
$ref: "#/components/responses/BadRequest"
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/users/{user_id}/oauth/apps/authorized":
"/v1/team/users/{user_id}/oauth/apps/authorized":
get:
tags:
- OAuth
@@ -1,4 +1,4 @@
/api/v4/oauth/outgoing_connections:
/v1/team/oauth/outgoing_connections:
get:
tags:
- oauth
@@ -71,7 +71,7 @@
$ref: "#/components/responses/InternalServerError"
"501":
$ref: "#/components/responses/NotImplemented"
/api/v4/oauth/outgoing_connections/{outgoing_oauth_connection_id}:
/v1/team/oauth/outgoing_connections/{outgoing_oauth_connection_id}:
get:
tags:
- oauth
@@ -191,7 +191,7 @@
$ref: "#/components/responses/InternalServerError"
"501":
$ref: "#/components/responses/NotImplemented"
/api/v4/oauth/outgoing_connections/validate:
/v1/team/oauth/outgoing_connections/validate:
post:
tags:
- oauth
+1 -1
View File
@@ -1,4 +1,4 @@
/api/v4/permissions/ancillary:
/v1/team/permissions/ancillary:
post:
tags:
- permissions
+11 -11
View File
@@ -1,4 +1,4 @@
/api/v4/plugins:
/v1/team/plugins:
post:
tags:
- plugins
@@ -89,7 +89,7 @@
$ref: "#/components/responses/Forbidden"
"501":
$ref: "#/components/responses/NotImplemented"
/api/v4/plugins/install_from_url:
/v1/team/plugins/install_from_url:
post:
tags:
- plugins
@@ -133,7 +133,7 @@
$ref: "#/components/responses/Forbidden"
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/plugins/{plugin_id}":
"/v1/team/plugins/{plugin_id}":
delete:
tags:
- plugins
@@ -174,7 +174,7 @@
$ref: "#/components/responses/NotFound"
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/plugins/{plugin_id}/enable":
"/v1/team/plugins/{plugin_id}/enable":
post:
tags:
- plugins
@@ -215,7 +215,7 @@
$ref: "#/components/responses/NotFound"
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/plugins/{plugin_id}/disable":
"/v1/team/plugins/{plugin_id}/disable":
post:
tags:
- plugins
@@ -256,7 +256,7 @@
$ref: "#/components/responses/NotFound"
"501":
$ref: "#/components/responses/NotImplemented"
/api/v4/plugins/webapp:
/v1/team/plugins/webapp:
get:
tags:
- plugins
@@ -286,7 +286,7 @@
$ref: "#/components/responses/Forbidden"
"501":
$ref: "#/components/responses/NotImplemented"
/api/v4/plugins/statuses:
/v1/team/plugins/statuses:
get:
tags:
- plugins
@@ -316,7 +316,7 @@
$ref: "#/components/responses/Forbidden"
"501":
$ref: "#/components/responses/NotImplemented"
/api/v4/plugins/marketplace:
/v1/team/plugins/marketplace:
post:
tags:
- plugins
@@ -418,7 +418,7 @@
$ref: "#/components/responses/Forbidden"
"501":
$ref: "#/components/responses/NotImplemented"
/api/v4/plugins/marketplace/first_admin_visit:
/v1/team/plugins/marketplace/first_admin_visit:
get:
tags:
- plugins
@@ -468,7 +468,7 @@
"500":
$ref: "#/components/responses/InternalServerError"
/api/v4/plugins/reattach:
/v1/team/plugins/reattach:
post:
tags:
- plugins
@@ -495,7 +495,7 @@
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/plugins/{plugin_id}/detach":
"/v1/team/plugins/{plugin_id}/detach":
post:
tags:
- plugins
+25 -25
View File
@@ -1,4 +1,4 @@
/api/v4/posts:
/v1/team/posts:
post:
tags:
- posts
@@ -87,7 +87,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
/api/v4/posts/ephemeral:
/v1/team/posts/ephemeral:
post:
tags:
- posts
@@ -139,7 +139,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
/api/v4/posts/search:
/v1/team/posts/search:
post:
tags:
- posts
@@ -183,7 +183,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/posts/{post_id}":
"/v1/team/posts/{post_id}":
get:
tags:
- posts
@@ -316,7 +316,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/users/{user_id}/posts/{post_id}/set_unread":
"/v1/team/users/{user_id}/posts/{post_id}/set_unread":
post:
tags:
- posts
@@ -361,7 +361,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/posts/{post_id}/patch":
"/v1/team/posts/{post_id}/patch":
put:
tags:
- posts
@@ -420,7 +420,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/posts/{post_id}/thread":
"/v1/team/posts/{post_id}/thread":
get:
tags:
- posts
@@ -506,7 +506,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/users/{user_id}/posts/flagged":
"/v1/team/users/{user_id}/posts/flagged":
get:
tags:
- posts
@@ -564,7 +564,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/posts/{post_id}/files/info":
"/v1/team/posts/{post_id}/files/info":
get:
tags:
- posts
@@ -606,7 +606,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/posts/{post_id}/info":
"/v1/team/posts/{post_id}/info":
get:
tags:
- posts
@@ -638,7 +638,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/posts/{post_id}/edit_history":
"/v1/team/posts/{post_id}/edit_history":
get:
tags:
- posts
@@ -672,7 +672,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/channels/{channel_id}/posts":
"/v1/team/channels/{channel_id}/posts":
get:
tags:
- posts
@@ -750,7 +750,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/users/{user_id}/channels/{channel_id}/posts/unread":
"/v1/team/users/{user_id}/channels/{channel_id}/posts/unread":
get:
tags:
- posts
@@ -828,7 +828,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/teams/{team_id}/posts/search":
"/v1/team/teams/{team_id}/posts/search":
post:
tags:
- posts
@@ -896,7 +896,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/posts/{post_id}/pin":
"/v1/team/posts/{post_id}/pin":
post:
tags:
- posts
@@ -928,7 +928,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/posts/{post_id}/unpin":
"/v1/team/posts/{post_id}/unpin":
post:
tags:
- posts
@@ -961,7 +961,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/posts/{post_id}/actions/{action_id}":
"/v1/team/posts/{post_id}/actions/{action_id}":
post:
tags:
- posts
@@ -1022,7 +1022,7 @@
application/json:
schema:
$ref: "#/components/schemas/AppError"
"/api/v4/posts/ids":
"/v1/team/posts/ids":
post:
tags:
- posts
@@ -1063,7 +1063,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/users/{user_id}/posts/{post_id}/reminder":
"/v1/team/users/{user_id}/posts/{post_id}/reminder":
post:
tags:
- posts
@@ -1119,7 +1119,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/users/{user_id}/posts/{post_id}/ack":
"/v1/team/users/{user_id}/posts/{post_id}/ack":
post:
tags:
- posts
@@ -1207,7 +1207,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/posts/{post_id}/move":
"/v1/team/posts/{post_id}/move":
post:
tags:
- posts
@@ -1263,7 +1263,7 @@
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/posts/{post_id}/restore/{restore_version_id}":
"/v1/team/posts/{post_id}/restore/{restore_version_id}":
post:
tags:
- posts
@@ -1311,7 +1311,7 @@
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/posts/{post_id}/reveal":
"/v1/team/posts/{post_id}/reveal":
get:
tags:
- posts
@@ -1362,7 +1362,7 @@
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/posts/{post_id}/burn":
"/v1/team/posts/{post_id}/burn":
delete:
tags:
- posts
@@ -1414,7 +1414,7 @@
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/posts/rewrite":
"/v1/team/posts/rewrite":
post:
tags:
- posts
+4 -4
View File
@@ -1,4 +1,4 @@
"/api/v4/users/{user_id}/preferences":
"/v1/team/users/{user_id}/preferences":
get:
tags:
- preferences
@@ -76,7 +76,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/users/{user_id}/preferences/delete":
"/v1/team/users/{user_id}/preferences/delete":
post:
tags:
- preferences
@@ -119,7 +119,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/users/{user_id}/preferences/{category}":
"/v1/team/users/{user_id}/preferences/{category}":
get:
tags:
- preferences
@@ -159,7 +159,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/users/{user_id}/preferences/{category}/name/{preference_name}":
"/v1/team/users/{user_id}/preferences/{category}/name/{preference_name}":
get:
tags:
- preferences
+7 -7
View File
@@ -1,4 +1,4 @@
"/api/v4/properties/groups/{group_name}/{object_type}/fields":
"/v1/team/properties/groups/{group_name}/{object_type}/fields":
post:
tags:
- properties
@@ -232,7 +232,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/properties/groups/{group_name}/fields/search":
"/v1/team/properties/groups/{group_name}/fields/search":
post:
tags:
- properties
@@ -366,7 +366,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/properties/groups/{group_name}/{object_type}/fields/{field_id}":
"/v1/team/properties/groups/{group_name}/{object_type}/fields/{field_id}":
patch:
tags:
- properties
@@ -480,7 +480,7 @@
The field has active linked dependents. Unlink or delete dependent
fields before deleting the source.
$ref: "#/components/responses/Conflict"
"/api/v4/properties/groups/{group_name}/{object_type}/values/{target_id}":
"/v1/team/properties/groups/{group_name}/{object_type}/values/{target_id}":
get:
tags:
- properties
@@ -488,7 +488,7 @@
description: >
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.
The `system` object type must use the dedicated `/v1/team/properties/groups/{group_name}/system/values` endpoint and will return 400 on this route.
**Delta sync via `since`:** When `since > 0`, the endpoint returns only rows whose `update_at` is greater than the cutoff, *including* tombstoned rows.
@@ -575,7 +575,7 @@
description: >
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.
The `system` object type must use the dedicated `/v1/team/properties/groups/{group_name}/system/values` endpoint and will return 400 on this route.
operationId: UpdatePropertyValues
parameters:
- name: group_name
@@ -629,7 +629,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/properties/groups/{group_name}/system/values":
"/v1/team/properties/groups/{group_name}/system/values":
get:
tags:
- properties
+4 -4
View File
@@ -1,4 +1,4 @@
/api/v4/reactions:
/v1/team/reactions:
post:
tags:
- reactions
@@ -27,7 +27,7 @@
$ref: "#/components/responses/BadRequest"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/posts/{post_id}/reactions":
"/v1/team/posts/{post_id}/reactions":
get:
tags:
- reactions
@@ -59,7 +59,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/users/{user_id}/posts/{post_id}/reactions/{emoji_name}":
"/v1/team/users/{user_id}/posts/{post_id}/reactions/{emoji_name}":
delete:
tags:
- reactions
@@ -101,7 +101,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
/api/v4/posts/ids/reactions:
/v1/team/posts/ids/reactions:
post:
tags:
- reactions
+6 -6
View File
@@ -1,4 +1,4 @@
"/api/v4/recaps":
"/v1/team/recaps":
post:
tags:
- recaps
@@ -93,7 +93,7 @@
$ref: "#/components/responses/BadRequest"
"401":
$ref: "#/components/responses/Unauthorized"
"/api/v4/recaps/limit_status":
"/v1/team/recaps/limit_status":
get:
tags:
- recaps
@@ -120,7 +120,7 @@
$ref: "#/components/responses/Unauthorized"
"501":
description: Recaps feature is not enabled
"/api/v4/recaps/mark_viewed":
"/v1/team/recaps/mark_viewed":
post:
tags:
- recaps
@@ -160,7 +160,7 @@
$ref: "#/components/responses/Unauthorized"
"501":
description: AI Recaps feature flag is disabled
"/api/v4/recaps/{recap_id}":
"/v1/team/recaps/{recap_id}":
get:
tags:
- recaps
@@ -231,7 +231,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/recaps/{recap_id}/read":
"/v1/team/recaps/{recap_id}/read":
post:
tags:
- recaps
@@ -267,7 +267,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/recaps/{recap_id}/regenerate":
"/v1/team/recaps/{recap_id}/regenerate":
post:
tags:
- recaps
+9 -9
View File
@@ -1,4 +1,4 @@
"/api/v4/remotecluster":
"/v1/team/remotecluster":
get:
tags:
- remote clusters
@@ -125,7 +125,7 @@
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/remotecluster/{remote_id}":
"/v1/team/remotecluster/{remote_id}":
get:
tags:
- remote clusters
@@ -224,7 +224,7 @@
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/remotecluster/{remote_id}/generate_invite":
"/v1/team/remotecluster/{remote_id}/generate_invite":
post:
tags:
- remote clusters
@@ -258,7 +258,7 @@
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/remotecluster/accept_invite":
"/v1/team/remotecluster/accept_invite":
post:
tags:
- remote clusters
@@ -303,7 +303,7 @@
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/remotecluster/ping":
"/v1/team/remotecluster/ping":
post:
tags:
- remote clusters
@@ -333,7 +333,7 @@
"401":
$ref: "#/components/responses/Unauthorized"
"/api/v4/remotecluster/msg":
"/v1/team/remotecluster/msg":
post:
tags:
- remote clusters
@@ -363,7 +363,7 @@
"401":
$ref: "#/components/responses/Unauthorized"
"/api/v4/remotecluster/confirm_invite":
"/v1/team/remotecluster/confirm_invite":
post:
tags:
- remote clusters
@@ -389,7 +389,7 @@
"401":
$ref: "#/components/responses/Unauthorized"
"/api/v4/remotecluster/upload/{upload_id}":
"/v1/team/remotecluster/upload/{upload_id}":
post:
tags:
- remote clusters
@@ -435,7 +435,7 @@
"401":
$ref: "#/components/responses/Unauthorized"
"/api/v4/remotecluster/{user_id}/image":
"/v1/team/remotecluster/{user_id}/image":
post:
tags:
- remote clusters
+4 -4
View File
@@ -1,4 +1,4 @@
/api/v4/reports/users:
/v1/team/reports/users:
get:
tags:
- reports
@@ -101,7 +101,7 @@
$ref: "#/components/responses/Forbidden"
"500":
$ref: "#/components/responses/InternalServerError"
/api/v4/reports/users/count:
/v1/team/reports/users/count:
get:
tags:
- reports
@@ -151,7 +151,7 @@
application/json:
schema:
type: number
/api/v4/reports/users/export:
/v1/team/reports/users/export:
post:
tags:
- reports
@@ -187,7 +187,7 @@
$ref: "#/components/responses/Forbidden"
"500":
$ref: "#/components/responses/InternalServerError"
/api/v4/reports/posts:
/v1/team/reports/posts:
post:
tags:
- reports
+5 -5
View File
@@ -1,4 +1,4 @@
"/api/v4/roles":
"/v1/team/roles":
get:
tags:
- roles
@@ -25,7 +25,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/roles/{role_id}":
"/v1/team/roles/{role_id}":
get:
tags:
- roles
@@ -56,7 +56,7 @@
$ref: "#/components/responses/Unauthorized"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/roles/name/{role_name}":
"/v1/team/roles/name/{role_name}":
get:
tags:
- roles
@@ -87,7 +87,7 @@
$ref: "#/components/responses/Unauthorized"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/roles/{role_id}/patch":
"/v1/team/roles/{role_id}/patch":
put:
tags:
- roles
@@ -141,7 +141,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
/api/v4/roles/names:
/v1/team/roles/names:
post:
tags:
- roles
+7 -7
View File
@@ -1,4 +1,4 @@
/api/v4/saml/metadata:
/v1/team/saml/metadata:
get:
tags:
- SAML
@@ -17,7 +17,7 @@
type: string
"501":
$ref: "#/components/responses/NotImplemented"
/api/v4/saml/metadatafromidp:
/v1/team/saml/metadatafromidp:
post:
tags:
- SAML
@@ -45,7 +45,7 @@
type: string
"501":
$ref: "#/components/responses/NotImplemented"
/api/v4/saml/certificate/idp:
/v1/team/saml/certificate/idp:
post:
tags:
- SAML
@@ -112,7 +112,7 @@
$ref: "#/components/responses/Forbidden"
"501":
$ref: "#/components/responses/NotImplemented"
/api/v4/saml/certificate/public:
/v1/team/saml/certificate/public:
post:
tags:
- SAML
@@ -179,7 +179,7 @@
$ref: "#/components/responses/Forbidden"
"501":
$ref: "#/components/responses/NotImplemented"
/api/v4/saml/certificate/private:
/v1/team/saml/certificate/private:
post:
tags:
- SAML
@@ -246,7 +246,7 @@
$ref: "#/components/responses/Forbidden"
"501":
$ref: "#/components/responses/NotImplemented"
/api/v4/saml/certificate/status:
/v1/team/saml/certificate/status:
get:
tags:
- SAML
@@ -270,7 +270,7 @@
$ref: "#/components/responses/Forbidden"
"501":
$ref: "#/components/responses/NotImplemented"
/api/v4/saml/reset_auth_data:
/v1/team/saml/reset_auth_data:
post:
tags:
- SAML
+3 -3
View File
@@ -1,4 +1,4 @@
/api/v4/posts/schedule:
/v1/team/posts/schedule:
post:
tags:
- scheduled_post
@@ -66,7 +66,7 @@
"500":
$ref: "#/components/responses/InternalServerError"
/api/v4/posts/scheduled/team/{team_id}:
/v1/team/posts/scheduled/team/{team_id}:
get:
tags:
- scheduled_post
@@ -108,7 +108,7 @@
"500":
$ref: "#/components/responses/InternalServerError"
/api/v4/posts/schedule/{scheduled_post_id}:
/v1/team/posts/schedule/{scheduled_post_id}:
put:
tags:
- scheduled_post
+4 -4
View File
@@ -1,4 +1,4 @@
/api/v4/scheduled_recaps:
/v1/team/scheduled_recaps:
post:
tags:
- scheduled recaps
@@ -153,7 +153,7 @@
$ref: "#/components/responses/Unauthorized"
"501":
$ref: "#/components/responses/NotImplemented"
/api/v4/scheduled_recaps/{scheduled_recap_id}:
/v1/team/scheduled_recaps/{scheduled_recap_id}:
get:
tags:
- scheduled recaps
@@ -345,7 +345,7 @@
$ref: "#/components/responses/NotFound"
"501":
$ref: "#/components/responses/NotImplemented"
/api/v4/scheduled_recaps/{scheduled_recap_id}/pause:
/v1/team/scheduled_recaps/{scheduled_recap_id}/pause:
post:
tags:
- scheduled recaps
@@ -383,7 +383,7 @@
$ref: "#/components/responses/NotFound"
"501":
$ref: "#/components/responses/NotImplemented"
/api/v4/scheduled_recaps/{scheduled_recap_id}/resume:
/v1/team/scheduled_recaps/{scheduled_recap_id}/resume:
post:
tags:
- scheduled recaps
+5 -5
View File
@@ -1,4 +1,4 @@
/api/v4/schemes:
/v1/team/schemes:
get:
tags:
- schemes
@@ -100,7 +100,7 @@
$ref: "#/components/responses/Forbidden"
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/schemes/{scheme_id}":
"/v1/team/schemes/{scheme_id}":
get:
tags:
- schemes
@@ -167,7 +167,7 @@
$ref: "#/components/responses/Forbidden"
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/schemes/{scheme_id}/patch":
"/v1/team/schemes/{scheme_id}/patch":
put:
tags:
- schemes
@@ -224,7 +224,7 @@
$ref: "#/components/responses/NotFound"
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/schemes/{scheme_id}/teams":
"/v1/team/schemes/{scheme_id}/teams":
get:
tags:
- schemes
@@ -279,7 +279,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/schemes/{scheme_id}/channels":
"/v1/team/schemes/{scheme_id}/channels":
get:
tags:
- schemes
+1 -1
View File
@@ -1,4 +1,4 @@
/api/v4/terms_of_service:
/v1/team/terms_of_service:
get:
tags:
- terms of service
+7 -7
View File
@@ -1,4 +1,4 @@
"/api/v4/sharedchannels/{team_id}":
"/v1/team/sharedchannels/{team_id}":
get:
tags:
- shared channels
@@ -48,7 +48,7 @@
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/remotecluster/{remote_id}/sharedchannelremotes":
"/v1/team/remotecluster/{remote_id}/sharedchannelremotes":
get:
tags:
- shared channels
@@ -117,7 +117,7 @@
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/sharedchannels/remote_info/{remote_id}":
"/v1/team/sharedchannels/remote_info/{remote_id}":
get:
tags:
- shared channels
@@ -159,7 +159,7 @@
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/remotecluster/{remote_id}/channels/{channel_id}/invite":
"/v1/team/remotecluster/{remote_id}/channels/{channel_id}/invite":
post:
tags:
- shared channels
@@ -197,7 +197,7 @@
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/remotecluster/{remote_id}/channels/{channel_id}/uninvite":
"/v1/team/remotecluster/{remote_id}/channels/{channel_id}/uninvite":
post:
tags:
- shared channels
@@ -237,7 +237,7 @@
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/sharedchannels/{channel_id}/remotes":
"/v1/team/sharedchannels/{channel_id}/remotes":
get:
tags:
- shared channels
@@ -275,7 +275,7 @@
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/sharedchannels/users/{user_id}/can_dm/{other_user_id}":
"/v1/team/sharedchannels/users/{user_id}/can_dm/{other_user_id}":
get:
tags:
- shared channels
+5 -5
View File
@@ -1,4 +1,4 @@
"/api/v4/users/{user_id}/status":
"/v1/team/users/{user_id}/status":
get:
tags:
- status
@@ -77,7 +77,7 @@
$ref: "#/components/responses/BadRequest"
"401":
$ref: "#/components/responses/Unauthorized"
/api/v4/users/status/ids:
/v1/team/users/status/ids:
post:
tags:
- status
@@ -109,7 +109,7 @@
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
"/api/v4/users/{user_id}/status/custom":
"/v1/team/users/{user_id}/status/custom":
put:
tags:
- status
@@ -180,7 +180,7 @@
$ref: "#/components/responses/BadRequest"
"401":
$ref: "#/components/responses/Unauthorized"
"/api/v4/users/{user_id}/status/custom/recent":
"/v1/team/users/{user_id}/status/custom/recent":
delete:
tags:
- status
@@ -229,7 +229,7 @@
$ref: "#/components/responses/BadRequest"
"401":
$ref: "#/components/responses/Unauthorized"
"/api/v4/users/{user_id}/status/custom/recent/delete":
"/v1/team/users/{user_id}/status/custom/recent/delete":
post:
tags:
- status
+45 -45
View File
@@ -1,4 +1,4 @@
/api/v4/system/timezones:
/v1/team/system/timezones:
get:
tags:
- system
@@ -21,7 +21,7 @@
type: string
"500":
$ref: "#/components/responses/InternalServerError"
/api/v4/system/ping:
/v1/team/system/ping:
get:
tags:
- system
@@ -102,7 +102,7 @@
$ref: "#/components/schemas/SystemStatusResponse"
"500":
$ref: "#/components/responses/InternalServerError"
/api/v4/websocket:
/v1/team/websocket:
get:
tags:
- system
@@ -194,7 +194,7 @@
$ref: "#/components/responses/BadRequest"
"500":
$ref: "#/components/responses/InternalServerError"
"/api/v4/system/notices/{team_id}":
"/v1/team/system/notices/{team_id}":
get:
tags:
- system
@@ -245,7 +245,7 @@
"500":
$ref: "#/components/responses/InternalServerError"
/api/v4/system/notices/view:
/v1/team/system/notices/view:
put:
tags:
- system
@@ -277,7 +277,7 @@
$ref: "#/components/schemas/StatusOK"
"500":
$ref: "#/components/responses/InternalServerError"
/api/v4/system/onboarding/complete:
/v1/team/system/onboarding/complete:
get:
tags:
- system
@@ -339,7 +339,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
/api/v4/system/e2e/ai_bridge:
/v1/team/system/e2e/ai_bridge:
put:
tags:
- system
@@ -429,7 +429,7 @@
$ref: "#/components/responses/Forbidden"
"501":
$ref: "#/components/responses/NotImplemented"
/api/v4/database/recycle:
/v1/team/database/recycle:
post:
tags:
- system
@@ -451,7 +451,7 @@
$ref: "#/components/schemas/StatusOK"
"403":
$ref: "#/components/responses/Forbidden"
/api/v4/email/test:
/v1/team/email/test:
post:
tags:
- system
@@ -484,7 +484,7 @@
$ref: "#/components/responses/Forbidden"
"500":
$ref: "#/components/responses/InternalServerError"
/api/v4/notifications/test:
/v1/team/notifications/test:
post:
tags:
- system
@@ -508,7 +508,7 @@
$ref: "#/components/responses/Forbidden"
"500":
$ref: "#/components/responses/InternalServerError"
/api/v4/site_url/test:
/v1/team/site_url/test:
post:
tags:
- system
@@ -550,7 +550,7 @@
$ref: "#/components/responses/Forbidden"
"500":
$ref: "#/components/responses/InternalServerError"
/api/v4/file/test:
/v1/team/file/test:
post:
tags:
- system
@@ -588,14 +588,14 @@
$ref: "#/components/responses/Forbidden"
"500":
$ref: "#/components/responses/InternalServerError"
/api/v4/file/s3_test:
/v1/team/file/s3_test:
post:
tags:
- system
summary: Test AWS S3 connection
description: >
Deprecated alias for `/api/v4/file/test` kept for backwards
compatibility. New callers should use `/api/v4/file/test`, which is
Deprecated alias for `/v1/team/file/test` kept for backwards
compatibility. New callers should use `/v1/team/file/test`, which is
backend-agnostic.
##### Permissions
@@ -625,7 +625,7 @@
$ref: "#/components/responses/Forbidden"
"500":
$ref: "#/components/responses/InternalServerError"
/api/v4/config:
/v1/team/config:
get:
tags:
- system
@@ -704,7 +704,7 @@
$ref: "#/components/responses/BadRequest"
"403":
$ref: "#/components/responses/Forbidden"
/api/v4/config/reload:
/v1/team/config/reload:
post:
tags:
- system
@@ -725,7 +725,7 @@
$ref: "#/components/responses/BadRequest"
"403":
$ref: "#/components/responses/Forbidden"
/api/v4/config/migrate:
/v1/team/config/migrate:
post:
tags:
- system
@@ -761,7 +761,7 @@
$ref: "#/components/responses/Forbidden"
"500":
$ref: "#/components/responses/InternalServerError"
/api/v4/config/client:
/v1/team/config/client:
get:
tags:
- system
@@ -774,7 +774,7 @@
responses:
"200":
description: Configuration retrieval successful
/api/v4/config/environment:
/v1/team/config/environment:
get:
tags:
- system
@@ -808,7 +808,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
/api/v4/config/patch:
/v1/team/config/patch:
put:
tags:
- system
@@ -828,7 +828,7 @@
The 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
Consider using the `update config` (PUT /v1/team/config) endpoint
to update a plugins configurations.
operationId: PatchConfig
requestBody:
@@ -849,7 +849,7 @@
$ref: "#/components/responses/BadRequest"
"403":
$ref: "#/components/responses/Forbidden"
/api/v4/license:
/v1/team/license:
post:
tags:
- system
@@ -912,7 +912,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
/api/v4/license/preview:
/v1/team/license/preview:
post:
tags:
- system
@@ -1001,7 +1001,7 @@
$ref: "#/components/responses/Forbidden"
"413":
$ref: "#/components/responses/TooLarge"
/api/v4/license/client:
/v1/team/license/client:
get:
tags:
- system
@@ -1027,7 +1027,7 @@
$ref: "#/components/responses/BadRequest"
"501":
$ref: "#/components/responses/NotImplemented"
/api/v4/license/load_metric:
/v1/team/license/load_metric:
get:
tags:
- system
@@ -1058,7 +1058,7 @@
$ref: "#/components/responses/Unauthorized"
"500":
$ref: "#/components/responses/InternalServerError"
/api/v4/trial-license:
/v1/team/trial-license:
post:
tags:
- system
@@ -1094,7 +1094,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
/api/v4/trial-license/prev:
/v1/team/trial-license/prev:
get:
tags:
- system
@@ -1117,7 +1117,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
/api/v4/audits:
/v1/team/audits:
get:
tags:
- system
@@ -1154,7 +1154,7 @@
$ref: "#/components/schemas/Audit"
"403":
$ref: "#/components/responses/Forbidden"
/api/v4/caches/invalidate:
/v1/team/caches/invalidate:
post:
tags:
- system
@@ -1177,7 +1177,7 @@
$ref: "#/components/schemas/StatusOK"
"403":
$ref: "#/components/responses/Forbidden"
/api/v4/logs:
/v1/team/logs:
get:
tags:
- system
@@ -1257,7 +1257,7 @@
type: string
"403":
$ref: "#/components/responses/Forbidden"
/api/v4/logs/query:
/v1/team/logs/query:
post:
tags:
- system
@@ -1328,7 +1328,7 @@
$ref: "#/components/responses/Forbidden"
"500":
$ref: "#/components/responses/InternalServerError"
/api/v4/analytics/old:
/v1/team/analytics/old:
get:
tags:
- system
@@ -1373,7 +1373,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
/api/v4/latest_version:
/v1/team/latest_version:
get:
tags:
- system
@@ -1412,7 +1412,7 @@
$ref: "#/components/responses/Forbidden"
"500":
$ref: "#/components/responses/InternalServerError"
/api/v4/system/schema/version:
/v1/team/system/schema/version:
get:
tags:
- system
@@ -1443,7 +1443,7 @@
$ref: "#/components/responses/Forbidden"
"500":
$ref: "#/components/responses/InternalServerError"
/api/v4/server_busy:
/v1/team/server_busy:
post:
tags:
- system
@@ -1529,7 +1529,7 @@
$ref: "#/components/schemas/StatusOK"
"403":
$ref: "#/components/responses/Forbidden"
/api/v4/notifications/ack:
/v1/team/notifications/ack:
post:
tags:
- root
@@ -1550,7 +1550,7 @@
$ref: "#/components/schemas/PushNotification"
"404":
$ref: "#/components/responses/NotFound"
/api/v4/redirect_location:
/v1/team/redirect_location:
get:
tags:
- system
@@ -1581,7 +1581,7 @@
type: string
"404":
$ref: "#/components/responses/NotFound"
/api/v4/image:
/v1/team/image:
get:
tags:
- system
@@ -1606,7 +1606,7 @@
"404":
$ref: "#/components/responses/NotFound"
/api/v4/upgrade_to_enterprise:
/v1/team/upgrade_to_enterprise:
post:
tags:
- system
@@ -1634,7 +1634,7 @@
"429":
$ref: "#/components/responses/TooManyRequests"
/api/v4/upgrade_to_enterprise/status:
/v1/team/upgrade_to_enterprise/status:
get:
tags:
- system
@@ -1666,7 +1666,7 @@
"403":
$ref: "#/components/responses/Forbidden"
/api/v4/upgrade_to_enterprise/allowed:
/v1/team/upgrade_to_enterprise/allowed:
get:
tags:
- system
@@ -1680,7 +1680,7 @@
"403":
$ref: "#/components/responses/Forbidden"
/api/v4/restart:
/v1/team/restart:
post:
tags:
- system
@@ -1704,7 +1704,7 @@
$ref: "#/components/schemas/StatusOK"
"403":
$ref: "#/components/responses/Forbidden"
/api/v4/integrity:
/v1/team/integrity:
post:
tags:
- system
@@ -1730,7 +1730,7 @@
type: array
items:
$ref: "#/components/schemas/IntegrityCheckResult"
/api/v4/system/support_packet:
/v1/team/system/support_packet:
get:
tags:
- system
+31 -31
View File
@@ -1,4 +1,4 @@
/api/v4/teams:
/v1/team/teams:
post:
tags:
- teams
@@ -98,7 +98,7 @@
$ref: "#/components/responses/BadRequest"
"401":
$ref: "#/components/responses/Unauthorized"
"/api/v4/teams/{team_id}":
"/v1/team/teams/{team_id}":
get:
tags:
- teams
@@ -241,7 +241,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/teams/{team_id}/patch":
"/v1/team/teams/{team_id}/patch":
put:
tags:
- teams
@@ -293,7 +293,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/teams/{team_id}/privacy":
"/v1/team/teams/{team_id}/privacy":
put:
tags:
- teams
@@ -345,7 +345,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/teams/{team_id}/restore":
"/v1/team/teams/{team_id}/restore":
post:
tags:
- teams
@@ -378,7 +378,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/teams/name/{team_name}":
"/v1/team/teams/name/{team_name}":
get:
tags:
- teams
@@ -412,7 +412,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
/api/v4/teams/search:
/v1/team/teams/search:
post:
tags:
- teams
@@ -499,7 +499,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/teams/name/{team_name}/exists":
"/v1/team/teams/name/{team_name}/exists":
get:
tags:
- teams
@@ -529,7 +529,7 @@
$ref: "#/components/responses/Unauthorized"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/users/{user_id}/teams":
"/v1/team/users/{user_id}/teams":
get:
tags:
- teams
@@ -563,7 +563,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/teams/{team_id}/members":
"/v1/team/teams/{team_id}/members":
get:
tags:
- teams
@@ -668,7 +668,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
/api/v4/teams/members/invite:
/v1/team/teams/members/invite:
post:
tags:
- teams
@@ -703,7 +703,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/teams/{team_id}/members/batch":
"/v1/team/teams/{team_id}/members/batch":
post:
tags:
- teams
@@ -756,7 +756,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/users/{user_id}/teams/members":
"/v1/team/users/{user_id}/teams/members":
get:
tags:
- teams
@@ -793,7 +793,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/teams/{team_id}/members/{user_id}":
"/v1/team/teams/{team_id}/members/{user_id}":
get:
tags:
- teams
@@ -871,7 +871,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/teams/{team_id}/members/ids":
"/v1/team/teams/{team_id}/members/ids":
post:
tags:
- teams
@@ -912,7 +912,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/teams/{team_id}/stats":
"/v1/team/teams/{team_id}/stats":
get:
tags:
- teams
@@ -944,7 +944,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/teams/{team_id}/access_control/policy":
"/v1/team/teams/{team_id}/access_control/policy":
get:
tags:
- teams
@@ -988,7 +988,7 @@
$ref: "#/components/responses/Forbidden"
"500":
$ref: "#/components/responses/InternalServerError"
"/api/v4/teams/{team_id}/access_control/attributes":
"/v1/team/teams/{team_id}/access_control/attributes":
get:
tags:
- teams
@@ -1029,7 +1029,7 @@
$ref: "#/components/responses/Forbidden"
"500":
$ref: "#/components/responses/InternalServerError"
"/api/v4/teams/{team_id}/regenerate_invite_id":
"/v1/team/teams/{team_id}/regenerate_invite_id":
post:
tags:
- teams
@@ -1061,7 +1061,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/teams/{team_id}/image":
"/v1/team/teams/{team_id}/image":
get:
tags:
- teams
@@ -1181,7 +1181,7 @@
$ref: "#/components/responses/InternalServerError"
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/teams/{team_id}/members/{user_id}/roles":
"/v1/team/teams/{team_id}/members/{user_id}/roles":
put:
tags:
- teams
@@ -1235,7 +1235,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/teams/{team_id}/members/{user_id}/schemeRoles":
"/v1/team/teams/{team_id}/members/{user_id}/schemeRoles":
put:
tags:
- teams
@@ -1297,7 +1297,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/users/{user_id}/teams/unread":
"/v1/team/users/{user_id}/teams/unread":
get:
tags:
- teams
@@ -1345,7 +1345,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/users/{user_id}/teams/{team_id}/unread":
"/v1/team/users/{user_id}/teams/{team_id}/unread":
get:
tags:
- teams
@@ -1386,7 +1386,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/teams/{team_id}/invite/email":
"/v1/team/teams/{team_id}/invite/email":
post:
tags:
- teams
@@ -1473,7 +1473,7 @@
$ref: "#/components/responses/Forbidden"
"413":
$ref: "#/components/responses/TooLarge"
"/api/v4/teams/{team_id}/invite-guests/email":
"/v1/team/teams/{team_id}/invite-guests/email":
post:
tags:
- teams
@@ -1546,7 +1546,7 @@
$ref: "#/components/responses/Forbidden"
"413":
$ref: "#/components/responses/TooLarge"
/api/v4/teams/invites/email:
/v1/team/teams/invites/email:
delete:
tags:
- teams
@@ -1572,7 +1572,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/teams/{team_id}/import":
"/v1/team/teams/{team_id}/import":
post:
tags:
- teams
@@ -1628,7 +1628,7 @@
$ref: "#/components/responses/BadRequest"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/teams/invite/{invite_id}":
"/v1/team/teams/invite/{invite_id}":
get:
tags:
- teams
@@ -1670,7 +1670,7 @@
type: string
"400":
$ref: "#/components/responses/BadRequest"
"/api/v4/teams/{team_id}/scheme":
"/v1/team/teams/{team_id}/scheme":
put:
tags:
- teams
@@ -1722,7 +1722,7 @@
$ref: "#/components/responses/Forbidden"
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/teams/{team_id}/members_minus_group_members":
"/v1/team/teams/{team_id}/members_minus_group_members":
get:
tags:
- teams
+2 -2
View File
@@ -1,4 +1,4 @@
"/api/v4/uploads":
"/v1/team/uploads":
post:
tags:
- uploads
@@ -52,7 +52,7 @@
$ref: "#/components/responses/TooLarge"
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/uploads/{upload_id}":
"/v1/team/uploads/{upload_id}":
get:
tags:
- uploads
+3 -3
View File
@@ -1,4 +1,4 @@
/api/v4/usage/posts:
/v1/team/usage/posts:
get:
tags:
- usage
@@ -24,7 +24,7 @@
$ref: "#/components/responses/Unauthorized"
"500":
$ref: "#/components/responses/InternalServerError"
/api/v4/usage/storage:
/v1/team/usage/storage:
get:
tags:
- usage
@@ -50,7 +50,7 @@
$ref: "#/components/responses/Unauthorized"
"500":
$ref: "#/components/responses/InternalServerError"
/api/v4/usage/teams:
/v1/team/usage/teams:
get:
tags:
- usage
+77 -77
View File
@@ -1,4 +1,4 @@
/api/v4/users/login:
/v1/team/users/login:
post:
tags:
- users
@@ -46,7 +46,7 @@
$ref: "#/components/responses/BadRequest"
"403":
$ref: "#/components/responses/Forbidden"
/api/v4/users/login/desktop_token:
/v1/team/users/login/desktop_token:
post:
tags:
- users
@@ -83,7 +83,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
/api/v4/users/login/cws:
/v1/team/users/login/cws:
post:
tags:
- users
@@ -117,7 +117,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
/api/v4/users/login/sso/code-exchange:
/v1/team/users/login/sso/code-exchange:
post:
deprecated: true
tags:
@@ -313,7 +313,7 @@
application/json:
schema:
$ref: "#/components/schemas/AppError"
/api/v4/users/logout:
/v1/team/users/logout:
post:
tags:
- users
@@ -334,7 +334,7 @@
$ref: "#/components/responses/BadRequest"
"403":
$ref: "#/components/responses/Forbidden"
/api/v4/users/notify-admin:
/v1/team/users/notify-admin:
post:
tags:
- users
@@ -362,7 +362,7 @@
$ref: "#/components/responses/BadRequest"
"401":
$ref: "#/components/responses/Unauthorized"
/api/v4/users/trigger-notify-admin-posts:
/v1/team/users/trigger-notify-admin-posts:
post:
tags:
- users
@@ -393,7 +393,7 @@
"403":
$ref: "#/components/responses/Forbidden"
/api/v4/users:
/v1/team/users:
post:
tags:
- users
@@ -679,7 +679,7 @@
responses:
"200":
description: Delete request was successful
/api/v4/users/ids:
/v1/team/users/ids:
post:
tags:
- users
@@ -722,7 +722,7 @@
$ref: "#/components/responses/BadRequest"
"401":
$ref: "#/components/responses/Unauthorized"
/api/v4/users/group_channels:
/v1/team/users/group_channels:
post:
tags:
- users
@@ -764,7 +764,7 @@
$ref: "#/components/responses/BadRequest"
"401":
$ref: "#/components/responses/Unauthorized"
/api/v4/users/usernames:
/v1/team/users/usernames:
post:
tags:
- users
@@ -796,7 +796,7 @@
$ref: "#/components/responses/BadRequest"
"401":
$ref: "#/components/responses/Unauthorized"
/api/v4/users/search:
/v1/team/users/search:
post:
tags:
- users
@@ -877,7 +877,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
/api/v4/users/autocomplete:
/v1/team/users/autocomplete:
get:
tags:
- users
@@ -931,7 +931,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
/api/v4/users/known:
/v1/team/users/known:
get:
tags:
- users
@@ -955,7 +955,7 @@
$ref: "#/components/schemas/KnownUsers"
"401":
$ref: "#/components/responses/Unauthorized"
/api/v4/users/stats:
/v1/team/users/stats:
get:
tags:
- users
@@ -980,7 +980,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
/api/v4/users/stats/filtered:
/v1/team/users/stats/filtered:
get:
tags:
- users
@@ -1056,7 +1056,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/users/{user_id}":
"/v1/team/users/{user_id}":
get:
tags:
- users
@@ -1191,7 +1191,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/users/{user_id}/patch":
"/v1/team/users/{user_id}/patch":
put:
tags:
- users
@@ -1253,7 +1253,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/users/{user_id}/roles":
"/v1/team/users/{user_id}/roles":
put:
tags:
- users
@@ -1299,7 +1299,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/users/{user_id}/active":
"/v1/team/users/{user_id}/active":
put:
tags:
- users
@@ -1348,7 +1348,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/users/{user_id}/image":
"/v1/team/users/{user_id}/image":
get:
tags:
- users
@@ -1469,7 +1469,7 @@
$ref: "#/components/responses/NotFound"
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/users/{user_id}/image/default":
"/v1/team/users/{user_id}/image/default":
get:
tags:
- users
@@ -1504,7 +1504,7 @@
$ref: "#/components/responses/NotFound"
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/users/username/{username}":
"/v1/team/users/username/{username}":
get:
tags:
- users
@@ -1537,7 +1537,7 @@
$ref: "#/components/responses/Unauthorized"
"404":
$ref: "#/components/responses/NotFound"
/api/v4/users/auth_data:
/v1/team/users/auth_data:
get:
tags:
- users
@@ -1585,7 +1585,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
/api/v4/users/password/reset:
/v1/team/users/password/reset:
post:
tags:
- users
@@ -1627,7 +1627,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/users/{user_id}/mfa":
"/v1/team/users/{user_id}/mfa":
put:
tags:
- users
@@ -1679,7 +1679,7 @@
$ref: "#/components/responses/Forbidden"
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/users/{user_id}/mfa/generate":
"/v1/team/users/{user_id}/mfa/generate":
post:
tags:
- users
@@ -1723,7 +1723,7 @@
$ref: "#/components/responses/NotFound"
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/users/{user_id}/demote":
"/v1/team/users/{user_id}/demote":
post:
tags:
- users
@@ -1762,7 +1762,7 @@
$ref: "#/components/responses/NotFound"
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/users/{user_id}/promote":
"/v1/team/users/{user_id}/promote":
post:
tags:
- users
@@ -1801,7 +1801,7 @@
$ref: "#/components/responses/NotFound"
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/users/{user_id}/convert_to_bot":
"/v1/team/users/{user_id}/convert_to_bot":
post:
tags:
- bots
@@ -1837,7 +1837,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/users/{user_id}/password":
"/v1/team/users/{user_id}/password":
put:
tags:
- users
@@ -1886,7 +1886,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
/api/v4/users/password/reset/send:
/v1/team/users/password/reset/send:
post:
tags:
- users
@@ -1925,7 +1925,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/users/email/{email}":
"/v1/team/users/email/{email}":
get:
tags:
- users
@@ -1960,7 +1960,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/users/{user_id}/sessions":
"/v1/team/users/{user_id}/sessions":
get:
tags:
- users
@@ -1995,7 +1995,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/users/{user_id}/sessions/revoke":
"/v1/team/users/{user_id}/sessions/revoke":
post:
tags:
- users
@@ -2039,7 +2039,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/users/{user_id}/sessions/revoke/all":
"/v1/team/users/{user_id}/sessions/revoke/all":
post:
tags:
- users
@@ -2074,7 +2074,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
/api/v4/users/sessions/device:
/v1/team/users/sessions/device:
put:
tags:
- users
@@ -2124,7 +2124,7 @@
$ref: "#/components/responses/BadRequest"
"401":
$ref: "#/components/responses/Unauthorized"
/api/v4/users/sessions/attributes/manifest:
/v1/team/users/sessions/attributes/manifest:
get:
tags:
- users
@@ -2163,7 +2163,7 @@
type: string
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/users/{user_id}/audits":
"/v1/team/users/{user_id}/audits":
get:
tags:
- users
@@ -2195,7 +2195,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/users/{user_id}/email/verify/member":
"/v1/team/users/{user_id}/email/verify/member":
post:
tags:
- users
@@ -2229,7 +2229,7 @@
$ref: "#/components/responses/Unauthorized"
"404":
$ref: "#/components/responses/NotFound"
/api/v4/users/email/verify:
/v1/team/users/email/verify:
post:
tags:
- users
@@ -2260,7 +2260,7 @@
$ref: "#/components/schemas/StatusOK"
"400":
$ref: "#/components/responses/BadRequest"
/api/v4/users/email/verify/send:
/v1/team/users/email/verify/send:
post:
tags:
- users
@@ -2295,7 +2295,7 @@
$ref: "#/components/schemas/StatusOK"
"400":
$ref: "#/components/responses/BadRequest"
/api/v4/users/login/switch:
/v1/team/users/login/switch:
post:
tags:
- users
@@ -2377,7 +2377,7 @@
$ref: "#/components/responses/NotFound"
"501":
$ref: "#/components/responses/NotImplemented"
/api/v4/users/login/type:
/v1/team/users/login/type:
post:
tags:
- users
@@ -2425,7 +2425,7 @@
type: string
"400":
$ref: "#/components/responses/BadRequest"
"/api/v4/users/{user_id}/tokens":
"/v1/team/users/{user_id}/tokens":
post:
tags:
- users
@@ -2524,7 +2524,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
/api/v4/users/tokens:
/v1/team/users/tokens:
get:
tags:
- users
@@ -2570,7 +2570,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
/api/v4/users/tokens/revoke:
/v1/team/users/tokens/revoke:
post:
tags:
- users
@@ -2611,7 +2611,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
/api/v4/users/tokens/non_compliant/count:
/v1/team/users/tokens/non_compliant/count:
get:
tags:
- users
@@ -2647,7 +2647,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
/api/v4/users/tokens/non_compliant/revoke:
/v1/team/users/tokens/non_compliant/revoke:
post:
tags:
- users
@@ -2687,7 +2687,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/users/tokens/{token_id}":
"/v1/team/users/tokens/{token_id}":
get:
tags:
- users
@@ -2726,7 +2726,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
/api/v4/users/tokens/disable:
/v1/team/users/tokens/disable:
post:
tags:
- users
@@ -2768,7 +2768,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
/api/v4/users/tokens/enable:
/v1/team/users/tokens/enable:
post:
tags:
- users
@@ -2809,7 +2809,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
/api/v4/users/tokens/rotate:
/v1/team/users/tokens/rotate:
post:
tags:
- users
@@ -2863,7 +2863,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
/api/v4/users/tokens/search:
/v1/team/users/tokens/search:
post:
tags:
- users
@@ -2903,7 +2903,7 @@
type: array
items:
$ref: "#/components/schemas/UserAccessTokenSanitized"
"/api/v4/users/{user_id}/auth":
"/v1/team/users/{user_id}/auth":
put:
tags:
- users
@@ -2952,7 +2952,7 @@
$ref: "#/components/responses/Forbidden"
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/users/{user_id}/terms_of_service":
"/v1/team/users/{user_id}/terms_of_service":
post:
tags:
- users
@@ -3051,7 +3051,7 @@
application/json:
schema:
$ref: "#/components/schemas/AppError"
/api/v4/users/sessions/revoke/all:
/v1/team/users/sessions/revoke/all:
post:
tags:
- users
@@ -3077,7 +3077,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/users/{user_id}/typing":
"/v1/team/users/{user_id}/typing":
post:
tags:
- users
@@ -3122,7 +3122,7 @@
$ref: "#/components/responses/Unauthorized"
'403':
$ref: "#/components/responses/Forbidden"
"/api/v4/users/{user_id}/uploads":
"/v1/team/users/{user_id}/uploads":
get:
tags:
- users
@@ -3157,7 +3157,7 @@
$ref: "#/components/responses/Unauthorized"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/users/{user_id}/channel_members":
"/v1/team/users/{user_id}/channel_members":
get:
tags:
- users
@@ -3204,7 +3204,7 @@
$ref: "#/components/responses/Unauthorized"
"404":
$ref: "#/components/responses/NotFound"
/api/v4/users/migrate_auth/ldap:
/v1/team/users/migrate_auth/ldap:
post:
tags:
- users
@@ -3252,7 +3252,7 @@
$ref: "#/components/responses/Forbidden"
'501':
$ref: "#/components/responses/NotImplemented"
/api/v4/users/migrate_auth/saml:
/v1/team/users/migrate_auth/saml:
post:
tags:
- users
@@ -3300,7 +3300,7 @@
$ref: "#/components/responses/Forbidden"
'501':
$ref: "#/components/responses/NotImplemented"
"/api/v4/users/{user_id}/teams/{team_id}/threads":
"/v1/team/users/{user_id}/teams/{team_id}/threads":
get:
tags:
- threads
@@ -3386,7 +3386,7 @@
$ref: "#/components/responses/Unauthorized"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/users/{user_id}/teams/{team_id}/read":
"/v1/team/users/{user_id}/teams/{team_id}/read":
put:
tags:
- channels
@@ -3440,7 +3440,7 @@
$ref: "#/components/responses/NotFound"
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/users/{user_id}/teams/{team_id}/threads/read":
"/v1/team/users/{user_id}/teams/{team_id}/threads/read":
put:
tags:
- threads
@@ -3475,7 +3475,7 @@
$ref: "#/components/responses/Unauthorized"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/users/{user_id}/teams/{team_id}/threads/{thread_id}/read/{timestamp}":
"/v1/team/users/{user_id}/teams/{team_id}/threads/{thread_id}/read/{timestamp}":
put:
tags:
- threads
@@ -3522,7 +3522,7 @@
$ref: "#/components/responses/Unauthorized"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/users/{user_id}/teams/{team_id}/threads/{thread_id}/set_unread/{post_id}":
"/v1/team/users/{user_id}/teams/{team_id}/threads/{thread_id}/set_unread/{post_id}":
post:
tags:
- threads
@@ -3571,7 +3571,7 @@
$ref: "#/components/responses/Unauthorized"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/users/{user_id}/teams/{team_id}/threads/{thread_id}/following":
"/v1/team/users/{user_id}/teams/{team_id}/threads/{thread_id}/following":
put:
tags:
- threads
@@ -3652,7 +3652,7 @@
$ref: "#/components/responses/Unauthorized"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/users/{user_id}/teams/{team_id}/threads/{thread_id}":
"/v1/team/users/{user_id}/teams/{team_id}/threads/{thread_id}":
get:
tags:
- threads
@@ -3693,7 +3693,7 @@
$ref: "#/components/responses/Unauthorized"
"404":
$ref: "#/components/responses/NotFound"
/api/v4/drafts:
/v1/team/drafts:
post:
tags:
- users
@@ -3727,7 +3727,7 @@
$ref: "#/components/responses/Forbidden"
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/users/{user_id}/teams/{team_id}/drafts":
"/v1/team/users/{user_id}/teams/{team_id}/drafts":
get:
tags:
- users
@@ -3766,7 +3766,7 @@
$ref: "#/components/responses/Forbidden"
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/users/{user_id}/channels/{channel_id}/drafts":
"/v1/team/users/{user_id}/channels/{channel_id}/drafts":
delete:
tags:
- users
@@ -3803,7 +3803,7 @@
$ref: "#/components/responses/Forbidden"
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/users/{user_id}/channels/{channel_id}/drafts/{thread_id}":
"/v1/team/users/{user_id}/channels/{channel_id}/drafts/{thread_id}":
delete:
tags:
- users
@@ -3846,7 +3846,7 @@
$ref: "#/components/responses/Forbidden"
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/users/{user_id}/data_retention/team_policies":
"/v1/team/users/{user_id}/data_retention/team_policies":
get:
tags:
- data retention
@@ -3896,7 +3896,7 @@
$ref: "#/components/responses/InternalServerError"
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/users/{user_id}/data_retention/channel_policies":
"/v1/team/users/{user_id}/data_retention/channel_policies":
get:
tags:
- data retention
@@ -3946,7 +3946,7 @@
$ref: "#/components/responses/InternalServerError"
"501":
$ref: "#/components/responses/NotImplemented"
/api/v4/users/invalid_emails:
/v1/team/users/invalid_emails:
get:
tags:
- users
@@ -3989,7 +3989,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/users/{user_id}/reset_failed_attempts":
"/v1/team/users/{user_id}/reset_failed_attempts":
post:
tags:
- users
+4 -4
View File
@@ -1,4 +1,4 @@
/api/v4/channels/{channel_id}/views:
/v1/team/channels/{channel_id}/views:
get:
tags:
- views
@@ -141,7 +141,7 @@
"500":
$ref: "#/components/responses/InternalServerError"
/api/v4/channels/{channel_id}/views/{view_id}:
/v1/team/channels/{channel_id}/views/{view_id}:
get:
tags:
- views
@@ -285,7 +285,7 @@
"500":
$ref: "#/components/responses/InternalServerError"
/api/v4/channels/{channel_id}/views/{view_id}/posts:
/v1/team/channels/{channel_id}/views/{view_id}/posts:
get:
tags:
- views
@@ -347,7 +347,7 @@
"500":
$ref: "#/components/responses/InternalServerError"
/api/v4/channels/{channel_id}/views/{view_id}/sort_order:
/v1/team/channels/{channel_id}/views/{view_id}/sort_order:
post:
tags:
- views
+5 -5
View File
@@ -1,4 +1,4 @@
/api/v4/hooks/incoming:
/v1/team/hooks/incoming:
post:
tags:
- webhooks
@@ -108,7 +108,7 @@
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/hooks/incoming/{hook_id}":
"/v1/team/hooks/incoming/{hook_id}":
get:
tags:
- webhooks
@@ -244,7 +244,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
/api/v4/hooks/outgoing:
/v1/team/hooks/outgoing:
post:
tags:
- webhooks
@@ -372,7 +372,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/hooks/outgoing/{hook_id}":
"/v1/team/hooks/outgoing/{hook_id}":
get:
tags:
- webhooks
@@ -498,7 +498,7 @@
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/hooks/outgoing/{hook_id}/regen_token":
"/v1/team/hooks/outgoing/{hook_id}/regen_token":
post:
tags:
- webhooks
@@ -34,7 +34,7 @@ var (
// Excludes | so group-alternation patterns like {type:a|b} are left intact for splitHandlerByGroup.
pathParamConstraintRegex = regexp.MustCompile(`\{([^:}]+):[^|}]+\}`)
openAPIParamRegex = regexp.MustCompile(`\{[^}]+\}`)
IgnoredCases = []string{"{websocket}", "api/v4/remotecluster"}
IgnoredCases = []string{"{websocket}", "v1/team/remotecluster"}
)
func init() {
@@ -234,7 +234,7 @@ func parseInitFunction(pass *analysis.Pass, decl *ast.FuncDecl, routerPrefixes m
continue
}
subRouterName := formatNode(pass.Fset, node.Lhs[0])[15:]
if subRouterName == "APIRoot" || subRouterName == "APIRoot5" || subRouterName == "Root" {
if subRouterName == "APIRoot" || subRouterName == "Root" {
continue
}
@@ -244,7 +244,7 @@ func parseInitFunction(pass *analysis.Pass, decl *ast.FuncDecl, routerPrefixes m
prefix := ""
switch router {
case "APIRoot":
prefix = "api/v4"
prefix = "v1/team"
case "Root":
prefix = ""
default:
@@ -22,17 +22,17 @@ func TestCleanRegexp(t *testing.T) {
input string
want string
}{
{"/api/v4/users/{user_id:[0-9]+}", "/api/v4/users/{user_id}"},
{"/api/v4/users/{username:[A-Za-z0-9\\_\\-\\.]+}", "/api/v4/users/{username}"},
{"/api/v4/jobs/type/{job_type:[A-Za-z0-9_-]+}", "/api/v4/jobs/type/{job_type}"},
{"/v1/team/users/{user_id:[0-9]+}", "/v1/team/users/{user_id}"},
{"/v1/team/users/{username:[A-Za-z0-9\\_\\-\\.]+}", "/v1/team/users/{username}"},
{"/v1/team/jobs/type/{job_type:[A-Za-z0-9_-]+}", "/v1/team/jobs/type/{job_type}"},
// Literal-value constraints (e.g., {websocket:websocket}) are stripped like any other.
{"/api/v4/{websocket:websocket}", "/api/v4/{websocket}"},
{"/v1/team/{websocket:websocket}", "/v1/team/{websocket}"},
// Group-alternation patterns must be left intact for splitHandlerByGroup.
{"/api/v4/groups/{group_id}/{syncable_type:teams|channels}/{syncable_id}/link", "/api/v4/groups/{group_id}/{syncable_type:teams|channels}/{syncable_id}/link"},
{"/v1/team/groups/{group_id}/{syncable_type:teams|channels}/{syncable_id}/link", "/v1/team/groups/{group_id}/{syncable_type:teams|channels}/{syncable_id}/link"},
// No constraint — unchanged.
{"/api/v4/users/{user_id}/posts", "/api/v4/users/{user_id}/posts"},
{"/v1/team/users/{user_id}/posts", "/v1/team/users/{user_id}/posts"},
// Multiple constrained params in one path.
{"/api/v4/users/{user_id:[0-9]+}/posts/{post_id:[0-9]+}", "/api/v4/users/{user_id}/posts/{post_id}"},
{"/v1/team/users/{user_id:[0-9]+}/posts/{post_id:[0-9]+}", "/v1/team/users/{user_id}/posts/{post_id}"},
}
for _, tc := range tests {
t.Run(tc.input, func(t *testing.T) {
@@ -51,44 +51,44 @@ func TestMatchesTemplate(t *testing.T) {
}{
// Exact match.
{
"/api/v4/groups/{group_id}/teams/{syncable_id}/link",
"/api/v4/groups/{group_id}/teams/{syncable_id}/link",
"/v1/team/groups/{group_id}/teams/{syncable_id}/link",
"/v1/team/groups/{group_id}/teams/{syncable_id}/link",
true,
},
// Spec param matches handler literal segment.
{
"/api/v4/groups/{group_id}/{syncable_type}/{syncable_id}/link",
"/api/v4/groups/{group_id}/channels/{syncable_id}/link",
"/v1/team/groups/{group_id}/{syncable_type}/{syncable_id}/link",
"/v1/team/groups/{group_id}/channels/{syncable_id}/link",
true,
},
// Spec literal does not match a different handler literal.
{
"/api/v4/groups/{group_id}/teams/{syncable_id}/link",
"/api/v4/groups/{group_id}/channels/{syncable_id}/link",
"/v1/team/groups/{group_id}/teams/{syncable_id}/link",
"/v1/team/groups/{group_id}/channels/{syncable_id}/link",
false,
},
// Spec param matches handler param name.
{
"/api/v4/users/{user_id}",
"/api/v4/users/{user_id}",
"/v1/team/users/{user_id}",
"/v1/team/users/{user_id}",
true,
},
// Spec param matches handler literal "me".
{
"/api/v4/users/{user_id}",
"/api/v4/users/me",
"/v1/team/users/{user_id}",
"/v1/team/users/me",
true,
},
// Different path lengths.
{
"/api/v4/users/{user_id}/posts",
"/api/v4/users/{user_id}",
"/v1/team/users/{user_id}/posts",
"/v1/team/users/{user_id}",
false,
},
// Completely different paths.
{
"/api/v4/teams/{team_id}",
"/api/v4/users/{user_id}",
"/v1/team/teams/{team_id}",
"/v1/team/users/{user_id}",
false,
},
}
+2 -2
View File
@@ -3,13 +3,13 @@ info:
title: Test API
version: "1.0.0"
paths:
/api/v4/users/ids:
/v1/team/users/ids:
post:
summary: Get users by IDs
responses:
"200":
description: OK
/api/v4/groups/{group_id}/teams/{syncable_id}/link:
/v1/team/groups/{group_id}/teams/{syncable_id}/link:
post:
summary: Link a group syncable
responses:
+6 -6
View File
@@ -12,10 +12,10 @@ import (
type Routes struct {
Root *mux.Router // ''
APIRoot *mux.Router // 'api/v4'
APIRoot *mux.Router // 'v1/team'
Users *mux.Router // 'api/v4/userzs'
Groups *mux.Router // 'api/v4/groups'
Users *mux.Router // 'v1/team/userzs'
Groups *mux.Router // 'v1/team/groups'
}
type API struct {
@@ -30,10 +30,10 @@ func Init(root *mux.Router) *API {
BaseRoutes: &Routes{},
}
api.BaseRoutes.Root = root
api.BaseRoutes.APIRoot = root.PathPrefix("api/v4").Subrouter()
api.BaseRoutes.APIRoot = root.PathPrefix("v1/team").Subrouter()
api.BaseRoutes.Users = api.BaseRoutes.APIRoot.PathPrefix("/users").Subrouter() // want "PathPrefix doesn't match field comment for field 'Users': 'api/v4/users' vs 'api/v4/userzs'"
api.BaseRoutes.Groups = api.BaseRoutes.APIRoot.PathPrefix("/gruops").Subrouter() // want "PathPrefix doesn't match field comment for field 'Groups': 'api/v4/gruops' vs 'api/v4/groups'"
api.BaseRoutes.Users = api.BaseRoutes.APIRoot.PathPrefix("/users").Subrouter() // want "PathPrefix doesn't match field comment for field 'Users': 'v1/team/users' vs 'v1/team/userzs'"
api.BaseRoutes.Groups = api.BaseRoutes.APIRoot.PathPrefix("/gruops").Subrouter() // want "PathPrefix doesn't match field comment for field 'Groups': 'v1/team/gruops' vs 'v1/team/groups'"
api.InitUsers()
return api
}
@@ -9,8 +9,8 @@ import (
)
func (a *API) InitUsers() {
a.BaseRoutes.Users.Handle("/ids", a.ApiSessionRequired(getUsersByIds)).Methods(http.MethodPost) // want `Cannot find /api/v4/userzs/ids method: POST in OpenAPI 3 spec. \(maybe you meant: \[/api/v4/users/ids\]\)`
a.BaseRoutes.Groups.Handle("/{group_id:[A-Za-z0-9]+}/{syncable_type:teams|channelz}/{syncable_id:[A-Za-z0-9]+}/link", a.ApiSessionRequired(getUsersByIds)).Methods("POST") // want `Cannot find /api/v4/groups/{group_id}/channelz/{syncable_id}/link method: POST in OpenAPI 3 spec.`
a.BaseRoutes.Users.Handle("/ids", a.ApiSessionRequired(getUsersByIds)).Methods(http.MethodPost) // want `Cannot find /v1/team/userzs/ids method: POST in OpenAPI 3 spec. \(maybe you meant: \[/v1/team/users/ids\]\)`
a.BaseRoutes.Groups.Handle("/{group_id:[A-Za-z0-9]+}/{syncable_type:teams|channelz}/{syncable_id:[A-Za-z0-9]+}/link", a.ApiSessionRequired(getUsersByIds)).Methods("POST") // want `Cannot find /v1/team/groups/{group_id}/channelz/{syncable_id}/link method: POST in OpenAPI 3 spec.`
}
func getUsersByIds(c *context.Context, w http.ResponseWriter, r *http.Request) {