Journey - Amazon Pinpoint

Journey

A journey is an automated workflow that performs a series of messaging activities for an Amazon Pinpoint application. Each activity is a customizable component that specifies what causes the activity to occur, when the activity occurs, what the activity does, and which users the activity applies to. The paths and relationships between activities vary based on conditions and criteria that you define, such as specific user attributes and events.

The Journey resource represents an individual journey that's associated with an Amazon Pinpoint application. The information represented by this resource includes settings for the activities that comprise a journey, settings for the segments that define which users participate in journey activities, the messages that a journey sends, and the schedule that defines when a journey runs.

You can use this resource to retrieve information about, update, or delete a journey. To create a journey, use the Journeys resource.

URI

/v1/apps/application-id/journeys/journey-id

HTTP methods

GET

Operation ID: GetJourney

Retrieves information about the status, configuration, and other settings for a journey.

Path parameters
NameTypeRequiredDescription
journey-idStringTrue

The unique identifier for the journey.

application-idStringTrue

The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

Header parameters
NameTypeRequiredDescription
acceptStringFalse

Indicates which content types, expressed as MIME types, the client understands.

Responses
Status codeResponse modelDescription
200JourneyResponse

The request succeeded.

400MessageBody

The request contains a syntax error (BadRequestException).

403MessageBody

The request was denied because access to the specified resource is forbidden (ForbiddenException).

404MessageBody

The request failed because the specified resource was not found (NotFoundException).

405MessageBody

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

413MessageBody

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

429MessageBody

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

500MessageBody

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

PUT

Operation ID: UpdateJourney

Updates the configuration and other settings for a journey.

Path parameters
NameTypeRequiredDescription
journey-idStringTrue

The unique identifier for the journey.

application-idStringTrue

The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

Header parameters
NameTypeRequiredDescription
acceptStringFalse

Indicates which content types, expressed as MIME types, the client understands.

Responses
Status codeResponse modelDescription
200JourneyResponse

The request succeeded.

400MessageBody

The request contains a syntax error (BadRequestException).

403MessageBody

The request was denied because access to the specified resource is forbidden (ForbiddenException).

404MessageBody

The request failed because the specified resource was not found (NotFoundException).

405MessageBody

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

409MessageBody

The request failed due to a conflict with the current state of the specified resource (ConflictException).

413MessageBody

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

429MessageBody

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

500MessageBody

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

DELETE

Operation ID: DeleteJourney

Deletes a journey from an application.

Path parameters
NameTypeRequiredDescription
journey-idStringTrue

The unique identifier for the journey.

application-idStringTrue

The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

Header parameters
NameTypeRequiredDescription
acceptStringFalse

Indicates which content types, expressed as MIME types, the client understands.

Responses
Status codeResponse modelDescription
200JourneyResponse

The request succeeded.

400MessageBody

The request contains a syntax error (BadRequestException).

403MessageBody

The request was denied because access to the specified resource is forbidden (ForbiddenException).

404MessageBody

The request failed because the specified resource was not found (NotFoundException).

405MessageBody

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

413MessageBody

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

429MessageBody

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

500MessageBody

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

OPTIONS

Retrieves information about the communication requirements and options that are available for the Journey resource.

Path parameters
NameTypeRequiredDescription
journey-idStringTrue

The unique identifier for the journey.

application-idStringTrue

The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

Responses
Status codeResponse modelDescription
200None

The request succeeded.

Schemas

Request bodies

{ "Name": "string", "Schedule": { "StartTime": "string", "EndTime": "string", "Timezone": "string" }, "StartCondition": { "Description": "string", "EventStartCondition": { "EventFilter": { "Dimensions": { "EventType": { "DimensionType": enum, "Values": [ "string" ] }, "Attributes": { }, "Metrics": { } }, "FilterType": enum }, "SegmentId": "string" }, "SegmentStartCondition": { "SegmentId": "string" } }, "Limits": { "DailyCap": integer, "TotalCap": integer, "TimeframeCap": { "Days": integer, "Cap": integer }, "MessagesPerSecond": integer, "EndpointReentryCap": integer, "EndpointReentryInterval": "string" }, "StartActivity": "string", "Activities": { }, "RefreshFrequency": "string", "QuietTime": { "Start": "string", "End": "string" }, "WaitForQuietTime": boolean, "SendingSchedule": boolean, "OpenHours": { "EMAIL": { }, "SMS": { }, "PUSH": { }, "VOICE": { }, "CUSTOM": { } }, "ClosedDays": { "EMAIL": [ { "Name": "string", "StartDateTime": "string", "EndDateTime": "string" } ], "SMS": [ { "Name": "string", "StartDateTime": "string", "EndDateTime": "string" } ], "PUSH": [ { "Name": "string", "StartDateTime": "string", "EndDateTime": "string" } ], "VOICE": [ { "Name": "string", "StartDateTime": "string", "EndDateTime": "string" } ], "CUSTOM": [ { "Name": "string", "StartDateTime": "string", "EndDateTime": "string" } ] }, "RefreshOnSegmentUpdate": boolean, "LocalTime": boolean, "CreationDate": "string", "LastModifiedDate": "string", "State": enum, "TimezoneEstimationMethods": [ enum ] }

Response bodies

{ "Name": "string", "Schedule": { "StartTime": "string", "EndTime": "string", "Timezone": "string" }, "StartCondition": { "Description": "string", "EventStartCondition": { "EventFilter": { "Dimensions": { "EventType": { "DimensionType": enum, "Values": [ "string" ] }, "Attributes": { }, "Metrics": { } }, "FilterType": enum }, "SegmentId": "string" }, "SegmentStartCondition": { "SegmentId": "string" } }, "Limits": { "DailyCap": integer, "TotalCap": integer, "TimeframeCap": { "Days": integer, "Cap": integer }, "MessagesPerSecond": integer, "EndpointReentryCap": integer, "EndpointReentryInterval": "string" }, "StartActivity": "string", "Activities": { }, "RefreshFrequency": "string", "QuietTime": { "Start": "string", "End": "string" }, "WaitForQuietTime": boolean, "SendingSchedule": boolean, "OpenHours": { "EMAIL": { }, "SMS": { }, "PUSH": { }, "VOICE": { }, "CUSTOM": { } }, "ClosedDays": { "EMAIL": [ { "Name": "string", "StartDateTime": "string", "EndDateTime": "string" } ], "SMS": [ { "Name": "string", "StartDateTime": "string", "EndDateTime": "string" } ], "PUSH": [ { "Name": "string", "StartDateTime": "string", "EndDateTime": "string" } ], "VOICE": [ { "Name": "string", "StartDateTime": "string", "EndDateTime": "string" } ], "CUSTOM": [ { "Name": "string", "StartDateTime": "string", "EndDateTime": "string" } ] }, "RefreshOnSegmentUpdate": boolean, "LocalTime": boolean, "CreationDate": "string", "LastModifiedDate": "string", "State": enum, "tags": { }, "TimezoneEstimationMethods": [ enum ], "Id": "string", "ApplicationId": "string" }
{ "RequestID": "string", "Message": "string" }

Properties

Activity

Specifies the configuration and other settings for an activity in a journey.

PropertyTypeRequiredDescription
ConditionalSplit

ConditionalSplitActivity

False

The settings for a yes/no split activity. This type of activity sends participants down one of two paths in a journey, based on conditions that you specify.

CUSTOM

CustomMessageActivity

False

The settings for a custom message activity. This type of activity calls an AWS Lambda function or web hook that sends messages to participants.

Description

string

False

The custom description of the activity.

EMAIL

EmailMessageActivity

False

The settings for an email activity. This type of activity sends an email message to participants.

Holdout

HoldoutActivity

False

The settings for a holdout activity. This type of activity stops a journey for a specified percentage of participants.

MultiCondition

MultiConditionalSplitActivity

False

The settings for a multivariate split activity. This type of activity sends participants down one of as many as five paths (including a default Else path) in a journey, based on conditions that you specify.

PUSH

PushMessageActivity

False

The settings for a push notification activity. This type of activity sends a push notification to participants.

RandomSplit

RandomSplitActivity

False

The settings for a random split activity. This type of activity randomly sends specified percentages of participants down one of as many as five paths in a journey, based on conditions that you specify.

SMS

SMSMessageActivity

False

The settings for an SMS activity. This type of activity sends a text message to participants.

Wait

WaitActivity

False

The settings for a wait activity. This type of activity waits for a certain amount of time or until a specific date and time before moving participants to the next activity in a journey.

AttributeDimension

Specifies attribute-based criteria for including or excluding endpoints from a segment.

PropertyTypeRequiredDescription
AttributeType

string

Values: INCLUSIVE | EXCLUSIVE | CONTAINS | BEFORE | AFTER | BETWEEN | NOT_BETWEEN | ON

False

The type of segment dimension to use. Valid values are:

  • INCLUSIVE – endpoints that have attributes matching the values are included in the segment.

  • EXCLUSIVE – endpoints that have attributes matching the values are excluded from the segment.

  • CONTAINS – endpoints that have attributes' substrings match the values are included in the segment.

  • BEFORE – endpoints with attributes read as ISO_INSTANT datetimes before the value are included in the segment.

  • AFTER – endpoints with attributes read as ISO_INSTANT datetimes after the value are included in the segment.

  • BETWEEN – endpoints with attributes read as ISO_INSTANT datetimes between the values are included in the segment.

  • ON – endpoints with attributes read as ISO_INSTANT dates on the value are included in the segment. Time is ignored in this comparison.

Values

Array of type string

True

The criteria values to use for the segment dimension. Depending on the value of the AttributeType property, endpoints are included or excluded from the segment if their attribute values match the criteria values.

ClosedDays

The time when a journey will not send messages. QuietTime should be configured first and SendingSchedule should be set to true.

PropertyTypeRequiredDescription
CUSTOM

Array of type ClosedDaysRule

False

Rules for the Custom channel.

EMAIL

Array of type ClosedDaysRule

False

Rules for the Email channel.

PUSH

Array of type ClosedDaysRule

False

Rules for the Push channel.

SMS

Array of type ClosedDaysRule

False

Rules for the SMS channel.

VOICE

Array of type ClosedDaysRule

False

Rules for the Voice channel.

ClosedDaysRule

Specifies the rule settings for when messages can't be sent.

PropertyTypeRequiredDescription
EndDateTime

string

True

EndDateTime ISO 8601 format

Name

string

True

The name of the closed rule.

StartDateTime

string

True

StartDateTime ISO 8601 format

Condition

Specifies the conditions to evaluate for an activity in a journey, and how to evaluate those conditions.

PropertyTypeRequiredDescription
Conditions

Array of type SimpleCondition

False

The conditions to evaluate for the activity.

Operator

string

Values: ALL | ANY

False

Specifies how to handle multiple conditions for the activity. For example, if you specify two conditions for an activity, whether both or only one of the conditions must be met for the activity to be performed.

ConditionalSplitActivity

Specifies the settings for a yes/no split activity in a journey. This type of activity sends participants down one of two paths in a journey, based on conditions that you specify.

Note

To create yes/no split activities that send participants down different paths based on push notification events (such as Open or Received events), your mobile app has to specify the User ID and Endpoint ID values. For more information, see Integrating Amazon Pinpoint with your application in the Amazon Pinpoint Developer Guide.

PropertyTypeRequiredDescription
Condition

Condition

False

The conditions that define the paths for the activity, and the relationship between the conditions.

EvaluationWaitTime

WaitTime

False

The amount of time to wait before determining whether the conditions are met, or the date and time when Amazon Pinpoint determines whether the conditions are met.

FalseActivity

string

False

The unique identifier for the activity to perform if the conditions aren't met.

TrueActivity

string

False

The unique identifier for the activity to perform if the conditions are met.

CustomMessageActivity

The settings for a custom message activity. This type of activity calls an AWS Lambda function or web hook that sends messages to participants.

PropertyTypeRequiredDescription
DeliveryUri

string

False

The destination to send the campaign or treatment to. This value can be one of the following:

  • The name or Amazon Resource Name (ARN) of an AWS Lambda function to invoke to handle delivery of the campaign or treatment.

  • The URL for a web application or service that supports HTTPS and can receive the message. The URL has to be a full URL, including the HTTPS protocol.

EndpointTypes

Array of type string

Values: PUSH | GCM | APNS | APNS_SANDBOX | APNS_VOIP | APNS_VOIP_SANDBOX | ADM | SMS | VOICE | EMAIL | BAIDU | CUSTOM | IN_APP

False

The types of endpoints to send the custom message to. Each valid value maps to a type of channel that you can associate with an endpoint by using the ChannelType property of an endpoint.

MessageConfig

JourneyCustomMessage

False

Specifies the message data included in a custom channel message that's sent to participants in a journey.

NextActivity

string

False

The unique identifier for the next activity to perform, after Amazon Pinpoint calls the AWS Lambda function or web hook.

TemplateName

string

False

The name of the custom message template to use for the message. If specified, this value must match the name of an existing message template.

TemplateVersion

string

False

The unique identifier for the version of the message template to use for the message. If specified, this value must match the identifier for an existing template version. To retrieve a list of versions and version identifiers for a template, use the Template Versions resource.

If you don't specify a value for this property, Amazon Pinpoint uses the active version of the template. The active version is typically the version of a template that's been most recently reviewed and approved for use, depending on your workflow. It isn't necessarily the latest version of a template.

EmailMessageActivity

Specifies the settings for an email activity in a journey. This type of activity sends an email message to participants.

PropertyTypeRequiredDescription
MessageConfig

JourneyEmailMessage

False

Specifies the sender address for an email message that's sent to participants in the journey.

NextActivity

string

False

The unique identifier for the next activity to perform, after the message is sent.

TemplateName

string

False

The name of the email message template to use for the message. If specified, this value must match the name of an existing message template.

TemplateVersion

string

False

The unique identifier for the version of the email template to use for the message. If specified, this value must match the identifier for an existing template version. To retrieve a list of versions and version identifiers for a template, use the Template Versions resource.

If you don't specify a value for this property, Amazon Pinpoint uses the active version of the template. The active version is typically the version of a template that's been most recently reviewed and approved for use, depending on your workflow. It isn't necessarily the latest version of a template.

EventCondition

Specifies the conditions to evaluate for an event that applies to an activity in a journey.

PropertyTypeRequiredDescription
Dimensions

EventDimensions

False

The dimensions for the event filter to use for the activity.

MessageActivity

string

False

The message identifier (message_id) for the message to use when determining whether message events meet the condition.

EventDimensions

Specifies the dimensions for an event filter that determines when a campaign is sent or a journey activity is performed.

PropertyTypeRequiredDescription
Attributes

object

False

One or more custom attributes that your application reports to Amazon Pinpoint. You can use these attributes as selection criteria when you create an event filter.

EventType

SetDimension

False

The name of the event that causes the campaign to be sent or the journey activity to be performed. This can be a standard event that Amazon Pinpoint generates, such as _email.delivered or _custom.delivered. For campaigns, this can also be a custom event that's specific to your application. For information about standard events, see Streaming Amazon Pinpoint Events in the Amazon Pinpoint Developer Guide.

Metrics

object

False

One or more custom metrics that your application reports to Amazon Pinpoint. You can use these metrics as selection criteria when you create an event filter.

EventFilter

Specifies the settings for an event that causes a campaign to be sent or a journey activity to be performed.

PropertyTypeRequiredDescription
Dimensions

EventDimensions

True

The dimensions for the event filter to use for the campaign or the journey activity.

FilterType

string

Values: SYSTEM | ENDPOINT | USER

True

The type of event that causes the campaign to be sent or the journey activity to be performed. Valid values are: SYSTEM, sends the campaign or performs the activity when a system event occurs; and, ENDPOINT, sends the campaign or performs the activity when an endpoint event (Events resource) occurs.

EventStartCondition

Specifies the settings for an event that causes a journey activity to start.

PropertyTypeRequiredDescription
EventFilter

EventFilter

False

The EventFilter for defined for scheduling Event based Journey

SegmentId

string

False

Accept only Endpoints events from this specific dynamic segmentId

GPSCoordinates

Specifies the GPS coordinates of a location.

PropertyTypeRequiredDescription
Latitude

number

True

The latitude coordinate of the location.

Longitude

number

True

The longitude coordinate of the location.

GPSPointDimension

Specifies GPS-based criteria for including or excluding endpoints from a segment.

PropertyTypeRequiredDescription
Coordinates

GPSCoordinates

True

The GPS coordinates to measure distance from.

RangeInKilometers

number

False

The range, in kilometers, from the GPS coordinates.

HoldoutActivity

Specifies the settings for a holdout activity in a journey. This type of activity stops a journey for a specified percentage of participants.

PropertyTypeRequiredDescription
NextActivity

string

False

The unique identifier for the next activity to perform, after performing the holdout activity.

Percentage

integer

True

The percentage of participants who shouldn't continue the journey.

To determine which participants are held out, Amazon Pinpoint applies a probability-based algorithm to the percentage that you specify. Therefore, the actual percentage of participants who are held out may not be equal to the percentage that you specify.

JourneyCustomMessage

Specifies the message content for a custom channel message that's sent to participants in a journey.

PropertyTypeRequiredDescription
Data

string

False

The message content that's passed to an AWS Lambda function or to a web hook.

JourneyEmailMessage

Specifies the "From" address for an email message that's sent to participants in a journey.

PropertyTypeRequiredDescription
FromAddress

string

False

The verified email address to send the email message from. The default address is the FromAddress specified for the email channel for the application.

JourneyLimits

Specifies limits on the messages that a journey can send and the number of times participants can enter a journey.

PropertyTypeRequiredDescription
DailyCap

integer

False

The maximum number of messages that the journey can send to a single participant during a 24-hour period. The maximum value is 100.

EndpointReentryCap

integer

False

The maximum number of times that a participant can enter the journey. The maximum value is 100. To allow participants to enter the journey an unlimited number of times, set this value to 0.

EndpointReentryInterval

string

False

Minimum time that must pass before an endpoint can re-enter a given journey.

MessagesPerSecond

integer

False

The maximum number of messages that the journey can send each second.

TimeframeCap

JourneyTimeframeCap

False

The number of messages that an endpoint can receive during the specified timeframe.

TotalCap

integer

False

The maximum number of messages a journey can sent to a single endpoint. The maximum value is 100. If set to 0, this limit will not apply.

JourneyPushMessage

Specifies the message configuration for a push notification that's sent to participants in a journey.

PropertyTypeRequiredDescription
TimeToLive

string

False

The number of seconds that the push notification service should keep the message, if the service is unable to deliver the notification the first time. This value is converted to an expiration value when it's sent to a push notification service. If this value is 0, the service treats the notification as if it expires immediately and the service doesn't store or try to deliver the notification again.

This value doesn't apply to messages that are sent through the Amazon Device Messaging (ADM) service.

JourneyResponse

Provides information about the status, configuration, and other settings for a journey.

PropertyTypeRequiredDescription
Activities

object

False

A map that contains a set of Activity objects, one object for each activity in the journey. For each Activity object, the key is the unique identifier (string) for an activity and the value is the settings for the activity.

ApplicationId

string

True

The unique identifier for the application that the journey applies to.

ClosedDays

ClosedDays

False

The time when a journey will not send messages. QuietTime should be configured first and SendingSchedule should be set to true.

CreationDate

string

False

The date, in ISO 8601 format, when the journey was created.

Id

string

True

The unique identifier for the journey.

LastModifiedDate

string

False

The date, in ISO 8601 format, when the journey was last modified.

Limits

JourneyLimits

False

The messaging and entry limits for the journey.

LocalTime

boolean

False

Specifies whether the journey's scheduled start and end times use each participant's local time. If this value is true, the schedule uses each participant's local time.

Name

string

False

The name of the journey.

OpenHours

OpenHours

False

The time when a journey can send messages. QuietTime should be configured first and SendingSchedule should be set to true.

QuietTime

QuietTime

False

The quiet time settings for the journey. Quiet time is a specific time range when a journey doesn't send messages to participants, if all the following conditions are met:

  • The EndpointDemographic.Timezone property of the endpoint for the participant is set to a valid value.

  • The current time in the participant's time zone is later than or equal to the time specified by the QuietTime.Start property for the journey.

  • The current time in the participant's time zone is earlier than or equal to the time specified by the QuietTime.End property for the journey.

If any of the preceding conditions isn't met, the participant will receive messages from the journey, even if quiet time is enabled.

RefreshFrequency

string

False

The frequency with which Amazon Pinpoint evaluates segment and event data for the journey, as a duration in ISO 8601 format.

RefreshOnSegmentUpdate

boolean

False

Indicates whether the journey participants should be refreshed when a segment is updated.

Schedule

JourneySchedule

False

The schedule settings for the journey.

SendingSchedule

boolean

False

Indicates if journey has Advance Quiet Time enabled. This flag should be set to true in order to allow using OpenHours and ClosedDays.

StartActivity

string

False

The unique identifier for the first activity in the journey.

StartCondition

StartCondition

False

The segment that defines which users are participants in the journey.

State

string

Values: DRAFT | ACTIVE | PAUSED | COMPLETED | CANCELLED | CLOSED | PENDING_APPROVAL

False

The current status of the journey. Possible values are:

  • DRAFT – The journey is being developed and hasn't been published yet.

  • ACTIVE – The journey has been developed and published. Depending on the journey's schedule, the journey may currently be running or scheduled to start running at a later time. If a journey's status is ACTIVE, you can't add, change, or remove activities from it.

  • COMPLETED – The journey has been published and has finished running. All participants have entered the journey and no participants are waiting to complete the journey or any activities in the journey.

  • CANCELLED – The journey has been stopped. If a journey's status is CANCELLED, you can't add, change, or remove activities or segment settings from the journey.

  • CLOSED – The journey has been published and has started running. It may have also passed its scheduled end time, or passed its scheduled start time and a refresh frequency hasn't been specified for it. If a journey's status is CLOSED, you can't add participants to it, and no existing participants can enter the journey for the first time. However, any existing participants who are currently waiting to start an activity may continue the journey.

    Note

    A journey in the CLOSED state is still counted against the Maximum number of active journeys quota. For more information see Journey quotas.

tags

object

False

This object is not used or supported.

TimezoneEstimationMethods

Array of type string

Values: PHONE_NUMBER | POSTAL_CODE

False

An array of time zone estimation methods, if any, to use for determining an Endpoints time zone if the Endpoint does not have a value for the Demographic.Timezone attribute.

  • PHONE_NUMBER - A time zone is estimated based on the Endpoint.Location.Country and Endpoint.Address.

  • POSTAL_CODE - A time zone is estimated based on the Endpoint.Location.Country and Endpoint.Location.PostalCode.

    Note

    POSTAL_CODE estimation is only supported in the United States, United Kingdom, Australia, New Zealand, Canada, France, Italy, Spain, Germany and in regions where Amazon Pinpoint is available.

  • Both - A time zone is estimated based on the Endpoint.Location.Country, Endpoint.Address and Endpoint.Location.PostalCode.

WaitForQuietTime

boolean

False

Indicates whether endpoints in quiet hours should enter a wait activity until quiet hours have elapsed.

JourneySMSMessage

Specifies the sender ID and message type for an SMS message that's sent to participants in a journey.

PropertyTypeRequiredDescription
EntityId

string

False

A registered Entity ID (currently only used when sending messages to recipients in India).

MessageType

string

Values: TRANSACTIONAL | PROMOTIONAL

False

The SMS message type. Valid values are TRANSACTIONAL (for messages that are critical or time-sensitive, such as a one-time passwords) and PROMOTIONAL (for messsages that aren't critical or time-sensitive, such as marketing messages).

OriginationNumber

string

False

The number to send the SMS message from. The phone number that you specify must exist in your Amazon Pinpoint account—you can't pass an arbitrary phone number. If you want to use a sender ID to send your message, omit this parameter and use SenderId instead.

SenderId

string

False

The sender ID to display as the sender of the message on a recipient's device. Support for sender IDs varies by country. For more information, see Supported Countries and Regions in the Amazon Pinpoint User Guide.

TemplateId

string

False

A registered Template ID (currently only used when sending messages to recipients in India).

JourneySchedule

Specifies the schedule settings for a journey.

PropertyTypeRequiredDescription
EndTime

string

False

The scheduled time, in ISO 8601 format, when the journey ended or will end.

StartTime

string

False

The scheduled time, in ISO 8601 format, when the journey began or will begin.

Timezone

string

False

The starting UTC offset for the journey schedule, if the value of the journey's LocalTime property is true. Valid values are: UTC, UTC+01, UTC+02, UTC+03, UTC+03:30, UTC+04, UTC+04:30, UTC+05, UTC+05:30, UTC+05:45, UTC+06, UTC+06:30, UTC+07, UTC+08, UTC+08:45, UTC+09, UTC+09:30, UTC+10, UTC+10:30, UTC+11, UTC+12, UTC+12:45, UTC+13, UTC+13:45, UTC-02, UTC-02:30, UTC-03, UTC-03:30, UTC-04, UTC-05, UTC-06, UTC-07, UTC-08, UTC-09, UTC-09:30, UTC-10, and UTC-11.

JourneyTimeframeCap

The number of messages that can be sent to an endpoint during the specified timeframe for all journeys.

PropertyTypeRequiredDescription
Cap

integer

False

The maximum number of messages that all journeys can send to an endpoint during the specified timeframe. The maximum value is 100. If set to 0, this limit will not apply.

Days

integer

False

The length of the timeframe in days. The maximum value is 30. If set to 0, this limit will not apply.

MessageBody

Provides information about an API request or response.

PropertyTypeRequiredDescription
Message

string

False

The message that's returned from the API.

RequestID

string

False

The unique identifier for the request or response.

MetricDimension

Specifies metric-based criteria for including or excluding endpoints from a segment. These criteria derive from custom metrics that you define for endpoints.

PropertyTypeRequiredDescription
ComparisonOperator

string

True

The operator to use when comparing metric values. Valid values are: GREATER_THAN, LESS_THAN, GREATER_THAN_OR_EQUAL, LESS_THAN_OR_EQUAL, and EQUAL.

Value

number

True

The value to compare.

MultiConditionalBranch

Specifies a condition to evaluate for an activity path in a journey.

PropertyTypeRequiredDescription
Condition

SimpleCondition

False

The condition to evaluate for the activity path.

NextActivity

string

False

The unique identifier for the next activity to perform, after completing the activity for the path.

MultiConditionalSplitActivity

Specifies the settings for a multivariate split activity in a journey. This type of activity sends participants down one of as many as five paths (including a default Else path) in a journey, based on conditions that you specify.

Note

To create multivariate split activities that send participants down different paths based on push notification events (such as Open or Received events), your mobile app has to specify the User ID and Endpoint ID values. For more information, see Integrating Amazon Pinpoint with your application in the Amazon Pinpoint Developer Guide.

PropertyTypeRequiredDescription
Branches

Array of type MultiConditionalBranch

False

The paths for the activity, including the conditions for entering each path and the activity to perform for each path.

DefaultActivity

string

False

The unique identifier for the activity to perform for participants who don't meet any of the conditions specified for other paths in the activity.

EvaluationWaitTime

WaitTime

False

The amount of time to wait or the date and time when Amazon Pinpoint determines whether the conditions are met.

OpenHours

Specifies the times when message are allowed to be sent to endpoints.

PropertyTypeRequiredDescription
CUSTOM

object

False

Specifies the schedule settings for the custom channel.

EMAIL

object

False

Specifies the schedule settings for the email channel.

PUSH

object

False

Specifies the schedule settings for the push channel.

SMS

object

False

Specifies the schedule settings for the SMS channel.

VOICE

object

False

Specifies the schedule settings for the voice channel.

OpenHoursRule

Specifies the start and end time for OpenHours.

PropertyTypeRequiredDescription
EndTime

string

True

The end of the scheduled time, in ISO 8601 format, when the channel can't send messages.

StartTime

string

True

The start of the scheduled time, in ISO 8601 format, when the channel can send messages.

PushMessageActivity

Specifies the settings for a push notification activity in a journey. This type of activity sends a push notification to participants.

PropertyTypeRequiredDescription
MessageConfig

JourneyPushMessage

False

Specifies the time to live (TTL) value for push notifications that are sent to participants in a journey.

NextActivity

string

False

The unique identifier for the next activity to perform, after the message is sent.

TemplateName

string

False

The name of the push notification template to use for the message. If specified, this value must match the name of an existing message template.

TemplateVersion

string

False

The unique identifier for the version of the push notification template to use for the message. If specified, this value must match the identifier for an existing template version. To retrieve a list of versions and version identifiers for a template, use the Template Versionsresource.

If you don't specify a value for this property, Amazon Pinpoint uses the active version of the template. The active version is typically the version of a template that's been most recently reviewed and approved for use, depending on your workflow. It isn't necessarily the latest version of a template.

QuietTime

Specifies the start and end times that define a time range when messages aren't sent to endpoints.

PropertyTypeRequiredDescription
End

string

False

The specific time when quiet time ends. This value has to use 24-hour notation and be in HH:MM format, where HH is the hour (with a leading zero, if applicable) and MM is the minutes. For example, use 02:30 to represent 2:30 AM, or 14:30 to represent 2:30 PM.

Start

string

False

The specific time when quiet time begins. This value has to use 24-hour notation and be in HH:MM format, where HH is the hour (with a leading zero, if applicable) and MM is the minutes. For example, use 02:30 to represent 2:30 AM, or 14:30 to represent 2:30 PM.

RandomSplitActivity

Specifies the settings for a random split activity in a journey. This type of activity randomly sends specified percentages of participants down one of as many as five paths in a journey, based on conditions that you specify.

PropertyTypeRequiredDescription
Branches

Array of type RandomSplitEntry

False

The paths for the activity, including the percentage of participants to enter each path and the activity to perform for each path.

RandomSplitEntry

Specifies the settings for a path in a random split activity in a journey.

PropertyTypeRequiredDescription
NextActivity

string

False

The unique identifier for the next activity to perform, after completing the activity for the path.

Percentage

integer

False

The percentage of participants to send down the activity path.

To determine which participants are sent down each path, Amazon Pinpoint applies a probability-based algorithm to the percentages that you specify for the paths. Therefore, the actual percentage of participants who are sent down a path may not be equal to the percentage that you specify.

RecencyDimension

Specifies criteria for including or excluding endpoints from a segment based on how recently an endpoint was active.

PropertyTypeRequiredDescription
Duration

string

Values: HR_24 | DAY_7 | DAY_14 | DAY_30

True

The duration to use when determining whether an endpoint is active or inactive.

RecencyType

string

Values: ACTIVE | INACTIVE

True

The type of recency dimension to use for the segment. Valid values are: ACTIVE, endpoints that were active within the specified duration are included in the segment; and, INACTIVE, endpoints that weren't active within the specified duration are included in the segment.

SMSMessageActivity

Specifies the settings for an SMS activity in a journey. This type of activity sends a text message to participants.

PropertyTypeRequiredDescription
MessageConfig

JourneySMSMessage

False

Specifies the sender ID and message type for an SMS message that's sent to participants in a journey.

NextActivity

string

False

The unique identifier for the next activity to perform, after the message is sent.

TemplateName

string

False

The name of the SMS message template to use for the message. If specified, this value must match the name of an existing message template.

TemplateVersion

string

False

The unique identifier for the version of the SMS template to use for the message. If specified, this value must match the identifier for an existing template version. To retrieve a list of versions and version identifiers for a template, use the Template Versions resource.

If you don't specify a value for this property, Amazon Pinpoint uses the active version of the template. The active version is typically the version of a template that's been most recently reviewed and approved for use, depending on your workflow. It isn't necessarily the latest version of a template.

SegmentBehaviors

Specifies dimension settings for including or excluding endpoints from a segment based on how recently an endpoint was active.

PropertyTypeRequiredDescription
Recency

RecencyDimension

False

The dimension settings that are based on how recently an endpoint was active.

SegmentCondition

Specifies a segment to associate with an activity in a journey.

PropertyTypeRequiredDescription
SegmentId

string

True

The unique identifier for the segment to associate with the activity.

SegmentDemographics

Specifies demographic-based dimension settings for including or excluding endpoints from a segment. These settings derive from characteristics of endpoint devices, such as platform, make, and model.

PropertyTypeRequiredDescription
AppVersion

SetDimension

False

The app version criteria for the segment.

Channel

SetDimension

False

The channel criteria for the segment.

DeviceType

SetDimension

False

The device type criteria for the segment.

Make

SetDimension

False

The device make criteria for the segment.

Model

SetDimension

False

The device model criteria for the segment.

Platform

SetDimension

False

The device platform criteria for the segment.

SegmentDimensions

Specifies the dimension settings for a segment.

PropertyTypeRequiredDescription
Attributes

object

False

One or more custom attributes to use as criteria for the segment. For more information see AttributeDimension

Behavior

SegmentBehaviors

False

The behavior-based criteria, such as how recently users have used your app, for the segment.

Demographic

SegmentDemographics

False

The demographic-based criteria, such as device platform, for the segment.

Location

SegmentLocation

False

The location-based criteria, such as region or GPS coordinates, for the segment.

Metrics

object

False

One or more custom metrics to use as criteria for the segment.

UserAttributes

object

False

One or more custom user attributes to use as criteria for the segment.

SegmentLocation

Specifies geographical dimension settings for a segment.

PropertyTypeRequiredDescription
Country

SetDimension

False

The country or region code, in ISO 3166-1 alpha-2 format, for the segment.

GPSPoint

GPSPointDimension

False

The GPS location and range for the segment.

SetDimension

Specifies the dimension type and values for a segment dimension.

PropertyTypeRequiredDescription
DimensionType

string

Values: INCLUSIVE | EXCLUSIVE

False

The type of segment dimension to use. Valid values are: INCLUSIVE, endpoints that match the criteria are included in the segment; and, EXCLUSIVE, endpoints that match the criteria are excluded from the segment.

Values

Array of type string

True

The criteria values to use for the segment dimension. Depending on the value of the DimensionType property, endpoints are included or excluded from the segment if their values match the criteria values.

SimpleCondition

Specifies a condition to evaluate for an activity in a journey.

PropertyTypeRequiredDescription
EventCondition

EventCondition

False

The dimension settings for the event that's associated with the activity.

SegmentCondition

SegmentCondition

False

The segment that's associated with the activity.

segmentDimensions

SegmentDimensions

False

The dimension settings for the segment that's associated with the activity.

StartCondition

Specifies the conditions for the first activity in a journey. This activity and its conditions determine which users are participants in a journey.

PropertyTypeRequiredDescription
Description

string

False

The custom description of the condition.

EventStartCondition

EventStartCondition

False

The event start condition that can trigger a journey.

SegmentStartCondition

SegmentCondition

False

The segment that's associated with the first activity in the journey. This segment determines which users are participants in the journey.

WaitActivity

Specifies the settings for a wait activity in a journey. This type of activity waits for a certain amount of time or until a specific date and time before moving participants to the next activity in a journey.

PropertyTypeRequiredDescription
NextActivity

string

False

The unique identifier for the next activity to perform, after performing the wait activity.

WaitTime

WaitTime

False

The amount of time to wait or the date and time when the activity moves participants to the next activity in the journey.

WaitTime

Specifies a duration or a date and time that indicates when Amazon Pinpoint determines whether an activity's conditions have been met or an activity moves participants to the next activity in a journey.

PropertyTypeRequiredDescription
WaitFor

string

False

The amount of time to wait, as a duration in ISO 8601 format, before determining whether the activity's conditions have been met or moving participants to the next activity in the journey.

WaitUntil

string

False

The date and time, in ISO 8601 format, when Amazon Pinpoint determines whether the activity's conditions have been met or the activity moves participants to the next activity in the journey.

WriteJourneyRequest

Specifies the configuration and other settings for a journey.

PropertyTypeRequiredDescription
Activities

object

False

A map that contains a set of Activity objects, one object for each activity in the journey. For each Activity object, the key is the unique identifier (string) for an activity and the value is the settings for the activity. An activity identifier can contain a maximum of 100 characters. The characters must be alphanumeric characters.

ClosedDays

ClosedDays

False

The time when journey will stop sending messages. QuietTime should be configured first and SendingSchedule should be set to true.

CreationDate

string

False

The date, in ISO 8601 format, when the journey was created.

LastModifiedDate

string

False

The date, in ISO 8601 format, when the journey was last modified.

Limits

JourneyLimits

False

The messaging and entry limits for the journey.

LocalTime

boolean

False

Specifies whether the journey's scheduled start and end times use each participant's local time. To base the schedule on each participant's local time, set this value to true.

Name

string

False

The name of the journey. A journey name can contain a maximum of 150 characters. The characters can be alphanumeric characters or symbols, such as underscores (_) or hyphens (-). A journey name can't contain any spaces.

OpenHours

OpenHours

False

The time when journey allow to send messages. QuietTime should be configured first and SendingSchedule should be set to true.

QuietTime

QuietTime

False

The quiet time settings for the journey. Quiet time is a specific time range when a journey doesn't send messages to participants, if all the following conditions are met:

  • The EndpointDemographic.Timezone property of the endpoint for the participant is set to a valid value.

  • The current time in the participant's time zone is later than or equal to the time specified by the QuietTime.Start property for the journey.

  • The current time in the participant's time zone is earlier than or equal to the time specified by the QuietTime.End property for the journey.

If any of the preceding conditions isn't met, the participant will receive messages from the journey, even if quiet time is enabled.

RefreshFrequency

string

False

The frequency with which Amazon Pinpoint evaluates segment and event data for the journey, as a duration in ISO 8601 format.

RefreshOnSegmentUpdate

boolean

False

Indicates whether the journey participants should be refreshed when a segment is updated.

Schedule

JourneySchedule

False

The schedule settings for the journey.

SendingSchedule

boolean

False

Indicates if journey has Advance Quiet Time enabled. This flag should be set to true in order to allow using OpenHours and ClosedDays.

StartActivity

string

False

The unique identifier for the first activity in the journey. The identifier for this activity can contain a maximum of 128 characters. The characters must be alphanumeric characters.

StartCondition

StartCondition

False

The segment that defines which users are participants in the journey.

State

string

Values: DRAFT | ACTIVE | PAUSED | COMPLETED | CANCELLED | CLOSED | PENDING_APPROVAL

False

The status of the journey. Valid values are:

  • DRAFT – Saves the journey and doesn't publish it.

  • ACTIVE – Saves and publishes the journey. Depending on the journey's schedule, the journey starts running immediately or at the scheduled start time. If a journey's status is ACTIVE, you can't add, change, or remove activities from it.

The CANCELLED, COMPLETED, and CLOSED values are not supported in requests to create or update a journey. To cancel a journey, use the Journey State resource.

TimezoneEstimationMethods

Array of type string

Values: PHONE_NUMBER | POSTAL_CODE

False

An array of time zone estimation methods, if any, to use for determining an Endpoints time zone if the Endpoint does not have a value for the Demographic.Timezone attribute.

  • PHONE_NUMBER - A time zone is estimated based on the Endpoint.Location.Country and Endpoint.Address.

  • POSTAL_CODE - A time zone is estimated based on the Endpoint.Location.Country and Endpoint.Location.PostalCode.

    Note

    POSTAL_CODE estimation is only supported in the United States, United Kingdom, Australia, New Zealand, Canada, France, Italy, Spain, Germany and in regions where Amazon Pinpoint is available.

  • Both - A time zone is estimated based on the Endpoint.Location.Country, Endpoint.Address and Endpoint.Location.PostalCode.

WaitForQuietTime

boolean

False

Indicates whether endpoints in quiet hours should enter a wait activity until quiet hours have elapsed.

See also

For more information about using this API in one of the language-specific AWS SDKs and references, see the following:

GetJourney

UpdateJourney

DeleteJourney