mirror of
https://github.com/hanzoai/team.git
synced 2026-09-30 01:57:35 +00:00
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]>
1782 lines
54 KiB
YAML
1782 lines
54 KiB
YAML
/v1/team/teams:
|
|
post:
|
|
tags:
|
|
- teams
|
|
summary: Create a team
|
|
description: |
|
|
Create a new team on the system.
|
|
##### Permissions
|
|
Must be authenticated and have the `create_team` permission.
|
|
operationId: CreateTeam
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required:
|
|
- name
|
|
- display_name
|
|
- type
|
|
properties:
|
|
name:
|
|
type: string
|
|
description: Unique handler for a team, will be present in the team URL
|
|
display_name:
|
|
type: string
|
|
description: Non-unique UI name for the team
|
|
type:
|
|
type: string
|
|
description: "`'O'` for open, `'I'` for invite only"
|
|
description: Team that is to be created
|
|
required: true
|
|
responses:
|
|
"201":
|
|
description: Team creation successful
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Team"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/components/responses/Forbidden"
|
|
get:
|
|
tags:
|
|
- teams
|
|
summary: Get teams
|
|
description: >
|
|
For regular users only returns open teams. Users with the
|
|
"manage_system" permission will return teams regardless of type. The
|
|
result is based on query string parameters - page and per_page.
|
|
|
|
##### Permissions
|
|
|
|
Must be authenticated. "manage_system" permission is required to show all teams.
|
|
operationId: GetAllTeams
|
|
parameters:
|
|
- name: page
|
|
in: query
|
|
description: The page to select.
|
|
schema:
|
|
type: integer
|
|
default: 0
|
|
- name: per_page
|
|
in: query
|
|
description: The number of teams per page.
|
|
schema:
|
|
type: integer
|
|
default: 60
|
|
- name: include_total_count
|
|
description: >-
|
|
Appends a total count of returned teams inside the response object - ex: `{ "teams": [], "total_count" : 0 }`.
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
- name: exclude_policy_constrained
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
description: >-
|
|
If set to true, teams which are part of a data retention policy will be excluded.
|
|
The `sysconsole_read_compliance` permission is required to use this parameter.
|
|
|
|
__Minimum server version__: 5.35
|
|
responses:
|
|
"200":
|
|
description: Team list retrieval successful
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/Team"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"/v1/team/teams/{team_id}":
|
|
get:
|
|
tags:
|
|
- teams
|
|
summary: Get a team
|
|
description: |
|
|
Get a team on the system.
|
|
##### Permissions
|
|
Must be authenticated and have the `view_team` permission.
|
|
operationId: GetTeam
|
|
parameters:
|
|
- name: team_id
|
|
in: path
|
|
description: Team GUID
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Team retrieval successful
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Team"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/components/responses/Forbidden"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
put:
|
|
tags:
|
|
- teams
|
|
summary: Update a team
|
|
description: >
|
|
Update a team by providing the team object. The fields that can be
|
|
updated are defined in the request body, all other provided fields will
|
|
be ignored.
|
|
|
|
##### Permissions
|
|
|
|
Must have the `manage_team` permission.
|
|
operationId: UpdateTeam
|
|
parameters:
|
|
- name: team_id
|
|
in: path
|
|
description: Team GUID
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required:
|
|
- id
|
|
- display_name
|
|
- description
|
|
- company_name
|
|
- allowed_domains
|
|
- invite_id
|
|
- allow_open_invite
|
|
properties:
|
|
id:
|
|
type: string
|
|
display_name:
|
|
type: string
|
|
description:
|
|
type: string
|
|
company_name:
|
|
type: string
|
|
allowed_domains:
|
|
type: string
|
|
invite_id:
|
|
type: string
|
|
allow_open_invite:
|
|
type: string
|
|
description: Team to update
|
|
required: true
|
|
responses:
|
|
"200":
|
|
description: Team update successful
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Team"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/components/responses/Forbidden"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
delete:
|
|
tags:
|
|
- teams
|
|
summary: Delete a team
|
|
description: >
|
|
Soft deletes a team, by marking the team as deleted in the database.
|
|
Soft deleted teams will not be accessible in the user interface.
|
|
|
|
|
|
Optionally use the permanent query parameter to hard delete the team for compliance reasons. As of server version 5.0, to use this feature `ServiceSettings.EnableAPITeamDeletion` must be set to `true` in the server's configuration.
|
|
|
|
##### Permissions
|
|
|
|
Must have the `manage_team` permission.
|
|
operationId: SoftDeleteTeam
|
|
parameters:
|
|
- name: team_id
|
|
in: path
|
|
description: Team GUID
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: permanent
|
|
in: query
|
|
description: Permanently delete the team, to be used for compliance reasons only.
|
|
As of server version 5.0, `ServiceSettings.EnableAPITeamDeletion`
|
|
must be set to `true` in the server's configuration.
|
|
required: false
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
responses:
|
|
"200":
|
|
description: Team deletion successful
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/StatusOK"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/components/responses/Forbidden"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
"/v1/team/teams/{team_id}/patch":
|
|
put:
|
|
tags:
|
|
- teams
|
|
summary: Patch a team
|
|
description: >
|
|
Partially update a team by providing only the fields you want to update.
|
|
Omitted fields will not be updated. The fields that can be updated are
|
|
defined in the request body, all other provided fields will be ignored.
|
|
|
|
##### Permissions
|
|
|
|
Must have the `manage_team` permission.
|
|
operationId: PatchTeam
|
|
parameters:
|
|
- name: team_id
|
|
in: path
|
|
description: Team GUID
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
display_name:
|
|
type: string
|
|
description:
|
|
type: string
|
|
company_name:
|
|
type: string
|
|
invite_id:
|
|
type: string
|
|
allow_open_invite:
|
|
type: boolean
|
|
description: Team object that is to be updated
|
|
required: true
|
|
responses:
|
|
"200":
|
|
description: team patch successful
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Team"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/components/responses/Forbidden"
|
|
"/v1/team/teams/{team_id}/privacy":
|
|
put:
|
|
tags:
|
|
- teams
|
|
summary: Update teams's privacy
|
|
description: >
|
|
Updates team's privacy allowing changing a team from Public (open) to
|
|
Private (invitation only) and back.
|
|
|
|
|
|
__Minimum server version__: 5.24
|
|
|
|
|
|
##### Permissions
|
|
|
|
`manage_team` permission for the team of the team.
|
|
operationId: UpdateTeamPrivacy
|
|
parameters:
|
|
- name: team_id
|
|
in: path
|
|
description: Team GUID
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required:
|
|
- privacy
|
|
properties:
|
|
privacy:
|
|
type: string
|
|
description: "Team privacy setting: 'O' for a public (open) team, 'I' for
|
|
a private (invitation only) team"
|
|
required: true
|
|
responses:
|
|
"200":
|
|
description: Team conversion successful
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Team"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/components/responses/Forbidden"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
"/v1/team/teams/{team_id}/restore":
|
|
post:
|
|
tags:
|
|
- teams
|
|
summary: Restore a team
|
|
description: |
|
|
Restore a team that was previously soft deleted.
|
|
|
|
__Minimum server version__: 5.24
|
|
|
|
##### Permissions
|
|
Must have the `manage_team` permission.
|
|
operationId: RestoreTeam
|
|
parameters:
|
|
- name: team_id
|
|
in: path
|
|
description: Team GUID
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Team restore successful
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Team"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/components/responses/Forbidden"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
"/v1/team/teams/name/{team_name}":
|
|
get:
|
|
tags:
|
|
- teams
|
|
summary: Get a team by name
|
|
description: >
|
|
Get a team based on provided name string
|
|
|
|
##### Permissions
|
|
|
|
Must be authenticated, team type is open and have the `view_team` permission.
|
|
operationId: GetTeamByName
|
|
parameters:
|
|
- name: team_name
|
|
in: path
|
|
description: Team Name
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Team retrieval successful
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Team"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/components/responses/Forbidden"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
/v1/team/teams/search:
|
|
post:
|
|
tags:
|
|
- teams
|
|
summary: Search teams
|
|
description: |
|
|
Search teams based on search term and options provided in the request body.
|
|
|
|
##### Permissions
|
|
Logged in user only shows open teams
|
|
Logged in user with "manage_system" permission shows all teams
|
|
operationId: SearchTeams
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
term:
|
|
description: The search term to match against the name or display name of
|
|
teams
|
|
type: string
|
|
page:
|
|
type: string
|
|
description: The page number to return, if paginated. If this parameter
|
|
is not present with the `per_page` parameter then the
|
|
results will be returned un-paged.
|
|
per_page:
|
|
type: string
|
|
description: The number of entries to return per page, if paginated. If
|
|
this parameter is not present with the `page` parameter then
|
|
the results will be returned un-paged.
|
|
allow_open_invite:
|
|
type: boolean
|
|
description: >
|
|
Filters results to teams where `allow_open_invite` is set to true or false,
|
|
excludes group constrained channels if this filter option is passed.
|
|
|
|
If this filter option is not passed then the query will remain unchanged.
|
|
|
|
__Minimum server version__: 5.28
|
|
group_constrained:
|
|
type: boolean
|
|
description: >
|
|
Filters results to teams where `group_constrained` is set to true or false, returns the union of results when used with `allow_open_invite`
|
|
|
|
If the filter option is not passed then the query will remain unchanged.
|
|
|
|
__Minimum server version__: 5.28
|
|
exclude_policy_constrained:
|
|
type: boolean
|
|
default: false
|
|
description: >
|
|
If set to true, only teams which do not have a granular retention policy assigned to
|
|
them will be returned. The `sysconsole_read_compliance_data_retention` permission is
|
|
required to use this parameter.
|
|
|
|
__Minimum server version__: 5.35
|
|
description: Search criteria
|
|
required: true
|
|
responses:
|
|
"200":
|
|
description: Paginated teams response. (Note that the non-paginated
|
|
response—returned if the request body does not contain both `page`
|
|
and `per_page` fields—is a simple array of teams.)
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
teams:
|
|
type: array
|
|
description: The teams that matched the query.
|
|
items:
|
|
$ref: "#/components/schemas/Team"
|
|
total_count:
|
|
type: number
|
|
description: The total number of results, regardless of page and
|
|
per_page requested.
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/components/responses/Forbidden"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
"/v1/team/teams/name/{team_name}/exists":
|
|
get:
|
|
tags:
|
|
- teams
|
|
summary: Check if team exists
|
|
description: |
|
|
Check if the team exists based on a team name.
|
|
##### Permissions
|
|
Must be authenticated.
|
|
operationId: TeamExists
|
|
parameters:
|
|
- name: team_name
|
|
in: path
|
|
description: Team Name
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Team retrieval successful
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/TeamExists"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
"/v1/team/users/{user_id}/teams":
|
|
get:
|
|
tags:
|
|
- teams
|
|
summary: Get a user's teams
|
|
description: >
|
|
Get a list of teams that a user is on.
|
|
|
|
##### Permissions
|
|
|
|
Must be authenticated as the user or have the `manage_system` permission.
|
|
operationId: GetTeamsForUser
|
|
parameters:
|
|
- name: user_id
|
|
in: path
|
|
description: User GUID
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Team list retrieval successful
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/Team"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/components/responses/Forbidden"
|
|
"/v1/team/teams/{team_id}/members":
|
|
get:
|
|
tags:
|
|
- teams
|
|
summary: Get team members
|
|
description: >
|
|
Get a page team members list based on query string parameters - team id,
|
|
page and per page.
|
|
|
|
##### Permissions
|
|
|
|
Must be authenticated and have the `view_team` permission.
|
|
operationId: GetTeamMembers
|
|
parameters:
|
|
- name: team_id
|
|
in: path
|
|
description: Team GUID
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: page
|
|
in: query
|
|
description: The page to select.
|
|
schema:
|
|
type: integer
|
|
default: 0
|
|
- name: per_page
|
|
in: query
|
|
description: The number of users per page.
|
|
schema:
|
|
type: integer
|
|
default: 60
|
|
- name: sort
|
|
in: query
|
|
description: To sort by Username, set to 'Username', otherwise sort is by 'UserID'
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
- name: exclude_deleted_users
|
|
in: query
|
|
description: Excludes deleted users from the results
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
responses:
|
|
"200":
|
|
description: Team members retrieval successful
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/TeamMember"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/components/responses/Forbidden"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
post:
|
|
tags:
|
|
- teams
|
|
summary: Add user to team
|
|
description: >
|
|
Add user to the team by user_id.
|
|
|
|
##### Permissions
|
|
|
|
Must be authenticated and team be open to add self. For adding another user, authenticated user must have the `add_user_to_team` permission.
|
|
operationId: AddTeamMember
|
|
parameters:
|
|
- name: team_id
|
|
in: path
|
|
description: Team GUID
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
team_id:
|
|
type: string
|
|
user_id:
|
|
type: string
|
|
required: true
|
|
responses:
|
|
"201":
|
|
description: Team member creation successful
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/TeamMember"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/components/responses/Forbidden"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
/v1/team/teams/members/invite:
|
|
post:
|
|
tags:
|
|
- teams
|
|
summary: Add user to team from invite
|
|
description: >
|
|
Using either an invite id or hash/data pair from an email invite link,
|
|
add a user to a team.
|
|
|
|
##### Permissions
|
|
|
|
Must be authenticated.
|
|
operationId: AddTeamMemberFromInvite
|
|
parameters:
|
|
- name: token
|
|
in: query
|
|
description: Token id from the invitation
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"201":
|
|
description: Team member creation successful
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/TeamMember"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/components/responses/Forbidden"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
"/v1/team/teams/{team_id}/members/batch":
|
|
post:
|
|
tags:
|
|
- teams
|
|
summary: Add multiple users to team
|
|
description: >
|
|
Add a number of users to the team by user_id.
|
|
|
|
##### Permissions
|
|
|
|
Must be authenticated. Authenticated user must have the `add_user_to_team` permission.
|
|
operationId: AddTeamMembers
|
|
parameters:
|
|
- name: team_id
|
|
in: path
|
|
description: Team GUID
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: graceful
|
|
in: query
|
|
description: 'Instead of aborting the operation if a user cannot be added, return
|
|
an arrray that will contain both the success and added members and
|
|
the ones with error, in form of `[{"member": {...}, "user_id",
|
|
"...", "error": {...}}]`'
|
|
required: false
|
|
schema:
|
|
type: boolean
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/TeamMember"
|
|
required: true
|
|
responses:
|
|
"201":
|
|
description: Team members created successfully.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/TeamMember"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/components/responses/Forbidden"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
"/v1/team/users/{user_id}/teams/members":
|
|
get:
|
|
tags:
|
|
- teams
|
|
summary: Get team members for a user
|
|
description: >
|
|
Get a list of team members for a user. Useful for getting the ids of
|
|
teams the user is on and the roles they have in those teams.
|
|
|
|
##### Permissions
|
|
|
|
Must be logged in as the user or have the `edit_other_users` permission.
|
|
operationId: GetTeamMembersForUser
|
|
parameters:
|
|
- name: user_id
|
|
in: path
|
|
description: User GUID
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Team members retrieval successful
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/TeamMember"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/components/responses/Forbidden"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
"/v1/team/teams/{team_id}/members/{user_id}":
|
|
get:
|
|
tags:
|
|
- teams
|
|
summary: Get a team member
|
|
description: |
|
|
Get a team member on the system.
|
|
##### Permissions
|
|
Must be authenticated and have the `view_team` permission.
|
|
operationId: GetTeamMember
|
|
parameters:
|
|
- name: team_id
|
|
in: path
|
|
description: Team GUID
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: user_id
|
|
in: path
|
|
description: User GUID
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Team member retrieval successful
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/TeamMember"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/components/responses/Forbidden"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
delete:
|
|
tags:
|
|
- teams
|
|
summary: Remove user from team
|
|
description: >
|
|
Delete the team member object for a user, effectively removing them from
|
|
a team.
|
|
|
|
##### Permissions
|
|
|
|
Must be logged in as the user or have the `remove_user_from_team` permission.
|
|
operationId: RemoveTeamMember
|
|
parameters:
|
|
- name: team_id
|
|
in: path
|
|
description: Team GUID
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: user_id
|
|
in: path
|
|
description: User GUID
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Team member deletion successful
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/StatusOK"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/components/responses/Forbidden"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
"/v1/team/teams/{team_id}/members/ids":
|
|
post:
|
|
tags:
|
|
- teams
|
|
summary: Get team members by ids
|
|
description: |
|
|
Get a list of team members based on a provided array of user ids.
|
|
##### Permissions
|
|
Must have `view_team` permission for the team.
|
|
operationId: GetTeamMembersByIds
|
|
parameters:
|
|
- name: team_id
|
|
in: path
|
|
description: Team GUID
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
description: List of user ids
|
|
required: true
|
|
responses:
|
|
"200":
|
|
description: Team members retrieval successful
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/TeamMember"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/components/responses/Forbidden"
|
|
"/v1/team/teams/{team_id}/stats":
|
|
get:
|
|
tags:
|
|
- teams
|
|
summary: Get a team stats
|
|
description: |
|
|
Get a team stats on the system.
|
|
##### Permissions
|
|
Must be authenticated and have the `view_team` permission.
|
|
operationId: GetTeamStats
|
|
parameters:
|
|
- name: team_id
|
|
in: path
|
|
description: Team GUID
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Team stats retrieval successful
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/TeamStats"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/components/responses/Forbidden"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
"/v1/team/teams/{team_id}/access_control/policy":
|
|
get:
|
|
tags:
|
|
- teams
|
|
summary: Get the access control policy for a team
|
|
description: |
|
|
Get the attribute-based access control policy assigned to a team, along
|
|
with whether the team currently enforces a membership policy. `policy` is
|
|
null when no policy is assigned or attribute-based access control is not
|
|
available on the server.
|
|
##### Permissions
|
|
Must have the `manage_system` permission or the `manage_team_access_rules`
|
|
permission for the team.
|
|
operationId: GetTeamAccessControlPolicy
|
|
parameters:
|
|
- name: team_id
|
|
in: path
|
|
description: Team GUID
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Team access control policy retrieval successful
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
policy:
|
|
nullable: true
|
|
allOf:
|
|
- $ref: "#/components/schemas/AccessControlPolicy"
|
|
enforced:
|
|
type: boolean
|
|
description: Whether the team currently enforces a membership access control policy.
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/components/responses/Forbidden"
|
|
"500":
|
|
$ref: "#/components/responses/InternalServerError"
|
|
"/v1/team/teams/{team_id}/access_control/attributes":
|
|
get:
|
|
tags:
|
|
- teams
|
|
summary: Get the access control attributes governing a team
|
|
description: |
|
|
Get the attributes used by the team's membership access control policy,
|
|
as a map of attribute name to the values that satisfy the rule. This lets
|
|
membership surfaces explain the requirement to join the team. Values that
|
|
are source-only or shared-only are stripped, so no sensitive value is
|
|
disclosed. The map is empty when no membership policy governs the team.
|
|
##### Permissions
|
|
Must have the `view_team` permission for the team.
|
|
operationId: GetTeamAccessControlAttributes
|
|
parameters:
|
|
- name: team_id
|
|
in: path
|
|
description: Team GUID
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Team access control attributes retrieval successful
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
additionalProperties:
|
|
type: array
|
|
items:
|
|
type: string
|
|
description: Map of attribute name to the values that satisfy the membership rule.
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/components/responses/Forbidden"
|
|
"500":
|
|
$ref: "#/components/responses/InternalServerError"
|
|
"/v1/team/teams/{team_id}/regenerate_invite_id":
|
|
post:
|
|
tags:
|
|
- teams
|
|
summary: Regenerate the Invite ID from a Team
|
|
description: |
|
|
Regenerates the invite ID used in invite links of a team
|
|
##### Permissions
|
|
Must be authenticated and have the `manage_team` permission.
|
|
operationId: RegenerateTeamInviteId
|
|
parameters:
|
|
- name: team_id
|
|
in: path
|
|
description: Team GUID
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Team Invite ID regenerated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Team"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/components/responses/Forbidden"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
"/v1/team/teams/{team_id}/image":
|
|
get:
|
|
tags:
|
|
- teams
|
|
summary: Get the team icon
|
|
description: >
|
|
Get the team icon of the team.
|
|
|
|
|
|
__Minimum server version__: 4.9
|
|
|
|
|
|
##### Permissions
|
|
|
|
User must be authenticated. In addition, team must be open or the user must have the `view_team` permission.
|
|
operationId: GetTeamIcon
|
|
parameters:
|
|
- name: team_id
|
|
in: path
|
|
description: Team GUID
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Team icon retrieval successful
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/components/responses/Forbidden"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
"501":
|
|
$ref: "#/components/responses/NotImplemented"
|
|
post:
|
|
tags:
|
|
- teams
|
|
summary: Sets the team icon
|
|
description: |
|
|
Sets the team icon for the team.
|
|
|
|
__Minimum server version__: 4.9
|
|
|
|
##### Permissions
|
|
Must be authenticated and have the `manage_team` permission.
|
|
operationId: SetTeamIcon
|
|
parameters:
|
|
- name: team_id
|
|
in: path
|
|
description: Team GUID
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
content:
|
|
multipart/form-data:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
image:
|
|
description: The image to be uploaded
|
|
type: string
|
|
format: binary
|
|
required:
|
|
- image
|
|
responses:
|
|
"200":
|
|
description: Team icon successfully set
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/StatusOK"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/components/responses/Forbidden"
|
|
"500":
|
|
$ref: "#/components/responses/InternalServerError"
|
|
"501":
|
|
$ref: "#/components/responses/NotImplemented"
|
|
delete:
|
|
tags:
|
|
- teams
|
|
summary: Remove the team icon
|
|
description: |
|
|
Remove the team icon for the team.
|
|
|
|
__Minimum server version__: 4.10
|
|
|
|
##### Permissions
|
|
Must be authenticated and have the `manage_team` permission.
|
|
operationId: RemoveTeamIcon
|
|
parameters:
|
|
- name: team_id
|
|
in: path
|
|
description: Team GUID
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Team icon successfully remove
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/StatusOK"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/components/responses/Forbidden"
|
|
"500":
|
|
$ref: "#/components/responses/InternalServerError"
|
|
"501":
|
|
$ref: "#/components/responses/NotImplemented"
|
|
"/v1/team/teams/{team_id}/members/{user_id}/roles":
|
|
put:
|
|
tags:
|
|
- teams
|
|
summary: Update a team member roles
|
|
description: >
|
|
Update a team member roles. Valid team roles are "team_user",
|
|
"team_admin" or both of them. Overwrites any previously assigned team
|
|
roles.
|
|
|
|
##### Permissions
|
|
|
|
Must be authenticated and have the `manage_team_roles` permission.
|
|
operationId: UpdateTeamMemberRoles
|
|
parameters:
|
|
- name: team_id
|
|
in: path
|
|
description: Team GUID
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: user_id
|
|
in: path
|
|
description: User GUID
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required:
|
|
- roles
|
|
properties:
|
|
roles:
|
|
type: string
|
|
description: Space-delimited team roles to assign to the user
|
|
required: true
|
|
responses:
|
|
"200":
|
|
description: Team member roles update successful
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/StatusOK"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/components/responses/Forbidden"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
"/v1/team/teams/{team_id}/members/{user_id}/schemeRoles":
|
|
put:
|
|
tags:
|
|
- teams
|
|
summary: Update the scheme-derived roles of a team member.
|
|
description: >
|
|
Update a team member's scheme_admin/scheme_user properties. Typically
|
|
this should either be `scheme_admin=false, scheme_user=true` for
|
|
ordinary team member, or `scheme_admin=true, scheme_user=true` for a
|
|
team admin.
|
|
|
|
|
|
__Minimum server version__: 5.0
|
|
|
|
|
|
##### Permissions
|
|
|
|
Must be authenticated and have the `manage_team_roles` permission.
|
|
operationId: UpdateTeamMemberSchemeRoles
|
|
parameters:
|
|
- name: team_id
|
|
in: path
|
|
description: Team GUID
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: user_id
|
|
in: path
|
|
description: User GUID
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required:
|
|
- scheme_admin
|
|
- scheme_user
|
|
properties:
|
|
scheme_admin:
|
|
type: boolean
|
|
scheme_user:
|
|
type: boolean
|
|
description: Scheme properties.
|
|
required: true
|
|
responses:
|
|
"200":
|
|
description: Team member's scheme-derived roles updated successfully.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/StatusOK"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/components/responses/Forbidden"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
"/v1/team/users/{user_id}/teams/unread":
|
|
get:
|
|
tags:
|
|
- teams
|
|
summary: Get team unreads for a user
|
|
description: >
|
|
Get the count for unread messages and mentions in the teams the user is
|
|
a member of.
|
|
|
|
##### Permissions
|
|
|
|
Must be logged in.
|
|
operationId: GetTeamsUnreadForUser
|
|
parameters:
|
|
- name: user_id
|
|
in: path
|
|
description: User GUID
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: exclude_team
|
|
in: query
|
|
description: Optional team id to be excluded from the results
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: include_collapsed_threads
|
|
in: query
|
|
description: Boolean to determine whether the collapsed threads should be included or not
|
|
required: false
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
responses:
|
|
"200":
|
|
description: Team unreads retrieval successful
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/TeamUnread"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/components/responses/Forbidden"
|
|
"/v1/team/users/{user_id}/teams/{team_id}/unread":
|
|
get:
|
|
tags:
|
|
- teams
|
|
summary: Get unreads for a team
|
|
description: >
|
|
Get the unread mention and message counts for a team for the specified
|
|
user.
|
|
|
|
##### Permissions
|
|
|
|
Must be the user or have `edit_other_users` permission and have `view_team` permission for the team.
|
|
operationId: GetTeamUnread
|
|
parameters:
|
|
- name: user_id
|
|
in: path
|
|
description: User GUID
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: team_id
|
|
in: path
|
|
description: Team GUID
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Team unread count retrieval successful
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/TeamUnread"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/components/responses/Forbidden"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
"/v1/team/teams/{team_id}/invite/email":
|
|
post:
|
|
tags:
|
|
- teams
|
|
summary: Invite users to the team by email
|
|
description: |
|
|
Invite users to the existing team using the user's email.
|
|
|
|
The number of emails that can be sent is rate limited to 20 per hour with a burst of 20 emails. If the rate limit exceeds, the error message contains details on when to retry and when the timer will be reset.
|
|
##### Permissions
|
|
Must have `invite_user` and `add_user_to_team` permissions for the team.
|
|
operationId: InviteUsersToTeam
|
|
parameters:
|
|
- name: team_id
|
|
in: path
|
|
description: Team GUID
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: graceful
|
|
in: query
|
|
description: When provided with a non-empty value, returns an array with both successful invites and errors instead of aborting on the first error. Required when using `profiles`.
|
|
required: false
|
|
schema:
|
|
type: boolean
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
oneOf:
|
|
- type: array
|
|
items:
|
|
type: string
|
|
- type: object
|
|
required:
|
|
- emails
|
|
properties:
|
|
emails:
|
|
type: array
|
|
items:
|
|
type: string
|
|
description: List of user's email
|
|
channelIds:
|
|
type: array
|
|
items:
|
|
type: string
|
|
description: List of channel IDs to invite the users to
|
|
message:
|
|
type: string
|
|
description: Custom message included in the invitation email
|
|
profiles:
|
|
type: array
|
|
description: |
|
|
Profile fields to pre-set on the accounts created from these invitations. Each entry must reference an email present in `emails`. Requires a non-empty `graceful` query parameter, an Enterprise license, and locked profile fields to be enabled.
|
|
|
|
__Minimum server version__: 11.11
|
|
items:
|
|
type: object
|
|
required:
|
|
- email
|
|
- username
|
|
properties:
|
|
email:
|
|
type: string
|
|
username:
|
|
type: string
|
|
first_name:
|
|
type: string
|
|
last_name:
|
|
type: string
|
|
description: List of user's email, or an object with emails and invitation options
|
|
required: true
|
|
responses:
|
|
"200":
|
|
description: Users invite successful
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/StatusOK"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/components/responses/Forbidden"
|
|
"413":
|
|
$ref: "#/components/responses/TooLarge"
|
|
"/v1/team/teams/{team_id}/invite-guests/email":
|
|
post:
|
|
tags:
|
|
- teams
|
|
summary: Invite guests to the team by email
|
|
description: |
|
|
Invite guests to existing team channels usign the user's email.
|
|
|
|
The number of emails that can be sent is rate limited to 20 per hour with a burst of 20 emails. If the rate limit exceeds, the error message contains details on when to retry and when the timer will be reset.
|
|
|
|
__Minimum server version__: 5.16
|
|
|
|
##### Permissions
|
|
Must have `invite_guest` permission for the team.
|
|
operationId: InviteGuestsToTeam
|
|
parameters:
|
|
- name: team_id
|
|
in: path
|
|
description: Team GUID
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: graceful
|
|
in: query
|
|
description: If true, returns an array with both successful invites and errors instead of aborting on first error.
|
|
required: false
|
|
schema:
|
|
type: boolean
|
|
- name: guest_magic_link
|
|
in: query
|
|
description: If true, invites guests with magic link (passwordless) authentication. Requires guest magic link feature to be enabled.
|
|
required: false
|
|
schema:
|
|
type: boolean
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required:
|
|
- emails
|
|
- channels
|
|
properties:
|
|
emails:
|
|
type: array
|
|
items:
|
|
type: string
|
|
description: List of emails
|
|
channels:
|
|
type: array
|
|
items:
|
|
type: string
|
|
description: List of channel ids
|
|
message:
|
|
type: string
|
|
description: Message to include in the invite
|
|
description: Guests invite information
|
|
required: true
|
|
responses:
|
|
"200":
|
|
description: Guests invite successful
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/StatusOK"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/components/responses/Forbidden"
|
|
"413":
|
|
$ref: "#/components/responses/TooLarge"
|
|
/v1/team/teams/invites/email:
|
|
delete:
|
|
tags:
|
|
- teams
|
|
summary: Invalidate active email invitations
|
|
description: >
|
|
Invalidate active email invitations that have not been accepted by the
|
|
user.
|
|
|
|
##### Permissions
|
|
|
|
Must have `sysconsole_write_authentication` permission.
|
|
operationId: InvalidateEmailInvites
|
|
responses:
|
|
"200":
|
|
description: Email invites successfully revoked
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/StatusOK"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/components/responses/Forbidden"
|
|
"/v1/team/teams/{team_id}/import":
|
|
post:
|
|
tags:
|
|
- teams
|
|
summary: Import a Team from other application
|
|
description: >
|
|
Import a team into a existing team. Import users, channels, posts,
|
|
hooks.
|
|
|
|
##### Permissions
|
|
|
|
Must have `permission_import_team` permission.
|
|
operationId: ImportTeam
|
|
parameters:
|
|
- name: team_id
|
|
in: path
|
|
description: Team GUID
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
content:
|
|
multipart/form-data:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
file:
|
|
description: A file to be uploaded in zip format.
|
|
type: string
|
|
format: binary
|
|
filesize:
|
|
description: The size of the zip file to be imported.
|
|
type: integer
|
|
importFrom:
|
|
description: String that defines from which application the team was
|
|
exported to be imported into Mattermost.
|
|
type: string
|
|
required:
|
|
- file
|
|
- filesize
|
|
- importFrom
|
|
responses:
|
|
"200":
|
|
description: JSON object containing a base64 encoded text file of the import logs
|
|
in its `results` property.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
results:
|
|
type: string
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"403":
|
|
$ref: "#/components/responses/Forbidden"
|
|
"/v1/team/teams/invite/{invite_id}":
|
|
get:
|
|
tags:
|
|
- teams
|
|
summary: Get invite info for a team
|
|
description: >
|
|
Get the `name`, `display_name`, `description` and `id` for a team from
|
|
the invite id.
|
|
|
|
|
|
__Minimum server version__: 4.0
|
|
|
|
|
|
##### Permissions
|
|
|
|
No authentication required.
|
|
operationId: GetTeamInviteInfo
|
|
parameters:
|
|
- name: invite_id
|
|
in: path
|
|
description: Invite id for a team
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Team invite info retrieval successful
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
name:
|
|
type: string
|
|
display_name:
|
|
type: string
|
|
description:
|
|
type: string
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"/v1/team/teams/{team_id}/scheme":
|
|
put:
|
|
tags:
|
|
- teams
|
|
summary: Set a team's scheme
|
|
description: >
|
|
Set a team's scheme, more specifically sets the scheme_id value of a
|
|
team record.
|
|
|
|
|
|
##### Permissions
|
|
|
|
Must have `manage_system` permission.
|
|
|
|
|
|
__Minimum server version__: 5.0
|
|
operationId: UpdateTeamScheme
|
|
parameters:
|
|
- name: team_id
|
|
in: path
|
|
description: Team GUID
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required:
|
|
- scheme_id
|
|
properties:
|
|
scheme_id:
|
|
type: string
|
|
description: The ID of the scheme.
|
|
description: Scheme GUID
|
|
required: true
|
|
responses:
|
|
"200":
|
|
description: Update team scheme successful
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/StatusOK"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/components/responses/Forbidden"
|
|
"501":
|
|
$ref: "#/components/responses/NotImplemented"
|
|
"/v1/team/teams/{team_id}/members_minus_group_members":
|
|
get:
|
|
tags:
|
|
- teams
|
|
summary: Team members minus group members.
|
|
description: >
|
|
Get the set of users who are members of the team minus the set of users
|
|
who are members of the given groups.
|
|
|
|
Each user object contains an array of group objects representing the group memberships for that user.
|
|
|
|
Each user object contains the boolean fields `scheme_guest`, `scheme_user`, and `scheme_admin` representing the roles that user has for the given team.
|
|
|
|
|
|
##### Permissions
|
|
|
|
Must have `manage_system` permission.
|
|
|
|
|
|
__Minimum server version__: 5.14
|
|
operationId: TeamMembersMinusGroupMembers
|
|
parameters:
|
|
- name: team_id
|
|
in: path
|
|
description: Team GUID
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: group_ids
|
|
in: query
|
|
description: A comma-separated list of group ids.
|
|
required: true
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
- name: page
|
|
in: query
|
|
description: The page to select.
|
|
schema:
|
|
type: integer
|
|
default: 0
|
|
- name: per_page
|
|
in: query
|
|
description: The number of users per page.
|
|
schema:
|
|
type: integer
|
|
default: 0
|
|
responses:
|
|
"200":
|
|
description: Successfully returns users specified by the pagination, and the
|
|
total_count.
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/components/responses/Forbidden"
|