Skip to content

Message statistics

messages:list

Displays the list of sent messages.

POST https://api.pushwoosh.com/api/v2/messages:list

Headers
Name
Required
Type
Description
AuthorizationYesStringAPI access token from Pushwoosh Control Panel.
Request parameters
Name
Required
Type
Description
platformsNoArrayMessage platforms. Possible values: "IOS", "ANDROID", "OSX", "WINDOWS", "AMAZON", "SAFARI", "CHROME", "FIREFOX", "IE", "EMAIL", "HUAWEI_ANDROID", "SMS".
date_rangeNoObjectReporting period. date_from and date_to must follow the YYYY-MM-DD format (e.g., "2000-01-01").
campaignNoStringCampaign code.
filtersYesObjectMessage filters.
sourceNoStringMessage source. For example: AB_TEST, API, AUTO_PUSH, CP, CSV, CUSTOMER_JOURNEY, EMAIL_API, EMAIL_CP, GEO_ZONE, PUSH_ON_EVENT, RSS..
messages_codesNoArrayMessage codes obtained from /createMessage API responses.
messages_idsNoArrayMessage IDs obtained from the Message History
paramsNoObjectSpecify whether to show message details and metrics. Set with_details: true to include the "details" object and with_metrics: true to include the "metrics" object in the response.
applicationYesStringPushwoosh application code.
per_pageNoIntegerNumber of results per page (≤ 1000).
pageNoIntegerPage number for pagination.
Example request
{
"request": {
"filters": {
"platforms": [], // IOS, ANDROID, OSX, WINDOWS, AMAZON, SAFARI, CHROME, FIREFOX, IE, EMAIL, HUAWEI_ANDROID, SMS
"date_range": {
"date_from": "string", // Required format: 2000-01-01
"date_to": "string" // Required format: 2000-01-01
},
"source": "API", // AB_TEST, API, AUTO_PUSH, CP, CSV, CUSTOMER_JOURNEY, EMAIL_API, EMAIL_CP, GEO_ZONE, PUSH_ON_EVENT, RSS
"campaign": "string", // Campaign code
"messages_ids": [], // Message IDs
"messages_codes": [], // Message codes
"application": "string" // Pushwoosh application code
},
"params": {
"with_details": true, // Add message details to the response ("details" object)
"with_metrics": true // Add message metrics to the response ("metrics" object)
},
"per_page": 20, // <= 1000
"page": 0
}
}
Response codes and examples
{
"total": 0,
"items": [{
"id": 0,
"code": "string",
"created_date": "string",
"send_date": "string",
"status": "string",
"platforms": [],
"source": "string",
"push_info": {
"details": {
"title": "string",
"filter_name": "string",
"filter_code": "string",
"content": {
"key": "value"
},
"platform_parameters": {
"android_header": "string",
"android_root_params": {
"key": "value"
},
"ios_title": "string",
"ios_subtitle": "string",
"ios_root_params": {
"key": "value"
},
"chrome_header": "string",
"chrome_root_params": {
"key": "value"
},
"firefox_header": "string",
"firefox_root_params": {
"key": "value"
},
"conditions": [ // tag conditions (see /developer/api-reference/messages-api/#tag-conditions)
TAG_CONDITION1,
TAG_CONDITION2,
...,
TAG_CONDITIONN
],
"conditions_operator": "AND", // logical operator for conditions arrays; possible values: AND, OR
"data": {
"key": "value"
}
},
"follow_user_timezone": true
},
"metrics": [{
"sends": 0,
"opens": 0,
"deliveries": 0,
"inbox_opens": 0,
"unshowable_sends": 0,
"errors": 0,
"platform": 0
}]
},
"email_info": {
"details": {
"template": "string",
"filter_name": "string",
"filter_code": "string",
"subject": {
"key": "value"
},
"from_name": "string",
"from_email": "string",
"reply_name": "string",
"reply_email": "string",
"follow_user_timezone": true,
"conditions": [ // tag conditions (see developer/api-reference/messages-api/#tag-conditions)
TAG_CONDITION1,
TAG_CONDITION2,
...,
TAG_CONDITIONN
],
"conditions_operator": "AND" // logical operator for conditions arrays; possible values: AND, OR
},
"metrics": [{
"sends": 0,
"opens": 0,
"deliveries": 0,
"hard_bounces": 0,
"soft_bounces": 0,
"rejects": 0,
"confirmed_sends": 0,
"unsubs": 0,
"complaints": 0,
"errors": 0
}]
}
}]
}

totalsByIntervals

Returns metrics and conversion data based on the message code, aggregated by hour.

POST https://api.pushwoosh.com/api/v2/statistics/messages/totalsByIntervals

Authorization

Authorization is handled via the API Access Token in the request header.

Request parameters
Parameter Name
Type
DescriptionRequired
message_codestringMessage code obtained from /createMessage API responses.Yes
platforms[int]PlatformsNo
Request example
{
"message_code": "XXXXX-XXXXXXXXX-XXXXXXXX", // required. Unique message identifier
"platforms": [1, 3, 7, 10, 11, 12] // optional. List of platform codes
}
Response fields
NameTypeDescription
metricsarrayContains an array of message metrics
timestampstringThe time of the metric.
platformintThe platform code (e.g., iOS, Android).
sendsstringThe number of sent messages.
opensstringThe number of opened messages.
deliveriesstringThe number of delivered messages.
inbox_opensstringThe number of inbox opens.
unshowable_sendsstringThe number of sent messages that could not be shown.
errorsstringThe number of errors.
conversionobjectContains conversion data
sendsstringThe total number of sent messages.
opensstringThe total number of opened messages.
eventsarrayAn array of events with their statistics
namestringThe name of the event (e.g., cart add).
hitsstringThe number of hits.
conversionfloatThe conversion rate relative to opens.
revenuefloatThe revenue (only for events with __amount and __currency attributes).
Response example
{
"metrics": [{
"timestamp": "2024-08-03 15:00:00", // Timestamp of the metrics in "YYYY-MM-DD HH:MM:SS" format
"platform": 3, // Platform code
"sends": "55902", // Number of messages sent
"opens": "382", // Number of messages opened
"deliveries": "22931", // Number of messages delivered
"inbox_opens": "0", // Number of messages opened in the inbox
"unshowable_sends": "2", // Number of messages that couldn't be shown
"errors": "0" // Number of errors encountered
}],
"conversion": {
"sends": "55902", // Total number of messages sent
"opens": "772", // Total number of messages opened
"events": [{
"name": "cart_add", // Name of the event
"hits": "96", // Number of hits for the event
"conversion": 0.12, // Conversion rate relative to opens
"revenue": 0 // Revenue generated by the event (only for events with amount/currency attributes)
}]
}
}

getMessageLog

Displays detailed information about the messages sent.

POST https://api.pushwoosh.com/api/v2/statistics/getMessageLog

Headers
Name
Required
Type
Description
AuthorizationRequiredStringAPI access token from Pushwoosh Control Panel.
Request body parameters
Name
Required/Optional
Type
Description
message_idOptionalIntegerSelect messages events by Message ID obtained from message history. Example: 12345678900.
message_codeOptionalStringSelect messages events by Message Code obtained from /createMessage API responses. Example: "A444-AAABBBCC-00112233".
campaign_codeOptionalStringSelect messages events by Campaign Code specified in your message payload. Example: "AAAAA-XXXXX".
hwidOptionalString or ArraySelect messages events by HWID (Hardware ID) or an array of HWIDs.
date_fromRequired if message_id, message_code, or campaign_code is not providedDatetimeStart date for filtering messages. Format: "YYYY-MM-DD HH:MM:SS". Example: "2000-01-25 00:00:00".
date_toRequired if message_id, message_code, or campaign_code is not providedDatetimeEnd date for filtering messages. Format: "YYYY-MM-DD HH:MM:SS". Example: "2000-01-26 00:00:00".
limitOptionalIntegerMaximum number of message events returned in a single response. Maximum value: 100000.
pagination_tokenOptionalStringPagination token obtained from a previous /getMessageLog response. Use it to retrieve additional results.
user_idOptionalStringSelect messages events by a custom User ID. See /registerUser for more details.
application_codeRequiredStringSelect messages events by Pushwoosh application code.
actionsOptionalArrayFilter results by specific message actions. Possible values: "sent", "delivered", "opened", "inbox_delivered", "inbox_read", "inbox_opened", "inbox_deleted".
platformsOptionalArrayArray of target platforms to filter results. Possible values: "ios", "android", "osx", "windows", "amazon", "safari", "chrome", "firefox", "ie", "email", "huawei_android".
Example request
{
"request": {
"pagination_token": "PAGINATION_TOKEN_FROM_PREVIOUS_RESPONSE", // Optional, token for pagination
"limit": 1000, // Optional, max number of entries per response (≤ 100000)
"application_code": "XXXXX-XXXXX", // Required, Pushwoosh app code
"message_code": "A444-AAABBBCC-00112233", // Optional, message code from /createMessage request
"message_id": 1234567890, // Optional, message ID from Pushwoosh Control Panel
"campaign_code": "AAAAA-XXXXX", // Optional, campaign code used in the message
"hwid": "aaazzzqqqqxxx", // Optional, hardware ID of a targeted device
"user_id": "user_123", // Optional, user ID of a targeted user
"date_from": "2000-01-25 00:00:00", // Optional, start of the stats period (format: YYYY-MM-DD HH:MM:SS)
"date_to": "2000-02-10 23:59:59", // Optional, end of the stats period (format: YYYY-MM-DD HH:MM:SS)
"actions": ["opened", "inbox_opened"], // Optional, filter by actions. Possible values: "sent", "opened", "delivered", "inbox_delivered", "inbox_read", "inbox_opened", "inbox_deleted"
"platforms": ["ios", "chrome"] // Optional, filter by platform. Possible values: "ios", "android", "osx", "windows", "amazon", "safari", "chrome", "firefox", "ie", "email", "huawei android"
}
}
Response codes and examples
{
"pagination_token": "PAGINATION_TOKEN_FOR_NEXT_REQUEST",
"data": [{
"timestamp": "2000-01-25T11:18:47Z",
"application_code": "XXXXX-XXXXX",
"message_id": 12345678900,
"message_code": "A444-AAABBBCC-00112233",
"campaign_code": "AAAAA-XXXXX",
"hwid": "aaazzzqqqqxxx",
"user_id": "user_123",
"platform": "android",
"action": "sent",
"status": "success",
"push_alerts_enabled": "true"
}, {
"timestamp": "2000-01-25T11:18:49Z",
"application_code": "XXXXX-XXXXX",
"message_id": 12345678900,
"message_code": "A444-AAABBBCC-00112233",
"campaign_code": "AAAAA-XXXXX",
"hwid": "aaazzzqqqqxxx",
"user_id": "user_123",
"platform": "android",
"action": "delivered",
"push_alerts_enabled": "true"
}, {
"timestamp": "2000-01-25T11:19:23Z",
"application_code": "XXXXX-XXXXX",
"message_id": 12345678900,
"message_code": "A444-AAABBBCC-00112233",
"campaign_code": "AAAAA-XXXXX",
"hwid": "aaazzzqqqqxxx",
"user_id": "user_123",
"platform": "android",
"action": "opened",
"push_alerts_enabled": "true"
}]
}

Email statistics

linksInteractions

Displays statistics on link clicks in emails

POST https://api.pushwoosh.com/api/v2/statistics/emails/linksInteractions

Headers
Name
RequiredTypeDescription
AuthorizationYesStringAPI access token from Pushwoosh Control Panel.
Request parameters
Name
RequiredTypeDescription
date_rangeNoObjectDefines the reporting period. Contains date_from and date_to.
filtersYesObjectEmail filters.
applicationYesStringPushwoosh application code (alternatively, specify campaign, messages_ids, or message_codes).
messages_codesYesArrayMessage codes (alternatively, specify application, campaign, or messages_ids).
campaignYesStringCampaign code (alternatively, specify application, messages_ids, or message_codes).
messages_idsYesArrayMessage IDs (alternatively, specify application, campaign, or message_codes).
link_templateYesStringRequired if application or campaign is specified. Defines the link template for tracking.
emai_content_codeNoStringUnique identifier for the email content.
paramsNoObjectDefines additional response options. Includes with_full_links, which adds a list of full links with statistics.
Request example
{
"request": {
"filters": {
"date_range": {
"date_from": "string", // Required format: YYYY-MM-DD (e.g., "2000-01-01")
"date_to": "string" // Required format: YYYY-MM-DD (e.g., "2000-01-01")
},
"campaign": "string", // Campaign code (alternatively, specify application, messages_ids, or message_codes)
"application": "string", // Application code (alternatively, specify campaign, messages_ids, or message_codes)
"messages_ids": [], // Message IDs (alternatively, specify application, campaign, or message_codes)
"messages_codes": [], // Message codes (alternatively, specify application, campaign, or messages_ids)
"link_template": "string", // Link template (required if application or campaign is specified)
"emai_content_code": "string" // Unique identifier for the email content.
},
"params": {
"with_full_links": true // If true, includes full links with statistics in the response.
}
}
}
Response codes and examples
{
"items": [{
"template": "string",
"link": "string",
"title": "string",
"clicks": 0,
"full_links": [{
"full_link": "string",
"clicks": 0
}]
}]
}

linksInteractionsDevices

Shows users who clicked on links in emails

POST https://api.pushwoosh.com/api/v2/statistics/emails/linksInteractionsDevices

Headers
Name
RequiredTypeDescription
AuthorizationYesStringAPI access token from the Pushwoosh Control Panel.

Request parameters
Name
RequiredTypeDescription
date_rangeNoObjectDefines the reporting period. Contains date_from and date_to.
filtersYesObjectEmail filters.
applicationYesStringPushwoosh application code (alternatively, specify campaign, messages_ids, or message_codes).
messages_codesYesArrayMessage codes (alternatively, specify application, campaign, or messages_ids).
campaignYesStringCampaign code (alternatively, specify application, messages_ids, or message_codes).
messages_idsYesArrayMessage IDs (alternatively, specify application, campaign, or message_codes).
link_templateYesStringRequired if application or campaign is specified. Defines the link template for tracking.
emai_content_codeNoStringUnique identifier for the email content.
pageNoIntegerPage number for pagination.
per_pageNoIntegerNumber of results per page (≤ 1000).
Request example
{
"request": {
"filters": {
"date_range": {
"date_from": "string", // Required format: YYYY-MM-DD (e.g., "2000-01-01")
"date_to": "string" // Required format: YYYY-MM-DD (e.g., "2000-01-01")
},
"campaign": "string", // Campaign code (alternatively, specify application, messages_ids, or message_codes)
"application": "string", // Application code (alternatively, specify campaign, messages_ids, or message_codes)
"messages_ids": [], // Message IDs (alternatively, specify application, campaign, or message_codes)
"messages_codes": [], // Message codes (alternatively, specify application, campaign, or messages_ids)
"link_template": "string", // Link template (required if application or campaign is specified)
"emai_content_code": "string" // Unique identifier for the email content.
},
"per_page": 100, // Number of results per page (≤ 1000)
"page": 0 // Page number for pagination
}
}
Response codes and examples
{
"total": 0,
"items": [{
"timestamp": "string",
"link": "string",
"hwid": "string"
}]
}

bouncedEmails

POST https://api.pushwoosh.com/api/v2/statistics/emails/bouncedEmails

Provides data on email complaints, soft bounces, and hard bounces, including the date, email address, and reason for each bounce.

Authorization

Authorization is handled via the API Access Token in the request header.

Request parameters
Parameter NameTypeDescriptionRequired
applicationstringThe application code.Yes
message_codestringThe message code.Required if date range or campaign is not provided
campaignstringThe campaign code.Required if message_code or date range is not provided
date_fromstringThe start date for the data in the format YYYY-MM-DDTHH:MM:SS.000Z (ISO 8601 standard).Required if message_code or campaign is not provided
date_tostringThe end date for the data in the format YYYY-MM-DDTHH:MM:SS.000Z (ISO 8601 standard).Required if message_code or campaign is not provided
per_pageintThe number of rows per page, maximum 5000.Yes
pageintThe page number, starting from zero.Yes
typestringThe type of bounce: Complaint, Softbounce, Hardbounce.No
Request example
{
"application": "XXXXX-XXXXX", // required. Pushwoosh app code
"message_code": "XXXXX-XXXXXXXXX-XXXXXXXX", // required if campaign or date range is not provided.
// Unique message identifier
"campaign": "XXXXX-XXXXX", // required if message_code or date range is not provided.
// Campaign code
"date_from": "2024-07-20T00:00:00.000Z", // required if message_code or campaign is not provided.
// Start date in ISO 8601 format "YYYY-MM-DDTHH:MM:SS.SSSZ"
"date_to": "2024-07-20T00:00:00.000Z", // required if message_code or campaign is not provided.
// End date in ISO 8601 format "YYYY-MM-DDTHH:MM:SS.SSSZ"
"per_page": 1000, // required. Number of results per page, maximum 5000
"page": 5, // optional. Page number, starting from zero
"type": "Softbounce" // optional. The type of bounce: Complaint, Softbounce, Hardbounce
}
Response fields
Field NameTypeDescription
totalintThe total count of rows.
bounced_emailsarrayAn array of bounced email details.
├── emailstringThe email address that bounced.
├── datestringThe date of the bounce (format: YYYY-MM-DDTHH:MM:SS.000Z).
├── reasonstringThe reason for the bounce.
└── typestringThe type of bounce: Complaint, Softbounce, Hardbounce.
Response example
{
"total": 25, // Total count of rows.
"bounced_emails": [{
"email": "example@example.com", // Email address that bounced
"date": "2024-07-20T00:00:00.000Z", // Bounce date in ISO 8601 format
"reason": "Invalid recipient address", // Reason for the bounce
"type": "Hardbounce" // Type of bounce: Complaint, Softbounce, Hardbounce
}]
}