User Journey Statistics

Query statistical data, including "Journey Overall Statistics", "Message Sending Statistics", and "Webhook Sending Statistics".

User Journey Statistics

Query journey data including "entries, target conversions, early exits, normal completions, and in-progress" counts.

Endpoint

GET /v1/stats/journey

Authentication

The EngageLab REST API uses HTTP Basic Authentication as the authentication method. Add an Authorization header to the HTTP Header:

Authorization: Basic ${base64_auth_string}
              
              Authorization: Basic ${base64_auth_string}

            
This code block in the floating window

The base64_auth_string is generated using the following algorithm: base64(api_key:api_secret)

  • The header name is "Authorization", and the value is the base64-encoded "username:password" pair (separated by a colon).
  • In the MA API context, the username is the APIKey and the password is the APISecret. Please add an API-type data source in Data Sources to obtain the APIKey and API Secret.

Request Example

curl -X GET 'https://ma-api.engagelab.com/v1/stats/journey?journey_id=123&time_unit=DAY&start_time=2026-06-01&end_time=2026-06-07' \ -H 'Authorization: Basic OTY0NDFlNGQ3MzIwN2E2NTE3YWJmYmJjOmFwaV9zZWNyZXRfeHh4'
              
              curl -X GET 'https://ma-api.engagelab.com/v1/stats/journey?journey_id=123&time_unit=DAY&start_time=2026-06-01&end_time=2026-06-07' \
  -H 'Authorization: Basic OTY0NDFlNGQ3MzIwN2E2NTE3YWJmYmJjOmFwaV9zZWNyZXRfeHh4'

            
This code block in the floating window

Request Parameters

Field Type Required Description
journey_id String Yes Journey ID. Multiple IDs separated by commas. Up to 100 supported.
time_unit String Yes Time unit. Two possible values: HOUR, DAY
start_time String Yes Start time in yyyy-MM-dd format
end_time String Yes End time in yyyy-MM-dd format
- end_time >= start_time
- Maximum range between start and end is 31 days.

Response Parameters

Field Type Description
code Integer Whether the API call was successful. 0 indicates success or partial success; other values indicate failure
message String Description of the API call result. success on success
data Array<Object> Returned statistics information
journey_id Long Journey ID
time_unit String Time unit. Two possible values: HOUR, DAY
error_code Int Whether the journey statistics were retrieved successfully. 0 indicates success; other values indicate failure
detail Array<Object> Hourly/Daily breakdown
time String Statistics date in the response, in yyyy-MM-dd or yyyy-MM-dd HH format
entry_count Long Number of entries
conversion_count Long Number of conversions
completion_count Long Number of normal completions
early_exit_count Long Number of early exits
in_progress_count Long Number of in-progress users as of end_time or the given time

All Successful

{ "code": 0, "message": "success", "data": [ { "journey_id":123, "time_unit": "DAY", "error_code": 0, "detail": [ { "time": "2026-05-28", "entry_count": 312, "conversion_count": 24, "early_exit_count": 41, "completion_count": 247, "in_progress_count": 156 } ] }, { "journey_id":234, "time_unit": "DAY", "error_code": 0, "detail": [ { "time": "2026-05-28", "entry_count": 312, "conversion_count": 24, "early_exit_count": 41, "completion_count": 247, "in_progress_count": 156 } ] }] }
              
              {  
  "code": 0,
  "message": "success",
  "data": [
    {
      "journey_id":123,
      "time_unit": "DAY",
      "error_code": 0,
      "detail": [
      {
        "time": "2026-05-28",
        "entry_count": 312,
        "conversion_count": 24,
        "early_exit_count": 41,
        "completion_count": 247,
        "in_progress_count": 156
      }
    ]
  },
  {
      "journey_id":234,
      "time_unit": "DAY",
      "error_code": 0,
      "detail": [
      {
        "time": "2026-05-28",
        "entry_count": 312,
        "conversion_count": 24,
        "early_exit_count": 41,
        "completion_count": 247,
        "in_progress_count": 156
      }
    ]
  }]
}

            
This code block in the floating window

All Failed

{ "code": 50219, "message": "The number of JourneyIDs exceeds 100." }
              
              {
  "code": 50219,
  "message": "The number of JourneyIDs exceeds 100."
}

            
This code block in the floating window

Partial Success

{ "code": 0, "message": "success", "data": [ { "journey_id": 123, "time_unit": "DAY", "error_code": 0, "detail": [ { "time": "2026-05-28", "entry_count": 312, "conversion_count": 24, "early_exit_count": 41, "completion_count": 247, "in_progress_count": 156 } ] }, { "journey_id": -1, "error_code": 50221 }] }
              
              {  
  "code": 0,
  "message": "success",
  "data": [
    {
      "journey_id": 123,
      "time_unit": "DAY",
      "error_code": 0,
      "detail": [
      {
        "time": "2026-05-28",
        "entry_count": 312,
        "conversion_count": 24,
        "early_exit_count": 41,
        "completion_count": 247,
        "in_progress_count": 156
      }
    ]
  },
  {
      "journey_id": -1,
      "error_code": 50221
  }]
}

            
This code block in the floating window

Message Sending Statistics

Query data such as "sent, delivered, clicked" for each message component in a journey.

Endpoint

GET /v1/stats/journey/message

Request Example

curl -X GET 'https://ma-api.engagelab.com/v1/stats/journey/message?journey_id=123&time_unit=DAY&start_time=2026-06-01&end_time=2026-06-07' \ -H 'Authorization: Basic OTY0NDFlNGQ3MzIwN2E2NTE3YWJmYmJjOmFwaV9zZWNyZXRfeHh4'
              
              curl -X GET 'https://ma-api.engagelab.com/v1/stats/journey/message?journey_id=123&time_unit=DAY&start_time=2026-06-01&end_time=2026-06-07' \
  -H 'Authorization: Basic OTY0NDFlNGQ3MzIwN2E2NTE3YWJmYmJjOmFwaV9zZWNyZXRfeHh4'

            
This code block in the floating window

Request Parameters

Field Type Required Description
journey_id String Yes Journey ID. Multiple IDs separated by commas. Up to 100 supported.
time_unit String Yes Time unit. Two possible values: HOUR, DAY
start_time String Yes Start time in yyyy-MM-dd format
end_time String Yes End time in yyyy-MM-dd format
- end_time >= start_time
- Maximum range between start and end is 31 days.

Response Parameters

Field Type Description
code Integer Whether the API call was successful. 0 indicates success or partial success; other values indicate failure
message String Description of the API call result. success on success
data Array<Object> Returned statistics information
journey_id Long Journey ID
time_unit String Time unit. Two possible values: HOUR, DAY
error_code Int Whether the journey statistics were retrieved successfully. 0 indicates success; other values indicate failure
detail Array<Object> Hourly/Daily breakdown
time String Statistics date in the response, in yyyy-MM-dd or yyyy-MM-dd HH format
component_id Long Message component ID
component_name String Message component name, e.g. APP_PUSH_1, EMAIL_2
channel String Channel type
entry_count Long Number of entries
plan_count Long Planned target count
send_count Long Number sent
delivery_count Long Number delivered
impression_count Long Number of impressions
open_count Long Number of opens
click_count Long Number of clicks
conversion_count Long Number of conversions
revenue_count Long Number of revenue-generating events
revenue_amount Number Total revenue amount

All Successful

{ "code": 0, "message": "success", "data": [ { "journey_id": 123, "time_unit": "DAY", "error_code": 0, "detail": [ { "component_id": 8801, "component_name": "EMAIL_1", "channel": "Email", "time": "2026-05-28", "entry_count": 320, "plan_count": 312, "send_count": 290, "delivery_count": 270, "impression_count": 198, "open_count": 155, "click_count": 24, "conversion_count": 8, "revenue_count": 7, "revenue_amount": 488.50 }, { "component_id": 8801, "component_name": "EMAIL_1", "channel": "Email", "time": "2026-05-29", "entry_count": 305, "plan_count": 298, "send_count": 280, "delivery_count": 261, "impression_count": 185, "open_count": 144, "click_count": 19, "conversion_count": 6, "revenue_count": 5, "revenue_amount": 312.00 } ] } ] }
              
              {
  "code": 0,
  "message": "success",
  "data": [
    {
      "journey_id": 123,
      "time_unit": "DAY",
      "error_code": 0,
      "detail": [
      {
        "component_id": 8801,
        "component_name": "EMAIL_1",
        "channel": "Email",
        "time": "2026-05-28",
        "entry_count": 320,
        "plan_count": 312,
        "send_count": 290,
        "delivery_count": 270,
        "impression_count": 198,
        "open_count": 155,
        "click_count": 24,
        "conversion_count": 8,
        "revenue_count": 7,
        "revenue_amount": 488.50
      },
      {
        "component_id": 8801,
        "component_name": "EMAIL_1",
        "channel": "Email",
        "time": "2026-05-29",
        "entry_count": 305,
        "plan_count": 298,
        "send_count": 280,
        "delivery_count": 261,
        "impression_count": 185,
        "open_count": 144,
        "click_count": 19,
        "conversion_count": 6,
        "revenue_count": 5,
        "revenue_amount": 312.00
      }
    ]
  }
]
}

            
This code block in the floating window

Webhook Sending Statistics

Query data such as "requests and successes" for each Webhook component in a journey.

Endpoint

GET /v1/stats/journey/webhook

Request Example

curl -X GET 'https://ma-api.engagelab.com/v1/stats/journey/webhook?journey_id=123&time_unit=DAY&start_time=2026-06-01&end_time=2026-06-07' \ -H 'Authorization: Basic OTY0NDFlNGQ3MzIwN2E2NTE3YWJmYmJjOmFwaV9zZWNyZXRfeHh4'
              
              curl -X GET 'https://ma-api.engagelab.com/v1/stats/journey/webhook?journey_id=123&time_unit=DAY&start_time=2026-06-01&end_time=2026-06-07' \
  -H 'Authorization: Basic OTY0NDFlNGQ3MzIwN2E2NTE3YWJmYmJjOmFwaV9zZWNyZXRfeHh4'

            
This code block in the floating window

Request Parameters

Field Type Required Description
journey_id String Yes Journey ID. Multiple IDs separated by commas. Up to 100 supported.
time_unit String Yes Time unit. Two possible values: HOUR, DAY
start_time String Yes Start time in yyyy-MM-dd format
end_time String Yes End time in yyyy-MM-dd format
- end_time >= start_time
- Maximum range between start and end is 31 days.

Response Parameters

Field Type Description
code Integer Whether the API call was successful. 0 indicates success or partial success; other values indicate failure
message String Description of the API call result. success on success
data Array<Object> Returned statistics information
journey_id Long Journey ID
time_unit String Time unit. Two possible values: HOUR, DAY
error_code Int Whether the journey statistics were retrieved successfully. 0 indicates success; other values indicate failure
detail Array<Object> Hourly/Daily breakdown
time String Statistics date in the response, in yyyy-MM-dd or yyyy-MM-dd HH format
component_id Long Message component ID
component_name String Message component name, e.g. APP_PUSH_1, EMAIL_2
entry_count Long Number of entries into the Webhook component
send_count Long Number of successful requests
send_failure_count Long Number of failed requests

All Successful

{ "code": 0, "message": "success", "data": [ { "journey_id": 123, "time_unit": "DAY", "error_code": 0, "detail": [ { "component_id": 9001, "component_name": "WEBHOOK_1", "time": "2026-05-28", "entry_count": 520, "send_count": 498, "send_failure_count": 22 }, { "component_id": 9001, "component_name": "WEBHOOK_1", "time": "2026-05-29", "entry_count": 610, "send_count": 600, "send_failure_count": 10 } ] } ] }
              
              {
  "code": 0,
  "message": "success",
  "data": [
    {
      "journey_id": 123,
      "time_unit": "DAY",
      "error_code": 0,
      "detail": [
      {
        "component_id": 9001,
        "component_name": "WEBHOOK_1",
        "time": "2026-05-28",
        "entry_count": 520,
        "send_count": 498,
        "send_failure_count": 22
      },
      {
        "component_id": 9001,
        "component_name": "WEBHOOK_1",
        "time": "2026-05-29",
        "entry_count": 610,
        "send_count": 600,
        "send_failure_count": 10
      }
    ]
  }
]
}

            
This code block in the floating window

Error Codes

Common Error Codes

HTTP Status Code code message Description
401 40050 authorization invalid Authentication failed
429 55110 Too many requests, please try again later. Request rate limit exceeded
400 40001 Invalid HTTP parameter HTTP message or required path/query parameter is invalid
400 40002 Invalid business parameter Parameter format, enum, or type validation failed
400 50034 Project does not exist The project bound to the APIKey does not exist
500 -1 Internal server error Service exception

Journey Statistics Error Codes

HTTP Status Code code message Description
400 50202 Journey does not exist. The journey does not exist or does not belong to the current project
400 50217 Invalid time range. start_time > end_time, or the query range exceeds 31 days
400 50219 The number of JourneyIDs exceeds 100. The number of JourneyIDs exceeds the 100 limit
400 50220 Invalid time_unit. Invalid time_unit value; only HOUR and DAY are supported
400 50221 Invalid journey_id format. Invalid format for a single JourneyID (error_code field, indicating that a specific journey query failed)
Icon Solid Transparent White Qiyu
Contact Sales