Skip to content

Users & Teams

Manage the people on your team. Invite new members, deactivate accounts without losing data, and control access to CRM modules.

FieldTypeDescription
iduuidUnique identifier of the user
account_iduuidID of the account the user belongs to
emailstringUser’s email address (unique)
namestringUser’s display name
rolestringUser’s role within the account One of: admin, member
bcc_tokenstringToken used to build the user’s BCC email-logging address
must_change_passwordboolWhether the user must change their password on next login
deactivated_atdatetime?When the user was deactivated (ISO 8601); null if active
created_atdatetimeCreation timestamp (ISO 8601)
updated_atdatetimeLast update timestamp (ISO 8601)

Endpoint: users-change-password

FieldTypeRequiredDescription
current_passwordstringYesThe user’s current password
new_passwordstringYesNew password (minimum 8 characters)
Terminal window
curl -X POST https://api.driftwoodapp.com/api/users-change-password \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"current_password": "...", "new_password": "..."}'

Endpoint: users-forgot-password

FieldTypeRequiredDescription
emailstringYesEmail address to send the password reset link to
Terminal window
curl -X POST https://api.driftwoodapp.com/api/users-forgot-password \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"email": "..."}'

Endpoint: users-invite

FieldTypeRequiredDescription
emailstringYesEmail address of the person to invite
namestringYesDisplay name for the invited user
Terminal window
curl -X POST https://api.driftwoodapp.com/api/users-invite \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"email": "...", "name": "..."}'

Endpoint: users-list

FieldTypeRequiredDescription
searchstringNoFilter users by name or email substring
limitintNoMaximum number of users to return (1-100, default 50)
offsetintNoNumber of users to skip for pagination
Terminal window
curl -X POST https://api.driftwoodapp.com/api/users-list \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{}'

Endpoint: users-reset-password

FieldTypeRequiredDescription
tokenstringYesPassword reset token from the reset email
new_passwordstringYesNew password (minimum 8 characters)
Terminal window
curl -X POST https://api.driftwoodapp.com/api/users-reset-password \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"token": "...", "new_password": "..."}'

Endpoint: users-set-active

FieldTypeRequiredDescription
user_idstringYesID of the user to activate or deactivate
activeboolNoTrue to activate the user, false to deactivate
Terminal window
curl -X POST https://api.driftwoodapp.com/api/users-set-active \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"user_id": "..."}'
CodeDescription
validation.password_too_shortPassword too short
users.invalid_passwordInvalid password
validation.email_requiredEmail required
users.not_adminNot admin
users.limit_reachedLimit reached
users.email_takenEmail taken
validation.token_requiredToken required
reset.invalid_tokenInvalid token
validation.invalid_user_idInvalid user id
users.cannot_deactivate_selfCannot deactivate self
users.not_in_accountNot in account