Set preferred phone (bulk)
curl --request POST \
--url https://api.stardex.ai/v1/persons/preferred-phone \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"updates": [
{
"person_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"phone": "<string>"
}
]
}
'import requests
url = "https://api.stardex.ai/v1/persons/preferred-phone"
payload = { "updates": [
{
"person_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"phone": "<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({
updates: [{person_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a', phone: '<string>'}]
})
};
fetch('https://api.stardex.ai/v1/persons/preferred-phone', 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/preferred-phone",
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([
'updates' => [
[
'person_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'phone' => '<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.stardex.ai/v1/persons/preferred-phone"
payload := strings.NewReader("{\n \"updates\": [\n {\n \"person_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"phone\": \"<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.stardex.ai/v1/persons/preferred-phone")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"updates\": [\n {\n \"person_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"phone\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.stardex.ai/v1/persons/preferred-phone")
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 \"updates\": [\n {\n \"person_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"phone\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"updated": [
{
"person_id": "123e4567-e89b-12d3-a456-426614174000",
"preferred_phone": "+1-555-0123"
}
],
"failed": [
{
"person_id": "00000000-0000-0000-0000-000000000001",
"error": "Person not found"
}
]
}
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
}
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
}
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
}
}Persons
Set preferred phone (bulk)
Star a stored phone number as preferred for one or many persons.
The phone number must already exist on each person — this endpoint does not add new numbers. Formatting differences are accepted when the digits match. Invalid rows fail individually and do not block other rows in the same request. When the same person_id appears twice, the last entry wins.
For a single person that should return the updated person record, use POST /v1/persons/{id}/preferred-phone.
POST
/
v1
/
persons
/
preferred-phone
Set preferred phone (bulk)
curl --request POST \
--url https://api.stardex.ai/v1/persons/preferred-phone \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"updates": [
{
"person_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"phone": "<string>"
}
]
}
'import requests
url = "https://api.stardex.ai/v1/persons/preferred-phone"
payload = { "updates": [
{
"person_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"phone": "<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({
updates: [{person_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a', phone: '<string>'}]
})
};
fetch('https://api.stardex.ai/v1/persons/preferred-phone', 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/preferred-phone",
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([
'updates' => [
[
'person_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'phone' => '<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.stardex.ai/v1/persons/preferred-phone"
payload := strings.NewReader("{\n \"updates\": [\n {\n \"person_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"phone\": \"<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.stardex.ai/v1/persons/preferred-phone")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"updates\": [\n {\n \"person_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"phone\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.stardex.ai/v1/persons/preferred-phone")
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 \"updates\": [\n {\n \"person_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"phone\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"updated": [
{
"person_id": "123e4567-e89b-12d3-a456-426614174000",
"preferred_phone": "+1-555-0123"
}
],
"failed": [
{
"person_id": "00000000-0000-0000-0000-000000000001",
"error": "Person not found"
}
]
}
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
}
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
}
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
}
}Authorizations
Body
application/json
Was this page helpful?