Update Phone Number Configuration
curl --request PUT \
--url https://api.trillet.ai/v1/api/twilio/phone-numbers/{phoneNumberId}/config \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--header 'x-workspace-id: <x-workspace-id>' \
--data '
{
"agentId": "<string>",
"maxCallDuration": 123,
"recordingEnabled": true,
"officeHours": {
"enabled": true,
"timezone": "<string>",
"schedule": {}
},
"transferCallerIdMode": "<string>",
"metadataTags": [
{}
],
"label": "<string>"
}
'import requests
url = "https://api.trillet.ai/v1/api/twilio/phone-numbers/{phoneNumberId}/config"
payload = {
"agentId": "<string>",
"maxCallDuration": 123,
"recordingEnabled": True,
"officeHours": {
"enabled": True,
"timezone": "<string>",
"schedule": {}
},
"transferCallerIdMode": "<string>",
"metadataTags": [{}],
"label": "<string>"
}
headers = {
"x-api-key": "<api-key>",
"x-workspace-id": "<x-workspace-id>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {
'x-api-key': '<api-key>',
'x-workspace-id': '<x-workspace-id>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
agentId: '<string>',
maxCallDuration: 123,
recordingEnabled: true,
officeHours: {enabled: true, timezone: '<string>', schedule: {}},
transferCallerIdMode: '<string>',
metadataTags: [{}],
label: '<string>'
})
};
fetch('https://api.trillet.ai/v1/api/twilio/phone-numbers/{phoneNumberId}/config', 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.trillet.ai/v1/api/twilio/phone-numbers/{phoneNumberId}/config",
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([
'agentId' => '<string>',
'maxCallDuration' => 123,
'recordingEnabled' => true,
'officeHours' => [
'enabled' => true,
'timezone' => '<string>',
'schedule' => [
]
],
'transferCallerIdMode' => '<string>',
'metadataTags' => [
[
]
],
'label' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>",
"x-workspace-id: <x-workspace-id>"
],
]);
$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.trillet.ai/v1/api/twilio/phone-numbers/{phoneNumberId}/config"
payload := strings.NewReader("{\n \"agentId\": \"<string>\",\n \"maxCallDuration\": 123,\n \"recordingEnabled\": true,\n \"officeHours\": {\n \"enabled\": true,\n \"timezone\": \"<string>\",\n \"schedule\": {}\n },\n \"transferCallerIdMode\": \"<string>\",\n \"metadataTags\": [\n {}\n ],\n \"label\": \"<string>\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("x-workspace-id", "<x-workspace-id>")
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.trillet.ai/v1/api/twilio/phone-numbers/{phoneNumberId}/config")
.header("x-api-key", "<api-key>")
.header("x-workspace-id", "<x-workspace-id>")
.header("Content-Type", "application/json")
.body("{\n \"agentId\": \"<string>\",\n \"maxCallDuration\": 123,\n \"recordingEnabled\": true,\n \"officeHours\": {\n \"enabled\": true,\n \"timezone\": \"<string>\",\n \"schedule\": {}\n },\n \"transferCallerIdMode\": \"<string>\",\n \"metadataTags\": [\n {}\n ],\n \"label\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.trillet.ai/v1/api/twilio/phone-numbers/{phoneNumberId}/config")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["x-api-key"] = '<api-key>'
request["x-workspace-id"] = '<x-workspace-id>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"agentId\": \"<string>\",\n \"maxCallDuration\": 123,\n \"recordingEnabled\": true,\n \"officeHours\": {\n \"enabled\": true,\n \"timezone\": \"<string>\",\n \"schedule\": {}\n },\n \"transferCallerIdMode\": \"<string>\",\n \"metadataTags\": [\n {}\n ],\n \"label\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"success": true
}
Update Phone Number Configuration
Update the call flow configuration for a phone number, including agent assignment, recording, and office hours.
PUT
/
v1
/
api
/
twilio
/
phone-numbers
/
{phoneNumberId}
/
config
Update Phone Number Configuration
curl --request PUT \
--url https://api.trillet.ai/v1/api/twilio/phone-numbers/{phoneNumberId}/config \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--header 'x-workspace-id: <x-workspace-id>' \
--data '
{
"agentId": "<string>",
"maxCallDuration": 123,
"recordingEnabled": true,
"officeHours": {
"enabled": true,
"timezone": "<string>",
"schedule": {}
},
"transferCallerIdMode": "<string>",
"metadataTags": [
{}
],
"label": "<string>"
}
'import requests
url = "https://api.trillet.ai/v1/api/twilio/phone-numbers/{phoneNumberId}/config"
payload = {
"agentId": "<string>",
"maxCallDuration": 123,
"recordingEnabled": True,
"officeHours": {
"enabled": True,
"timezone": "<string>",
"schedule": {}
},
"transferCallerIdMode": "<string>",
"metadataTags": [{}],
"label": "<string>"
}
headers = {
"x-api-key": "<api-key>",
"x-workspace-id": "<x-workspace-id>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {
'x-api-key': '<api-key>',
'x-workspace-id': '<x-workspace-id>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
agentId: '<string>',
maxCallDuration: 123,
recordingEnabled: true,
officeHours: {enabled: true, timezone: '<string>', schedule: {}},
transferCallerIdMode: '<string>',
metadataTags: [{}],
label: '<string>'
})
};
fetch('https://api.trillet.ai/v1/api/twilio/phone-numbers/{phoneNumberId}/config', 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.trillet.ai/v1/api/twilio/phone-numbers/{phoneNumberId}/config",
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([
'agentId' => '<string>',
'maxCallDuration' => 123,
'recordingEnabled' => true,
'officeHours' => [
'enabled' => true,
'timezone' => '<string>',
'schedule' => [
]
],
'transferCallerIdMode' => '<string>',
'metadataTags' => [
[
]
],
'label' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>",
"x-workspace-id: <x-workspace-id>"
],
]);
$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.trillet.ai/v1/api/twilio/phone-numbers/{phoneNumberId}/config"
payload := strings.NewReader("{\n \"agentId\": \"<string>\",\n \"maxCallDuration\": 123,\n \"recordingEnabled\": true,\n \"officeHours\": {\n \"enabled\": true,\n \"timezone\": \"<string>\",\n \"schedule\": {}\n },\n \"transferCallerIdMode\": \"<string>\",\n \"metadataTags\": [\n {}\n ],\n \"label\": \"<string>\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("x-workspace-id", "<x-workspace-id>")
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.trillet.ai/v1/api/twilio/phone-numbers/{phoneNumberId}/config")
.header("x-api-key", "<api-key>")
.header("x-workspace-id", "<x-workspace-id>")
.header("Content-Type", "application/json")
.body("{\n \"agentId\": \"<string>\",\n \"maxCallDuration\": 123,\n \"recordingEnabled\": true,\n \"officeHours\": {\n \"enabled\": true,\n \"timezone\": \"<string>\",\n \"schedule\": {}\n },\n \"transferCallerIdMode\": \"<string>\",\n \"metadataTags\": [\n {}\n ],\n \"label\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.trillet.ai/v1/api/twilio/phone-numbers/{phoneNumberId}/config")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["x-api-key"] = '<api-key>'
request["x-workspace-id"] = '<x-workspace-id>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"agentId\": \"<string>\",\n \"maxCallDuration\": 123,\n \"recordingEnabled\": true,\n \"officeHours\": {\n \"enabled\": true,\n \"timezone\": \"<string>\",\n \"schedule\": {}\n },\n \"transferCallerIdMode\": \"<string>\",\n \"metadataTags\": [\n {}\n ],\n \"label\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"success": true
}
Headers
string
required
API key used for authenticating requests to the API.
string
required
Workspace identifier for the API.
Path Parameters
string
required
The unique identifier of the phone number.
Request Body
string
The call agent ID to assign to this phone number.
number
Maximum call duration in seconds.
boolean
Whether to enable call recording.
object
string
Caller ID mode for transfers. Options: “agent”, “customer”.
array
Array of metadata tag strings to assign.
string
A label for the phone number.
Response Fields
boolean
Whether the update was successful.
{
"success": true
}
⌘I
