Skip to main content
Phone numbers belong to a persona, so every command takes --identity. Reached as vetta identity phone <command> — three words, where phone is a sub-group rather than a positional argument.

Commands

--identity takes either an idn_ id or the persona’s name; the API resolves both.

provision

provision is a purchase, and it answers 202, not 201. The number exists and can receive immediately, but outbound messaging waits on a carrier campaign decision that is not ours to make.
Neither --tax-id nor --contact-phone is stored by us — both are write-through to the carrier for registration.

list

send

Outbound SMS is refused until the campaign is approved

Until the carrier approves the messaging campaign registered by provision, send is refused with compliance_pending. This is a carrier rule, not a platform bug, and the CLI reports it rather than retrying around it. Inbound continues to work throughout. There is no way to shorten the wait from here. Check the number’s campaign state with vetta identity phone list before scripting anything that depends on outbound delivery.

release

release stops the monthly charge and returns the number to the carrier’s pool. It is not recoverable — re-provisioning will almost certainly give you a different number, and any campaign registration is lost with it.