PhoneNumber (search the carrier catalog and buy) and Number (manage numbers you own); Vobiz folds both into a single phone_numbers resource backed by an inventory model - you buy by E.164 from Vobiz’s pre-provisioned stock. A 15-day DID cool-off applies on sub-account moves.
Plivo → Vobiz mapping
Before / after: buy a number
Plivo POSTs to the specific{number} path and can attach a Plivo Application at buy time. Vobiz POSTs the E.164 (with the leading +) to a single purchase-from-inventory endpoint, which debits setup_fee + monthly_fee from your balance (for an SA_ sub-account, the parent MA_ is charged). After purchase the number is owned - assign it to a trunk to take inbound calls.
Plivo
Vobiz
Key differences & gotchas
- E.164 formatting varies by endpoint.
purchase_from_inventorytakes the number with the leading+in the body;unrent_numbertakes it without the+in the path; trunk/sub-account assignment endpoints take it URL-encoded (%2B14155551234). - Routing is by trunk. Vobiz routes inbound by an explicit
assign/unassignto atrunk_group_id(a UUID); assign a freshly purchased number to a trunk to route it. - 15-day DID cool-off on sub-account moves.
unassign_did_from_subaccountreturns409 did_cool_off_in_effectif the DID took a call in the last 15 days; never-used DIDs move immediately, and admins can bypass withforce=true. - Sub-account assignment uses a lowercase
accountpath (/api/v1/account/...), unlike the capital-Accountof every other number endpoint - the SDK hides this, but raw HTTP callers must match the casing.