Journeys
Preview a contact's journey step path without sending
POST/v1/journeys/{id}/simulate
Requires an API key with the journeys:read scope. About keys and scopes
Previews a run without sending. entry says whether the contact would enter now: a date journey needs a valid date in its field; an event journey checks the supplied eventProperties against the entry conditions, then reentry. The path follows branches on eventProperties and filters and splits on the contact as they are now; a wait-until step takes its match path. Each send step is checked against suppression, consent, topics and devices: would_send, unreachable (takes the fallback path) or would_skip, with the refusal code in reason (DRAFT_INCOMPLETE for a send step not yet finished: a draft simulates too). Message limits and send-time scheduling are not previewed.
Path parameters
idstringrequireduuid
Request body
contactIdstringrequiredThe contact to simulate.
uuid
eventPropertiesobjectoptionalProperties of a trigger event to simulate, checked against entry conditions.
default
{}
Returns
Returns 200 OK. Otherwise returns an error; Errors lists every code and which to retry.
contactIdstringrequireduuid
entryobjectrequiredWhether the contact would enter the journey now.
2 child attributes
eligiblebooleanrequiredWhether the contact would enter now.
reasonstring | nullrequiredWhy not:
no_date,entry_conditions_not_met,already_enrolledorin_cooldown.
pathobject[]requiredThe steps the contact would pass through, in order.
4 child attributes
stepIndexintegerrequiredIndex of the step in
steps.min -9007199254740991 · max 9007199254740991
typestringrequiredThe step type.
outcomestringrequiredWhat the step would do.
reasonstringoptionalWhy a send step would not send: the send guard's error code.