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

# Phone

> Provision numbers on carrier-registered messaging; send and receive SMS.

> [!NOTE]
>
> **Available now.** The messaging layer is a first-party Naive Managed Agents capability. Inbound SMS is verified, stored and [wakes the number's agent](https://vetta.sh/docs/identity/inbound.md).

An identity can own a phone number for SMS. US messaging runs over **carrier-registered (A2P) messaging**, which requires a registered brand and campaign before outbound texts are allowed. Managed Agents handles the sequence; you choose a registration tier.

## Provisioning tiers

> [tab] Sole proprietor
>
> Fastest path, no business entity required. Managed Agents verifies your identity with an SMS one-time-passcode, then registers a sole-proprietor brand and campaign.
>
> ```bash CLI theme={"system"}
> vetta identity phone provision --identity ava --tier sole-prop
> ```
>
> If the brand is still verifying, provisioning returns `pending_brand_verification`; re-run after you complete the OTP.

> [tab] Standard (business)
>
> Higher throughput. Requires a registered business entity and a tax ID (EIN). Managed Agents creates the account, registers the campaign, and purchases the number.
>
> ```bash CLI theme={"system"}
> vetta identity phone provision --identity ava --tier standard \
>   --legal-name "Acme Inc" --tax-id 12-3456789 --country US --contact-phone +15551234567
> ```

## Inbound vs outbound

| Capability | Available |
| - | - |
| **Inbound SMS** | Immediately after the number is purchased. |
| **Outbound SMS** | Only once the messaging campaign is `approved`/`active`. |

> [!WARNING]
>
> Outbound texts before campaign approval are refused with a `compliance_pending` error. Inbound works right away, so an agent can start receiving before it can reply.

Campaign approval arrives asynchronously and unlocks outbound automatically — no re-provisioning needed.

## Sending and receiving

```bash CLI theme={"system"}
vetta identity phone send --identity ava --to +14155550142 --text "Your order shipped."
vetta identity phone list --identity ava
```

Inbound texts wake the number's owning agent, the same way inbound [email](https://vetta.sh/docs/identity/email.md) does — see [Inbound events](https://vetta.sh/docs/identity/inbound.md). The woken agent cannot answer by text: no agent tool sends SMS yet.

## From an agent

A session whose identity owns a number is offered `phone.numbers` and `phone.read`. `phone.send` is offered when outbound messaging is configured, asks a person by default, and is refused with `compliance_pending` until the campaign is `approved`. A deployment with no price for a text refuses the send before it leaves, the same way `POST /v1/identities/{id}/phones/{pid}/send` does. The SDK is [Phones](https://vetta.sh/docs/sdk/phones.md); the CLI is [Phone](https://vetta.sh/docs/cli/phone.md).

> [card] [Next: connections](https://vetta.sh/docs/identity/connections.md)
>
> Act through third-party OAuth apps.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.