# Messaging Overview

> Orchestrate SMS, MMS, and RCS conversations with a single API.

Connect with customers on their preferred channels while managing every aspect of your messaging lifecycle through Pinnacle. Begin with our sending guide to get started quickly, then expand your capabilities with advanced message status tracking and inbound message handling as your needs grow.

  ### [Send messages](/guides/messages/sending)
    Build SMS, MMS, and RCS experiences — including blasts, reactions, and typing
    indicators.
  
  ### [Receive replies](/guides/messages/receiving)
    Set up webhooks, track message statuses, and process inbound messages and
    user events.
  

## Channels at a glance

| Channel | Best for                             | Sender                    | Highlights                                                                                                                                                                            |
| ------- | ------------------------------------ | ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **SMS** | Alerts, 2FA, concise notifications   | 10DLC or toll-free number | Instant reach, text only                                                                                                                                                              |
| **MMS** | Rich promotions, media-heavy updates | 10DLC or toll-free number | [Images, GIFs, PDFs](https://app.pinnacle.sh/supported-file-types?type=MMS) alongside text                                                                                            |
| **RCS** | Interactive journeys, commerce flows | Approved RCS agent        | [Cards](https://app.pinnacle.sh/supported-file-types?type=RCS-CARD), [rich media](https://app.pinnacle.sh/supported-file-types?type=RCS-MEDIA), buttons, quick replies, read receipts |

## Before you send

- **Numbers or agent credentials.** Purchase a number or get an agent ID by registering an [RCS campaign](/guides/campaigns/rcs).
- **Campaign approval.** Ensure each number is attached to an active 10DLC/toll-free campaign, or your RCS agent is approved.
- **API access.** Create an API key on the [Pinnacle Dashboard](https://app.pinnacle.sh/dashboard/development/api-keys) and store it securely.

**Optional: Validate first:**
  Use [`POST /messages/validate/sms`](/api-reference/messages/validate-sms),
  [`POST /messages/validate/mms`](/api-reference/messages/validate-mms), and
  [`POST /messages/validate/rcs`](/api-reference/messages/validate-rcs) to allow
  you to validate content without sending. This will help you catch unsupported
  files, return media size, display segmentation, and give cost estimates before
  hitting send.

## Send in three steps

  ### ComposeCraft the SMS, MMS, or RCS message to be sent.
  ### Deliver
    Use the respective send endpoint/method.

    - SMS: [`POST /messages/send/sms`](/api-reference/messages/send-sms).
    - MMS: [`POST /messages/send/mms`](/api-reference/messages/send-mms).
    - RCS: [`POST /messages/send/rcs`](/api-reference/messages/send-rcs).

  
  ### Track
    Poll [`GET /messages/{messageId}`](/api-reference/messages/get) to get
    updates for your message or subscribe to webhooks to monitor status changes
    and inbound replies. See our [receiving guide](/guides/messages/receiving)
    for more details.
  

## Next up

- Keeping track of conversations? Explore the [Conversations API](/api-reference/conversations).
- Want to broadcast to an audience? See [Blasts](/guides/messages/sending#broadcasting-to-audiences) in the sending guide.
- Need to react to messages with emoji? See [Reactions](/guides/messages/sending#reacting-to-messages).
- Ready to receive messages, message statuses, and user events? Continue to our [receiving guide](/guides/messages/receiving).
