View journey
Retrieve the full configuration of a single journey by its UUID, including its audience, schedule, and node graph.
Overview
Retrieve a single Journey by its UUID. The response is the full detail representation, including the journey’saudience, schedule, lifecycle rules, and its nodes graph. The View journeys list omits those fields.
Use this fetch as the source of node and branch ids and the concurrency_key before Update journey or Update journey node.
How to use this API
Authenticate with your App API Key. The authenticated key must have permission to view journeys. Find a journey’sid from the View journeys API or in the dashboard URL when viewing the journey.
The response includes a concurrency_key. Treat it as an opaque token: send it back unchanged on a later update. Do not construct, parse, or compare it yourself.
Journey structure
A journey is an ordered list ofnodes. Linear nodes (such as wait or send_push) are siblings in the list and run in order. Branching nodes (split_range, yes_no, wait_until) nest their sub-graphs inline through their branches array. Convergence is implicit: after a branching node resolves, flow continues to the next sibling in the parent list.
Server-assigned identifiers on journeys, nodes, and branches (id) are read-only. The optional client_node_id is a customer-assigned identifier. It is persisted and returned on this endpoint. On create or update, use it to reference a node that does not yet have a server id.
Node kinds
Error responses
{ "errors": [{ "code", "title", "meta" }] }.Headers
Your App API key with prefix Key. See Keys & IDs.
Path Parameters
Your OneSignal App ID in UUID v4 format. See Keys & IDs.
UUID of the journey to retrieve.
Response
200
Full journey representation returned by the detail and create endpoints.
Journey UUID. Read-only.
UUID of the app the journey belongs to. Read-only.
Journey name, up to 300 characters.
Journey description, up to 1024 characters. Defaults to an empty string.
Journey state. Read-only. New journeys are created as draft. processing is a transient state while an activation is in progress, and archived is a journey that has been stopped. Change it through the state field on Update journey.
draft, scheduled, processing, active, archived ISO 8601 creation time. Read-only.
ISO 8601 last-update time. Read-only.
ISO 8601 time the journey was activated, or null. Read-only. May stay null briefly after you set state to active: activation is enqueued for processing, and started_at populates once the journey finishes processing and becomes active.
ISO 8601 time the journey was archived, or null. Read-only.
Origin of the journey, for example public_api or dashboard. Read-only.
The journey entry audience. Either a segment-based or event-triggered audience.
- segment
- event_trigger
Conditions that remove a user from the journey before it completes. At least one rule must be set under rules; an early_exit that configures no rule is rejected. Send null to remove early exit entirely, or null for an individual rule to drop just that rule.
Controls whether and how soon a user can re-enter the journey. null means re-entry is not allowed.
Optional future start and/or stop time. null means no scheduled activation.
Ordered list of journey nodes.
A journey node. The kind field selects the shape. Branching nodes (split_range, yes_no, wait_until) nest their sub-graphs inline via branches[].nodes.
- Option 1
- Option 2
- Option 3
- Option 4
- Option 5
- Option 6
- Option 7
- Option 8
- Option 9
Opaque optimistic-concurrency token. Read-only. Pass it back on update to guard against overwriting a concurrent change (409 journey-stale). Send it back exactly as read from this response; do not construct or parse it.