POST

Add a Q&A question

https://www.helprange.com/api/v2/data-rooms/{data_room_id}/questions

Adds a question (e.g. from a buyer's list), like importing a question list in the panel: nobody is e-mailed. Answer and approve it in the panel. 409 when the room is frozen. Q&A and request lists need the Max or Unlimited plan, the Deal Room Pass or the trial (else 402).

Plans: 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: addDataRoomQuestion

Parameters

NameInTypeDescription
data_room_id requiredpathintegerData room id (from List data rooms). (min 1)

Request body

Content types: application/json, application/x-www-form-urlencoded.

FieldTypeDescription
text requiredstringThe question. (max length 4000)
category"legal" | "financial" | "tax" | "hr" | "commercial" | "it" | "other"Default other.
document_idintegerA document of the room the question is about …
indexstring… or its index number, e.g. "2.1".
pageintegerPage number. (min 1)
all_guestsbooleantrue: published to the room's FAQ once answered.

Example request

curl -X POST https://www.helprange.com/api/v2/data-rooms/10/questions \
  -H "X-API-Key: $HELPRANGE_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-binary '{"text": "Any pending litigation?", "category": "legal", "index": "2.1", "page": 4}'

The samples read the key from the HELPRANGE_API_KEY environment variable.

Responses

StatusDescription
201Created
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).
403The team API key lacks the scope this endpoint needs.
404Not found – or not yours (the API never says which).
405Wrong HTTP method for this endpoint.
409The data room is frozen, or the signed PDF is not ready yet.
429A usage limit was reached – wait Retry-After seconds.
Example response · 201
{
  "id": 42,
  "number": "Q8",
  "status": "new",
  "status_label": "New",
  "category": "legal",
  "text": "Any pending litigation?",
  "source": "import",
  "asked_by": null,
  "document_id": 252,
  "document": "articles.pdf",
  "index": "2.1",
  "page": 4,
  "visibility": "private",
  "request_item_id": null,
  "assignee": null,
  "answer": null,
  "answer_approved": false,
  "decline_reason": null,
  "asked_at": "2026-11-10T07:30:00+00:00",
  "answered_at": null,
  "approved_at": null
}

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 and may e-mail people. 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.