Merge Contact Profiles - Cognigy Documentation

Merge Contact Profiles

Endpoint

POST /v2.0/profiles/{profileId}/merge

Request

cURL

curl --request POST \
  --url https://api-trial.cognigy.ai/new/v2.0/profiles/{profileId}/merge \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <api-key>' \
  --data '
{
  "contactId": "<string>",
  "projectId": "<string>"
}
'```

#### Python

```python
import requests

url = "https://api-trial.cognigy.ai/new/v2.0/profiles/{profileId}/merge"

payload = {
    "contactId": "<string>",
    "projectId": "<string>"
}
headers = {
    "X-API-Key": "<api-key>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)

JavaScript (Fetch API)

const options = {
  method: 'POST',
  headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
  body: JSON.stringify({contactId: '<string>', projectId: '<string>'})
};

fetch('https://api-trial.cognigy.ai/new/v2.0/profiles/{profileId}/merge', options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));

PHP

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://api-trial.cognigy.ai/new/v2.0/profiles/{profileId}/merge",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => json_encode([
    'contactId' => '<string>',
    'projectId' => '<string>'
  ]),
  CURLOPT_HTTPHEADER => [
    "Content-Type: application/json",
    "X-API-Key: <api-key>"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}

Go

package main

import (
    "fmt"
    "strings"
    "net/http"
    "io"
)

func main() {

url := "https://api-trial.cognigy.ai/new/v2.0/profiles/{profileId}/merge"

payload := strings.NewReader("{\n  \"contactId\": \"<string>\",\n  \"projectId\": \"<string>\"\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("X-API-Key", "<api-key>")
    req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
    body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))
}

Response Codes

Error Response Example

{
  "type": "Bad Request",
  "title": "Bad Request Error",
  "status": 400,
  "detail": "Validation failed. Missing payload.",
  "instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
  "code": 1000,
  "traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
  "details": {}
}

Authorization

Name Type Required Description
X-API-Key header Yes Supply the API Key in the HTTP-Header

Request Body

JSON

{
  "contactId": "<string>",
  "projectId": "<string>"
}

Path Parameters

Name Type Required Description
profileId string Yes The Id of the Profile

Accept Header

The Accept header specifies the media type that the client expects in the response. Available options: application/json, application/hal+json, application/xml, text/xml, text/csv. The default value is application/json.