List campaigns
Changed onRetrieve a paginated list of your message campaigns, newest first.
By default the list contains your newsletters — email and SMS broadcasts. Pass type=flows to instead list the flow campaigns: the email and SMS messages your automation flows send, each naming its owning flow in flow.
Configuration only — no send statistics. /v1/reports/campaigns lists every campaign sent in a period with its full stat block (revenue-ranked, top 100); one campaign's funnel is /v1/reports/campaigns/{campaign_id}.
Required scope: campaigns_read
Request
- Base URLhttps://api.privy.com/v1
- AuthHTTP bearer
Query parameters
Page number (starts at 1).
Number of results per page. Values outside 10–100 are clamped to the nearest bound.
Pass flows to list the messages your flows send instead of newsletters.
Filter by message channel. Works for both newsletters and flow campaigns.
Filter newsletters by send lifecycle. Not supported with type=flows (flow campaigns have no send lifecycle of their own — their live/draft state belongs to the parent flow, via GET /v1/flows → status) — combining them returns a 422.
Headers
Target a subaccount instead of the main connected account. Pass a subaccount id from get_account's subaccounts list. Only direct subaccounts of the connected account are reachable — omit this for the main account itself.
Response
A paginated list of message campaigns.
Example response
{
"data": [
{
"id": "Nw8K2rT5xY",
"type": "newsletter",
"title": "June Restock Announcement",
"channel": "email",
"status": "sent",
"subject": "The restock you asked for is here",
"send_date": "2026-06-18T15:00:00Z",
"flow": {
"id": "0Rqw3Z8",
"title": "Welcome Series"
},
"audience": {
"included_segments": [
{
"id": "aBc1234",
"name": "Engaged 90d"
}
],
"excluded_segments": [
{
"id": "aBc1234",
"name": "Engaged 90d"
}
]
},
"coupon": {
"id": "Xk2fW9qLpV",
"title": "Welcome 10%"
},
"ab_test": {
"winning_metric": "click_rate",
"test_duration_seconds": 86400,
"versions": [
{
"id": "cpv_dkyYZmk",
"name": "Version A",
"is_control": true,
"audience_share": 0.125,
"subject": "The restock you asked for is here",
"preheader": "Back in stock and going fast",
"coupon": {
"id": "Xk2fW9qLpV",
"title": "Welcome 10%"
}
}
]
},
"created_at": "2026-06-10T09:00:00Z",
"updated_at": "2026-06-18T15:05:00Z"
}
],
"pagination": {
"page": 1,
"per_page": 25,
"total_count": 142,
"total_pages": 6
}
}Changes
- warning
added the new
forbiddenenum value to the/response property for the response status - warning
added the new
forbiddenenum value to the/response property for the response status - warning
added the new
forbiddenenum value to the/response property for the response status - warning
added the new
forbiddenenum value to the/response property for the response status - warning
added the new
segment_builder_requiredenum value to the/response property for the response status - warning
added the new
segment_builder_requiredenum value to the/response property for the response status - warning
added the new
segment_builder_requiredenum value to the/response property for the response status - warning
added the new
segment_builder_requiredenum value to the/response property for the response status
- warning
- info
endpoint added
- info