curl --request PATCH \
--url https://api.vendaze.com/v1/people/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"full_name": "<string>",
"emails": [
{
"email": "contact@acme.com",
"type": "work"
}
],
"phones": [
{
"phone": "+551130000000",
"type": "work"
}
],
"company_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"position": "<string>",
"owner_email": "joao@company.com",
"avatar_image": "data:image/png;base64,iVBORw0KGgo...",
"tags": [
"<string>"
],
"list_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"custom_fields": [
{
"field_key": "lead_source",
"value": "<string>"
}
],
"association_mode": "append"
}
'import requests
url = "https://api.vendaze.com/v1/people/{id}"
payload = {
"full_name": "<string>",
"emails": [
{
"email": "contact@acme.com",
"type": "work"
}
],
"phones": [
{
"phone": "+551130000000",
"type": "work"
}
],
"company_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"position": "<string>",
"owner_email": "joao@company.com",
"avatar_image": "data:image/png;base64,iVBORw0KGgo...",
"tags": ["<string>"],
"list_ids": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"],
"custom_fields": [
{
"field_key": "lead_source",
"value": "<string>"
}
],
"association_mode": "append"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
full_name: '<string>',
emails: [{email: 'contact@acme.com', type: 'work'}],
phones: [{phone: '+551130000000', type: 'work'}],
company_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
position: '<string>',
owner_email: 'joao@company.com',
avatar_image: 'data:image/png;base64,iVBORw0KGgo...',
tags: ['<string>'],
list_ids: ['3c90c3cc-0d44-4b50-8888-8dd25736052a'],
custom_fields: [{field_key: 'lead_source', value: '<string>'}],
association_mode: 'append'
})
};
fetch('https://api.vendaze.com/v1/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.vendaze.com/v1/people/{id}",
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([
'full_name' => '<string>',
'emails' => [
[
'email' => 'contact@acme.com',
'type' => 'work'
]
],
'phones' => [
[
'phone' => '+551130000000',
'type' => 'work'
]
],
'company_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'position' => '<string>',
'owner_email' => 'joao@company.com',
'avatar_image' => 'data:image/png;base64,iVBORw0KGgo...',
'tags' => [
'<string>'
],
'list_ids' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'custom_fields' => [
[
'field_key' => 'lead_source',
'value' => '<string>'
]
],
'association_mode' => 'append'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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.vendaze.com/v1/people/{id}"
payload := strings.NewReader("{\n \"full_name\": \"<string>\",\n \"emails\": [\n {\n \"email\": \"contact@acme.com\",\n \"type\": \"work\"\n }\n ],\n \"phones\": [\n {\n \"phone\": \"+551130000000\",\n \"type\": \"work\"\n }\n ],\n \"company_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"position\": \"<string>\",\n \"owner_email\": \"joao@company.com\",\n \"avatar_image\": \"data:image/png;base64,iVBORw0KGgo...\",\n \"tags\": [\n \"<string>\"\n ],\n \"list_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"custom_fields\": [\n {\n \"field_key\": \"lead_source\",\n \"value\": \"<string>\"\n }\n ],\n \"association_mode\": \"append\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.vendaze.com/v1/people/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"full_name\": \"<string>\",\n \"emails\": [\n {\n \"email\": \"contact@acme.com\",\n \"type\": \"work\"\n }\n ],\n \"phones\": [\n {\n \"phone\": \"+551130000000\",\n \"type\": \"work\"\n }\n ],\n \"company_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"position\": \"<string>\",\n \"owner_email\": \"joao@company.com\",\n \"avatar_image\": \"data:image/png;base64,iVBORw0KGgo...\",\n \"tags\": [\n \"<string>\"\n ],\n \"list_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"custom_fields\": [\n {\n \"field_key\": \"lead_source\",\n \"value\": \"<string>\"\n }\n ],\n \"association_mode\": \"append\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.vendaze.com/v1/people/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"full_name\": \"<string>\",\n \"emails\": [\n {\n \"email\": \"contact@acme.com\",\n \"type\": \"work\"\n }\n ],\n \"phones\": [\n {\n \"phone\": \"+551130000000\",\n \"type\": \"work\"\n }\n ],\n \"company_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"position\": \"<string>\",\n \"owner_email\": \"joao@company.com\",\n \"avatar_image\": \"data:image/png;base64,iVBORw0KGgo...\",\n \"tags\": [\n \"<string>\"\n ],\n \"list_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"custom_fields\": [\n {\n \"field_key\": \"lead_source\",\n \"value\": \"<string>\"\n }\n ],\n \"association_mode\": \"append\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"full_name": "Maria Silva",
"emails": [
{
"email": "maria@company.com",
"type": "work"
}
],
"phones": [
{
"phone": "+5511999990001",
"type": "mobile"
}
],
"company_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"owner": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "John Smith",
"email": "john@company.com"
},
"position": "Sales Director",
"score": 0,
"avatar_url": "https://storage.vendaze.com/client/workspaces/abc/people/xyz/avatar/avatar_WWT1BGs9ma.webp",
"entity_id": "g7wwkh0",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"company": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"full_name": "<string>",
"emails": [
{
"email": "<string>",
"type": "<string>"
}
],
"phones": [
{
"phone": "<string>",
"type": "<string>"
}
],
"avatar_url": "<string>",
"entity_id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
},
"tags": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "Hot Lead",
"key": "hot_lead",
"color_text": "#ffffff",
"color_background": "#ef4444",
"created_at": "2023-11-07T05:31:56Z"
}
],
"lists": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"created_at": "2023-11-07T05:31:56Z"
}
],
"custom_fields": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"value": "<unknown>",
"field": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"label": "<string>",
"key": "<string>",
"type": "<string>"
}
}
]
}
}{
"error": {
"code": "bad_request",
"message": "Request body must be valid JSON.",
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "unauthorized",
"message": "Missing or invalid Authorization header.",
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "insufficient_scope",
"message": "This endpoint requires the 'webhooks:read' scope.",
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "not_found",
"message": "Webhook not found.",
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "validation_error",
"message": "Validation failed.",
"fields": {
"url": "url must use HTTPS.",
"events": "At least one event is required."
},
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "internal_error",
"message": "An unexpected error occurred.",
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}
}Update a person
Updates a person. Only the submitted fields are modified.
Required scope
Required scope
people:write
curl --request PATCH \
--url https://api.vendaze.com/v1/people/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"full_name": "<string>",
"emails": [
{
"email": "contact@acme.com",
"type": "work"
}
],
"phones": [
{
"phone": "+551130000000",
"type": "work"
}
],
"company_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"position": "<string>",
"owner_email": "joao@company.com",
"avatar_image": "data:image/png;base64,iVBORw0KGgo...",
"tags": [
"<string>"
],
"list_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"custom_fields": [
{
"field_key": "lead_source",
"value": "<string>"
}
],
"association_mode": "append"
}
'import requests
url = "https://api.vendaze.com/v1/people/{id}"
payload = {
"full_name": "<string>",
"emails": [
{
"email": "contact@acme.com",
"type": "work"
}
],
"phones": [
{
"phone": "+551130000000",
"type": "work"
}
],
"company_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"position": "<string>",
"owner_email": "joao@company.com",
"avatar_image": "data:image/png;base64,iVBORw0KGgo...",
"tags": ["<string>"],
"list_ids": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"],
"custom_fields": [
{
"field_key": "lead_source",
"value": "<string>"
}
],
"association_mode": "append"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
full_name: '<string>',
emails: [{email: 'contact@acme.com', type: 'work'}],
phones: [{phone: '+551130000000', type: 'work'}],
company_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
position: '<string>',
owner_email: 'joao@company.com',
avatar_image: 'data:image/png;base64,iVBORw0KGgo...',
tags: ['<string>'],
list_ids: ['3c90c3cc-0d44-4b50-8888-8dd25736052a'],
custom_fields: [{field_key: 'lead_source', value: '<string>'}],
association_mode: 'append'
})
};
fetch('https://api.vendaze.com/v1/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.vendaze.com/v1/people/{id}",
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([
'full_name' => '<string>',
'emails' => [
[
'email' => 'contact@acme.com',
'type' => 'work'
]
],
'phones' => [
[
'phone' => '+551130000000',
'type' => 'work'
]
],
'company_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'position' => '<string>',
'owner_email' => 'joao@company.com',
'avatar_image' => 'data:image/png;base64,iVBORw0KGgo...',
'tags' => [
'<string>'
],
'list_ids' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'custom_fields' => [
[
'field_key' => 'lead_source',
'value' => '<string>'
]
],
'association_mode' => 'append'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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.vendaze.com/v1/people/{id}"
payload := strings.NewReader("{\n \"full_name\": \"<string>\",\n \"emails\": [\n {\n \"email\": \"contact@acme.com\",\n \"type\": \"work\"\n }\n ],\n \"phones\": [\n {\n \"phone\": \"+551130000000\",\n \"type\": \"work\"\n }\n ],\n \"company_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"position\": \"<string>\",\n \"owner_email\": \"joao@company.com\",\n \"avatar_image\": \"data:image/png;base64,iVBORw0KGgo...\",\n \"tags\": [\n \"<string>\"\n ],\n \"list_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"custom_fields\": [\n {\n \"field_key\": \"lead_source\",\n \"value\": \"<string>\"\n }\n ],\n \"association_mode\": \"append\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.vendaze.com/v1/people/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"full_name\": \"<string>\",\n \"emails\": [\n {\n \"email\": \"contact@acme.com\",\n \"type\": \"work\"\n }\n ],\n \"phones\": [\n {\n \"phone\": \"+551130000000\",\n \"type\": \"work\"\n }\n ],\n \"company_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"position\": \"<string>\",\n \"owner_email\": \"joao@company.com\",\n \"avatar_image\": \"data:image/png;base64,iVBORw0KGgo...\",\n \"tags\": [\n \"<string>\"\n ],\n \"list_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"custom_fields\": [\n {\n \"field_key\": \"lead_source\",\n \"value\": \"<string>\"\n }\n ],\n \"association_mode\": \"append\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.vendaze.com/v1/people/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"full_name\": \"<string>\",\n \"emails\": [\n {\n \"email\": \"contact@acme.com\",\n \"type\": \"work\"\n }\n ],\n \"phones\": [\n {\n \"phone\": \"+551130000000\",\n \"type\": \"work\"\n }\n ],\n \"company_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"position\": \"<string>\",\n \"owner_email\": \"joao@company.com\",\n \"avatar_image\": \"data:image/png;base64,iVBORw0KGgo...\",\n \"tags\": [\n \"<string>\"\n ],\n \"list_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"custom_fields\": [\n {\n \"field_key\": \"lead_source\",\n \"value\": \"<string>\"\n }\n ],\n \"association_mode\": \"append\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"full_name": "Maria Silva",
"emails": [
{
"email": "maria@company.com",
"type": "work"
}
],
"phones": [
{
"phone": "+5511999990001",
"type": "mobile"
}
],
"company_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"owner": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "John Smith",
"email": "john@company.com"
},
"position": "Sales Director",
"score": 0,
"avatar_url": "https://storage.vendaze.com/client/workspaces/abc/people/xyz/avatar/avatar_WWT1BGs9ma.webp",
"entity_id": "g7wwkh0",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"company": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"full_name": "<string>",
"emails": [
{
"email": "<string>",
"type": "<string>"
}
],
"phones": [
{
"phone": "<string>",
"type": "<string>"
}
],
"avatar_url": "<string>",
"entity_id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
},
"tags": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "Hot Lead",
"key": "hot_lead",
"color_text": "#ffffff",
"color_background": "#ef4444",
"created_at": "2023-11-07T05:31:56Z"
}
],
"lists": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"created_at": "2023-11-07T05:31:56Z"
}
],
"custom_fields": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"value": "<unknown>",
"field": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"label": "<string>",
"key": "<string>",
"type": "<string>"
}
}
]
}
}{
"error": {
"code": "bad_request",
"message": "Request body must be valid JSON.",
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "unauthorized",
"message": "Missing or invalid Authorization header.",
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "insufficient_scope",
"message": "This endpoint requires the 'webhooks:read' scope.",
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "not_found",
"message": "Webhook not found.",
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "validation_error",
"message": "Validation failed.",
"fields": {
"url": "url must use HTTPS.",
"events": "At least one event is required."
},
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "internal_error",
"message": "An unexpected error occurred.",
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}
}Authorizations
OAuth 2.1 access token.
Path Parameters
UUID of the resource.
Body
All fields are optional. Only fields included in the body are modified.
70Show child attributes
Show child attributes
Show child attributes
Show child attributes
Pass null to remove the company association.
Pass null to clear the job title.
100Email of the workspace member to set as owner. Pass null to remove the owner. Must be a member of this workspace.
"joao@company.com"
Public HTTPS URL or full base64 data URI of the image (e.g. data:image/png;base64,...). Replaces the current avatar. Accepted formats: JPEG, PNG, WebP, GIF, BMP, TIFF.
"data:image/png;base64,iVBORw0KGgo..."
Tag names (keys) to associate. Behavior depends on association_mode. If a tag doesn't exist, it will be automatically created.
1 - 30List IDs to associate. Behavior depends on association_mode.
Custom field values. Behavior depends on association_mode. In append mode, replaces the value for each field_key sent without touching others.
Show child attributes
Show child attributes
Controls how associations (tags, list_ids, custom_fields) are applied. append: adds new associations without removing existing ones. replace: removes all current associations of each sent type and inserts the new ones. Sending an empty array with replace removes all associations of that type.
append, replace Response
Person updated successfully.
Show child attributes
Show child attributes
Was this page helpful?