User Groups
Manage user groups for access control. Responses are dicts from the management API. HTTP is via intapp-rest-client.
get_all_user_groups()
List user groups (paginated API):
from dealcloud_sdk import DealCloud, DealCloudConfig
config = DealCloudConfig(
siteUrl="yoursite.dealcloud.com",
clientId=12345,
clientSecret="your-secret",
)
dc = DealCloud.from_config_object(config)
groups = dc.get_all_user_groups(page_number=1, page_size=1000)
for g in groups:
print(g.get("id"), g.get("name"))get_user_groups()
Fetch one group by ID or name, or multiple by passing a list of IDs/names:
g = dc.get_user_groups("My Group Name")
# or
g = dc.get_user_groups(12345)
# Multiple
rows = dc.get_user_groups([101, 102])Members on a group
The group payload may expose members as users or memberIds depending on the API shape—inspect the dict you receive:
def member_ids_from_group(group: dict) -> list:
users = group.get("users") or group.get("memberIds") or []
out = []
for u in users:
if isinstance(u, dict):
out.append(u.get("id"))
else:
out.append(u)
return [x for x in out if x is not None]add_user_to_group() / remove_user_from_group()
dc.add_user_to_group(user_id=12345, group_id=67890)
dc.remove_user_from_group(user_id=12345, group_id=67890)dc.add_user_to_group(user_id=12345, group_id=67890)update_user_group()
Replace metadata or replace the full member list when member_ids is provided:
dc.update_user_group(
group_id=67890,
name="Renamed Group",
description="Optional",
member_ids=[1, 2, 3],
)⚠️
If you pass member_ids, it replaces existing membership for that group—fetch current members first if you need to merge.
delete_user_group()
dc.delete_user_group(67890)
# or by name
dc.delete_user_group("Old Group")Related
- User Management — User accounts
- Schema API — Users — Schema-time user map