Skip to main content

Journey Engine - Journey Read

Endpoint

/o/journey-engine/journey

Enterprise Only
This API is available exclusively in Countly Enterprise.

Overview

Retrieve one journey definition by ID, including version graph data and computed journey counters.

Authentication

  • Authentication methods:
    • API Key (parameter): api_key=YOUR_API_KEY
    • Auth Token (parameter): auth_token=YOUR_AUTH_TOKEN
    • Auth Token (header): countly-token: YOUR_AUTH_TOKEN

Permissions

  • Required permission: Read on the journey_engine feature

Request Parameters

ParameterTypeRequiredDescription
api_keyStringYes (or use auth_token)API key authentication method.
auth_tokenStringYes (or use api_key)Auth token authentication method.
app_idStringYesApplication ID used to scope the journey definition query.
idStringYesJourney definition ID. Must be a valid MongoDB ObjectID string.

Response

Success Response

{
"_id": "67164f4a1f1bd90d6354430a",
"name": "Onboarding Journey",
"appId": "64afe321d5f9b2f77cb2c8ed",
"status": "draft",
"created": 1727101524294,
"updated": 1727101525000,
"createdBy": "John Admin",
"appKey": "app_key_123",
"usersEntered": 1200,
"flowsCompleted": 450,
"versions": [
{
"_id": "67164f4a1f1bd90d6354430b",
"version": 1,
"created": 1727101524294,
"status": "draft",
"skip_threshold": 5,
"blocks": [
{
"id": "block_1",
"subType": "incoming-data"
}
]
}
]
}

Response Fields

FieldTypeDescription
_idStringJourney definition ID.
nameStringJourney name.
appIdStringApp ID associated with the journey.
statusStringJourney definition status (deleted definitions are filtered out).
createdNumberDefinition creation timestamp (ms).
updatedNumberDefinition update timestamp (ms).
createdByStringCreator full name resolved from countly.members.
appKeyStringApp key resolved from countly.apps.
usersEnteredNumberComputed count of journey instances for this journey definition.
flowsCompletedNumberComputed count of completed journey instances for this journey definition.
versionsArrayJourney versions for this definition, excluding deleted versions.
versions._idStringJourney version ID.
versions.versionNumberVersion number.
versions.createdNumberVersion creation timestamp (ms).
versions.statusStringVersion status.
versions.blocksArrayJourney block graph for this version.
versions.skip_thresholdNumber or NullVersion skip threshold configuration.

Error Responses

Status Code: 400 Bad Request

{
"result": "Journey definition ID is required"
}

Status Code: 400 Bad Request

{
"result": "Application ID is required"
}

Status Code: 404 Not Found

{
"result": "Journey definition not found"
}

Status Code: 500 Internal Server Error

{
"result": "Failed to get journey definition"
}

Behavior/Processing

  1. Validates read permission.
  2. Requires both id and app_id; missing values return 400.
  3. Loads journey definition from countly.journey_definition, excluding soft-deleted definitions (status != deleted).
  4. Joins non-deleted versions from countly.journey_versions.
  5. Orders versions with active first, then draft, then others; then newest first within each group.
  6. Resolves createdBy and appKey via lookups to countly.members and countly.apps.
  7. Recomputes usersEntered and flowsCompleted from countly.journey_instances counts before returning.

Examples

Example 1: Read Journey Definition

/o/journey-engine/journey?app_id=64afe321d5f9b2f77cb2c8ed&id=67164f4a1f1bd90d6354430a
{
"_id": "67164f4a1f1bd90d6354430a",
"name": "Onboarding Journey",
"status": "draft",
"usersEntered": 1200,
"flowsCompleted": 450,
"versions": [
{
"_id": "67164f4a1f1bd90d6354430b",
"version": 1,
"status": "active"
}
]
}

Database Collections

CollectionUsed forData touched by this endpoint
countly.journey_definitionBase journey definition lookup by app and definition ID, excluding deleted definitions._id, appId, status, name, created, updated
countly.journey_versionsVersion graph joined into versions array, excluding deleted versions.journeyDefinitionId, status, version, blocks, skip_threshold, created
countly.membersResolves creator full name for createdBy._id, full_name
countly.appsResolves app key for appKey._id, key
countly.journey_instancesRecomputes usersEntered and flowsCompleted counters at read time.journeyDefinitionId, status

Limitations

  • id must be a valid MongoDB ObjectID string. Invalid formats can trigger 500 Failed to get journey definition.
  • This endpoint excludes soft-deleted journey definitions and soft-deleted journey versions.
  • usersEntered and flowsCompleted are recomputed from journey_instances on each request, so response latency depends on instance collection size.

Ⓔ Enterprise

This feature is part of Countly Enterprise.

Get Access:

Already a Customer? Use support portal if you have any questions


Last Updated

2026-02-16