Skip to main content
POST
Validate Campaign (V5)
You do not need an idempotency key for this endpoint. The validate endpoint is read-only and safe to retry freely.

Validation Modes

The V5 API applies validation in two modes: Use this endpoint to catch DRAFT_PUBLISH failures before triggering a publish.

Validation Failures

All validation failures are blocking. There is no warning or non-blocking tier. A campaign that fails validation returns valid: false with a list of field-level errors. Each error identifies the field path and the issue.

Channel-Specific Rules

The following rules are enforced at DRAFT_PUBLISH for each channel: Push
  • campaign_content must be present and include content for all platforms listed in basic_details.platforms.
  • template_type must be valid for the target platform (Android, iOS, Web).
  • Platform-specific required fields (for example, title and message for Android basic templates) must be non-empty.
Email
  • connector.connector_type and connector.connector_name must be present and match a connector configured in your workspace.
  • basic_details.from_address must be set and match a verified sender in the configured connector.
  • basic_details.subscription_category must be present for PROMOTIONAL content type.
  • campaign_content must include at least one variation with a non-empty subject and html_content.

Delivery-Type-Specific Rules

The following rules are enforced at DRAFT_PUBLISH based on campaign_delivery_type:

Rate Limits

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.

Path Parameters

campaign_id
string
required

Raw 24-char ObjectId of the campaign to validate. Use the id value returned in the Create Campaign response.

Body

application/json
request_id
string

Optional string (UUID v4 recommended) used to identify this validation call. Unlike other POST endpoints, this field is not required and does not enforce deduplication - the validate endpoint is read-only and safe to retry freely.

Example:

"{{request_id}}"

Response

Validation result - always returned regardless of whether the campaign passes or fails validation.

response_id
string
type
string
Example:

"campaign"

data
object
  • When valid is true, only valid is returned.
  • When valid is false, errors lists one or more field-level issues found during publish-time validation (DRAFT_PUBLISH).