Get campaign activity timeline
curl --request GET \
--url https://api.coldsend.pro/api/public/v1/analytics/campaigns/timeline \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.coldsend.pro/api/public/v1/analytics/campaigns/timeline"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.coldsend.pro/api/public/v1/analytics/campaigns/timeline', 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.coldsend.pro/api/public/v1/analytics/campaigns/timeline",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$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.coldsend.pro/api/public/v1/analytics/campaigns/timeline"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
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.coldsend.pro/api/public/v1/analytics/campaigns/timeline")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.coldsend.pro/api/public/v1/analytics/campaigns/timeline")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"from_date": "<string>",
"to_date": "<string>",
"timeline": [
{
"date": "<string>",
"sent": 123,
"opened": 123,
"replied": 123,
"bounced": 123,
"open_rate": 123,
"reply_rate": 123,
"bounce_rate": 123
}
],
"success": true,
"message": "Timeline retrieved successfully"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Analytics
Get campaign activity timeline
Get daily time-series of email activity
Returns a contiguous daily series of sent/opened/replied/bounced counts for all campaigns in the workspace. Sends are attributed to each lead’s first send date. The rate fields are cumulative across the requested range (opens-so-far / sends-so-far), so they ramp up and converge to the overall open rate instead of collapsing on days where opens lag sends.
Defaults to the last 90 days when no date range is supplied.
Example
import requests
response = requests.get(
"https://api.coldsend.pro/api/public/v1/analytics/campaigns/timeline",
headers={"X-API-Key": "your-api-key"},
params={"from_date": "2024-01-01", "to_date": "2024-03-31"}
)
print(response.json())
GET
/
api
/
public
/
v1
/
analytics
/
campaigns
/
timeline
Get campaign activity timeline
curl --request GET \
--url https://api.coldsend.pro/api/public/v1/analytics/campaigns/timeline \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.coldsend.pro/api/public/v1/analytics/campaigns/timeline"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.coldsend.pro/api/public/v1/analytics/campaigns/timeline', 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.coldsend.pro/api/public/v1/analytics/campaigns/timeline",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$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.coldsend.pro/api/public/v1/analytics/campaigns/timeline"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
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.coldsend.pro/api/public/v1/analytics/campaigns/timeline")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.coldsend.pro/api/public/v1/analytics/campaigns/timeline")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"from_date": "<string>",
"to_date": "<string>",
"timeline": [
{
"date": "<string>",
"sent": 123,
"opened": 123,
"replied": 123,
"bounced": 123,
"open_rate": 123,
"reply_rate": 123,
"bounce_rate": 123
}
],
"success": true,
"message": "Timeline retrieved successfully"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Authorizations
API key with format cs_live_xxx
Query Parameters
Start date (ISO 8601). Defaults to 90 days ago.
End date (ISO 8601). Defaults to today.
Response
Timeline retrieved successfully
Response for campaign timeline analytics.
Was this page helpful?

