Identity
Update Agent Identity
Change the agent’s contact card fields and delivery settings.
PUT
/
v2
/
agents
/
{agent_id}
/
identity
Update Agent Identity
curl --request PUT \
--url https://api.bland.ai/v2/agents/{agent_id}/identity \
--header 'Content-Type: application/json' \
--header 'authorization: <authorization>' \
--data '
{
"display_name": "<string>",
"tagline": "<string>",
"support_email": "<string>",
"website": "<string>",
"address": "<string>",
"vcf_delivery_enabled": true,
"rcs_enabled": true,
"bcid_enabled": true
}
'import requests
url = "https://api.bland.ai/v2/agents/{agent_id}/identity"
payload = {
"display_name": "<string>",
"tagline": "<string>",
"support_email": "<string>",
"website": "<string>",
"address": "<string>",
"vcf_delivery_enabled": True,
"rcs_enabled": True,
"bcid_enabled": True
}
headers = {
"authorization": "<authorization>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {authorization: '<authorization>', 'Content-Type': 'application/json'},
body: JSON.stringify({
display_name: '<string>',
tagline: '<string>',
support_email: '<string>',
website: '<string>',
address: '<string>',
vcf_delivery_enabled: true,
rcs_enabled: true,
bcid_enabled: true
})
};
fetch('https://api.bland.ai/v2/agents/{agent_id}/identity', 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/v2/agents/{agent_id}/identity",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'display_name' => '<string>',
'tagline' => '<string>',
'support_email' => '<string>',
'website' => '<string>',
'address' => '<string>',
'vcf_delivery_enabled' => true,
'rcs_enabled' => true,
'bcid_enabled' => true
]),
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/v2/agents/{agent_id}/identity"
payload := strings.NewReader("{\n \"display_name\": \"<string>\",\n \"tagline\": \"<string>\",\n \"support_email\": \"<string>\",\n \"website\": \"<string>\",\n \"address\": \"<string>\",\n \"vcf_delivery_enabled\": true,\n \"rcs_enabled\": true,\n \"bcid_enabled\": true\n}")
req, _ := http.NewRequest("PUT", 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.put("https://api.bland.ai/v2/agents/{agent_id}/identity")
.header("authorization", "<authorization>")
.header("Content-Type", "application/json")
.body("{\n \"display_name\": \"<string>\",\n \"tagline\": \"<string>\",\n \"support_email\": \"<string>\",\n \"website\": \"<string>\",\n \"address\": \"<string>\",\n \"vcf_delivery_enabled\": true,\n \"rcs_enabled\": true,\n \"bcid_enabled\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bland.ai/v2/agents/{agent_id}/identity")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["authorization"] = '<authorization>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"display_name\": \"<string>\",\n \"tagline\": \"<string>\",\n \"support_email\": \"<string>\",\n \"website\": \"<string>\",\n \"address\": \"<string>\",\n \"vcf_delivery_enabled\": true,\n \"rcs_enabled\": true,\n \"bcid_enabled\": true\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "b88c3ce2-54d4-406c-bd21-733c61556151",
"org_id": "4bb834b5-8e95-487a-908d-d712a201008c",
"agent_id": "ec74c83e-5370-450b-9aa0-59757ec25a81",
"display_name": "Northwind Dental",
"tagline": "Front desk",
"support_email": "help@northwind.example",
"website": "https://northwind.example",
"address": "",
"logo_file_id": null,
"vcf_file_id": "29be0d69-898a-41a2-b875-5aeaae7fbd23",
"vcf_delivery_enabled": false,
"rcs_enabled": true,
"bcid_enabled": false,
"bcid_status": "not_submitted",
"bcid_submission": null,
"phone_numbers": [],
"logo_url": null,
"vcf_url": "https://files.bland.ai/agent-identity/29be0d69-898a-41a2-b875-5aeaae7fbd23?signature=...",
"created_at": "2026-09-15T05:08:35.092Z",
"updated_at": "2026-09-15T05:08:44.301Z"
},
"errors": null
}
{
"data": null,
"errors": [
{
"error": "BAD_REQUEST",
"message": "support_email must be a valid email address"
}
]
}
{
"data": null,
"errors": [
{
"error": "BAD_REQUEST",
"message": "No identity fields to update"
}
]
}
{
"data": null,
"errors": [
{
"error": "NOT_FOUND",
"message": "Agent not found"
}
]
}
Overview
Updates the identity fields you send and leaves the rest untouched, so a partial body is fine. Send at least one known field; an empty object returns400 BAD_REQUEST.
Changing any card field rebuilds the contact card, so vcf_file_id and vcf_url change even though you did not send them. Read the identity back with Get Agent Identity if you need the new values.
Requires an admin, owner, operator, or prompter role.
Headers
Path Parameters
Body Parameters
Every field is optional, but the body must contain at least one of them and must be an object. Unknown keys are ignored. String fields are trimmed, and sendingnull clears a field to an empty string.
The name shown to the recipient. At most 80 characters, and it cannot be set to an empty value once you send the key.
Response
Returns the full identity in the same shape as Get Agent Identity, reflecting the update.The updated identity. See Get Agent Identity for every field.
null on success, or a list of error objects if the request failed. Validation failures return 400 BAD_REQUEST with a message naming the field.{
"data": {
"id": "b88c3ce2-54d4-406c-bd21-733c61556151",
"org_id": "4bb834b5-8e95-487a-908d-d712a201008c",
"agent_id": "ec74c83e-5370-450b-9aa0-59757ec25a81",
"display_name": "Northwind Dental",
"tagline": "Front desk",
"support_email": "help@northwind.example",
"website": "https://northwind.example",
"address": "",
"logo_file_id": null,
"vcf_file_id": "29be0d69-898a-41a2-b875-5aeaae7fbd23",
"vcf_delivery_enabled": false,
"rcs_enabled": true,
"bcid_enabled": false,
"bcid_status": "not_submitted",
"bcid_submission": null,
"phone_numbers": [],
"logo_url": null,
"vcf_url": "https://files.bland.ai/agent-identity/29be0d69-898a-41a2-b875-5aeaae7fbd23?signature=...",
"created_at": "2026-09-15T05:08:35.092Z",
"updated_at": "2026-09-15T05:08:44.301Z"
},
"errors": null
}
{
"data": null,
"errors": [
{
"error": "BAD_REQUEST",
"message": "support_email must be a valid email address"
}
]
}
{
"data": null,
"errors": [
{
"error": "BAD_REQUEST",
"message": "No identity fields to update"
}
]
}
{
"data": null,
"errors": [
{
"error": "NOT_FOUND",
"message": "Agent not found"
}
]
}
Docs for agents: llms.txt
Was this page helpful?
⌘I
Update Agent Identity
curl --request PUT \
--url https://api.bland.ai/v2/agents/{agent_id}/identity \
--header 'Content-Type: application/json' \
--header 'authorization: <authorization>' \
--data '
{
"display_name": "<string>",
"tagline": "<string>",
"support_email": "<string>",
"website": "<string>",
"address": "<string>",
"vcf_delivery_enabled": true,
"rcs_enabled": true,
"bcid_enabled": true
}
'import requests
url = "https://api.bland.ai/v2/agents/{agent_id}/identity"
payload = {
"display_name": "<string>",
"tagline": "<string>",
"support_email": "<string>",
"website": "<string>",
"address": "<string>",
"vcf_delivery_enabled": True,
"rcs_enabled": True,
"bcid_enabled": True
}
headers = {
"authorization": "<authorization>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {authorization: '<authorization>', 'Content-Type': 'application/json'},
body: JSON.stringify({
display_name: '<string>',
tagline: '<string>',
support_email: '<string>',
website: '<string>',
address: '<string>',
vcf_delivery_enabled: true,
rcs_enabled: true,
bcid_enabled: true
})
};
fetch('https://api.bland.ai/v2/agents/{agent_id}/identity', 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/v2/agents/{agent_id}/identity",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'display_name' => '<string>',
'tagline' => '<string>',
'support_email' => '<string>',
'website' => '<string>',
'address' => '<string>',
'vcf_delivery_enabled' => true,
'rcs_enabled' => true,
'bcid_enabled' => true
]),
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/v2/agents/{agent_id}/identity"
payload := strings.NewReader("{\n \"display_name\": \"<string>\",\n \"tagline\": \"<string>\",\n \"support_email\": \"<string>\",\n \"website\": \"<string>\",\n \"address\": \"<string>\",\n \"vcf_delivery_enabled\": true,\n \"rcs_enabled\": true,\n \"bcid_enabled\": true\n}")
req, _ := http.NewRequest("PUT", 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.put("https://api.bland.ai/v2/agents/{agent_id}/identity")
.header("authorization", "<authorization>")
.header("Content-Type", "application/json")
.body("{\n \"display_name\": \"<string>\",\n \"tagline\": \"<string>\",\n \"support_email\": \"<string>\",\n \"website\": \"<string>\",\n \"address\": \"<string>\",\n \"vcf_delivery_enabled\": true,\n \"rcs_enabled\": true,\n \"bcid_enabled\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bland.ai/v2/agents/{agent_id}/identity")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["authorization"] = '<authorization>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"display_name\": \"<string>\",\n \"tagline\": \"<string>\",\n \"support_email\": \"<string>\",\n \"website\": \"<string>\",\n \"address\": \"<string>\",\n \"vcf_delivery_enabled\": true,\n \"rcs_enabled\": true,\n \"bcid_enabled\": true\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "b88c3ce2-54d4-406c-bd21-733c61556151",
"org_id": "4bb834b5-8e95-487a-908d-d712a201008c",
"agent_id": "ec74c83e-5370-450b-9aa0-59757ec25a81",
"display_name": "Northwind Dental",
"tagline": "Front desk",
"support_email": "help@northwind.example",
"website": "https://northwind.example",
"address": "",
"logo_file_id": null,
"vcf_file_id": "29be0d69-898a-41a2-b875-5aeaae7fbd23",
"vcf_delivery_enabled": false,
"rcs_enabled": true,
"bcid_enabled": false,
"bcid_status": "not_submitted",
"bcid_submission": null,
"phone_numbers": [],
"logo_url": null,
"vcf_url": "https://files.bland.ai/agent-identity/29be0d69-898a-41a2-b875-5aeaae7fbd23?signature=...",
"created_at": "2026-09-15T05:08:35.092Z",
"updated_at": "2026-09-15T05:08:44.301Z"
},
"errors": null
}
{
"data": null,
"errors": [
{
"error": "BAD_REQUEST",
"message": "support_email must be a valid email address"
}
]
}
{
"data": null,
"errors": [
{
"error": "BAD_REQUEST",
"message": "No identity fields to update"
}
]
}
{
"data": null,
"errors": [
{
"error": "NOT_FOUND",
"message": "Agent not found"
}
]
}