Skip to content

VoIP servers

qb.servers covers all ten QuestBlue server operations with equivalent synchronous and asynchronous methods. Typed models cover inventory, ordering parameters for every documented software family, IP allowlists, upgrades, schedules, backup inventory, restore, and removal.

Order with qb.servers.create and inspect inventory with qb.servers.list. The order body supports 3CX, MassText, QuBe, QuBe TDR, QuBe v2, SBC, VitalPBX, and Vodia configuration through ServerSoftware. API aliases such as 3cx, qube-tdr, and vital-pbx are serialized exactly as documented. Email addresses, passwords, license/customer data, DIDs, IPs, server IDs, and backup IDs are suppressed from representations and validation errors.

from questblue import ServerOrderRequest, ServerSoftware, ServerType, VitalPBXConfig

result = qb.servers.create(
    ServerOrderRequest(
        server_type=ServerType.SMALL,
        params=ServerSoftware(vital_pbx=VitalPBXConfig(email="ops@example.com")),
    )
)

qb.servers.add_ip validates IPv4 and IPv6 addresses. qb.servers.remove_ip follows the pinned API contract, which accepts only server_id; QuestBlue does not expose an address selector on that operation. Use qb.servers.upgrade only with the documented upgrade targets. Manage enrollment with qb.servers.manage_backup_schedule and inspect backups with qb.servers.list_backups.

Safety

Server creation, upgrades, and backup enrollment can be billable. Require an application-level confirmation after displaying the selected configuration and current rates. Server deletion, qb.servers.restore_backup, and qb.servers.remove_backup can destroy or replace production data; confirm the exact server/backup IDs and capture current inventory first. Restrict IP changes to trusted operators and avoid logging allowlists or credentials.

See examples/server_lifecycle.py for guarded provisioning and restore helpers.

Operation map

Operation SDK method
POST /server qb.servers.create
GET /server qb.servers.list
DELETE /server qb.servers.delete
PUT /server/addip qb.servers.add_ip
DELETE /server/deleip qb.servers.remove_ip
POST /server/upgrade qb.servers.upgrade
POST /server/managebackupschedule qb.servers.manage_backup_schedule
GET /server/listbackups qb.servers.list_backups
POST /server/restorebackup qb.servers.restore_backup
DELETE /server/removebackup qb.servers.remove_backup