Skip to main content
POST

Supported Channels

  • Email
  • Push
  • SMS
  • WhatsApp
  • Facebook
  • Google Ads
  • Connectors

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. Multiple API calls within the same day return the cached value.
  • May vary due to app installations/uninstalls or subscription changes.

Rate Limits

Notes
  • Breaching the limits will reject the request.
  • Per-hour and per-day limits use a rolling window of the last 1 hour and last 24 hours respectively.

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: On your MoEngage workspace, navigate to SettingsAccountAPI keys and click Create new key. The tab lists every API surface (Data, Segmentation, Push, Email, Campaigns, Templates, and more) and exposes per-resource actions. For Campaigns, ensure the View, Create & Manage, and Create, Manage & Publish checkboxes are selected.

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

Send the value in the Authorization header as Basic followed by Base64-encoding of appkey:apisecret (workspace ID and API key).

Headers

MOE-APPKEY
string
required

Your MoEngage Workspace ID (App ID). Find it in the dashboard at Settings > Account > APIs > Workspace ID.

X-MOE-Request-Id
string
required

Correlates with response_id. Supply this header or request_id in the body; if both are set, they must match.

Idempotency-Key
string<uuid>
required

UUID v4. Required on all POST and PATCH requests except POST /v5/campaigns/{campaign_id}/validate. Repeating the same key returns the same response body.

Body

application/json

Provide the search criteria for retrieving campaign metadata and reachability information.

limit
integer
required

The number of campaigns to display per page.

Maximum: 15. The response does not include a total_count field - to determine the total number of results, keep paginating until a response returns fewer items than limit.

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

15

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

request_id
string

A unique identifier for this metadata retrieval request.

Example:

"{{request_id}}"

campaign_fields
object

Filter criteria for retrieving campaign metadata.

include_child_campaigns
boolean
default:false

When true, returns child campaign metadata for periodic campaigns.

Activates the following response fields on each campaign object:

  • total_child_campaigns - number of child campaigns (present on the parent campaign).
  • parent_campaign_id - the parent campaign's ID (present on each child campaign).

Defaults to false.

Response

Campaign meta rows

response_id
string
type
string
Example:

"campaign"

data
object

The response does not include a total_count field. To determine whether you have reached the last page, check whether the number of items returned is less than the limit you requested. If campaigns contains fewer items than limit, you have retrieved all results.