---
title: "Set Channel Type"
slug: "set-channel-type"
updated: 2026-09-03T14:50:33Z
published: 2026-09-03T14:50:33Z
canonical: "developer.rocket.chat/set-channel-type"
stale: true
---
> ## Documentation Index
> Fetch the complete documentation index at: https://developer.rocket.chat/llms.txt
> Use this file to discover all available pages before exploring further.
# Set Channel Type
Post/api/v1/channels.setType
Set the channel type. The channel type can be either `c` (public) or `p` (private). The following permissions are required:
- `create-c`: To change a private group to a public channel.
- `create-p`: To change a public channel to a private room.
For ABAC-managed private rooms, changing the type from `p` to `c` is rejected with `error-action-not-allowed`. When the type changes to `c` (public) and the room has ABAC attributes, all ABAC attributes on the room are cleared as part of the conversion.
### Changelog
| Version | Description |
| --- | --- |
| 8.5.0 | Added ABAC behavior for `p` -> `c`: ABAC-managed private rooms are rejected, and successful conversions to public clear room ABAC attributes. |
| 0.49.0 | Added |
Header parametersX-Auth-TokenstringRequired
The `authToken` of the authenticated user.
ExampleRScctEHSmLGZGywfIhWyRpyofhKOiMoUIpimhvheU3f
X-User-IdstringRequired
The `userId` of the authenticated user.
ExamplerbAXPnMktTFbNpwtJ
Body parametersExample
```json
{
"roomId": "WDuJLFkjwk6L7LdFC",
"type": "p"
}
```
object roomIdstring Required
The channel's ID. Alternatively, enter the `channelName` parameter and provide the channel's name as the value.
typestring Required
The channel's type. The type of room this channel should be, either c or p.
`c` is for channel and `p` is for private.
Responses200
OK
Success
```json
{
"channel": {
"_id": "ByehQjC44FwMeiLbX",
"name": "testing0",
"t": "p",
"msgs": 0,
"u": {
"_id": "aiPqNoGkjpNDiRx6d",
"username": "goose160"
},
"ts": "2017-01-05T18:02:50.754Z",
"ro": false,
"sysMes": true,
"_updatedAt": "2017-01-05T19:02:24.429Z",
"usernames": [
"goose160",
"graywolf336"
],
"joinCodeRequired": true,
"muted": []
},
"success": true
}
```
Expand Allobject channelobject _idstring
namestring
tstring
msgsinteger
uobject _idstring
usernamestring
tsstring
roboolean
sysMesboolean
_updatedAtstring
usernames Array of string string
joinCodeRequiredboolean
muted Array of object object
successboolean
400
Bad Request
ABAC-managed room conversion blocked
```json
{
"success": false,
"error": "Changing an ABAC managed private room to public is not allowed [error-action-not-allowed]",
"errorType": "error-action-not-allowed",
"details": {
"method": "saveRoomSettings",
"action": "Change_Room_Type"
}
}
```
Expand Allobject successboolean
errorstring
errorTypestring
detailsobject methodstring
actionstring
401
Unauthorized
Authorization Error
```json
{
"status": "error",
"message": "You must be logged in to do this."
}
```
object statusstring
messagestring