Skip to main content

Journey Engine - Debug

Enterprise

This endpoint is part of Countly Enterprise. To get access, contact sales or compare versions. Existing customers can reach the support portal with questions.

Endpoint

/o/journey-engine/debug

Overview

Admin-only debug endpoint that returns journeys, versions, instances, and block logs for a journey definition.

Authentication

Pass api_key or auth_token as a query parameter, or send countly-token as a header. See Authentication.

Permissions

Requires global admin access.

Request Parameters

  • journeyDefinitionId (required if name not provided): Journey definition ID
  • name (required if journeyDefinitionId not provided): Journey name
  • deviceId (optional): Filter instances by device ID
  • appUserId (optional): Filter instances by app user ID
  • startTime (optional): Filter instances by start time (ISO or ms)
  • endTime (optional): Filter instances by end time (ISO or ms)

Examples

GET /o/journey-engine/debug?journeyDefinitionId=67164f4a1f1bd90d6354430a&deviceId=device_123

Response

Success Response

[
{
"_id": "67164f4a1f1bd90d6354430a",
"name": "Onboarding Journey",
"journey_versions": [
{
"_id": "67164f4a1f1bd90d6354430b",
"status": "active"
}
],
"journey_instances": [
{
"_id": "67164f4a1f1bd90d635443aa",
"appUserId": "user_123",
"status": "completed"
}
]
}
]

Response Fields

FieldTypeDescription
(root value)ArrayJourney definitions with debug expansions
[]._idStringJourney definition ID
[].nameStringJourney name
[].journey_versionsArrayJoined versions for the journey. Each version contains filtered journey_instances.
[].journey_versions[].nameStringVersion name.
[].journey_versions[].statusStringVersion status.
[].journey_versions[].journey_instancesArrayJourney instances for this version after optional deviceId/appUserId filtering.
[].journey_versions[].journey_instances[].deviceIdStringDevice ID.
[].journey_versions[].journey_instances[].appUserIdStringApp user ID.
[].journey_versions[].journey_instances[].startTimeNumberInstance start timestamp.
[].journey_versions[].journey_instances[].endTimeNumber or NullInstance end timestamp.
[].journey_versions[].journey_instances[].dataObjectInstance data payload.
[].journey_versions[].journey_instances[].block_logArrayBlock logs joined by journey instance ID.

Error Responses

  • HTTP 400
{
"result": "name or journeyDefinitionId is required"
}
  • HTTP 401
{
"result": "User is not authorized to access this resource"
}
  • HTTP 500
{
"result": "Failed to get journey definition"
}

Behavior

  • Requires the authenticated member to be a global admin.
  • Requires either journeyDefinitionId or name.
  • Matches journey_definition by _id or exact name.
  • Joins versions, journey instances, and block logs.
  • Filters version instances by deviceId and/or appUserId when provided.
  • The current handler intends to support startTime/endTime, but those filters reference the internal match object before it is initialized. Until the code is fixed, avoid relying on startTime and endTime for this endpoint.
  • No related endpoints
Implementation details

Database Collections

CollectionUsed forData touched by this endpoint
countly.journey_definitionEndpoint data sourceStores endpoint-related records this endpoint reads or modifies.
countly.journey_versionsEndpoint data sourceStores endpoint-related records this endpoint reads or modifies.
countly.journey_instancesEndpoint data sourceStores endpoint-related records this endpoint reads or modifies.
countly.journey_block_logsEndpoint data sourceStores endpoint-related records this endpoint reads or modifies.