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

# Messaging

> Send and list SMS, MMS and WhatsApp messages; manage 10DLC and Powerpacks.

Sending spends money, so `send` commands need `--yes`; `--dry-run` shows the request without sending.

## SMS

Send SMS (requires `--yes`; `--dry-run` previews), list and fetch messages, and manage US 10DLC brands, campaigns, and number links, and Powerpacks.

SMS: A2P / P2P short-message-service (incl. 10DLC, powerpacks, toll-free)

| Command                                         | What it does                                                              |
| ----------------------------------------------- | ------------------------------------------------------------------------- |
| `plivo messaging sms 10dlc`                     | US A2P 10DLC registration: brands, campaigns, links                       |
| `plivo messaging sms list`                      | List SMS messages                                                         |
| `plivo messaging sms powerpacks`                | Powerpacks: number pools for high-volume SMS                              |
| `plivo messaging sms send`                      | Send an SMS (requires --yes; spends money: use --dry-run to preview)      |
| `plivo messaging sms tollfree`                  | Toll-free verification (US TFN messaging compliance)                      |
| `plivo messaging sms 10dlc brands`              | 10DLC brand registration (US A2P 10-digit-long-code messaging)            |
| `plivo messaging sms 10dlc campaigns`           | 10DLC campaign registration (use cases for a brand)                       |
| `plivo messaging sms 10dlc links`               | 10DLC number-to-campaign linking                                          |
| `plivo messaging sms powerpacks create`         | Create a powerpack                                                        |
| `plivo messaging sms powerpacks delete`         | Delete a powerpack (requires --yes)                                       |
| `plivo messaging sms powerpacks get`            | Get a powerpack by uuid                                                   |
| `plivo messaging sms powerpacks list`           | List powerpacks                                                           |
| `plivo messaging sms powerpacks numbers`        | Manage numbers inside a powerpack                                         |
| `plivo messaging sms powerpacks update`         | Update a powerpack                                                        |
| `plivo messaging sms tollfree get`              | Get a toll-free verification profile by uuid                              |
| `plivo messaging sms tollfree list`             | List toll-free verification profiles                                      |
| `plivo messaging sms tollfree submit`           | Submit a new toll-free verification profile                               |
| `plivo messaging sms 10dlc brands create`       | Register a new brand (spends money. TCR registration fee, requires --yes) |
| `plivo messaging sms 10dlc brands get`          | Get a brand by ID                                                         |
| `plivo messaging sms 10dlc brands list`         | List registered brands                                                    |
| `plivo messaging sms 10dlc brands update`       | Update mutable brand fields                                               |
| `plivo messaging sms 10dlc campaigns create`    | Register a new campaign (spends money. TCR fee, requires --yes)           |
| `plivo messaging sms 10dlc campaigns get`       | Get a campaign by ID                                                      |
| `plivo messaging sms 10dlc campaigns list`      | List campaigns                                                            |
| `plivo messaging sms 10dlc campaigns update`    | Update mutable campaign fields                                            |
| `plivo messaging sms 10dlc links create`        | Link a number to a campaign                                               |
| `plivo messaging sms 10dlc links delete`        | Unlink a number (requires --yes)                                          |
| `plivo messaging sms 10dlc links list`          | List number→campaign links                                                |
| `plivo messaging sms powerpacks numbers add`    | Add a number to a powerpack                                               |
| `plivo messaging sms powerpacks numbers list`   | List numbers attached to a powerpack                                      |
| `plivo messaging sms powerpacks numbers remove` | Remove a number from a powerpack (requires --yes)                         |

<AccordionGroup>
  <Accordion title="plivo messaging sms 10dlc">
    **Command:**

    ```bash theme={null}
    plivo messaging sms 10dlc
    ```
  </Accordion>

  <Accordion title="plivo messaging sms list">
    **Command:**

    ```bash theme={null}
    plivo messaging sms list [flags]
    ```

    **Flags**

    * `--direction <string>`: inbound|outbound
    * `--from <string>`: filter by from\_number
    * `--limit <int>`: results per page (default 20)
    * `--offset <int>`: pagination offset
    * `--state <string>`: queued|sent|delivered|undelivered|failed|received
    * `--to <string>`: filter by to\_number
  </Accordion>

  <Accordion title="plivo messaging sms powerpacks">
    **Command:**

    ```bash theme={null}
    plivo messaging sms powerpacks
    ```
  </Accordion>

  <Accordion title="plivo messaging sms send">
    **Command:**

    ```bash theme={null}
    plivo messaging sms send [flags]
    ```

    **Flags**

    * `--dst <string>`: destination, separate multiple with \< (required)
    * `--method <string>`: callback method GET|POST (default "POST")
    * `--src <string>`: sender (E.164, shortcode, or sender ID) (required)
    * `--text <string>`: message body (required)
    * `--url <string>`: callback URL for delivery status
  </Accordion>

  <Accordion title="plivo messaging sms tollfree">
    **Command:**

    ```bash theme={null}
    plivo messaging sms tollfree
    ```
  </Accordion>

  <Accordion title="plivo messaging sms 10dlc brands">
    **Command:**

    ```bash theme={null}
    plivo messaging sms 10dlc brands
    ```
  </Accordion>

  <Accordion title="plivo messaging sms 10dlc campaigns">
    **Command:**

    ```bash theme={null}
    plivo messaging sms 10dlc campaigns
    ```
  </Accordion>

  <Accordion title="plivo messaging sms 10dlc links">
    **Command:**

    ```bash theme={null}
    plivo messaging sms 10dlc links
    ```
  </Accordion>

  <Accordion title="plivo messaging sms powerpacks create">
    **Command:**

    ```bash theme={null}
    plivo messaging sms powerpacks create [flags]
    ```

    **Flags**

    * `--application-id <string>`: application uuid (when application-type=xml\_application)
    * `--application-type <string>`: default\_message|xml\_application
    * `--local-connect`: use a local-prefix-matching number
    * `--name <string>`: powerpack name (required)
    * `--number-priority <string>`: ordered priority list (e.g. "local,tollfree")
    * `--sticky-sender`: send from same number to same recipient
  </Accordion>

  <Accordion title="plivo messaging sms powerpacks delete">
    **Command:**

    ```bash theme={null}
    plivo messaging sms powerpacks delete <uuid>
    ```
  </Accordion>

  <Accordion title="plivo messaging sms powerpacks get">
    **Command:**

    ```bash theme={null}
    plivo messaging sms powerpacks get <uuid>
    ```
  </Accordion>

  <Accordion title="plivo messaging sms powerpacks list">
    **Command:**

    ```bash theme={null}
    plivo messaging sms powerpacks list [flags]
    ```

    **Flags**

    * `--limit <int>`: results per page (default 20)
    * `--offset <int>`: pagination offset
  </Accordion>

  <Accordion title="plivo messaging sms powerpacks numbers">
    **Command:**

    ```bash theme={null}
    plivo messaging sms powerpacks numbers
    ```
  </Accordion>

  <Accordion title="plivo messaging sms powerpacks update">
    **Command:**

    ```bash theme={null}
    plivo messaging sms powerpacks update <uuid> [flags]
    ```

    **Flags**

    * `--local-connect <string>`: true|false
    * `--name <string>`: new name
    * `--sticky-sender <string>`: true|false
  </Accordion>

  <Accordion title="plivo messaging sms tollfree get">
    **Command:**

    ```bash theme={null}
    plivo messaging sms tollfree get <profile_uuid>
    ```
  </Accordion>

  <Accordion title="plivo messaging sms tollfree list">
    **Command:**

    ```bash theme={null}
    plivo messaging sms tollfree list [flags]
    ```

    **Flags**

    * `--limit <int>`: results per page (default 20)
    * `--offset <int>`: pagination offset
    * `--status <string>`: filter by status: SUBMITTED|IN\_REVIEW|APPROVED|REJECTED
  </Accordion>

  <Accordion title="plivo messaging sms tollfree submit">
    **Command:**

    ```bash theme={null}
    plivo messaging sms tollfree submit [flags]
    ```

    **Flags**

    * `--business-name <string>`: business name (required)
    * `--business-website <string>`: business website URL
    * `--message-volume <string>`: expected volume: LOW|MEDIUM|HIGH
    * `--numbers <string>`: comma-separated toll-free numbers to verify
    * `--opt-in-workflow <string>`: describe how recipients opt in
    * `--production-message-content <string>`: sample message content
    * `--use-case <string>`: use case category (required)
    * `--use-case-summary <string>`: free-text use case summary
  </Accordion>

  <Accordion title="plivo messaging sms 10dlc brands create">
    **Command:**

    ```bash theme={null}
    plivo messaging sms 10dlc brands create [flags]
    ```

    **Flags**

    * `--alias <string>`: human-friendly alias (required)
    * `--brand-type <string>`: STANDARD|LOW\_VOLUME\_STANDARD|SOLE\_PROPRIETOR (default "STANDARD")
    * `--ein <string>`: tax ID / EIN
    * `--ein-issuing-country <string>`: ISO-2 country issuing the EIN (default "US")
    * `--email <string>`: support email
    * `--entity-type <string>`: PRIVATE\_PROFIT|PUBLIC\_PROFIT|NON\_PROFIT|GOVERNMENT|SOLE\_PROPRIETOR (default "PRIVATE\_PROFIT")
    * `--legal-name <string>`: legal entity name (required)
    * `--phone <string>`: support phone E.164
    * `--stock-exchange <string>`: exchange code (PUBLIC\_PROFIT only)
    * `--stock-symbol <string>`: ticker (PUBLIC\_PROFIT only)
    * `--vertical <string>`: industry vertical (e.g. TECHNOLOGY, RETAIL)
    * `--website <string>`: primary website URL
  </Accordion>

  <Accordion title="plivo messaging sms 10dlc brands get">
    **Command:**

    ```bash theme={null}
    plivo messaging sms 10dlc brands get <brand_id>
    ```
  </Accordion>

  <Accordion title="plivo messaging sms 10dlc brands list">
    **Command:**

    ```bash theme={null}
    plivo messaging sms 10dlc brands list [flags]
    ```

    **Flags**

    * `--limit <int>`: results per page (default 20)
    * `--offset <int>`: pagination offset
  </Accordion>

  <Accordion title="plivo messaging sms 10dlc brands update">
    **Command:**

    ```bash theme={null}
    plivo messaging sms 10dlc brands update <brand_id> [flags]
    ```

    **Flags**

    * `--email <string>`: support email
    * `--phone <string>`: support phone
    * `--website <string>`: website URL
  </Accordion>

  <Accordion title="plivo messaging sms 10dlc campaigns create">
    **Command:**

    ```bash theme={null}
    plivo messaging sms 10dlc campaigns create [flags]
    ```

    **Flags**

    * `--affiliate-marketing`: affiliate marketing campaign
    * `--age-gated`: campaign targets adult content
    * `--alias <string>`: human-friendly alias (required)
    * `--brand-id <string>`: brand to register under (required)
    * `--description <string>`: what this campaign does (required)
    * `--direct-lending`: direct-lending arrangements
    * `--embedded-link`: messages contain links
    * `--embedded-phone`: messages contain phone numbers
    * `--help-keywords <string>`: comma-separated help keywords (default "HELP")
    * `--help-message <string>`: auto-reply to HELP
    * `--message-flow <string>`: describe how recipients opt in (required)
    * `--number-pool`: campaign uses a number pool
    * `--opt-in-keywords <string>`: opt-in keywords (default "START")
    * `--opt-in-message <string>`: opt-in confirmation message
    * `--opt-out-keywords <string>`: opt-out keywords (default "STOP")
    * `--opt-out-message <string>`: opt-out confirmation message
    * `--sample-message-1 <string>`: sample message (required)
    * `--sample-message-2 <string>`: second sample message
    * `--sub-usecases <string>`: comma-separated sub use cases
    * `--usecase <string>`: primary use case, e.g. MARKETING, MIXED (required)
  </Accordion>

  <Accordion title="plivo messaging sms 10dlc campaigns get">
    **Command:**

    ```bash theme={null}
    plivo messaging sms 10dlc campaigns get <campaign_id>
    ```
  </Accordion>

  <Accordion title="plivo messaging sms 10dlc campaigns list">
    **Command:**

    ```bash theme={null}
    plivo messaging sms 10dlc campaigns list [flags]
    ```

    **Flags**

    * `--brand-id <string>`: filter by brand\_id
    * `--limit <int>`: results per page (default 20)
    * `--offset <int>`: pagination offset
  </Accordion>

  <Accordion title="plivo messaging sms 10dlc campaigns update">
    **Command:**

    ```bash theme={null}
    plivo messaging sms 10dlc campaigns update <campaign_id> [flags]
    ```

    **Flags**

    * `--description <string>`: new description
    * `--message-flow <string>`: new message flow
    * `--sample-message-1 <string>`: new sample 1
    * `--sample-message-2 <string>`: new sample 2
  </Accordion>

  <Accordion title="plivo messaging sms 10dlc links create">
    **Command:**

    ```bash theme={null}
    plivo messaging sms 10dlc links create [flags]
    ```

    **Flags**

    * `--campaign-id <string>`: 10DLC campaign id (required)
    * `--number <string>`: E.164 number (required)
  </Accordion>

  <Accordion title="plivo messaging sms 10dlc links delete">
    **Command:**

    ```bash theme={null}
    plivo messaging sms 10dlc links delete <link_id>
    ```
  </Accordion>

  <Accordion title="plivo messaging sms 10dlc links list">
    **Command:**

    ```bash theme={null}
    plivo messaging sms 10dlc links list [flags]
    ```

    **Flags**

    * `--campaign-id <string>`: filter by campaign\_id
    * `--limit <int>`: results per page (default 20)
    * `--number <string>`: filter by number
    * `--offset <int>`: pagination offset
  </Accordion>

  <Accordion title="plivo messaging sms powerpacks numbers add">
    **Command:**

    ```bash theme={null}
    plivo messaging sms powerpacks numbers add <uuid> <number>
    ```
  </Accordion>

  <Accordion title="plivo messaging sms powerpacks numbers list">
    **Command:**

    ```bash theme={null}
    plivo messaging sms powerpacks numbers list <uuid> [flags]
    ```

    **Flags**

    * `--limit <int>`: results per page (default 20)
    * `--offset <int>`: pagination offset
  </Accordion>

  <Accordion title="plivo messaging sms powerpacks numbers remove">
    **Command:**

    ```bash theme={null}
    plivo messaging sms powerpacks numbers remove <uuid> <number>
    ```
  </Accordion>
</AccordionGroup>

## MMS

Send MMS with one or more `--media-url` attachments (requires `--yes`), and list or fetch messages.

MMS: multimedia messages (US/Canada)

| Command                    | What it does                                                         |
| -------------------------- | -------------------------------------------------------------------- |
| `plivo messaging mms list` | List MMS messages                                                    |
| `plivo messaging mms send` | Send an MMS (requires --yes; spends money: use --dry-run to preview) |

<AccordionGroup>
  <Accordion title="plivo messaging mms list">
    **Command:**

    ```bash theme={null}
    plivo messaging mms list [flags]
    ```

    **Flags**

    * `--direction <string>`: inbound|outbound
    * `--from <string>`: filter by from\_number
    * `--limit <int>`: results per page (default 20)
    * `--offset <int>`: pagination offset
    * `--state <string>`: queued|sent|delivered|undelivered|failed|received
    * `--to <string>`: filter by to\_number
  </Accordion>

  <Accordion title="plivo messaging mms send">
    **Command:**

    ```bash theme={null}
    plivo messaging mms send [flags]
    ```

    **Flags**

    * `--dst <string>`: destination, separate multiple with \< (required)
    * `--media-url <stringArray>`: URL of a hosted image/media file to attach (repeatable, up to 10)
    * `--method <string>`: callback method GET|POST (default "POST")
    * `--src <string>`: sender (E.164, shortcode, or sender ID) (required)
    * `--text <string>`: message body (required)
    * `--url <string>`: callback URL for delivery status
  </Accordion>
</AccordionGroup>

## WhatsApp

Send WhatsApp messages (requires `--yes`) and list or fetch them.

WhatsApp: Plivo's WhatsApp Business API surface

| Command                         | What it does                                                                     |
| ------------------------------- | -------------------------------------------------------------------------------- |
| `plivo messaging whatsapp list` | List WhatsApp messages                                                           |
| `plivo messaging whatsapp send` | Send a WhatsApp message (requires --yes; spends money: use --dry-run to preview) |

<AccordionGroup>
  <Accordion title="plivo messaging whatsapp list">
    **Command:**

    ```bash theme={null}
    plivo messaging whatsapp list [flags]
    ```

    **Flags**

    * `--direction <string>`: inbound|outbound
    * `--from <string>`: filter by from\_number
    * `--limit <int>`: results per page (default 20)
    * `--offset <int>`: pagination offset
    * `--state <string>`: queued|sent|delivered|undelivered|failed|received
    * `--to <string>`: filter by to\_number
  </Accordion>

  <Accordion title="plivo messaging whatsapp send">
    **Command:**

    ```bash theme={null}
    plivo messaging whatsapp send [flags]
    ```

    **Flags**

    * `--dst <string>`: destination, separate multiple with \< (required)
    * `--method <string>`: callback method GET|POST (default "POST")
    * `--src <string>`: sender (E.164, shortcode, or sender ID) (required)
    * `--text <string>`: message body (required)
    * `--url <string>`: callback URL for delivery status
  </Accordion>
</AccordionGroup>

## Get any message

Fetch a single message regardless of channel.

| Command               | What it does                                             |
| --------------------- | -------------------------------------------------------- |
| `plivo messaging get` | Get a message by UUID (works for SMS, MMS, and WhatsApp) |

<AccordionGroup>
  <Accordion title="plivo messaging get">
    **Command:**

    ```bash theme={null}
    plivo messaging get <message_uuid>
    ```
  </Accordion>
</AccordionGroup>
