Support · Contact · Legal
Verified RCS · SMS · MMS · Log in
DEVELOPERS

SimplyRCS API reference

The SimplyRCS REST API has 195 public endpoints across 16 sections. These docs are public so integration teams can evaluate and build before production launch. A scoped API key is required only to make live calls, not to read the reference.

Base URL https://api.simplyrcs.com · OpenAPI 1.0.0 · authentication by bearer API key

What the API covers

SectionEndpointsWhat it does
Common23Health, authentication, onboarding, assets, team, and shared resources.
Sender IDs32Sender IDs, channels, protocols, and RCS sender resources.
Programs5Customer-safe brand/campaign messaging programs, sender attachments, and readiness status.
Blasts15Campaign creation, audience selection, launch, and progress tracking.
Bots10Bot flow management, publishing, templates, and emulator APIs.
Dictionaries17Reusable intents, variable definitions, and dictionary categories shared across bots and templates.
Contacts18Contacts, tags, segments, imports, and subscription workflows.
Compliance15DNC, consent, TCPA, and compliance reporting.
Templates1Reusable message templates and landing pages.
Conversations10Conversation, messaging, inbox, and session APIs.
Analytics19Operational analytics, reports, exports, and dashboards.
Webhooks6Webhook endpoint management and provider callbacks.
API Keys4API key lifecycle management.
Events10Event-triggered and acquisition messaging workflows.
Submissions7Brand, campaign, sender-ID, and RCS-agent regulatory submissions.
MCP3Model Context Protocol server configuration for AI-agent integrations.

Every endpoint

All 195 operations, grouped by section.

Common (23)

  • GET /health — Health check
  • GET /v1/landing-page-templates — List landing page templates
  • GET /v1/landing-pages — List landing pages
  • POST /v1/landing-pages — Create a landing page
  • GET /v1/landing-pages/{id} — Get a landing page
  • PATCH /v1/landing-pages/{id} — Update a landing page
  • DELETE /v1/landing-pages/{id} — Delete a landing page
  • POST /v1/landing-pages/{id}/publish — Publish a landing page
  • POST /v1/landing-pages/{id}/unpublish — Unpublish a landing page
  • GET /v1/landing-pages/{id}/submissions — List landing page submissions
  • GET /v1/assets — List assets
  • POST /v1/assets/upload — Upload an asset
  • POST /v1/assets/upload/batch — Upload assets in batch
  • GET /v1/assets/{id} — Get an asset
  • PATCH /v1/assets/{id} — Update asset metadata
  • DELETE /v1/assets/{id} — Delete an asset
  • POST /v1/assets/{id}/crop — Crop an asset
  • POST /v1/assets/{id}/resize — Resize an asset
  • GET /v1/assets/{id}/variant/{variant} — Fetch an asset variant
  • GET /v1/asset-folders — List asset folders
  • POST /v1/asset-folders — Create an asset folder
  • PATCH /v1/asset-folders/{id} — Update an asset folder
  • DELETE /v1/asset-folders/{id} — Delete an asset folder

Sender IDs (32)

  • GET /v1/sender-ids — List sender IDs
  • POST /v1/sender-ids — Create a sender ID
  • GET /v1/sender-ids/{id} — Get a sender ID
  • PATCH /v1/sender-ids/{id} — Update a sender ID
  • DELETE /v1/sender-ids/{id} — Delete a sender ID
  • POST /v1/sender-ids/{id}/activate — Activate a sender ID
  • POST /v1/sender-ids/{id}/suspend — Suspend a sender ID
  • POST /v1/sender-ids/{id}/reactivate — Reactivate a sender ID
  • POST /v1/sender-ids/numbers/search — Search sender ID numbers
  • POST /v1/sender-ids/numbers/purchase — Purchase a sender ID number
  • POST /v1/sender-ids/numbers/import — Import an owned sender ID number
  • DELETE /v1/sender-ids/numbers/{id}/release — Release a sender ID number
  • GET /v1/sender-ids/numbers — List purchased sender ID numbers
  • GET /v1/sender-ids/{id}/protocols — List sender protocols
  • POST /v1/sender-ids/{id}/protocols — Enable a sender protocol
  • PATCH /v1/sender-ids/{id}/protocols/{type} — Update sender protocol config
  • DELETE /v1/sender-ids/{id}/protocols/{type} — Disable a sender protocol
  • GET /v1/channels — List channels
  • POST /v1/channels — Create a channel
  • GET /v1/channels/{id} — Get a channel
  • PUT /v1/channels/{id} — Update a channel
  • DELETE /v1/channels/{id} — Delete a channel
  • POST /v1/channels/{id}/test — Test a channel
  • GET /v1/channels/{channelId}/rcs/senders — List RCS senders
  • POST /v1/channels/{channelId}/rcs/senders — Create an RCS sender
  • GET /v1/channels/{channelId}/rcs/senders/{senderName} — Get an RCS sender
  • POST /v1/channels/{channelId}/rcs/senders/{senderName}/test-devices — Add an RCS sender test device
  • GET /v1/channels/{channelId}/rcs/senders/{senderName}/test-devices — List RCS sender test devices
  • DELETE /v1/channels/{channelId}/rcs/senders/{senderName}/test-devices/{phone} — Delete an RCS sender test device
  • GET /v1/sender-ids/{id}/voice-forwarding — Get voice forwarding configuration
  • PUT /v1/sender-ids/{id}/voice-forwarding — Set voice forwarding destination
  • DELETE /v1/sender-ids/{id}/voice-forwarding — Disable voice forwarding

Programs (5)

  • GET /v1/programs — List messaging programs
  • GET /v1/programs/{id} — Get a messaging program
  • GET /v1/programs/{id}/status — Get messaging program status
  • POST /v1/programs/{id}/senders — Attach a sender to a messaging program
  • DELETE /v1/programs/{id}/senders/{senderId} — Detach a sender from a messaging program

Blasts (15)

  • GET /v1/blasts — List blasts
  • POST /v1/blasts — Create a blast
  • GET /v1/blasts/{id} — Get a blast
  • PUT /v1/blasts/{id} — Update a blast
  • DELETE /v1/blasts/{id} — Delete a blast
  • PUT /v1/blasts/{id}/content — Update blast content
  • PUT /v1/blasts/{id}/audience — Update blast audience
  • GET /v1/blasts/{id}/estimate — Estimate blast delivery cost
  • POST /v1/blasts/{id}/test — Send a blast test message
  • POST /v1/blasts/{id}/launch — Launch a blast
  • GET /v1/blasts/{id}/progress — Get blast progress
  • POST /v1/blasts/{id}/send — Send a blast immediately
  • POST /v1/blasts/{id}/schedule — Schedule a blast
  • POST /v1/blasts/{id}/cancel — Cancel a blast
  • GET /v1/blasts/{id}/stats — Get blast statistics

Bots (10)

  • GET /v1/bots — List bots
  • POST /v1/bots — Create a bot
  • GET /v1/bots/{id} — Get a bot
  • PUT /v1/bots/{id} — Update a bot
  • DELETE /v1/bots/{id} — Delete a bot
  • POST /v1/bots/{id}/publish — Publish a bot
  • POST /v1/bots/{id}/validate — Validate a bot flow
  • GET /v1/bots/{id}/revisions — List bot revisions
  • GET /v1/bots/{id}/testers — List bot testers and RCS invite status
  • POST /v1/bots/{id}/testers — Add a bot tester and optionally send RCS opt-in invite

Dictionaries (17)

  • GET /v1/intents — List intents
  • POST /v1/intents — Create an intent
  • PATCH /v1/intents/{id} — Update an intent
  • DELETE /v1/intents/{id} — Delete an intent
  • GET /v1/intents/{id}/usage — Get intent usage
  • POST /v1/intents/{id}/rewrite — Rename an intent and rewrite flows
  • GET /v1/variable-definitions — List variable definitions
  • POST /v1/variable-definitions — Create a variable definition
  • PATCH /v1/variable-definitions/{id} — Update a variable definition
  • DELETE /v1/variable-definitions/{id} — Delete a variable definition
  • GET /v1/variable-definitions/{id}/usage — Get variable usage
  • POST /v1/variable-definitions/{id}/rewrite — Rename a variable and rewrite flows
  • GET /v1/dictionary-categories — List dictionary folders
  • POST /v1/dictionary-categories — Create a dictionary folder
  • PATCH /v1/dictionary-categories/{id} — Update a dictionary folder
  • DELETE /v1/dictionary-categories/{id} — Delete a dictionary folder
  • POST /v1/dictionary-categories/reorder — Reorder dictionary folders

Contacts (18)

  • GET /v1/contacts — List contacts
  • POST /v1/contacts — Create a contact
  • GET /v1/contacts/attribute-keys — List distinct contact attribute keys
  • GET /v1/contacts/{id} — Get a contact
  • PUT /v1/contacts/{id} — Update a contact
  • DELETE /v1/contacts/{id} — Delete a contact
  • GET /v1/contacts/{id}/consent — Get contact consent history
  • GET /v1/contacts/{id}/rcs-check — Check contact RCS capability
  • POST /v1/contacts/bulk/tag — Bulk-assign a tag to contacts
  • DELETE /v1/contacts/bulk/tag — Bulk-remove a tag from contacts
  • GET /v1/contacts/bulk/tag/{jobId} — Get bulk tag job status
  • POST /v1/contacts/import — Create a contact import job
  • GET /v1/contacts/import/{jobId} — Get a contact import job
  • GET /v1/tags — List contact tags
  • POST /v1/tags — Create a contact tag
  • DELETE /v1/tags/{id} — Delete a contact tag
  • POST /v1/segments/preview — Preview a segment audience
  • POST /v1/segments/resolve — Resolve a segment audience

Compliance (15)

  • GET /v1/compliance/dnc — List DNC entries
  • POST /v1/compliance/dnc — Create a DNC entry
  • POST /v1/compliance/dnc/batch — Create DNC entries in batch
  • DELETE /v1/compliance/dnc/{id} — Delete a DNC entry
  • GET /v1/compliance/reports/{type} — Generate a compliance report
  • POST /v1/compliance/override — Create a compliance override
  • PATCH /v1/contacts/{id}/tcpa — Update TCPA settings for a contact
  • GET /v1/content-rules — List content rules
  • POST /v1/content-rules — Create a content rule
  • PATCH /v1/content-rules/{id} — Update a content rule
  • DELETE /v1/content-rules/{id} — Delete a content rule
  • GET /v1/keyword-rules — List keyword rules
  • POST /v1/keyword-rules — Create a keyword rule
  • PATCH /v1/keyword-rules/{id} — Update a keyword rule
  • DELETE /v1/keyword-rules/{id} — Delete a keyword rule

Templates (1)

  • GET /v1/whatsapp-templates — List approved WhatsApp message templates

Conversations (10)

  • GET /v1/conversations — List conversations
  • GET /v1/conversations/{id} — Get a conversation
  • GET /v1/conversations/{id}/messages — List conversation messages
  • POST /v1/conversations/{id}/messages — Send a conversation message
  • GET /v1/conversations/{id}/session — Get conversation session details
  • GET /v1/conversations/{id}/source — Get conversation source
  • POST /v1/conversations/{id}/handoff — Handoff a conversation
  • POST /v1/messages/send — Send a direct message
  • POST /v1/messages/preview — Preview a rendered message
  • POST /v1/messages/{id}/revoke — Revoke a sent message

Analytics (19)

  • GET /v1/analytics/intents — Get intent tap analytics
  • GET /v1/analytics/sessions — Get session analytics
  • GET /v1/analytics/overview — Get analytics overview
  • GET /v1/analytics/sender-ids — List sender ID analytics
  • GET /v1/analytics/sender-ids/{id} — Get sender ID analytics
  • GET /v1/analytics/protocols — Get protocol analytics
  • GET /v1/analytics/bots/{id}/funnel — Get bot funnel analytics
  • GET /v1/analytics/bots/{id} — Get bot analytics
  • GET /v1/analytics/blasts/{id} — Get blast analytics
  • GET /v1/analytics/usage — Get usage analytics
  • POST /v1/analytics/export — Create analytics export
  • GET /v1/analytics/export/{id}/download — Download analytics export
  • GET /v1/analytics/reports — List analytics reports
  • POST /v1/analytics/reports — Create analytics report
  • PATCH /v1/analytics/reports/{id} — Update analytics report
  • DELETE /v1/analytics/reports/{id} — Delete analytics report
  • GET /v1/analytics/trends — Get dashboard trend analytics
  • GET /v1/analytics/top — Get dashboard top performers
  • GET /v1/reports/messages — Export customer-scoped MO messages and MDR delivery receipts

Webhooks (6)

  • GET /v1/webhook-endpoints — List webhook endpoints
  • POST /v1/webhook-endpoints — Create a webhook endpoint
  • PATCH /v1/webhook-endpoints/{id} — Update a webhook endpoint
  • DELETE /v1/webhook-endpoints/{id} — Delete a webhook endpoint
  • POST /v1/webhook-endpoints/{id}/test — Send a test webhook delivery
  • GET /v1/webhook-endpoints/{id}/deliveries — List webhook delivery attempts

API Keys (4)

  • GET /v1/api-keys — List API keys
  • POST /v1/api-keys — Create an API key
  • DELETE /v1/api-keys/{id} — Revoke an API key
  • POST /v1/api-keys/{id}/rotate — Rotate an API key secret

Events (10)

  • POST /v1/events — Create an event-triggered message
  • POST /v1/events/batch — Create event-triggered messages in batch
  • POST /v1/acquisition/{campaignId}/enroll — Enroll a contact via acquisition campaign
  • GET /acquisition-campaigns — List acquisition campaigns
  • POST /acquisition-campaigns — Create acquisition campaign
  • GET /acquisition-campaigns/{campaignId} — Get acquisition campaign
  • PUT /acquisition-campaigns/{campaignId} — Update acquisition campaign
  • DELETE /acquisition-campaigns/{campaignId} — Delete acquisition campaign
  • POST /acquisition-campaigns/{campaignId}/generate-qr — Generate acquisition campaign QR code
  • POST /public/acquisition/{campaignId}/enroll — Public acquisition enrollment

Submissions (7)

  • POST /v1/sender-ids/{id}/launch — Promote a tested RCS agent to go-live (LAUNCH_PENDING)
  • POST /v1/sender-ids/{id}/submit — Submit a sender ID for regulatory vetting
  • POST /v1/sender-ids/{id}/refresh-status — Refresh submission status from the upstream registry
  • POST /v1/sender-ids/{id}/brand/register — Register a sender brand
  • GET /v1/sender-ids/{id}/brand/status — Get sender brand registration status
  • POST /v1/sender-ids/{id}/campaign/register — Register a sender campaign
  • GET /v1/sender-ids/{id}/campaign/status — Get sender campaign registration status

MCP (3)

  • GET /v1/mcp/config — Get MCP server configuration
  • PUT /v1/mcp/config — Save MCP server configuration
  • POST /v1/mcp/test — Test MCP server connectivity

API questions

Does SimplyRCS have a public API?

Yes. The SimplyRCS REST API has 195 documented endpoints across 16 sections. The reference is public and needs no account or sales call to read. A scoped API key is required only to make live calls.

What can the SimplyRCS API do?

It covers the full messaging lifecycle: registering and managing verified RCS sender IDs, running blasts, building and operating bots, managing contacts and conversations, submitting compliance and vetting records, pulling analytics, and receiving delivery and engagement events over webhooks.

How do I authenticate to the SimplyRCS API?

With a scoped API key sent as a bearer token in the Authorization header. Keys are scoped so an integration only gets the permissions it needs, and they can be rotated without downtime.

Is there an OpenAPI spec for SimplyRCS?

Yes. The API is described by a machine-readable OpenAPI 3.1 document, which is what this reference is generated from, so the documentation cannot drift from the implementation.

Do I need to talk to sales before I can read the API docs?

No. The reference is public precisely so integration teams can evaluate and build against it before committing. Pricing is published too, so you can size a project without a call.

Does the API handle SMS fallback automatically?

Yes. A message sent to a recipient whose handset does not support RCS is delivered as SMS or MMS instead, so you author one message and each recipient receives the richest format their phone supports.