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 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 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);