integrations.sh
← all integrations

ExaVault

OpenAPI apis-guru storage

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.getAccount

    Get settings for your account, such as current space usage, webhooks settings, welcome email content and IP address restrictions.

  • account.updateAccount

    Update 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.getSessionLogs

    Returns 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:

    File Manager ValueAPI ValueNotes
    ConnectPASS
    DisconnectEXIT
    UploadSTOR
    DownloadRETR
    DeleteDELE
    Create FolderMKD
    RenameRNTO
    MoveMOVE
    CopyCOPY
    CompressCOMPR
    ExtractEXTRACT
    Shared FoldersSHARE
    Send FilesSEND
    Receive FilesRECV
    N/AEDIT_SENDUpdate send. Not shown in file manager
    Update ShareEDIT_SHARE
    Update ReceiveEDIT_RECV
    Delete SendDELE_SEND
    Delete ReceiveDELE_RECV
    Delete ShareDELE_SHARE
    Create NotificationNOTIFY
    Update NotificationEDIT_NTFY
    Delete NotificationDELE_NTFY
    Create UserUSER
    Update UserEDIT_USER
    Delete UserDELE_USER
    N/ADFACreate direct link. Not shown in file manager
    N/AEDIT_DFAUpdate direct link options. Not shown in file manager
    N/ADELE_DFADeactivate direct link. Not shown in file manager
  • activity.getWebhookLogs

    Returns 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.sendReferralEmail

    Invite 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.sendWelcomeEmail

    Send a welcome email to a user. The contents of the welcome email can be set by .

  • emailLists.addEmailList

    Create 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.deleteEmailListById

    Permanently delete an email group. This action is not reversible. We recommend making a user confirm this action before sending the API call.

  • emailLists.getEmailListById

    Retrieve 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.getEmailLists

    List all email groups for authenticated user

  • emailLists.updateEmailListById

    Add 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.deleteFormMessageById

    Deletes 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.getFormById

    Returns the assigned to a . The form details will return all the input fields and their settings.

    Use the include parameter (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.getFormByShareHash

    Get 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 include parameter (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.getFormEntries

    Returns 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.updateFormById

    Add, 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.addNotification

    Create 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 recipients parameter of this call.
    • To enable webhooks, setup the webhook callback URL in your account settings via .

    Notes:

    • Authenticated user should have
  • notifications.deleteNotificationById

    Deletes 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.getNotificationById

    Get 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.listNotifications

    Get 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.updateNotificationById

    Update 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 recipients parameter 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.resendInvitationsForShare

    Resend 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.addFolder

    Create a new empty folder at the specified path. New files can be uploaded via the endpoint.

    Notes:

    • Authenticated user should have modify permission.
  • resources.compressFiles

    Create 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.copyResources

    Copies a set of exisiting files/folders (provided by an array resources) to the requested parentResource in your account. In the resources array, you may specify paths pointing files/folders throughout the account, but everything will be copied to the root of the parentResource.

    Notes:

    • Authenticated user should have modify permission.
  • resources.deleteResourceById

    Delete 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.deleteResources

    Delete 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.download

    Downloads 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 downloadArchiveName parameter.

    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.extractFiles

    Extract 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.getPreviewImage

    Returns 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'
  • resources.getResourceInfo

    Returns 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.getResourceInfoById

    Returns 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.listResourceContents

    Returns 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 include parameter 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.listResources

    Returns a list of files and folders in the account. Use the resource query parameter to indicate the folder you wish to search in (which can be /).

    Searching for Files and Folders

    Using the name parameter triggers search mode, which will search the entire directory structure under the provided resource for files or folders with names matching the provided name. 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 name parameter to run a search, the type parameter will be ignored by the server.

  • resources.moveResources

    Moves a set of exisiting files/folders (provided by an array resources) to the requested parentResource in your account. In the resources array, you may specify paths pointing files/folders throughout the account, but everything will be moved to the root of the parentResource.

    Notes:

    • Authenticated user should have modify permission.
  • resources.updateResourceById

    Update 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.uploadFile

    Uploads a file to a specified path, with optional support for resuming a partially uploaded existing file.

  • shares.addShare

    Creates 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:

    1. Use the endpoint to set up your send, including password, recipients, expiration, etc. You must include upload among the permissions in the accessMode and set the sendingLocalFiles parameter 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.
    2. 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-token header
    3. 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-token header, not the temporary access token

    Setting the Share Permissions

    Only 5 different combinations of permissions are valid for the accessMode object:

    • Upload Only: This allows share visitors to upload to a share but do nothing else to the contained files. To use this mode, set upload to 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 download to 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 upload and download to true and set both modify and delete to 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, and modify to true and set delete to 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, and delete to true

    Any other combination of permissions provided as the accessMode will be rejected as a bad request.

    Notes:

    Authenticated user requires .

  • shares.completeDirectSend

    After 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:

    1. Use the endpoint to set up your send, including password, recipients, expiration, etc. You must include upload among the permissions in the accessMode and set the sendingLocalFiles paramter 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.
    2. 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-token header
    3. 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-token header, not the temporary access token
  • shares.deleteShareById

    Deactivate 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.getShareById

    Get the details for a specific share entry. You can use the include parameter 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.listShares

    Get 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.updateShareById

    Change the settings on an active share. Any changes made will affect all users that have access to the share.

    When updating invitees, pass the recipients body 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 accessMode object:

    • Upload Only: This allows share visitors to upload to a share but do nothing else to the contained files. To use this mode, set upload to 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 download to 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 upload and download to true and set both modify and delete to 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, and modify to true and set delete to 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, and delete to true

    Any other combination of permissions provided as the accessMode will be rejected as a bad request.

    Notes:

    • Authenticated user should be the owner of the specified share.
  • sshKeys.addSshKey

    Create 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.deleteSshKey

    Delete the specified SSH key. This will not delete or deactivate the user tied to the key.

  • sshKeys.getSshKey

    Return the information for a single SSH Key

  • sshKeys.getSshKeysList

    Returns a list of SSH Keys within the account. Can be filtered for a single user.

  • users.addUser

    Adds 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.deleteUser

    Delete 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.getUserById

    Get the details for a specific user. You can use the include parameter 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.listUsers

    Get a list of the users in your account. There are three main types of searches you can do with this method:

    1. 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.
    2. 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".
    3. 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.

    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.*
  • users.updateUser

    Updates 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.addWebhook

    Create 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.deleteWebhook

    Deleted the specified webhook. This will not affect logs or any resources the webhook is connected to.

  • webhooks.getWebhookById

    Returns the metadata for a specific webhook. Webhook IDs can be retrieve from GET /webhooks

  • webhooks.getWehooksList

    Returns a list of Webhooks. By default, this will return metadata on all Webhooks within the account.

  • webhooks.regenerateWebhookToken

    This endpoint will allow you to regenerate the security token for a webhook if you believe it’s been compromised in any way.

  • webhooks.resendWebhookActivityEntry

    This 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.updateWebhook

    Update 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.previewSpec

    Preview an OpenAPI document before adding it as a source

  • openapi.addSource

    Add an OpenAPI source and register its operations as tools