@@ -107,6 +107,52 @@ def create_user(
107107 data .update (options )
108108 return self ._make_request ("UserCreate" , "POST" , data , request_metadata )
109109
110+ def create_users_bulk (
111+ self ,
112+ records : List [Dict [str , Any ]],
113+ options : Optional [Dict [str , Any ]] = None ,
114+ request_metadata : Optional [Dict [str , Any ]] = None ,
115+ ) -> Dict [str , Any ]:
116+ """
117+ Create multiple users in bulk with their profiles and group information.
118+
119+ Args:
120+ records (List[Dict[str, Any]]): List of user records to create, each containing:
121+ - profile (Dict[str, Any]): User profile data
122+ - groupname (str | int, optional): Group name or ID
123+ - groupid (int, optional): Group ID
124+ - rolename (str | int, optional): Role name or ID
125+ - roleid (int, optional): Role ID
126+ options (Dict[str, Any], optional): Global options for all users:
127+ - finaltime (str, optional): Global expiration time for all users
128+ - slidingtime (str, optional): Global sliding time period for all users
129+ request_metadata (Dict[str, Any], optional): Additional metadata for the request
130+
131+ Returns:
132+ Dict[str, Any]: The API response containing information about created users
133+
134+ Example:
135+ >>> api.create_users_bulk([
136+ ... {
137+ ... "profile": {"email": "user1@example.com", "name": "User One"},
138+ ... "groupname": "premium",
139+ ... "rolename": "admin"
140+ ... },
141+ ... {
142+ ... "profile": {"email": "user2@example.com", "name": "User Two"},
143+ ... "groupid": 123,
144+ ... "rolename": "team-member"
145+ ... }
146+ ... ], {
147+ ... "finaltime": "2024-12-31",
148+ ... "slidingtime": "30d"
149+ ... })
150+ """
151+ data = {"records" : records }
152+ if options :
153+ data .update (options )
154+ return self ._make_request ("UserCreateBulk" , "POST" , data , request_metadata )
155+
110156 def get_user (
111157 self ,
112158 mode : str ,
0 commit comments