/createMessage parameters
Here youâll find the descriptions of the /createMessage
API parameters. Required parameters provide successful posting a /createMessage
API request and sending a broadcast push notification at the specified time. Optional parameters allow you to customize push notificationâs properties deeply.
Required parameters
Section titled âRequired parametersâRequired parameters are obligatory to use in /createMessage
requests. Otherwise, the request wonât be submitted.
application
Section titled âapplicationâUnique code of an app created in your Pushwoosh account. App code can be found at the top left corner of the Control Panel or in response to a /createApplication
request. The app code is a hyphen-separated set of 10 characters (both letters and digits).

When creating an app via the API, youâll get an app code in response to your /createApplication
request.
To obtain a code of a previously created app via the API, call /getApplications
. In response to the /getApplications
request, youâll receive the list of all apps created in your Pushwoosh account with their names and codes.
API access token from Pushwoosh Control Panel. Go to Settings â API Access and copy a token youâd like to use or generate a new one.

When generating an access token, specify its permissions. Check the checkboxes for those types of activities youâre going to use the API token with. You can create app-specific API tokens by checking the Applications checkboxes.

content
Section titled âcontentâA string or an object to define a messageâs content. The âcontentâ parameter submitted with a string type value will send the same message for all recipients.
"content": "Hello world!",
JSON objects are used for specifying content using Dynamic Content, for example, for multi-language messages.
"content": { "en": "Hello!", "es": "ÂĄHola!", "de": "Hallo!"},
notifications
Section titled ânotificationsâA JSON array of push properties. Must include at least the âcontentâ and the âsend_dateâ required params.
Optional parameters to use within the ânotificationsâ array:
- campaign
- capping_days
- capping_count
- conditions
- data
- devices
- dynamic_content
- filter
- ignore_user_timezone
- inbox_date
- inbox_image
- link
- minimize_link
- platforms
- preset
- rich_media
- send_rate
- timezone
- template_bindings
- transactionId
- users
send_date
Section titled âsend_dateâDate and time on which the message is sent. Could be any date and time formatted as YYYY-MM-DD HH:mm or ânowâ. If set to ânowâ, the message will be sent immediately after submitting the request.
Optional parameters
Section titled âOptional parametersâcampaign
Section titled âcampaignâA code of a Campaign. To obtain a Campaign code, go to Channels â Statistics and select the Campaign youâre going to use. You can find the campaign code at the end of the page URL after campaigns-statistic. It is a hyphen-separated set of 10 characters (both letters and digits).

To obtain a list of Campaigns with their codes, call /getCampaigns
. In response to the /getCampaigns
request, youâll receive the list of all Campaigns created for a particular app in your Pushwoosh account, with their codes, names, and descriptions.
capping_days
Section titled âcapping_daysâPeriod to be applied for frequency capping, in days (max 30 days).
capping_count
Section titled âcapping_countâThe max number of pushes that can be sent from a specific app to a particular device within a âcapping_daysâ period. In case the message created exceeds the âcapping_countâ limit for a device, it wonât be sent to that device.
conditions
Section titled âconditionsâConditions are arrays like [tagName, operator, operand]
used for sending targeted messages based on Tags and their values, where:
- tagName â the name of a tag to apply,
- operator â a value comparison operator (âEQâ | âINâ | âNOTEQâ | âNOTINâ | âLTEâ | âGTEâ | âBETWEENâ | âNOTSETâ | âANYâ),
- operand â Tag values of any of the following types: string | integer | array | date | boolean | list
Operator description
Section titled âOperator descriptionâ- EQ: tag value is equal to operand;
- IN: tag value intersects with operand (operand must always be an array);
- NOTEQ: tag value is not equal to an operand;
- NOTIN: tag value does not intersect with operand (operand must always be an array);
- GTE: tag value is greater than or equal to operand;
- LTE: tag value is less than or equal to operand;
- BETWEEN: tag value is greater than or equal to min operand value but less than or equal to max operand value (operand must always be an array);
- NOTSET: tag is not set. Operand is not considered;
- ANY: tag has any value. Operand is not considered.
String tags
Section titled âString tagsâValid operators: EQ, IN, NOTEQ, NOTIN, NOTSET, ANY
Valid operands:
- EQ, NOTEQ: operand must be a string;
- IN, NOTIN: operand must be an array of strings like
["value 1", "value 2", "value N"]
; - NOTSET: tag is not set. Operand is not considered;
- ANY: tag has any value. Operand is not considered.
Integer tags
Section titled âInteger tagsâValid operators: EQ, IN, NOTEQ, NOTIN, BETWEEN, GTE, LTE, NOTSET, ANY
Valid operands:
- EQ, NOTEQ, GTE, LTE: operand must be an integer;
- IN, NOTIN: operand must be an array of integers like
[value 1, value 2, value N]
; - BETWEEN: operand must be an array of integers like
[min_value, max_value]
; - NOTSET: tag is not set. Operand is not considered;
- ANY: tag has any value. Operand is not considered.
Date tags
Section titled âDate tagsâValid operators: EQ, IN, NOTEQ, NOTIN, BETWEEN, GTE, LTE, NOTSET, ANY
Valid operands:
"YYYY-MM-DD 00:00"
(string)- unix timestamp
1234567890
(integer) "N days ago"
(string) for operators EQ, BETWEEN, GTE, LTE
Boolean tags
Section titled âBoolean tagsâValid operators: EQ, NOTSET, ANY
Valid operands: 0, 1, true, false
List tags
Section titled âList tagsâValid operators: IN, NOTIN, NOTSET, ANY
Valid operands: operand must be an array of strings like ["value 1", "value 2", "value N"]
.
conditions_operator
Section titled âconditions_operatorâLogical operator for conditions arrays. Possible values: AND | OR. AND is default.
If the operator applied is AND (when no operator is specified, or the âconditions_operatorâ param has the âANDâ value), devices simultaneously complying with all the conditions will receive the push notification.
If the operator is OR, devices that comply with any of the specified conditions will receive the message.
JSON string or JSON object used to pass any custom data in the push payload; is passed as âuâ parameter in the payload (converted to JSON string).
devices
Section titled âdevicesâAn array of push tokens or hwids to send targeted push notifications. If set, the message will only be sent to the devices on the list.
dynamic_content
Section titled âdynamic_contentâPlaceholders for Dynamic Content to be used instead of device Tag values. The example below will send the âHello, John!â message to every user you target. If not set, the Dynamic Content values are taken from the device Tags.
"content": "Hello, {firstname|CapitalizeFirst}!","dynamic_content_placeholders": { "firstname": "John", "lastname": "Doe"},
A name of a Segment exactly as itâs created in Pushwoosh Control Panel or via a /createFilter
API request. Go to the Audience â Segments (Filters) section and check the list of Segments created.

To get Segments list via the API, call the /listFilters
API method. In response to the /listFilters
request, youâll receive the list of all Segments created in your Pushwoosh account, with Segmentsâ names, conditions, and expiration dates.
ignore_user_timezone
Section titled âignore_user_timezoneâIf set to âtrueâ, sends the message at the time and date specified in the âsend_dateâ parameter according to UTC-0.
If set to âfalseâ, users will receive the message at the specified local time according to their deviceâs settings.
inbox_date
Section titled âinbox_dateâThe date until which the message should be kept in usersâ Inbox. If not specified, the message will be removed from Inbox on the next day after the sending date.
inbox_image
Section titled âinbox_imageâThe URL of the custom image to be shown near the message in Inbox.
inbox_days
Section titled âinbox_daysâThe lifetime of an inbox message in days, up to 30 days. After this period, the message will be removed from the inbox. Can be used instead of the inbox_date parameter.
The URL to be opened once a user opens a push notification.
minimize_link
Section titled âminimize_linkâShortener to minimize the URL submitted in the âlinkâ parameter. Please note that push notification payload size is limited, so consider creating short URLs not to exceed the limit. Available values: 0 â do not minimize, 2 â bitly. Default = 2. Google URL shortener is disabled since March 30, 2019.
platforms
Section titled âplatformsâAn array of platformsâ codes to send the message to specific platforms only. List of platforms available: Available platform codes include: 1
â iOS, 3
â Android, 7
â Mac OS X, 8
â Windows, 9
â Amazon, 10
â Safari, 11
â Chrome, 12
â Firefox, 14
â Email, 17
â Huawei, 18
â SMS, and 21
â WhatsApp.
A code of a Preset created in Pushwoosh Control Panel or via API. To obtain a preset code, go Content â Presets, expand the preset you are going to use, and copy the Preset Code from presetâs details.

rich_media
Section titled ârich_mediaâA code of a Rich Media page youâre going to attach to your message. To obtain a code, go to Content â Rich Media, open a Rich Media page you are going to use, and copy the code from the URL bar of your browser. The code is a hyphen-separated set of 10 characters (both letters and digits).

send_rate
Section titled âsend_rateâThrottling to restrain the push sending speed. Valid values are from 100 to 1000 pushes/second.
timezone
Section titled âtimezoneâTimezone to be taken into account when the message is sent on a particular date and time. If set, the deviceâs timezone is ignored. If ignored, the message is sent in UTC-0. See https://php.net/manual/timezones.php for supported timezones.
template_bindings
Section titled âtemplate_bindingsâTemplate placeholders to use in your content template. See the Liquid Templates guide for details.
transactionId
Section titled âtransactionIdâUnique message identifier to prevent duplicating messages in case of network problems. You can assign any ID to a message created via the /createMessage
or /createTargetedMessage
request. Stored on the side of Pushwoosh for 5 minutes.
An array of userIds. User ID is a unique user identifier set by a /registerUser
, /registerDevice
, or /registerEmail
API request.