Demerge User Profile


This endpoint enables you to demerge a user profile.

Base URL

Here is an example base URL from the account in the India region:


Refer Region for more details.

HTTP Method



Refer Headers for more details.

Body Parameters

The body is uploaded as a JSON payload.

ParameterDescriptionRequiredTypeExample Value
identitiesCustom user identity defined by you. A maximum of 100 identities are allowed in one request.optionalstring/array[“client-19827239”, “[email protected]”]

Below is an example payload.

	"identities": ["client-19827239", "[email protected]"]

Example Request

Here is an example cURL request to the Demerge User Profile API showing the headers needed to authenticate the request from the account in the India region:

curl -X POST -d '{"identities":["client-19827239", "[email protected]"]}'
"" \
-H "X-CleverTap-Account-Id: ACCOUNT_ID" \
-H "X-CleverTap-Passcode: PASSCODE" \
-H "Content-Type: application/json; charset=utf-8"
require 'net/http'
require 'uri'
require 'json'

uri = URI.parse("")
request =
request.content_type = "application/json; charset=utf-8"
request["X-Clevertap-Account-Id"] = "ACCOUNT_ID"
request["X-Clevertap-Passcode"] = "PASSCODE"
request.body = JSON.dump({
  "identities" => ["client-19827239", "[email protected]"]

req_options = {
  use_ssl: uri.scheme == "https",

response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
import requests

headers = {
    'X-CleverTap-Account-Id': 'ACCOUNT_ID',
    'X-CleverTap-Passcode': 'PASSCODE',
    'Content-Type': 'application/json; charset=utf-8',

data = '{"identities":["client-19827239", "[email protected]"]}'

response ='', headers=headers, data=data)
$headers = array(
    'X-CleverTap-Account-Id' => 'ACCOUNT_ID',
    'X-CleverTap-Passcode' => 'PASSCODE',
    'Content-Type' => 'application/json; charset=utf-8'
$data = '{"identities":["client-19827239", "[email protected]"]}' ;
$response = Requests::post('', $headers, $data);
var request = require('request');

var headers = {
    'X-CleverTap-Account-Id': 'ACCOUNT_ID',
    'X-CleverTap-Passcode': 'PASSCODE',
    'Content-Type': 'application/json; charset=utf-8'

var dataString = '{"identities":["client-19827239", "[email protected]"]}';

var options = {
    url: '',
    method: 'POST',
    headers: headers,
    body: dataString

function callback(error, response, body) {
    if (!error && response.statusCode == 200) {

request(options, callback);
type Payload struct {
	GUID string `json:"identities"`

data := Payload{
// fill struct
payloadBytes, err := json.Marshal(data)
if err != nil {
	// handle err
body := bytes.NewReader(payloadBytes)

req, err := http.NewRequest("POST", "", body)
if err != nil {
	// handle err
req.Header.Set("X-Clevertap-Account-Id", "ACCOUNT_ID")
req.Header.Set("X-Clevertap-Passcode", "PASSCODE")
req.Header.Set("Content-Type", "application/json; charset=utf-8")

resp, err := http.DefaultClient.Do(req)
if err != nil {
	// handle err
defer resp.Body.Close()

Example Response

  "status": "success"

For more information on request limit, refer to API Request Limit.

To understand the common queries and concerns related to CleverTap APIs, refer to API FAQs.