Documents API
The Documents API is used for managing files within a case.
List Documents for a Case
Retrieves a list of all documents associated with a specific case.
GET /api/cases/{caseId}/documents
Parameters
caseId(string, required): The ID of the case.
Response
Returns an array of DocumentRecord objects.
[
{
"id": "doc-123",
"recordType": "documentRecord",
"caseId": "case-abc",
"fileName": "Medical_Notes_Part1.pdf",
"size": 1024567,
"processStatus": "completed",
"pageCount": 52,
// ... other fields
}
]
Upload a Document
Uploading a document is a two-step process to ensure security and reliability.
Step 1: Prepare the Upload
First, you request a secure upload URL from the server.
POST /api/cases/{caseId}/upload-documents
Request Body
An array of file metadata objects.
[
{
"name": "Medical_Notes_Part2.pdf",
"type": "application/pdf",
"size": 2048999
}
]
Response
The server responds with an array of PreparedUploadInfo objects, each containing a unique documentId and a short-lived uploadUrl (a SAS URL for Azure Blob Storage).
[
{
"documentId": "doc-456",
"fileName": "Medical_Notes_Part2.pdf",
"uploadUrl": "[https://your-storage-account.blob.core.windows.net/](https://your-storage-account.blob.core.windows.net/)...",
"blobPath": "...",
"expiresOn": "..."
}
]
Step 2: Upload the File
Your application then uses the provided uploadUrl to upload the file directly to secure blob storage.
PUT {uploadUrl}
Headers:
x-ms-blob-type:BlockBlobContent-Type: The content type of the file (e.g.,application/pdf).
Body: The raw file binary.
Step 3: Finalize the Upload
After the file is successfully uploaded to blob storage, you must notify Records Rocket to create the document record in the database and begin the OCR process.
POST /api/cases/{caseId}/upload-documents/finalize
Request Body
{
"caseId": "case-abc",
"documentId": "doc-456",
"blobPath": "...",
"fileName": "Medical_Notes_Part2.pdf",
"contentType": "application/pdf",
"size": 2048999
}
Response
A confirmation that the document record has been created and processing has started.
{
"success": true,
"documentId": "doc-456",
"processingStarted": true
}