from charley_policy import CharleyClient
with CharleyClient() as client:
# Create
group = client.groups.create("finance", description="Finance team")
# Add members by email or device UUID
client.groups.add_members("finance",
emails=["alice@company.com"],
device_ids=["a1b2c3d4-e5f6-..."],
)
# Replace full member list
client.groups.set_members("finance", emails=["alice@company.com"])
# Remove members
client.groups.remove_members("finance", emails=["bob@company.com"])
# List device UUIDs in the group
device_ids = client.groups.list_devices("finance")
# List members with user details (email, name, machine ID, status)
members = client.groups.list_members("finance")
for m in members:
print(m["enrolled_email"], m["device_id"], m["status"])
# Rename or update description
client.groups.update("finance", description="Finance & treasury")
# Delete
client.groups.delete("finance")