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

# Outbound SMS

> Send text messages from a workspace phone number — requirements, segment billing, and the send endpoint

Send outbound SMS from a phone number that belongs to your workspace and has **Allow outbound SMS** enabled.

## What is A2P 10DLC, and why is it needed?

**A2P** means **Application-to-Person**: software sends a text message to a person. This includes appointment reminders, replies to customer inquiries and follow-up messages sent by an AI assistant, not only advertising. **10DLC** means **10-digit long code**, the ordinary US local phone number used as the sender.

US mobile networks require registration for application messages sent through these local numbers to US recipients. Registration identifies the business and explains what it sends and how recipients agree to receive it. It helps networks distinguish expected business messages from spam. Buying a number and enabling SMS alone do not complete registration.

### What gets registered?

* **Business (brand):** the legal business responsible for the messages.
* **Messaging campaign:** the purpose, sample messages and consent process. Here, “campaign” means the registered SMS use case; it does not mean you must run a bulk campaign.
* **Sender number:** the eligible phone number linked to the approved campaign.

Business approval alone is not enough: the campaign must also be approved and the number linked before it is ready to send. Registration does not replace recipient consent or guarantee delivery of every message.

### When does this apply in your workspace?

Use this registration for purchased, SMS-capable **US local numbers**. Voice-only use does not require this SMS registration. Imported numbers are registered through your own carrier. Toll-free numbers have a separate verification process and cannot use this 10DLC form; numbers outside the US are outside this registration flow.

Whitelabel customers register the actual business sending messages in their own workspace. Another customer's approval does not cover their business.

### Why are there setup and monthly fees?

The one-time charge covers registration; the recurring charge keeps the messaging campaign subscription active. Number rental and sent SMS are billed separately. Review the exact setup price, monthly price and applicable taxes before payment. Prices can differ between direct and whitelabel workspaces. A later pricing change does not alter an existing subscription's agreed price.

Monthly billing starts when payment succeeds, including while external review is pending. Review has no guaranteed completion date and may require corrections. Have your real opt-in process, privacy policy, SMS terms and message examples ready before submitting.

## Who can send SMS

| Number source | Requirements | Billing |
| - | - | - |
| [Marketplace](/telephony/phone-numbers) (bought on the platform) | SMS support + outbound SMS enabled | Platform SMS credits **including** carrier pass-through |
| [Twilio import (BYOC)](/telephony/carrier-import) | Twilio carrier connection, SMS support, outbound SMS enabled, A2P registered for US 10DLC → US | Platform SMS credits only (you pay Twilio carrier cost on your account) |

## How message length affects cost

SMS is billed per **segment**, not per message. One segment holds:

* **160 characters** of plain ASCII text, or
* **70 characters** if the message contains anything outside that set — emoji, most accented letters, or a small set of symbols like `{ } [ ] ~ ^ | €`.

A message longer than one segment's worth of characters is automatically split into multiple segments, each billed at the same per-segment rate shown in the table above. Keeping messages in plain ASCII and under 160 characters is the cheapest and most predictable option.

## Enable outbound SMS

1. Open **Settings → Numbers** and select the number.
2. Open the **SMS** tab (visible when the number is SMS-capable).
3. Enable **Allow outbound SMS**.
4. For purchased US local numbers, use **SMS registration (A2P)** below. For carrier imports, complete registration in your own carrier account and wait for campaign approval.

## Register a purchased US number for SMS

<Tip>
  Before you apply, read the [SMS registration guide](/telephony/sms-registration-guide): it lists what reviewers check and has templates for the opt-in, privacy policy and SMS terms.
</Tip>

In **Settings → Numbers**, eligible numbers show an **SMS** status tag beside the number, for example **Not registered**, **In review** or **Active**. Select the tag on an active purchased US local number that supports SMS to open **SMS registration (A2P)**. Imported numbers use registration in your own carrier account. Canadian, non-US, toll-free, inactive and non-SMS numbers are not eligible for this action.

1. Enter the legal business name, registration identifier, address and authorized contact. Use the legal name exactly as registered with the IRS or your tax authority, including suffixes such as LLC or Inc.; a different spelling can fail the brand review. For US and Canadian addresses, use the two-letter state or province code, for example AZ.
2. Describe the messages, provide two examples, and link the public privacy policy, SMS terms and actual opt-in process. A privacy policy or an unrelated verification code is not consent to receive reminders or marketing.
3. Review the one-time registration price and monthly subscription. Prices exclude tax; the payment dialog calculates applicable tax. Registration is separate from number rental and SMS usage. Monthly billing begins with payment. Choose the registration volume first: **Low volume** allows up to 6,000 message segments per day to US numbers (2,000 per day to T-Mobile) and suits most businesses; with **Standard volume** the daily limit follows your trust score (6,000 to 400,000 segments, 2,000 to 200,000 per day to T-Mobile) and includes additional business vetting. Both options show their one-time and monthly price before you continue. After payment the application is submitted, and its business details and volume can't be changed. Before you pay, Milian checks the application for common rejection reasons, such as missing opt-in details, example messages without your business name or STOP wording, or link and phone settings that don't match the examples. Findings marked **Must fix** need your confirmation before you can submit anyway; **Edit** opens the step to correct.
4. Confirm the price and pay using the existing secure payment dialog. The application is submitted only after payment is confirmed. External review can require corrections; payment does not guarantee approval.
5. Track the review in the dialog: payment, business verification, brand registration, campaign review and number activation. After approval, another eligible number in the same workspace can use the registration if the business, messages and consent process match. This does not create another registration subscription. One registration covers all US numbers in the workspace: numbers that aren't part of it yet show **Not linked**, and after approval **Use for all US numbers** links every remaining eligible number at once.

Each workspace has one business registration and messaging campaign. Rejected applications show what needs to change. Select **Correct and resubmit** to fix the details in the same application: up to three corrections per review step are free (business details before the brand registration, a brand retry without changes, and campaign edits). A correction that needs a new brand or campaign review is charged again; contact support for it. Do not start a duplicate paid application. To cancel renewal, open the registration, select **Cancel renewal** and type the phone number to confirm. If no linked number is listed any more, use **SMS registration** in the Settings → Numbers toolbar and confirm with the registered business name. Sending stops when the paid period ends.

Use `GET` and `POST /api/v1/phone-numbers/{id}/sms-registration` to read an application, `save` truthful details for a quote, or `attach` another eligible number. These actions require phone-number read or write permission. Use `GET /api/v1/billing/sms-registration` to read the workspace subscription, and `POST` on that endpoint with `checkout` (number ID, quote reference and explicit price confirmation) or `cancel` (registration ID and explicit confirmation). Reading needs `billing:read` and either a workspace API key or a user-authorised credential of an owner, admin or billing manager. `checkout` and `cancel` need `billing:write` and a user-authorised credential of an owner, admin or billing manager, because a person approves the payment; workspace API keys are refused. Registration responses include `review_stage` (`business`, `brand`, `campaign` or `numbers`): how far the external review got, including where a rejected application stopped. The MCP tools are `get_sms_registration`, `get_sms_registration_prices`, `review_sms_registration`, `resubmit_sms_registration`, `save_sms_registration`, `checkout_sms_registration`, `cancel_sms_registration`, `attach_sms_registration_number` and `attach_all_sms_registration_numbers`. While no application exists or it is still a draft, `GET` also returns `volume_options` with the one-time and monthly price of both volumes. `POST` with `review` checks the same details for common rejection reasons without saving anything; it returns `ready`, `checked_by_ai` and `findings`. `POST` with `resubmit` applies corrected `details` to a rejected application where the correction is free and returns `corrections_left`; a correction that needs a new, charged review returns `402` with `correction_requires_payment`. `attach_all` links every other eligible number of the workspace at once; `GET` returns `unlinked_numbers`, the count of eligible numbers not linked yet.

### How long review takes

| Step | Typical duration |
| - | - |
| Business verification | Usually within 3 days |
| Brand registration | Usually within minutes; a manual review can take 7 business days or more |
| Campaign review | Currently about 10–15 days |
| Number activation | Up to 24 hours after campaign approval |

Review times are set by US carriers and aren't guaranteed. The status in the dialog updates automatically, and each step shows its typical duration while it's still ahead. Messages to US numbers stay blocked until the number shows **Active**.

### What gets rejected

US carriers don't accept these businesses or topics for business texting, even with consent: high-risk financial services (payday, high-interest or third-party loans, crypto, debt collection, consolidation or relief, credit repair), third-party lead generation and affiliate marketing, get-rich-quick schemes, cannabis, CBD and vaping products, prescription drugs, gambling and sweepstakes, phishing (including simulated phishing), firearms and tobacco. Alcohol is only possible with an age gate.

Most other rejections can be avoided. Check these points before you submit:

* **Opt-in:** Describe exactly where and how people agree to receive texts (for example an optional, unchecked checkbox on a web form, a keyword or a paper form) and quote what they see: your business name, the kind of messages, "Message frequency varies", "Message and data rates may apply", and how to reply STOP and HELP.
* **Example messages:** Include your business name, add "Reply STOP to opt out" to at least one, mark variable parts with \[brackets], and match the messaging purpose you selected.
* **Privacy policy:** State that mobile numbers and SMS consent aren't sold or shared with third parties for marketing.
* **SMS terms:** Include the program description, message frequency, "Message and data rates may apply", HELP and STOP instructions and a support contact.
* **Website and links:** Use a live website that matches your business name. Put links on your own domain; public link shorteners are rejected.
* **Business name:** Use the legal name exactly as registered with the tax authority.

### Get help from Milian

Read the recorded correction guidance in `review_notice` using the REST status endpoint, the `get_sms_registration` MCP tool, or `famulor get-sms-registration <id>`. It is separate from advisory pre-submit findings and is empty when no correction is required.

The pre-submit check is advisory: passing it does not save or submit your application, and its suggestions are not the actual rejection notice. For a campaign rejection, correct the messaging and consent details while preserving the approved business information. Do not add a company-name suffix just because the check suggests one; use the exact tax-registered name and contact support for a genuine identity change. Corrections to a rejected application are saved together with resubmission; a preview in chat is still unsaved.

Ask Milian to help prepare your SMS registration. It can explain required fields and supported values, help correct formats, and draft message examples from facts you provide. Confirm that your business details are accurate and your opt-in process is already available before saving the application.

Milian can prepare the application and guide an authorized user to checkout after explicit acceptance of the quoted one-time and monthly prices. You complete payment in the secure payment dialog. Milian can then read the registration status and explain any requested corrections; payment and business approval alone do not mean the campaign and number are ready to send. Available actions follow your workspace permissions.

## REST API

```bash theme={null}
curl -X POST "https://{domain}/api/v1/sms/send" \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "from_number_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "to": "+14155550100",
    "body": "Hello from the platform"
  }'
```

**Required scope:** `phone_numbers:write`

See also: OpenAPI `POST /sms/send`, MCP tool `send_sms`.


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