POST

v1: Upload a file to a directory

https://www.helprange.com/public-api/directory/{directory_id}/upload/{filename}

Uploads a file (multipart "file") under the given name. Uploading again with the same name replaces the file. 100 MB per file. A refused upload answers {"result": "failure", "reason": …} – 400 (too large, bad name), 429 (daily upload limit), 500 (our side).

Plans: Max, Unlimited, Deal Room Pass, trial. Auth: the API key in Authorization (bare, or Bearer hr_live_…) (v1). Scope: documents:write. Operation id: v1UploadFile

Parameters

NameInTypeDescription
directory_id requiredpathintegerFolder id. (min 1)
filename requiredpathstringFile name: letters, digits, "-", "_" and ".".

Request body

multipart/form-data with the file. Content types: multipart/form-data.

FieldTypeDescription
file requiredstring

Example request

curl -X POST https://www.helprange.com/public-api/directory/38/upload/proposal.pdf \
  -H "Authorization: $HELPRANGE_API_KEY" \
  -F 'file=@proposal.pdf'

The samples read the key from the HELPRANGE_API_KEY environment variable.

Responses

StatusDescription
200OK
400Invalid input – the message says which parameter.
401Missing or invalid API key / OAuth token. Team keys: code invalid_key, key_revoked, key_expired or key_owner_removed.
402Your plan does not include the REST API (or this feature).
403v1: the key is invalid, or the folder / file / guest / data room is not yours (HTML page unless you send Accept: application/json). Team keys (v1 and v2): code insufficient_scope with required_scope – the key lacks the scope this endpoint needs.
429A usage limit was reached – wait Retry-After seconds.
500Upload failed on our side.
Example response · 200
{
  "id": 260,
  "default_link": "/view/8956d1e7b91b47e196a8040b1d4894f8"
}

Try it

Uses your real account. The request goes from your browser straight to www.helprange.com with your API key and acts as you – this POST changes data. The key stays in this page (in this tab's session storage only if you tick the box), is never put in a URL and is not sent to analytics. Do not paste a key on a shared computer.