---
title: "Get the whole journey template"
method: GET
path: "/api/journey/template/overview"
tags: ["journey"]
---

# Get the whole journey template

`GET /api/journey/template/overview`

All tracks with their steps and contents nested, for a graph view of the journey.

## Response `200`

Successful Response

- JourneyTemplateResponse — Whole journey template: all tracks with their steps and contents, for a graph view.
  - `tracks` JourneyTrackResponse[] — All tracks with nested steps and contents
    - `code` string, required — Track code (e.g. attivo)
    - `unlock_mode` 'appointments' | 'immediate', required — appointments or immediate
    - `display_order` integer, required — Position of the track in the overview
    - `steps` JourneyTrackStepResponse[] — Steps of this track, ordered by display_order
      - `code` string, required — Step unique code
      - `track_code` string, required — Track this step belongs to
      - `phase` string, required — Phase code
      - `title` string, required — Step title
      - `icon` string, required — Icon name
      - `description` string, nullable — Step description
      - `display_order` integer, required — Position in the timeline
      - `unlock_after_appointments` integer, required — FATTO appointments needed to unlock
      - `optional` boolean, required — Whether the step is optional
      - `milestone` string, nullable — Auto-complete milestone identifier
      - `locked_message` string, nullable — Message shown while locked
      - `cta_url` string, nullable — CTA URL/path
      - `cta_label` string, nullable — CTA label
      - `delay_days` integer, nullable — Days in status before unlock
      - `daily_outbound` DailyOutbound — Daily workflow outbound config, keyed by side (both/psi/nutri).
        - `both` DailyOutboundChannels — Per-side (both/psi/nutri) outbound rules grouped by channel.
          - `spoki` SpokiOutboundRule[], nullable — Spoki rules
            - `template_id` union — Spoki template id
              - …
            - `automation_id` string, nullable — Spoki automation id (alternative to template_id)
            - `day` integer, nullable — Status-period day index; omitted = fires on step unlock
          - `push` PushOutboundRule[], nullable — Push rules
            - `notification_id` string, nullable — Internal notification identifier
            - `title` string, nullable — Push title
            - `body` string, nullable — Push body text
            - `type` string, nullable — Notification data type
            - `day` integer, nullable — Status-period day index; omitted = fires on step unlock
          - `slack` SlackOutboundRule[], nullable — Slack rules
            - `message` string, nullable — Message template (may contain {{variables}})
            - `pdfs` string[], nullable — PDF paths to attach
            - `day` integer, nullable — Status-period day index; omitted = fires on step unlock
          - `email` EmailOutboundRule[], nullable — Email rules
            - `template` string, nullable — SMTP template id
            - `subject` string, nullable — Email subject
            - `day` integer, nullable — Status-period day index; omitted = fires on step unlock
          - `alerts` OperatorAlertOutboundRule[], nullable — Operator-alert rules
            - `title` string, nullable — Alert title template
            - `message` string, nullable — Alert message template (may contain {{variables}})
            - `day` integer, nullable — Status-period day index; omitted = fires on step unlock
        - `psi` DailyOutboundChannels — Per-side (both/psi/nutri) outbound rules grouped by channel.
          - `spoki` SpokiOutboundRule[], nullable — Spoki rules
            - `template_id` union — Spoki template id
              - …
            - `automation_id` string, nullable — Spoki automation id (alternative to template_id)
            - `day` integer, nullable — Status-period day index; omitted = fires on step unlock
          - `push` PushOutboundRule[], nullable — Push rules
            - `notification_id` string, nullable — Internal notification identifier
            - `title` string, nullable — Push title
            - `body` string, nullable — Push body text
            - `type` string, nullable — Notification data type
            - `day` integer, nullable — Status-period day index; omitted = fires on step unlock
          - `slack` SlackOutboundRule[], nullable — Slack rules
            - `message` string, nullable — Message template (may contain {{variables}})
            - `pdfs` string[], nullable — PDF paths to attach
            - `day` integer, nullable — Status-period day index; omitted = fires on step unlock
          - `email` EmailOutboundRule[], nullable — Email rules
            - `template` string, nullable — SMTP template id
            - `subject` string, nullable — Email subject
            - `day` integer, nullable — Status-period day index; omitted = fires on step unlock
          - `alerts` OperatorAlertOutboundRule[], nullable — Operator-alert rules
            - `title` string, nullable — Alert title template
            - `message` string, nullable — Alert message template (may contain {{variables}})
            - `day` integer, nullable — Status-period day index; omitted = fires on step unlock
        - `nutri` DailyOutboundChannels — Per-side (both/psi/nutri) outbound rules grouped by channel.
          - `spoki` SpokiOutboundRule[], nullable — Spoki rules
            - `template_id` union — Spoki template id
              - …
            - `automation_id` string, nullable — Spoki automation id (alternative to template_id)
            - `day` integer, nullable — Status-period day index; omitted = fires on step unlock
          - `push` PushOutboundRule[], nullable — Push rules
            - `notification_id` string, nullable — Internal notification identifier
            - `title` string, nullable — Push title
            - `body` string, nullable — Push body text
            - `type` string, nullable — Notification data type
            - `day` integer, nullable — Status-period day index; omitted = fires on step unlock
          - `slack` SlackOutboundRule[], nullable — Slack rules
            - `message` string, nullable — Message template (may contain {{variables}})
            - `pdfs` string[], nullable — PDF paths to attach
            - `day` integer, nullable — Status-period day index; omitted = fires on step unlock
          - `email` EmailOutboundRule[], nullable — Email rules
            - `template` string, nullable — SMTP template id
            - `subject` string, nullable — Email subject
            - `day` integer, nullable — Status-period day index; omitted = fires on step unlock
          - `alerts` OperatorAlertOutboundRule[], nullable — Operator-alert rules
            - `title` string, nullable — Alert title template
            - `message` string, nullable — Alert message template (may contain {{variables}})
            - `day` integer, nullable — Status-period day index; omitted = fires on step unlock
      - `contents` JourneyStepContentResponse[] — Content blocks of this step, ordered by display_order
        - `content_id` string, required — Content unique id
        - `step_code` string, required — Step this content belongs to
        - `display_order` integer, required — Position within the step
        - `payload` union, required — Type-specific content payload
          - TextContentPayload
            - `type` 'text'
            - `style` 'title' | 'body', nullable — title or body
            - `text` string, nullable — The text content
            - `metadata` TextContentMetadata
              - …
          - ImageContentPayload
            - `type` 'image'
            - `file_path` string, nullable — Internal file path
            - `variant` 'full', nullable — e.g. full
            - `metadata` ImageContentMetadata
              - …
          - VideoContentPayload
            - `type` 'video'
            - `title` string, nullable
            - `description` string, nullable
            - `url` string, nullable — External video URL
            - `metadata` VideoContentMetadata
              - …
          - AudioContentPayload
            - `type` 'audio'
            - `title` string, nullable
            - `description` string, nullable
            - `url` string, nullable — External audio URL
            - `metadata` AudioContentMetadata
              - …
          - PodcastContentPayload
            - `type` 'podcast'
            - `title` string, nullable
            - `description` string, nullable
            - `url` string, nullable — External podcast URL
            - `metadata` PodcastContentMetadata
              - …
          - PdfContentPayload
            - `type` 'pdf'
            - `title` string, nullable
            - `description` string, nullable
            - `file_path` string, nullable — Internal file path
            - `metadata` PdfContentMetadata
              - …
          - MicroGameContentPayload
            - `type` 'micro_game'
            - `title` string, nullable
            - `description` string, nullable
            - `game_type` string, nullable — micro_game template identifier
            - `metadata` MicroGameContentMetadata
              - …
          - QuestionnaireContentPayload
            - `type` 'questionnaire'
            - `title` string, nullable
            - `description` string, nullable
            - `metadata` QuestionnaireContentMetadata
              - …

---

[API](https://skmtc.dev/corabea/apis/corabea-api.md) · [All operations](https://skmtc.dev/corabea/apis/corabea-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/corabea/corabea-api/revisions/13c1bce1bdc4/schema)
