Update person details
curl --request PATCH \
--url https://api.stardex.ai/v0/persons/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"emails": [
{
"contact_data_type": "work",
"value": "john.doe@company.com"
},
{
"contact_data_type": "personal",
"value": "john@gmail.com"
}
],
"phones": [
{
"contact_data_type": "work",
"value": "+1-555-0123"
},
{
"contact_data_type": "mobile",
"value": "+1-555-0124"
}
],
"current_job_title": "Senior Software Engineer",
"linkedin_location": "San Francisco Bay Area",
"linkedin_headline": "Building innovative solutions | Tech Lead at Company",
"address": "123 Main St, San Francisco, CA 94105"
}
'import requests
url = "https://api.stardex.ai/v0/persons/{id}"
payload = {
"emails": [
{
"contact_data_type": "work",
"value": "john.doe@company.com"
},
{
"contact_data_type": "personal",
"value": "john@gmail.com"
}
],
"phones": [
{
"contact_data_type": "work",
"value": "+1-555-0123"
},
{
"contact_data_type": "mobile",
"value": "+1-555-0124"
}
],
"current_job_title": "Senior Software Engineer",
"linkedin_location": "San Francisco Bay Area",
"linkedin_headline": "Building innovative solutions | Tech Lead at Company",
"address": "123 Main St, San Francisco, CA 94105"
}
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({
emails: [
{contact_data_type: 'work', value: 'john.doe@company.com'},
{contact_data_type: 'personal', value: 'john@gmail.com'}
],
phones: [
{contact_data_type: 'work', value: '+1-555-0123'},
{contact_data_type: 'mobile', value: '+1-555-0124'}
],
current_job_title: 'Senior Software Engineer',
linkedin_location: 'San Francisco Bay Area',
linkedin_headline: 'Building innovative solutions | Tech Lead at Company',
address: '123 Main St, San Francisco, CA 94105'
})
};
fetch('https://api.stardex.ai/v0/persons/{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.stardex.ai/v0/persons/{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([
'emails' => [
[
'contact_data_type' => 'work',
'value' => 'john.doe@company.com'
],
[
'contact_data_type' => 'personal',
'value' => 'john@gmail.com'
]
],
'phones' => [
[
'contact_data_type' => 'work',
'value' => '+1-555-0123'
],
[
'contact_data_type' => 'mobile',
'value' => '+1-555-0124'
]
],
'current_job_title' => 'Senior Software Engineer',
'linkedin_location' => 'San Francisco Bay Area',
'linkedin_headline' => 'Building innovative solutions | Tech Lead at Company',
'address' => '123 Main St, San Francisco, CA 94105'
]),
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.stardex.ai/v0/persons/{id}"
payload := strings.NewReader("{\n \"emails\": [\n {\n \"contact_data_type\": \"work\",\n \"value\": \"john.doe@company.com\"\n },\n {\n \"contact_data_type\": \"personal\",\n \"value\": \"john@gmail.com\"\n }\n ],\n \"phones\": [\n {\n \"contact_data_type\": \"work\",\n \"value\": \"+1-555-0123\"\n },\n {\n \"contact_data_type\": \"mobile\",\n \"value\": \"+1-555-0124\"\n }\n ],\n \"current_job_title\": \"Senior Software Engineer\",\n \"linkedin_location\": \"San Francisco Bay Area\",\n \"linkedin_headline\": \"Building innovative solutions | Tech Lead at Company\",\n \"address\": \"123 Main St, San Francisco, CA 94105\"\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.stardex.ai/v0/persons/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"emails\": [\n {\n \"contact_data_type\": \"work\",\n \"value\": \"john.doe@company.com\"\n },\n {\n \"contact_data_type\": \"personal\",\n \"value\": \"john@gmail.com\"\n }\n ],\n \"phones\": [\n {\n \"contact_data_type\": \"work\",\n \"value\": \"+1-555-0123\"\n },\n {\n \"contact_data_type\": \"mobile\",\n \"value\": \"+1-555-0124\"\n }\n ],\n \"current_job_title\": \"Senior Software Engineer\",\n \"linkedin_location\": \"San Francisco Bay Area\",\n \"linkedin_headline\": \"Building innovative solutions | Tech Lead at Company\",\n \"address\": \"123 Main St, San Francisco, CA 94105\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.stardex.ai/v0/persons/{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 \"emails\": [\n {\n \"contact_data_type\": \"work\",\n \"value\": \"john.doe@company.com\"\n },\n {\n \"contact_data_type\": \"personal\",\n \"value\": \"john@gmail.com\"\n }\n ],\n \"phones\": [\n {\n \"contact_data_type\": \"work\",\n \"value\": \"+1-555-0123\"\n },\n {\n \"contact_data_type\": \"mobile\",\n \"value\": \"+1-555-0124\"\n }\n ],\n \"current_job_title\": \"Senior Software Engineer\",\n \"linkedin_location\": \"San Francisco Bay Area\",\n \"linkedin_headline\": \"Building innovative solutions | Tech Lead at Company\",\n \"address\": \"123 Main St, San Francisco, CA 94105\"\n}"
response = http.request(request)
puts response.read_body{
"error": null,
"data": {
"success": true,
"message": "Person updated successfully"
}
}{
"error": "Invalid request data. Check the request body.",
"data": null
}{
"error": "Person not found",
"data": null
}{
"error": "Internal server error",
"data": null
}Person Endpoints
Update person details
Updates a person’s information including contact details and professional information.
- Contact details (emails/phones) are upserted - existing records are updated, new ones are added
- Professional details are updated if provided
- All fields are optional - only provided fields will be updated
PATCH
/
v0
/
persons
/
{id}
Update person details
curl --request PATCH \
--url https://api.stardex.ai/v0/persons/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"emails": [
{
"contact_data_type": "work",
"value": "john.doe@company.com"
},
{
"contact_data_type": "personal",
"value": "john@gmail.com"
}
],
"phones": [
{
"contact_data_type": "work",
"value": "+1-555-0123"
},
{
"contact_data_type": "mobile",
"value": "+1-555-0124"
}
],
"current_job_title": "Senior Software Engineer",
"linkedin_location": "San Francisco Bay Area",
"linkedin_headline": "Building innovative solutions | Tech Lead at Company",
"address": "123 Main St, San Francisco, CA 94105"
}
'import requests
url = "https://api.stardex.ai/v0/persons/{id}"
payload = {
"emails": [
{
"contact_data_type": "work",
"value": "john.doe@company.com"
},
{
"contact_data_type": "personal",
"value": "john@gmail.com"
}
],
"phones": [
{
"contact_data_type": "work",
"value": "+1-555-0123"
},
{
"contact_data_type": "mobile",
"value": "+1-555-0124"
}
],
"current_job_title": "Senior Software Engineer",
"linkedin_location": "San Francisco Bay Area",
"linkedin_headline": "Building innovative solutions | Tech Lead at Company",
"address": "123 Main St, San Francisco, CA 94105"
}
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({
emails: [
{contact_data_type: 'work', value: 'john.doe@company.com'},
{contact_data_type: 'personal', value: 'john@gmail.com'}
],
phones: [
{contact_data_type: 'work', value: '+1-555-0123'},
{contact_data_type: 'mobile', value: '+1-555-0124'}
],
current_job_title: 'Senior Software Engineer',
linkedin_location: 'San Francisco Bay Area',
linkedin_headline: 'Building innovative solutions | Tech Lead at Company',
address: '123 Main St, San Francisco, CA 94105'
})
};
fetch('https://api.stardex.ai/v0/persons/{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.stardex.ai/v0/persons/{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([
'emails' => [
[
'contact_data_type' => 'work',
'value' => 'john.doe@company.com'
],
[
'contact_data_type' => 'personal',
'value' => 'john@gmail.com'
]
],
'phones' => [
[
'contact_data_type' => 'work',
'value' => '+1-555-0123'
],
[
'contact_data_type' => 'mobile',
'value' => '+1-555-0124'
]
],
'current_job_title' => 'Senior Software Engineer',
'linkedin_location' => 'San Francisco Bay Area',
'linkedin_headline' => 'Building innovative solutions | Tech Lead at Company',
'address' => '123 Main St, San Francisco, CA 94105'
]),
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.stardex.ai/v0/persons/{id}"
payload := strings.NewReader("{\n \"emails\": [\n {\n \"contact_data_type\": \"work\",\n \"value\": \"john.doe@company.com\"\n },\n {\n \"contact_data_type\": \"personal\",\n \"value\": \"john@gmail.com\"\n }\n ],\n \"phones\": [\n {\n \"contact_data_type\": \"work\",\n \"value\": \"+1-555-0123\"\n },\n {\n \"contact_data_type\": \"mobile\",\n \"value\": \"+1-555-0124\"\n }\n ],\n \"current_job_title\": \"Senior Software Engineer\",\n \"linkedin_location\": \"San Francisco Bay Area\",\n \"linkedin_headline\": \"Building innovative solutions | Tech Lead at Company\",\n \"address\": \"123 Main St, San Francisco, CA 94105\"\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.stardex.ai/v0/persons/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"emails\": [\n {\n \"contact_data_type\": \"work\",\n \"value\": \"john.doe@company.com\"\n },\n {\n \"contact_data_type\": \"personal\",\n \"value\": \"john@gmail.com\"\n }\n ],\n \"phones\": [\n {\n \"contact_data_type\": \"work\",\n \"value\": \"+1-555-0123\"\n },\n {\n \"contact_data_type\": \"mobile\",\n \"value\": \"+1-555-0124\"\n }\n ],\n \"current_job_title\": \"Senior Software Engineer\",\n \"linkedin_location\": \"San Francisco Bay Area\",\n \"linkedin_headline\": \"Building innovative solutions | Tech Lead at Company\",\n \"address\": \"123 Main St, San Francisco, CA 94105\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.stardex.ai/v0/persons/{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 \"emails\": [\n {\n \"contact_data_type\": \"work\",\n \"value\": \"john.doe@company.com\"\n },\n {\n \"contact_data_type\": \"personal\",\n \"value\": \"john@gmail.com\"\n }\n ],\n \"phones\": [\n {\n \"contact_data_type\": \"work\",\n \"value\": \"+1-555-0123\"\n },\n {\n \"contact_data_type\": \"mobile\",\n \"value\": \"+1-555-0124\"\n }\n ],\n \"current_job_title\": \"Senior Software Engineer\",\n \"linkedin_location\": \"San Francisco Bay Area\",\n \"linkedin_headline\": \"Building innovative solutions | Tech Lead at Company\",\n \"address\": \"123 Main St, San Francisco, CA 94105\"\n}"
response = http.request(request)
puts response.read_body{
"error": null,
"data": {
"success": true,
"message": "Person updated successfully"
}
}{
"error": "Invalid request data. Check the request body.",
"data": null
}{
"error": "Person not found",
"data": null
}{
"error": "Internal server error",
"data": null
}Authorizations
Authenticate with a Bearer token: API key, OAuth token, or session token.
Path Parameters
Person ID
Body
application/json
LinkedIn profile URL (alternative to using person ID)
Email addresses to update/add as an array
Show child attributes
Show child attributes
Phone numbers to update/add as an array
Show child attributes
Show child attributes
Full name
First name
Last name
Current job title
Current company name
LinkedIn location
LinkedIn headline
Physical address
Whether to enrich the person record
Work email address
Personal email address
Mobile phone number
Work phone number
Was this page helpful?
⌘I