---
url: /apidocs/cbac.md
---
## Cbac API

| Endpoint | Method | Description |
|-----|-----|-----|
| [cbac:createPolicy](#create-cbac-policy) | websocket | Create cbac policy |
| [cbac:updatePolicy](#update-cbac-policy) | websocket | Update cbac policy |
| [cbac:getPolicy](#get-cbac-policy) | websocket | Get cbac policy |
| [cbac:listPolicies](#list-cbac-policies) | websocket | List cbac policies |
| [cbac:deletePolicy](#delete-cbac-policy) | websocket | Delete cbac policy |

### Create cbac policy

**Method:** websocket

**Endpoint:** cbac:createPolicy

**Description:** Creates a new CBAC policy on a target entity (room, community, or group). Multiple independent policies can coexist on the same target — each with its own badge requirement and granted permission level. Requires manage permission on the target.

Valid grantedPermission values per target type:

* room      — room.view, room.comment, room.contribute, room.edit
* community — community.join
* group     — group.join

**Request:**

**Response:**

### Update cbac policy

**Method:** websocket

**Endpoint:** cbac:updatePolicy

**Description:** Replaces an existing CBAC policy identified by policyId. Requires manage permission on the target.

**Request:**

**Response:**

### Get cbac policy

**Method:** websocket

**Endpoint:** cbac:getPolicy

**Description:** Returns a single CBAC policy identified by policyId.

**Request:**

**Response:**

### List cbac policies

**Method:** websocket

**Endpoint:** cbac:listPolicies

**Description:** Returns all CBAC policies configured for a target entity.

**Request:**

**Response:**

### Delete cbac policy

**Method:** websocket

**Endpoint:** cbac:deletePolicy

**Description:** Removes a single CBAC policy identified by policyId. Requires manage permission on the target.

**Request:**

**Response:**
