Numbers in the Twilio account that could be Pay numbers
curl --request GET \
--url https://apiv2.vodex.ai/v1/payment-carriers/twilio-stripe/available-numbers \
--header 'Authorization: Bearer <token>'import requests
url = "https://apiv2.vodex.ai/v1/payment-carriers/twilio-stripe/available-numbers"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://apiv2.vodex.ai/v1/payment-carriers/twilio-stripe/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://apiv2.vodex.ai/v1/payment-carriers/twilio-stripe/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 => [
"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://apiv2.vodex.ai/v1/payment-carriers/twilio-stripe/available-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://apiv2.vodex.ai/v1/payment-carriers/twilio-stripe/available-numbers")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://apiv2.vodex.ai/v1/payment-carriers/twilio-stripe/available-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[
{
"e164": "<string>",
"friendlyName": "<string>",
"selected": true,
"blocked": "<string>",
"sharedPool": true,
"webhookReady": true,
"usesApplication": true
}
]{
"error": "not found"
}{
"error": "not found"
}{
"error": "not found"
}Payments
Numbers in the Twilio account that could be Pay numbers
Live from Twilio. blocked names why a number cannot be one: it is on a SIP trunk, so its calls never reach the payment webhook, or another workspace already uses it as its own Pay number. A number in the shared pool is not blocked: it can only be listed here because this account owns it.
GET
/
payment-carriers
/
twilio-stripe
/
available-numbers
Numbers in the Twilio account that could be Pay numbers
curl --request GET \
--url https://apiv2.vodex.ai/v1/payment-carriers/twilio-stripe/available-numbers \
--header 'Authorization: Bearer <token>'import requests
url = "https://apiv2.vodex.ai/v1/payment-carriers/twilio-stripe/available-numbers"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://apiv2.vodex.ai/v1/payment-carriers/twilio-stripe/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://apiv2.vodex.ai/v1/payment-carriers/twilio-stripe/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 => [
"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://apiv2.vodex.ai/v1/payment-carriers/twilio-stripe/available-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://apiv2.vodex.ai/v1/payment-carriers/twilio-stripe/available-numbers")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://apiv2.vodex.ai/v1/payment-carriers/twilio-stripe/available-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[
{
"e164": "<string>",
"friendlyName": "<string>",
"selected": true,
"blocked": "<string>",
"sharedPool": true,
"webhookReady": true,
"usesApplication": true
}
]{
"error": "not found"
}{
"error": "not found"
}{
"error": "not found"
}Authorizations
Tenant API key (vdx_live_…) as Authorization: Bearer.
Response
The account's numbers.
Already one of this workspace's Pay numbers.
In the shared payment pool. Saving it as this workspace's Pay number moves it here.
Its voice URL already points at the payment webhook.
A TwiML app is set, which overrides the voice URL.