Skip to main content
From zero to an active number in a few steps: contract in the dashboard or API, wait for activation, and use the number as the origin for calls and SMS.

In short

  • Contract a number in the dashboard or with POST /v1/phone-numbers/orders.
  • Copy the id or number to use as origin (from) in voice and SMS.
  • Configure inbound — what to do when someone calls that number.

Before you start


1. Contract a number

Via dashboard

Settings → Phone numbers: search by country and area code, select the number, and pay the monthly fee. When payment confirms, the number becomes active and you can dial.

Via API (phone_numbers:create)

Creates an order with PIX or card payment:
Response (201), example
Track with GET /v1/phone-numbers/orders/:orderId. After payment → webhook phone_number.activated. Regulated countries may require documents — see .../regulatory/* routes in the OpenAPI reference.

2. Search available numbers

Before contracting, list what’s in the catalog:
Optional parameters: Response (200), example

3. List workspace numbers

See the numbers you’ve already contracted:
Released numbers (RELEASED) don’t appear in the list. Response (200), example
Use id or phoneE164 as from in calls and SMS.

4. Get a number


5. Configure what happens when someone calls

When a customer calls your number, you define the behavior:
Example — forward to another number:

Inbound options

For spoken message: inboundTtsText + optional inboundTtsVoice (female-natural, male-natural, etc.).

6. Lifecycle webhooks

When the number status changes (payment, suspension, release):
  • phone_number.activated — number is active, can dial
  • phone_number.past_due — renewal overdue
  • phone_number.suspended — suspended
  • phone_number.released — returned to catalog
Details: Webhook events. For call events (voice.call.*), see Voice — webhooks.

Quick summary


Next steps