https://www.helprange.com/api/v2/data-rooms/{data_room_id}Renames the room (name: what guests see) and / or changes its settings, like the room's Settings window: watermark, download, screenshot protection, notifications, expiry, NDA on / off (nda, nda_id, nda_template, nda_mode), Q&A, access requests, room folders. Only what is sent changes; the room's documents take the new settings (within what each file type allows). Only a setting switched ON is checked against the plan (402) – a room keeps what it has, switching off is always allowed. Turning folders off deletes the room's folders; their documents stay in the room (409 when the room is frozen). Answers with the room.
Plans: Pro, Max, Unlimited, Deal Room Pass, trial. Auth: Authorization: Bearer hr_live_… (team key), X-API-Key, Authorization: Api-Key <key> or an OAuth Bearer token. Scope: rooms:write. Operation id: updateDataRoom
| Name | In | Type | Description |
|---|---|---|---|
data_room_id required | path | integer | Data room id (from List data rooms). (min 1) |
Header Idempotency-Key (optional, up to 255 characters): retry with the same key and body within 24 hours and you get the first response back (Idempotent-Replayed: true) – the request is not run twice. Another body: 422 idempotency_key_reused; still running: 409 idempotency_key_in_progress. More.
Content types: application/json, application/x-www-form-urlencoded.
| Field | Type | Description |
|---|---|---|
name | string | New name guests see. (max length 254) |
settings | object | Only the settings sent change (unknown keys: 400). They may also be sent at the top level. A setting the plan does not include: 402 naming the plan – never dropped silently. |
folders_enabled | boolean or integer or string | Shortcut (also accepted inside settings). true / false (also 1 / 0 or "true" / "false"). |
curl -X POST https://www.helprange.com/api/v2/data-rooms/10 \
-H "X-API-Key: $HELPRANGE_API_KEY" \
-H 'Content-Type: application/json' \
--data-binary '{"settings": {"nda": true, "nda_id": 4, "download": false, "expires_on": "2027-03-31"}}'
const res = await fetch('https://www.helprange.com/api/v2/data-rooms/10', {
method: 'POST',
headers: {'X-API-Key': process.env.HELPRANGE_API_KEY, 'Content-Type': 'application/json'},
body: JSON.stringify({
"settings": {
"nda": true,
"nda_id": 4,
"download": false,
"expires_on": "2027-03-31"
}
}),
});
const data = await res.json();
if (!res.ok) throw new Error(`${res.status}: ${data.error || data.message || data.reason}`);
console.log(data);
import os
import requests
r = requests.post(
'https://www.helprange.com/api/v2/data-rooms/10',
headers={'X-API-Key': os.environ['HELPRANGE_API_KEY']},
json={
"settings": {
"nda": True,
"nda_id": 4,
"download": False,
"expires_on": "2027-03-31",
},
},
timeout=60,
)
r.raise_for_status()
print(r.json())
The samples read the key from the HELPRANGE_API_KEY environment variable.
| Status | Description |
|---|---|
200 | OK |
400 | Invalid input – the message says which parameter. |
401 | Missing or invalid API key / OAuth token. Team keys: code invalid_key, key_revoked, key_expired or key_owner_removed. |
402 | Your plan does not include the REST API (the Free plan) or this feature (e.g. NDA needs Max). |
403 | The team API key lacks the scope this endpoint needs. |
404 | Not found – or not yours (the API never says which). |
405 | Wrong HTTP method for this endpoint. |
409 | The data room is frozen, the signed PDF is not ready yet, (webhooks) the team already has an endpoint / the endpoint is turned off, or (code idempotency_key_in_progress) a request with the same Idempotency-Key is still running – retry in a few seconds. |
422 | code idempotency_key_reused: this Idempotency-Key was already used in the last 24 hours with a different request (method, path or body). Use a new key for a new request. |
429 | A usage limit was reached – wait Retry-After seconds. |
{
"id": 10,
"name": "Project Falcon",
"nda_required": "Falcon NDA",
"folders_enabled": true,
"settings": {
"watermark": true,
"download": false,
"screenshot_protection": false,
"notify": true,
"expires_at": null,
"nda": {
"enabled": true,
"nda_id": 4,
"name": "Falcon NDA",
"mode": "click"
},
"qa": true,
"access_requests": false,
"folders_enabled": true
},
"links": {
"guest_link": "https://acme.helprange.com/data-room/0c6f2b9e7d1a4f3b8a5e6d7c9b0a1f2e/",
"panel_url": "https://www.helprange.com/user/outside-team/10/",
"owner_preview_url": "https://www.helprange.com/user/outside-team/10/preview"
},
"folders": [
{
"id": 5,
"name": "Financials"
}
],
"approval_workflow": false,
"guests": [
{
"id": 77,
"email": "buyer@bidco.com",
"link": "https://acme.helprange.com/view-team/0c6f2b9e7d1a4f3b8a5e6d7c9b0a1f2e/5b2e8c1d9f7a4e3b/",
"views": 23,
"last_view_at": "2026-11-09T17:40:00+00:00",
"nda": "signed",
"nda_signed_at": "2026-11-02T10:00:00+00:00"
}
],
"pending_access_requests": 1,
"documents": [
{
"id": 250,
"name": "teaser.pdf",
"views": 11,
"room_link_id": 901,
"room_folder_id": null,
"room_folder": null,
"group": null,
"approval": "published"
}
],
"expires_at": null,
"index_numbering": true,
"freeze": {
"frozen": false,
"guest_access": "full",
"frozen_at": null,
"archives": []
},
"qa": {
"available": true,
"open_questions": 3,
"questions": 12,
"request_items": 40,
"guests_can_ask": true,
"answers_need_approval": false,
"guests_see_request_list": true
}
}
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.