{
"response_id": "abc-601",
"type": "campaign",
"data": {
"id": "64a1b2c3d4e5f6a7b8c9d0e1",
"action": "STOP"
}
}{
"response_id": "abc-101",
"error": {
"code": "VALIDATION_FAILED",
"message": "One or more fields failed validation.",
"request_id": "req-push-001",
"details": [
{
"target": "campaign_delivery_type",
"message": "campaign_delivery_type value is required."
}
]
}
}{
"response_id": "abc-101",
"error": {
"code": "UNAUTHORIZED",
"message": "Invalid or missing credentials.",
"details": []
}
}{
"response_id": "abc-422",
"error": {
"code": "UNPROCESSABLE_ENTITY",
"message": "Action STOP is not valid for a PERIODIC campaign.",
"details": []
}
}{
"response_id": "abc-101",
"error": {
"code": "INTERNAL_ERROR",
"message": "Internal server error.",
"details": []
}
}Applies a state transition to a published campaign. Supported for Email and Push campaigns.
{
"response_id": "abc-601",
"type": "campaign",
"data": {
"id": "64a1b2c3d4e5f6a7b8c9d0e1",
"action": "STOP"
}
}{
"response_id": "abc-101",
"error": {
"code": "VALIDATION_FAILED",
"message": "One or more fields failed validation.",
"request_id": "req-push-001",
"details": [
{
"target": "campaign_delivery_type",
"message": "campaign_delivery_type value is required."
}
]
}
}{
"response_id": "abc-101",
"error": {
"code": "UNAUTHORIZED",
"message": "Invalid or missing credentials.",
"details": []
}
}{
"response_id": "abc-422",
"error": {
"code": "UNPROCESSABLE_ENTITY",
"message": "Action STOP is not valid for a PERIODIC campaign.",
"details": []
}
}{
"response_id": "abc-101",
"error": {
"code": "INTERNAL_ERROR",
"message": "Internal server error.",
"details": []
}
}GET /v5/campaigns/{campaign_id}.Rate Limits
| Rate Limit Name | Rate Limit |
|---|---|
| change campaign status per second | The total number of change campaign status requests per second per client is 10. |
| change campaign status per minute | The total number of change campaign status requests per minute per client allowed is 100. |
| change campaign status per hour | The total number of change campaign status requests per hour per client allowed is 6000. |
- 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). Find it in the MoEngage dashboard at Settings > Account > API keys.
- Password: Use an API key from Settings > Account > API keys.
Refer to API Key Dashboard for details on creating and managing API keys.
Headers
Your MoEngage Workspace ID (App ID). Optional — Basic Auth already carries the Workspace ID as the username, so this header is not required. Find it in the dashboard at Settings > Account > API keys.
Client-supplied trace ID for tracing. 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:
| Action | Supported delivery types | Valid source states |
|---|---|---|
STOP | ONE_TIME | ACTIVE, SCHEDULED, PAUSED, SENDING |
PAUSE | PERIODIC, EVENT_TRIGGERED | ACTIVE, SCHEDULED, SENDING |
RESUME | PERIODIC, EVENT_TRIGGERED | PAUSED |
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.