Skip to main content
POST
/
engage#profile-batch-update
Update Multiple Profiles
curl --request POST \
  --url 'https://{region}.mixpanel.com/engage#profile-batch-update' \
  --header 'Content-Type: application/json' \
  --data '
"[\n    {\n        \"$token\": \"YOUR_PROJECT_TOKEN\",\n        \"$distinct_id\": \"13793\",\n        \"$set\": { \"$email\": \"user1@mail.com\" }\n    },\n    {\n        \"$token\": \"YOUR_PROJECT_TOKEN\",\n        \"$distinct_id\": \"13794\",\n        \"$add\": { \"Coins Gathered\": 13 }\n    },\n    {\n        \"$token\": \"YOUR_PROJECT_TOKEN\",\n        \"$distinct_id\": \"13795\",\n        \"$unset\": [\"$email\"]\n    }\n]\n"
'
1
This API will return a 200 OK even if there are data validation issues. To ensure the request actually succeeded, you need to check the response body.

Query Parameters

ip
integer
default:0

If present and equal to 0, Mixpanel will not perform geolocation parsing using the IP address of the request. We recommend setting the ip to "0" when making requests from the server-side to prevent the unintentional effect of overwriting your profile's geolocation with your server location. Defaults to 1 which would use the IP address of the request to update profile geolocation.

Required range: 0 <= x <= 1
strict
integer

If present and equal to 1, Mixpanel will validate the provided records and return a JSON object with per-record error messages for records that fail validation.

Required range: 0 <= x <= 1
verbose
integer

If present and equal to 1, Mixpanel will respond with a JSON Object describing the success or failure of the tracking call. The returned object will have two keys: status, with the value 1 on success and 0 on failure, and error, with a string-valued error message if the request wasn't successful. This is useful for debugging during implementation.

Required range: 0 <= x <= 1
callback
string

If present, Mixpanel will return a content-type: text/javascript with a body that calls a function by value provided. This is useful for creating local callbacks to a successful track call in JavaScript.

Body

application/json

A JSON list of update objects, each with a $token, $distinct_id, and an operation.

Response

  • 1 - One or more objects provided are valid. This does not signify a valid project token or secret.
  • 0 - No data objects in the body are valid.

The response is of type enum<integer>.

Available options:
1,
0