What phone numbers enable
- A persistent identity — recipients see a consistent number, not a random sender
- Inbound SMS routing — messages arrive at a webhook your agent controls
- Two-way conversations — full thread history between your agent and any contact
- MMS support — send and receive images, documents, and media
- Allow lists — restrict inbound to known numbers only (your own systems, trusted contacts)
- Block lists — silently reject specific senders at the carrier level
- Auto-reply — automatic acknowledgment sent to every inbound message
- Compliance-safe messaging — STOP/UNSTOP handling built in, suppression lists managed automatically
- Webhook signing — HMAC-SHA256 signatures on every event so you can verify the source
How it works
When you purchase a phone number, Commune provisions it through Twilio on your behalf. The number is tied to your organization and enrolled in a Messaging Service with sticky sender enabled — the first message you send to a contact locks that number as the sender for that contact going forward, building a consistent identity. You never deal with Twilio directly. Commune handles provisioning, routing, webhooks, and credits.Number types
US local numbers require registration before they can send messages. See A2P 10DLC below. Toll-free numbers do not have this requirement and are ready to send immediately.
Capabilities
Each number has specific capabilities depending on what you purchase:Voice capability requires Agent Pro plan or higher. Check
capabilities on the number object before using it for a specific purpose.Agent use cases
Outbound sales agent — Each agent gets its own number. Sticky sender ensures the contact always sees the same number. Replies route back to that agent’s webhook. Customer support — One number per product line or region. Agents handle inbound replies and escalate when needed. Auto-reply handles out-of-hours coverage. Appointment reminders — Agents send reminders and handle confirmations via SMS reply. Allow list restricts inbound to known patient/customer numbers. Notification system — Numbers send alerts, confirmations, and one-way updates. Block list rejects spam inbound. Allow list restricts to your own systems. Multi-tenant platforms — Each customer or campaign gets its own number for isolated reputation, clear attribution, and independent block/allow lists.The phone number object
Search available numbers
Before purchasing, search for numbers matching your criteria.Parameters
Response
Purchase a phone number
status: "active".
Prorated billing — credits are charged immediately, prorated based on days remaining in your billing cycle. If you purchase mid-cycle with 15 days left, you pay 75 credits (half of 150). The full 150 credits are charged at the start of each subsequent month.
A2P 10DLC
US local numbers require A2P (Application-to-Person) 10DLC campaign registration before they can send messages. This is a US carrier requirement for all business SMS. Attempting to purchase a US local number without approved A2P status returns:List phone numbers
Get a phone number
Update a phone number
Configure the display name, auto-reply, and webhook on an existing number.Updatable fields
Webhook signature verification
Whenwebhook.secret is set, Commune includes an X-Commune-Signature header on every delivery. Verify it to confirm the payload came from Commune:
Allow list
Restrict inbound messages to a set of known numbers. When non-empty, any number not on the list is silently rejected. Useful for systems where your number only receives messages from your own infrastructure.Block list
Block specific numbers from messaging your number. Blocked inbound messages are stored withdelivery_status: "blocked" but your webhook is not fired and no auto-reply is sent.
Block list always wins over allow list. If a number appears on both, it is rejected.
Phone-scoped API keys
You can create API keys scoped to specific phone numbers. A scoped key can only send from — and receive webhooks for — the numbers in its scope. Useful for multi-tenant setups where each customer’s agent should only access its own number. Create phone-scoped keys from Dashboard → API Keys. Requests using a scoped key to access other numbers return403 phone_key_not_authorized.
Release a phone number
Permanently return the number to the carrier pool. The number stops receiving messages immediately. All associated message history remains accessible in your account.Credit costs
International SMS costs vary by country. See the full credits by country table.
Credits are deducted from your balance. Check your balance at Dashboard → Credits or via
GET /v1/credits.
Plan quotas
Additional credits can be purchased as bundles (1,000 for 55, 20,000 for $200).

