Skip to content

Premade Templates

Topol offers a collection of ready-made email templates you can easily access and use through our API. This saves you time by letting you start from professionally designed templates instead of building from scratch.

What Can You Do with the API?

  • List templates
    You can request a list of available premade templates. You can customize the list by paging through results, filtering by template type (FREE or PRO), searching by keywords or categories, and sorting by date or other properties.

  • Get template details
    Request a specific template’s full details, including its HTML and JSON content, by providing its ID.

  • List categories and keywords
    You can also get lists of categories (like Business, E-commerce) and keywords (like Sale/Discount, Autumn) to help filter and find templates.

How Does It Work?

1. Get an API key

You need an API key to call these token management APIs. You can get it either from your account settings or from your existing Plugin API Token settings.

When using an API key from your account settings, you can set various permissions. Go to Settings, then navigate to API Tokens. From there, select "Create API Token" and specify the permissions you wish to grant to this token.

If you prefer to use the same existing Plugin API token that was used to initialize your Plugin, simply copy it from the Plugin Settings under "Show API key".

2. Set API Request Headers

When making requests, include these headers:

json
{
  "accept": "application/json",
  "Authorization": "Bearer <api-key>"
}

Servers

https://app.topol.io/apiProduction server

Get premade email templates

GET
/premade-templates

Retrieve a list of premade email templates.

Authorizations

BearerAuth

Use: Authorization: Bearer <api-key>

Type
HTTP (bearer)

Request Body

application/json
JSON
{
"visible": true,
"published": true,
"type": "FREE",
"categories": [
1
],
"keywords": [
8
],
"sort_by": "order",
"sort_by_direction": "asc",
"search": "email",
"api_token": "0001f41e-a4b8-3e73-8d65-2b8500b54ff0",
"per_page": 25,
"current_page": 1
}

Responses

Templates fetched successfully

application/json
JSON
{
"success": true,
"data": {
"data": [
{
"id": 123,
"name": "Summer Promo",
"slug": "summer-promo",
"type": "email",
"img_thumb_url": "https://cdn.topol.io/templates/summer-thumb.jpg",
"category_id": 2,
"description": "Bright summer sale layout",
"keywords": [
{
"id": 8,
"keyword": "event",
"slug": "event",
"created_at": "2021-05-14T10:59:57.000000Z",
"updated_at": "2021-05-14T10:59:57.000000Z"
}
],
"created_at": "2025-02-04T10:21:33Z",
"updated_at": "2025-02-10T14:52:11Z"
}
],
"total_records": 360,
"current_page": 1,
"per_page": 25,
"next_page": 2,
"prev_page": 0,
"last_page": 15
}
}

Playground

Authorization
Body

Samples

cURL
JavaScript
PHP
Python

Get premade email template

GET
/premade-templates/{premadeTemplate}

Get a premade template

Authorizations

BearerAuth

Use: Authorization: Bearer <api-key>

Type
HTTP (bearer)

Parameters

Path Parameters

premadeTemplate*

Premade template ID

Type
integer
Required

Responses

Template fetched successfully

application/json
JSON
{
"success": true,
"data": {
"id": 410,
"name": "Christmas Workshops",
"slug": "christmas-workshops",
"type": "PRO",
"json": "{"body":"<mj-text>Hello World</mj-text>"}",
"html": " <!doctype html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Email Template</title> </head> <body> <p>Hello World</p> </body> </html> ",
"category_id": 7,
"order": 1009,
"description": "Come join us to get into the Advent spirit...",
"visible": true,
"created_at": "2025-10-06T14:08:08.000000Z",
"updated_at": "2025-10-06T14:08:19.000000Z",
"image_path": "/img/templates/410.jpg",
"image_thumb_path": "/img/templates/410_thumb.jpg",
"category": {
"id": 7,
"name": "Holidays",
"slug": "holidays",
"order": 7,
"created_at": "2021-05-14T10:59:57.000000Z",
"updated_at": "2021-05-14T10:59:57.000000Z"
},
"keywords": [
{
"id": 8,
"keyword": "event",
"slug": "event",
"created_at": "2021-05-14T10:59:57.000000Z",
"updated_at": "2021-05-14T10:59:57.000000Z"
}
]
}
}

Playground

Authorization
Variables
Key
Value

Samples

cURL
JavaScript
PHP
Python

Premade template categories


Get a list of premade template categories

GET
/premade-template-categories

Retrieve a list of premade template categories

Authorizations

BearerAuth

Use: Authorization: Bearer <api-key>

Type
HTTP (bearer)

Responses

Template categories fetched successfully

application/json
JSON
{
"success": true,
"data": [
{
"id": 7,
"name": "Holidays",
"value": "holidays"
}
]
}

Playground

Authorization

Samples

cURL
JavaScript
PHP
Python

Premade template keywords


Get a list of premade template keywords

GET
/premade-template-keywords

Retrieve a list of premade template keywords

Authorizations

BearerAuth

Use: Authorization: Bearer <api-key>

Type
HTTP (bearer)

Responses

Template keywords fetched successfully

application/json
JSON
{
"success": true,
"data": [
{
"id": 8,
"name": "event",
"value": "event"
}
]
}

Playground

Authorization

Samples

cURL
JavaScript
PHP
Python

Powered by VitePress OpenAPI