> ## Documentation Index
> Fetch the complete documentation index at: https://plivo.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Plivo CLI

> Work with every Plivo API from the terminal (calls, messages, numbers, applications and more) by hand or from an AI coding agent.

The Plivo CLI is a command-line interface to the Plivo APIs. Anything you can do with the REST API (make calls, send messages, search and buy numbers, create applications, manage subaccounts, pull recordings) you can do from the terminal, and anything the CLI doesn't wrap yet is one `plivo api` call away.

It is built for people **and** for AI coding agents (Claude Code, Cursor, Codex): every command returns machine-readable output with `-o json` (API-backed commands hand back the raw API response; local tools such as `streams test`, `streams forward` and `upgrade` print a single summary and move progress to stderr), previews changes with `--dry-run`, and refuses to spend money or delete anything unless you pass `--yes`. It also ships Plivo's AI assistant: `plivo ask` answers questions in plain English and `plivo … diagnose` explains why a call or message failed.

## What you can do

| Area                            | Examples                                                                               | Where                                                                             |
| ------------------------------- | -------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- |
| Voice                           | make and control calls, transfer, record, conferences, multiparty calls, SIP endpoints | [Make and control calls](/docs/cli/voice-agent/calls), [Voice](/docs/cli/apis/voice)        |
| Voice agents on Audio Streaming | test a WebSocket bot, forward live calls to it, connect a number                       | [Voice agents with Audio Streaming](/docs/cli/voice-agent/test-websocket)              |
| Messaging                       | send and list SMS, MMS and WhatsApp; 10DLC and Powerpacks                              | [Messaging](/docs/cli/apis/messaging)                                                  |
| Numbers                         | search, buy, attach to an application, compliance applications (India KYC), masking    | [Connect a number](/docs/cli/voice-agent/connect-number), [Numbers](/docs/cli/apis/numbers) |
| Account                         | applications, subaccounts, balance, Verify, Lookup                                     | [Account, Verify and Lookup](/docs/cli/apis/account)                                   |
| Debugging (any product)         | `plivo voice calls diagnose`, `plivo messaging sms diagnose`, `plivo ask`              | [Diagnose and ask](/docs/cli/apis/diagnose-ask)                                        |
| Documentation                   | search, list and print any docs page from the shell, no credentials needed             | [Read the docs](/docs/cli/docs)                                                        |
| Anything else                   | `plivo api GET /Account/{auth_id}/…`                                                   | [Any REST endpoint](/docs/cli/apis/api)                                                |

## Example: a voice agent on Audio Streaming

The most common thing people build with the CLI today is a WebSocket voice agent on [Audio Streaming](/docs/voice-agents/audio-streaming/overview), so the docs walk through that path in its own section. Voice agents built on SIP platforms (LiveKit, Vapi, Retell, ElevenLabs) do not use the stream commands; their trunks are set up through the [SIP trunking API](/docs/voice-agents/sip-trunking/api/sip-trunking), reachable with `plivo api`.

| Step | What you do                                                 | Command                                                                                                                        |
| ---- | ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
| 1    | Install and log in                                          | `brew install plivo/tap/plivo` · `plivo login`, see [Install](/docs/cli/install#install), [Authenticate](/docs/cli/authenticate)         |
| 2    | Teach your coding agent the CLI                             | `plivo skill install`, see [Agent setup](/docs/cli/agents)                                                                          |
| 3    | Prove your WebSocket bot works before any phone is involved | `plivo voice streams test --to wss://… --bidirectional`, see [Test your WebSocket endpoint](/docs/cli/voice-agent/test-websocket)   |
| 4    | Point a Plivo number at your agent                          | `plivo account applications create` · `plivo numbers update --app-id`, see [Connect a number](/docs/cli/voice-agent/connect-number) |
| 5    | Take a real call on a bot that has no public answer URL yet | `plivo voice streams forward --to ws://…`, see [Forward calls to your bot](/docs/cli/voice-agent/forward-calls)                     |
| 6    | Make outbound calls, transfer, record                       | `plivo voice calls make …`, see [Make and control calls](/docs/cli/voice-agent/calls)                                               |
| 7    | Ask what happened on a call, failed or not                  | `plivo voice calls diagnose <uuid>`, see [Diagnose a call](/docs/cli/voice-agent/diagnose-call)                                     |

Not building a voice agent? Start with [Install](/docs/cli/install#install) and [Authenticate](/docs/cli/authenticate), then pick your API under **Plivo APIs**: [Voice](/docs/cli/apis/voice), [Messaging](/docs/cli/apis/messaging), [Numbers](/docs/cli/apis/numbers), [Account](/docs/cli/apis/account).

<Note>
  The CLI is open source under the Apache-2.0 license: [github.com/plivo/plivo-cli](https://github.com/plivo/plivo-cli). Run `plivo feedback` from the terminal, or open an issue on the [issue tracker](https://github.com/plivo/plivo-cli/issues).
</Note>
