Unstructured Summaries
Fetch Markdown summaries for a protocol template.
GET /v1/summaries/unstructuredUse this endpoint for protocols with summaryType: "unstructured". Each summary is a Markdown string.
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": "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 -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"response = requests.get(
f"{BASE_URL}/v1/summaries/unstructured",
headers={"Authorization": f"Bearer {API_KEY}"},
params={"protocolId": "eefc041d-58ea-4f8f-9119-fd4e9315ff0e", "limit": 5}
)
for item in response.json()["data"]:
print(f"Meeting {item['recordId']}:")
print(item["summary"])