PUT /push/v1/message/{messageId}

Updates a push message. That request optionally allows you to pass the text of the message to override the message specified in the definition.

NameTypeDescription
messageTypeintegerIndicates the type of message to create using the following integer values: 1 - Outbound (default), 3 - Location Entry, 4 - Location Exit
contentTypeintegerIndicates the content included within the message using the following integer values: 1 - Alert (default), 2 - CloudPage, 3 - Alert+CloudPage
namestringString value indicating the name of the message. Must use 100 or less characters.
applicationarrayApp used to send message
application.idstringThe ID of the application
application.namestringThe name of the application
alertstringMessage displayed on the mobile device
soundstringUsed to override the value on the push message definition. Indicates the sound file to play when the push message arrives on the mobile device. Name must include 100 or less characters.
badgeintegerFor iOS SDK version 4.9.5 and newer: Overrides the value on the push message definition. Badge count displays this number in a badge on the app and increments this number by one for each new unread message. For older iOS SDK versions: Overrides the value on the push message definition. Badge count does not increment.
content-availableintegerInteger value indicating the availability of content for an application enabled to use background push. Set this value to 1 to indicate available content. This parameter applies only to apps integrated with the background push functionality available in iOS. Note that you can use background push functionality in all apps with iOS 7 and Newsstand apps in iOS 6.
openDirectstringUsed to override the value on the push message definition. This value determines the location within the app that an app user views when they open that app via a push message. Assigned values must include 15 or less characters.
keysarrayUsed to override the value on the push message definition. An array of Key/Value pairs that correspond to customer values defined in MobilePush.
customarraySpecify the actual request body of the push message to precisely align that request body to your specifications.
sendInitiatorintegerIndicates the method used to initiate the send for a push message using the following integer values: 0 - UI-based send, 1 - API (default), 2 - Automation, 3 - Journey Builder
startDatedateDate value indicating the time when the message becomes available for sends. Uses a default value of the message creation time.
messagesPerPeriodintegerInteger value indicating the number of messages that can send during a specified time period. Use only when sendInitiator value equals 0.
minutesPerPeriodintegerInteger value indicating the number of minutes included in a specified time period. Use only when sendInitiator value equals 0.
numberOfPeriodsintegerIndicates the time span of the period using the following integer values: 1 - Year, 2 - Month, 3 - Week, 4 - Day, 5 - Hour
isRollingPeriodbooleanBoolean value indicating whether the limit resets after a rolling time period window or ends at a specified time
messageLimitintegerInteger values indicating the total number of times a messages displays on a mobile device
titlestringThe title to be used in place of the message's original title.
subtitlestringThe subtitle to be used in place of the message's original subtitle.
mutable-contentbooleanIf true, rich push functionality is enabled for the message.
tzBasedbooleanBoolean value indicating whether a send occurs based on the specified time zone for a mobile device. Uses a default value of false. Use only when sendInitiator value equals 0.
tzPastSendActionstringIndicates the action to perform when a time-zone-based send occurs and that send time already passed for some time zones. Uses the following string values: 1 - Send immediately (default), 2 - Send at scheduled time, next day, 3 - Never send
scheduleTzOffsetintegerInteger value indicating the time zone offset. Uses a default value of -6.
scheduledTzSupportsDstbooleanBoolean value indicating whether the scheduled time zone supports Daylight Savings Time. Uses a default value of false.
inclusionListsarrayArray of list ID values indicating the lists that will receive the send. Use only when sendInitiator value equals 0.
exclusionListsarrayArray of list ID values indicating the lists excluded from receiving the send. Use only when sendInitiator value equals 0.
statusintegerIndicates the status of the message using the following integer values: 1 - Draft, 2 - Active (default), 3 - Inactive, 4 - Deleted
pageIdintegerInteger values indicating the page associated with the message for CloudPage and Alert+CloudPage sends
urlstringString value indicating the URL for the page associated with the message for CloudPage and Alert+CloudPage sends
subjectstringString value indicating the subject line used for the message
geofencesarrayArray of string values indicating the geofences associated with the message send. Use only when sendInitiator value equals 0.

You don't have to include all values for the message, but you must ensure that any updates to the existing message provide all required parameters for the message. Use the following information as a reference:

  • messageType
  • contentType
  • name
  • application
  • alert
  • sound
  • badge
  • content-available
  • openDirect
  • keys
  • custom
  • sendInitiator
  • startDate
  • messagesPerPeriod
  • minutesPerPeriod
  • tzBased
  • tzPastSendAction
  • scheduledTzOffset
  • scheduledTzSupportsDst
  • inclusionLists
  • exclusionLists
  • status
  • messageType
  • contentType
  • name
  • application
  • keys
  • custom
  • sendInitiator
  • startDate
  • messagesPerPeriod
  • minutesPerPeriod
  • tzBased
  • tzPastSendAction
  • scheduledTzOffset
  • scheduledTzSupportsDst
  • inclusionLists
  • exclusionLists
  • status
  • pageId
  • url
  • subject
  • messageType
  • contentType
  • name
  • application
  • alert
  • sound
  • badge
  • content-available
  • openDirect
  • keys
  • custom
  • sendInitiator
  • startDate
  • messagesPerPeriod
  • minutesPerPeriod
  • tzBased
  • tzPastSendAction
  • scheduledTzOffset
  • scheduledTzSupportsDst
  • inclusionLists
  • exclusionLists
  • status
  • pageId
  • url
  • messageType
  • contentType
  • name
  • application
  • alert
  • sound
  • badge
  • openDirect
  • keys
  • custom
  • sendInitiator
  • startDate
  • messagesPerPeriod
  • numberOfPeriods
  • periodType
  • isRollingPeriod
  • messageLimit
  • scheduledTzOffset
  • scheduledTzSupportsDst
  • geofences
  • status
  • messageType
  • contentType
  • name
  • application
  • alert
  • sound
  • badge
  • keys
  • custom
  • sendInitiator
  • startDate
  • messagesPerPeriod
  • numberOfPeriods
  • periodType
  • isRollingPeriod
  • messageLimit
  • scheduledTzOffset
  • scheduledTzSupportsDst
  • geofences
  • status
  • pageId
  • url

Example Request

Example Response

If the request includes invalid values, the API returns a 400 response with details on the error.