Ontwikkelaars
API-documentatie
Kantoren koppelen hun systemen met een API-sleutel (Beheer > Integraties). Stuur de sleutel mee als bearer-token: ‘Bearer ddr_…’. Een sleutel handelt als de beheerder die hem maakte, beperkt tot de gekozen scopes, en omzeilt nooit de rechten van een dataroom.
OpenAPI-document (JSON) · 446 operaties
Scopes
rooms.read rooms.write documents.read documents.upload documents.write flows.read flows.write exhibits.read exhibits.write messaging.read messaging.write qa.read qa.write team.read team.write office.read office.write audit.read billing.read outlook.addin
Sleutelbeheer
Een sleutel kan worden beperkt tot één of meer datarooms (roomIds, maximaal 50). Buiten die lijst bestaat de rest van het kantoor niet voor de sleutel: een verzoek op een andere dataroom krijgt 403 ROOM_OUT_OF_SCOPE, en de server past dezelfde grens in de rechtenlaag toe op documenten en andere onderdelen zonder dataroom in het pad.
Een sleutel per dataroom mag zonder dataroom in het pad alleen deze operaties aanroepen (listMyRooms toont alleen zijn eigen datarooms): getMe mcpInvoke listMyRooms
Medewerkers kunnen onder Account > Mijn koppelingen een persoonlijke sleutel maken, als de kantoorbeheerder dat aanzet (Beheer > Integraties). Een persoonlijke sleutel handelt als de medewerker, kan alleen lezen, binnen de looptijd en het aantal dat het kantoor toestaat. Gebruik via MCP vraagt een aparte kantoorinstelling; staat die uit, dan weigert /mcp/v1 de sleutel.
Scopes die een persoonlijke sleutel ooit kan krijgen (het kantoor kiest daaruit): rooms.read documents.read documents.upload flows.read exhibits.read messaging.read qa.read team.read office.read
Roteren geeft een nieuw geheim met dezelfde naam, scopes, datarooms en grenzen. De oude sleutel blijft een overgangsperiode geldig (standaard 7, maximaal 30 dagen), zodat een koppeling zonder onderbreking overstapt. De web-app waarschuwt 14 en 3 dagen voor het verlopen.
Een sleutel van de beheerder kan worden beperkt tot netwerken (allowedCidrs, CIDR-notatie): van elders antwoordt de server 403 IP_NOT_ALLOWED. Per sleutel is ook een eigen limiet in te stellen (rateLimitPerMinute, 1 tot 1000; standaard 300 per minuut).
Webhooks
Ontvangers krijgen een POST met de header X-DDR-Signature: t=UNIX-TIJD,v1=HEX (HMAC-SHA256 over ‘T.BODY’ met het geheim van het endpoint). De body bevat alleen id’s en het type.
MCP voor AI-assistenten
Dezelfde sleutel werkt voor AI-assistenten via MCP: POST /mcp/v1 met initialize, tools/list en tools/call. Eén tool per API-operatie hieronder, met dezelfde scopes, rechten en audit als REST.
api-keys
| GET | /api/v1/t/{tenantId}/api-keys List the API keys of the firm | alleen sessie |
| POST | /api/v1/t/{tenantId}/api-keys Create an API key (secret shown once) | alleen sessie |
| DELETE | /api/v1/t/{tenantId}/api-keys/{keyId} Revoke an API key | alleen sessie |
| POST | /api/v1/t/{tenantId}/api-keys/{keyId}/rotate Rotate an API key (new secret, old one valid for a grace period) | alleen sessie |
| GET | /api/v1/t/{tenantId}/api-keys/overview Integrations overview for firm admins and compliance | alleen sessie |
audit-events
| GET | /api/v1/t/{tenantId}/audit-events Query tenant audit events | audit.read |
audit-reports
| GET | /api/v1/t/{tenantId}/audit-reports/{reportId}/download.pdf Download an audit-report PDF | audit.read |
| GET | /api/v1/t/{tenantId}/audit-reports/{reportId}/download Download an audit report CSV | audit.read |
auth
| GET | /api/v1/auth/login Start the OIDC code flow | alleen sessie |
| GET | /api/v1/auth/callback OIDC callback | alleen sessie |
| POST | /api/v1/auth/logout Sign out | alleen sessie |
| GET | /api/v1/auth/sessions List my sessions and devices | alleen sessie |
| DELETE | /api/v1/auth/sessions/{sessionId} Sign out one of my sessions | alleen sessie |
| POST | /api/v1/auth/sessions/revoke-all Sign out my other devices (or everywhere) | alleen sessie |
| POST | /api/v1/t/{tenantId}/auth/sms/start Send the SMS code of this firm (guest second factor) | alleen sessie |
| POST | /api/v1/t/{tenantId}/auth/sms/verify Verify the SMS code (guest second factor) | alleen sessie |
| POST | /api/v1/auth/backchannel-logout Keycloak backchannel logout | alleen sessie |
| GET | /api/v1/auth/step-up Start the step-up (re-authentication) code flow | alleen sessie |
billing
| GET | /api/v1/t/{tenantId}/billing/overview Read the plan, seats, price and storage usage of the firm | billing.read |
| GET | /api/v1/t/{tenantId}/billing/quote What would it cost: a PLAN §7.3 price quote for a seat count | billing.read |
| GET | /api/v1/t/{tenantId}/billing/storage-pool Read the organisation storage pool metering | billing.read |
| POST | /api/v1/t/{tenantId}/billing/plan Change the firm subscription plan | alleen sessie |
bundles
| GET | /api/v1/t/{tenantId}/bundles/{bundleId} Read bundle status and validation summary | exhibits.read |
| GET | /api/v1/t/{tenantId}/bundles/{bundleId}/download Download the bundle ZIP | exhibits.write |
client-workspace
| GET | /api/v1/client-workspace/{token} Read the client workspace of an invitation link | alleen sessie |
| POST | /api/v1/client-workspace/{token}/requests/{flowId}/items/{itemId}/files Upload a file into a request item from the workspace (draft) | alleen sessie |
| DELETE | /api/v1/client-workspace/{token}/requests/{flowId}/items/{itemId}/files/{fileId} Remove an own draft file from the workspace | alleen sessie |
| PUT | /api/v1/client-workspace/{token}/requests/{flowId}/items/{itemId}/not-applicable Mark an item not applicable from the workspace (draft) | alleen sessie |
| DELETE | /api/v1/client-workspace/{token}/requests/{flowId}/items/{itemId}/not-applicable Withdraw a draft not-applicable claim from the workspace | alleen sessie |
| POST | /api/v1/client-workspace/{token}/requests/{flowId}/items/{itemId}/questions Ask the firm a question about an item from the workspace | alleen sessie |
| POST | /api/v1/client-workspace/{token}/requests/{flowId}/submit Send the prepared items of a request from the workspace | alleen sessie |
| POST | /api/v1/client-workspace/{token}/requests/{flowId}/items/{itemId}/submit Submit one item for review from the client workspace (locks it) | alleen sessie |
| PUT | /api/v1/client-workspace/{token}/requests/{flowId}/items/{itemId}/answer Save the draft answer of an item from the client workspace | alleen sessie |
clients
| GET | /api/v1/t/{tenantId}/clients List visible clients | rooms.read |
| POST | /api/v1/t/{tenantId}/clients Create a client | rooms.write |
| GET | /api/v1/t/{tenantId}/clients/{clientId} Read a client | rooms.read |
| GET | /api/v1/t/{tenantId}/clients/{clientId}/wwft Read the Wwft dossier of a client | audit.read |
| PUT | /api/v1/t/{tenantId}/clients/{clientId}/wwft Change the Wwft dossier of a client | office.write |
| POST | /api/v1/t/{tenantId}/clients/{clientId}/wwft/relationship-end Record the end of the client relationship (starts the Wwft retention) | office.write |
compliance-packs
| GET | /api/v1/t/{tenantId}/compliance-packs List the recent compliance packs of the firm | office.write |
| POST | /api/v1/t/{tenantId}/compliance-packs Ask for a "Deken-ready" compliance pack | office.write |
| GET | /api/v1/t/{tenantId}/compliance-packs/{packId} Read one compliance pack | office.write |
| GET | /api/v1/t/{tenantId}/compliance-packs/{packId}/download Download a compliance pack (ZIP) | office.write |
dashboard
| GET | /api/v1/t/{tenantId}/dashboard Read the firm home dashboard summary | team.read |
deletion-certificates
| GET | /api/v1/t/{tenantId}/deletion-certificates List deletion records and certificates | audit.read |
| GET | /api/v1/t/{tenantId}/deletion-certificates/{recordId} Download a deletion certificate (JSON) | audit.read |
| GET | /api/v1/t/{tenantId}/deletion-certificates/{recordId}/pdf Download a deletion certificate (PDF) | audit.read |
deletion-requests
| GET | /api/v1/t/{tenantId}/deletion-requests List deletion requests | documents.write |
| POST | /api/v1/t/{tenantId}/deletion-requests/{requestId}/approve Approve a deletion request as the second approver | documents.write |
| POST | /api/v1/t/{tenantId}/deletion-requests/{requestId}/reject Reject a pending deletion request | documents.write |
| POST | /api/v1/t/{tenantId}/deletion-requests/{requestId}/cancel Cancel a deletion request before it executes | documents.write |
diagnostics
| GET | /api/v1/t/{tenantId}/diagnostics Operational failure counts of the office | team.read |
document-inbox
| GET | /api/v1/t/{tenantId}/document-inbox Personal new, unread or approval-pending documents | alleen sessie |
dossier-packs
| GET | /api/v1/t/{tenantId}/dossier-packs List the available dossier packs of the firm | alleen sessie |
| POST | /api/v1/t/{tenantId}/dossier-packs/preview Preview the exact effective dossier pack | alleen sessie |
exhibit-index-exports
| GET | /api/v1/t/{tenantId}/exhibit-index-exports/{exportId} Read index export status | exhibits.read |
| GET | /api/v1/t/{tenantId}/exhibit-index-exports/{exportId}/download Download the generated exhibit index | exhibits.write |
exhibits
| PATCH | /api/v1/t/{tenantId}/exhibits/{exhibitId} Patch an exhibit: description, date, pin or non-digital | exhibits.write |
| DELETE | /api/v1/t/{tenantId}/exhibits/{exhibitId} Remove an exhibit from a draft | exhibits.write |
| POST | /api/v1/t/{tenantId}/exhibits/{exhibitId}/withdraw Withdraw a submitted exhibit | exhibits.write |
| POST | /api/v1/t/{tenantId}/exhibits/{exhibitId}/move Move an exhibit to another draft of the same party | exhibits.write |
| POST | /api/v1/t/{tenantId}/exhibits/{exhibitId}/rendition/retry Retry a failed exhibit rendition | exhibits.write |
firm
| GET | /api/v1/t/{tenantId}/firm/members/{principalId}/sessions List a firm member's active sessions | alleen sessie |
| DELETE | /api/v1/t/{tenantId}/firm/members/{principalId}/sessions Sign out a firm member everywhere in this tenant | alleen sessie |
| GET | /api/v1/t/{tenantId}/firm Read the firm profile | team.read |
| PATCH | /api/v1/t/{tenantId}/firm Update the firm profile | team.write |
| GET | /api/v1/t/{tenantId}/firm/settings Read the firm-wide settings | team.read |
| PATCH | /api/v1/t/{tenantId}/firm/settings Update the firm-wide settings | team.write |
| GET | /api/v1/t/{tenantId}/firm/members List firm users with their roles | team.read |
| PUT | /api/v1/t/{tenantId}/firm/members/{principalId}/roles Replace a member's firm roles | team.write |
| POST | /api/v1/t/{tenantId}/firm/members/{principalId}/block Disable a firm user | team.write |
| POST | /api/v1/t/{tenantId}/firm/members/{principalId}/unblock Enable a disabled firm user | team.write |
| GET | /api/v1/t/{tenantId}/firm/dossier-packs Read office sector configuration | alleen sessie |
| PUT | /api/v1/t/{tenantId}/firm/dossier-packs Update office sector configuration | alleen sessie |
firm-branding
| GET | /api/v1/t/{tenantId}/firm-branding Read firm branding | team.read |
| PUT | /api/v1/t/{tenantId}/firm-branding Update firm branding | team.write |
| GET | /api/v1/t/{tenantId}/firm-branding/stylesheet Per-tenant branding stylesheet | alleen sessie |
| GET | /api/v1/t/{tenantId}/firm-branding/logo Firm logo | alleen sessie |
flow-templates
| GET | /api/v1/t/{tenantId}/flow-templates List flow templates | flows.read |
| POST | /api/v1/t/{tenantId}/flow-templates Create a flow template | flows.write |
| GET | /api/v1/t/{tenantId}/flow-templates/{templateId} Read a flow template with its draft and latest version | flows.read |
| PUT | /api/v1/t/{tenantId}/flow-templates/{templateId}/draft Save the template draft | flows.write |
| POST | /api/v1/t/{tenantId}/flow-templates/{templateId}/publish Publish the template draft as a new immutable version | flows.write |
| POST | /api/v1/t/{tenantId}/flow-templates/{templateId}/copy Copy a template into the organisation | flows.write |
| POST | /api/v1/t/{tenantId}/flow-templates/{templateId}/archive Archive a template | flows.write |
| POST | /api/v1/t/{tenantId}/flow-templates/{templateId}/restore Restore an archived template | flows.write |
flows
| GET | /api/v1/t/{tenantId}/flows/{flowId}/items List the item views of a flow | flows.read |
| POST | /api/v1/t/{tenantId}/flows/{flowId}/items/{itemId}/submissions Submit an item for review | flows.write |
| POST | /api/v1/t/{tenantId}/flows/{flowId}/items/{itemId}/skip Skip an item for now | flows.write |
| PUT | /api/v1/t/{tenantId}/flows/{flowId}/items/{itemId}/draft-answer Save a draft answer | flows.write |
| GET | /api/v1/t/{tenantId}/flows/{flowId}/items/{itemId}/answers/{answerId} Read an answer value | flows.read |
| POST | /api/v1/t/{tenantId}/flows/{flowId}/items/{itemId}/draft-files Attach an uploaded version as a draft file | flows.write |
| DELETE | /api/v1/t/{tenantId}/flows/{flowId}/items/{itemId}/draft-files/{versionId} Remove a draft file before submitting | flows.write |
| POST | /api/v1/t/{tenantId}/flows/{flowId}/items/{itemId}/review Start, approve, reject, re-request, waive, cancel or reopen an item | flows.write |
| GET | /api/v1/t/{tenantId}/flows/{flowId}/items/{itemId}/history Review history of one item | flows.read |
| GET | /api/v1/t/{tenantId}/flows/{flowId}/checklist Checklist view of one request | flows.read |
| POST | /api/v1/t/{tenantId}/flows/{flowId}/items/{itemId}/questions Post a professional message on an item question thread | flows.write |
| POST | /api/v1/t/{tenantId}/flows/{flowId}/items/{itemId}/files/{fileId}/bsn-mask Burn every BSN out of a delivered file | flows.write |
| POST | /api/v1/t/{tenantId}/flows/{flowId}/items/{itemId}/share Share one private item with every bound party | flows.write |
| DELETE | /api/v1/t/{tenantId}/flows/{flowId}/items/{itemId}/share Withdraw the share of one joint item | flows.write |
guest-links
| POST | /api/v1/guest-links/{token}/code Send the guest e-mail code | alleen sessie |
| POST | /api/v1/guest-links/{token}/session Sign in a guest with an e-mail code | alleen sessie |
guest-sign-in
| POST | /api/v1/guest-sign-in/code Send a guest sign-in code to an invited address | alleen sessie |
| POST | /api/v1/guest-sign-in/session Sign in a guest with the code from the general sign-in page | alleen sessie |
healthz
| GET | /healthz Liveness | alleen sessie |
invitation-links
| GET | /api/v1/t/{tenantId}/invitation-links/{token} Read a colleague invitation by its link (public landing) | alleen sessie |
| POST | /api/v1/t/{tenantId}/invitation-links/{token}/continue Continue a colleague invitation: prepare the sign-in identity | alleen sessie |
invitations
| GET | /api/v1/t/{tenantId}/invitations/users List the colleague invitations of the firm | team.read |
| POST | /api/v1/t/{tenantId}/invitations/users Invite a colleague onto a firm role | team.write |
| POST | /api/v1/t/{tenantId}/invitations/bulk Bulk invite from pasted addresses or CSV | team.write |
| POST | /api/v1/t/{tenantId}/invitations/users/{invitationId}/resend Resend a colleague invitation with a fresh link | team.write |
| POST | /api/v1/t/{tenantId}/invitations/users/{invitationId}/revoke Revoke a colleague invitation | team.write |
| GET | /api/v1/invitations/{token} Read an invitation by its token (public landing) | alleen sessie |
| POST | /api/v1/invitations/{token}/accept Accept an invitation and bind the signed-in identity | alleen sessie |
key-rotation
| POST | /api/v1/t/{tenantId}/key-rotation/master-rewrap Start a KMS master-key re-wrap run | alleen sessie |
| POST | /api/v1/t/{tenantId}/key-rotation/recovery-rewrap Start a recovery-share re-wrap run | alleen sessie |
| POST | /api/v1/t/{tenantId}/key-rotation/rooms/{roomId}/rotate Rotate one room key | alleen sessie |
| GET | /api/v1/t/{tenantId}/key-rotation/summary Read the tenant key-rotation summary | team.read |
kvk
| GET | /api/v1/t/{tenantId}/kvk/search Search the KvK trade register | office.read |
legal-holds
| GET | /api/v1/t/{tenantId}/legal-holds List the legal holds of the tenant | office.read |
| POST | /api/v1/t/{tenantId}/legal-holds Place a legal hold | office.write |
| GET | /api/v1/t/{tenantId}/legal-holds/{holdId} Read one legal hold | office.read |
| POST | /api/v1/t/{tenantId}/legal-holds/{holdId}/lift Lift a legal hold | office.write |
matters
| GET | /api/v1/t/{tenantId}/matters List visible matters | rooms.read |
| POST | /api/v1/t/{tenantId}/matters Create a matter | rooms.write |
| GET | /api/v1/t/{tenantId}/matters/{matterId} Read a matter | rooms.read |
| GET | /api/v1/t/{tenantId}/matters/{matterId}/rooms List rooms of a matter | rooms.read |
| GET | /api/v1/t/{tenantId}/matters/{matterId}/retention Read the retention surface of a matter | office.read |
| POST | /api/v1/t/{tenantId}/matters/{matterId}/close Close a matter | rooms.write |
me
| GET | /api/v1/me Identity-level session summary | iedere sleutel |
| GET | /api/v1/t/{tenantId}/me/ui-preferences Read my global UI preferences | team.read |
| PUT | /api/v1/t/{tenantId}/me/ui-preferences Replace my global UI preferences | team.write |
| GET | /api/v1/t/{tenantId}/me/rooms/{roomId}/ui-preferences Read my UI preferences for one room | team.read |
| PUT | /api/v1/t/{tenantId}/me/rooms/{roomId}/ui-preferences Replace my UI preferences for one room | team.write |
| GET | /api/v1/t/{tenantId}/me/notification-preferences Read my notification preferences | team.read |
| PUT | /api/v1/t/{tenantId}/me/notification-preferences Replace my notification preferences | team.write |
| GET | /api/v1/t/{tenantId}/me/notifications List my notifications with the unread count | team.read |
| POST | /api/v1/t/{tenantId}/me/notifications/{notificationId}/read Mark one notification read | team.write |
| POST | /api/v1/t/{tenantId}/me/notifications/read-all Mark all my notifications read | team.write |
| GET | /api/v1/t/{tenantId}/me/notification-preferences/events Read my per-event notification preferences | team.read |
| PUT | /api/v1/t/{tenantId}/me/notification-preferences/events Replace my per-event notification preferences | team.write |
| GET | /api/v1/t/{tenantId}/me/notifications/stream Live notification stream (SSE) for signed-in users | alleen sessie |
| GET | /api/v1/t/{tenantId}/me/api-keys List my own API keys | alleen sessie |
| POST | /api/v1/t/{tenantId}/me/api-keys Create a personal API key (secret shown once) | alleen sessie |
| DELETE | /api/v1/t/{tenantId}/me/api-keys/{keyId} Revoke one of my API keys | alleen sessie |
| POST | /api/v1/t/{tenantId}/me/api-keys/{keyId}/rotate Rotate one of my personal API keys | alleen sessie |
mortgage
| GET | /api/v1/t/{tenantId}/mortgage/files List the mortgage files the caller may read | office.read |
my-rooms
| GET | /api/v1/t/{tenantId}/my-rooms List the caller's own rooms | rooms.read, outlook.addin |
outlook-addin
| POST | /api/v1/t/{tenantId}/outlook-addin/connections Connect the Outlook add-in for the signed-in user | alleen sessie |
| DELETE | /api/v1/t/{tenantId}/outlook-addin/connections/current Disconnect the Outlook add-in (revoke the calling key) | outlook.addin |
portal
| GET | /api/v1/portal/requests/{token} Read a request in the client portal | alleen sessie |
| POST | /api/v1/portal/requests/{token}/items/{itemId}/files Upload a file into a request item (draft) | alleen sessie |
| DELETE | /api/v1/portal/requests/{token}/items/{itemId}/files/{fileId} Remove an own draft file | alleen sessie |
| PUT | /api/v1/portal/requests/{token}/items/{itemId}/not-applicable Mark an item not applicable (draft) | alleen sessie |
| DELETE | /api/v1/portal/requests/{token}/items/{itemId}/not-applicable Withdraw a draft not-applicable claim | alleen sessie |
| POST | /api/v1/portal/requests/{token}/items/{itemId}/questions Ask the firm a question about an item | alleen sessie |
| POST | /api/v1/portal/requests/{token}/submit Send the prepared items to the firm | alleen sessie |
| GET | /api/v1/portal/requests/{token}/items/{itemId}/files/{fileId}/receipt Download the upload receipt of an own portal file (PDF) | alleen sessie |
| POST | /api/v1/portal/requests/{token}/items/{itemId}/submit Submit one item for review (locks it) | alleen sessie |
| GET | /api/v1/portal/requests/{token}/items/{itemId}/files/{fileId}/download Download an own delivered file | alleen sessie |
| PUT | /api/v1/portal/requests/{token}/items/{itemId}/answer Save the draft answer of an item | alleen sessie |
procedural-documents
| PATCH | /api/v1/t/{tenantId}/procedural-documents/{proceduralDocumentId} Patch or move a procedural document | exhibits.write |
| DELETE | /api/v1/t/{tenantId}/procedural-documents/{proceduralDocumentId} Delete an empty draft procedural document | exhibits.write |
| POST | /api/v1/t/{tenantId}/procedural-documents/{proceduralDocumentId}/submit Mark a procedural document as submitted | exhibits.write |
| POST | /api/v1/t/{tenantId}/procedural-documents/{proceduralDocumentId}/reopen Reopen the latest submitted procedural document of a party | exhibits.write |
| POST | /api/v1/t/{tenantId}/procedural-documents/{proceduralDocumentId}/exhibits Add exhibits to a draft procedural document | exhibits.write |
| PUT | /api/v1/t/{tenantId}/procedural-documents/{proceduralDocumentId}/exhibit-order Replace the exhibit order inside a draft | exhibits.write |
procedure-parties
| PATCH | /api/v1/t/{tenantId}/procedure-parties/{partyId} Patch a party | exhibits.write |
| DELETE | /api/v1/t/{tenantId}/procedure-parties/{partyId} Delete a party | exhibits.write |
| POST | /api/v1/t/{tenantId}/procedure-parties/{partyId}/bundles Build a Mijn Rechtspraak-ready bundle | exhibits.write |
| GET | /api/v1/t/{tenantId}/procedure-parties/{partyId}/bundle-preview Dry-run bundle validation with generated names and index rows | exhibits.read |
| POST | /api/v1/t/{tenantId}/procedure-parties/{partyId}/exhibit-index Generate the exhibit index (PDF or editable DOCX) | exhibits.write |
procedures
| GET | /api/v1/t/{tenantId}/procedures/{procedureId} Read a procedure with parties and procedural documents | exhibits.read |
| PATCH | /api/v1/t/{tenantId}/procedures/{procedureId} Patch a procedure | exhibits.write |
| POST | /api/v1/t/{tenantId}/procedures/{procedureId}/close Close a procedure | exhibits.write |
| POST | /api/v1/t/{tenantId}/procedures/{procedureId}/parties Add a party to a procedure | exhibits.write |
| POST | /api/v1/t/{tenantId}/procedures/{procedureId}/exhibit-names/suggest Suggest a sanitised short name for a party display name | exhibits.read |
| POST | /api/v1/t/{tenantId}/procedures/{procedureId}/procedural-documents Create a procedural document for a party | exhibits.write |
| GET | /api/v1/t/{tenantId}/procedures/{procedureId}/parties/{partyId}/exhibits List the numbered exhibits of one party | exhibits.read |
public
| POST | /api/v1/public/file-shares/{tenantId}/{shareId}/open Open a file link using both capabilities | alleen sessie |
| POST | /api/v1/public/file-shares/{tenantId}/{shareId}/download Stream one pinned original with an atomic download reservation | alleen sessie |
readyz
| GET | /readyz Readiness | alleen sessie |
report-exports
| GET | /api/v1/t/{tenantId}/report-exports The caller’s report exports of the last 7 days | office.write |
| POST | /api/v1/t/{tenantId}/report-exports Ask for a report file (report catalogue) | office.write |
| GET | /api/v1/t/{tenantId}/report-exports/{exportId} One of the caller’s report exports | office.write |
| GET | /api/v1/t/{tenantId}/report-exports/{exportId}/download Download a built report file | office.write |
request-templates
| POST | /api/v1/t/{tenantId}/request-templates Save a new firm request template | flows.write |
| PUT | /api/v1/t/{tenantId}/request-templates/{templateId} Replace a firm request template | flows.write |
| DELETE | /api/v1/t/{tenantId}/request-templates/{templateId} Archive a firm request template | flows.write |
retention
| GET | /api/v1/t/{tenantId}/retention/classes Read the retention catalogue with the tenant durations | office.read |
| PUT | /api/v1/t/{tenantId}/retention/classes/{classId} Set the tenant duration of one retention class | office.write |
| GET | /api/v1/t/{tenantId}/retention/room-types Read the room-type retention schedules | office.read |
| PUT | /api/v1/t/{tenantId}/retention/room-types/{roomType} Replace the default classes of one room type | office.write |
| POST | /api/v1/t/{tenantId}/retention/overrides Request a retention override (shortening) | office.write |
| GET | /api/v1/t/{tenantId}/retention/overview Rooms nearing or past their retention date, and rooms on hold | office.read |
| GET | /api/v1/t/{tenantId}/retention/profession-profile Read the firm profession profile and the profile catalogue | team.read |
| PUT | /api/v1/t/{tenantId}/retention/profession-profile Pick the firm profession profile | team.write |
review-items
| GET | /api/v1/t/{tenantId}/review-items Cross-room review queue | documents.read |
| POST | /api/v1/t/{tenantId}/review-items/bulk-approve Approve several review items in one request | documents.write |
rooms
| GET | /api/v1/t/{tenantId}/rooms List visible rooms | rooms.read |
| POST | /api/v1/t/{tenantId}/rooms Create a room | rooms.write |
| GET | /api/v1/t/{tenantId}/rooms/{roomId} Read a room | rooms.read |
| POST | /api/v1/t/{tenantId}/rooms/from-pack Create a dataroom with a versioned dossier pack | alleen sessie |
rooms/access-settings
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/access-settings Read the room access settings (IP allow-list, scheduled freeze, external deadline) | rooms.read |
| PATCH | /api/v1/t/{tenantId}/rooms/{roomId}/access-settings Update the room access settings | rooms.write |
rooms/archive
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/archive Archive a closed room (read-only, retention keeps running) | rooms.write |
rooms/archive-jobs
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/archive-jobs Start a full room archive (ZIP) for closing or handing over the room | rooms.write |
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/archive-jobs/{jobId} Read the progress of a full room archive | rooms.read |
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/archive-jobs/{jobId}/download Download a built full room archive (ZIP) | rooms.write |
rooms/audit-events
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/audit-events Query room audit events | audit.read |
rooms/audit-reports
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/audit-reports Generate a stored audit report | audit.read |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/audit-reports/pdf Generate a stored audit-report PDF | audit.read |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/audit-reports/kifid Generate the Kifid pack CSV of a mortgage file | office.write |
rooms/claims
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/claims Bounded internal register of a room's creditor claims | alleen sessie |
rooms/close
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/close Close a room and start its retention clock | rooms.write |
rooms/deal-workflow
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/deal-workflow Read the deal phase and authorized document/group choices | alleen sessie |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/deal-workflow/previews Preview exact document versions and recipient groups; changes no access | alleen sessie |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/deal-workflow/previews/{previewId}/apply Explicitly apply a fresh permission preview or freeze a closing selection exactly once | alleen sessie |
rooms/destruction-requests
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/destruction-requests Request the destruction of a closed, expired room | alleen sessie |
rooms/documents
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/documents/{documentId}/pages/{pageNo} Render one document page with a per-request watermark | documents.read |
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/documents/{documentId}/versions/{versionNo}/processing Processing status of one document version | documents.read |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/documents/{documentId}/versions/{versionNo}/processing/retry Retry a failed processing step | documents.write |
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/documents/{documentId}/retention Read the retention surface of a document | documents.read, office.read |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/documents/{documentId}/retention/classes Add a retention class to a document manually | documents.write |
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/documents/{documentId}/metadata Read document metadata | documents.read |
| PATCH | /api/v1/t/{tenantId}/rooms/{roomId}/documents/{documentId}/metadata Edit document metadata | documents.write |
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/documents/{documentId} Read one document and its latest version | documents.read |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/documents/{documentId}/approve Approve a document uploaded with approval | documents.write |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/documents/{documentId}/reject Reject a document uploaded with approval | documents.write |
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/documents/{documentId}/versions List the versions of a document | documents.read |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/documents/{documentId}/versions Upload a new version of a document | documents.upload, documents.write |
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/documents/{documentId}/versions/{versionNo} Read one version of a document | documents.read |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/documents/{documentId}/versions/{versionNo}/restore Restore an older version as a new version | documents.write |
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/documents/{documentId}/download Download a document (original or watermarked PDF) | documents.read |
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/documents/{documentId}/print Print a document (watermarked PDF) | documents.read |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/documents/{documentId}/engagement Report page dwell time from the viewer (heartbeat) | office.write |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/documents/{documentId}/redaction/matches Find areas for search terms and pattern suggestions | documents.read |
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/documents/{documentId}/redactions Read the redaction log of a document | documents.read |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/documents/{documentId}/redactions Burn redactions into a new version | documents.write |
| PUT | /api/v1/t/{tenantId}/rooms/{roomId}/documents/{documentId}/privilege Tag or untag a document as privileged | documents.write |
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/documents/{documentId}/annotations My notes and highlights on a document, plus the ones shared with the deal team | documents.read |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/documents/{documentId}/annotations Add a note or highlight to a page | documents.write |
| PATCH | /api/v1/t/{tenantId}/rooms/{roomId}/documents/{documentId}/annotations/{annotationId} Share an own annotation with the deal team, or make it private again | documents.write |
| DELETE | /api/v1/t/{tenantId}/rooms/{roomId}/documents/{documentId}/annotations/{annotationId} Remove an own note or highlight | documents.write |
| PUT | /api/v1/t/{tenantId}/rooms/{roomId}/documents/{documentId}/review Mark a document as reviewed by me (or clear the mark) | documents.write |
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/documents/{documentId}/sheets List the sheets of a spreadsheet document (Excel viewer) | documents.read |
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/documents/{documentId}/sheets/{sheetNo} One window of rows of a sheet, with the forensic watermark | documents.read |
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/documents/{documentId}/signing-requests Read the signing requests of a document | office.write |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/documents/{documentId}/signing-requests Offer the current version for signature | office.write |
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/documents/{documentId}/find Find pages of one document that contain a term | documents.read |
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/documents/{documentId}/versions/compare Compare two versions of a document | alleen sessie |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/documents/{documentId}/read-state Mark the current version read or unread for the signed-in user | alleen sessie |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/documents/{documentId}/office-sessions Open a document in the self-hosted office editor | alleen sessie |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/documents/{documentId}/viewer-events Report a suspicious viewer signal (screenshot key, focus loss, print or copy attempt) | alleen sessie |
rooms/download-jobs
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/download-jobs Start a bulk download (ZIP) of selected documents and folders | documents.read |
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/download-jobs/{jobId} Read the progress of a bulk download | documents.read |
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/download-jobs/{jobId}/download Download a built bulk download (ZIP) | documents.read |
rooms/exhibit-register
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/exhibit-register Read the room exhibit register | exhibits.read |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/exhibit-register/exhibits Mark a document as the next exhibit of a party | exhibits.write |
| PATCH | /api/v1/t/{tenantId}/rooms/{roomId}/exhibit-register/exhibits/{exhibitId} Edit an exhibit description or date | exhibits.write |
| DELETE | /api/v1/t/{tenantId}/rooms/{roomId}/exhibit-register/exhibits/{exhibitId} Remove an exhibit designation | exhibits.write |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/exhibit-register/exhibits/{exhibitId}/withdraw Withdraw an exhibit (keeps its number) | exhibits.write |
| PUT | /api/v1/t/{tenantId}/rooms/{roomId}/exhibit-register/order Explicitly renumber the exhibits of a party | exhibits.write |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/exhibit-register/parties/{partyId}/submit Mark the exhibit set of a party as submitted (ingediend) | exhibits.write |
rooms/file-shares
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/file-shares List own file links and completed server transfers | alleen sessie |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/file-shares Create a version-pinned secure file link | outlook.addin |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/file-shares/{shareId}/revoke Revoke an own file link | alleen sessie |
rooms/findings
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/findings The findings register of a room | office.read |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/findings Record a finding | office.write |
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/findings/export Export the register as XLSX | office.write |
| PATCH | /api/v1/t/{tenantId}/rooms/{roomId}/findings/{findingId} Change a finding | office.write |
rooms/flow-schedules
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/flow-schedules List the recurring request schedules of a room | flows.read |
| PATCH | /api/v1/t/{tenantId}/rooms/{roomId}/flow-schedules/{scheduleId} Pause, resume or stop a recurring request | flows.write |
rooms/flows
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/flows List the flows of a room | flows.read |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/flows Create a flow draft in a room | flows.write |
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/flows/{flowId} Read a flow | flows.read |
| PUT | /api/v1/t/{tenantId}/rooms/{roomId}/flows/{flowId} Edit a draft flow | flows.write |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/flows/{flowId}/send Send a flow to its recipients | flows.write |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/flows/{flowId}/close Close a flow | flows.write |
| PUT | /api/v1/t/{tenantId}/rooms/{roomId}/flows/{flowId}/items/{itemId}/validity Enter the document date of a checklist item | flows.write |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/flows/{flowId}/reminders Send a reminder for an open request now | flows.write |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/flows/{flowId}/schedule Repeat a sent request monthly, quarterly or yearly | flows.write |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/flows/{flowId}/copy Copy a request into a new draft ("Kopieer van vorig jaar") | flows.write |
rooms/freeze
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/freeze Freeze a room (read-only) without starting its retention clock | rooms.write |
rooms/groups
| PUT | /api/v1/t/{tenantId}/rooms/{roomId}/groups/{groupId}/medical-access Grant or withdraw a group's access to the special-category zones | team.write |
rooms/guardrail-flags
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/guardrail-flags List the BSN guardrail flags of a room | office.read |
rooms/guest-links
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/guest-links List invitation links of a room | rooms.read |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/guest-links Create an invitation link for a request recipient | rooms.write |
| DELETE | /api/v1/t/{tenantId}/rooms/{roomId}/guest-links/{linkId} Revoke an invitation link | rooms.write |
rooms/hand-off-packages
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/hand-off-packages List the caller's hand-off package exports of one room | alleen sessie |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/hand-off-packages Enqueue a hand-off package export of one room for a recipient profile | alleen sessie |
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/hand-off-packages/{exportId}/download Download a built hand-off package (ZIP) | alleen sessie |
rooms/index
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/index List one folder level of the index tree | rooms.read, outlook.addin |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/index Create a folder or a placeholder | rooms.write, documents.upload, documents.write, outlook.addin |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/index/import Import a folder and placeholder structure in one transaction | rooms.write |
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/index/import-template Download the index import template as CSV | rooms.read |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/index/import-csv Import a folder and placeholder structure from CSV text | rooms.write |
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/index/visible-counts Room-level visible counts over the viewer’s visible nodes | rooms.read |
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/index/trash List the trashed nodes of the room | rooms.write |
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/index/{nodeId} Read one index node | rooms.read, outlook.addin |
| PATCH | /api/v1/t/{tenantId}/rooms/{roomId}/index/{nodeId} Rename a folder or a placeholder | rooms.write |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/index/{nodeId}/move Move or reorder one index node | rooms.write |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/index/{nodeId}/copy Copy an index node structure (metadata only) | rooms.write |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/index/{nodeId}/trash Move a node and its subtree to the trash | rooms.write |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/index/{nodeId}/restore Restore a trashed node | rooms.write |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/index/selection/resolve Resolve a caller-described bulk selection to node ids | rooms.read |
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/index/export Download the visible room index as XLSX or PDF | alleen sessie |
rooms/insights
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/insights Room engagement insights per group, document and folder | office.read |
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/insights/documents/{documentId} Engagement per page and group for one document, with the per-person detail | office.read |
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/insights/export Export the room insights as CSV | office.write |
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/insights/people Room engagement per person | alleen sessie |
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/insights/qa Q&A turnaround per asking group | alleen sessie |
rooms/integration-activity
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/integration-activity Integrations and AI assistants that accessed this room | rooms.read |
rooms/invitations
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/invitations List the guest invitations of a room | team.read |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/invitations Invite an external person into a room group | team.write |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/invitations/{invitationId}/resend Resend a room invitation with a fresh link | team.write |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/invitations/{invitationId}/revoke Revoke a room invitation | team.write |
rooms/medical-disclosures
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/medical-disclosures Read the targeted disclosures of one injured party (subject's own log) | alleen sessie |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/medical-disclosures Log one targeted medical disclosure | alleen sessie |
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/medical-disclosures/{disclosureId} Read one disclosure binding by id (an old link by id) | alleen sessie |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/medical-disclosures/{disclosureId}/revoke Withdraw one disclosure binding (revocation) | alleen sessie |
rooms/medical-log
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/medical-log Export the Medische Paragraaf information log (CSV or PDF) | office.write |
rooms/members-overview
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/members-overview Users and groups overview of a room | rooms.read |
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/members-overview/export Export the users and groups overview as XLSX | office.read |
rooms/message-threads
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/message-threads List the message threads of a room | messaging.read |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/message-threads Start a message thread | messaging.write |
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/message-threads/{threadId} Read one message thread | messaging.read |
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/message-threads/{threadId}/messages List the messages of a thread | messaging.read |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/message-threads/{threadId}/messages Post a message to a thread | messaging.write |
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/message-threads/{threadId}/receipts List the read receipts of a thread | messaging.read |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/message-threads/{threadId}/read Mark a thread read | messaging.write |
rooms/mortgage-file
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/mortgage-file Read the mortgage file of a room | office.read |
| PUT | /api/v1/t/{tenantId}/rooms/{roomId}/mortgage-file Create or replace the mortgage file of a room | office.write |
rooms/nodes
| PUT | /api/v1/t/{tenantId}/rooms/{roomId}/nodes/{nodeId}/internal Mark or clear an internal counsel area | team.write |
| PUT | /api/v1/t/{tenantId}/rooms/{roomId}/nodes/{nodeId}/medical Mark or clear a special-category zone ("Medisch") | team.write |
rooms/pack
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/pack Read the room-bound pack configuration | alleen sessie |
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/pack/templates Read request templates for this room | alleen sessie |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/pack/upgrade-preview Preview the additive version upgrade of a room dossier pack | rooms.read |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/pack/upgrade Apply an explicit additive room dossier pack upgrade | rooms.write |
rooms/pending-approvals
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/pending-approvals List the documents that wait for approval | flows.read |
rooms/permissions
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/permissions/groups List the groups of a room | rooms.read |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/permissions/groups Create a group in a room | rooms.write |
| PATCH | /api/v1/t/{tenantId}/rooms/{roomId}/permissions/groups/{groupId} Update a group name, settings or expiry | rooms.write |
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/permissions/groups/{groupId}/members List the members of a group | rooms.read |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/permissions/groups/{groupId}/members Add a member to a group | team.write |
| DELETE | /api/v1/t/{tenantId}/rooms/{roomId}/permissions/groups/{groupId}/members/{principalId} Remove a member from a group | team.write |
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/permissions/nodes/{nodeId} Read the access of every group on one node | rooms.read |
| PUT | /api/v1/t/{tenantId}/rooms/{roomId}/permissions/nodes/{nodeId}/groups/{groupId} Set the explicit assignment of one group on one node | team.write |
| DELETE | /api/v1/t/{tenantId}/rooms/{roomId}/permissions/nodes/{nodeId}/groups/{groupId} Reset one group on one node to inherited | team.write |
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/permissions/effective Effective access of one principal on one node | rooms.read |
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/permissions/mine The caller's own access on one node | rooms.read, outlook.addin |
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/permissions/export Export the permissions matrix (folder x group) as XLSX | office.read |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/permissions/nodes Read the access of many nodes in one bounded request | alleen sessie |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/permissions/assignments/batch Set or clear many group assignments in one bounded request | alleen sessie |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/permissions/bulk-apply Preview or apply a preset to the custom settings below a folder (PERM-UX06) | alleen sessie |
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/permissions/preview Preview the room as a group or user | alleen sessie |
rooms/privilege-log
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/privilege-log Export the privilege log of a room (CSV) | office.write |
rooms/procedures
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/procedures List the procedures of a litigation room | exhibits.read |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/procedures Create a procedure in a litigation room | exhibits.write |
rooms/qa
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/qa Q&A overview of a room for the caller | qa.read |
| PUT | /api/v1/t/{tenantId}/rooms/{roomId}/qa/settings Switch Q&A on or off and set quotas and the notification address | qa.write |
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/qa/questions List the questions the caller may read | qa.read |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/qa/questions Ask a question | qa.write |
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/qa/questions/{questionId} Read one question with its thread | qa.read |
| PATCH | /api/v1/t/{tenantId}/rooms/{roomId}/qa/questions/{questionId} Route, prioritise, categorise, set a due date, close or reopen | qa.write |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/qa/questions/{questionId}/answer Save or submit the answer draft | qa.write |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/qa/questions/{questionId}/notes Post an internal note | qa.write |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/qa/questions/{questionId}/publish Approve the submitted answer and publish it | qa.write |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/qa/questions/{questionId}/reject Send the submitted answer back to the expert | qa.write |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/qa/exports Export the Q&A log as XLSX or PDF | qa.write |
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/qa/exports/{exportId} Read the state of a Q&A export | qa.read |
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/qa/exports/{exportId}/download Download a built Q&A export | qa.read |
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/qa/import/template Download the Excel import template | rooms.read |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/qa/import/preview Validate an import file without writing | qa.write |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/qa/import Create the questions of an import file for a bidder group | qa.write |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/qa/categories Add a room-specific question category | qa.write |
| PATCH | /api/v1/t/{tenantId}/rooms/{roomId}/qa/categories/{categoryId} Rename, recolour or reorder a category | qa.write |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/qa/questions/{questionId}/reassign Reassign a question to another expert with a hand-over note | qa.write |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/qa/questions/{questionId}/decline Decline a question with a mandatory reason | qa.write |
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/qa/questions/{questionId}/activity Activity timeline of a question | qa.read |
rooms/reactivate
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/reactivate Reactivate a frozen room without a support call | rooms.write |
rooms/receipts
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/receipts/{versionId} Download an upload receipt (PDF) | flows.read |
rooms/retention
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/retention Read the retention surface of a room | office.read |
rooms/review-progress
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/review-progress "12 of 40 reviewed": my review progress in a room | flows.read |
rooms/settings
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/settings Read room settings | rooms.read |
| PATCH | /api/v1/t/{tenantId}/rooms/{roomId}/settings Update room settings | rooms.write |
rooms/signing-requests
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/signing-requests/{requestId}/cancel Cancel a pending signing request | office.write |
rooms/signing-templates
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/signing-templates/{templateId} Create a library document in a room | office.write |
rooms/terms
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/terms Read the effective room terms | rooms.read |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/terms/accept Accept the room terms | team.write |
rooms/trash
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/trash List the room trash with who trashed each item and when | rooms.write |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/trash/restore Restore one or more trash items | rooms.write |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/trash/purge Delete one or more trash items definitively (Definitief verwijderen) | alleen sessie |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/trash/purge-requests/{requestId}/approve Give the second approval for a definitive deletion (four eyes) | alleen sessie |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/trash/purge-requests/{requestId}/cancel Cancel an open definitive deletion request | alleen sessie |
rooms/uploads
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/uploads Upload one file into the room index | documents.upload, documents.write, outlook.addin |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/uploads/{uploadSessionId} Create a resumable (tus) upload session | documents.write |
| PATCH | /api/v1/t/{tenantId}/rooms/{roomId}/uploads/{uploadSessionId} Accept a resumable (tus) upload chunk | documents.write |
| DELETE | /api/v1/t/{tenantId}/rooms/{roomId}/uploads/{uploadSessionId} Terminate a resumable (tus) upload session | documents.write |
rooms/workstage
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/workstage Read the shared dossier workstage of a room | alleen sessie |
| POST | /api/v1/t/{tenantId}/rooms/{roomId}/workstage Advance the shared dossier workstage of a room | alleen sessie |
rooms/wwft-summary
| GET | /api/v1/t/{tenantId}/rooms/{roomId}/wwft-summary Wwft-dossier summary of a room | office.read |
search
| GET | /api/v1/t/{tenantId}/search Search node names and document metadata | office.read |
| GET | /api/v1/t/{tenantId}/search/content Full-text search in document content | office.read |
security-contact
| GET | /api/v1/t/{tenantId}/security-contact Read the tenant security contact | team.read |
| PUT | /api/v1/t/{tenantId}/security-contact Replace the tenant security contact | team.write |
security-notices
| GET | /api/v1/t/{tenantId}/security-notices List the tenant security notices | audit.read |
| POST | /api/v1/t/{tenantId}/security-notices Publish a new security notice version | alleen sessie |
| GET | /api/v1/t/{tenantId}/security-notices/{noticeId}/receipts List read receipts of one security notice | audit.read |
| POST | /api/v1/t/{tenantId}/security-notices/{noticeId}/receipts Mark one security notice read for the current admin | audit.read |
sign
| GET | /api/v1/sign/{token} The signing task behind a link | office.write |
| POST | /api/v1/sign/{token}/sign Sign the document | alleen sessie |
signing
| POST | /api/v1/signing/webhooks/{provider} Provider status callback (external providers only) | alleen sessie |
signing-templates
| GET | /api/v1/t/{tenantId}/signing-templates The firm signing-document library | office.write |
sms
| POST | /api/v1/sms/delivery-reports/{provider} Receive an SMS delivery report from the SMS provider | alleen sessie |
sso-config
| PUT | /api/v1/t/{tenantId}/sso-config Upsert the firm's SSO configuration | alleen sessie |
sso-domains
| POST | /api/v1/t/{tenantId}/sso-domains Add one firm e-mail domain | alleen sessie |
| DELETE | /api/v1/t/{tenantId}/sso-domains/{domain} Remove one firm e-mail domain | alleen sessie |
| POST | /api/v1/t/{tenantId}/sso-domains/{domain}/verification-challenge Issue the DNS TXT challenge for a domain | alleen sessie |
| POST | /api/v1/t/{tenantId}/sso-domains/{domain}/verification Confirm the DNS TXT challenge for a domain | alleen sessie |
sso-status
| GET | /api/v1/t/{tenantId}/sso-status Read the firm's SSO status | alleen sessie |
sso-sync
| POST | /api/v1/t/{tenantId}/sso-sync Sync the firm's Keycloak organization and IdP projection | alleen sessie |
storage
| GET | /api/v1/t/{tenantId}/storage/pool Read the organisation storage pool | billing.read |
| GET | /api/v1/t/{tenantId}/storage/usage List storage usage per client, matter or room | billing.read |
| GET | /api/v1/t/{tenantId}/storage/pool/config Read the organisation storage pool configuration | billing.read |
| PATCH | /api/v1/t/{tenantId}/storage/pool/config Update the organisation storage pool configuration | office.write |
support
| GET | /api/v1/t/{tenantId}/support/requests List the support requests of a tenant | office.write |
| POST | /api/v1/t/{tenantId}/support/requests Submit a support request | office.write |
| POST | /api/v1/t/{tenantId}/support/requests/{requestId}/status Advance a support request | office.write |
| POST | /api/v1/t/{tenantId}/support/grants/requests Ask for a time-limited support grant | office.write |
| GET | /api/v1/t/{tenantId}/support/grants List the support grants of a tenant | office.write |
| POST | /api/v1/t/{tenantId}/support/grants/{grantId}/approve Approve a support request | office.write |
| POST | /api/v1/t/{tenantId}/support/grants/{grantId}/deny Deny a support request | office.write |
| POST | /api/v1/t/{tenantId}/support/grants/{grantId}/revoke Revoke an active support grant | office.write |
terms
| POST | /api/v1/t/{tenantId}/terms Publish a new version of the room terms | rooms.write |
| POST | /api/v1/t/{tenantId}/terms/pending List the rooms whose terms the caller still must accept | alleen sessie |
trial
| POST | /api/v1/trial/signup Request verified account setup | alleen sessie |
| POST | /api/v1/trial/complete Create the authenticated owner’s trial office | alleen sessie |
| POST | /api/v1/t/{tenantId}/trial/convert Convert the trial office to a paid plan | alleen sessie |
webhooks
| GET | /api/v1/t/{tenantId}/webhooks List the webhook endpoints of the firm | alleen sessie |
| POST | /api/v1/t/{tenantId}/webhooks Register a webhook endpoint (secret shown once) | alleen sessie |
| DELETE | /api/v1/t/{tenantId}/webhooks/{webhookId} Deactivate a webhook endpoint | alleen sessie |
| POST | /api/v1/t/{tenantId}/webhooks/{webhookId}/test Queue a test delivery (`webhook.test`) | alleen sessie |
| GET | /api/v1/t/{tenantId}/webhooks/{webhookId}/deliveries The delivery log of one endpoint | alleen sessie |
wwft
| GET | /api/v1/t/{tenantId}/wwft/overview Wwft overview of all clients (Beheer) | office.read |
| GET | /api/v1/t/{tenantId}/wwft/overview/export Export the Wwft overview as XLSX (evidence for the deken or the BFT) | office.write |