Skip to main content
GET
/
api
/
v1
/
metrics
Get Account Metrics
curl --request GET \
  --url https://api.sequenzy.com/api/v1/metrics \
  --header 'Authorization: Bearer <token>'
import requests

url = "https://api.sequenzy.com/api/v1/metrics"

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers)

print(response.text)
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

fetch('https://api.sequenzy.com/api/v1/metrics', 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.sequenzy.com/api/v1/metrics",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"net/http"
"io"
)

func main() {

url := "https://api.sequenzy.com/api/v1/metrics"

req, _ := http.NewRequest("GET", url, nil)

req.Header.Add("Authorization", "Bearer <token>")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.get("https://api.sequenzy.com/api/v1/metrics")
.header("Authorization", "Bearer <token>")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.sequenzy.com/api/v1/metrics")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
{
  "success": true,
  "period": "7d",
  "stats": {
    "sent": 3400,
    "delivered": 3380,
    "bounced": 20,
    "opened": 1020,
    "clicked": 340,
    "unsubscribed": 5,
    "deliveryRate": 99.41,
    "bounceRate": 0.59,
    "openRate": 30.18,
    "clickRate": 10.06,
    "unsubscribeRate": 0.15
  }
}
{
  "success": false,
  "error": "Invalid period. Must be one of: 1h, 24h, 7d, 30d, 90d"
}
{ "success": false, "error": "Unauthorized" }
{ "success": false, "error": "Internal server error" }
Returns aggregated email engagement metrics (sends, deliveries, bounces, opens, clicks, unsubscribes) across your entire account for a given time period. Test sends are excluded from these performance metrics by default so previews do not skew results, but they still count toward send usage and quota. Open and click metrics also exclude detected email-security scanners and tracked brand assets by default. GET /api/v1/stats is kept as a backward-compatible alias for this endpoint.

Query Parameters

period
string
Sliding time window. One of: 1h, 24h, 7d, 30d, 90d. Ignored when start and end are provided.
start
string
Start of custom time range (ISO 8601, e.g. 2026-02-01T00:00:00Z). Must be used with end.
end
string
End of custom time range (ISO 8601, e.g. 2026-02-14T00:00:00Z). Must be used with start. Max range: 90 days.
includeMachineEngagement
boolean
default:"false"
Set to true to include detected scanner, preview, and tracked asset open/click events in engagement metrics.

Response Fields

FieldTypeDescription
sentnumberEmails sent in the period
deliverednumberEmails delivered (capped at sent)
bouncednumberEmails that bounced
openednumberUnique opens (deduplicated by email send)
clickednumberUnique clicks (deduplicated by email send)
unsubscribednumberUnsubscribes in the period
deliveryRatenumberDelivery rate percentage (delivered / sent)
bounceRatenumberBounce rate percentage (bounced / sent)
openRatenumberOpen rate percentage (opens / delivered)
clickRatenumberClick rate percentage (clicks / delivered)
unsubscribeRatenumberUnsubscribe rate percentage (unsubscribes / delivered)

Common Queries

How many emails did we send in the last 7 days?

curl "https://api.sequenzy.com/api/v1/metrics?period=7d" \
 -H "Authorization: Bearer YOUR_API_KEY"
Check the sent field in the response.

What’s our overall open rate this month?

curl "https://api.sequenzy.com/api/v1/metrics?start=2026-02-01T00:00:00Z&end=2026-02-28T00:00:00Z" \
 -H "Authorization: Bearer YOUR_API_KEY"
Check the openRate field — this is calculated as opens / delivered.

How are we doing in the last 24 hours?

curl "https://api.sequenzy.com/api/v1/metrics?period=24h" \
 -H "Authorization: Bearer YOUR_API_KEY"
Useful for daily monitoring dashboards or Slack alerts.

Sync daily metrics to our data warehouse

Use fixed time ranges to pull yesterday’s metrics on a cron schedule:
curl "https://api.sequenzy.com/api/v1/metrics?start=2026-02-13T00:00:00Z&end=2026-02-14T00:00:00Z" \
 -H "Authorization: Bearer YOUR_API_KEY"
Fixed ranges are idempotent — safe to retry without double-counting.

Responses

{
  "success": true,
  "period": "7d",
  "stats": {
    "sent": 3400,
    "delivered": 3380,
    "bounced": 20,
    "opened": 1020,
    "clicked": 340,
    "unsubscribed": 5,
    "deliveryRate": 99.41,
    "bounceRate": 0.59,
    "openRate": 30.18,
    "clickRate": 10.06,
    "unsubscribeRate": 0.15
  }
}
{
  "success": false,
  "error": "Invalid period. Must be one of: 1h, 24h, 7d, 30d, 90d"
}
{ "success": false, "error": "Unauthorized" }
{ "success": false, "error": "Internal server error" }