Users API
Users, invitations and desktop app sign-ins. Service account tokens only. Every request sends a token in the Authorization: Bearer header; see Get started with the API.
List users
Section titled “List users”GET /api/admin/users
Lists users, newest first, admins included. Service accounts are not included. Returns up to limit users; for the next page, pass the created_at and id of the last user you received as cursor_ts and cursor_id. Under an API token, only users with one of the service account’s domains are listed.
- Permission: Users: View (
users:read) - Service account tokens only, without
Dew-Act-As.
Parameters
Section titled “Parameters”| Name | In | Type | Description |
|---|---|---|---|
limit |
query | integer | How many users to return. A value outside 1 to 200 is ignored and the default used. Default 200. Minimum 1. Maximum 200. |
cursor_ts |
query | string (date-time) | created_at of the last user on the previous page. Applies only together with cursor_id; an unreadable value is ignored and the first page returned. |
cursor_id |
query | string | id of the last user on the previous page. Applies only together with cursor_ts. |
Response 200
Section titled “Response 200”The users.
data is array of AdminUser.
Errors
Section titled “Errors”| Status | When | Example message |
|---|---|---|
| 400 | The request is invalid; message says what to change. |
|
| 401 | The token is missing, wrong, revoked or expired. | |
| 403 | The token lacks the permission, or the admin network allowlist refuses the caller. | “This API token doesn’t have permission for this action.” “Admin access is not allowed from this network.” |
| 500 | Something failed on the server. error is an error code and ref a reference to quote to your admin, who can find it in the system logs. |
Create a user
Section titled “Create a user”POST /api/admin/users
Creates an active user who signs in with the password you set. domain_ids puts the user on those domains’ access lists and group_ids adds them to Local groups; without either they can’t use the app until you put them on a domain’s access list with PUT /api/admin/domains/{id}/access/users/{userID} or add them to a group that has access. Under an API token, domain_ids is required and may list only the service account’s domains: a domain outside them is refused with 403. group_ids under an API token needs the groups:write permission too. Takes a seat on the license. API tokens can’t create admins: is_admin: true is refused with 403. A pending admin invitation for the same email is refused with 403 too, since the new user would replace it.
- Permission: Users: Manage (
users:write) - Service account tokens only, without
Dew-Act-As.
Request body
Section titled “Request body”Content type application/json.
| Field | Type | Description |
|---|---|---|
displayname (required) |
string | The user’s name. |
email (required) |
string (email) | Stored in lowercase. Must not belong to another user. |
password (required) |
string | Must meet the server’s password policy. |
is_admin |
boolean | Must be false under an API token. Default false. |
domain_ids |
array of string | Domains whose access list the user is put on, by ID from GET /api/admin/domains. Required under an API token, and only the service account’s domains. |
group_ids |
array of string | Local groups the user joins, by ID from GET /api/admin/groups. Under an API token, needs groups:write. |
Response 200
Section titled “Response 200”The user was created.
data is CreatedUser.
Errors
Section titled “Errors”| Status | When | Example message |
|---|---|---|
| 400 | The request is invalid. | “Invalid JSON” “All fields required” “Use at least 12 characters, with upper and lower case letters and a number.” “One of the groups in group_ids doesn’t exist or is managed in your identity provider.” |
| 401 | The token is missing, wrong, revoked or expired. | |
| 403 | The token lacks the permission, tried to create an admin or replace a pending admin invitation, the license has no seat left, or the admin network allowlist refuses the caller. | “This API token doesn’t have permission for this action.” “This API token doesn’t have permission to add users to groups.” “API tokens can’t create or manage admins.” “User limit reached (25/25, including pending invites). Revoke unused invites or upgrade your license to add more users.” “Admin access is not allowed from this network.” |
| 409 | A user with this email already exists. | “A user with this email already exists. Enter a different email.” |
| 500 | Something failed on the server. error is an error code and ref a reference to quote to your admin, who can find it in the system logs. |
Delete a user
Section titled “Delete a user”DELETE /api/admin/users/{id}
Deletes the user and everything they own: their shared links, their file requests and the files received through them are permanently deleted. To keep their files, transfer them first with POST /api/admin/users/{id}/transfer. Under an API token, admins can’t be managed: the request is refused with 403. Service accounts are not users here and answer 404. Under an API token, the user must have one of the service account’s domains; anyone else answers 404.
- Permission: Users: Delete (
users:delete) - Service account tokens only, without
Dew-Act-As.
Parameters
Section titled “Parameters”| Name | In | Type | Description |
|---|---|---|---|
id (required) |
path | string | The user’s ID. |
Response 200
Section titled “Response 200”The user was deleted.
data is Success.
Errors
Section titled “Errors”| Status | When | Example message |
|---|---|---|
| 400 | The request is invalid; message says what to change. |
|
| 401 | The token is missing, wrong, revoked or expired. | |
| 403 | The token lacks the permission, the user is an admin, or the admin network allowlist refuses the caller. | “This API token doesn’t have permission for this action.” “API tokens can’t create or manage admins.” “Admin access is not allowed from this network.” |
| 404 | No such user. Service accounts are not users here and also answer 404. | “User not found” |
| 500 | Something failed on the server. error is an error code and ref a reference to quote to your admin, who can find it in the system logs. |
Transfer a user’s files and requests
Section titled “Transfer a user’s files and requests”POST /api/admin/users/{id}/transfer
Moves all of the user’s files and file requests, with the files received through them, to another active user. Their shared links keep working. Files people are still sending to those requests carry on; the user’s own unfinished uploads are canceled. Under an API token, admins can’t be managed: the request is refused with 403. Service accounts are not users here and answer 404. Under an API token, the user must have one of the service account’s domains; anyone else answers 404.
- Permission: Users: Manage (
users:write) - Service account tokens only, without
Dew-Act-As.
Parameters
Section titled “Parameters”| Name | In | Type | Description |
|---|---|---|---|
id (required) |
path | string | The user’s ID. |
Request body
Section titled “Request body”Content type application/json.
| Field | Type | Description |
|---|---|---|
to_user_id (required) |
string | ID of the user who receives the files and file requests. Must be another active user. |
Response 200
Section titled “Response 200”The files and requests were transferred.
data is Success.
Errors
Section titled “Errors”| Status | When | Example message |
|---|---|---|
| 400 | The request is invalid. | “Invalid JSON” “Choose another active user to receive the files and requests.” |
| 401 | The token is missing, wrong, revoked or expired. | |
| 403 | The token lacks the permission, the user is an admin, or the admin network allowlist refuses the caller. | “This API token doesn’t have permission for this action.” “API tokens can’t create or manage admins.” “Admin access is not allowed from this network.” |
| 404 | No such user. Service accounts are not users here and also answer 404. | “User not found” |
| 500 | Something failed on the server. error is an error code and ref a reference to quote to your admin, who can find it in the system logs. |
Count what deleting a user removes
Section titled “Count what deleting a user removes”GET /api/admin/users/{id}/delete-impact
Counts the shared links, file requests and received files that deleting the user would permanently delete. Under an API token, admins can’t be managed: the request is refused with 403. Service accounts are not users here and answer 404. Under an API token, the user must have one of the service account’s domains; anyone else answers 404.
- Permission: Users: View (
users:read) - Service account tokens only, without
Dew-Act-As.
Parameters
Section titled “Parameters”| Name | In | Type | Description |
|---|---|---|---|
id (required) |
path | string | The user’s ID. |
Response 200
Section titled “Response 200”The counts.
data is UserDeleteImpact.
Errors
Section titled “Errors”| Status | When | Example message |
|---|---|---|
| 400 | The request is invalid; message says what to change. |
|
| 401 | The token is missing, wrong, revoked or expired. | |
| 403 | The token lacks the permission, the user is an admin, or the admin network allowlist refuses the caller. | “This API token doesn’t have permission for this action.” “API tokens can’t create or manage admins.” “Admin access is not allowed from this network.” |
| 404 | No such user. Service accounts are not users here and also answer 404. | “User not found” |
| 500 | Something failed on the server. error is an error code and ref a reference to quote to your admin, who can find it in the system logs. |
Activate or deactivate a user
Section titled “Activate or deactivate a user”PUT /api/admin/users/{id}/status
Deactivating signs the user out everywhere, the desktop app included, and revokes their personal tokens; their files and requests stay. Activating takes a seat on the license. Users managed by SCIM, or whose email domain is no longer on their single sign-on connection, can’t be activated here. Asking for the status the user already has changes nothing. Under an API token, admins can’t be managed: the request is refused with 403. Service accounts are not users here and answer 404. Under an API token, the user must have one of the service account’s domains; anyone else answers 404.
- Permission: Users: Manage (
users:write) - Service account tokens only, without
Dew-Act-As.
Parameters
Section titled “Parameters”| Name | In | Type | Description |
|---|---|---|---|
id (required) |
path | string | The user’s ID. |
Request body
Section titled “Request body”Content type application/json.
| Field | Type | Description |
|---|---|---|
user_status (required) |
string: active, inactive |
Case-insensitive. |
Response 200
Section titled “Response 200”The status was updated, or already was the one asked for (message is then User is already active or User is already inactive).
data is Success.
Errors
Section titled “Errors”| Status | When | Example message |
|---|---|---|
| 400 | The request is invalid. | “Invalid JSON” “User status must be ‘active’ or ‘inactive’” |
| 401 | The token is missing, wrong, revoked or expired. | |
| 403 | The token lacks the permission, the user is an admin, the license has no seat left, or the admin network allowlist refuses the caller. | “This API token doesn’t have permission for this action.” “API tokens can’t create or manage admins.” “User limit reached (25/25, including pending invites). Revoke unused invites or upgrade your license to add more users.” “Admin access is not allowed from this network.” |
| 404 | No such user. Service accounts are not users here and also answer 404. | “User not found” |
| 409 | The user signs in with single sign-on and can’t be activated here. | “This user is managed by SCIM. Re-enable them in your identity provider, or convert to a local account.” “This user’s email domain is no longer on the SSO connection. Re-add the domain to the connection, or convert to a local account.” |
| 500 | Something failed on the server. error is an error code and ref a reference to quote to your admin, who can find it in the system logs. |
Email a user a password reset link
Section titled “Email a user a password reset link”POST /api/admin/users/{id}/send-password-reset
Emails the user a link to set a new password. The link expires after 24 hours and is not returned to you. Only for active users who sign in with a password. Under an API token, admins can’t be managed: the request is refused with 403. Service accounts are not users here and answer 404. Under an API token, the user must have one of the service account’s domains; anyone else answers 404.
- Permission: Users: Manage (
users:write) - Service account tokens only, without
Dew-Act-As.
Parameters
Section titled “Parameters”| Name | In | Type | Description |
|---|---|---|---|
id (required) |
path | string | The user’s ID. |
Response 200
Section titled “Response 200”The email was sent.
data is Success.
Errors
Section titled “Errors”| Status | When | Example message |
|---|---|---|
| 400 | The user can’t get a reset link. | “Cannot send reset link to an inactive user” “Password reset is only available for local accounts” |
| 401 | The token is missing, wrong, revoked or expired. | |
| 403 | The token lacks the permission, the user is an admin, or the admin network allowlist refuses the caller. | “This API token doesn’t have permission for this action.” “API tokens can’t create or manage admins.” “Admin access is not allowed from this network.” |
| 404 | No such user. Service accounts are not users here and also answer 404. | “User not found” |
| 500 | Something failed on the server. error is an error code and ref a reference to quote to your admin, who can find it in the system logs. |
|
| 502 | The email couldn’t be sent. Check the email settings. | “Failed to send password reset link” |
Remove a user’s profile picture
Section titled “Remove a user’s profile picture”DELETE /api/admin/users/{id}/avatar
Removes the user’s profile picture. Also succeeds when the user has none. Under an API token, admins can’t be managed: the request is refused with 403. Service accounts are not users here and answer 404. Under an API token, the user must have one of the service account’s domains; anyone else answers 404.
- Permission: Users: Manage (
users:write) - Service account tokens only, without
Dew-Act-As.
Parameters
Section titled “Parameters”| Name | In | Type | Description |
|---|---|---|---|
id (required) |
path | string | The user’s ID. |
Response 200
Section titled “Response 200”The picture was removed, or there was none.
data is Success.
Errors
Section titled “Errors”| Status | When | Example message |
|---|---|---|
| 400 | The request is invalid; message says what to change. |
|
| 401 | The token is missing, wrong, revoked or expired. | |
| 403 | The token lacks the permission, the user is an admin, or the admin network allowlist refuses the caller. | “This API token doesn’t have permission for this action.” “API tokens can’t create or manage admins.” “Admin access is not allowed from this network.” |
| 404 | No such user. Service accounts are not users here and also answer 404. | “User not found” |
| 500 | Something failed on the server. error is an error code and ref a reference to quote to your admin, who can find it in the system logs. |
Get a user’s access
Section titled “Get a user’s access”GET /api/admin/users/{id}/access
Lists the groups the user is in, and every domain they have access to with how they got it: their own place on the domain’s access list, a group, or both. Service accounts are not users here and answer 404. Under an API token, the user must have one of the service account’s domains; anyone else answers 404. Admins can’t be managed under an API token: the request is refused with 403.
- Permission: Users: View (
users:read) - Service account tokens only, without
Dew-Act-As.
Parameters
Section titled “Parameters”| Name | In | Type | Description |
|---|---|---|---|
id (required) |
path | string | The user’s ID. |
Response 200
Section titled “Response 200”The user’s groups and domains.
data is UserAccess.
Errors
Section titled “Errors”| Status | When | Example message |
|---|---|---|
| 400 | The request is invalid; message says what to change. |
|
| 401 | The token is missing, wrong, revoked or expired. | |
| 403 | The token lacks the permission, the user is an admin, or the admin network allowlist refuses the caller. | “This API token doesn’t have permission for this action.” “API tokens can’t create or manage admins.” “Admin access is not allowed from this network.” |
| 404 | No such user. Service accounts are not users here and also answer 404. | “User not found” |
| 500 | Something failed on the server. error is an error code and ref a reference to quote to your admin, who can find it in the system logs. |
Invite a user
Section titled “Invite a user”POST /api/admin/invites
Emails the person an invitation to create their account. The link expires after 3 days. A pending invitation takes a seat on the license. A new invitation to the same email closes the earlier one. API tokens can’t invite admins: is_admin: true is refused with 403. A pending admin invitation for the same email is refused with 403 too, since a new invitation would replace it. Under an API token, domain_ids is required and may list only the service account’s domains, and the new invitation closes earlier ones only where they give one of those domains. group_ids adds the person to Local groups when they accept; under an API token it needs the groups:write permission too.
- Permission: Users: Manage (
users:write) - Service account tokens only, without
Dew-Act-As.
Request body
Section titled “Request body”Content type application/json.
| Field | Type | Description |
|---|---|---|
email (required) |
string (email) | Who to invite. Must not belong to an existing user. |
domain_ids |
array of string | Domains the person gets access to when they accept. The invitation link uses the first active one, or the primary domain. |
source_domain_id |
string | The domain whose email settings and branding the invitation uses. Leave out to use the global settings. |
is_admin |
boolean | Must be false under an API token. Default false. |
group_ids |
array of string | Local groups the person joins when they accept, by ID from GET /api/admin/groups. Under an API token, needs groups:write. |
Response 200
Section titled “Response 200”The invitation was sent.
data is Success.
Errors
Section titled “Errors”| Status | When | Example message |
|---|---|---|
| 400 | The request is invalid. | “Invalid JSON” “Email is required” “Email is invalid” “User already exists” “One of the groups in group_ids doesn’t exist or is managed in your identity provider.” |
| 401 | The token is missing, wrong, revoked or expired. | |
| 403 | The token lacks the permission, tried to invite an admin or replace a pending admin invitation, the license has no seat left, or the admin network allowlist refuses the caller. | “This API token doesn’t have permission for this action.” “This API token doesn’t have permission to add users to groups.” “API tokens can’t create or manage admins.” “User limit reached (25/25, including pending invites). Revoke unused invites or upgrade your license to add more users.” “Admin access is not allowed from this network.” |
| 500 | Something failed on the server. error is an error code and ref a reference to quote to your admin, who can find it in the system logs. |
|
| 502 | The invitation email couldn’t be sent. ref points your admin to the details in the system logs. |
“Failed to send the invitation email” |
List pending invitations
Section titled “List pending invitations”GET /api/admin/invites
Lists invitations not yet accepted or revoked, newest first, at most 500. Expired invitations stay listed for 7 days after they expire, so you can resend them. Under an API token, only invitations that give one of the service account’s domains are listed.
- Permission: Users: View (
users:read) - Service account tokens only, without
Dew-Act-As.
Response 200
Section titled “Response 200”The invitations.
data is array of Invite.
Errors
Section titled “Errors”| Status | When | Example message |
|---|---|---|
| 400 | The request is invalid; message says what to change. |
|
| 401 | The token is missing, wrong, revoked or expired. | |
| 403 | The token lacks the permission, or the admin network allowlist refuses the caller. | “This API token doesn’t have permission for this action.” “Admin access is not allowed from this network.” |
| 500 | Something failed on the server. error is an error code and ref a reference to quote to your admin, who can find it in the system logs. |
Revoke an invitation
Section titled “Revoke an invitation”POST /api/admin/invites/{id}/revoke
The invitation link stops working and its seat on the license is freed. API tokens can’t revoke an admin’s invitation: the request is refused with 403. Under an API token, the invitation must give one of the service account’s domains; any other answers 404.
- Permission: Users: Manage (
users:write) - Service account tokens only, without
Dew-Act-As.
Parameters
Section titled “Parameters”| Name | In | Type | Description |
|---|---|---|---|
id (required) |
path | string | The invitation’s ID. |
Response 200
Section titled “Response 200”The invitation was revoked.
data is Success.
Errors
Section titled “Errors”| Status | When | Example message |
|---|---|---|
| 400 | The request is invalid; message says what to change. |
|
| 401 | The token is missing, wrong, revoked or expired. | |
| 403 | The token lacks the permission, the invitation is an admin’s, or the admin network allowlist refuses the caller. | “This API token doesn’t have permission for this action.” “Admin access is not allowed from this network.” |
| 404 | No such invitation, or it was already accepted or revoked. | “Invite not found” |
| 500 | Something failed on the server. error is an error code and ref a reference to quote to your admin, who can find it in the system logs. |
Resend an invitation
Section titled “Resend an invitation”POST /api/admin/invites/{id}/resend
Emails a new invitation link that expires 3 days from now; the previous link stops working. Works for expired invitations too, which then take a seat on the license again. If the email can’t be sent, the previous link keeps working. API tokens can’t resend an admin’s invitation: the request is refused with 403. Under an API token, the invitation must give one of the service account’s domains; any other answers 404.
- Permission: Users: Manage (
users:write) - Service account tokens only, without
Dew-Act-As.
Parameters
Section titled “Parameters”| Name | In | Type | Description |
|---|---|---|---|
id (required) |
path | string | The invitation’s ID. |
Response 200
Section titled “Response 200”The invitation was resent.
data is Success.
Errors
Section titled “Errors”| Status | When | Example message |
|---|---|---|
| 400 | The invitation can’t be resent: it was used or revoked, or the person already has an account. | “Invite is no longer valid” “User already exists” |
| 401 | The token is missing, wrong, revoked or expired. | |
| 403 | The token lacks the permission, the invitation is an admin’s, the license has no seat left for an expired invitation, or the admin network allowlist refuses the caller. | “This API token doesn’t have permission for this action.” “User limit reached (25/25, including pending invites). Revoke unused invites or upgrade your license to add more users.” “Admin access is not allowed from this network.” |
| 404 | No such invitation. | “Invite not found” |
| 500 | Something failed on the server. error is an error code and ref a reference to quote to your admin, who can find it in the system logs. |
|
| 502 | The invitation email couldn’t be sent. ref points your admin to the details in the system logs. |
“Failed to send the invitation email” |
List desktop app sign-ins
Section titled “List desktop app sign-ins”GET /api/admin/clients
Lists every computer signed in to the desktop app, for all users (under an API token, those of users with one of the service account’s domains), most recently signed in first, at most 1000.
- Permission: Users: View (
users:read) - Service account tokens only, without
Dew-Act-As.
Response 200
Section titled “Response 200”The signed-in computers.
data is array of AdminClientDevice.
Errors
Section titled “Errors”| Status | When | Example message |
|---|---|---|
| 400 | The request is invalid; message says what to change. |
|
| 401 | The token is missing, wrong, revoked or expired. | |
| 403 | The token lacks the permission, or the admin network allowlist refuses the caller. | “This API token doesn’t have permission for this action.” “Admin access is not allowed from this network.” |
| 500 | Something failed on the server. error is an error code and ref a reference to quote to your admin, who can find it in the system logs. |
Sign out a desktop app
Section titled “Sign out a desktop app”DELETE /api/admin/clients/{id}
Signs the desktop app out on that computer; it has to sign in again before it can be used. Under an API token, an admin’s computers can’t be signed out: the request is refused with 403. Under an API token, the computer’s user must have one of the service account’s domains; any other answers 404.
- Permission: Users: Manage (
users:write) - Service account tokens only, without
Dew-Act-As.
Parameters
Section titled “Parameters”| Name | In | Type | Description |
|---|---|---|---|
id (required) |
path | string | The device’s ID, from GET /api/admin/clients. |
Response 200
Section titled “Response 200”The computer was signed out.
data is Success.
Errors
Section titled “Errors”| Status | When | Example message |
|---|---|---|
| 400 | The request is invalid; message says what to change. |
|
| 401 | The token is missing, wrong, revoked or expired. | |
| 403 | The token lacks the permission, the computer belongs to an admin, or the admin network allowlist refuses the caller. | “This API token doesn’t have permission for this action.” “API tokens can’t create or manage admins.” “Admin access is not allowed from this network.” |
| 404 | No such computer, or it’s already signed out. | “Device not found” |
| 500 | Something failed on the server. error is an error code and ref a reference to quote to your admin, who can find it in the system logs. |
