---
title: HelpRange API Reference: REST API v2 Endpoints, Auth &amp; Limits
description: Reference for all 63 HelpRange REST API operations: files, share links, data rooms, Q&amp;A, e-signature, offers and analytics, with curl, JavaScript and Python examples.
url: https://www.helprange.com/developers/api
---

Developers

# HelpRange API reference

All 63 operations of the HelpRange REST API – files, share links, data rooms, Q&A, e-signature, offers and analytics – with parameters, response examples, code in curl, JavaScript and Python, and a console to try each call with your own API key.

 [Download OpenAPI 3.1](https://www.helprange.com/developers/openapi.json) [Make your first call](https://www.helprange.com/developers/api/get-me)

## Base URL and authentication

```
https://www.helprange.com/api/v2
```

Create a team API key in **Settings → API keys** and send it as `Authorization: Bearer hr_live_…` (`X-API-Key` and `Authorization: Api-Key <key>` work too). Each key has [scopes](https://www.helprange.com/developers/keys#scopes) – every operation below names the one it needs – and keys starting with `hr_test_` work on a [sandbox](https://www.helprange.com/developers/keys#sandbox) with sample data that never sends e-mail. The legacy key on your profile page and OAuth access tokens of the [HelpRange MCP connector](https://www.helprange.com/mcp-server) keep full access. The older `/public-api` endpoints take the key in `Authorization`. Keep keys on your server, never in client-side code or a public repository.

```
curl https://www.helprange.com/api/v2/me -H "Authorization: Bearer $HELPRANGE_API_KEY"
```

**Plans:** the REST API is part of the Max and Unlimited plans, the Deal Room Pass and the trial; [Who is connected](https://www.helprange.com/developers/api/get-me), [List folders](https://www.helprange.com/developers/api/list-folders) and buyer access also work on Pro. Other plans get `402` with `{"error": "…"}`.

## Errors

Errors come back as JSON `{"error": "…"}`, some with a machine-readable `code` (v1: `{"status", "message"}`).

| Status | Meaning |
|---|---|
| `400` | A parameter is missing or invalid – the message says which. |
| `401` | Missing or invalid API key / OAuth token (team keys: `invalid_key`, `key_revoked`, `key_expired`, `key_owner_removed`). |
| `402` | Your plan does not include the REST API (or this feature). |
| `403` | The key lacks the scope this endpoint needs: `{"code": "insufficient_scope", "required_scope"}`. |
| `404` | Not found – or not yours; the API never says which. |
| `409` | The data room is frozen, or the signed PDF is not ready yet. |
| `413` | The file is over the upload limit. |
| `429` | A usage limit was reached: `{"error", "code", "retry_after"}` and a `Retry-After` header. |

## Usage limits

Counted per team – all API keys and connected AI apps of a team share them – in clock hours and minutes (UTC). Every authenticated response carries `X-RateLimit-Limit`, `X-RateLimit-Remaining` and `X-RateLimit-Reset`.

| Requests per team | 3,600 an hour, 120 a minute |
|---|---|
| Write requests per team | 300 an hour |
| Share links / guests created through the API | 2,000 / 1,000 a day |
| E-mails to other people caused by API requests | 100 an hour, 500 a day, at most 50 recipients per request |
| Requests per IP address | 4,000 an hour (60 with a missing or invalid key) |
| Failed requests per team | more than 300 in an hour pause the team's API for 15 minutes |

## Account

Who is connected, the plan and its limits.

- [GET**Who is connected**/api/v2/me](https://www.helprange.com/developers/api/get-me)
- [GET**Plan, features and limits**/api/v2/plan](https://www.helprange.com/developers/api/get-plan)

## Folders

Folders and their subfolders.

- [GET**List folders**/api/v2/folders](https://www.helprange.com/developers/api/list-folders)
- [GET**Get a folder**/api/v2/folders/{folder_id}](https://www.helprange.com/developers/api/get-folder)
- [POST**Turn subfolders on or off**/api/v2/folders/{folder_id}](https://www.helprange.com/developers/api/set-folder-subfolders)
- [GET**List subfolders**/api/v2/folders/{folder_id}/subfolders](https://www.helprange.com/developers/api/list-subfolders)
- [POST**Create a subfolder**/api/v2/folders/{folder_id}/subfolders](https://www.helprange.com/developers/api/create-subfolder)
- [POST**Move documents to a subfolder**/api/v2/folders/{folder_id}/subfolders/move](https://www.helprange.com/developers/api/move-documents-to-subfolder)
- [POST**Rename a subfolder**/api/v2/subfolders/{subfolder_id}](https://www.helprange.com/developers/api/rename-subfolder)
- [POST**Delete a subfolder**/api/v2/subfolders/{subfolder_id}/delete](https://www.helprange.com/developers/api/delete-subfolder)

## Documents

Uploads, documents, statistics and share links.

- [GET**List documents**/api/v2/documents](https://www.helprange.com/developers/api/list-documents)
- [POST**Upload a file**/api/v2/files](https://www.helprange.com/developers/api/upload-file)
- [POST**Create a share link**/api/v2/files/{file_id}/links](https://www.helprange.com/developers/api/create-link)
- [GET**Document statistics**/api/v2/documents/{file_id}](https://www.helprange.com/developers/api/get-document)
- [GET**List share links of a document**/api/v2/documents/{file_id}/links](https://www.helprange.com/developers/api/list-document-links)

## Triggers

Polling triggers for Zapier, Make and n8n: newest first, each item with a stable id.

- [GET**Recent document views**/api/v2/views](https://www.helprange.com/developers/api/list-recent-views)
- [GET**Recent client uploads**/api/v2/uploads](https://www.helprange.com/developers/api/list-recent-uploads)

## Data rooms

Data rooms, their index, guests, folders, documents, Q&A and request lists.

- [GET**List data rooms**/api/v2/data-rooms](https://www.helprange.com/developers/api/list-data-rooms)
- [GET**Data room details**/api/v2/data-rooms/{data_room_id}](https://www.helprange.com/developers/api/get-data-room)
- [POST**Turn data room folders on or off**/api/v2/data-rooms/{data_room_id}](https://www.helprange.com/developers/api/set-data-room-folders)
- [GET**Data room index**/api/v2/data-rooms/{data_room_id}/index](https://www.helprange.com/developers/api/get-data-room-index)
- [POST**Invite a guest**/api/v2/data-rooms/{data_room_id}/guests](https://www.helprange.com/developers/api/invite-data-room-guest)
- [GET**Access requests**/api/v2/data-rooms/{data_room_id}/access-requests](https://www.helprange.com/developers/api/list-data-room-access-requests)
- [GET**Data room signature requests**/api/v2/data-rooms/{data_room_id}/signature-requests](https://www.helprange.com/developers/api/list-data-room-signature-requests)
- [GET**List Q&A questions**/api/v2/data-rooms/{data_room_id}/questions](https://www.helprange.com/developers/api/list-data-room-questions)
- [POST**Add a Q&A question**/api/v2/data-rooms/{data_room_id}/questions](https://www.helprange.com/developers/api/add-data-room-question)
- [GET**List due diligence request items**/api/v2/data-rooms/{data_room_id}/requests](https://www.helprange.com/developers/api/list-data-room-request-items)
- [POST**Add a request list item**/api/v2/data-rooms/{data_room_id}/requests](https://www.helprange.com/developers/api/add-data-room-request-item)
- [GET**List data room folders**/api/v2/data-rooms/{data_room_id}/folders](https://www.helprange.com/developers/api/list-data-room-folders)
- [POST**Create a data room folder**/api/v2/data-rooms/{data_room_id}/folders](https://www.helprange.com/developers/api/create-data-room-folder)
- [POST**Move data room documents**/api/v2/data-rooms/{data_room_id}/folders/move](https://www.helprange.com/developers/api/move-data-room-documents)
- [POST**Rename a data room folder**/api/v2/data-rooms/{data_room_id}/folders/{folder_id}](https://www.helprange.com/developers/api/rename-data-room-folder)
- [POST**Delete a data room folder**/api/v2/data-rooms/{data_room_id}/folders/{folder_id}/delete](https://www.helprange.com/developers/api/delete-data-room-folder)
- [GET**List data room documents**/api/v2/data-rooms/{data_room_id}/documents](https://www.helprange.com/developers/api/list-data-room-documents)
- [POST**Add documents to a data room**/api/v2/data-rooms/{data_room_id}/documents](https://www.helprange.com/developers/api/add-data-room-documents)

## E-signature

Send documents for e-signature, follow them and download the signed PDF.

- [GET**List e-signature requests**/api/v2/signature-requests](https://www.helprange.com/developers/api/list-signature-requests)
- [POST**Send a document for e-signature**/api/v2/signature-requests](https://www.helprange.com/developers/api/create-signature-request)
- [GET**E-signature request details**/api/v2/signature-requests/{envelope_id}](https://www.helprange.com/developers/api/get-signature-request)
- [POST**Remind signers**/api/v2/signature-requests/{envelope_id}/remind](https://www.helprange.com/developers/api/remind-signature-request)
- [POST**Void an e-signature request**/api/v2/signature-requests/{envelope_id}/void](https://www.helprange.com/developers/api/void-signature-request)
- [GET**Signed PDF link**/api/v2/signature-requests/{envelope_id}/signed-pdf](https://www.helprange.com/developers/api/get-signed-pdf)

## Offers

Offers with their own link; the API never e-mails the client.

- [GET**List offers**/api/v2/offers](https://www.helprange.com/developers/api/list-offers)
- [POST**Create an offer**/api/v2/offers](https://www.helprange.com/developers/api/create-offer)
- [GET**Offer details**/api/v2/offers/{offer_id}](https://www.helprange.com/developers/api/get-offer)
- [PATCH**Update an offer**/api/v2/offers/{offer_id}](https://www.helprange.com/developers/api/update-offer)
- [POST**Update an offer (POST)**/api/v2/offers/{offer_id}](https://www.helprange.com/developers/api/update-offer-post)
- [POST**Add documents to an offer**/api/v2/offers/{offer_id}/files](https://www.helprange.com/developers/api/add-offer-files)
- [POST**Remove documents from an offer**/api/v2/offers/{offer_id}/files/remove](https://www.helprange.com/developers/api/remove-offer-files)
- [GET**Responses to an offer**/api/v2/offers/{offer_id}/responses](https://www.helprange.com/developers/api/list-responses-of-offer)
- [GET**Offer responses**/api/v2/offer-responses](https://www.helprange.com/developers/api/list-offer-responses)

## Store

Store sales and buyer access to product folders.

- [POST**Give a buyer access**/api/v2/folders/{folder_id}/buyers](https://www.helprange.com/developers/api/grant-buyer-access)
- [POST**Remove a buyer's access**/api/v2/folders/{folder_id}/buyers/remove](https://www.helprange.com/developers/api/revoke-buyer-access)
- [GET**Store products and sales**/api/v2/store/sales](https://www.helprange.com/developers/api/list-store-sales)

## Lead forms

Lead magnet / landing page forms.

- [GET**List lead magnet forms**/api/v2/landing-templates](https://www.helprange.com/developers/api/list-landing-templates)

## Activity

The team activity feed.

- [GET**Team activity**/api/v2/activity](https://www.helprange.com/developers/api/list-activity)

## v1 (legacy)

The original /public-api endpoints. They keep working; new integrations should use REST API v2.

- [GET**v1: List directories**/public-api/directory](https://www.helprange.com/developers/api/v1-list-directories)
- [POST**v1: Create a directory**/public-api/directory](https://www.helprange.com/developers/api/v1-create-directory)
- [GET**v1: List files in a directory**/public-api/directory/{directory_id}/file](https://www.helprange.com/developers/api/v1-list-files)
- [POST**v1: Upload a file to a directory**/public-api/directory/{directory_id}/upload/{filename}](https://www.helprange.com/developers/api/v1-upload-file)
- [GET**v1: File statistics**/public-api/file/{file_id}/statistics](https://www.helprange.com/developers/api/v1-file-statistics)
- [POST**v1: Create a link**/public-api/file/{file_id}/link](https://www.helprange.com/developers/api/v1-create-link)
- [POST**v1: Add a guest**/public-api/guest](https://www.helprange.com/developers/api/v1-create-guest)
- [POST**v1: Assign a guest to a data room**/public-api/guest/{guest_id}/assign/{data_room_id}](https://www.helprange.com/developers/api/v1-assign-guest)

## More

The [OpenAPI 3.1 file](https://www.helprange.com/developers/openapi.json) works with Postman, Insomnia and code generators. AI assistants connect through the [MCP server](https://www.helprange.com/mcp-server) (OAuth, no API key) – see [Build with AI](https://www.helprange.com/developers/ai); the whole reference as Markdown for LLMs: [llms-full.txt](https://www.helprange.com/developers/llms-full.txt). The older single-page [API documentation](https://www.helprange.com/api-documentation) lists what changed and when.
