Update a community channel
Update a channel. Every field is optional and independent — omit a field to leave it unchanged; send only what you want to change. Changing mangoes, badges, excludeMangoes, excludeBadges, or visibility triggers an asynchronous refresh of the channel's member list — access changes may take a moment to fully propagate, not apply instantly. Changing features to add or remove messages creates or archives the channel's chat room accordingly (archiving, not deleting — turning messages back on later reuses the same room). See each field's own description for further per-field behavior, including known quirks worth knowing before you rely on this endpoint to clear a value back to blank, or to move an id from an include list to its matching exclude list in one call.
Fails with a 400 if name is given as an empty string, if features is given as an empty array, if this update would leave both mangoes and badges empty, if any id appears in both an include and its matching exclude list (including the case where the include list is being cleared to [] in the same request — see mangoes's own description), or if communityProfilePicture is given without communityProfilePictureType, or if the Community feature is not enabled for this creator. Fails with a 404 if the channel, group, or any mango/badge id given, does not belong to this creator.
Authorization
bearer In: header
Header Parameters
Host name of the dashboard, ex: mydomain.tagmango.com
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X PATCH "https://api-prod-new.tagmango.com/api/v1/external/community/channel-groups/channels/{channelId}" \ -H "x-whitelabel-host: string" \ -H "Content-Type: application/json" \ -d '{}'{
"creator": "61e97c146cf2b4d8c68f3a41",
"visibility": "public",
"communityProfilePicture": "https://example.com/image.jpg",
"communityProfilePictureType": "image",
"featureSettings": {
"feed": {
"allowMemberPosts": true
},
"messages": {
"allowEveryoneToMessage": true,
"allowPeerToPeerMessaging": true,
"sharingControlSettings": {
"allowFileSharing": true,
"allowPhotoSharing": true,
"allowVideoSharing": true,
"allowAudioSharing": true,
"allowPollSharing": true
}
}
},
"chatRoom": "61e97c146cf2b4d8c68f3a44",
"_id": "61e97c146cf2b4d8c68f3a40",
"name": "General",
"description": "General discussion for all members",
"features": [
"feed"
],
"archived": false,
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedAt": "2026-01-01T00:00:00.000Z",
"mangoes": [],
"badges": [],
"excludeMangoes": [
"string"
],
"excludeBadges": [
"string"
],
"groups": [
"61e97c146cf2b4d8c68f3a40"
]
}{
"code": 400,
"type": "Bad Request",
"statusMessage": "BAD_REQUEST",
"success": false,
"message": "Invalid request",
"result": "Invalid request"
}{
"code": 401,
"type": "Unauthorized",
"statusMessage": "UNAUTHORIZED",
"message": "Invalid token",
"result": "Invalid token",
"success": false
}{
"code": 403,
"type": "Forbidden",
"statusMessage": "FORBIDDEN",
"errorCode": "WORKSHOP_MANGO_FORBIDDEN",
"message": "You can not access this api with a TagMango account, only available for whitelabel hosts",
"result": "You can not access this api with a TagMango account, only available for whitelabel hosts",
"success": false
}{
"code": 429,
"type": "Too Many Requests",
"statusMessage": "TOO_MANY_REQUESTS",
"message": "Request limit exceeded. try after 10 seconds",
"result": "Request limit exceeded. try after 10 seconds",
"success": false
}