messenger_room_apply
# messenger_room_apply
Change one room setting in the Messenger app (pApp D00003), as the room detail settings show. Requires roomUuid and roomType from messenger_rooms_get, room view, one setting group: metadata (basic group title up to 50, description up to 100), policy (input disable for a basic group; image, video and file upload and download for members), archive, privacy (basic group) or notification. Closing (deleting) a room is not done here: the console deletes an archived room and its chats cannot be recovered [str_6768]; the result points to the console. Other settings are preserved. A lost receipt stays pending and is never resent; task_resume only observes, and prepared work needs the identical apply. Called without confirmToken it previews and returns a confirmToken; repeating the same input with it executes once.
## Inputs
| Field | Required here | Contract |
| --- | --- | --- |
| `settings` | Yes | one of: `metadata`, `policy`, `archive`, `privacy`, `notification`, `close` (by `action`) |
| `settings.values` | Yes | When `settings.action` is `metadata`: object |
| `settings.values.title` | No | When `settings.action` is `metadata`: string; min length 1; max length 50 |
| `settings.values.description` | No | When `settings.action` is `metadata`: string; max length 100 |
| `settings.values` | Yes | When `settings.action` is `policy`: object |
| `settings.values.isMessageInputDisabled` | No | When `settings.action` is `policy`: boolean |
| `settings.values.uploadConfigs` | No | When `settings.action` is `policy`: object |
| `settings.values.uploadConfigs.imageForUser` | No | When `settings.action` is `policy`: boolean |
| `settings.values.uploadConfigs.videoForUser` | No | When `settings.action` is `policy`: boolean |
| `settings.values.uploadConfigs.fileForUser` | No | When `settings.action` is `policy`: boolean |
| `settings.values.uploadConfigs.recordForUser` | No | When `settings.action` is `policy`: boolean |
| `settings.values.downloadConfigs` | No | When `settings.action` is `policy`: object |
| `settings.values.downloadConfigs.imageForUser` | No | When `settings.action` is `policy`: boolean |
| `settings.values.downloadConfigs.videoForUser` | No | When `settings.action` is `policy`: boolean |
| `settings.values.downloadConfigs.fileForUser` | No | When `settings.action` is `policy`: boolean |
| `settings.values.downloadConfigs.recordForUser` | No | When `settings.action` is `policy`: boolean |
| `settings.isArchived` | Yes | When `settings.action` is `archive`: boolean |
| `settings.isPrivate` | Yes | When `settings.action` is `privacy`: boolean |
| `settings.enabled` | Yes | When `settings.action` is `notification`: boolean |
| `settings.confirmation` | Yes | When `settings.action` is `close`: `CLOSE_GROUP_ROOM` |
| `roomUuid` | Yes | string; pattern `^[A-Za-z0-9_-]{1,200}$` |
| `roomType` | Yes | `DIRECT`, `GROUP` |
| `confirmToken` | No | string; pattern `^ct[a-f\d]{32}$`; The confirmToken from this tool's preview result. Omit it to preview; repeat the same input with it to execute. |