The member command manages user access within your active organization. You can list current members, invite new users, change roles, and remove access — all from the terminal.Members can also be managed via dcy org invite, which is an alias for the same invitation flow.
Showing 4 members in Acme Corp550e8400-... | Jane Doe | jane@company.com | admin | active661f9511-... | John Smith | john@company.com | member | active772a0622-... | Alice Brown | alice@company.com | member | active883b1733-... | N/A | bob@company.com | fund | pending
Members without a first/last name show N/A.
Flag
Short
Default
Description
--status
—
—
Filter by status (e.g. active, pending)
--sort-by
-s
—
Sort by: name, email, role, status
--sort-order
-o
asc
Sort order: asc or desc
--org
—
—
Organization ID override
# Filter by statusdcy member list --status active# Sort by roledcy member list --sort-by role# Sort by name descendingdcy member list -s name -o desc# JSON output for scriptingdcy member list --format json
# Invite as admindcy member invite admin@company.com --role admin# Invite without sending email (manual onboarding)dcy member invite user@company.com --send-email=false# Invite in Spanishdcy member invite user@company.com --lang es# Invite to a subsidiary without switching contextdcy member invite user@company.com --org a1b2c3d4-...# Capture the member ID from JSON outputMEMBER_ID=$(dcy member invite user@company.com --format json | jq -r '.id')echo "Invited member: $MEMBER_ID"
#!/bin/bash# Invite a list of employees with a default roleROLE="member"LANG="en"EMAILS=( alice@company.com bob@company.com carol@company.com dave@company.com)for email in "${EMAILS[@]}"; do echo "Inviting $email as $ROLE..." dcy member invite "$email" --role "$ROLE" --lang "$LANG"done# Verify invitationsecho ""echo "Pending invitations:"dcy member list --status pending
# Export all members as JSONdcy member list --format json > members.json# List adminsdcy member list --format json | jq -r '.[] | select(.role == "admin") | .email'# Count members by roledcy member list --format json | \ jq 'group_by(.role) | map({role: .[0].role, count: length})'# Count by statusdcy member list --format json | \ jq 'group_by(.status) | map({status: .[0].status, count: length})'# Find pending invitations older than 30 daysdcy member list --status pending --format json | \ jq '.[] | select(.created_at < "2024-06-01") | {email, created_at}'
Use --org to manage members in a different organization without switching context:
# List members in a subsidiarydcy member list --org <subsidiary-org-id># Invite to a subsidiarydcy member invite user@company.com --org <subsidiary-org-id> --role member# Invite the same user across multiple organizationsfor org_id in $(dcy org list --format json | jq -r '.[].id'); do dcy member invite shared-admin@company.com --org "$org_id" --role admindone
#!/bin/bash# Remove all pending members that haven't acceptedPENDING=$(dcy member list --status pending --format json | jq -r '.[].id')if [ -z "$PENDING" ]; then echo "No pending members to remove" exit 0fiCOUNT=$(echo "$PENDING" | wc -w)echo "Removing $COUNT pending member(s)..."for id in $PENDING; do dcy member delete "$id" --yesdoneecho "Done"
#!/bin/bash# Find users who are members of multiple organizationsORGS=$(dcy org list --format json | jq -r '.[].id')ALL_EMAILS=$(mktemp)for org_id in $ORGS; do dcy member list --org "$org_id" --format json | \ jq -r '.[].email' >> "$ALL_EMAILS"doneecho "Users in multiple organizations:"sort "$ALL_EMAILS" | uniq -drm "$ALL_EMAILS"