Skip to main content
POST
/
campaigns
/
search
curl --request POST \
  --url https://api-{dc}.moengage.com/core-services/v1/campaigns/search \
  --header 'Authorization: Basic <encoded-value>' \
  --header 'Content-Type: application/json' \
  --header 'MOE-APPKEY: <moe-appkey>' \
  --data '
{
  "request_id": "search_req_12345",
  "campaign_fields": {
    "channels": [
      "EMAIL"
    ]
  },
  "limit": 15,
  "page": 1
}
'
[
{
"campaign_id": "camp_email_123",
"status": "Active",
"channel": "EMAIL",
"campaign_delivery_type": "PERIODIC",
"created_by": "[email protected]",
"created_at": "2024-07-04 08:00:54.847000",
"sent_time": "2024-07-04 20:32:00",
"basic_details": {
"name": "Weekly Newsletter",
"content_type": "PROMOTIONAL",
"subscription_category": "marketing",
"tags": [
"newsletter"
]
},
"connector": {
"connector_type": "SENDGRID",
"connector_name": "default"
}
}
]

Search Capabilities

  • Filter by channel, delivery type, status, tags, name, ID, created by, created date
  • Include child campaigns (flow nodes, periodic children)
  • Include archived campaigns
  • Paginated results (max 15 per page)
Notes: If this API is not enabled for your account, contact your MoEngage Customer Success Manager (CSM) or the Support team to request enablement.

Authorizations

Authorization
string
header
required

Authentication is done via Basic Auth. This requires a base64-encoded string of your credentials in the format 'username:password'.

  • Username: Use your MoEngage workspace ID (also known as the App ID). You can find it in the MoEngage dashboard at Settings > Account > APIs > Workspace ID (earlier app id).
  • Password: Use your API Key, which you can find within the Campaign report/Business events/Custom templates/Catalog API/Inform Report tile.

For more information on authentication and getting your credentials, refer here.

Headers

MOE-APPKEY
string
required

This is the Workspace ID of your MoEngage account that must be passed with the request. You can find it in the MoEngage dashboard at Settings > Account > APIs > Workspace ID (earlier app id).

Body

application/json

Provide the search criteria and pagination parameters for finding campaigns.

request_id
string
required

A unique identifier for this search request.

Example:

"search_req_12345"

limit
integer
required

The number of campaigns to display per page.

Maximum: 15

Required range: 1 <= x <= 15
Example:

10

page
integer
required

The page number to retrieve.

For example, if there are 200 campaigns and the limit is 10, there will be 20 pages.

Required range: x >= 1
Example:

1

campaign_fields
object

Filter criteria for searching campaigns.

include_child_campaigns
boolean
default:false

Whether to include child campaigns (flow nodes and periodic children).

Set to true to fetch details of periodic child campaigns and flow campaign nodes. Flow campaigns can be identified by the presence of flow_id and flow_name in the response.

include_archive_campaigns
boolean
default:false

Whether to include archived campaigns in the results.

Response

Successfully retrieved campaign list

campaign_id
string

The unique ID of the campaign.

Example:

"camp_abc123xyz"

status
enum<string>

The current status of the campaign.

Available options:
ACTIVE,
SCHEDULED,
PAUSED,
SENT,
STOPPED,
ARCHIVED
channel
enum<string>

The communication channel.

Available options:
PUSH,
EMAIL,
SMS
campaign_delivery_type
enum<string>

The delivery type of the campaign.

Available options:
ONE_TIME,
PERIODIC,
EVENT_TRIGGERED,
BUSINESS_EVENT_TRIGGERED,
DEVICE_TRIGGERED,
LOCATION_TRIGGERED,
BROADCAST_LIVE_ACTIVITY
created_by
string<email>

The email ID of the user who created the campaign.

updated_by
string<email>

The email ID of the user who last updated the campaign.

created_at
string

The timestamp when the campaign was created.

Example:

"2024-07-04 08:00:54.847000"

updated_at
string

The timestamp when the campaign was last updated.

sent_time
string

The timestamp when the campaign was sent.

Example:

"2024-07-04 20:32:00"

flow_id
string

The flow ID (only for flow campaigns).

Only applicable when include_child_campaigns is true.

flow_name
string

The flow name (only for flow campaigns).

Only applicable when include_child_campaigns is true.

parent_id
string

The campaign ID of the parent campaign.

Only applicable for periodic child campaigns when include_child_campaigns is true.

basic_details
object

Basic details of the campaign.

Structure varies by channel (Push/Email/SMS).

campaign_content
object

The campaign content including locales and variations.

trigger_condition
object

Trigger condition details for event-triggered campaigns. Structure varies by channel (Push supports INTELLIGENT_DELAY, Email does not).

segmentation_details
object

Defines the target audience for the campaign.

scheduling_details
object

Defines when the campaign should be sent.

delivery_controls
object

Delivery control settings for the campaign.

advanced
object

Advanced campaign settings (for Push campaigns).

conversion_goal_details
object

Configuration for tracking campaign conversion goals.

control_group_details
object

Configuration for control groups.

utm_params
object

UTM parameters for tracking campaign performance.

connector
object

Connector configuration (for Email and SMS campaigns).

sender_name
string

The sender name configured for the campaign.

Only applicable for SMS campaigns.

campaign_audience_limit
object

Configuration for limiting campaign audience.