Skip to main content
POST
/
campaigns
/
meta
curl --request POST \
  --url https://api-{dc}.moengage.com/core-services/v1/campaigns/meta \
  --header 'Authorization: Basic <encoded-value>' \
  --header 'Content-Type: application/json' \
  --header 'MOE-APPKEY: <moe-appkey>' \
  --data '
{
  "request_id": "meta_req_12345",
  "campaign_fields": {
    "channels": [
      "EMAIL"
    ]
  },
  "limit": 15,
  "page": 1
}
'
[
{
"campaign_id": "camp_email_123",
"channel": "EMAIL",
"platform": [],
"created_by": "[email protected]",
"campaign_delivery_type": "ONE_TIME",
"campaign_name": "Weekly Newsletter",
"campaign_team": "Marketing",
"campaign_tags": [
"newsletter",
"weekly"
],
"campaign_status": "Active",
"campaign_start_time": "2024-11-18T05:50:00"
}
]

Supported Channels

  • EMAIL: Email campaigns
  • PUSH: Push notification campaigns
  • SMS: SMS campaigns
  • WHATSAPP: WhatsApp campaigns
  • FACEBOOK: Facebook campaigns
  • GOOGLE ADS: Google Ads campaigns
  • CONNECTORS: Connector-based campaigns

Reachability Information

  • Available only for scheduled campaigns (one-time, business event-triggered, and event-triggered).
  • Provides estimated user count that will receive the campaign.
  • Calculated once daily and cached for 24 hours.
  • May vary due to app installations/uninstalls or subscription changes.
  • Reachability is an estimated value and may vary over time. It is calculated once per day and cached for 24 hours. Multiple API calls within the same day will return the cached value.

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 for retrieving campaign metadata and reachability information.

request_id
string
required

A unique identifier for this metadata retrieval request.

Example:

"meta_req_12345"

limit
integer
required

The number of campaigns to display per page.

Maximum: 15

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

15

page
integer
required

The page number to retrieve.

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

Required range: x >= 1
Example:

1

campaign_fields
object

Filter criteria for retrieving campaign metadata.

include_child_campaigns
boolean
default:false

Whether to include child campaign information.

Set to true to fetch details of child campaigns (flow nodes and periodic children). Use flow_id, flow_name, or parent_campaign_id in the response to identify relationships.

Response

Successfully retrieved campaign metadata

campaign_id
string

The unique ID of the campaign.

Example:

"camp_abc123xyz"

channel
enum<string>

The communication channel.

Available options:
EMAIL,
PUSH,
SMS,
WHATSAPP,
FACEBOOK,
GOOGLE ADS,
CONNECTORS
platform
enum<string>[]

The platform types supported for the campaign (applicable for Push).

Available options:
ANDROID,
IOS,
WEB
created_by
string<email>

The email ID of the user who created the campaign.

campaign_delivery_type
enum<string>

The delivery type of the campaign.

Available options:
ONE_TIME,
PERIODIC,
EVENT_TRIGGERED,
BUSINESS_TRIGGERED,
DEVICE_TRIGGERED,
LOCATION_TRIGGERED,
BROADCAST_LIVE_ACTIVITY
campaign_name
string

The name of the campaign.

Example:

"Summer Sale Campaign"

campaign_team
string

The team name associated with the campaign.

campaign_tags
string[]

Tags associated with the campaign.

campaign_status
enum<string>

The current status of the campaign.

Available options:
SCHEDULED,
ACTIVE,
PAUSED,
SENT,
STOPPED,
RETIRED,
ARCHIVED
campaign_start_time
string<date-time>

The start time of the campaign in ISO 8601 format.

Example:

"2024-11-28T12:18:00"

parent_campaign_id
string

The campaign ID of the parent campaign.

Only shown if the requested campaign_id belongs to a child campaign and include_child_campaigns is true.

total_child_campaigns
integer

The number of child campaigns.

Only shown if the campaign_id belongs to a parent campaign. Only applicable for periodic campaigns.

reachability_details
object

Reachability information for the campaign.

Important: Only populated for scheduled campaigns (one-time, business event-triggered, and event-triggered). Reachability is calculated once daily and cached for 24 hours.