---
title: "Get journey"
method: GET
path: "/api/v1/journeys/{journeyId}"
tags: ["Journeys"]
---

# Get journey

`GET /api/v1/journeys/{journeyId}`

Get one journey by id — its trigger and the ordered steps people move through. Read-only, for inspecting setup.

## Path parameters

- `journeyId` string, required — Journey id.

## Response `200`

Success

- object
  - `id` string, required — Journey id.
  - `initiativeId` string, required — The initiative this journey belongs to.
  - `name` string, required — Journey name (from its initiative).
  - `status` 'DRAFT' | 'ACTIVE' | 'ARCHIVED', required — DRAFT (still being configured), ACTIVE (live — people can move through it), or ARCHIVED (no longer running).
  - `version` integer, required — Version number of the journey's current setup. Each time the steps are edited and re-activated, the version increases.
  - `createdAt` string, required — ISO 8601 timestamp.
  - `updatedAt` string, required — ISO 8601 timestamp.
  - `trigger` object, required
    - `type` 'manual' | 'segment' | 'event', required — How people enter the journey: manual (added by an operator or API call), segment (added when they enter a segment), or event (added when an event is received for them).
    - `segment` string, nullable, required — Segment name, when type is segment.
    - `event` string, nullable, required — Event name, when type is event.
  - `steps` object[], required — The steps that make up the journey, in the order a person moves through them.
    - `id` string, required — Step id, unique within the journey.
    - `type` 'entry' | 'message' | 'conversation' | 'wait' | 'branch' | 'split' | 'event' | 'end' | 'step', required — What the step does: entry (where people start), message (sends a message template), conversation (an AI-led conversation), wait (pauses before continuing), branch (routes down a yes or no path), split (routes across several cases), event (records an event), end (finishes the journey), or step (a step of another kind).
    - `title` string — The name the journey author gave this step.
    - `description` string — Plain-language summary of what the step is configured to do.

## Other responses

- `400` — Validation failed or the request cannot proceed.
- `401` — Missing, malformed, or revoked API key.
- `404` — The resource does not exist in this organization.
- `409` — Conflicts with the current state (duplicates, wrong lifecycle state).
- `422` — The request is well-formed but semantically invalid.
- `429` — Rate limit exceeded — retry after `Retry-After`.
- `500` — Internal server error.
- `503` — Transient error — retry with a narrower request.

---

[API](https://skmtc.net/useboom/apis/boom-api.md) · [All operations](https://skmtc.net/useboom/apis/boom-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/useboom/boom-api/revisions/00f873e07076/schema)
