Skip to main content
POST
/
customer
/
delete
/
bulk
Delete Users in Bulk
curl --request POST \
  --url https://api-0{dc}.moengage.com/v1/customer/delete/bulk \
  --header 'Authorization: Basic <encoded-value>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "identity_type": "customer_id",
  "identity_value": "6416d1a318r98264512c0f89"
}
'
{
  "status": "success",
  "message": "Your request has been accepted and will be processed soon."
}

Rate Limit

The rate limit is 1 user per payload per request. You can run 5000 requests per minute.

Postman Collections

We have made it easy for you to test the APIs. Click here to view it in Postman.

FAQs

  • Can you reverse a delete operation?
There are no rollback mechanisms for undoing the delete action. Once the delete request is processed, the user is deleted from MoEngage.
  • Are the events of the users also deleted as well?
No, the events corresponding to a user are not specifically deleted; only the user and the user attributes are deleted when the delete API request is processed. However, once the user is deleted from MoEngage, the events corresponding to the user will not be accessible, i.e., if the event is used in a segmentation query the deleted user who had executed the event will not be added to the calculated segment or campaign.
  • How do you check if a user has been deleted from MoEngage?
Navigate to Segment -> Create Segment on the MoEngage Dashboard. Type the unique identifier for the deleted user (the unique identifier could be the ID, MoEngage ID, phone number, email, or any unique identifier that you’ve configured). If the user has been deleted (hard delete), you will not be able to get any search results. For more information about searching users, refer to Search User in Segmentation.

Authorizations

Authorization
string
header
required

This authentication parameter, used for access control, must be passed along with the request. The API request will be authenticated through Basic Authentication. Basic Authentication sends a Base64-encoded string containing your username and password with every API request. It encodes a 'username:password' string in Base64 and appends the encoded string with 'Basic '. This string is included in the authorization header as shown below:

{"Authorization: Basic Base64_ENCODED_WORKSPACEID_APIKEY=="}

The username and password details can be obtained from the MoEngage Dashboard. If you're using the API for the first time, follow these steps:

  1. Navigate to Settings -> Account -> APIs.
  2. Copy the following details:
    • Username: Under Workspace ID (earlier app id), click the copy icon to copy the username.
    • Password: In the API keys section, click the copy icon in the Data tile to copy the API key.

Use these details to authenticate the API requests.

Headers

X-Forwarded-For
string

The 'X-Forwarded-For' header is used to specify the IP address of the client that made the request. This header may be added by proxy servers or load balancers. The header value must contain the IP address of the original client that initiated the request. Multiple IP addresses may be specified in the header value, separated by commas.

Example:

"203.0.113.195"

Query Parameters

app_id
string
required

This is the Workspace ID of your MoEngage account that has to be passed along with the request. You can find your Workspace ID at Settings > Account > APIs > Workspace ID.

Example:

"VJ0GSMESHMQA3L7WV1EEK3UR"

Body

application/json
identity_type
enum<string>

This field specifies the identifier type. Identifier types can either be customer_id (ID field in the User Profile) or moengage_id (the MoEngageID of the user in the User Profile). Allowed values are "moengage_id", "customer_id".

Available options:
customer_id,
id
Example:

"customer_id"

identity_value
string

This field specifies the unique identifier that identifies the user.

Example:

"6416d1a318r98264512c0f89"

Response

This response is returned when the request is processed successfully.

status
string

This field contains the status of the request and specifies whether the request was successful. Supported values are success, fail

Example:

"success"

message
string

This field contains information about whether the response is being processed, the user is deleted, and so on.

Example:

"Your request has been accepted and will be processed soon"