Unstructured Summaries

Fetch Markdown summaries for a protocol template.

GET /v1/summaries/unstructured

Use this endpoint for protocols with summaryType: "unstructured". Each summary is a Markdown string.

Parameters

ParameterTypeRequiredDefaultDescription
protocolIdUUIDYesProtocol template ID
recordIdUUIDNoFilter to a specific meeting
dateFromstringNoFilter from this date (ISO 8601)
dateTostringNoFilter until this date (ISO 8601)
limitintegerNo20Max results (max: 50)
offsetintegerNo0Skip results for pagination

Response

{
  "success": true,
  "data": [
    {
      "recordId": "bd435e76-0eb1-432f-91a8-b4fed18744aa",
      "createdAt": "2026-04-10T14:30:00Z",
      "summary": "## Meeting Summary\n\nThe team discussed the Q2 roadmap...\n\n### Next Steps\n- John: prepare hiring plan\n- Sarah: finalize designs"
    }
  ],
  "pagination": {
    "total": 3,
    "limit": 20,
    "offset": 0
  }
}

Examples

cURL
curl -X GET "https://api.optiverse.ai/external-api/v1/summaries/unstructured?protocolId=eefc041d-58ea-4f8f-9119-fd4e9315ff0e&limit=5" \
  -H "Authorization: Bearer optiuser_v1_your_key_here"
JavaScript
const response = await fetch(
  `${BASE_URL}/v1/summaries/unstructured?protocolId=eefc041d-58ea-4f8f-9119-fd4e9315ff0e&limit=5`,
  { headers: { "Authorization": `Bearer ${API_KEY}` } }
);

const { data } = await response.json();
for (const item of data) {
  console.log(`Meeting ${item.recordId}:`);
  console.log(item.summary);
}