Skip to main content
GET
/
public
/
v1
/
transactionals
/
{id}
/
stats
Retrieve Transactional Detail and Statistics
curl --request GET \
  --url https://api.minimo.it/public/v1/transactionals/{id}/stats \
  --header 'Authorization: Bearer <token>'
{
  "data": {
    "created": "2026-06-11T09:50:39.760Z",
    "openRate": "0%",
    "clickRate": "0%",
    "totalMessagesSent": 1
  }
}

Overview

Track the performance of your email templates with detailed analytics including:
  • Delivery volume: Total messages sent
  • Engagement rates: Open rates and click rates
  • Metadata: Creation timestamp

Use Cases

Track which templates have the best engagement:
const templates = await getTemplateList();

for (const template of templates) {
  const response = await getTemplateStats(template.id);
  const stats = response.data;
  console.log(`${template.name}: ${stats.openRate} open rate`);
}
Compare performance between template variants:
const responseA = await getTemplateStats('tmpl_variant_a');
const responseB = await getTemplateStats('tmpl_variant_b');

const rateA = parseFloat(responseA.data.clickRate);
const rateB = parseFloat(responseB.data.clickRate);

if (rateB > rateA) {
  console.log('Template B performs better');
}
Display real-time stats in your application:
async function updateDashboard() {
  const response = await getTemplateStats('tmpl_welcome');
  const stats = response.data;
  
  document.getElementById('sent-count').textContent = stats.totalMessagesSent;
  document.getElementById('open-rate').textContent = stats.openRate;
  document.getElementById('click-rate').textContent = stats.clickRate;
}

Response Example

{
  "data": {
    "created": "2026-06-11T09:50:39.760Z",
    "openRate": "0%",
    "clickRate": "0%",
    "totalMessagesSent": 1
  }
}

Metrics Explained

MetricTypeDescription
createdstringTimestamp when the template/transactional message was created.
openRatestringPercentage of recipients who opened the message (e.g. “85%”).
clickRatestringPercentage of recipients who clicked a link in the message (e.g. “50%”).
totalMessagesSentintegerTotal number of messages sent using this template.

Best Practices

Monitoring Frequency

  • High-volume templates: Check daily
  • Moderate-volume: Check weekly
  • Low-volume: Check monthly

Setting Alerts

Monitor for engagement drops:
async function checkTemplateHealth(templateId) {
  const response = await getTemplateStats(templateId);
  const stats = response.data;

  const openRate = parseFloat(stats.openRate);
  if (openRate < 10) {
    alert('Low open rate detected - review subject line and sender name!');
  }
}

Improving Performance

Low open rate?
  • Test different subject lines
  • Optimize send time
  • Segment your audience better
Low click rate?
  • Make CTAs more prominent
  • Reduce content complexity
  • Test different button styles

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

id
integer
required

The unique ID of the transactional message.

Example:

123

Response

Successful response with transactional detail and statistics.

data
object
required