ListVoicePhoneNumbersAPI mirrors erdo_voice_phone_number_list.
curl --request GET \
--url https://api.erdo.ai/v1/voice/phone-numbers \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.erdo.ai/v1/voice/phone-numbers"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.erdo.ai/v1/voice/phone-numbers', 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.erdo.ai/v1/voice/phone-numbers",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.erdo.ai/v1/voice/phone-numbers"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.erdo.ai/v1/voice/phone-numbers")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.erdo.ai/v1/voice/phone-numbers")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"business_profile_complete": true,
"missing_profile_fields": [
"<string>"
],
"numbers": [
{
"address": "<string>",
"agent_ref": "<string>",
"brand_status": "<string>",
"campaign_status": "<string>",
"last_polled_at": "2023-11-07T05:31:56Z",
"missing_profile_fields": [
"<string>"
],
"mock": true,
"next_step": "<string>",
"not_registerable_reason": "<string>",
"profile_out_of_date": true,
"profile_out_of_date_fields": [
"<string>"
],
"profile_status": "<string>",
"reason": "<string>",
"registerable": true,
"requested_at": "2023-11-07T05:31:56Z",
"sender_kind": "<string>",
"status": "<string>"
}
]
}{
"code": "not_found",
"details": {},
"message": "<string>"
}API Reference
ListVoicePhoneNumbersAPI mirrors erdo_voice_phone_number_list.
GET
/
v1
/
voice
/
phone-numbers
ListVoicePhoneNumbersAPI mirrors erdo_voice_phone_number_list.
curl --request GET \
--url https://api.erdo.ai/v1/voice/phone-numbers \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.erdo.ai/v1/voice/phone-numbers"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.erdo.ai/v1/voice/phone-numbers', 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.erdo.ai/v1/voice/phone-numbers",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.erdo.ai/v1/voice/phone-numbers"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.erdo.ai/v1/voice/phone-numbers")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.erdo.ai/v1/voice/phone-numbers")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"business_profile_complete": true,
"missing_profile_fields": [
"<string>"
],
"numbers": [
{
"address": "<string>",
"agent_ref": "<string>",
"brand_status": "<string>",
"campaign_status": "<string>",
"last_polled_at": "2023-11-07T05:31:56Z",
"missing_profile_fields": [
"<string>"
],
"mock": true,
"next_step": "<string>",
"not_registerable_reason": "<string>",
"profile_out_of_date": true,
"profile_out_of_date_fields": [
"<string>"
],
"profile_status": "<string>",
"reason": "<string>",
"registerable": true,
"requested_at": "2023-11-07T05:31:56Z",
"sender_kind": "<string>",
"status": "<string>"
}
]
}{
"code": "not_found",
"details": {},
"message": "<string>"
}Authorizations
An Erdo API key (erdo_api_...) or scoped token (erdo_token_...).
Response
Success response
is still missing fields. It answers the settings page's first question without the caller having to interpret an empty list.
business profile is what every registration on the account depends on, so it is reported once rather than repeated on each row.
Show child attributes
Show child attributes

