curl --request PATCH \
--url https://api.stardex.ai/v1/persons/{id}/references/{reference_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"reference_type": "<string>",
"note": "<string>",
"occurred_at": "2023-11-07T05:31:56Z"
}
'import requests
url = "https://api.stardex.ai/v1/persons/{id}/references/{reference_id}"
payload = {
"reference_type": "<string>",
"note": "<string>",
"occurred_at": "2023-11-07T05:31:56Z"
}
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({
reference_type: '<string>',
note: '<string>',
occurred_at: '2023-11-07T05:31:56Z'
})
};
fetch('https://api.stardex.ai/v1/persons/{id}/references/{reference_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/v1/persons/{id}/references/{reference_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([
'reference_type' => '<string>',
'note' => '<string>',
'occurred_at' => '2023-11-07T05:31:56Z'
]),
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/v1/persons/{id}/references/{reference_id}"
payload := strings.NewReader("{\n \"reference_type\": \"<string>\",\n \"note\": \"<string>\",\n \"occurred_at\": \"2023-11-07T05:31:56Z\"\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/v1/persons/{id}/references/{reference_id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"reference_type\": \"<string>\",\n \"note\": \"<string>\",\n \"occurred_at\": \"2023-11-07T05:31:56Z\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.stardex.ai/v1/persons/{id}/references/{reference_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 \"reference_type\": \"<string>\",\n \"note\": \"<string>\",\n \"occurred_at\": \"2023-11-07T05:31:56Z\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"id": "3f2c8a1e-5b7d-4c9e-8a1f-2d3e4f5a6b7c",
"person_id": "123e4567-e89b-12d3-a456-426614174000",
"related_person": {
"id": "567e8901-e23c-45d6-e789-012345678901",
"name": "Jane Smith",
"current_job_title": "VP Engineering",
"current_company_name": "Tech Corp"
},
"reference_type": "previous_manager",
"reference_type_name": "Previous Manager",
"reference_strength": "high",
"direction": "outgoing",
"note": "Reference call on May 12.\nWould hire him again for any platform role.",
"note_html": "<p>Reference call on <strong>May 12</strong>.</p>\n<p>Would hire him again for any platform role.</p>",
"created_by": "890e1234-e56f-78a9-b012-345678901234",
"occurred_at": "2026-05-11T15:00:00Z",
"created_at": "2026-05-12T16:20:00Z",
"updated_at": "2026-05-12T16:20:00Z"
}
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>"
}
}Update person reference
Update the type, strength, note or occurred_at of a reference. The person in the path can be either end of the reference. Only provided fields change; pass null to clear reference_strength or note. Find reference IDs with GET /v1/persons/{id}?include=references.
curl --request PATCH \
--url https://api.stardex.ai/v1/persons/{id}/references/{reference_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"reference_type": "<string>",
"note": "<string>",
"occurred_at": "2023-11-07T05:31:56Z"
}
'import requests
url = "https://api.stardex.ai/v1/persons/{id}/references/{reference_id}"
payload = {
"reference_type": "<string>",
"note": "<string>",
"occurred_at": "2023-11-07T05:31:56Z"
}
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({
reference_type: '<string>',
note: '<string>',
occurred_at: '2023-11-07T05:31:56Z'
})
};
fetch('https://api.stardex.ai/v1/persons/{id}/references/{reference_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/v1/persons/{id}/references/{reference_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([
'reference_type' => '<string>',
'note' => '<string>',
'occurred_at' => '2023-11-07T05:31:56Z'
]),
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/v1/persons/{id}/references/{reference_id}"
payload := strings.NewReader("{\n \"reference_type\": \"<string>\",\n \"note\": \"<string>\",\n \"occurred_at\": \"2023-11-07T05:31:56Z\"\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/v1/persons/{id}/references/{reference_id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"reference_type\": \"<string>\",\n \"note\": \"<string>\",\n \"occurred_at\": \"2023-11-07T05:31:56Z\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.stardex.ai/v1/persons/{id}/references/{reference_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 \"reference_type\": \"<string>\",\n \"note\": \"<string>\",\n \"occurred_at\": \"2023-11-07T05:31:56Z\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"id": "3f2c8a1e-5b7d-4c9e-8a1f-2d3e4f5a6b7c",
"person_id": "123e4567-e89b-12d3-a456-426614174000",
"related_person": {
"id": "567e8901-e23c-45d6-e789-012345678901",
"name": "Jane Smith",
"current_job_title": "VP Engineering",
"current_company_name": "Tech Corp"
},
"reference_type": "previous_manager",
"reference_type_name": "Previous Manager",
"reference_strength": "high",
"direction": "outgoing",
"note": "Reference call on May 12.\nWould hire him again for any platform role.",
"note_html": "<p>Reference call on <strong>May 12</strong>.</p>\n<p>Would hire him again for any platform role.</p>",
"created_by": "890e1234-e56f-78a9-b012-345678901234",
"occurred_at": "2026-05-11T15:00:00Z",
"created_at": "2026-05-12T16:20:00Z",
"updated_at": "2026-05-12T16:20:00Z"
}
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>"
}
}Authorizations
Authenticate with a Bearer token: API key, OAuth token, or session token.
Body
New reference type key. List the keys for your workspace with GET /v1/persons/reference-types.
1How strong the relationship is: "low", "medium" or "high". Pass null to clear it.
low, medium, high Note about the reference, such as what a reference said. Accepts plain text or HTML (bold, italics, lists, links and headings keep their formatting). Pass null to remove the note.
ISO 8601 timestamp for when the reference actually happened (e.g. "2024-01-10T14:00:00Z"). This is distinct from created_at, which is a system-managed timestamp for when the reference was written and cannot be changed. Omit to leave the existing time unchanged.
Was this page helpful?