---
title: "GET /v1/workspaces/{workspaceId}/journeys/{journeyId}"
method: GET
path: "/v1/workspaces/{workspaceId}/journeys/{journeyId}"
---

# GET /v1/workspaces/{workspaceId}/journeys/{journeyId}

`GET /v1/workspaces/{workspaceId}/journeys/{journeyId}`

## Request

- Base URL: `https://api.bangermail.com`
- URL: `https://api.bangermail.com/v1/workspaces/{workspaceId}/journeys/{journeyId}`
- Auth: HTTP bearer

## Response `200`

Journey definition, enrollment activity, and tests.

- object
  - `data` Journey
    - `name` string, required
    - `description` string
    - `mailbox_id` string, uuid: Existing sender. Omit to prefer the onboarding sender then an active custom mailbox then hosted. Saved and explicit senders remain unchanged.
    - `from_local_part` string
    - `trigger` object, required
      - `kind` 'manual' | 'contact_created' | 'audience_joined' | 'event' | 'schedule' | 'inbound_email' | 'api', required
      - `connection_id` string, uuid
      - `config` object
        - `event` string
        - `once_per_person` boolean: Each person enters once. Set false to let people re-enter after they finish.
        - `reentry_days` integer: With once_per_person false, days after a person's last entry before they may enter again.
      - `conditions` object[]
    - `audience` object
    - `goal` JourneyGoal
      - `kind` 'none' | 'event' | 'reply' | 'conversion', required
      - `connection_id` string, uuid
      - `config` object, required
    - `exit` JourneyExit
      - `on_reply` boolean
      - `on_unsubscribe` boolean
      - `on_suppression` boolean
      - `event` string
    - `approval_mode` 'policy' | 'required'
    - `api` object
      - `key` string
      - `content_mode` 'code' | 'managed'
      - `identity` string
    - `managed_content` ManagedContentContract
      - `source_locale` string: Canonical BCP 47 source locale; inherits product settings when omitted.
      - `configured_locales` string[]: Source plus target locales; omitted source is added by the server.
      - `fallback_locale` string
      - `layout_id` string, uuid: Selected reusable layout; the server snapshots its published revision into this content revision.
      - `localization_policy` object: A Journey email goes out only in the person's own language: it waits for their translation, about a minute for receipts, codes and security notices and up to a day for other email, and is not sent if the translation is not ready by then.
        - `manual_review` boolean
      - `source` object, required
        - `subject` string, required
        - `preheader` string
        - `body_text` string: Accepted for source compatibility; rendered plain text derives from final HTML.
        - `body_html` string, required
        - `layout` string: Must contain one {{ content }} slot.
        - `variants` object: Optional source versions. Every version is translated automatically in the same revision.
        - `variables` object, required
      - `samples` object: Named sample value sets for preview and source validation.
      - `translations` object: Source ICU message catalog and optional supplied target catalogs. Missing configured targets are queued for asynchronous translation; saving does not require them.
    - `steps` JourneyStep[], required
      - `id` string, uuid
      - `position` integer
      - `kind` 'email' | 'wait' | 'condition' | 'action' | 'split', required
      - `name` string, required
      - `managed_content` object: Typed source contract and draft/published revision identity for an email step.
        - `id` string, uuid
        - `version` integer
        - `draft_revision_id` string, uuid, nullable
        - `published_revision_id` string, uuid, nullable
        - `published_publication_id` string, uuid, nullable
        - `source_revision_id` string, uuid, nullable
        - `layout_revision_id` string, uuid, nullable
        - `published_layout_revision_id` string, uuid, nullable
        - `source_locale` string, nullable
        - `configured_locales` string[]
        - `variables` object
        - `published_variables` object
      - `config` object, required: Wait steps optionally accept until with name, path, operator (equals, not_equals, contains, or exists), and value, plus required on_met (continue or end_journey). continue skips the following reminder email; end_journey completes the Journey. A reminder email must immediately follow in the same branch. The wait checks current customer data every minute up to amount/unit. Missing fields are unknown and hold the reminder. Ordinary waits and standalone conditions retain their existing behavior. Name checks with verified customer milestones. Managed email steps reference the published content through managed_content_id; activation rejects an unpublished reference. Every email step sets delivery_class: product (transactional email, such as receipts and account mail) or broadcast (marketing, which carries an unsubscribe link and needs the product Brand's company name and mailing address); a step without it is refused with 400 journey_delivery_class_required. Email steps may set expires_after_seconds (1-604800) to discard a deferred send after that interval from its original start; the default is seven days.
      - `arms` JourneyArm[]
        - `key` 'A' | 'B' | 'C' | 'D', required
        - `label` string, required
        - `allocation` number, required
        - `steps` JourneyStep[], required
    - `id` string, uuid, required
    - `status` 'draft' | 'discovered' | 'active' | 'paused' | 'archived', required
    - `api_key` string, nullable
    - `content_mode` 'code' | 'managed' | 'null', nullable
    - `identity` string, nullable
    - `identity_aliases` string[]
    - `samples` object[]
    - `version` integer, required
    - `stats` object, required
    - `stepStats` object[]
    - `armStats` object[]
    - `health` object, required
    - `indicator` object, required
    - `sparkline` number[], required
    - `activated_at` string, date-time, nullable
    - `updated_at` string, date-time
    - `last_activity_at` string, date-time, nullable

---

[API](https://skmtc.dev/bangermail/apis/banger-api.md) · [All operations](https://skmtc.dev/bangermail/apis/banger-api/llms.txt) · [OpenAPI document](https://skmtc.dev/bangermail/apis/banger-api/revisions/a149909267f9?raw)
