Docx Summaries
Download docx (Word document) summaries for a protocol template.
GET /v1/summaries/docxUse this endpoint for protocols with summaryType: "docx". Each result is a short-lived signed URL to download the generated .docx file.
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
protocolId | UUID | Yes | — | Protocol template ID |
recordId | UUID | No | — | Filter to a specific meeting |
dateFrom | string | No | — | Filter from this date (ISO 8601) |
dateTo | string | No | — | Filter until this date (ISO 8601) |
limit | integer | No | 20 | Max results (max: 50) |
offset | integer | No | 0 | Skip results for pagination |
Response
{
"success": true,
"data": [
{
"recordId": "3f9a1c72-8e04-4b21-9d6a-2c7e5f81a4d0",
"createdAt": "2026-04-10T14:30:00Z",
"downloadUrl": "https://storage.../signed-docx-url",
"expiresIn": 3600
}
],
"pagination": {
"total": 1,
"limit": 20,
"offset": 0
}
}The downloadUrl is a signed URL that expires after expiresIn seconds. Download the file before it expires, or call the endpoint again to get a fresh URL.
Examples
curl -X GET "https://api.optiverse.ai/external-api/v1/summaries/docx?protocolId=00000000-0000-4000-a000-000000000002&limit=5" \
-H "Authorization: Bearer optiuser_v1_your_key_here"import { writeFile } from "node:fs/promises";
const response = await fetch(
`${BASE_URL}/v1/summaries/docx?protocolId=00000000-0000-4000-a000-000000000002&limit=5`,
{ headers: { "Authorization": `Bearer ${API_KEY}` } }
);
const { data } = await response.json();
for (const item of data) {
const doc = await fetch(item.downloadUrl);
const buffer = Buffer.from(await doc.arrayBuffer());
await writeFile(`${item.recordId}.docx`, buffer);
}
