groups
Classes
GroupModel
Bases: BaseModel
Represents a user group in Open WebUI.
Groups allow for organizing users and managing permissions.
- Code Reference routers users Classes UsersClient Functions
- Code Reference models groups Classes GroupResponse
Attributes
data
Additional data associated with the group.
Dict Fields:
- config (dict, optional): Configuration settings for the group
- share (bool, optional): Whether the group is shared and visible to non-members. Defaults to True when not specified. Used in frontend UI to control group visibility and in backend filtering logic.
This field stores group-specific configuration options that affect how the group behaves
in the system. The share setting is particularly important as it determines if the group
should be visible to users who are not members of the group, and is used in both frontend
UI controls and backend filtering operations. The backend uses this field for SQL filtering
operations (e.g., Group.data["config"]["share"].as_boolean() and Group.data.op("->>")("share")).
meta
Metadata associated with the group.
Dict Fields
export_timestamp(int, optional): Timestamp when the group was exported (epoch seconds)exported_by(str, optional): User ID of who performed the exportversion(str, optional): Version identifier for the export formatsource_system(str, optional): System or platform where the group originatedcustom_data(dict, optional): Additional custom metadata specific to the group
This field is used to store arbitrary metadata about the group, particularly useful for export/import operations and tracking group provenance. The backend database schema defines this as a JSON field that can store any key-value pairs, but the specific keys documented here represent the primary usage patterns found in the codebase. Additional keys may exist in the backend implementation.
permissions
Permissions settings for the group.
Dict Fields
workspace(dict, optional): Workspace access permissionsmodels(bool, optional): Access to modelsknowledge(bool, optional): Access to knowledgeprompts(bool, optional): Access to promptstools(bool, optional): Access to toolsmodels_import(bool, optional): Permission to import modelsmodels_export(bool, optional): Permission to export modelsprompts_import(bool, optional): Permission to import promptsprompts_export(bool, optional): Permission to export promptstools_import(bool, optional): Permission to import toolstools_export(bool, optional): Permission to export tools
sharing(dict, optional): Sharing permissionsmodels(bool, optional): Permission to share modelspublic_models(bool, optional): Permission to share models publiclyknowledge(bool, optional): Permission to share knowledgepublic_knowledge(bool, optional): Permission to share knowledge publiclyprompts(bool, optional): Permission to share promptspublic_prompts(bool, optional): Permission to share prompts publiclytools(bool, optional): Permission to share toolspublic_tools(bool, optional): Permission to share tools publiclynotes(bool, optional): Permission to share notespublic_notes(bool, optional): Permission to share notes publicly
chat(dict, optional): Chat feature permissionscontrols(bool, optional): Access to chat controlsvalves(bool, optional): Access to chat valvessystem_prompt(bool, optional): Access to system promptparams(bool, optional): Access to chat parametersfile_upload(bool, optional): Permission to upload filesdelete(bool, optional): Permission to delete chatsdelete_message(bool, optional): Permission to delete messagescontinue_response(bool, optional): Permission to continue responsesregenerate_response(bool, optional): Permission to regenerate responsesrate_response(bool, optional): Permission to rate responsesedit(bool, optional): Permission to edit chatsshare(bool, optional): Permission to share chatsexport(bool, optional): Permission to export chatsstt(bool, optional): Permission to use speech-to-texttts(bool, optional): Permission to use text-to-speechcall(bool, optional): Permission to make callsmultiple_models(bool, optional): Permission to use multiple modelstemporary(bool, optional): Permission to use temporary chatstemporary_enforced(bool, optional): Enforced temporary chat usage
features(dict, optional): General feature permissionsapi_keys(bool, optional): Access to API keysnotes(bool, optional): Access to notesfolders(bool, optional): Access to folderschannels(bool, optional): Access to channelsdirect_tool_servers(bool, optional): Access to direct tool serversweb_search(bool, optional): Access to web searchimage_generation(bool, optional): Access to image generationcode_interpreter(bool, optional): Access to code interpreter
This dictionary follows the structure of USER_PERMISSIONS in the backend configuration.
Values are typically booleans indicating if the permission is granted.
GroupResponse
Bases: GroupModel
Response model for group details, including member count.
This model extends GroupModel to include additional response-specific information
such as the number of members in the group. The inherited data field contains
group configuration that affects how the group is displayed and filtered.
- Code Reference routers groups Classes GroupsClient Functions
- Code Reference models groups Classes GroupExportResponse
GroupExportResponse
Bases: GroupResponse
Response model for exporting a group, including user IDs.
This model is used when exporting complete group data for backup and migration purposes. It includes all standard group information plus the list of member user IDs.
The permissions attribute in this context represents the complete set of permissions that will be exported with the group, preserving the group's access control configuration for restoration in another system or instance.
- Code Reference routers groups Classes GroupsClient Functions export_group_by_id
GroupForm
Bases: BaseModel
Form for creating a new group.
- Code Reference models groups Classes GroupUpdateForm
- Code Reference routers groups Classes GroupsClient Functions create_new_group
Attributes
permissions
Permissions settings for the group.
Dict Fields
workspace(dict, optional): Workspace access permissionsmodels(bool, optional): Access to modelsknowledge(bool, optional): Access to knowledgeprompts(bool, optional): Access to promptstools(bool, optional): Access to toolsmodels_import(bool, optional): Permission to import modelsmodels_export(bool, optional): Permission to export modelsprompts_import(bool, optional): Permission to import promptsprompts_export(bool, optional): Permission to export promptstools_import(bool, optional): Permission to import toolstools_export(bool, optional): Permission to export tools
sharing(dict, optional): Sharing permissionsmodels(bool, optional): Permission to share modelspublic_models(bool, optional): Permission to share models publiclyknowledge(bool, optional): Permission to share knowledgepublic_knowledge(bool, optional): Permission to share knowledge publiclyprompts(bool, optional): Permission to share promptspublic_prompts(bool, optional): Permission to share prompts publiclytools(bool, optional): Permission to share toolspublic_tools(bool, optional): Permission to share tools publiclynotes(bool, optional): Permission to share notespublic_notes(bool, optional): Permission to share notes publicly
chat(dict, optional): Chat feature permissionscontrols(bool, optional): Access to chat controlsvalves(bool, optional): Access to chat valvessystem_prompt(bool, optional): Access to system promptparams(bool, optional): Access to chat parametersfile_upload(bool, optional): Permission to upload filesdelete(bool, optional): Permission to delete chatsdelete_message(bool, optional): Permission to delete messagescontinue_response(bool, optional): Permission to continue responsesregenerate_response(bool, optional): Permission to regenerate responsesrate_response(bool, optional): Permission to rate responsesedit(bool, optional): Permission to edit chatsshare(bool, optional): Permission to share chatsexport(bool, optional): Permission to export chatsstt(bool, optional): Permission to use speech-to-texttts(bool, optional): Permission to use text-to-speechcall(bool, optional): Permission to make callsmultiple_models(bool, optional): Permission to use multiple modelstemporary(bool, optional): Permission to use temporary chatstemporary_enforced(bool, optional): Enforced temporary chat usage
features(dict, optional): General feature permissionsapi_keys(bool, optional): Access to API keysnotes(bool, optional): Access to notesfolders(bool, optional): Access to folderschannels(bool, optional): Access to channelsdirect_tool_servers(bool, optional): Access to direct tool serversweb_search(bool, optional): Access to web searchimage_generation(bool, optional): Access to image generationcode_interpreter(bool, optional): Access to code interpreter
This dictionary follows the structure of USER_PERMISSIONS in the backend configuration.
Values are typically booleans indicating if the permission is granted.
data
Additional data for the group.
Dict Fields
config(dict, optional): Configuration settings for the groupshare(bool, optional): Whether the group is shared and visible to non-members
This field is used to store group-specific configuration options.
The share setting determines if the group should be visible to users who are not members.
UserIdsForm
Bases: BaseModel
Form for adding/removing users from a group.
- Code Reference routers groups Classes GroupsClient Functions
GroupUpdateForm
Bases: GroupForm
Form for updating an existing group.
- Code Reference routers groups Classes GroupsClient Functions update_group_by_id