curl --request PATCH \
--url https://api.helloannie.com/v1/phone-numbers/{phoneNumberId} \
--header 'Content-Type: application/json' \
--data '
{
"verifiedCallerId": "<string>",
"callbackForwardingNumber": "<string>",
"customGreeting": "<string>",
"customClosedGreeting": "<string>"
}
'import requests
url = "https://api.helloannie.com/v1/phone-numbers/{phoneNumberId}"
payload = {
"verifiedCallerId": "<string>",
"callbackForwardingNumber": "<string>",
"customGreeting": "<string>",
"customClosedGreeting": "<string>"
}
headers = {"Content-Type": "application/json"}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
verifiedCallerId: '<string>',
callbackForwardingNumber: '<string>',
customGreeting: '<string>',
customClosedGreeting: '<string>'
})
};
fetch('https://api.helloannie.com/v1/phone-numbers/{phoneNumberId}', 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.helloannie.com/v1/phone-numbers/{phoneNumberId}",
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([
'verifiedCallerId' => '<string>',
'callbackForwardingNumber' => '<string>',
'customGreeting' => '<string>',
'customClosedGreeting' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"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.helloannie.com/v1/phone-numbers/{phoneNumberId}"
payload := strings.NewReader("{\n \"verifiedCallerId\": \"<string>\",\n \"callbackForwardingNumber\": \"<string>\",\n \"customGreeting\": \"<string>\",\n \"customClosedGreeting\": \"<string>\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
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.helloannie.com/v1/phone-numbers/{phoneNumberId}")
.header("Content-Type", "application/json")
.body("{\n \"verifiedCallerId\": \"<string>\",\n \"callbackForwardingNumber\": \"<string>\",\n \"customGreeting\": \"<string>\",\n \"customClosedGreeting\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.helloannie.com/v1/phone-numbers/{phoneNumberId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"verifiedCallerId\": \"<string>\",\n \"callbackForwardingNumber\": \"<string>\",\n \"customGreeting\": \"<string>\",\n \"customClosedGreeting\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"orgId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"botId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"number": "<string>",
"name": "<string>",
"language": "ENGLISH",
"outbound": true,
"verifiedCallerId": "<string>",
"callbackForwardingNumber": "<string>",
"voiceId": "FRIENDLY_BRIGHT",
"speed": 123,
"stability": 123,
"similarity": 123,
"style": 123,
"customGreeting": "<string>",
"customClosedGreeting": "<string>"
}
}{
"success": false,
"data": {},
"message": "<string>"
}{
"success": false,
"data": {},
"message": "<string>"
}{
"success": false,
"data": {},
"message": "<string>"
}Update phone number configuration
Update phone number configuration. Only provided fields will be updated. If you want to update the botId, use the /attach endpoint instead. This is a deliberate design decision to prevent accidental changes to the associated bot.
curl --request PATCH \
--url https://api.helloannie.com/v1/phone-numbers/{phoneNumberId} \
--header 'Content-Type: application/json' \
--data '
{
"verifiedCallerId": "<string>",
"callbackForwardingNumber": "<string>",
"customGreeting": "<string>",
"customClosedGreeting": "<string>"
}
'import requests
url = "https://api.helloannie.com/v1/phone-numbers/{phoneNumberId}"
payload = {
"verifiedCallerId": "<string>",
"callbackForwardingNumber": "<string>",
"customGreeting": "<string>",
"customClosedGreeting": "<string>"
}
headers = {"Content-Type": "application/json"}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
verifiedCallerId: '<string>',
callbackForwardingNumber: '<string>',
customGreeting: '<string>',
customClosedGreeting: '<string>'
})
};
fetch('https://api.helloannie.com/v1/phone-numbers/{phoneNumberId}', 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.helloannie.com/v1/phone-numbers/{phoneNumberId}",
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([
'verifiedCallerId' => '<string>',
'callbackForwardingNumber' => '<string>',
'customGreeting' => '<string>',
'customClosedGreeting' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"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.helloannie.com/v1/phone-numbers/{phoneNumberId}"
payload := strings.NewReader("{\n \"verifiedCallerId\": \"<string>\",\n \"callbackForwardingNumber\": \"<string>\",\n \"customGreeting\": \"<string>\",\n \"customClosedGreeting\": \"<string>\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
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.helloannie.com/v1/phone-numbers/{phoneNumberId}")
.header("Content-Type", "application/json")
.body("{\n \"verifiedCallerId\": \"<string>\",\n \"callbackForwardingNumber\": \"<string>\",\n \"customGreeting\": \"<string>\",\n \"customClosedGreeting\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.helloannie.com/v1/phone-numbers/{phoneNumberId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"verifiedCallerId\": \"<string>\",\n \"callbackForwardingNumber\": \"<string>\",\n \"customGreeting\": \"<string>\",\n \"customClosedGreeting\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"orgId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"botId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"number": "<string>",
"name": "<string>",
"language": "ENGLISH",
"outbound": true,
"verifiedCallerId": "<string>",
"callbackForwardingNumber": "<string>",
"voiceId": "FRIENDLY_BRIGHT",
"speed": 123,
"stability": 123,
"similarity": 123,
"style": 123,
"customGreeting": "<string>",
"customClosedGreeting": "<string>"
}
}{
"success": false,
"data": {},
"message": "<string>"
}{
"success": false,
"data": {},
"message": "<string>"
}{
"success": false,
"data": {},
"message": "<string>"
}Path Parameters
The ID of the phone number to update
Body
Payload to update phone number configuration. Only provided fields will be updated. The phone number's voice must support its language, so changing the language may also require providing a compatible voiceId in the same request.
The language of the phone number. ENGLISH_SPANISH supports bilingual English/Spanish calls.
ENGLISH, ENGLISH_SPANISH, SPANISH, FRENCH Verified caller ID for outbound calls. Must be pre-registered and verified for the organization.
If a recipient calls back an outbound number, the call will be forwarded to this phone number. Note: This field will be ignored for inbound numbers and only applied to outbound numbers.
The voice of the phone number. Each voice supports a single language and must match the phone number's language: WARM_ENGLISH_SPANISH requires ENGLISH_SPANISH, WARM_SPANISH requires SPANISH, WARM_FRENCH requires FRENCH, and all other voices require ENGLISH.
FRIENDLY_BRIGHT, CALM_REASSURING, POLISHED_PROFESSIONAL, KIND_CURIOUS, CONFIDENT_UPBEAT, WARM_ENGLISH_SPANISH, WARM_SPANISH, WARM_FRENCH Custom greeting spoken verbatim as the first words of inbound calls on this number. Overrides the bot's greeting, so write it in the phone number's language. Send null to clear it.
500Custom greeting spoken verbatim when an inbound call arrives outside office hours. Overrides the bot's closed phone greeting, so write it in the phone number's language. Send null to clear it.
500