Phone & voice · Branded Calling
Edits or resubmits a caller identity. Fields you leave out keep their current values.
https://api.pozy.ai/v1/branded-calling/identities/{id}Guide: Branded calling
Request
Send your API key as Authorization: Bearer pz_live_.... Read-only keys cannot call it. Keys with the telephony resource group disabled get 403 resource_group_disabled. Authentication
Path parameters
| Name | Type | Notes |
|---|---|---|
idrequired | string |
Request body
application/json, required
displayNamestring1 to 35 characters.
callReasonsarray of stringAt least 1 item. Up to 10 items. Each item: up to 64 characters.
logoUrlstringauthorizerobjectnamestringrequiredUp to 255 characters.
emailstring (email)required
referencesobjectbusinessarray of objectrequiredAt least 2 items. Up to 2 items.
7 child fields
fullNamestringrequiredUp to 255 characters.
jobTitlestringUp to 255 characters.
organizationstringUp to 255 characters.
relationshipToRegistrantstringUp to 255 characters.
phoneNumberstringrequiredemailstring (email)requiredtimezonestringrequired
financialobjectrequired7 child fields
fullNamestringrequiredUp to 255 characters.
jobTitlestringUp to 255 characters.
organizationstringUp to 255 characters.
relationshipToRegistrantstringUp to 255 characters.
phoneNumberstringrequiredemailstring (email)requiredtimezonestringrequired
reviewAnswersmap of objectKeys are free-form; each value has these fields.
textstringurlstring (URL)
reviewNotestringUp to 4000 characters.
Example
curl -X PATCH "https://api.pozy.ai/v1/branded-calling/identities/6bfebd43ddc270f6d2c56fc5" \
-H "Authorization: Bearer $POZY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"displayName": "Acme",
"callReasons": [
"string"
],
"logoUrl": "https://pozy.ai/media/example-1.jpg",
"authorizer": {
"name": "Acme",
"email": "alex@example.com"
}
}'const res = await fetch("https://api.pozy.ai/v1/branded-calling/identities/6bfebd43ddc270f6d2c56fc5", {
method: "PATCH",
headers: {
Authorization: `Bearer ${process.env.POZY_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
displayName: "Acme",
callReasons: [
"string"
],
logoUrl: "https://pozy.ai/media/example-1.jpg",
authorizer: {
name: "Acme",
email: "alex@example.com"
}
}),
});
const data = await res.json();
if (!res.ok) throw new Error(data?.error ?? `Request failed with status ${res.status}`);
console.log(data);import os
import requests
resp = requests.patch(
"https://api.pozy.ai/v1/branded-calling/identities/6bfebd43ddc270f6d2c56fc5",
headers={"Authorization": f"Bearer {os.environ['POZY_API_KEY']}"},
json={
"displayName": "Acme",
"callReasons": [
"string",
],
"logoUrl": "https://pozy.ai/media/example-1.jpg",
"authorizer": {
"name": "Acme",
"email": "alex@example.com",
},
},
timeout=30,
)
resp.raise_for_status()
print(resp.json())Response
200 on success
idstringenterpriseIdstringdisplayNamestringUp to 35 characters.
callReasonsarray of stringEach item: up to 64 characters.
callReasonsPreApprovedbooleanlogoUrlstringCan be null.
authorizerobjectnamestringemailstring (email)
referencesobjectbusinessarray of objectrequiredAt least 2 items. Up to 2 items.
7 child fields
fullNamestringrequiredUp to 255 characters.
jobTitlestringUp to 255 characters.
organizationstringUp to 255 characters.
relationshipToRegistrantstringUp to 255 characters.
phoneNumberstringrequiredemailstring (email)requiredtimezonestringrequired
financialobjectrequired7 child fields
fullNamestringrequiredUp to 255 characters.
jobTitlestringUp to 255 characters.
organizationstringUp to 255 characters.
relationshipToRegistrantstringUp to 255 characters.
phoneNumberstringrequiredemailstring (email)requiredtimezonestringrequired
statusstringOne of
requested,changes_requested,rejected,pending_email_verification,in_review,verified,suspended,expired,permanently_rejected.rejectionReasonsarray of objectcodestringtitlestringdetailstringmessagestringCan be null.
reviewNotestringCan be null.
reviewRequestobjectCan be null.
idstringintrostringpointsarray of object4 child fields
idstringtitlestringdetailstringanswerstringOne of
text,link,file,link_or_file.
emailVerifiedAtstring (date-time)Can be null.
submittedAtstring (date-time)Can be null.
verifiedAtstring (date-time)Can be null.
expiringAtstring (date-time)Can be null.
numbersarray of objectphoneNumberIdstringphoneNumberstringstatusstringOne of
submitted,in_review,verified,unsuccessful,suspended,expired,permanently_rejected.rejectionReasonobjectCan be null.
4 child fields
codestringtitlestringdetailstringmessagestringCan be null.
verifiedAtstring (date-time)Can be null.
addedAtstring (date-time)Can be null.
createdAtstring (date-time)Can be null.
updatedAtstring (date-time)Can be null.
{
"id": "6bfebd43ddc270f6d2c56fc5",
"enterpriseId": "66496a86752378ad82057ff6",
"displayName": "Acme",
"callReasons": [
"string"
],
"callReasonsPreApproved": true,
"logoUrl": "https://pozy.ai/media/example-1.jpg",
"authorizer": {
"name": "Acme",
"email": "alex@example.com"
},
"references": {
"business": [
{
"fullName": "Acme",
"jobTitle": "string",
"organization": "string",
"relationshipToRegistrant": "string",
"phoneNumber": "+14155550123",
"email": "alex@example.com",
"timezone": "America/New_York"
}
],
"financial": {
"fullName": "Acme",
"jobTitle": "string",
"organization": "string",
"relationshipToRegistrant": "string",
"phoneNumber": "+14155550123",
"email": "alex@example.com",
"timezone": "America/New_York"
}
},
"status": "requested",
"rejectionReasons": [
{
"code": "string",
"title": "Launch day",
"detail": "string",
"message": "Hello from Pozy"
}
],
"reviewNote": "string",
"reviewRequest": {
"id": "6bfebd43ddc270f6d2c56fc5",
"intro": "string",
"points": [
{
"id": "6bfebd43ddc270f6d2c56fc5",
"title": "Launch day",
"detail": "string",
"answer": "text"
}
]
},
"emailVerifiedAt": "2026-10-02T09:00:00.000Z",
"submittedAt": "2026-10-02T09:00:00.000Z",
"verifiedAt": "2026-10-02T09:00:00.000Z",
"expiringAt": "2026-10-02T09:00:00.000Z",
"numbers": [
{
"phoneNumberId": "698fba0989716df44adb771f",
"phoneNumber": "+14155550123",
"status": "submitted",
"rejectionReason": {
"code": "string",
"title": "Launch day",
"detail": "string",
"message": "Hello from Pozy"
},
"verifiedAt": "2026-10-02T09:00:00.000Z",
"addedAt": "2026-10-02T09:00:00.000Z"
}
],
"createdAt": "2026-10-02T09:00:00.000Z",
"updatedAt": "2026-10-02T09:00:00.000Z"
}Errors
Errors use one shape: { error, type, code, param?, details? }. The ones you are most likely to see here:
| 400 | invalid_request_error | A parameter or body field is missing or invalid. param names it. |
| 401 | authentication_error | The API key is missing, revoked or expired. |
| 403 | permission_error | The key is read-only, scoped to other profiles, or has this resource group disabled. |
| 404 | not_found | Nothing with that id exists in your workspace. |
| 429 | rate_limit_error | Too many requests this minute. Wait for Retry-After seconds. |
Every code is listed in Errors.