Import Number
Import a Twilio phone number for an accessible agent.
POST
/
import-number
Import number
curl --request POST \
--url https://app.phonely.ai/api/import-number \
--header 'Content-Type: application/json' \
--header 'X-Authorization: <api-key>' \
--data '
{
"uid": "<string>",
"agentId": "<string>",
"source": "twilio",
"twilioAccountSid": "<string>",
"twilioAuthToken": "<string>",
"phoneNumber": "<string>",
"countryCode": "<string>"
}
'import requests
url = "https://app.phonely.ai/api/import-number"
payload = {
"uid": "<string>",
"agentId": "<string>",
"source": "twilio",
"twilioAccountSid": "<string>",
"twilioAuthToken": "<string>",
"phoneNumber": "<string>",
"countryCode": "<string>"
}
headers = {
"X-Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-Authorization': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
uid: '<string>',
agentId: '<string>',
source: 'twilio',
twilioAccountSid: '<string>',
twilioAuthToken: '<string>',
phoneNumber: '<string>',
countryCode: '<string>'
})
};
fetch('https://app.phonely.ai/api/import-number', 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://app.phonely.ai/api/import-number",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'uid' => '<string>',
'agentId' => '<string>',
'source' => 'twilio',
'twilioAccountSid' => '<string>',
'twilioAuthToken' => '<string>',
'phoneNumber' => '<string>',
'countryCode' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Authorization: <api-key>"
],
]);
$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://app.phonely.ai/api/import-number"
payload := strings.NewReader("{\n \"uid\": \"<string>\",\n \"agentId\": \"<string>\",\n \"source\": \"twilio\",\n \"twilioAccountSid\": \"<string>\",\n \"twilioAuthToken\": \"<string>\",\n \"phoneNumber\": \"<string>\",\n \"countryCode\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Authorization", "<api-key>")
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.post("https://app.phonely.ai/api/import-number")
.header("X-Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"uid\": \"<string>\",\n \"agentId\": \"<string>\",\n \"source\": \"twilio\",\n \"twilioAccountSid\": \"<string>\",\n \"twilioAuthToken\": \"<string>\",\n \"phoneNumber\": \"<string>\",\n \"countryCode\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.phonely.ai/api/import-number")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"uid\": \"<string>\",\n \"agentId\": \"<string>\",\n \"source\": \"twilio\",\n \"twilioAccountSid\": \"<string>\",\n \"twilioAuthToken\": \"<string>\",\n \"phoneNumber\": \"<string>\",\n \"countryCode\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}Imports a Twilio number and assigns it to an agent. The API key must belong to the supplied user, and that user must have access to the agent.
The agent must be on a paid plan and must not already have a business phone number. Only
twilio is accepted as the source in this production version.
Treat the Twilio account SID and auth token as secrets. Do not place them in client-side code, screenshots, or logs.
Authorizations
Body
application/json
User ID
Agent ID (agent should not have a phone number assigned yet)
Phone number source (currently only supports 'twilio')
Available options:
twilio Twilio account SID
Twilio auth token
Phone number to import, includes country code. i.e +10123456789
Pattern:
^\+[1-9]\d{1,14}$Country code of the phone number, ISO 3166-1 alpha-2 format
Required string length:
2Response
Successful response
Message indicating the result of the operation
Last modified on August 10, 2026
⌘I
Import number
curl --request POST \
--url https://app.phonely.ai/api/import-number \
--header 'Content-Type: application/json' \
--header 'X-Authorization: <api-key>' \
--data '
{
"uid": "<string>",
"agentId": "<string>",
"source": "twilio",
"twilioAccountSid": "<string>",
"twilioAuthToken": "<string>",
"phoneNumber": "<string>",
"countryCode": "<string>"
}
'import requests
url = "https://app.phonely.ai/api/import-number"
payload = {
"uid": "<string>",
"agentId": "<string>",
"source": "twilio",
"twilioAccountSid": "<string>",
"twilioAuthToken": "<string>",
"phoneNumber": "<string>",
"countryCode": "<string>"
}
headers = {
"X-Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-Authorization': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
uid: '<string>',
agentId: '<string>',
source: 'twilio',
twilioAccountSid: '<string>',
twilioAuthToken: '<string>',
phoneNumber: '<string>',
countryCode: '<string>'
})
};
fetch('https://app.phonely.ai/api/import-number', 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://app.phonely.ai/api/import-number",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'uid' => '<string>',
'agentId' => '<string>',
'source' => 'twilio',
'twilioAccountSid' => '<string>',
'twilioAuthToken' => '<string>',
'phoneNumber' => '<string>',
'countryCode' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Authorization: <api-key>"
],
]);
$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://app.phonely.ai/api/import-number"
payload := strings.NewReader("{\n \"uid\": \"<string>\",\n \"agentId\": \"<string>\",\n \"source\": \"twilio\",\n \"twilioAccountSid\": \"<string>\",\n \"twilioAuthToken\": \"<string>\",\n \"phoneNumber\": \"<string>\",\n \"countryCode\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Authorization", "<api-key>")
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.post("https://app.phonely.ai/api/import-number")
.header("X-Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"uid\": \"<string>\",\n \"agentId\": \"<string>\",\n \"source\": \"twilio\",\n \"twilioAccountSid\": \"<string>\",\n \"twilioAuthToken\": \"<string>\",\n \"phoneNumber\": \"<string>\",\n \"countryCode\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.phonely.ai/api/import-number")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"uid\": \"<string>\",\n \"agentId\": \"<string>\",\n \"source\": \"twilio\",\n \"twilioAccountSid\": \"<string>\",\n \"twilioAuthToken\": \"<string>\",\n \"phoneNumber\": \"<string>\",\n \"countryCode\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}
