Templates

7 endpoints

POST/api/templates/{id}/renderauth required

Render template

Render an email template with variable substitution. Returns the interpolated HTML, text, and subject.

Parameters
NameInTypeRequiredDescription
idpathstringrequiredTemplate ID.
Request Bodyrequired
FieldTypeRequiredDescription
variablesobjectoptional
Responses
200Rendered template output.
FieldTypeRequiredDescription
htmlanyrequired
textanyrequired
subjectstringrequired
500Internal server error.
FieldTypeRequiredDescription
errorstringrequired
GET/api/templates/{id}auth required

Get template

Retrieve a single email template by its ID.

Parameters
NameInTypeRequiredDescription
idpathstringrequiredTemplate ID.
Responses
200Template details.
FieldTypeRequiredDescription
idstringrequired
projectIdanyrequired
namestringrequired
subjectstringrequired
htmlTemplateanyrequired
textTemplateanyrequired
variablesanyrequired
categoryanyrequired
versionanyrequired
isActiveanyrequired
syncStatusanyrequired
providerTemplateRefanyrequired
createdAtstringrequired
updatedAtstringrequired
500Internal server error.
FieldTypeRequiredDescription
errorstringrequired
PUT/api/templates/{id}auth required

Update template

Update an existing email template. All fields are optional. The template version is incremented automatically.

Parameters
NameInTypeRequiredDescription
idpathstringrequiredTemplate ID.
Request Bodyrequired
FieldTypeRequiredDescription
namestringoptional
subjectstringoptional
htmlTemplatestringoptional
textTemplatestringoptional
variablesobject[]optional
categorystringoptional
Responses
200Template updated successfully.
FieldTypeRequiredDescription
idstringrequired
projectIdanyrequired
namestringrequired
subjectstringrequired
htmlTemplateanyrequired
textTemplateanyrequired
variablesanyrequired
categoryanyrequired
versionanyrequired
isActiveanyrequired
syncStatusanyrequired
providerTemplateRefanyrequired
createdAtstringrequired
updatedAtstringrequired
400Validation error.
FieldTypeRequiredDescription
errorstringrequired
500Internal server error.
FieldTypeRequiredDescription
errorstringrequired
DELETE/api/templates/{id}auth required

Delete template

Delete an email template by its ID.

Parameters
NameInTypeRequiredDescription
idpathstringrequiredTemplate ID.
Responses
200Template deleted successfully.
FieldTypeRequiredDescription
deletedbooleanrequired
500Internal server error.
FieldTypeRequiredDescription
errorstringrequired
POST/api/templates/{id}/validateauth required

Validate template

Check a template for variable declaration mismatches. Returns errors when a {{variable}} is used but not declared, and warnings when a variable is declared but never referenced.

Parameters
NameInTypeRequiredDescription
idpathstringrequiredTemplate ID.
Responses
200Validation result with errors, warnings, and discovered variables.
FieldTypeRequiredDescription
validbooleanrequired
errorsstring[]required
warningsstring[]required
variablesstring[]required
500Internal server error.
FieldTypeRequiredDescription
errorstringrequired
GET/api/templatesauth required

List templates

Retrieve all email templates. Supports filtering by category, active status, and search term, as well as pagination.

Parameters
NameInTypeRequiredDescription
categoryquerystringoptionalFilter templates by category.
isActivequerystringoptionalFilter by active status ("true" or "false").
searchquerystringoptionalSearch templates by name (partial match).
pagequeryintegeroptionalPage number (1-based).
limitqueryintegeroptionalNumber of items per page.
Responses
200Paginated list of templates.
500Internal server error.
FieldTypeRequiredDescription
errorstringrequired
POST/api/templatesauth required

Create template

Create a new email template with optional HTML/text bodies and variable declarations.

Request Bodyrequired
FieldTypeRequiredDescription
namestringrequired
subjectstringrequired
htmlTemplatestringoptional
textTemplatestringoptional
variablesobject[]optional
categorystringoptional
Responses
200Template created successfully.
FieldTypeRequiredDescription
idstringrequired
projectIdanyrequired
namestringrequired
subjectstringrequired
htmlTemplateanyrequired
textTemplateanyrequired
variablesanyrequired
categoryanyrequired
versionanyrequired
isActiveanyrequired
syncStatusanyrequired
providerTemplateRefanyrequired
createdAtstringrequired
updatedAtstringrequired
400Validation error.
FieldTypeRequiredDescription
errorstringrequired
500Internal server error.
FieldTypeRequiredDescription
errorstringrequired