Channel Metrics
Querying Message Metrics
In order to query message metrics you must have a channel and perform a HTTP request to the following endpoints with a valid access key.
Fetch message metrics by channel ID
Retrieve a TimeSeries of metrics for the given FilterType and FilterId
Channel
The Channel ID of the Channel
Platform
Currently Unused
Status
Currently Unused
status
Groups the results by the channel status, such as "queued, sent, delivered" etc.
Fetch message metrics for a platform or channel
The ID of the workspace
The type of message metrics filter
The ID of the filter, being platformId or channelId
POST /workspaces/{workspaceId}/reporting/messages/{filterType}/{filterId}/metrics HTTP/1.1
Host:
Authorization: Bearer jwt
Content-Type: application/json
Accept: */*
Content-Length: 287
{
"periodStart": "2025-07-10T01:20:46.873Z",
"periodEnd": "2025-07-10T01:20:46.873Z",
"periodGroup": "minute",
"select": [
"count"
],
"filterBy": {
"direction": "out",
"status": "accepted",
"messageType": "text",
"channelId": "123e4567-e89b-12d3-a456-426614174000",
"platformId": "text"
},
"groupBy": [
"status"
]
}
{
"periodGroup": "minute",
"dataColumns": [
"messageType"
],
"results": [
{
"periodTime": "2025-07-10T01:20:46.873Z",
"count": 1,
"data": [
"text"
]
}
]
}
Fetch channel metrics using query parameter filters
Fetch channel metrics using various query parameters
The ID of the workspace
The date and time in the format 'YYYY-MM-DDTHH:MM:SSZ' or 'YYYY-MM-DDTHH:MM:SS-HH:MM'.
The date and time in the format 'YYYY-MM-DDTHH:MM:SSZ' or 'YYYY-MM-DDTHH:MM:SS-HH:MM'.
The time grouping of the period for which to fetch metrics. If provided time series will be returned and grouped by this period.
Filter conditions for which to fetch metrics. Each condition is a string in the format of 'equals(field
,value
)'.
Available field-value pairs are
channelID
- UUID, can supply multiple equals conditions for multiple channelIdsplatformID
- string, can supply multiple equals conditions for multiple platforms- Common values are 'sms-messagebird', 'email-sparkpost', 'whatsapp', 'rcs-google'. More are possible and are specified in the summary response for a channel
status
- string, can supply multiple equals conditions for multiple statuses- Allowed values are 'invalid', 'pending', 'setting_up', 'active', 'inactive', 'failed', 'deleted'
name
- string, only one condition allowedmessageType
- string, can supply multiple equals conditions for multiple messageTypes- Allowed values are 'invalid', 'text', 'html', 'image', 'file', 'gif', 'location', 'carousel', 'list', 'section', 'authentication', 'contact', 'template'
direction
- string, only one condition allowed- Allowed values are 'in', 'out', 'unknown'
GET /workspaces/{workspaceId}/reporting/channels/metrics?periodStart=2025-07-10T01%3A20%3A46.873Z HTTP/1.1
Host:
Authorization: Bearer jwt
Accept: */*
[
{
"summary": {
"channelId": "123e4567-e89b-12d3-a456-426614174000",
"channelName": "text",
"channelPlatformId": "text",
"channelStatus": "text",
"messageType": "text",
"direction": "text",
"queued": 1,
"skipped": 1,
"scheduled": 1,
"delivered": 1,
"bounced": 1,
"opened": 1,
"clicked": 1,
"unsubscribed": 1,
"checkoutAbandonedCount": 1,
"orderConfirmedCount": 1,
"formViewedCount": 1,
"formSubmittedCount": 1,
"pageViewedCount": 1,
"productViewedCount": 1,
"attributedRevenue": 1,
"currency": "text"
},
"timeSeries": [
{
"periodDate": "2025-07-10T01:20:46.873Z",
"queued": 1,
"skipped": 1,
"scheduled": 1,
"delivered": 1,
"bounced": 1,
"opened": 1,
"clicked": 1,
"unsubscribed": 1
}
]
}
]
Last updated
Was this helpful?