Datarooms
Create and manage virtual datarooms.
List datarooms
Paginated list of datarooms for the authenticated team.
Create a dataroom
Create a new dataroom. Documents are added separately.
Get a dataroom
Returns dataroom metadata including document and folder counts. Accepts either the internal id or the `dr_…` public id.
Update a dataroom
Partial update of dataroom metadata. Documents are managed via the dataroom-documents endpoints, not here.
Delete a dataroom
Permanently deletes a dataroom and its document/folder mapping. The underlying documents are not deleted — only the dataroom and its membership rows.
Attach an existing document to a dataroom
Add an already-uploaded document to a dataroom, optionally placing it inside a dataroom folder. The document must belong to the same team as the dataroom; cross-team attaches are refused. Frozen datarooms refuse new attachments.
List documents in a dataroom
Returns DataroomDocument rows (the join between a dataroom and an underlying Document), ordered by folder then orderIndex.
Detach a document from a dataroom
Remove a single document's attachment to this dataroom, identified by the DataroomDocument id (`ddId`) returned when the document was attached or listed. The underlying document in the team library — and any attachment to other datarooms — is left intact. Frozen datarooms refuse detaches.
Move a document to another folder within a dataroom
Move a dataroom document (identified by its DataroomDocument id `ddId`) into a different folder of the same dataroom, or to the dataroom root with `folder_id: null`. Only the attachment's placement changes — the underlying document and its attachments to other datarooms are untouched. Frozen datarooms refuse moves.
List folders in a dataroom
Returns folders inside a dataroom. Use `parent_id=root` to list top-level folders, or `parent_id=<id>` for direct children of a specific folder. Without `parent_id` returns every folder in the dataroom.
Create a dataroom folder
Create a folder inside a dataroom. Path is derived server-side from name + parent. On sibling-name collision a numeric suffix is appended. Default permissions (matching the dashboard's create flow) are applied.
Get a dataroom folder
Returns a single folder inside a dataroom.
Update a dataroom folder
Rename a folder or update its icon/color. Renaming rewrites the `path` of this folder and every descendant in a single transaction.
Delete a dataroom folder
Delete a folder inside a dataroom. Refuses non-empty folders unless `cascade=true`. Cascade deletes nested folders and detaches every dataroom-document inside them — the underlying documents in the team library are kept.
Move a dataroom folder
Reparent a folder within a dataroom. Refuses moves into the folder itself or one of its descendants, and refuses if the target parent already has a sibling with the same slug. Descendant `path`s are rewritten in a single transaction.
List dataroom groups
Paginated list of viewer groups in a dataroom. Groups define an audience (members by email or domain) and per-item view/download permissions, and are the target of group share links.
Create a dataroom group
Create a viewer group in a dataroom. Add members via POST /v1/datarooms/{id}/groups/{gid}/members, grant document/folder access via PUT .../permissions, then share it by creating a link with `audience_type: "group"`.
Get a dataroom group
Update a dataroom group
Partial update — only the fields you pass are changed. `domains` and `allow_all` control who counts as a member beyond explicit email members.
Delete a dataroom group
Deletes the group, its memberships, its permissions, AND every share link pointing at it — active group links stop resolving immediately. This matches the dashboard's behavior and cannot be undone.
List group members
Paginated list of a group's explicit email members. Viewers admitted via the group's `domains` or `allow_all` are not listed here.
Add group members
Add members by email (up to 500 per call). Viewers are created for unknown addresses; already-present members are skipped, so the call is idempotent. No invitation emails are sent. Returns the memberships for every email in the request.
Remove a group member
Removes a membership by its id (from the members list). The underlying viewer is kept — only their membership in this group is removed.
List group permissions
Paginated list of the group's per-item access controls. Items without an entry are invisible to the group's viewers.
Set group permissions
Upsert per-item view/download permissions for the group. Delta semantics (matching the dashboard): entries you send are upserted, entries you omit keep their current state. Ancestor folders of any item made visible are automatically set to `can_view: true` so the folder tree stays navigable. `item_id` is a DataroomDocument id (GET /v1/datarooms/{id}/documents) or a dataroom folder id (GET /v1/datarooms/{id}/folders).