> ## 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. # Add ABAC attribute key to room >
Defense
- Adds a single ABAC attribute key to a room. - Creates a new ABAC attribute on the specified room for the given key, assigning it the provided values array; fails if the room already has this key or if the key/values are not allowed by the global attribute definition. - Requires the ABAC license, the `abac-management` and `manage-abac-admin-rooms` permissions, and the global setting `ABAC_Enabled` to be turned on. ### Changelog | Version | Description | | ------- | ----------- | | 8.0.0 | Added | | 8.5.0 | Added the `manage-abac-admin-rooms` granular permission requirement. | ## OpenAPI ````json POST /api/v1/abac/rooms/:rid/attributes/:key { "openapi": "3.0.0", "info": { "version": "1.0.0", "title": "Rooms" }, "servers": [ { "url": "https://apiexplorer.support.rocket.chat" } ], "tags": [ { "name": "Channels" }, { "name": "Directory" }, { "name": "Groups" }, { "name": "Rooms" }, { "name": "Teams" }, { "name": "Room Invites" }, { "name": "Subscriptions" }, { "name": "ABAC" } ], "paths": { "/api/v1/abac/rooms/:rid/attributes/:key": { "parameters": [], "post": { "summary": "Add ABAC attribute key to room", "tags": [ "ABAC" ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "success": { "type": "boolean" } } }, "examples": { "Success": { "value": { "success": true } } } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "type": "object", "properties": { "success": { "type": "boolean" }, "error": { "type": "string" } } }, "examples": { "ABAC not enabled": { "value": { "success": false, "error": "error-abac-not-enabled" } }, "Attribute definition missing": { "value": { "success": false, "error": "error-attribute-definition-not-found" } }, "Invalid attribute values": { "value": { "success": false, "error": "error-invalid-attribute-values" } }, "Duplicate key on a room": { "value": { "success": false, "error": "error-duplicate-attribute-key" } }, "Cannot convert default room to ABAC": { "value": { "success": false, "error": "error-cannot-convert-default-room-to-abac" } }, "Room not found": { "value": { "success": false, "error": "error-room-not-found" } } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "success": { "type": "boolean" }, "error": { "type": "string" } } }, "examples": { "Unauthorized login attempt": { "value": { "success": false, "error": "error-unauthorized" } } } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "type": "object", "properties": { "success": { "type": "boolean" }, "error": { "type": "string" } } }, "examples": { "Missing required ABAC permissions": { "value": { "success": false, "error": "error-not-authorized" } } } } } } }, "operationId": "post-abac-rooms-rid-attributes-key", "description": "
\"Defense\"
\n\n- Adds a single ABAC attribute key to a room.\n- Creates a new ABAC attribute on the specified room for the given key, assigning it the provided values array; fails if the room already has this key or if the key/values are not allowed by the global attribute definition.\n- Requires the ABAC license, the `abac-management` and `manage-abac-admin-rooms` permissions, and the global setting `ABAC_Enabled` to be turned on.\n\n### Changelog\n| Version | Description |\n| ------- | ----------- |\n| 8.0.0 | Added |\n| 8.5.0 | Added the `manage-abac-admin-rooms` granular permission requirement. |", "parameters": [ { "$ref": "#/components/parameters/Auth-Token" }, { "$ref": "#/components/parameters/UserId" } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "values": { "type": "array", "items": { "type": "string" } } } }, "examples": { "Example 1": { "value": { "values": [ "asia" ] } } } } }, "description": "- Values (array of strings, required): The attribute values to assign for this key. \n- Must have at least 1 item, max 10 items, and all values must be unique." } } } }, "components": { "parameters": { "Auth-Token": { "name": "X-Auth-Token", "in": "header", "description": "The `authToken` of the authenticated user.", "required": true, "schema": { "type": "string" }, "example": "RScctEHSmLGZGywfIhWyRpyofhKOiMoUIpimhvheU3f" }, "UserId": { "name": "X-User-Id", "in": "header", "description": "The `userId` of the authenticated user.", "required": true, "schema": { "type": "string" }, "example": "rbAXPnMktTFbNpwtJ" } } } } ````