List Available Phone Numbers
curl --request GET \
--url https://api.revring.ai/v1/sip-trunks/{id}/available-numbers \
--header 'x-api-key: <api-key>'import requests
url = "https://api.revring.ai/v1/sip-trunks/{id}/available-numbers"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.revring.ai/v1/sip-trunks/{id}/available-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.revring.ai/v1/sip-trunks/{id}/available-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 => [
"x-api-key: <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"
"net/http"
"io"
)
func main() {
url := "https://api.revring.ai/v1/sip-trunks/{id}/available-numbers"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
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.revring.ai/v1/sip-trunks/{id}/available-numbers")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.revring.ai/v1/sip-trunks/{id}/available-numbers")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": {
"available": [
"+12025550113"
],
"assigned": [
{
"e164": "+12025550111",
"agentId": "<string>",
"agentName": "<string>"
}
]
}
}{
"error": "unauthorized"
}{
"error": "billing_inactive"
}{
"error": "not_found"
}SIP Trunks
List Available Phone Numbers
Returns the trunk’s phone numbers split into those that are available to assign and those already assigned to agents. Useful when assigning an inbound number to an agent to see what is free without having to track assignments manually.
GET
/
sip-trunks
/
{id}
/
available-numbers
List Available Phone Numbers
curl --request GET \
--url https://api.revring.ai/v1/sip-trunks/{id}/available-numbers \
--header 'x-api-key: <api-key>'import requests
url = "https://api.revring.ai/v1/sip-trunks/{id}/available-numbers"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.revring.ai/v1/sip-trunks/{id}/available-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.revring.ai/v1/sip-trunks/{id}/available-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 => [
"x-api-key: <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"
"net/http"
"io"
)
func main() {
url := "https://api.revring.ai/v1/sip-trunks/{id}/available-numbers"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
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.revring.ai/v1/sip-trunks/{id}/available-numbers")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.revring.ai/v1/sip-trunks/{id}/available-numbers")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": {
"available": [
"+12025550113"
],
"assigned": [
{
"e164": "+12025550111",
"agentId": "<string>",
"agentName": "<string>"
}
]
}
}{
"error": "unauthorized"
}{
"error": "billing_inactive"
}{
"error": "not_found"
}Authorizations
API key for authentication. Generate API keys from the RevRing dashboard. A key is either full access or read-only; a read-only key is refused with 403 read_only_key on any request that creates, changes or deletes.
Path Parameters
SIP trunk ID
Response
Trunk's phone number pool, partitioned
Show child attributes
Show child attributes