Contact
Update contact
Update a contact. At least one of “email” or “name” must be provided; omitted fields keep their current values.
PATCH
/
v1
/
contacts
/
{contactId}
cURL
curl --request PATCH \
--url https://api.claap.io/v1/contacts/{contactId} \
--header 'Content-Type: application/json' \
--header 'X-Claap-Key: <api-key>' \
--data '
{
"creatorEmail": "jsmith@example.com",
"email": "jsmith@example.com",
"name": "<string>"
}
'import requests
url = "https://api.claap.io/v1/contacts/{contactId}"
payload = {
"creatorEmail": "jsmith@example.com",
"email": "jsmith@example.com",
"name": "<string>"
}
headers = {
"X-Claap-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'X-Claap-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
creatorEmail: 'jsmith@example.com',
email: 'jsmith@example.com',
name: '<string>'
})
};
fetch('https://api.claap.io/v1/contacts/{contactId}', 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.claap.io/v1/contacts/{contactId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'creatorEmail' => 'jsmith@example.com',
'email' => 'jsmith@example.com',
'name' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Claap-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.claap.io/v1/contacts/{contactId}"
payload := strings.NewReader("{\n \"creatorEmail\": \"jsmith@example.com\",\n \"email\": \"jsmith@example.com\",\n \"name\": \"<string>\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("X-Claap-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))
}HttpResponse<String> response = Unirest.patch("https://api.claap.io/v1/contacts/{contactId}")
.header("X-Claap-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"creatorEmail\": \"jsmith@example.com\",\n \"email\": \"jsmith@example.com\",\n \"name\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.claap.io/v1/contacts/{contactId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["X-Claap-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"creatorEmail\": \"jsmith@example.com\",\n \"email\": \"jsmith@example.com\",\n \"name\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"result": {
"contact": {
"contactId": "<string>",
"createdAt": "<string>",
"email": "<string>",
"name": "<string>",
"updatedAt": "<string>",
"companyId": "<string>",
"crmUrl": "<string>",
"isExternal": true,
"summary": {
"markdown": "<string>"
},
"userId": "<string>"
}
}
}The update is partial: omitted attributes keep their current values, and at least one of
email or name must be provided. The creatorEmail must belong to an active workspace member, who is recorded as the author of this manual change.
Some contacts cannot be updated:
- Contacts bound to a workspace user (
userIdset) cannot be edited. - The email of a contact linked to a CRM entity must be changed in the CRM instead.
- The new email cannot be already owned by another contact of the workspace.
Authorizations
Path Parameters
Contact identifier
Body
application/json
Response
Contact was successfully updated
Show child attributes
Show child attributes
⌘I
cURL
curl --request PATCH \
--url https://api.claap.io/v1/contacts/{contactId} \
--header 'Content-Type: application/json' \
--header 'X-Claap-Key: <api-key>' \
--data '
{
"creatorEmail": "jsmith@example.com",
"email": "jsmith@example.com",
"name": "<string>"
}
'import requests
url = "https://api.claap.io/v1/contacts/{contactId}"
payload = {
"creatorEmail": "jsmith@example.com",
"email": "jsmith@example.com",
"name": "<string>"
}
headers = {
"X-Claap-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'X-Claap-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
creatorEmail: 'jsmith@example.com',
email: 'jsmith@example.com',
name: '<string>'
})
};
fetch('https://api.claap.io/v1/contacts/{contactId}', 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.claap.io/v1/contacts/{contactId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'creatorEmail' => 'jsmith@example.com',
'email' => 'jsmith@example.com',
'name' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Claap-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.claap.io/v1/contacts/{contactId}"
payload := strings.NewReader("{\n \"creatorEmail\": \"jsmith@example.com\",\n \"email\": \"jsmith@example.com\",\n \"name\": \"<string>\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("X-Claap-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))
}HttpResponse<String> response = Unirest.patch("https://api.claap.io/v1/contacts/{contactId}")
.header("X-Claap-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"creatorEmail\": \"jsmith@example.com\",\n \"email\": \"jsmith@example.com\",\n \"name\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.claap.io/v1/contacts/{contactId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["X-Claap-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"creatorEmail\": \"jsmith@example.com\",\n \"email\": \"jsmith@example.com\",\n \"name\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"result": {
"contact": {
"contactId": "<string>",
"createdAt": "<string>",
"email": "<string>",
"name": "<string>",
"updatedAt": "<string>",
"companyId": "<string>",
"crmUrl": "<string>",
"isExternal": true,
"summary": {
"markdown": "<string>"
},
"userId": "<string>"
}
}
}