curl --request GET \
--url https://api.tryfuse.ai/api/v1/business/campaigns \
--header 'Authorization: Basic <encoded-value>'import requests
url = "https://api.tryfuse.ai/api/v1/business/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/campaigns', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"campaigns": [
{
"id": "6a8da7718707dbcfb4448b96",
"name": "Q3 fintech outreach",
"status": "active",
"type": "manual",
"createdAt": "2026-08-25T14:32:17.586Z",
"startDate": "2026-08-26T00:00:00.000Z",
"folderId": null,
"createdBy": "Sofiia Hryshyna",
"leadsStatus": "completed",
"initializationError": null,
"autoReply": false,
"isDynamic": false,
"channels": [
"email"
],
"lists": [
{
"id": "6a1edba88936e0fe1b20287c",
"name": "Fintech CFOs - US"
}
],
"recipients": 9,
"messagesSent": 4,
"completedActions": {
"emails": 4,
"linkedinMessages": 0,
"linkedinInvites": 0,
"inmails": 0,
"profileVisits": 0,
"postsLiked": 0,
"callsMade": 0
},
"opened": {
"count": 3,
"rate": 75
},
"clicked": {
"count": 1,
"rate": 25
},
"replied": {
"count": 1,
"rate": 25
},
"positiveReplied": {
"count": 0,
"rate": 0
}
}
],
"pagination": {
"page": 1,
"pageSize": 25,
"total": 210,
"totalPages": 9
}
}{
"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>"
}
}List the token owner's campaigns with headline analytics
Lists the campaigns you own with their headline analytics, newest first. Campaigns delegated to you, and campaigns your team’s visibility settings share with you, are NOT listed: every other endpoint in this family resolves the token owner’s own campaigns only, so listing them would hand back ids that answer 404 everywhere else. createdBy is the campaign’s owner and is therefore always the token owner. Deleted campaigns are never returned. Engagement rates are percentages of messages sent. Rate limit: 30 requests/minute and 1,000/day per token owner, shared by every campaign, scheduled-send, campaign-template and knowledge-hub endpoint.
Errors:
422VALIDATION_FAILED— A query parameter is out of range or not one of the accepted values;paramnames it.429RATE_LIMITED— More than 30 campaign requests in a minute, or 1,000 in a day, for this token owner (the bucket is shared by every /business/campaigns, /business/scheduled-sends, /business/campaign-templates and /business/knowledge-hubs call).500UNEXPECTED_ERROR— An unhandled failure; the detail stays in our logs and is never returned.
Requires one of the following token scopes: campaigns.
curl --request GET \
--url https://api.tryfuse.ai/api/v1/business/campaigns \
--header 'Authorization: Basic <encoded-value>'import requests
url = "https://api.tryfuse.ai/api/v1/business/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/campaigns', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"campaigns": [
{
"id": "6a8da7718707dbcfb4448b96",
"name": "Q3 fintech outreach",
"status": "active",
"type": "manual",
"createdAt": "2026-08-25T14:32:17.586Z",
"startDate": "2026-08-26T00:00:00.000Z",
"folderId": null,
"createdBy": "Sofiia Hryshyna",
"leadsStatus": "completed",
"initializationError": null,
"autoReply": false,
"isDynamic": false,
"channels": [
"email"
],
"lists": [
{
"id": "6a1edba88936e0fe1b20287c",
"name": "Fintech CFOs - US"
}
],
"recipients": 9,
"messagesSent": 4,
"completedActions": {
"emails": 4,
"linkedinMessages": 0,
"linkedinInvites": 0,
"inmails": 0,
"profileVisits": 0,
"postsLiked": 0,
"callsMade": 0
},
"opened": {
"count": 3,
"rate": 75
},
"clicked": {
"count": 1,
"rate": 25
},
"replied": {
"count": 1,
"rate": 25
},
"positiveReplied": {
"count": 0,
"rate": 0
}
}
],
"pagination": {
"page": 1,
"pageSize": 25,
"total": 210,
"totalPages": 9
}
}{
"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
Page size, 1-100 (default 25).
1 <= x <= 1001-based page number (default 1).
x >= 1Free text matched case-insensitively against the campaign name only (1-200 characters); any string is accepted. The value reaches the store as a regular expression rather than a literal, so metacharacters such as ( ) [ ] + * ? | are interpreted — send plain words, or escape them. A term that matches no campaign returns an empty page, not an error.
1 - 200Restrict to ai-generated or manual campaigns — the same values a campaign's type reports.
ai-generated, manual Restrict to one status: initializing (draft, not yet approved), active (approved and sending), stopped (stopped via /stop or deleted), paused_manual (paused by the app), initialization_failed (AI initialization failed; see initializationError).
active, initializing, initialization_failed, stopped, paused_manual Return only campaigns filed in this sequences folder (see GET /business/folders).