import { CommuneClient } from 'commune-ai';
const commune = new CommuneClient({ apiKey: process.env.COMMUNE_API_KEY });
const numbers = await commune.phoneNumbers.list();
for (const number of numbers) {
console.log(number.id, number.number, number.status);
}
from commune import CommuneClient
client = CommuneClient()
numbers = client.phone_numbers.list()
for number in numbers:
print(number.id, number.number, number.status)
list_phone_numbers()
curl https://api.commune.email/v1/phone-numbers \
-H "Authorization: Bearer comm_..."
commune phone-numbers list
{
"data": [
{
"id": "pn_01abc123",
"number": "+18005550001",
"numberType": "tollfree",
"friendlyName": "Support Line",
"country": "US",
"capabilities": {
"sms": true,
"mms": true,
"voice": true
},
"status": "active",
"allowList": [],
"blockList": ["+15555550000"],
"creditCostPerMonth": 150,
"autoReply": {
"enabled": true,
"body": "Thanks for reaching out! We'll get back to you shortly."
},
"createdAt": "2026-02-01T00:00:00.000Z",
"updatedAt": "2026-02-25T10:00:00.000Z"
}
]
}
Phone Numbers
List Phone Numbers
List all active and released phone numbers for your organization.
GET
/
v1
/
phone-numbers
import { CommuneClient } from 'commune-ai';
const commune = new CommuneClient({ apiKey: process.env.COMMUNE_API_KEY });
const numbers = await commune.phoneNumbers.list();
for (const number of numbers) {
console.log(number.id, number.number, number.status);
}
from commune import CommuneClient
client = CommuneClient()
numbers = client.phone_numbers.list()
for number in numbers:
print(number.id, number.number, number.status)
list_phone_numbers()
curl https://api.commune.email/v1/phone-numbers \
-H "Authorization: Bearer comm_..."
commune phone-numbers list
{
"data": [
{
"id": "pn_01abc123",
"number": "+18005550001",
"numberType": "tollfree",
"friendlyName": "Support Line",
"country": "US",
"capabilities": {
"sms": true,
"mms": true,
"voice": true
},
"status": "active",
"allowList": [],
"blockList": ["+15555550000"],
"creditCostPerMonth": 150,
"autoReply": {
"enabled": true,
"body": "Thanks for reaching out! We'll get back to you shortly."
},
"createdAt": "2026-02-01T00:00:00.000Z",
"updatedAt": "2026-02-25T10:00:00.000Z"
}
]
}
import { CommuneClient } from 'commune-ai';
const commune = new CommuneClient({ apiKey: process.env.COMMUNE_API_KEY });
const numbers = await commune.phoneNumbers.list();
for (const number of numbers) {
console.log(number.id, number.number, number.status);
}
from commune import CommuneClient
client = CommuneClient()
numbers = client.phone_numbers.list()
for number in numbers:
print(number.id, number.number, number.status)
list_phone_numbers()
curl https://api.commune.email/v1/phone-numbers \
-H "Authorization: Bearer comm_..."
commune phone-numbers list
{
"data": [
{
"id": "pn_01abc123",
"number": "+18005550001",
"numberType": "tollfree",
"friendlyName": "Support Line",
"country": "US",
"capabilities": {
"sms": true,
"mms": true,
"voice": true
},
"status": "active",
"allowList": [],
"blockList": ["+15555550000"],
"creditCostPerMonth": 150,
"autoReply": {
"enabled": true,
"body": "Thanks for reaching out! We'll get back to you shortly."
},
"createdAt": "2026-02-01T00:00:00.000Z",
"updatedAt": "2026-02-25T10:00:00.000Z"
}
]
}
Response
PhoneNumber[]
Array of all phone numbers belonging to your organization, including released numbers. Released numbers are retained for history but cannot send or receive messages.
Hide PhoneNumber properties
Hide PhoneNumber properties
string
Unique phone number ID. Format:
pn_...string
Phone number in E.164 format.
string
One of:
local, tollfree, shortcode.string | null
Display name for this number.
string
ISO-3166 country code.
string
One of:
active, released, suspended_non_payment.string[]
E.164 numbers in the allow list. Empty array means all numbers allowed.
string[]
E.164 numbers in the block list.
number
Monthly credit cost (150).
object | null
string
ISO 8601 timestamp.
string
ISO 8601 timestamp.
Last modified on March 19, 2026
Was this page helpful?

