action exavault_list_users { label: "Get a list of users" description: "Get a list of the users in your account. There are three main types of searches you can do with this method:\n\n1. Search for a user by username. If you provide the `username` parameter in your call, then only the user who exactly matches that username will be in the list of matches. Any other parameters are ignored.\n1. Search for a user by individual filter fields (`nickname`,`email`,`role`,`status`,`homeDir`). Users in the list will be ones who match all of the filters you choose to search by. For example, you could look for users with the \"admin\" `role` AND `email` addresses ending in \"*@acme.com\". \n1. Search for a user by search string. If you provide the `search` parameter, users whose nickname OR email OR role OR homeDir match value your provide.\n\n**Notes:**\n\n- You must be an [admin-level user](/docs/account/04-users/00-introduction#managing-user-roles-and-permissions) to use this.\n- The homeDir is the full path to the user's home directory, not a resource ID or hash." provider: exavault method: GET path: "/users" encoding: json input: { type: "object" properties: { email: { type: "string" } "ev-access-token": { type: "string" } "ev-api-key": { type: "string" } homeResource: { type: "string" } include: { type: "string" } limit: { type: "integer" format: "int32" } nickname: { type: "string" } offset: { type: "integer" format: "int32" } role: { type: "string" } search: { type: "string" } sort: { type: "string" } status: { type: "integer" } username: { type: "string" } } required: ["ev-access-token", "ev-api-key"] additionalProperties: false } output: { type: "object" properties: { data: { type: "array" items: { type: "object" description: "Object contains user properties." properties: { attributes: { type: "object" description: "Attributes of the user including expiration, home directory, and permissions. " required: ["status", "created", "modified", "accountName", "username", "nickname", "homeResource", "permissions", "role", "timeZone", "onboarding"] properties: { accessTimestamp: { type: "string" description: "Timestamp of most recent successful user login." } accountName: { type: "string" description: "Name of the account this user belongs to." } created: { type: "string" format: "date-time" description: "Timestamp of user creation." } email: { type: "string" description: "Email address of the user." } expiration: { type: "string" description: "Timestamp of user expiration." } firstLogin: { type: "boolean" description: "`true` if the user has logged into the system." } homePath: { type: "string" description: "Path to the user's home folder." } locked: { type: "boolean" description: "`true` if the user is locked and cannot log in." } modified: { type: "string" format: "date-time" description: "Timestamp of user modification." } nickname: { type: "string" description: "Nickname of the user." } onboarding: { type: "boolean" description: "Whether the onboarding help system is enabled for this user. `true` means that additional help popups are displayed in the web application for this user." } permissions: { type: "object" required: ["download", "upload", "modify", "delete", "list", "changePassword", "share", "notification", "viewFormData", "deleteFormData"] properties: { changePassword: { type: "boolean" description: "Change (own) password permission flag" } delete: { type: "boolean" description: "Delete permission flag" } deleteFormData: { type: "boolean" description: "Delete form data permission flag. If true, user can remove data that was submitted for a receive folder. This applies only to data submitted in the receive folder form, not the actual files uploaded." } download: { type: "boolean" description: "Download permission flag" } list: { type: "boolean" description: "View folder contents permission flag" } modify: { type: "boolean" description: "Modify permission flag" } notification: { type: "boolean" description: "Notifications permission flag" } share: { type: "boolean" description: "Sharing permission flag" } upload: { type: "boolean" description: "Upload permission flag" } viewFormData: { type: "boolean" description: "Access Form Data permission flag. If true, user can view submissions that have been stored for a receive folder. This includes any data submitted in the receive folder form." } } } role: { type: "string" description: "User's access level" enum: ["user", "admin", "master"] } status: { type: "integer" format: "int32" description: "Indicates user activity status. `0` means the user is locked and cannot log in. `1` means the user is active and can log in." enum: [0, 1] } timeZone: { type: "string" description: "User's timezone. See this page for allowed values." } username: { type: "string" description: "Username of the user." } } } id: { type: "integer" format: "int32" description: "ID of the user." } relationships: { type: "object" description: "Home resource and owner account relationship data for the user. " required: ["ownerAccount"] properties: { homeResource: { type: "object" properties: { data: { type: "object" properties: { id: { type: "integer" format: "int64" description: "ID of home directory resource." } type: { type: "string" description: "Type is resource." enum: ["resource"] } } } } } ownerAccount: { type: "object" properties: { data: { type: "object" properties: { id: { type: "integer" format: "int32" description: "ID of the account." } type: { type: "string" description: "Type is account." enum: ["account"] } } } } } } } type: { type: "string" description: "Type of object being returned. Always \"user\"" } } } } included: { type: "array" items: { type: "object" } } responseStatus: { type: "integer" description: "Http status code of the response. " } returnedResults: { type: "integer" description: "Number of results returned." } totalResults: { type: "integer" description: "Total results found." } } } }