Update Campaign Status (V5)
Applies a state transition to a published campaign. Supported for Email and Push campaigns.
GET /v5/campaigns/{campaign_id}.Rate Limits
- 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
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 Settings → Account → API 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
Your MoEngage Workspace ID (App ID). Find it in the dashboard at Settings > Account > APIs > Workspace ID.
Correlates with response_id. Supply this header or request_id in the body; if both are set, they must match.
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.
Path Parameters
Raw 24-char ObjectId of the published campaign to transition.
Body
Send campaign status change request with action.
Changes the status of a single published campaign. One campaign ID per request.
Lifecycle action for an already published or scheduled campaign.
Each action applies only to specific delivery types and requires the campaign to be in a valid source state:
STOP, PAUSE, RESUME A client-supplied identifier for this status change request, echoed back as response_id so you can correlate the request and response. This is not a deduplication key — to make a request idempotent, use the Idempotency-Key header. Replaying the same Idempotency-Key returns the original response.