Update Persona Number Settings
curl --request PATCH \
--url https://api.bland.ai/v1/personas/{persona_id}/inbound/{phone_number}/settings \
--header 'Content-Type: application/json' \
--header 'authorization: <authorization>' \
--data '
{
"persona_settings": {
"pathway_id": "<string>",
"pathway_version": 123,
"start_node_id": "<string>"
}
}
'import requests
url = "https://api.bland.ai/v1/personas/{persona_id}/inbound/{phone_number}/settings"
payload = { "persona_settings": {
"pathway_id": "<string>",
"pathway_version": 123,
"start_node_id": "<string>"
} }
headers = {
"authorization": "<authorization>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {authorization: '<authorization>', 'Content-Type': 'application/json'},
body: JSON.stringify({
persona_settings: {pathway_id: '<string>', pathway_version: 123, start_node_id: '<string>'}
})
};
fetch('https://api.bland.ai/v1/personas/{persona_id}/inbound/{phone_number}/settings', 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.bland.ai/v1/personas/{persona_id}/inbound/{phone_number}/settings",
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([
'persona_settings' => [
'pathway_id' => '<string>',
'pathway_version' => 123,
'start_node_id' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"authorization: <authorization>"
],
]);
$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.bland.ai/v1/personas/{persona_id}/inbound/{phone_number}/settings"
payload := strings.NewReader("{\n \"persona_settings\": {\n \"pathway_id\": \"<string>\",\n \"pathway_version\": 123,\n \"start_node_id\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("authorization", "<authorization>")
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.bland.ai/v1/personas/{persona_id}/inbound/{phone_number}/settings")
.header("authorization", "<authorization>")
.header("Content-Type", "application/json")
.body("{\n \"persona_settings\": {\n \"pathway_id\": \"<string>\",\n \"pathway_version\": 123,\n \"start_node_id\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bland.ai/v1/personas/{persona_id}/inbound/{phone_number}/settings")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["authorization"] = '<authorization>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"persona_settings\": {\n \"pathway_id\": \"<string>\",\n \"pathway_version\": 123,\n \"start_node_id\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"persona_settings": {
"pathway_id": "pathway_abc123",
"pathway_version": 2,
"start_node_id": "node_xyz"
}
}
{
"data": {
"id": 42,
"phone_number": "+14155551234",
"persona_id": "12345678-1234-1234-1234-123456789012",
"persona_settings": {
"pathway_id": "pathway_abc123",
"pathway_version": 2,
"start_node_id": "node_xyz"
},
"updated_at": "2025-09-23T16:00:00.000Z"
},
"errors": null
}
{
"persona_settings": null
}
{
"data": null,
"errors": [
{
"error": "INBOUND_NOT_FOUND",
"message": "Inbound number not found or not attached to this persona"
}
]
}
Phone Numbers
Update Persona Number Settings
Update persona-specific settings for a phone number attached to a persona. Use this to configure per-number pathway overrides while still using the persona’s base configuration.
PATCH
/
v1
/
personas
/
{persona_id}
/
inbound
/
{phone_number}
/
settings
Update Persona Number Settings
curl --request PATCH \
--url https://api.bland.ai/v1/personas/{persona_id}/inbound/{phone_number}/settings \
--header 'Content-Type: application/json' \
--header 'authorization: <authorization>' \
--data '
{
"persona_settings": {
"pathway_id": "<string>",
"pathway_version": 123,
"start_node_id": "<string>"
}
}
'import requests
url = "https://api.bland.ai/v1/personas/{persona_id}/inbound/{phone_number}/settings"
payload = { "persona_settings": {
"pathway_id": "<string>",
"pathway_version": 123,
"start_node_id": "<string>"
} }
headers = {
"authorization": "<authorization>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {authorization: '<authorization>', 'Content-Type': 'application/json'},
body: JSON.stringify({
persona_settings: {pathway_id: '<string>', pathway_version: 123, start_node_id: '<string>'}
})
};
fetch('https://api.bland.ai/v1/personas/{persona_id}/inbound/{phone_number}/settings', 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.bland.ai/v1/personas/{persona_id}/inbound/{phone_number}/settings",
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([
'persona_settings' => [
'pathway_id' => '<string>',
'pathway_version' => 123,
'start_node_id' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"authorization: <authorization>"
],
]);
$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.bland.ai/v1/personas/{persona_id}/inbound/{phone_number}/settings"
payload := strings.NewReader("{\n \"persona_settings\": {\n \"pathway_id\": \"<string>\",\n \"pathway_version\": 123,\n \"start_node_id\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("authorization", "<authorization>")
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.bland.ai/v1/personas/{persona_id}/inbound/{phone_number}/settings")
.header("authorization", "<authorization>")
.header("Content-Type", "application/json")
.body("{\n \"persona_settings\": {\n \"pathway_id\": \"<string>\",\n \"pathway_version\": 123,\n \"start_node_id\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bland.ai/v1/personas/{persona_id}/inbound/{phone_number}/settings")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["authorization"] = '<authorization>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"persona_settings\": {\n \"pathway_id\": \"<string>\",\n \"pathway_version\": 123,\n \"start_node_id\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"persona_settings": {
"pathway_id": "pathway_abc123",
"pathway_version": 2,
"start_node_id": "node_xyz"
}
}
{
"data": {
"id": 42,
"phone_number": "+14155551234",
"persona_id": "12345678-1234-1234-1234-123456789012",
"persona_settings": {
"pathway_id": "pathway_abc123",
"pathway_version": 2,
"start_node_id": "node_xyz"
},
"updated_at": "2025-09-23T16:00:00.000Z"
},
"errors": null
}
{
"persona_settings": null
}
{
"data": null,
"errors": [
{
"error": "INBOUND_NOT_FOUND",
"message": "Inbound number not found or not attached to this persona"
}
]
}
Headers
string
required
Your API key for authentication.
Path Parameters
string
required
The unique identifier of the persona the phone number is attached to.
string
required
The E.164 formatted phone number to update settings for. This number must currently be attached to the specified persona.
Body Parameters
object | null
required
Persona-specific settings for this phone number. Pass
null to clear all per-number settings and fall back to the persona’s defaults.Response
object
The updated inbound number record.
null|array
null on success, or a list of error objects if the request failed.{
"persona_settings": {
"pathway_id": "pathway_abc123",
"pathway_version": 2,
"start_node_id": "node_xyz"
}
}
{
"data": {
"id": 42,
"phone_number": "+14155551234",
"persona_id": "12345678-1234-1234-1234-123456789012",
"persona_settings": {
"pathway_id": "pathway_abc123",
"pathway_version": 2,
"start_node_id": "node_xyz"
},
"updated_at": "2025-09-23T16:00:00.000Z"
},
"errors": null
}
{
"persona_settings": null
}
{
"data": null,
"errors": [
{
"error": "INBOUND_NOT_FOUND",
"message": "Inbound number not found or not attached to this persona"
}
]
}
Docs for agents: llms.txt
Was this page helpful?
⌘I