Choose your sending method based on your channel and use case.
Use 10DLC or toll-free numbers for traditional SMS and MMS messaging with broad reach and reliable delivery.
Deploy rich, interactive messaging experiences through approved RCS agents with cards, buttons, and media.
SMS and MMS messages are sent from a 10DLC or toll-free number that is linked to an approved campaign.
Customize delivery with scheduling, tracking, and validation options.
HIDDEN.Check supported file types and size limits for MMS messages at app.pinnacle.sh/supported-file-types?type=MMS.
While waiting for approval, you can still craft flows and send messages to your own phone number. Request a sandbox number through the Sandbox Numbers section. These numbers require no campaign approval and are perfect for integration testing before production. Note that you must whitelist the recipient phone number on the same page before you can send messages to it.
RCS unlocks branded, interactive conversations with cards, buttons, and rich media. Each message must be sent from an approved agent ID (agent_XXXXXXXXXXXX) linked to your RCS campaign.
Create your message with text, media, or carousel-style cards. Add quick replies or buttons to enhance user interactions.
Include from with your agent ID (e.g., agent_XXXXXXXXXXXX) and to in
E.164 format.
Customize with test mode, validation, tracking, fallback, and scheduling options.
HIDDEN. This only works for RCS text messages.Text messages: Simple text with optional quick replies for user interactions. Can fit a lot more text (3000 characters) than SMS (160 characters).
Media messages: Single image or video with text overlay and action buttons. Can fit a lot more media (100MB) than MMS (1MB).
Card carousels: Swipeable cards with individual media, titles, subtitles, and buttons. Perfect for product showcases or multi-option selections.
Quick replies: Chip suggestions that appear below the message. There are several types of quick replies that encode different actions.
Buttons: Similar to quick replies, but appear on the message itself.
For more details check out our API reference.
Check supported formats and limits for media files and card images.
The RCS agent lifecycle has two stages:
POST /rcs/test/agents) or the Pinnacle Dashboard to develop and test full RCS functionality with whitelisted devices. After creation, whitelist phone numbers and have recipients accept the tester invite before sending messages.Each account can create up to 5 test agents. There is a mandatory 2-minute cooldown after creating an agent before you can whitelist numbers. See the branded test agents guide for full details on limits, image requirements, and common errors.
RCS messages may fail to deliver if the recipient’s device doesn’t support RCS. To ensure your message reaches the recipient, you can configure a fallback SMS or MMS message that will be sent automatically if the RCS message cannot be delivered.
To use fallbacks:
fallback object in your RCS send requestfrom phone number (must be a verified number with SMS/MMS capabilities)text and/or mediaUrls for the fallback content (at least one is required)The fallback will be sent as:
text is provided and is ≤3072 charactersmediaUrls are provided OR text exceeds 3072 charactersWhen a fallback is triggered:
FALLBACK_SENTfallbackMessage detailsagent_.Blast endpoints let you send a single message to an entire audience in one API call. Messages are distributed evenly across your provided sender numbers or agent IDs.
You must use production numbers or approved agent IDs attached to active campaigns.
audienceId — The target audience (prefixed with aud_). Create audiences via the dashboard or the Audiences API.senders — Array of phone numbers (E.164) or RCS agent IDs. Messages are distributed evenly across all senders.message — The message content (plain text for SMS, media URLs for MMS, or rich content for RCS).fallback — (RCS blasts only) SMS/MMS fallback if a recipient doesn’t support RCS. Same format as individual RCS fallbacks.options.schedule — Optional scheduling for future or recurring delivery.An immediate blast returns a BlastResponse with blastId, totalRecipients, totalMessages, totalSegments, and totalCost. A scheduled blast returns a ScheduledBlastResponse with scheduleId and schedule configuration.
You can list past blasts with POST /messages/blasts/list.
For RCS conversations, you can show an animated typing indicator to a recipient while your agent is processing a response. Call POST /messages/send/typing with the agentId and the recipient’s phone number.
Add or remove an emoji reaction on a previously sent message with POST /messages/react.
By default, only messages sent with options.tracking enabled can be precisely reacted to. Set options.force to true to bypass this, though the reaction may land on a different message.