-
GET Stream Document ContentStreams document content. Requires a valid signed token with tenant and client as query parameters. Use the optional 'disposition' parameter to contro.../clientdocument/{code}/stream
-
GET Stream External FileProxies and streams file content from an external storage provider. Requires a valid signed token with tenant and client as query parameters./external-file/{externalFileId}/stream
-
GET List Documents for ClientLists all Documents for the specified client. Requires: ViewAll on ClientDocuments./tenants/{tenant}/clients/{client}/clientdocument
-
POST Create Document for ClientCreates a new Document for the specified client. Requires: Create on ClientDocuments./tenants/{tenant}/clients/{client}/clientdocument
-
GET Get Document for ClientGets a Document for the specified client. Requires: ViewAll on ClientDocuments./tenants/{tenant}/clients/{client}/clientdocument/{code}
-
PUT Update Document for ClientUpdates the specified Document for the specified client. Requires: Update on ClientDocuments./tenants/{tenant}/clients/{client}/clientdocument/{code}
-
DELETE Delete Document for ClientDeletes a Document for the specified client. Requires: Delete on ClientDocuments./tenants/{tenant}/clients/{client}/clientdocument/{code}
-
GET List External FilesLists files from the client's external storage folder, enriched with metadata from the database for files tracked by Sodium. Returns 404 if the tenant.../tenants/{tenant}/clients/{client}/external-files
-
POST Create External FolderCreates a folder in the client's external storage folder. Pass `parentFolderId` to create it inside a subfolder; omit it to create at the top level of.../tenants/{tenant}/clients/{client}/external-folders
-
PUT Move External FilesMoves files into a different folder in the practice's external storage. Set `portalFolderPath` to also move the tracked documents to that folder in th.../tenants/{tenant}/clients/{client}/external-files/move
-
GET Get Client Document FolderGets the external folder reference for a client's documents. This is only relevant if an external Document Storage provider has been set for the Tenan.../tenants/{tenant}/clients/{client}/document-folder
-
PUT Set Client Document FolderUpdates the external folder reference for a client's documents. This is only relevant if an external Document Storage provider has been set for the Te.../tenants/{tenant}/clients/{client}/document-folder
-
DELETE Unmap Client Document FolderRemoves the external folder reference for a client's documents. The folder and its files are not deleted from the external storage provider. Requires.../tenants/{tenant}/clients/{client}/document-folder
-
PUT Review DocumentApprove or reject a document uploaded by a client via the portal. Requires: Update on ClientDocuments./tenants/{tenant}/clients/{client}/clientdocument/{code}/review
-
POST Notify Client of DocumentsSends the specified recipients a single email with a secure link to each document, optionally attaching the files. Completes a linked Upload a Documen.../tenants/{tenant}/clients/{client}/clientdocument/notify
-
POST Request Client ApprovalSends one or more documents to a client for approval. The documents appear in the client portal for approval. In Batch mode they form a single approva.../tenants/{tenant}/clients/{client}/clientdocument/request-approval
-
PUT Cancel Batch Approval RequestCancels a pending batch approval request, resetting every document still awaiting the client. Requires: Update on ClientDocuments./tenants/{tenant}/clients/{client}/clientdocument/approval-batches/{batchCode}/cancel
-
PUT Resend Batch Approval RequestEmails a pending portal approval request to the given addresses again, each with a fresh link. Everyone the request already went to keeps their link a.../tenants/{tenant}/clients/{client}/clientdocument/approval-batches/{batchCode}/resend
-
GET Get Batch Approval Request RecipientsReturns the email addresses a portal approval request currently counts as its recipients: everyone it was sent to and has not since been withdrawn fro.../tenants/{tenant}/clients/{client}/clientdocument/approval-batches/{batchCode}/recipients
-
PUT Cancel Client Approval RequestCancel a pending client approval request, resetting the document to no approval status. When the document was sent alongside others, only this documen.../tenants/{tenant}/clients/{client}/clientdocument/{code}/cancel-approval
-
GET Get Portal ViewReturns documents and folders as they would appear in the client portal, grouped by PortalFolderPath. Use the portalFolderPath query param to navigate.../tenants/{tenant}/clients/{client}/clientdocument/portal-view
-
PUT Move Documents to Portal FolderChanges which client portal folder the given documents appear in. Pass an empty or omitted `portalFolderPath` to move them to the portal root. Portal .../tenants/{tenant}/clients/{client}/clientdocument/portal-folder
-
PATCH Set Documents Portal VisibilityShows or hides the given documents in the client portal. Documents already in the requested state are unaffected, and a document pending client approv.../tenants/{tenant}/clients/{client}/clientdocument/portal-visibility
-
POST Bulk Track External FilesCreates document records for files that already exist in the external storage provider. No file upload — titles are derived from the file names. Files.../tenants/{tenant}/clients/{client}/clientdocument/bulk-track-external
-
POST Bulk Delete DocumentsDeletes the given documents, including their stored files. Documents are deleted independently, so the result can contain a mix of successes and failu.../tenants/{tenant}/clients/{client}/clientdocument/bulk-delete
-
POST Create Document from TemplateGenerates a PDF from a document template using client data and custom token values, then saves it as a client document. Requires: Create on ClientDoc.../tenants/{tenant}/clients/{client}/clientdocument/from-template
-
POST Track External FileCreates a document record for a file that already exists in the external storage provider. No file upload — just associates the external file with Sod.../tenants/{tenant}/clients/{client}/clientdocument/track-external
-
GET List Document VersionsReturns the document's file history as the practice's storage provider keeps it, newest first, each revision with its own signed download URL. Sodium .../tenants/{tenant}/clients/{client}/clientdocument/{code}/versions
-
POST Upload New Document VersionReplaces the document's file with the uploaded one, in place on the practice's storage provider, and returns the updated document. The document keeps .../tenants/{tenant}/clients/{client}/clientdocument/{code}/versions
-
GET List Client DocumentsReturns a paged list of client documents across all clients. Defaults to only showing documents sent for client approval (ClientApprovalStatus != None.../tenants/{tenant}/clientdocuments