Summary Templates API
Overview
Summary template query API. Templates are used for the summary_template parameter of transcribe / conversation / broadcast recording types, and let you specify different summary formats (meeting, interview, medical consultation, legal consultation, etc.).
Endpoint Overview
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/v1/summary-templates | List templates (supports ?category= filtering) |
| GET | /api/v1/summary-templates/{slug} | Get the full details of a single template (including the template source text) |
GET /api/v1/summary-templates
Description
Retrieve the list of available summary templates, filtered by category. When you use the summary_template parameter in the WebSocket start action or the audio import API, set it to the template's slug value.
Authentication
Header: X-API-Key (see Authentication)
Request Parameters
| Field | Location | Type | Required | Default | Description |
|---|---|---|---|---|---|
category | query | string | No | summary | Template category filter. Allowed values: summary / medical / legal / all |
The default
summaryis a backward-compatible value that returns only general summary templates and does not include the medical/legal categories.
Request Example
# General summary (default / backward compatible)
curl -X GET "https://vas-poc.vurbo.ai/api/v1/summary-templates" \
-H "X-API-Key: vas_aB3dE5fG7hI9jK1lM3nO5pQ7rS9tU1vW"
# Medical category
curl -X GET "https://vas-poc.vurbo.ai/api/v1/summary-templates?category=medical" \
-H "X-API-Key: vas_aB3dE5fG7hI9jK1lM3nO5pQ7rS9tU1vW"
# All categories
curl -X GET "https://vas-poc.vurbo.ai/api/v1/summary-templates?category=all" \
-H "X-API-Key: vas_aB3dE5fG7hI9jK1lM3nO5pQ7rS9tU1vW"
Success Response
HTTP 200 (?category=all example: includes templates from all categories)
{
"data": [
{ "slug": "general", "name": "General Summary", "description": "Summary template for general conversations", "category": "summary" },
{ "slug": "meeting", "name": "Meeting Record", "description": "Meeting summary including key points, decisions, and action items", "category": "summary" },
{ "slug": "meeting_minutes", "name": "Meeting Minutes", "description": "Detailed meeting minutes template", "category": "summary" },
{ "slug": "speech", "name": "Speech Summary", "description": "Summary template for speech content", "category": "summary" },
{ "slug": "interview", "name": "Interview Summary", "description": "Summary template for interview content", "category": "summary" },
{ "slug": "course", "name": "Course Summary", "description": "Summary template for course content", "category": "summary" },
{ "slug": "medical_consultation", "name": "Medical Consultation", "description": "Medical consultation record template with 19 medical fields", "category": "medical" }
]
}
Omitting
?category=or passing?category=summary(default) lists only thesummarycategory; passing?category=medicallists only the medical category; passing?category=alllists all categories.
Response Fields
| Field | Type | Description |
|---|---|---|
data | array | List of summary templates |
data[].slug | string | Template identifier (used as an API parameter) |
data[].name | string | Template display name |
data[].description | string | Template description |
data[].category | string | Template category (summary / medical / legal) |
Specific Error Codes
Note: This endpoint's error shape differs from the rest of the API: 400 and 404 return
{"errorCode": "...", "message": "..."}(camelCase, at the top level), not the site-wide{"type": "error", "data": {"error_code": ...}}. 401 and 403 (produced by the authentication middleware) do use the standard shape. Handle this difference when parsing errors from this endpoint.
| Error Code | HTTP | Description | Recommended Action |
|---|---|---|---|
invalid_category | 400 | category is not in the allowed list | Use summary / medical / legal / all instead |
GET /api/v1/summary-templates/{slug}
Provides the full source text of the built-in IPEVO templates, for reference during enterprise integration. If you need your own prompt rules, use the
mode=custom+promptparameters instead (fully replacing the built-in template); see the Summary Customization guide.
Description
Retrieve the detailed content of the template with the specified slug. The response includes the three parts of the template:
system_prompt— role definitiontemplate_prompt— business template rulesoutput_format— output structure
When you call the summary API (mode=builtin), the built-in template is applied automatically. If you want to use your own rules entirely, use the mode=custom + prompt path instead.
Authentication
Header: X-API-Key
Terms of Use: This endpoint exposes the source text of the built-in IPEVO templates. API Key holders are deemed to have accepted the IPEVO ToS — you may not resell, copy, or reproduce this Prompt content in any non-IPEVO service.
Request Parameters
| Field | Location | Type | Required | Description |
|---|---|---|---|---|
slug | path | string | Yes | Template identifier (obtained from the GET /api/v1/summary-templates list) |
Request Example
curl -X GET "https://vas-poc.vurbo.ai/api/v1/summary-templates/medical_consultation" \
-H "X-API-Key: vas_aB3dE5fG7hI9jK1lM3nO5pQ7rS9tU1vW"
Success Response
HTTP 200
{
"data": {
"slug": "medical_consultation",
"name": "Medical Consultation",
"description": "Medical consultation record template",
"category": "medical",
"system_prompt": "You are a professional medical records specialist...",
"template_prompt": "[Task]\nGenerate a structured summary...",
"output_format": "[Summary Template Begin]\n## Patient Information\n..."
}
}
Response Fields
| Field | Type | Description |
|---|---|---|
data.slug | string | Template identifier |
data.name | string | Template display name |
data.description | string | null | Template description |
data.category | string | Template category |
data.system_prompt | string | Role-definition source text |
data.template_prompt | string | Business-template-rules source text |
data.output_format | string | Output-structure source text |
Specific Error Codes
Note: This endpoint's error shape differs from the rest of the API: 400 and 404 return
{"errorCode": "...", "message": "..."}(camelCase, at the top level), not the site-wide{"type": "error", "data": {"error_code": ...}}. 401 and 403 (produced by the authentication middleware) do use the standard shape. Handle this difference when parsing errors from this endpoint.
| Error Code | HTTP | Description | Recommended Action |
|---|---|---|---|
template_not_found | 404 | The template for the specified slug does not exist or has been disabled (is_active=false) | Use GET /api/v1/summary-templates to list available templates instead |
Related Resources
- Summary Customization guide — builtin / custom modes and customization parameters
- Audio Import Guide — use the
summary_templateparameter when uploading audio files - Real-Time Voice Translation Guide — use the
summary_templateparameter in the WebSocketstartaction
Version: V1.24.1 Last Updated: 2026-09-28