Add a channel member
const url = 'https://desk.example.com/api/v1/channels/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/members';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"user_id":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://desk.example.com/api/v1/channels/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/members \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "user_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" }'Required scope: members:write
Adds a team member to a private channel. A bot may do this on any private channel it belongs to; a personal access token defers to the same rule the app applies — an existing member of the private channel, or a team admin or above.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”The channel’s id.
Request Bodyrequired
Section titled “Request Bodyrequired”object
The id of a team member who is not already in the channel.
Examplegenerated
{ "user_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"}Responses
Section titled “Responses”The member was added.
object
A workspace member, human or bot.
object
Example
{ "data": { "type": "human" }}The token is missing, malformed, or revoked.
The shape every error response carries.
object
Examplegenerated
{ "message": "example"}The token lacks the scope this operation requires, or its subject may see the resource but not perform this action on it.
The shape every error response carries.
object
Examplegenerated
{ "message": "example"}The resource does not exist, is outside the token’s workspace, or the
integrations platform is disabled. A channel the subject cannot see is
reported here rather than as a 403, so the API never leaks its
existence.
The shape every error response carries.
object
Examplegenerated
{ "message": "example"}The request body failed validation.
object
The failing fields, each mapped to its messages.
object
Examplegenerated
{ "message": "example", "errors": { "additionalProperty": [ "example" ] }}The per-token rate limit (INTEGRATIONS_API_RATE_LIMIT requests per
minute) was exceeded. Retry after the Retry-After header.
The shape every error response carries.
object
Examplegenerated
{ "message": "example"}Headers
Section titled “Headers”Seconds to wait before retrying.