Hightail API (1.0)

Download Development Guide: Download

The Hightail API makes it easy to develop custom tools or direct integrations to automate key tasks and make your team more productive. APIs are available to Hightail Teams and Business users.

Getting Started

Development

You must have an API token to access the Hightail API.

Setup a Hightail test account and get an API token for it:

  1. Sign up for a temporary (30-day) Hightail test environment here.
  2. Generate an API token here.
  3. You'll need to embed it in your Hightail API calls.
  4. See the ‘sending files’ workflow guide to get started.

The Hightail Test environment you've just set up is a temporary Business account with you as the administrator. This account runs on our Test server and will expire after 30 days. If you need it for a longer duration, please contact Hightail customer service.

Going to Production

When you are ready to use the APIs with your organization's production Hightail system, do the following:

  1. Request a production API token from your organization's Hightail administrator.
  2. Update your calls with the production API token received in the previous step.
  3. Update the host in the API calls to point to the Hightail production server.

File Send Quickstart

  1. Create repository:

      curl "https://api.stage.htspaces.com/devapi/v1/send/create" -H "Accept: application/json, text/plain, */*" -H "Content-Type: application/json;charset=UTF-8" -H "Authorization: cf00e8b17751fdc95dde287112046c52e6dba1fa614c66f6df7b8cd7897dcfe8_d" -d "{ \"email\": \"t0716001@mailinator.com\", \"chunkSize\": 10485760, \"fullUrl\": true, \"files\": [ { \"filename\": \"1.md\", \"fileSize\": 1 } ] }"  
    • Authorization: API Key created in your trial account admin console
    • email: Email of the trial account, the one creating the API key
    • chunkSize: Larger than file size
    • fullUrl: Set to true
    • files: This is an array, for this test just 1 file, change the filename and fileSize to yours
  2. Upload:

      curl -i -X PUT "https://bitspring-stage.s3.us-west-2.amazonaws.com/f7b78ac9-689c-455a-812c-999e038d3f3e?uploadId=hWNHmWyCVhzpuym7BD7PUp_ZPZWoeEfVDy1jShlYq4iI8zLhcnkPahv76fkRf5G1DRRSwLqKrq3CdbnV1hJC3Ux8nT1w7xyp.2XeRAOA1I5HzKf_vx3g2uxmoaObk6EH&partNumber=1&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20210716T204758Z&X-Amz-SignedHeaders=host&X-Amz-Expires=604800&X-Amz-Credential=AKIAIZ53U2CCQK6JD4PA%2F20210716%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Signature=307f44745f5bec541aa80a99b9d3a46a83e11c3023f0042d37e435aa7631602a" --upload-file 1.md  
    • use URL returned from step 1
    • replace filename at the end with yours
  3. Submit:

      curl "https://api.stage.htspaces.com/devapi/v1/send/submit" -H "Accept: application/json, text/plain, */*" -H "Content-Type: application/json;charset=UTF-8" -H "Authorization: cf00e8b17751fdc95dde287112046c52e6dba1fa614c66f6df7b8cd7897dcfe8_d" -d "{ \"spaceId\": \"sp-87f13af8-784b-4211-9711-3c29fcfc1889\", \"subject\": \"Subject of the Send Repository\", \"message\": \"Message of the Send Repository\", \"emails\": [ \"usr666@mailinator.com\" ] }"  
    • Authorization: Same as step 1
    • spaceId: Returned in step 1
    • subject: Anything you like, this will be the title of received repository
    • message: Any message you prefer
    • emails: This is an array which can send to multiple users, for this simple test, we just put one, replace with your recipient email

Sending Files

This set of API calls invokes Hightail's ‘file send’ function. It provides the same ‘file send’ capabilities you will find in the Hightail web application. The general flow is as follows:

  1. Create a Send Repository on Hightail, which is the repository for the files you will send. Hightail will return the following:
    • Space ID of the new Send Repository
    • Signed URLs for uploading files/chunks to Hightail AWS S3 bucket
  2. Upload the files directly to S3, using the URLs returned in the previous step.
  3. Submit the Send Repository. Parameters for this call include the following:
    • Subject
    • Message
    • Recipient email addresses
    • Access permissions

Submit Send Repository

Upon submitting the send request, each recipient will receive a notification email with a link for viewing the Send.

header Parameters
Authorization
required
string

API key for authentication

Request Body schema: application/json
spaceId
string

Id of the Send Repository to be sent

emails
required
Array of strings unique

List of email recipients who will receive the Send Repository

subject
string

Optional subject line for the Send Repository email

message
string

Optional message to include within the Send Repository email

sendEmail
boolean
Default: true

Flag indicating whether to send an email to the recipients containing the Send Repository link

sendReceiptRequested
boolean
Default: false

Flag indicating whether the sender will receive a notification email

downloadReceiptRequested
boolean
Default: false

Flag indicating whether to receive a notification when files in the Send Repository are downloaded

verifyRecipient
boolean
Default: false

Flag indicating that only registered users in the recipient list can view the Send Repository. Recipients will be required to login or create an account in order to access the Send.

allowComment
boolean
Default: false

Flag indicating whether to allow commenting on the Send Repository by Send recipients

preventDownload
boolean
Default: false

Flag indicating whether to prevent downloading of files in the Send Repository

expiresAt
string <date-time>

If a date is specified, the Send Repository will be deleted at that time

accessCode
string

If an access code is specified, users must enter the code in order to view the Send Repository

Responses

Request samples

Content type
application/json
{
  • "spaceId": "string",
  • "emails": [
    ],
  • "subject": "string",
  • "message": "string",
  • "sendEmail": true,
  • "sendReceiptRequested": false,
  • "downloadReceiptRequested": false,
  • "verifyRecipient": false,
  • "allowComment": false,
  • "preventDownload": false,
  • "expiresAt": "2019-08-24T14:15:22Z",
  • "accessCode": "string"
}

Create a new Send Repository

Creates a new Send Repository for sending files

header Parameters
Authorization
required
string

API key for authentication

Request Body schema: application/json
email
required
string

Sender's email address. Sender must be a registered Hightail user and member of the same organization linked to the API key

chunkSize
integer <int64>

Target size of the file upload chunks. Note - If not set, or less than 5MB (5,242,880), will default to 5MB. If the file is too large, chunkSize will be adjusted to ensure that chunk count remains under 10,000. Keep in mind that this value may change, so make sure to use the chunkSize in response

fullUrl
boolean
Default: false

Flag to return the full URLs or packed URLs in the response. It's recommended to use fullUrl (true) for small files and pack mode (false) for large files, to reduce the response payload size.

required
Array of objects (File)

Responses

Request samples

Content type
application/json
{
  • "email": "string",
  • "chunkSize": 0,
  • "fullUrl": false,
  • "files": [
    ]
}

Response samples

Content type
application/json
{
  • "spaceId": "string",
  • "packedUrls": [
    ],
  • "fullUrls": [
    ]
}