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
| Section | Endpoints | What it does |
|---|---|---|
| Common | 23 | Health, authentication, onboarding, assets, team, and shared resources. |
| Sender IDs | 32 | Sender IDs, channels, protocols, and RCS sender resources. |
| Programs | 5 | Customer-safe brand/campaign messaging programs, sender attachments, and readiness status. |
| Blasts | 15 | Campaign creation, audience selection, launch, and progress tracking. |
| Bots | 10 | Bot flow management, publishing, templates, and emulator APIs. |
| Dictionaries | 17 | Reusable intents, variable definitions, and dictionary categories shared across bots and templates. |
| Contacts | 18 | Contacts, tags, segments, imports, and subscription workflows. |
| Compliance | 15 | DNC, consent, TCPA, and compliance reporting. |
| Templates | 1 | Reusable message templates and landing pages. |
| Conversations | 10 | Conversation, messaging, inbox, and session APIs. |
| Analytics | 19 | Operational analytics, reports, exports, and dashboards. |
| Webhooks | 6 | Webhook endpoint management and provider callbacks. |
| API Keys | 4 | API key lifecycle management. |
| Events | 10 | Event-triggered and acquisition messaging workflows. |
| Submissions | 7 | Brand, campaign, sender-ID, and RCS-agent regulatory submissions. |
| MCP | 3 | Model Context Protocol server configuration for AI-agent integrations. |
Every endpoint
All 195 operations, grouped by section.
Common (23)
GET /health— Health checkGET /v1/landing-page-templates— List landing page templatesGET /v1/landing-pages— List landing pagesPOST /v1/landing-pages— Create a landing pageGET /v1/landing-pages/{id}— Get a landing pagePATCH /v1/landing-pages/{id}— Update a landing pageDELETE /v1/landing-pages/{id}— Delete a landing pagePOST /v1/landing-pages/{id}/publish— Publish a landing pagePOST /v1/landing-pages/{id}/unpublish— Unpublish a landing pageGET /v1/landing-pages/{id}/submissions— List landing page submissionsGET /v1/assets— List assetsPOST /v1/assets/upload— Upload an assetPOST /v1/assets/upload/batch— Upload assets in batchGET /v1/assets/{id}— Get an assetPATCH /v1/assets/{id}— Update asset metadataDELETE /v1/assets/{id}— Delete an assetPOST /v1/assets/{id}/crop— Crop an assetPOST /v1/assets/{id}/resize— Resize an assetGET /v1/assets/{id}/variant/{variant}— Fetch an asset variantGET /v1/asset-folders— List asset foldersPOST /v1/asset-folders— Create an asset folderPATCH /v1/asset-folders/{id}— Update an asset folderDELETE /v1/asset-folders/{id}— Delete an asset folder
Sender IDs (32)
GET /v1/sender-ids— List sender IDsPOST /v1/sender-ids— Create a sender IDGET /v1/sender-ids/{id}— Get a sender IDPATCH /v1/sender-ids/{id}— Update a sender IDDELETE /v1/sender-ids/{id}— Delete a sender IDPOST /v1/sender-ids/{id}/activate— Activate a sender IDPOST /v1/sender-ids/{id}/suspend— Suspend a sender IDPOST /v1/sender-ids/{id}/reactivate— Reactivate a sender IDPOST /v1/sender-ids/numbers/search— Search sender ID numbersPOST /v1/sender-ids/numbers/purchase— Purchase a sender ID numberPOST /v1/sender-ids/numbers/import— Import an owned sender ID numberDELETE /v1/sender-ids/numbers/{id}/release— Release a sender ID numberGET /v1/sender-ids/numbers— List purchased sender ID numbersGET /v1/sender-ids/{id}/protocols— List sender protocolsPOST /v1/sender-ids/{id}/protocols— Enable a sender protocolPATCH /v1/sender-ids/{id}/protocols/{type}— Update sender protocol configDELETE /v1/sender-ids/{id}/protocols/{type}— Disable a sender protocolGET /v1/channels— List channelsPOST /v1/channels— Create a channelGET /v1/channels/{id}— Get a channelPUT /v1/channels/{id}— Update a channelDELETE /v1/channels/{id}— Delete a channelPOST /v1/channels/{id}/test— Test a channelGET /v1/channels/{channelId}/rcs/senders— List RCS sendersPOST /v1/channels/{channelId}/rcs/senders— Create an RCS senderGET /v1/channels/{channelId}/rcs/senders/{senderName}— Get an RCS senderPOST /v1/channels/{channelId}/rcs/senders/{senderName}/test-devices— Add an RCS sender test deviceGET /v1/channels/{channelId}/rcs/senders/{senderName}/test-devices— List RCS sender test devicesDELETE /v1/channels/{channelId}/rcs/senders/{senderName}/test-devices/{phone}— Delete an RCS sender test deviceGET /v1/sender-ids/{id}/voice-forwarding— Get voice forwarding configurationPUT /v1/sender-ids/{id}/voice-forwarding— Set voice forwarding destinationDELETE /v1/sender-ids/{id}/voice-forwarding— Disable voice forwarding
Programs (5)
GET /v1/programs— List messaging programsGET /v1/programs/{id}— Get a messaging programGET /v1/programs/{id}/status— Get messaging program statusPOST /v1/programs/{id}/senders— Attach a sender to a messaging programDELETE /v1/programs/{id}/senders/{senderId}— Detach a sender from a messaging program
Blasts (15)
GET /v1/blasts— List blastsPOST /v1/blasts— Create a blastGET /v1/blasts/{id}— Get a blastPUT /v1/blasts/{id}— Update a blastDELETE /v1/blasts/{id}— Delete a blastPUT /v1/blasts/{id}/content— Update blast contentPUT /v1/blasts/{id}/audience— Update blast audienceGET /v1/blasts/{id}/estimate— Estimate blast delivery costPOST /v1/blasts/{id}/test— Send a blast test messagePOST /v1/blasts/{id}/launch— Launch a blastGET /v1/blasts/{id}/progress— Get blast progressPOST /v1/blasts/{id}/send— Send a blast immediatelyPOST /v1/blasts/{id}/schedule— Schedule a blastPOST /v1/blasts/{id}/cancel— Cancel a blastGET /v1/blasts/{id}/stats— Get blast statistics
Bots (10)
GET /v1/bots— List botsPOST /v1/bots— Create a botGET /v1/bots/{id}— Get a botPUT /v1/bots/{id}— Update a botDELETE /v1/bots/{id}— Delete a botPOST /v1/bots/{id}/publish— Publish a botPOST /v1/bots/{id}/validate— Validate a bot flowGET /v1/bots/{id}/revisions— List bot revisionsGET /v1/bots/{id}/testers— List bot testers and RCS invite statusPOST /v1/bots/{id}/testers— Add a bot tester and optionally send RCS opt-in invite
Dictionaries (17)
GET /v1/intents— List intentsPOST /v1/intents— Create an intentPATCH /v1/intents/{id}— Update an intentDELETE /v1/intents/{id}— Delete an intentGET /v1/intents/{id}/usage— Get intent usagePOST /v1/intents/{id}/rewrite— Rename an intent and rewrite flowsGET /v1/variable-definitions— List variable definitionsPOST /v1/variable-definitions— Create a variable definitionPATCH /v1/variable-definitions/{id}— Update a variable definitionDELETE /v1/variable-definitions/{id}— Delete a variable definitionGET /v1/variable-definitions/{id}/usage— Get variable usagePOST /v1/variable-definitions/{id}/rewrite— Rename a variable and rewrite flowsGET /v1/dictionary-categories— List dictionary foldersPOST /v1/dictionary-categories— Create a dictionary folderPATCH /v1/dictionary-categories/{id}— Update a dictionary folderDELETE /v1/dictionary-categories/{id}— Delete a dictionary folderPOST /v1/dictionary-categories/reorder— Reorder dictionary folders
Contacts (18)
GET /v1/contacts— List contactsPOST /v1/contacts— Create a contactGET /v1/contacts/attribute-keys— List distinct contact attribute keysGET /v1/contacts/{id}— Get a contactPUT /v1/contacts/{id}— Update a contactDELETE /v1/contacts/{id}— Delete a contactGET /v1/contacts/{id}/consent— Get contact consent historyGET /v1/contacts/{id}/rcs-check— Check contact RCS capabilityPOST /v1/contacts/bulk/tag— Bulk-assign a tag to contactsDELETE /v1/contacts/bulk/tag— Bulk-remove a tag from contactsGET /v1/contacts/bulk/tag/{jobId}— Get bulk tag job statusPOST /v1/contacts/import— Create a contact import jobGET /v1/contacts/import/{jobId}— Get a contact import jobGET /v1/tags— List contact tagsPOST /v1/tags— Create a contact tagDELETE /v1/tags/{id}— Delete a contact tagPOST /v1/segments/preview— Preview a segment audiencePOST /v1/segments/resolve— Resolve a segment audience
Compliance (15)
GET /v1/compliance/dnc— List DNC entriesPOST /v1/compliance/dnc— Create a DNC entryPOST /v1/compliance/dnc/batch— Create DNC entries in batchDELETE /v1/compliance/dnc/{id}— Delete a DNC entryGET /v1/compliance/reports/{type}— Generate a compliance reportPOST /v1/compliance/override— Create a compliance overridePATCH /v1/contacts/{id}/tcpa— Update TCPA settings for a contactGET /v1/content-rules— List content rulesPOST /v1/content-rules— Create a content rulePATCH /v1/content-rules/{id}— Update a content ruleDELETE /v1/content-rules/{id}— Delete a content ruleGET /v1/keyword-rules— List keyword rulesPOST /v1/keyword-rules— Create a keyword rulePATCH /v1/keyword-rules/{id}— Update a keyword ruleDELETE /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 conversationsGET /v1/conversations/{id}— Get a conversationGET /v1/conversations/{id}/messages— List conversation messagesPOST /v1/conversations/{id}/messages— Send a conversation messageGET /v1/conversations/{id}/session— Get conversation session detailsGET /v1/conversations/{id}/source— Get conversation sourcePOST /v1/conversations/{id}/handoff— Handoff a conversationPOST /v1/messages/send— Send a direct messagePOST /v1/messages/preview— Preview a rendered messagePOST /v1/messages/{id}/revoke— Revoke a sent message
Analytics (19)
GET /v1/analytics/intents— Get intent tap analyticsGET /v1/analytics/sessions— Get session analyticsGET /v1/analytics/overview— Get analytics overviewGET /v1/analytics/sender-ids— List sender ID analyticsGET /v1/analytics/sender-ids/{id}— Get sender ID analyticsGET /v1/analytics/protocols— Get protocol analyticsGET /v1/analytics/bots/{id}/funnel— Get bot funnel analyticsGET /v1/analytics/bots/{id}— Get bot analyticsGET /v1/analytics/blasts/{id}— Get blast analyticsGET /v1/analytics/usage— Get usage analyticsPOST /v1/analytics/export— Create analytics exportGET /v1/analytics/export/{id}/download— Download analytics exportGET /v1/analytics/reports— List analytics reportsPOST /v1/analytics/reports— Create analytics reportPATCH /v1/analytics/reports/{id}— Update analytics reportDELETE /v1/analytics/reports/{id}— Delete analytics reportGET /v1/analytics/trends— Get dashboard trend analyticsGET /v1/analytics/top— Get dashboard top performersGET /v1/reports/messages— Export customer-scoped MO messages and MDR delivery receipts
Webhooks (6)
GET /v1/webhook-endpoints— List webhook endpointsPOST /v1/webhook-endpoints— Create a webhook endpointPATCH /v1/webhook-endpoints/{id}— Update a webhook endpointDELETE /v1/webhook-endpoints/{id}— Delete a webhook endpointPOST /v1/webhook-endpoints/{id}/test— Send a test webhook deliveryGET /v1/webhook-endpoints/{id}/deliveries— List webhook delivery attempts
API Keys (4)
GET /v1/api-keys— List API keysPOST /v1/api-keys— Create an API keyDELETE /v1/api-keys/{id}— Revoke an API keyPOST /v1/api-keys/{id}/rotate— Rotate an API key secret
Events (10)
POST /v1/events— Create an event-triggered messagePOST /v1/events/batch— Create event-triggered messages in batchPOST /v1/acquisition/{campaignId}/enroll— Enroll a contact via acquisition campaignGET /acquisition-campaigns— List acquisition campaignsPOST /acquisition-campaigns— Create acquisition campaignGET /acquisition-campaigns/{campaignId}— Get acquisition campaignPUT /acquisition-campaigns/{campaignId}— Update acquisition campaignDELETE /acquisition-campaigns/{campaignId}— Delete acquisition campaignPOST /acquisition-campaigns/{campaignId}/generate-qr— Generate acquisition campaign QR codePOST /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 vettingPOST /v1/sender-ids/{id}/refresh-status— Refresh submission status from the upstream registryPOST /v1/sender-ids/{id}/brand/register— Register a sender brandGET /v1/sender-ids/{id}/brand/status— Get sender brand registration statusPOST /v1/sender-ids/{id}/campaign/register— Register a sender campaignGET /v1/sender-ids/{id}/campaign/status— Get sender campaign registration status
MCP (3)
GET /v1/mcp/config— Get MCP server configurationPUT /v1/mcp/config— Save MCP server configurationPOST /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.