User Management
Overview

User Management Overview

The User Management API wraps DealCloud management endpoints (/api/rest/v1/management/user/...). Responses are JSON dicts (camelCase keys such as firstName, isActive). HTTP is via intapp-rest-client.

💡

Schema vs management: get_users() on Schema — Users & Currencies returns typed User objects for data/choice resolution. get_users() here calls the User Management API and returns dicts with a different shape. Use the right surface for your task.

Key Methods

MethodDescription
get_users()Users by IDs (POST) or one GET filter: emails, user_group_ids, or modified_since (see docstring)
get_all_users()Paginates via modified_since to return a full list
get_user() / get_user_by_email()Single user (dict or None)
create_user() / update_user() / deactivate_user() / activate_user() / delete_user()CRUD
get_all_user_groups() / get_user_groups()Groups
add_user_to_group() / remove_user_from_group()Membership

Quick Examples

List users (full site)

get_users() requires a filter unless you pass user_ids. For a full export, use get_all_users():

from dealcloud_sdk import DealCloud, DealCloudConfig
 
config = DealCloudConfig(
    siteUrl="yoursite.dealcloud.com",
    clientId=12345,
    clientSecret="your-secret",
)
dc = DealCloud.from_config_object(config)
 
users = dc.get_all_users(page_size=1000)
for u in users[:5]:
    print(u.get("id"), u.get("email"), u.get("firstName"), u.get("lastName"))

Filtered queries

from datetime import datetime, timedelta
 
recent = dc.get_users(
    modified_since=datetime.now() - timedelta(days=7),
    page_size=500,
)
 
by_email = dc.get_users(emails="alice@example.com", page_size=1)

Get user details

# By ID or email (positional argument)
user = dc.get_user(12345)
user = dc.get_user("bob@example.com")
 
if user:
    print(user.get("firstName"), user.get("lastName"), user.get("email"))

Create / update / deactivate

created = dc.create_user(
    email="new.user@company.com",
    first_name="New",
    last_name="User",
    is_active=True,
)
print("Created id:", created.get("id"))
 
dc.update_user(user_id=12345, first_name="Updated")
 
dc.deactivate_user(12345)

Related