Merge profiles

The merge profiles endpoint allows you to merge duplicate customer profiles in Ometria, e.g. contacts with identical email addresses.

See also: Merging contact profiles in Ometria

To create a merge profile request job, send a request to this endpoint:


Which takes:

survivorThe type/value pair that identifies the contact that should survive after the merge.
customers_to_mergeA list of type/value pairs representing the contacts that should be merged into the survivor.

There are four available identifiers:

  • customer_id
  • email_address
  • phone_number
  • profile_hash


  • The customers_to_merge list has a maximum of five identifiers.
  • The number of resolved customers can not exceed 50
  • Maximum 1000 merge profile requests at the same time

How it works

First, we try to resolve the survivor.

  • If we're unable to find a contact based on the provided identifier, the process fails.
  • If more than one customer is resolved, we assign the first customer retrieved by the database as the survivor and add the remaining as customers to be merged.

Next, we try to resolve the customers_to_merge.

  • If none can be resolved the process fails.
  • If some but not all fail, the process continues.

Finally, we update all customer data related to the customers_to_merge and set it as being owned by the survivor.

You'll see a timestamp under Important milestones in the Single customer view showing when this process occurred:



The merged customers' listings will be deleted

POST request structure:

curl --request POST \\
     --url <> \\
     --header 'Accept: application/json' \\
     --header 'Content-Type: application/json' \\
     --header 'X-Ometria-Auth:  api key' \\
     --data '{
        "survivor": {
            "type": "customer_id",
            "value": "ABC123",
        "customers_to_merge": [
                "type": "email_address",
                "value": "[email protected]",
                "type": "phone_number",
                "value": "+447123456789",
                "type": "profile_hash",
                "value": "27f4-26e69b-0000007b",

GET endpoints

There are two GET endpoints that can be used to obtain information about the merge process:

GET the existing merge profile jobs.
For each job, it returns a job_id/status pair.
The available status are: in_progress, failed and completed.
This endpoint accepts limit and offset query parameters which default to 10 and 0 respectively.
GET{job_id}Returns the status of the job with the job_id provided in the path parameter.