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
Your API key for authentication.
Path Parameters
The unique identifier of the persona the phone number is attached to.
The E.164 formatted phone number to update settings for. This number must currently be attached to the specified persona.
Body Parameters
Persona-specific settings for this phone number. Pass
null to clear all per-number settings and fall back to the persona’s defaults.Response
The updated inbound number record.
Show inbound number object
Show inbound number object
Internal ID of the inbound number record.
The E.164 formatted phone number.
The persona this number is attached to.
The updated persona settings for this number, or
null if cleared.ISO 8601 timestamp of when the record was last modified.
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