---
title: "List journey entities"
method: POST
path: "/api/v2/product-analytics/journey/list"
tags: ["Product Analytics"]
---

# List journey entities

`POST /api/v2/product-analytics/journey/list`

## Request

- Base URL: `https://api.datadoghq.com`
- URL: `https://api.datadoghq.com/api/v2/product-analytics/journey/list`
- Auth: one of:
  - API key in header `DD-API-KEY` and API key in header `DD-APPLICATION-KEY`
  - OAuth 2
    - Authorization code: `/oauth2/v1/authorize`
    - Token URL: `/oauth2/v1/token`
- TypeScript: <https://skmtc.dev/datadog/apis/datadog-api-v2-collection/docs/api/v2/product-analytics/journey/list/post.ts> (a function with typed inputs; its response is checked against the schema)

Return the individual sessions that reached, or dropped off at, a given step of the journey.
Each row contains the identity join key, the event timestamp, and the columns requested
in `entity_columns`.

## Request body

- ProductAnalyticsJourneyListRequest: Request body for a journey list query.
  - `data` ProductAnalyticsJourneyListRequestData, required: The single JSON:API resource carrying a journey list query. Its attributes hold the time window and the journey whose matching entities should be listed, one row each.
    - `attributes` ProductAnalyticsJourneyListRequestAttributes, required: Attributes of a journey list request.
      - `from` integer, required: Start of the query window, in epoch milliseconds.
      - `query` ProductAnalyticsJourneyListQuery, required: Query definition for a journey list request.
        - `computed_columns` ProductAnalyticsJourneyComputedColumn[]: Computed columns to add to each row.
          - `name` 'first_conversion_timestamps', required: Name of a computed column to add to each row.
        - `conversion_type` 'conversion' | 'drop-off': Whether to return the entities that converted at the target step, or those that dropped off.
        - `entity_columns` string[]: Attribute columns to return for each row, in addition to the identity join key and `timestamp`.
        - `entity_filters` string: Additional search query applied to the returned rows.
        - `group_by` ProductAnalyticsGraphQueryGroupBy[]: Segments the results by the values of one or more facets.
          - `facet` string, required: Attribute path to group by.
          - `limit` integer: Maximum number of groups to return. Omit it to let the service choose.
          - `should_exclude_missing` boolean: Whether to exclude entities that have no value for this facet.
          - `sort` ProductAnalyticsGroupBySort: Sort configuration for group-by results.
            - `aggregation` string: The aggregation function to sort by.
            - `metric` string: The metric to sort by.
            - `order` 'asc' | 'desc': Direction of sort.
          - `source` 'product_analytics_audience_filters.users' | 'product_analytics_audience_filters.accounts': Audience dimension to group by, instead of an event facet.
          - `target` union: A reference to a step, or a range of steps, in the journey. Use a `node` target to name a single step, or a `path` target to name the range between two steps.
            - ProductAnalyticsJourneyNodeTarget: A reference to a single step of the journey.
              - …
            - ProductAnalyticsJourneyPathTarget: A reference to the range of steps between two nodes of the journey.
              - …
          - `value_filters` string[]: Restricts the results to these facet values.
        - `limit` integer: Maximum number of rows to return. Omit it to let the service choose.
        - `search` ProductAnalyticsJourneySearch, required: Defines the steps of the journey and the filters applied to it.
          - `expression` string, required: Expression combining the node aliases in order, for example `A -> B -> C`.
          - `filters` ProductAnalyticsJourneySearchFilters: Filters applied on top of the journey step expression.
            - `audience_filters` ProductAnalyticsJourneyAudienceFilters: Restricts the journey to an audience built from named sub-queries. Sub-query names must be unique across `users`, `segments`, and `accounts`.
              - …
            - `graph_filters` ProductAnalyticsJourneySearchGraphFilter[]: Filters on journey-level metrics such as time to convert.
              - …
            - `string_filter` string: Free-text search query applied to the whole journey.
          - `join_keys` ProductAnalyticsJoinKeys: Identity join keys used to stitch events belonging to the same user or session.
            - `primary` string: Primary identity join key. Defaults to `@session.id`.
            - `secondary` string[]: Additional identity join keys.
          - `node_objects` object, required: Map of node alias to the query matching that step of the journey. Every alias used in `expression` must have an entry here.
        - `sort` ProductAnalyticsJourneyListSort: Sort configuration for the returned rows. The sort is applied only when `facet` is one of the returned columns; otherwise it is ignored.
          - `facet` string: Column to sort on.
          - `order` 'asc' | 'desc': Direction of sort.
        - `target` union: A reference to a step, or a range of steps, in the journey. Use a `node` target to name a single step, or a `path` target to name the range between two steps.
          - ProductAnalyticsJourneyNodeTarget: A reference to a single step of the journey.
            - `type` 'node', required: The discriminator identifying a target that references a single step.
            - `value` string, required: Alias of the targeted node.
          - ProductAnalyticsJourneyPathTarget: A reference to the range of steps between two nodes of the journey.
            - `end` string, required: Alias of the node the path ends at.
            - `start` string, required: Alias of the node the path starts at.
            - `type` 'path', required: The discriminator identifying a target that references a range of steps.
      - `to` integer, required: End of the query window, in epoch milliseconds.
    - `type` 'journey_list_request', required: The resource type identifier for a journey list request.

## Response `200`

OK

- ProductAnalyticsJourneyListResponse: Response for a journey list query.
  - `data` ProductAnalyticsJourneyListResponseData, required: The single JSON:API resource holding the entities matching a journey. Its attributes contain the returned rows and the total number of rows that matched, ignoring `limit`.
    - `attributes` ProductAnalyticsJourneyListResponseAttributes, required: Attributes of a journey list response.
      - `entity` 'session' | 'user' | 'account', required: The kind of entity returned by a journey list query.
      - `records` ProductAnalyticsJourneyListRecord[], required: The returned rows.
      - `total_count` integer, required: Total number of rows matching the query, ignoring `limit`.
    - `id` string, required: Identifier of this result.
    - `type` 'journey_list_response', required: The resource type identifier for a journey list response.

## Other responses

- `400`: Bad Request
- `403`: Not Authorized
- `429`: Too many requests

---

[API](https://skmtc.dev/datadog/apis/datadog-api-v2-collection.md) - [All operations](https://skmtc.dev/datadog/apis/datadog-api-v2-collection/llms.txt) - [OpenAPI document](https://skmtc.dev/datadog/apis/datadog-api-v2-collection/revisions/3f70db624329?raw)
