Skip to main content

Get Campaigns

The Get Campaigns API lets you fetch campaigns with advanced filtering, search, sorting, and pagination.


Endpoint

GET /api/campaign

Request Example

curl --location 'http://localhost:3000/api/campaign?page=1&limit=200&search=TEST&direction=%22%27&column=%27%27%27%27&status=%27%27%27&channel=voice&dateFrom=12%2F11%2F2022&dateTo=11%2F08%2F2024' \\ --header 'x-user-id: 648b80839b30ddb88cdbab11' 

Query Parameters

ParameterTypeRequiredDescription
pagenumberPage number (pagination)
limitnumberNumber of results per page
searchstringSearch term (e.g., campaign name)
directionstringSorting direction (asc / desc)
columnstringColumn name to sort by
statusstringCampaign status (active, paused, completed)
channelstringChannel type (sms, email, voice)
dateFromstringStart date (MM/DD/YYYY)
dateTostringEnd date (MM/DD/YYYY)

Example Response

{ "result": "success", "status": 200, "message": "Campaigns retrieved successfully", "data": [ { "id": "6728e4e9f30ba95e72a66c23", "name": "Voice Outreach Campaign", "channel": ["voice"], "status": "active", "createdAt": "2023-12-11T10:15:30.000Z" } ], "pagination": { "page": 1, "limit": 200, "total": 15 } }

Response Fields

FieldTypeDescription
resultstringAPI call status (success / error)
statusnumberHTTP-like status code
messagestringInfo about the API action
dataarrayList of campaign objects
idstringUnique campaign identifier
namestringCampaign name
channelarrayChannels included (email, sms, voice)
statusstringCurrent campaign status
createdAtdatetimeWhen the campaign was created
paginationobjectPage, limit, and total records

Best Practice
For better performance, always use page and limit. Avoid requesting large datasets in a single API call.