Open API v2 / Emails / Email Templates
Email Templates
→
Every request needs a bearer token: Authorization: Bearer <token>. Base URL https://your-site.webinone.com. New to field types? See the type reference.
Retrieves a list of email templates by using a "where" filtering
Parameters
Wherestring · query
JSON filter expression. Combine operators ($eq, $contains, $gt, $in, …) with $and / $or.
Order_Bystring · query
Sort field. Prefix with - for descending; comma-separate for tie-breakers.
Semantic_Querystring · query
Natural-language search, ranked by relevance.
Min_Scorenumber · query
Lowest relevance score to include when using Semantic_Query.
Offsetinteger · query
Number of items to skip before returning results. Defaults to 0.
Limitinteger · query
Maximum number of items to return. Defaults to 100.
Response
Idstring · nullable
Unique identifier. Technical record number in the database. Read-only.
Namestring · nullable
Name of the email template.
Bodystring · nullable
The body of the email. Typically contains HTML code with formatting, styles, and placeholders for dynamic data.
curl "https://your-site.webinone.com/api/v2/admin/email-templates" \ -H "Authorization: Bearer <token>"
await fetch("https://your-site.webinone.com/api/v2/admin/email-templates", { method: "GET", headers: { "Authorization": "Bearer <token>" } });
import requests requests.get( "https://your-site.webinone.com/api/v2/admin/email-templates", headers={"Authorization": "Bearer <token>"} )
$client = new GuzzleHttp\Client(); $response = $client->request('GET', 'https://your-site.webinone.com/api/v2/admin/email-templates', [ 'headers' => [ 'Authorization' => 'Bearer <token>' ] ]);
using var client = new HttpClient(); var request = new HttpRequestMessage(HttpMethod.Get, "https://your-site.webinone.com/api/v2/admin/email-templates"); request.Headers.Add("Authorization", "Bearer <token>"); var response = await client.SendAsync(request);
Response · 200
{
"Items": [
{
"Id": "string",
"Name": "Example",
"Body": "string"
}
],
"TotalItemsCount": 0
}Creates a new email template
Body parameters
Namestringrequired
Name of the email template.
Bodystringrequired
The main content of the letter body must contains {{this.emailContent}} liquid tag.
Response
Idinteger
Unique identifier. Technical record number in the database. Read-only.
Namestring · nullable
Name of the email.
EmailTemplateIdinteger
The identifier of the visual framework (template) that defines the design (logos, footer, fonts).
FromNamestring · nullable
Sender display name.
FromEmailstring · nullable
The system address from which the letter originates.
Subjectstring · nullable
A message subject that clearly indicates the essence of the event.
Bodystring · nullable
Message body.
CreatedDateTimestring · date-time
Date and time of case creation in UTC. Read-only.
GroupNamestring · nullable
The name of the group or category to which this letter belongs.
curl -X POST "https://your-site.webinone.com/api/v2/admin/email-templates" \ -H "Authorization: Bearer <token>" \ -H "Content-Type: application/json" \ -d '{"Name":"Example","Body":"string"}'
await fetch("https://your-site.webinone.com/api/v2/admin/email-templates", { method: "POST", headers: { "Authorization": "Bearer <token>", "Content-Type": "application/json" }, body: JSON.stringify({ "Name": "Example", "Body": "string" }) });
import requests requests.post( "https://your-site.webinone.com/api/v2/admin/email-templates", headers={"Authorization": "Bearer <token>"}, json={ "Name": "Example", "Body": "string" } )
$client = new GuzzleHttp\Client(); $response = $client->request('POST', 'https://your-site.webinone.com/api/v2/admin/email-templates', [ 'headers' => [ 'Authorization' => 'Bearer <token>', 'Content-Type' => 'application/json' ], 'json' => [ 'Name' => 'Example', 'Body' => 'string' ] ]);
using var client = new HttpClient(); var request = new HttpRequestMessage(HttpMethod.Post, "https://your-site.webinone.com/api/v2/admin/email-templates"); request.Headers.Add("Authorization", "Bearer <token>"); request.Content = new StringContent( "{\"Name\":\"Example\",\"Body\":\"string\"}", Encoding.UTF8, "application/json"); var response = await client.SendAsync(request);
Response · 200
{
"Id": 1,
"Name": "Example",
"EmailTemplateId": 1,
"FromName": "Example",
"FromEmail": "user@example.com",
"Subject": "string",
"Body": "string",
"CreatedDateTime": "2026-07-01T00: 00: 00Z",
"GroupName": "Example"
}Retrieves a single email template
Parameters
idinteger · pathrequired
Email template id.
Response
Idstring · nullable
Unique identifier. Technical record number in the database. Read-only.
Namestring · nullable
Name of the email template.
Bodystring · nullable
The body of the email. Typically contains HTML code with formatting, styles, and placeholders for dynamic data.
curl "https://your-site.webinone.com/api/v2/admin/email-templates/1" \ -H "Authorization: Bearer <token>"
await fetch("https://your-site.webinone.com/api/v2/admin/email-templates/1", { method: "GET", headers: { "Authorization": "Bearer <token>" } });
import requests requests.get( "https://your-site.webinone.com/api/v2/admin/email-templates/1", headers={"Authorization": "Bearer <token>"} )
$client = new GuzzleHttp\Client(); $response = $client->request('GET', 'https://your-site.webinone.com/api/v2/admin/email-templates/1', [ 'headers' => [ 'Authorization' => 'Bearer <token>' ] ]);
using var client = new HttpClient(); var request = new HttpRequestMessage(HttpMethod.Get, "https://your-site.webinone.com/api/v2/admin/email-templates/1"); request.Headers.Add("Authorization", "Bearer <token>"); var response = await client.SendAsync(request);
Response · 200
{
"Id": "string",
"Name": "Example",
"Body": "string"
}Updates an existing email template
Parameters
idinteger · pathrequired
Existent email template id.
Body parameters
Namestringrequired
Name of the email template.
Bodystringrequired
The main content of the letter body must contains {{this.emailContent}} liquid tag.
Response
Idinteger
Unique identifier. Technical record number in the database. Read-only.
Namestring · nullable
Name of the email.
EmailTemplateIdinteger
The identifier of the visual framework (template) that defines the design (logos, footer, fonts).
FromNamestring · nullable
Sender display name.
FromEmailstring · nullable
The system address from which the letter originates.
Subjectstring · nullable
A message subject that clearly indicates the essence of the event.
Bodystring · nullable
Message body.
CreatedDateTimestring · date-time
Date and time of case creation in UTC. Read-only.
GroupNamestring · nullable
The name of the group or category to which this letter belongs.
curl -X PUT "https://your-site.webinone.com/api/v2/admin/email-templates/1" \ -H "Authorization: Bearer <token>" \ -H "Content-Type: application/json" \ -d '{"Name":"Example","Body":"string"}'
await fetch("https://your-site.webinone.com/api/v2/admin/email-templates/1", { method: "PUT", headers: { "Authorization": "Bearer <token>", "Content-Type": "application/json" }, body: JSON.stringify({ "Name": "Example", "Body": "string" }) });
import requests requests.put( "https://your-site.webinone.com/api/v2/admin/email-templates/1", headers={"Authorization": "Bearer <token>"}, json={ "Name": "Example", "Body": "string" } )
$client = new GuzzleHttp\Client(); $response = $client->request('PUT', 'https://your-site.webinone.com/api/v2/admin/email-templates/1', [ 'headers' => [ 'Authorization' => 'Bearer <token>', 'Content-Type' => 'application/json' ], 'json' => [ 'Name' => 'Example', 'Body' => 'string' ] ]);
using var client = new HttpClient(); var request = new HttpRequestMessage(HttpMethod.Put, "https://your-site.webinone.com/api/v2/admin/email-templates/1"); request.Headers.Add("Authorization", "Bearer <token>"); request.Content = new StringContent( "{\"Name\":\"Example\",\"Body\":\"string\"}", Encoding.UTF8, "application/json"); var response = await client.SendAsync(request);
Response · 200
{
"Id": 1,
"Name": "Example",
"EmailTemplateId": 1,
"FromName": "Example",
"FromEmail": "user@example.com",
"Subject": "string",
"Body": "string",
"CreatedDateTime": "2026-07-01T00: 00: 00Z",
"GroupName": "Example"
}Deletes an existing email template
Parameters
idinteger · pathrequired
Existent email template id.
curl -X DELETE "https://your-site.webinone.com/api/v2/admin/email-templates/1" \ -H "Authorization: Bearer <token>"
await fetch("https://your-site.webinone.com/api/v2/admin/email-templates/1", { method: "DELETE", headers: { "Authorization": "Bearer <token>" } });
import requests requests.delete( "https://your-site.webinone.com/api/v2/admin/email-templates/1", headers={"Authorization": "Bearer <token>"} )
$client = new GuzzleHttp\Client(); $response = $client->request('DELETE', 'https://your-site.webinone.com/api/v2/admin/email-templates/1', [ 'headers' => [ 'Authorization' => 'Bearer <token>' ] ]);
using var client = new HttpClient(); var request = new HttpRequestMessage(HttpMethod.Delete, "https://your-site.webinone.com/api/v2/admin/email-templates/1"); request.Headers.Add("Authorization", "Bearer <token>"); var response = await client.SendAsync(request);