mattermost/api/v4/source/sharedchannels.yaml

313 lines
9.6 KiB
YAML

"/api/v4/sharedchannels/{team_id}":
get:
tags:
- shared channels
summary: Get all shared channels for team.
description: |
Get all shared channels for a team.
__Minimum server version__: 5.50
##### Permissions
Must be authenticated.
operationId: GetAllSharedChannels
parameters:
- name: team_id
in: path
description: Team Id
required: true
schema:
type: string
- name: page
description: The page to select.
in: query
schema:
type: integer
default: 0
- name: per_page
description: The number of sharedchannels per page.
in: query
schema:
type: integer
default: 0
responses:
"200":
description: Shared channels fetch successful. Result may be empty.
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/SharedChannel"
"400":
$ref: "#/components/responses/BadRequest"
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/remotecluster/{remote_id}/sharedchannelremotes":
get:
tags:
- shared channels
summary: Get shared channel remotes by remote cluster.
description: |
Get a list of the channels shared with a given remote cluster
and their status.
##### Permissions
`manage_secure_connections`
operationId: GetSharedChannelRemotesByRemoteCluster
parameters:
- name: remote_id
in: path
description: The remote cluster GUID
required: true
schema:
type: string
- name: include_unconfirmed
in: query
description: Include those Shared channel remotes that are unconfirmed
schema:
type: boolean
- name: exclude_confirmed
in: query
description: Show only those Shared channel remotes that are not confirmed yet
schema:
type: boolean
- name: exclude_home
in: query
description: Show only those Shared channel remotes that were shared with this server
schema:
type: boolean
- name: exclude_remote
in: query
description: Show only those Shared channel remotes that were shared from this server
schema:
type: boolean
- name: include_deleted
in: query
description: Include those Shared channel remotes that have been deleted
schema:
type: boolean
- name: page
in: query
description: The page to select
schema:
type: integer
- name: per_page
in: query
description: The number of shared channels per page
schema:
type: integer
responses:
"200":
description: Shared channel remotes fetch successful. Result might be empty.
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/SharedChannelRemote"
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/sharedchannels/remote_info/{remote_id}":
get:
tags:
- shared channels
summary: Get remote cluster info by ID for user.
description: |
Get remote cluster info based on remoteId.
__Minimum server version__: 5.50
##### Permissions
Must be authenticated and user must belong to at least one channel shared with the remote cluster.
operationId: GetRemoteClusterInfo
parameters:
- name: remote_id
in: path
description: Remote Cluster GUID
required: true
schema:
type: string
responses:
"200":
description: Remote cluster info retrieval successful
content:
application/json:
schema:
$ref: "#/components/schemas/RemoteClusterInfo"
"400":
$ref: "#/components/responses/BadRequest"
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/remotecluster/{remote_id}/channels/{channel_id}/invite":
post:
tags:
- shared channels
summary: Invites a remote cluster to a channel.
description: |
Invites a remote cluster to a channel, sharing the channel if
needed. If the remote cluster was already invited to the
channel, calling this endpoint will have no effect.
##### Permissions
`manage_shared_channels`
operationId: InviteRemoteClusterToChannel
parameters:
- name: remote_id
in: path
description: The remote cluster GUID
required: true
schema:
type: string
- name: channel_id
in: path
description: The channel GUID to invite the remote cluster to
required: true
schema:
type: string
responses:
"200":
description: Remote cluster invited successfully
content:
application/json:
schema:
$ref: "#/components/schemas/StatusOK"
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/remotecluster/{remote_id}/channels/{channel_id}/uninvite":
post:
tags:
- shared channels
summary: Uninvites a remote cluster to a channel.
description: |
Stops sharing a channel with a remote cluster. If the channel
was not shared with the remote, calling this endpoint will
have no effect.
##### Permissions
`manage_shared_channels`
operationId: UninviteRemoteClusterToChannel
parameters:
- name: remote_id
in: path
description: The remote cluster GUID
required: true
schema:
type: string
- name: channel_id
in: path
description: The channel GUID to uninvite the remote cluster to
required: true
schema:
type: string
responses:
"200":
description: Remote cluster uninvited successfully
content:
application/json:
schema:
$ref: "#/components/schemas/StatusOK"
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/sharedchannels/{channel_id}/remotes":
get:
tags:
- shared channels
summary: Get remote clusters for a shared channel
description: |
Gets the remote clusters information for a shared channel.
__Minimum server version__: 10.11
##### Permissions
Must be authenticated and have the `read_channel` permission for the channel.
operationId: GetSharedChannelRemotes
parameters:
- name: channel_id
in: path
description: Channel GUID
required: true
schema:
type: string
responses:
"200":
description: Remote clusters retrieval successful
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/RemoteClusterInfo"
"400":
$ref: "#/components/responses/BadRequest"
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/sharedchannels/users/{user_id}/can_dm/{other_user_id}":
get:
tags:
- shared channels
summary: Check if user can DM another user in shared channels context
description: |
Checks if a user can send direct messages to another user, considering shared channel restrictions.
This is specifically for shared channels where DMs require direct connections between clusters.
__Minimum server version__: 10.11
##### Permissions
Must be authenticated and have permission to view the user.
operationId: CanUserDirectMessage
parameters:
- name: user_id
in: path
description: User GUID
required: true
schema:
type: string
- name: other_user_id
in: path
description: Other user GUID
required: true
schema:
type: string
responses:
"200":
description: DM permission check successful
content:
application/json:
schema:
type: object
properties:
can_dm:
type: boolean
description: Whether the user can send DMs to the other user
"400":
$ref: "#/components/responses/BadRequest"
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"