Get Sequence Metrics
Report outreach performance over a date window.
curl --request GET \
--url https://api.topo.io/v1/sequence-templates/metrics \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.topo.io/v1/sequence-templates/metrics', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.topo.io/v1/sequence-templates/metrics"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"start_date": "2023-12-25",
"end_date": "2023-12-25",
"channel": "EMAIL",
"sequences": [
{
"sequence_template_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"status": "PENDING_SETUP",
"metrics": {
"unique_found": 123,
"unique_sent": 123,
"total_sent": 123,
"unique_opens": 123,
"total_opens": 123,
"unique_clicks": 123,
"total_clicks": 123,
"unique_replies": 123,
"total_replies": 123,
"unique_positive_replies": 123,
"total_positive_replies": 123,
"unique_hot_leads": 123,
"total_hot_leads": 123,
"unique_bounced": 123,
"total_bounced": 123,
"unique_unsubscribed": 123,
"total_unsubscribed": 123
}
}
],
"reply_categories": [
{
"reply_category": "MEETING",
"unique_replies": 123,
"total_replies": 123
}
]
}sequence_template_id to cover the whole portfolio.
Requires the sequences:read scope on the API key.Authorizations
Bearer API key issued from Settings → Developers.
Query Parameters
Report on one template. Omit to cover every template in the workspace.
Lookback window in days, used when start_date and end_date are omitted.
1 <= x <= 365Inclusive start of the reporting window.
Inclusive end of the window. Defaults to today.
Restrict counters to one channel. Defaults to all channels.
EMAIL, LINKEDIN, ALL, MANUAL Include templates that are no longer active.
Response
Successful Response
Inclusive first day of the reporting window.
Inclusive last day of the reporting window.
Channel the counters cover.
EMAIL, LINKEDIN, ALL, MANUAL Per-template counters, busiest first.
Hide child attributes
Hide child attributes
Template these counters belong to.
Name of the template.
Lifecycle state.
PENDING_SETUP, ACTIVE, INACTIVE, FINISHING, ARCHIVED Counters for the reporting window.
Hide child attributes
Hide child attributes
Leads found in the window.
Leads sent at least one message.
Messages sent.
Leads who opened at least once.
Opens recorded.
Leads who clicked at least once.
Clicks recorded.
Leads who replied at least once.
Replies received.
Leads who replied positively at least once.
Positive replies received.
Leads that turned hot.
Hot-lead events recorded.
Leads whose reply was categorized as a bounce.
Replies categorized as a bounce.
Leads whose reply was categorized as an unsubscribe request.
Replies categorized as an unsubscribe request.
Reply breakdown across the templates reported on.
Hide child attributes
Hide child attributes
Category the replies were classified into.
MEETING, INTERESTED, BAD_TIMING, REFERRAL, WRONG_PERSON, LEFT_COMPANY, OUT_OF_OFFICE, SPAM_FILTER, UNKNOWN, NOT_INTERESTED, UNSUBSCRIBED, BOUNCED Leads whose reply fell in this category.
Replies in this category.
Was this page helpful?
curl --request GET \
--url https://api.topo.io/v1/sequence-templates/metrics \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.topo.io/v1/sequence-templates/metrics', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.topo.io/v1/sequence-templates/metrics"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"start_date": "2023-12-25",
"end_date": "2023-12-25",
"channel": "EMAIL",
"sequences": [
{
"sequence_template_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"status": "PENDING_SETUP",
"metrics": {
"unique_found": 123,
"unique_sent": 123,
"total_sent": 123,
"unique_opens": 123,
"total_opens": 123,
"unique_clicks": 123,
"total_clicks": 123,
"unique_replies": 123,
"total_replies": 123,
"unique_positive_replies": 123,
"total_positive_replies": 123,
"unique_hot_leads": 123,
"total_hot_leads": 123,
"unique_bounced": 123,
"total_bounced": 123,
"unique_unsubscribed": 123,
"total_unsubscribed": 123
}
}
],
"reply_categories": [
{
"reply_category": "MEETING",
"unique_replies": 123,
"total_replies": 123
}
]
}