---
title: "View journeys"
method: GET
path: "/apps/{app_id}/journeys"
---

# View journeys

`GET /apps/{app_id}/journeys`

## Request

- Base URL: `https://api.onesignal.com`
- URL: `https://api.onesignal.com/apps/{app_id}/journeys`
- Auth: none required

Retrieve a paginated list of journeys for an app. Returns a summary representation of each journey; use [View journey](/reference/view-journey) for the full configuration. Uses forward-only cursor-based pagination.

## Path parameters

- `app_id` string, required

## Query parameters

- `cursor` string
- `limit` integer

## Headers

- `Authorization` string, required

## Response `200`

200

- object
  - `journeys` JourneyListItem[]: Journeys ordered by creation time, newest first.
    - `id` string: Journey UUID. Read-only.
    - `app_id` string: UUID of the app the journey belongs to. Read-only.
    - `name` string: Journey name, up to 300 characters.
    - `state` 'draft' | 'scheduled' | 'processing' | 'active' | 'archived': 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](/reference/update-journey).
    - `created_at` string: ISO 8601 creation time. Read-only.
    - `updated_at` string: ISO 8601 last-update time. Read-only.
    - `started_at` string, nullable: 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.
    - `archived_at` string, nullable: ISO 8601 time the journey was archived, or `null`. Read-only.
    - `created_source` string, nullable: Origin of the journey, for example `public_api` or `dashboard`. Read-only.
    - `schedule` JourneySchedule, nullable: Optional future start and/or stop time. `null` means no scheduled activation.
      - `start_at` string, nullable: ISO 8601 start time. Use UTC (`Z` or `+00:00`). Must be at least 5 minutes in the future.
      - `stop_at` string, nullable: ISO 8601 stop time. Use UTC (`Z` or `+00:00`). Must be in the future and later than `start_at`.
      - `error` string, nullable: Read-only. Present when a scheduling error occurred.
    - `audience` object: Entry audience reduced to its kind. Use [View journey](/reference/view-journey) for the full audience configuration.
      - `kind` 'segment' | 'event_trigger': Audience kind.
    - `reentry_rules` JourneyReentryRules, nullable: Controls whether and how soon a user can re-enter the journey. `null` means re-entry is not allowed.
      - `duration_seconds` integer: Minimum seconds before a user can re-enter. Must be at least `600` (10 minutes).
  - `has_more` boolean: `true` if more journeys exist beyond this page.
  - `next_cursor` string: Cursor for the next page. Present only when `has_more` is `true`.

## Other responses

- `400`: 400
- `403`: 403
- `429`: Rate limit exceeded. Wait the number of seconds in the `Retry-After` header before retrying.

## Changes

- **2026-11-03** `36dfd39b1be3`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/onesignal/apis/api-onesignal-com/changes/apps/:app_id/journeys/get.md)

---

[API](https://skmtc.dev/onesignal/apis/api-onesignal-com.md) - [All operations](https://skmtc.dev/onesignal/apis/api-onesignal-com/llms.txt) - [OpenAPI document](https://skmtc.dev/onesignal/apis/api-onesignal-com/revisions/36dfd39b1be3?raw)
