Update person
curl --request PUT \
--url https://api.withallo.com/v2/api/crm/people/{id} \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"job_title": "CTO"
}
'import requests
url = "https://api.withallo.com/v2/api/crm/people/{id}"
payload = { "job_title": "CTO" }
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({job_title: 'CTO'})
};
fetch('https://api.withallo.com/v2/api/crm/people/{id}', 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.withallo.com/v2/api/crm/people/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'job_title' => 'CTO'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$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.withallo.com/v2/api/crm/people/{id}"
payload := strings.NewReader("{\n \"job_title\": \"CTO\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "<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.put("https://api.withallo.com/v2/api/crm/people/{id}")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"job_title\": \"CTO\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.withallo.com/v2/api/crm/people/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"job_title\": \"CTO\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "per-abc123",
"name": "John",
"last_name": "Doe",
"job_title": "CEO",
"website": "https://example.com",
"address": "123 Main St",
"numbers": [
"+33612345678"
],
"emails": [
"[email protected]"
],
"company": {
"id": "com-xyz789",
"name": "Acme Corp"
},
"interactions": 5,
"last_activity_at": "2026-04-28T10:30:00",
"created_at": "2026-04-01T09:00:00",
"updated_at": "2026-04-28T10:30:00"
}
}{
"error": {
"type": "<string>",
"code": "<string>",
"message": "<string>",
"retryable": true,
"request_id": "<string>",
"retry_after_seconds": 123
}
}{
"error": {
"type": "<string>",
"code": "<string>",
"message": "<string>",
"retryable": true,
"request_id": "<string>",
"retry_after_seconds": 123
}
}{
"error": {
"type": "<string>",
"code": "<string>",
"message": "<string>",
"retryable": true,
"request_id": "<string>",
"retry_after_seconds": 123
}
}{
"error": {
"type": "<string>",
"code": "<string>",
"message": "<string>",
"retryable": true,
"request_id": "<string>",
"retry_after_seconds": 123
}
}Personnes
Mettre a jour une personne
Updates an existing person. Only provided fields will be updated.
PUT
/
v2
/
api
/
crm
/
people
/
{id}
Update person
curl --request PUT \
--url https://api.withallo.com/v2/api/crm/people/{id} \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"job_title": "CTO"
}
'import requests
url = "https://api.withallo.com/v2/api/crm/people/{id}"
payload = { "job_title": "CTO" }
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({job_title: 'CTO'})
};
fetch('https://api.withallo.com/v2/api/crm/people/{id}', 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.withallo.com/v2/api/crm/people/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'job_title' => 'CTO'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$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.withallo.com/v2/api/crm/people/{id}"
payload := strings.NewReader("{\n \"job_title\": \"CTO\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "<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.put("https://api.withallo.com/v2/api/crm/people/{id}")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"job_title\": \"CTO\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.withallo.com/v2/api/crm/people/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"job_title\": \"CTO\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "per-abc123",
"name": "John",
"last_name": "Doe",
"job_title": "CEO",
"website": "https://example.com",
"address": "123 Main St",
"numbers": [
"+33612345678"
],
"emails": [
"[email protected]"
],
"company": {
"id": "com-xyz789",
"name": "Acme Corp"
},
"interactions": 5,
"last_activity_at": "2026-04-28T10:30:00",
"created_at": "2026-04-01T09:00:00",
"updated_at": "2026-04-28T10:30:00"
}
}{
"error": {
"type": "<string>",
"code": "<string>",
"message": "<string>",
"retryable": true,
"request_id": "<string>",
"retry_after_seconds": 123
}
}{
"error": {
"type": "<string>",
"code": "<string>",
"message": "<string>",
"retryable": true,
"request_id": "<string>",
"retry_after_seconds": 123
}
}{
"error": {
"type": "<string>",
"code": "<string>",
"message": "<string>",
"retryable": true,
"request_id": "<string>",
"retry_after_seconds": 123
}
}{
"error": {
"type": "<string>",
"code": "<string>",
"message": "<string>",
"retryable": true,
"request_id": "<string>",
"retry_after_seconds": 123
}
}Scope requis :
CRM_WRITEMise a jour partielle
Cet endpoint effectue une mise a jour partielle — seuls les champs inclus dans le body sont modifies. Les champs omis restent inchanges. Tous les champs de l’endpoint de creation sont acceptes et optionnels.Dissocier une entreprise
Envoyezcompany_id comme chaine vide ("") pour retirer l’association de la personne avec son entreprise actuelle.Autorisations
Paramètres de chemin
Person ID (e.g., "per-abc123")
Exemple:
"per-abc123"
Corps
application/json
Request body for updating a person. Only provided fields will be updated.
First name
Last name
Job title
Website URL
Postal address
Phone numbers (replaces all existing numbers)
Email addresses (replaces all existing emails)
ID of the company to associate with
Réponse
Person updated
A person in the CRM
Show child attributes
Show child attributes
Cette page vous a-t-elle été utile ?
⌘I