Skip to main content
Phone numbers belong to a persona, so every command takes --identity. Reached as naive 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

--legal-name must be the legal name of the deployment’s shared carrier registration; any other name is refused before anything is bought, because registering your own brand is not available yet. An organization holds at most 3 numbers.
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 or sent anywhere: numbers use the shared registration, so nothing is filed with them.

list

send

Outbound SMS is refused until the campaign is approved

Not available yet: a text has no price, so send is refused feature_not_configured even once the campaign is approved. Before that, 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 naive identity phone list before scripting anything that depends on outbound delivery.

update

Once set, each inbound text that passes the guards starts a session for that agent, as this persona, billed to your credits. Texts that arrived before are not woken. The agent must hold the persona (naive identity attach). --none stops wakes. The woken agent can’t reply by text yet: outbound SMS is not available.

release

release 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.