Skip to main content
Find a phone number to rent, manage numbers you own, and submit compliance documents. After logging in, search for a US number, then preview and confirm the rental:
  • Phone numbers use international format with the country code. Replace <values> with your own and omit [flags] unless adding options.
  • Buying a number spends money and needs --yes. In India a number can only be rented (and used for calls) once a compliance application (KYC, know your customer) is accepted.
  • Paged lists take --limit, --offset and --all. Global flags: see Configuration.

Compliance when you buy or route a number

  • plivo numbers buy --compliance-application-id <id> attaches a specific compliance application. Without it, Plivo picks your most recent applicable one. Use it when you keep one application per end customer, or for an India number when Plivo has none to attach by itself. A malformed ID is refused before any request.
  • plivo numbers update --app-id or --trunk-id on an India (+91) number reads its compliance application first. The update is refused when no application is attached, when it isn’t accepted, or when it can’t be read. --dry-run runs the same check. --force skips only this local check: Plivo still enforces KYC on its side, so file KYC rather than forcing it. Changing only --alias or --subaccount isn’t checked.
  • --trunk-id routes the number to an inbound SIP trunk instead of an application; see SIP trunking. It warns when the trunk is disabled, because no call reaches the number until you run plivo sip trunks update <trunk_id> --status enabled. An outbound trunk is refused.
  • A number that isn’t on your account is refused with a hint to run plivo numbers list. A malformed number is refused before any request.
A refusal for a number with no KYC exits with code 1. The hint lists the KYC steps as CLI commands, and docs_url links the India KYC guide:
When an application is attached but not accepted, the message names its status, and step 1 of the hint becomes plivo numbers compliance get <compliance_id>, which shows the status and any rejection reason.

Phone numbers

buy and release also take --explain, which narrates in plain English before running.
Takes --limit and --offset but not --all. When the API declines a search, its reason goes to stderr.

Number compliance

Look up the documents and fields required for a country and number type:
Use those requirements and the India number guide to write app.json. The @ prefix tells the CLI to read a file. Upload field names must match the document entries in that JSON. create submits automatically; check the application status before linking a number. update works only on a rejected application and replaces its whole document set.

Number masking

A masking session connects two parties through a Plivo number so they don’t see each other’s phone numbers. The API puts list rows at data.response.objects, and --all, -o jsonl and -o csv read them there. get returns the session under response.