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

Filter Types
Filter ID

Channel

The Channel ID of the Channel

Platform

Currently Unused

Status

Currently Unused

Group By
Notes

status

Groups the results by the channel status, such as "queued, sent, delivered" etc.

Fetch message metrics

post

Fetch message metrics for a platform or channel

Authorizations
Path parameters
workspaceIdstring · uuidRequired

The ID of the workspace

filterTypestring · enumRequired

The type of message metrics filter

Possible values:
filterIdstringRequired

The ID of the filter, being platformId or channelId

Body
periodStartstring · date-timeRequired
periodEndstring · date-timeRequired
periodGroupstring · enumRequiredPossible values:
Responses
200
List of results
application/json
post
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

get

Fetch channel metrics using various query parameters

Authorizations
Path parameters
workspaceIdstring · uuidRequired

The ID of the workspace

Query parameters
periodStartstring · date-timeRequired

The date and time in the format 'YYYY-MM-DDTHH:MM:SSZ' or 'YYYY-MM-DDTHH:MM:SS-HH:MM'.

periodEndstring · date-timeOptional

The date and time in the format 'YYYY-MM-DDTHH:MM:SSZ' or 'YYYY-MM-DDTHH:MM:SS-HH:MM'.

periodGroupstring · enumOptional

The time grouping of the period for which to fetch metrics. If provided time series will be returned and grouped by this period.

Possible values:
filterstringOptional

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 channelIds
  • platformID - 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 allowed
  • messageType - 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'
Responses
200
List of results
application/json
get
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?