curl --request GET \
--url https://api.tryfuse.ai/api/v1/business/analytics/campaigns \
--header 'Authorization: Basic <encoded-value>'import requests
url = "https://api.tryfuse.ai/api/v1/business/analytics/campaigns"
headers = {"Authorization": "Basic <encoded-value>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Basic <encoded-value>'}};
fetch('https://api.tryfuse.ai/api/v1/business/analytics/campaigns', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"range": "30d",
"email": {
"aiManualVolumeTrend": [
{
"date": "W31",
"ai": 20,
"manual": 12,
"total": 32
},
{
"date": "W32",
"ai": 0,
"manual": 34,
"total": 34
}
]
},
"linkedin": {
"connectionMetrics": {
"totalSent": 183,
"totalReplied": 104,
"totalInvitesSent": 156,
"totalInvitesAccepted": 193,
"inmailsSent": 6,
"profileVisits": 46,
"postsLiked": 14,
"totalPositive": 11,
"positiveReplyRate": 10.58,
"totalManual": 154,
"totalAI": 33,
"totalBounced": 94,
"repliedRate": 55.03,
"invitesAcceptedRate": 123.72,
"bounceRate": 49.74,
"deliverabilityRate": 50.26,
"manualRate": 82.35,
"aiRate": 17.65,
"sentDeltaOverLastMonth": -18.37,
"repliedDeltaOverLastMonth": 1200,
"invitesSentDeltaOverLastMonth": 8.1,
"invitesAcceptedDeltaOverLastMonth": 3.4,
"inmailsSentDeltaOverLastMonth": 0,
"profileVisitsDeltaOverLastMonth": 5,
"postsLikedDeltaOverLastMonth": 0,
"acceptanceRate": 123.72,
"connectionReplyRate": 53.89
},
"connectionTimeSeries": {
"performanceOverTime": [
{
"date": "W31",
"connectionsSent": 130,
"connectionsAccepted": 40,
"acceptanceRate": 30.77,
"repliesReceived": 11,
"replyRate": 27.5,
"positiveRepliesReceived": 4,
"positiveReplyRate": 36.36
}
],
"engagementActivity": [
{
"date": "W31",
"invitesSent": 130,
"invitesAccepted": 38,
"repliesReceived": 10
}
],
"aiVsManual": [
{
"date": "W31",
"aiMessagesSent": 15,
"templatedMessagesSent": 7,
"totalMessagesSent": 22
}
]
},
"topCampaigns": [
{
"campaignId": "69c50c3da19bd0c24ab4b503",
"campaignName": "Qa linkedin campaign",
"connectionRequestsSent": 132,
"connectionsAccepted": 130,
"repliesReceived": 29,
"positiveRepliesReceived": 0,
"acceptanceRate": 98.48,
"connectionReplyRate": 22.31,
"positiveReplyRate": 0
}
]
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}Campaigns analytics roll-up
The campaigns insights tab in one response for the whole account (every campaign the token owner can see): email send volume split AI vs manual per bucket, LinkedIn connection metrics with month-over-month deltas, the LinkedIn time series (performanceOverTime, engagementActivity and aiVsManual share the same buckets) and the top 10 LinkedIn campaigns by acceptance rate. Buckets are daily (MM/DD) for 7d and weekly (Wxx, ISO week) for 30d and 90d; rates are percentages and the delta keys compare against the previous window, so they can be negative. Each of the four panels is computed independently and is null when its aggregation fails, so always null-check them. Per-campaign detail stays on GET /business/campaigns//stats. Rate limit: 20 requests per minute, 1000 per day.
Errors:
422VALIDATION_FAILED—rangewas sent and is not one of 7d, 30d or 90d.429RATE_LIMITED— Per-user quota for this endpoint family exceeded (20 per minute, 1000 per day); retry after the Retry-After / RateLimit-Reset seconds.
Requires one of the following token scopes: analytics.
curl --request GET \
--url https://api.tryfuse.ai/api/v1/business/analytics/campaigns \
--header 'Authorization: Basic <encoded-value>'import requests
url = "https://api.tryfuse.ai/api/v1/business/analytics/campaigns"
headers = {"Authorization": "Basic <encoded-value>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Basic <encoded-value>'}};
fetch('https://api.tryfuse.ai/api/v1/business/analytics/campaigns', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"range": "30d",
"email": {
"aiManualVolumeTrend": [
{
"date": "W31",
"ai": 20,
"manual": 12,
"total": 32
},
{
"date": "W32",
"ai": 0,
"manual": 34,
"total": 34
}
]
},
"linkedin": {
"connectionMetrics": {
"totalSent": 183,
"totalReplied": 104,
"totalInvitesSent": 156,
"totalInvitesAccepted": 193,
"inmailsSent": 6,
"profileVisits": 46,
"postsLiked": 14,
"totalPositive": 11,
"positiveReplyRate": 10.58,
"totalManual": 154,
"totalAI": 33,
"totalBounced": 94,
"repliedRate": 55.03,
"invitesAcceptedRate": 123.72,
"bounceRate": 49.74,
"deliverabilityRate": 50.26,
"manualRate": 82.35,
"aiRate": 17.65,
"sentDeltaOverLastMonth": -18.37,
"repliedDeltaOverLastMonth": 1200,
"invitesSentDeltaOverLastMonth": 8.1,
"invitesAcceptedDeltaOverLastMonth": 3.4,
"inmailsSentDeltaOverLastMonth": 0,
"profileVisitsDeltaOverLastMonth": 5,
"postsLikedDeltaOverLastMonth": 0,
"acceptanceRate": 123.72,
"connectionReplyRate": 53.89
},
"connectionTimeSeries": {
"performanceOverTime": [
{
"date": "W31",
"connectionsSent": 130,
"connectionsAccepted": 40,
"acceptanceRate": 30.77,
"repliesReceived": 11,
"replyRate": 27.5,
"positiveRepliesReceived": 4,
"positiveReplyRate": 36.36
}
],
"engagementActivity": [
{
"date": "W31",
"invitesSent": 130,
"invitesAccepted": 38,
"repliesReceived": 10
}
],
"aiVsManual": [
{
"date": "W31",
"aiMessagesSent": 15,
"templatedMessagesSent": 7,
"totalMessagesSent": 22
}
]
},
"topCampaigns": [
{
"campaignId": "69c50c3da19bd0c24ab4b503",
"campaignName": "Qa linkedin campaign",
"connectionRequestsSent": 132,
"connectionsAccepted": 130,
"repliesReceived": 29,
"positiveRepliesReceived": 0,
"acceptanceRate": 98.48,
"connectionReplyRate": 22.31,
"positiveReplyRate": 0
}
]
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}Authorizations
Your API token (af_…) as the Basic-auth username, with an empty password.
Query Parameters
Rolling window ending now: 7d, 30d (default) or 90d, i.e. the roll-up covers the last 7, 30 or 90 days; time-series bucket sizes (daily, weekly, monthly) are chosen from the window length.
7d, 30d, 90d