✨ MoEngage NEXT Spring 2026 — The Future of Engagement is Agentic. Join us on April 28. Register now
curl --request POST \
--url https://api-{dc}.moengage.com/core-services/v1/campaigns \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--header 'MOE-APPKEY: <moe-appkey>' \
--data '
{
"request_id": "push_req_12345",
"channel": "PUSH",
"campaign_delivery_type": "ONE_TIME",
"created_by": "john.doe@example.com",
"basic_details": {
"name": "Summer Sale Push",
"tags": [
"activation",
"sale"
],
"platforms": [
"ANDROID",
"IOS"
],
"platform_specific_details": {
"android": {
"push_amp_plus_enabled": true
},
"ios": {
"send_to_all_eligible_device": true,
"exclude_provisional_push_devices": false,
"send_to_only_provisional_push_enabled_devices": false
}
}
},
"campaign_content": {
"content": {
"push": {
"android": {
"template_type": "BASIC",
"basic_details": {
"notification_channel": "general",
"title": "50% Off Summer Sale!",
"message": "Dont miss out on our biggest sale",
"default_click_action": "DEEPLINKING",
"default_click_action_value": "https://example.com/sale",
"key_value_pairs": [
{
"key": "promo_code",
"value": "SUMMER50"
}
]
}
},
"ios": {
"template_type": "BASIC",
"basic_details": {
"title": "50% Off Summer Sale!",
"message": "Dont miss out on our biggest sale",
"default_click_action": "DEEPLINKING",
"default_click_action_value": "https://example.com/sale"
}
}
}
}
},
"segmentation_details": {
"included_filters": {
"filter_operator": "and",
"filters": [
{
"filter_type": "user_attributes",
"data_type": "string",
"name": "uid",
"operator": "exists"
}
]
}
},
"scheduling_details": {
"delivery_type": "ASAP"
},
"delivery_controls": {
"campaign_throttle_rpm": 50000,
"ignore_frequency_capping": false
}
}
'{
"campaign_id": "camp_abc123xyz"
}This API creates a new Push or Email campaign in MoEngage with specified content, audience, and delivery settings.
curl --request POST \
--url https://api-{dc}.moengage.com/core-services/v1/campaigns \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--header 'MOE-APPKEY: <moe-appkey>' \
--data '
{
"request_id": "push_req_12345",
"channel": "PUSH",
"campaign_delivery_type": "ONE_TIME",
"created_by": "john.doe@example.com",
"basic_details": {
"name": "Summer Sale Push",
"tags": [
"activation",
"sale"
],
"platforms": [
"ANDROID",
"IOS"
],
"platform_specific_details": {
"android": {
"push_amp_plus_enabled": true
},
"ios": {
"send_to_all_eligible_device": true,
"exclude_provisional_push_devices": false,
"send_to_only_provisional_push_enabled_devices": false
}
}
},
"campaign_content": {
"content": {
"push": {
"android": {
"template_type": "BASIC",
"basic_details": {
"notification_channel": "general",
"title": "50% Off Summer Sale!",
"message": "Dont miss out on our biggest sale",
"default_click_action": "DEEPLINKING",
"default_click_action_value": "https://example.com/sale",
"key_value_pairs": [
{
"key": "promo_code",
"value": "SUMMER50"
}
]
}
},
"ios": {
"template_type": "BASIC",
"basic_details": {
"title": "50% Off Summer Sale!",
"message": "Dont miss out on our biggest sale",
"default_click_action": "DEEPLINKING",
"default_click_action_value": "https://example.com/sale"
}
}
}
}
},
"segmentation_details": {
"included_filters": {
"filter_operator": "and",
"filters": [
{
"filter_type": "user_attributes",
"data_type": "string",
"name": "uid",
"operator": "exists"
}
]
}
},
"scheduling_details": {
"delivery_type": "ASAP"
},
"delivery_controls": {
"campaign_throttle_rpm": 50000,
"ignore_frequency_capping": false
}
}
'{
"campaign_id": "camp_abc123xyz"
}Documentation Index
Fetch the complete documentation index at: https://moengage-ios-release-notes-breaking-changes-doc-1961.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Authentication is done via Basic Auth. This requires a base64-encoded string of your credentials in the format 'username:password'.
For more information on authentication and getting your credentials, refer here.
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).
You can configure campaign content, audience, and scheduling details. Note: Use the tabs below to select your campaign type. The schema will adapt based on the selected channel.
A unique identifier for this campaign creation request.
Important: After successful campaign creation, do not reuse this request_id for the next 1 hour. If campaign creation fails, you can immediately retry with the same request_id.
"push_req_12345"
The communication channel for this campaign.
PUSH The delivery type of the campaign.
ONE_TIME, PERIODIC, EVENT_TRIGGERED, BUSINESS_EVENT_TRIGGERED, DEVICE_TRIGGERED, LOCATION_TRIGGERED, BROADCAST_LIVE_ACTIVITY The email ID of the user creating this campaign.
"john.doe@example.com"
Contains the basic information about the Push campaign.
Show child attributes
Contains the content and variations for the Push campaign.
Show child attributes
Defines the target audience for the campaign.
Show child attributes
Defines when the campaign should be sent.
Show child attributes
Controls for Push campaign delivery behavior.
Show child attributes
Advanced campaign settings.
Show child attributes
Trigger condition details for Push event-triggered campaigns.
Required for EVENT_TRIGGERED campaigns.
Show child attributes
Configuration for tracking campaign conversion goals.
Show child attributes
Configuration for control groups.
Show child attributes
UTM parameters for tracking campaign performance.
Show child attributes
Campaign created successfully
The unique ID of the newly created campaign. Store this for future reference.
"camp_12345abc"
Was this page helpful?