Support · Legal
Verified RCS · SMS · MMS
API REFERENCE

Analytics API

The SimplyRCS analytics API has 19 public endpoints. Every endpoint below is documented with its parameters, responses and an example request. The reference is public and needs no account; a scoped API key is required only to make live calls.

Operational analytics, reports, exports, and dashboards.

Base URL https://api.simplyrcs.com · All 195 endpoints · Pricing

GET/v1/analytics/intents

Get intent tap analytics

Org-wide chip/postback tap counts per intent value over the range (default last 30 days), most-tapped first. Values are normalized (trimmed, lowercased) to line up with the Intents dictionary.

GET https://api.simplyrcs.com/v1/analytics/intents · requires an API key

Query parameters

NameTypeRequiredDescription
startDatestringNoISO date; defaults to 30 days before endDate.
endDatestringNoISO date; defaults to today (UTC).

Responses

StatusReturnsDescription
200AnalyticsIntentsResponseSuccessful response
400ErrorResponseValidation error
401ErrorResponseAuthentication failed

Example request

curl -X GET https://api.simplyrcs.com/v1/analytics/intents \
  -H 'Authorization: Bearer YOUR_API_KEY'

GET/v1/analytics/sessions

Get session analytics

GET https://api.simplyrcs.com/v1/analytics/sessions · requires an API key

Query parameters

NameTypeRequiredDescription
startDatestringNoISO date; defaults to 30 days before endDate.
endDatestringNoISO date; defaults to today (UTC).
groupBy"source"NoWhen set to source, timeline contains the per-source breakdown instead of the daily series.

Responses

StatusReturnsDescription
200AnalyticsSessionsResponseSuccessful response
400ErrorResponseValidation error
401ErrorResponseAuthentication failed

Example request

curl -X GET https://api.simplyrcs.com/v1/analytics/sessions \
  -H 'Authorization: Bearer YOUR_API_KEY'

GET/v1/analytics/overview

Get analytics overview

GET https://api.simplyrcs.com/v1/analytics/overview · requires an API key

Query parameters

NameTypeRequiredDescription
startDatestringNoISO date; defaults to 30 days before endDate.
endDatestringNoISO date; defaults to today (UTC).
granularity"hour" | "day" | "week" | "month"NoTrend bucket size; defaults to day. Hourly is limited to 7-day ranges, daily to 365-day ranges.
brandIdstringNoOptional: narrow the overview to a single Brand within the caller org. Contacts and bot counts remain org-wide (no brand attribution).
campaignIdstringNoOptional: narrow the overview to a single Campaign within the caller org. Contacts and bot counts remain org-wide (no campaign attribution).

Responses

StatusReturnsDescription
200AnalyticsOverviewResponseSuccessful response
400ErrorResponseValidation error
401ErrorResponseAuthentication failed

Example request

curl -X GET https://api.simplyrcs.com/v1/analytics/overview \
  -H 'Authorization: Bearer YOUR_API_KEY'

GET/v1/analytics/sender-ids

List sender ID analytics

GET https://api.simplyrcs.com/v1/analytics/sender-ids · requires an API key

Query parameters

NameTypeRequiredDescription
startDatestringNoISO date; defaults to 30 days before endDate.
endDatestringNoISO date; defaults to today (UTC).
brandIdstringNoOptional: narrow sender ID summaries to a single Brand within the caller org.
campaignIdstringNoOptional: narrow sender ID summaries to a single Campaign within the caller org.

Responses

StatusReturnsDescription
200AnalyticsSenderListResponseSuccessful response
400ErrorResponseValidation error
401ErrorResponseAuthentication failed

Example request

curl -X GET https://api.simplyrcs.com/v1/analytics/sender-ids \
  -H 'Authorization: Bearer YOUR_API_KEY'

GET/v1/analytics/sender-ids/{id}

Get sender ID analytics

GET https://api.simplyrcs.com/v1/analytics/sender-ids/{id} · requires an API key

Path parameters

NameTypeDescription
id requiredstring

Query parameters

NameTypeRequiredDescription
startDatestringNoISO date; defaults to 30 days before endDate.
endDatestringNoISO date; defaults to today (UTC).
granularity"hour" | "day" | "week" | "month"No

Responses

StatusReturnsDescription
200AnalyticsSenderDetailResponseSuccessful response
400ErrorResponseValidation error
401ErrorResponseAuthentication failed

Example request

curl -X GET https://api.simplyrcs.com/v1/analytics/sender-ids/{id} \
  -H 'Authorization: Bearer YOUR_API_KEY'

GET/v1/analytics/protocols

Get protocol analytics

GET https://api.simplyrcs.com/v1/analytics/protocols · requires an API key

Query parameters

NameTypeRequiredDescription
startDatestringNoISO date; defaults to 30 days before endDate.
endDatestringNoISO date; defaults to today (UTC).
brandIdstringNoOptional: narrow protocol comparison to a single Brand within the caller org.
campaignIdstringNoOptional: narrow protocol comparison to a single Campaign within the caller org.

Responses

StatusReturnsDescription
200AnalyticsProtocolsResponseSuccessful response
400ErrorResponseValidation error
401ErrorResponseAuthentication failed

Example request

curl -X GET https://api.simplyrcs.com/v1/analytics/protocols \
  -H 'Authorization: Bearer YOUR_API_KEY'

GET/v1/analytics/bots/{id}/funnel

Get bot funnel analytics

GET https://api.simplyrcs.com/v1/analytics/bots/{id}/funnel · requires an API key

Path parameters

NameTypeDescription
id requiredstring

Query parameters

NameTypeRequiredDescription
startDatestringNoISO date; defaults to 30 days before endDate.
endDatestringNoISO date; defaults to today (UTC).

Responses

StatusReturnsDescription
200AnalyticsBotFunnelResponseSuccessful response
400ErrorResponseValidation error
401ErrorResponseAuthentication failed

Example request

curl -X GET https://api.simplyrcs.com/v1/analytics/bots/{id}/funnel \
  -H 'Authorization: Bearer YOUR_API_KEY'

GET/v1/analytics/bots/{id}

Get bot analytics

GET https://api.simplyrcs.com/v1/analytics/bots/{id} · requires an API key

Path parameters

NameTypeDescription
id requiredstring

Responses

StatusReturnsDescription
200AnalyticsBotSummaryResponseSuccessful response
400ErrorResponseValidation error
401ErrorResponseAuthentication failed

Example request

curl -X GET https://api.simplyrcs.com/v1/analytics/bots/{id} \
  -H 'Authorization: Bearer YOUR_API_KEY'

GET/v1/analytics/blasts/{id}

Get blast analytics

GET https://api.simplyrcs.com/v1/analytics/blasts/{id} · requires an API key

Path parameters

NameTypeDescription
id requiredstring

Query parameters

NameTypeRequiredDescription
granularity"minute" | "hour"NoTimeline bucket size; defaults to hour.

Responses

StatusReturnsDescription
200AnalyticsBlastResponseSuccessful response
400ErrorResponseValidation error
401ErrorResponseAuthentication failed

Example request

curl -X GET https://api.simplyrcs.com/v1/analytics/blasts/{id} \
  -H 'Authorization: Bearer YOUR_API_KEY'

GET/v1/analytics/usage

Get usage analytics

GET https://api.simplyrcs.com/v1/analytics/usage · requires an API key

Query parameters

NameTypeRequiredDescription
startDatestringNoISO date; defaults to 30 days before endDate.
endDatestringNoISO date; defaults to today (UTC).
granularity"day" | "month"NoTime-series bucket size; defaults to day.
brandIdstringNoOptional: narrow usage to a single Brand within the caller org.
campaignIdstringNoOptional: narrow usage to a single Campaign within the caller org.

Responses

StatusReturnsDescription
200AnalyticsUsageResponseSuccessful response
400ErrorResponseValidation error
401ErrorResponseAuthentication failed

Example request

curl -X GET https://api.simplyrcs.com/v1/analytics/usage \
  -H 'Authorization: Bearer YOUR_API_KEY'

POST/v1/analytics/export

Create analytics export

Starts an async CSV export (maximum 3 concurrent exports per organization; 429 when exceeded). Poll the returned downloadUrl: it responds 409 EXPORT_PENDING while the file is still being written.

POST https://api.simplyrcs.com/v1/analytics/export · requires an API key

Request body

AnalyticsExportRequest · optional

Responses

StatusReturnsDescription
200AnalyticsExportResponseSuccessful response
400ErrorResponseValidation error
401ErrorResponseAuthentication failed

Example request

curl -X POST https://api.simplyrcs.com/v1/analytics/export \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{ "name": "Example request" }'

GET/v1/analytics/export/{id}/download

Download analytics export

Downloads the generated export as a CSV attachment. Responds 409 EXPORT_PENDING while the export is still processing and 404 once it expires.

GET https://api.simplyrcs.com/v1/analytics/export/{id}/download · requires an API key

Path parameters

NameTypeDescription
id requiredstring

Responses

StatusReturnsDescription
200CSV file stream
401ErrorResponseAuthentication failed
404ErrorResponseExport not found or expired
409ErrorResponseExport is still processing

Example request

curl -X GET https://api.simplyrcs.com/v1/analytics/export/{id}/download \
  -H 'Authorization: Bearer YOUR_API_KEY'

GET/v1/analytics/reports

List analytics reports

GET https://api.simplyrcs.com/v1/analytics/reports · requires an API key

Responses

StatusReturnsDescription
200AnalyticsReportListResponseSuccessful response
400ErrorResponseValidation error
401ErrorResponseAuthentication failed

Example request

curl -X GET https://api.simplyrcs.com/v1/analytics/reports \
  -H 'Authorization: Bearer YOUR_API_KEY'

POST/v1/analytics/reports

Create analytics report

Creates a scheduled email report (maximum 5 per organization). Weekly reports require dayOfWeek (0-6); monthly reports require dayOfMonth (1-28).

POST https://api.simplyrcs.com/v1/analytics/reports · requires an API key

Request body

AnalyticsReportCreateRequest · optional

Responses

StatusReturnsDescription
201AnalyticsReportResponseSuccessful response
400ErrorResponseValidation error
401ErrorResponseAuthentication failed

Example request

curl -X POST https://api.simplyrcs.com/v1/analytics/reports \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{ "name": "Example request" }'

PATCH/v1/analytics/reports/{id}

Update analytics report

PATCH https://api.simplyrcs.com/v1/analytics/reports/{id} · requires an API key

Path parameters

NameTypeDescription
id requiredstring

Request body

AnalyticsReportUpdateRequest · optional

Responses

StatusReturnsDescription
200objectSuccessful response
400ErrorResponseValidation error
401ErrorResponseAuthentication failed

Example request

curl -X PATCH https://api.simplyrcs.com/v1/analytics/reports/{id} \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{ "name": "Example request" }'

DELETE/v1/analytics/reports/{id}

Delete analytics report

DELETE https://api.simplyrcs.com/v1/analytics/reports/{id} · requires an API key

Path parameters

NameTypeDescription
id requiredstring

Responses

StatusReturnsDescription
204Report deleted
401ErrorResponseAuthentication failed
404ErrorResponseReport not found

Example request

curl -X DELETE https://api.simplyrcs.com/v1/analytics/reports/{id} \
  -H 'Authorization: Bearer YOUR_API_KEY'

GET/v1/analytics/top

Get dashboard top performers

GET https://api.simplyrcs.com/v1/analytics/top · requires an API key

Responses

StatusReturnsDescription
200AnalyticsTopResponseSuccessful response
400ErrorResponseValidation error
401ErrorResponseAuthentication failed

Example request

curl -X GET https://api.simplyrcs.com/v1/analytics/top \
  -H 'Authorization: Bearer YOUR_API_KEY'

GET/v1/reports/messages

Export customer-scoped MO messages and MDR delivery receipts

Returns customer-safe message report rows scoped to the API key organization. Use `format=csv` to download the same fields as a CSV. Backend provider names, DCA names, provider message IDs, and internal routing identifiers are not exposed.

GET https://api.simplyrcs.com/v1/reports/messages · requires an API key

Query parameters

NameTypeRequiredDescription
kind"all" | "mo" | "mdr"NoReport slice. Use mdr for delivery receipts and mo for inbound mobile-originated messages.
startstringNo
endstringNo
channel"RCS" | "SMS" | "MMS" | "WA"No
actualChannel"RCS" | "SMS" | "MMS" | "WA"No
statusstringNo
senderIdstringNo
carrierstringNo
brandstringNo
programIdstringNoInternal Campaign.id exposed as the customer-facing program identifier.
campaignstringNo
fallback"primary" | "fallback"No
sort"createdAt" | "receiptAt" | "direction" | "channel" | "actualChannel" | "fallbackReason"No
dir"asc" | "desc"No
limitintegerNo
format"json" | "csv"No

Responses

StatusReturnsDescription
200MessageReportResponseSuccessful response
400ErrorResponseValidation error
401ErrorResponseAuthentication failed

Example request

curl -X GET https://api.simplyrcs.com/v1/reports/messages \
  -H 'Authorization: Bearer YOUR_API_KEY'