Send a test email using the specified template and tenant branding
curl --request POST \
--url https://api.royalti.io/email-templates/{templateName}/test \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"to": "you@yourlabel.com",
"customData": {}
}
'import requests
url = "https://api.royalti.io/email-templates/{templateName}/test"
payload = {
"to": "you@yourlabel.com",
"customData": {}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({to: 'you@yourlabel.com', customData: {}})
};
fetch('https://api.royalti.io/email-templates/{templateName}/test', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.royalti.io/email-templates/{templateName}/test",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'to' => 'you@yourlabel.com',
'customData' => [
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.royalti.io/email-templates/{templateName}/test"
payload := strings.NewReader("{\n \"to\": \"you@yourlabel.com\",\n \"customData\": {}\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.royalti.io/email-templates/{templateName}/test")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"to\": \"you@yourlabel.com\",\n \"customData\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.royalti.io/email-templates/{templateName}/test")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"to\": \"you@yourlabel.com\",\n \"customData\": {}\n}"
response = http.request(request)
puts response.read_body{
"status": "success",
"message": "Test email sent successfully",
"data": {
"templateName": "<string>",
"sentTo": "<string>",
"tenantId": 123
}
}{
"status": "error",
"message": "<string>",
"code": "<string>",
"details": {}
}{
"status": "error",
"message": "<string>",
"code": "<string>",
"details": {}
}{
"status": "error",
"message": "<string>",
"data": {
"availableTemplates": [
"<string>"
]
}
}White Label
Send a test email using the specified template and tenant branding
POST /email-templates//test
POST
/
email-templates
/
{templateName}
/
test
Send a test email using the specified template and tenant branding
curl --request POST \
--url https://api.royalti.io/email-templates/{templateName}/test \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"to": "you@yourlabel.com",
"customData": {}
}
'import requests
url = "https://api.royalti.io/email-templates/{templateName}/test"
payload = {
"to": "you@yourlabel.com",
"customData": {}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({to: 'you@yourlabel.com', customData: {}})
};
fetch('https://api.royalti.io/email-templates/{templateName}/test', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.royalti.io/email-templates/{templateName}/test",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'to' => 'you@yourlabel.com',
'customData' => [
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.royalti.io/email-templates/{templateName}/test"
payload := strings.NewReader("{\n \"to\": \"you@yourlabel.com\",\n \"customData\": {}\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.royalti.io/email-templates/{templateName}/test")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"to\": \"you@yourlabel.com\",\n \"customData\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.royalti.io/email-templates/{templateName}/test")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"to\": \"you@yourlabel.com\",\n \"customData\": {}\n}"
response = http.request(request)
puts response.read_body{
"status": "success",
"message": "Test email sent successfully",
"data": {
"templateName": "<string>",
"sentTo": "<string>",
"tenantId": 123
}
}{
"status": "error",
"message": "<string>",
"code": "<string>",
"details": {}
}{
"status": "error",
"message": "<string>",
"code": "<string>",
"details": {}
}{
"status": "error",
"message": "<string>",
"data": {
"availableTemplates": [
"<string>"
]
}
}This endpoint requires authentication. Include your Bearer token in the Authorization header.
Description
POST /email-templates//test Description: Renders the named template with sample data (optionally merged withcustomData) and the tenant’s branding, then sends it via
the tenant’s configured email sending path. Defaults to the
current user’s email if to is omitted.
Authorization:
- Required role:
adminor higher
Code Examples
const response = await fetch('https://api.royalti.io/email-templates/welcome/test', {
method: 'POST',
headers: {
'Authorization': `Bearer ${token}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
"ref": "#/components/schemas/SendTestEmailRequest"
})
});
const data = await response.json();
console.log(data);
import requests
response = requests.post(
'https://api.royalti.io/email-templates/welcome/test',
headers={
'Authorization': f'Bearer {token}'
},
json={"ref":"#/components/schemas/SendTestEmailRequest"}
)
data = response.json()
print(data)
curl -X POST https://api.royalti.io/email-templates/welcome/test \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"ref":"#/components/schemas/SendTestEmailRequest"}'
Authorizations
JWT Authorization header using the Bearer scheme. Format: "Bearer {token}"
Path Parameters
Body
application/json