ExaVault
ExaVaults API allows you to incorporate ExaVaults suite of file transfer and user management tools into your own application.\nExaVault supports both POST (recommended when requesting large data sets) and GET operations, and requires an API key in order to use.
- Homepage
- https://api.apis.guru/v2/specs/exavault.com/2.0.json
- Provider
- exavault.com
- OpenAPI version
- 3.0.0
- Spec (JSON)
- https://api.apis.guru/v2/specs/exavault.com/2.0/openapi.json
- Spec (YAML)
- https://api.apis.guru/v2/specs/exavault.com/2.0/openapi.yaml
Tools (61)
Extracted live via the executor SDK.
-
account.getAccountGet settings for your account, such as current space usage, webhooks settings, welcome email content and IP address restrictions.
-
account.updateAccountUpdate account settings, such as welcome email content, IP address restrictions, webhooks settings and secure password requirements.
Notes
- You must have to change account settings.
-
activity.getSessionLogsReturns the detailed activity logs for your account. Optional query paramaters will filter the returned results based on a number of options including usernames, activity types, or date ranges.
NOTE: Total Results will always return as 0 to avoid quering data you're not using and stay as performant as possible.
Operation Types Session activity is logged with an operation type that is different from what is visible through the . Consult the table below to compare the two:
-
activity.getWebhookLogsReturns the webhook logs for your account. Use the available query parameters to filter the listing of activity that is returned.
NOTE: Total Results will always return as 0 to avoid querying data you're not using and stay as performant as possible.
Event Types
Webhooks are triggered by enabled event types for your account, which are configured on the . Not all event types may be allowed for your account type. These are the valid options for event types:
- resources.upload
- resources.download
- resources.delete
- resources.createFolder
- resources.rename
- resources.move
- resources.copy
- resources.compress
- resources.extract
- shares.formSubmit
-
email.sendReferralEmailInvite a friend to sign up for a free trial of ExaVault. Send a email to an email address. If the recipient signs up for ExaVault, we'll apply a credit to your account for the referral.
-
email.sendWelcomeEmailSend a welcome email to a user. The contents of the welcome email can be set by .
-
emailLists.addEmailListCreate a new email list. Among other things, email lists can be used to send files or share folders with a group of email addresses at once.
-
emailLists.deleteEmailListByIdPermanently delete an email group. This action is not reversible. We recommend making a user confirm this action before sending the API call.
-
emailLists.getEmailListByIdRetrieve all the details of a specific email list including it's name, when it was created and all the email addresses that belong to the group.
-
emailLists.getEmailListsList all email groups for authenticated user
-
emailLists.updateEmailListByIdAdd or remove emails from an email list that can be used to send and share files with groups.
Notes
This call will replace your current email list in its entirety. If you want to keep any existing emails on the list, be sure to submit the call with any current emails you want to keep on the list.
-
form.deleteFormMessageByIdDeletes a form submission entry, which represents one time that a visitor filled out the form and uploaded files. This deletes only the record of the submission (the date, the values entered in the form and the names of the files uploaded by the visitor).The share and any associated file resources will not be deleted by this.
Notes:
- Use the to list the submissions and obtain the ID of the entry you want to delete
- You must have the in order to use this operation
- It is not possible to un-delete data that is removed in this way
-
form.getFormByIdReturns the assigned to a . The form details will return all the input fields and their settings.
Use the
includeparameter (with the value share) to also retrieve the details of the associated receive folder.Note
If you prefer to find a form by its shareHash, you can use the endpoint instead.
-
form.getFormByShareHashGet the information for the assigned to a by its shareHash. The form details will return all the input field settings and the CSS for the form.
Use the
includeparameter (with the value share) to also get the details of the associated receive folder.Note
- If you prefer to find a form by its ID, you can use the endpoint instead.
-
form.getFormEntriesReturns the form data entries for a specific form for a receive. Optional parameters can be included in the call to manage larger data sets.
-
form.updateFormByIdAdd, update, or delete a form's parameters. This will alter how your users/customers will see and interact with the form when sending you files.
Notes
This call will replace your current form in its entirety. If you want to keep any existing elements unchanged, be sure to submit the call with an element's current settings to preserve them.
-
notifications.addNotificationCreate a new notification for a in your account. Notifications can be sent via email or webhook;
- To enable email, pass an array of email addresses to the
recipientsparameter of this call. - To enable webhooks, setup the webhook callback URL in your account settings via .
Notes:
- Authenticated user should have
- To enable email, pass an array of email addresses to the
-
notifications.deleteNotificationByIdDeletes a notification. Note that deleting a notification only deletes the notification – it does not delete any underlying files or folders.
Notes:
- You need to have the to update a notification.
- You can only delete notifications owned by your user account.
-
notifications.getNotificationByIdGet the details for a notification with a specific ID number. You'll be able to review its path, triggers and who's getting the notification.
Notes
- You need to have the to view the detail for a notification.
- You can only retrieve notifications owned by your user account.
-
notifications.listNotificationsGet a list of all the you have access to. You can use sorting and filtering to limit the returned list.
Notes:
- Authenticated user should have
-
notifications.updateNotificationByIdUpdate an existing notification. You can add additional emails or change the action or users that cause a notification to trigger.
When updating recipient emails, make sure your
recipientsparameter contains the full list of people who should be included on the notification. If you resend the list without an existing recipient, they will be deleted from the notification emails.Notes:
- You need to have the to update a notification.
- You can only change notifications owned by your user account.
-
recipients.resendInvitationsForShareResend invitations to one or all recipients attached to specified share. The most recent message that was sent for the share will be re-used for this email.
You can use to view the recipient list and message history for a share. Use to add or remove recipients.
-
resources.addFolderCreate a new empty folder at the specified path. New files can be uploaded via the endpoint.
Notes:
- Authenticated user should have modify permission.
-
resources.compressFilesCreate a zip archive containing the files from given set of paths. Note that this can be a very slow operation if you have indicated many files should be included in the archive.
Notes:
- Authenticated user should have modify permission.
-
resources.copyResourcesCopies a set of exisiting files/folders (provided by an array
resources) to the requestedparentResourcein your account. In theresourcesarray, you may specify paths pointing files/folders throughout the account, but everything will be copied to the root of theparentResource.Notes:
- Authenticated user should have modify permission.
-
resources.deleteResourceByIdDelete a single file or folder resource. Deleting a folder will also delete all of the contents.
Notes:
- Authenticated user should have .
- There is no way to un-delete a deleted resource.
-
resources.deleteResourcesDelete multiple file or folder resourcess. Deleting a folder resource will also delete any resources in that folder.
Notes:
- Authenticated user should have .
- It is not possible to un-delete a deleted resource.
-
resources.downloadDownloads a file from the server. Whenever more than one file is being downloaded, the file are first zipped into a single file before the download starts, and the resulting zip file is named to match the
downloadArchiveNameparameter.NOTE: Downloading many files at once may result in a long delay before the API will return a response. You may need to override default timeout values in your API client, or download files individually.
-
resources.extractFilesExtract the contents of a zip archive to a specified directory. Note that this can be a very slow operation.
Notes:
- You must have to do this.
-
resources.getPreviewImageReturns a resized image of the specified document for supported file types.
Image data returned is encoded in base64 format and can be viewed using the
<img>element.<img src='data:image/jpeg;base64' + meta.image/>Notes:
- Supported files types are
'jpg','jpeg','gif','png','bmp','pdf','psd','doc'
- Supported files types are
-
resources.getResourceInfoReturns details for specified file/folder id or hash, including upload date, size and type. For the full list of returned properties, see the response syntax, below.
Notes:
- Authenticated user should have list permission.
-
resources.getResourceInfoByIdReturns metadata for specified file/folder path, including upload date, size and type. For the full list of returned properties, see the response syntax, below.
Notes:
- Authenticated user should have list permission.
-
resources.listResourceContentsReturns a list of files/folders for the parent resource ID.
You can use this API call to get information about all files and folders at a specified path. By default, the API returns basic metadata on each file/folder. An optional
includeparameter forces the return of additional metadata. As with all API calls, the path should be the full path relative to the user's home directory (e.g. /myfiles/some_folder).Notes:
- Authenticated user should have list permission.
-
resources.listResourcesReturns a list of files and folders in the account. Use the
resourcequery parameter to indicate the folder you wish to search in (which can be /).Searching for Files and Folders
Using the
nameparameter triggers search mode, which will search the entire directory structure under the providedresourcefor files or folders with names matching the providedname. This supports wildcard matching such as:- *Report* would find any files or folders with "Report" in the name.
- Data_202?-09-30.xlsx would match items such as "Data_2020-09-30.xlsx", "DATA_2021-09-30.xlsx", "data_2022-09-30.xlsx" etc.
- sales* would find any files or folders starting with the word "Sales"
- *.csv would locate any files ending in ".csv"
- * matches everything within the directory tree starting at your given
resource
The search is not case-sensitive. Searching for Clients* or clients* or CLIENTS*, etc. will provide identical results
If you are using the
nameparameter to run a search, thetypeparameter will be ignored by the server. -
resources.moveResourcesMoves a set of exisiting files/folders (provided by an array
resources) to the requestedparentResourcein your account. In theresourcesarray, you may specify paths pointing files/folders throughout the account, but everything will be moved to the root of theparentResource.Notes:
- Authenticated user should have modify permission.
-
resources.updateResourceByIdUpdate the specified file or folder resource record's "name" parameter. The resource is identified by the numeric resource ID that is passed in as the last segment of the URI.
-
resources.uploadFileUploads a file to a specified path, with optional support for resuming a partially uploaded existing file.
-
shares.addShareCreates a new share object for the given path in your account. We support three types of shares:
- A shared folder allows you to let outside parties access a folder in your account (including any files and nested subfolders) using just a link. Shared folders can be restricted; e.g. with an expiration date, password, download-only, etc. Shared folders are 'live'; if someone makes a change to a file in your shared folder, it will be immediately reflected in your account, and vice-versa.
- A file send lets you send one or more files via an easy download link. File sends are different than shared folders because file sends are 'point in time' -- the recipient will get the files as you sent them. If you later make a change to the source file, it will not be updated for the recipient.
- A receive folder lets you receive files into your account. You can either send users a link, or optionally on your website.
How to send files from your computer using the API:
In order to use the API to send files which are not already stored in your account, you'll need to follow a three-step process:
- Use the endpoint to set up your send, including password, recipients, expiration, etc. You must include upload among the permissions in the
accessModeand set thesendingLocalFilesparameter to true. The response that is returned will include a "meta" attribute, which contains an accessToken attribute. This new access token is valid only for the send. - Use the endpoint to upload your files to the send you've created. The "/" path represents the root of the share, not your home directory. You must send the access token that you received from the first step in the
ev-access-tokenheader - Use the endpoint to indicate that you have finished uploading files to your send. This will trigger the system to remove the upload permission from the share and send any invitation emails you set up in the first step of the process. You must send YOUR access token in the
ev-access-tokenheader, not the temporary access token
Setting the Share Permissions
Only 5 different combinations of permissions are valid for the
accessModeobject:- Upload Only: This allows share visitors to upload to a share but do nothing else to the contained files. To use this mode, set
uploadto true and all other permissions to false - Download Only: This allows share visitors to download files from a share but do nothing else to the contained files. To use this mode, set
downloadto true and all other permissions to false - Upload and Download: This allows share visitors to upload new files to the share or download files within the share, but not make any other changes to the share contents. To use this mode, set
uploadanddownloadto true and set bothmodifyanddeleteto false - All but Delete: This allows share visitors to make any changes to the contents of a share except deleting files. To use this mode, set
upload,download, andmodifyto true and setdeleteto false - Full Access: This allows share visitors to make any changes to the contents of a share. To use this mode, set all 4 permissions
upload,download,modify, anddeleteto true
Any other combination of permissions provided as the
accessModewill be rejected as a bad request.Notes:
Authenticated user requires .
-
shares.completeDirectSendAfter uploading the file(s) to be sent, this method will trigger invitation emails and finish the send files setup. If you are not sending files from your own computer in a send, you will not need this step.
How to send files from your computer using the API:
In order to use the API to send files which are not already stored in your account, you'll need to follow a three-step process:
- Use the endpoint to set up your send, including password, recipients, expiration, etc. You must include upload among the permissions in the
accessModeand set thesendingLocalFilesparamter to true. The response that is returned will include a "meta" attribute, which contains an accessToken attribute. This new access token is valid only for the send. - Use the endpoint to upload your files to the send you've created. The "/" path represents the root of the share, not your home directory. You must send the access token that you received from the first step in the
ev-access-tokenheader - Use the endpoint to indicate that you have finished uploading files to your send. This will trigger the system to remove the upload permission from the share and send any invitation emails you set up in the first step of the process. You must send YOUR access token in the
ev-access-tokenheader, not the temporary access token
- Use the endpoint to set up your send, including password, recipients, expiration, etc. You must include upload among the permissions in the
-
shares.deleteShareByIdDeactivate a share. Deactivating a share does not remove the underlying files for shared_folder and receive share types; it merely removes the access URL. Deleting a send share type does remove the associated files, as files that have been sent are only associated with the share, and aren't stored anywhere else in the account.
Notes:
- You must have to use this.
- You must have , or you must be the owner of the specified share you wish to delete.
-
shares.getShareByIdGet the details for a specific share entry. You can use the
includeparameter to also get the details of related records, such as the owning user or the resources involved in the share.Notes:
- Authenticated user requires .
- To get share objects with type send, authenticated user's role must be admin or master.
-
shares.listSharesGet a list of shares that you would have access to view through the web interface. You can limit which results are returned by specifying specific types of shares you wish to view, finding things shared with a specific email address, as well as finding shares for specific folder names.
Notes:
- Authenticated user requires .
- To get share objects with type send, authenticated user's role must be admin or master.
-
shares.updateShareByIdChange the settings on an active share. Any changes made will affect all users that have access to the share.
When updating invitees, pass the
recipientsbody paramater with the full list of people who should be included on the share. If you resend the list without an existing recipient, they will be removed from the share.Setting the Share Permissions
Only 5 different combinations of permissions are valid for the
accessModeobject:- Upload Only: This allows share visitors to upload to a share but do nothing else to the contained files. To use this mode, set
uploadto true and all other permissions to false - Download Only: This allows share visitors to download files from a share but do nothing else to the contained files. To use this mode, set
downloadto true and all other permissions to false - Upload and Download: This allows share visitors to upload new files to the share or download files within the share, but not make any other changes to the share contents. To use this mode, set
uploadanddownloadto true and set bothmodifyanddeleteto false - All but Delete: This allows share visitors to make any changes to the contents of a share except deleting files. To use this mode, set
upload,download, andmodifyto true and setdeleteto false - Full Access: This allows share visitors to make any changes to the contents of a share. To use this mode, set all 4 permissions
upload,download,modify, anddeleteto true
Any other combination of permissions provided as the
accessModewill be rejected as a bad request.Notes:
- Authenticated user should be the owner of the specified share.
- Upload Only: This allows share visitors to upload to a share but do nothing else to the contained files. To use this mode, set
-
sshKeys.addSshKeyCreate a new SSH Key for a user. Provide the Public Key as formatted from the ssh-keygen command (openssh format or RFC-4716 format).
If you'd prefer to let us generate your key automatically, you can log in to your account via the web portal and set up new keys via the SSH Keys page.
-
sshKeys.deleteSshKeyDelete the specified SSH key. This will not delete or deactivate the user tied to the key.
-
sshKeys.getSshKeyReturn the information for a single SSH Key
-
sshKeys.getSshKeysListReturns a list of SSH Keys within the account. Can be filtered for a single user.
-
users.addUserAdds a new user to the account. The user may be configured as an admin or standard user, and (if a standard user) may be assigned a restricted and restricted .
Notes:
- You must be an to use this.
-
users.deleteUserDelete a user from the account. Deleting a user does NOT delete any files from the account; it merely removes a user's access. Aternatively, locking a user via the will keep the user in your account, but make it unable to log in.
Resources and shares owned by the deleted user will be owned by the master user after the deletion.
Notes:
- You must have to delete a user.
- The primary owner of the account cannot be deleted.
-
users.getUserByIdGet the details for a specific user. You can use the
includeparameter to also get the details of related records, such as the account or the home directory.Notes:
- You must have access to use this.
-
users.listUsersGet a list of the users in your account. There are three main types of searches you can do with this method:
- Search for a user by username. If you provide the
usernameparameter in your call, then only the user who exactly matches that username will be in the list of matches. Any other parameters are ignored. - 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"roleANDemailaddresses ending in "*@acme.com". - Search for a user by search string. If you provide the
searchparameter, users whose nickname OR email OR role OR homeDir match value your provide.
Notes:
- You must be an to use this.
- The homeDir is the full path to the user's home directory, not a resource ID or hash.*
- Search for a user by username. If you provide the
-
users.updateUserUpdates the settings for the user. Note that the unique key for this API call is our internal ID, and not the username, as the username can be changed.
In the request body, you should only send the parameters for values that you wish to change for the user.
Notes:
- You must have access to edit other users. If you have user-level access, you can only update your own user settings.
- You cannot edit a master user with this method.
-
webhooks.addWebhookCreate a new Webhook on your account. Creating a Webhook will require an endpoint URL, a path, what events should trigger a webhook, and what request version to use.
-
webhooks.deleteWebhookDeleted the specified webhook. This will not affect logs or any resources the webhook is connected to.
-
webhooks.getWebhookByIdReturns the metadata for a specific webhook. Webhook IDs can be retrieve from GET /webhooks
-
webhooks.getWehooksListReturns a list of Webhooks. By default, this will return metadata on all Webhooks within the account.
-
webhooks.regenerateWebhookTokenThis endpoint will allow you to regenerate the security token for a webhook if you believe it’s been compromised in any way.
-
webhooks.resendWebhookActivityEntryThis endpoint will allow you to resend a webhook that was previously sent. Resent webhooks will send exactly the same as the original webhook with the exception of the “sent” timestamp. Activity IDs can be retrieve from the webhook logs in your account or via GET /activity/webhooks
-
webhooks.updateWebhookUpdate the specified webhook. Updated webhooks will take effect immediately and could impact active workflows. Please be certain the webhook is not currently in use prior to updating.
You only need to send the portions of the webhook configuration you wish to change, rather than the entire webhook object.
-
openapi.previewSpecPreview an OpenAPI document before adding it as a source
-
openapi.addSourceAdd an OpenAPI source and register its operations as tools