REST API

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

MethodEndpointDescription
GET/api/v1/summary-templatesList 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

FieldLocationTypeRequiredDefaultDescription
categoryquerystringNosummaryTemplate category filter. Allowed values: summary / medical / legal / all

The default summary is 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 the summary category; passing ?category=medical lists only the medical category; passing ?category=all lists all categories.

Response Fields

FieldTypeDescription
dataarrayList of summary templates
data[].slugstringTemplate identifier (used as an API parameter)
data[].namestringTemplate display name
data[].descriptionstringTemplate description
data[].categorystringTemplate 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 CodeHTTPDescriptionRecommended Action
invalid_category400category is not in the allowed listUse 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 + prompt parameters 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:

  1. system_prompt — role definition
  2. template_prompt — business template rules
  3. output_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

FieldLocationTypeRequiredDescription
slugpathstringYesTemplate 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

FieldTypeDescription
data.slugstringTemplate identifier
data.namestringTemplate display name
data.descriptionstring | nullTemplate description
data.categorystringTemplate category
data.system_promptstringRole-definition source text
data.template_promptstringBusiness-template-rules source text
data.output_formatstringOutput-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 CodeHTTPDescriptionRecommended Action
template_not_found404The 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


Version: V1.24.1 Last Updated: 2026-09-28

Copyright © 2026