Support · Contact · Legal
Verified RCS · SMS · MMS · Log in
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 194 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 $SIMPLYRCS_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 $SIMPLYRCS_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 $SIMPLYRCS_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 $SIMPLYRCS_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 $SIMPLYRCS_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 $SIMPLYRCS_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 $SIMPLYRCS_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 $SIMPLYRCS_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 $SIMPLYRCS_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 $SIMPLYRCS_API_KEY"

POST/v1/analytics/export

Create analytics export

With Accept: text/csv, returns the completed CSV in this request (no process-local download ID). Otherwise starts the legacy async export and returns a one-hour downloadUrl; GET may return 409 while pending or 404 after expiry, restart or replica switch. Maximum 3 concurrent exports per organization per API process; 429 when exceeded.

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

Request body

AnalyticsExportRequest · optional

Responses

StatusReturnsDescription
200AnalyticsExportResponseCompleted CSV (Accept: text/csv) or legacy asynchronous export metadata
400ErrorResponseValidation error
401ErrorResponseAuthentication failed
429ErrorResponseMaximum concurrent exports exceeded
500ErrorResponseExport generation failed

Example request

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

The body in this sample is the spec’s placeholder, not a real payload: send the request body type named above with the fields for this operation.

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 $SIMPLYRCS_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 $SIMPLYRCS_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 $SIMPLYRCS_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{ "name": "Example request" }'

The body in this sample is the spec’s placeholder, not a real payload: send the request body type named above with the fields for this operation.

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 $SIMPLYRCS_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{ "name": "Example request" }'

The body in this sample is the spec’s placeholder, not a real payload: send the request body type named above with the fields for this operation.

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 $SIMPLYRCS_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 $SIMPLYRCS_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 $SIMPLYRCS_API_KEY"