curl --request POST \
--url https://api.vendaze.com/v1/people \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"full_name": "Maria Silva",
"emails": [
{
"email": "contact@acme.com",
"type": "work"
}
],
"phones": [
{
"phone": "+551130000000",
"type": "work"
}
],
"company_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"position": "Sales Director",
"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>"
}
]
}
'import requests
url = "https://api.vendaze.com/v1/people"
payload = {
"full_name": "Maria Silva",
"emails": [
{
"email": "contact@acme.com",
"type": "work"
}
],
"phones": [
{
"phone": "+551130000000",
"type": "work"
}
],
"company_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"position": "Sales Director",
"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>"
}
]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
full_name: 'Maria Silva',
emails: [{email: 'contact@acme.com', type: 'work'}],
phones: [{phone: '+551130000000', type: 'work'}],
company_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
position: 'Sales Director',
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>'}]
})
};
fetch('https://api.vendaze.com/v1/people', 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",
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([
'full_name' => 'Maria Silva',
'emails' => [
[
'email' => 'contact@acme.com',
'type' => 'work'
]
],
'phones' => [
[
'phone' => '+551130000000',
'type' => 'work'
]
],
'company_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'position' => 'Sales Director',
'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>'
]
]
]),
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"
payload := strings.NewReader("{\n \"full_name\": \"Maria Silva\",\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\": \"Sales Director\",\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}")
req, _ := http.NewRequest("POST", 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.post("https://api.vendaze.com/v1/people")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"full_name\": \"Maria Silva\",\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\": \"Sales Director\",\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}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.vendaze.com/v1/people")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"full_name\": \"Maria Silva\",\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\": \"Sales Director\",\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}"
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": "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": "rate_limit_exceeded",
"message": "Rate limit exceeded. Try again in 60 seconds.",
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "internal_error",
"message": "An unexpected error occurred.",
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}
}Create a person
Creates a new person in the workspace.
Required scope
Required scope
people:write
curl --request POST \
--url https://api.vendaze.com/v1/people \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"full_name": "Maria Silva",
"emails": [
{
"email": "contact@acme.com",
"type": "work"
}
],
"phones": [
{
"phone": "+551130000000",
"type": "work"
}
],
"company_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"position": "Sales Director",
"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>"
}
]
}
'import requests
url = "https://api.vendaze.com/v1/people"
payload = {
"full_name": "Maria Silva",
"emails": [
{
"email": "contact@acme.com",
"type": "work"
}
],
"phones": [
{
"phone": "+551130000000",
"type": "work"
}
],
"company_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"position": "Sales Director",
"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>"
}
]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
full_name: 'Maria Silva',
emails: [{email: 'contact@acme.com', type: 'work'}],
phones: [{phone: '+551130000000', type: 'work'}],
company_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
position: 'Sales Director',
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>'}]
})
};
fetch('https://api.vendaze.com/v1/people', 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",
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([
'full_name' => 'Maria Silva',
'emails' => [
[
'email' => 'contact@acme.com',
'type' => 'work'
]
],
'phones' => [
[
'phone' => '+551130000000',
'type' => 'work'
]
],
'company_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'position' => 'Sales Director',
'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>'
]
]
]),
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"
payload := strings.NewReader("{\n \"full_name\": \"Maria Silva\",\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\": \"Sales Director\",\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}")
req, _ := http.NewRequest("POST", 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.post("https://api.vendaze.com/v1/people")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"full_name\": \"Maria Silva\",\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\": \"Sales Director\",\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}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.vendaze.com/v1/people")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"full_name\": \"Maria Silva\",\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\": \"Sales Director\",\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}"
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": "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": "rate_limit_exceeded",
"message": "Rate limit exceeded. Try again in 60 seconds.",
"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.
Body
70"Maria Silva"
Show child attributes
Show child attributes
Show child attributes
Show child attributes
100"Sales Director"
Email of the workspace member to set as owner. The API resolves it to the internal user ID. 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,...). Accepted formats: JPEG, PNG, WebP, GIF, BMP, TIFF.
"data:image/png;base64,iVBORw0KGgo..."
Tag names (keys) to associate with the person. If a tag doesn't exist, it will be automatically created.
1 - 30List IDs to associate with the person.
Custom field values to set for the person. Identified by field_key. If the field does not exist, it is created automatically with type text.
Show child attributes
Show child attributes
Response
Person created successfully.
Show child attributes
Show child attributes
Was this page helpful?