✨ 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/test \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--header 'MOE-APPKEY: <moe-appkey>' \
--data '
{
"request_id": "test_push_123",
"channel": "PUSH",
"basic_details": {
"name": "Flash Sale Push Test",
"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": "Test: Flash Sale!",
"message": "Testing message content",
"default_click_action": "DEEPLINKING",
"default_click_action_value": "https://example.com/sale"
}
},
"ios": {
"template_type": "BASIC",
"basic_details": {
"title": "Test: Flash Sale!",
"message": "Testing message content",
"default_click_action": "DEEPLINKING",
"default_click_action_value": "https://example.com/sale"
}
}
}
}
},
"test_campaign_meta": {
"identifier": "USER_ATTRIBUTE_UNIQUE_ID",
"identifier_values": [
"user_12345"
]
}
}
'{
"data": {
"user_12345": {
"status": "success"
}
},
"message": "Test campaign created successfully"
}This API sends a test Push or Email campaign to specific users or identifiers before launching it to your entire audience. You can only test campaigns created via the API, not campaigns created through the MoEngage dashboard.
curl --request POST \
--url https://api-{dc}.moengage.com/core-services/v1/campaigns/test \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--header 'MOE-APPKEY: <moe-appkey>' \
--data '
{
"request_id": "test_push_123",
"channel": "PUSH",
"basic_details": {
"name": "Flash Sale Push Test",
"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": "Test: Flash Sale!",
"message": "Testing message content",
"default_click_action": "DEEPLINKING",
"default_click_action_value": "https://example.com/sale"
}
},
"ios": {
"template_type": "BASIC",
"basic_details": {
"title": "Test: Flash Sale!",
"message": "Testing message content",
"default_click_action": "DEEPLINKING",
"default_click_action_value": "https://example.com/sale"
}
}
}
}
},
"test_campaign_meta": {
"identifier": "USER_ATTRIBUTE_UNIQUE_ID",
"identifier_values": [
"user_12345"
]
}
}
'{
"data": {
"user_12345": {
"status": "success"
}
},
"message": "Test campaign created successfully"
}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).
Test campaign configuration including content and target test users. Note: Use the tabs below to select your campaign type. The schema will adapt based on the selected channel.
A unique identifier for this test request.
"test_push_12345"
The communication channel (automatically set to PUSH for this tab).
PUSH Contains the basic information about the Push campaign.
Show child attributes
Contains the content and variations for the Push campaign.
Show child attributes
Metadata for specifying test recipients for Push campaigns.
Show child attributes
Override values for personalizing campaign content during testing.
Important:
Show child attributes
Test campaign sent successfully
Response after successfully sending a test campaign.
Object containing test results for each identifier.
Each key is an identifier value with its delivery status.
Show child attributes
{
"user_12345": { "status": "success" },
"user_67890": {
"status": "failed",
"failure_reason": "User not found"
}
}A success message.
"Test campaign created successfully"
Was this page helpful?