Provision Phone Numbers
Buy and configure CloudVNO phone numbers via API.
Provision a Number
# Provision a local US number
number = client.incoming_phone_numbers.create(
phone_number="+14155551234", # From your search results
friendly_name="SMS Support Line",
sms_url="https://yourapp.com/sms-webhook",
voice_url="https://yourapp.com/voice-webhook"
)
print(f"Provisioned: {number.phone_number}")
print(f"SID: {number.sid}")
const number = await client.incomingPhoneNumbers.create({
phoneNumber: '+14155551234',
friendlyName: 'Support Line',
smsUrl: 'https://yourapp.com/sms-webhook',
voiceUrl: 'https://yourapp.com/voice-webhook',
});
curl -X POST https://api.cloudvno.com/v1/incoming-phone-numbers \
-H "Authorization: Bearer YOUR_API_KEY" \
-d PhoneNumber="+14155551234" \
-d SmsUrl="https://yourapp.com/sms-webhook"
List Your Numbers
numbers = client.incoming_phone_numbers.list()
for number in numbers:
print(f"{number.phone_number} — {number.friendly_name}")
Update Number Configuration
number = client.incoming_phone_numbers("+14155551234").update(
friendly_name="New Name",
sms_url="https://yourapp.com/new-sms-webhook"
)
Release a Number
client.incoming_phone_numbers("+14155551234").delete()
print("Number released")
Releasing a number is immediate and irreversible. The number returns to the pool and may be provisioned by another customer.
Regulatory Compliance
Some countries require address verification before provisioning numbers. If a number requires an address:
- Submit your address in Dashboard → Settings → Addresses
- CloudVNO verifies the address (typically within 1 business day)
- Provision numbers in that country
Countries with regulatory requirements include Germany, France, Australia, and others. The API will return a regulatory_requirements error if documentation is needed.