Skip to main content
GET
/
v1
/
tracks
/
{trackId}
/
report
Get track report
curl --request GET \
  --url https://api.doozy.live/v1/tracks/{trackId}/report \
  --header 'x-api-key: <api-key>'
{
  "object": "track_report",
  "id": "wf_abc123",
  "name": "New Hire Onboarding",
  "state": "active",
  "trigger_type": "user_join",
  "summary": {
    "object": "track_report_summary",
    "total_enrollees": 100,
    "active": 40,
    "completed": 45,
    "failed": 5,
    "paused": 5,
    "canceled": 5,
    "average_completion_rate": 72.5,
    "average_time_to_complete": 604800
  },
  "enrollees": [
    {
      "object": "track_enrollee",
      "id": "inst_abc123",
      "user_id": "user_abc123",
      "email": "jane.doe@example.com",
      "display_name": "Jane Doe",
      "slack_user_id": "U01234567",
      "department": "Engineering",
      "location": "San Francisco, CA",
      "manager_name": "John Smith",
      "manager_email": "john.smith@example.com",
      "groups": [
        "Engineering",
        "Backend"
      ],
      "status": "active",
      "started_at": "2026-01-15T10:30:00.000Z",
      "completed_at": null,
      "steps_completed": 3,
      "steps_total": 5,
      "progress_percentage": 60,
      "step_progress": [
        {
          "object": "track_step_progress",
          "step_id": "step_abc123",
          "step_type": "survey",
          "title": "Onboarding Survey",
          "order": 1,
          "status": "completed",
          "started_at": "2026-01-15T10:30:00.000Z",
          "completed_at": "2026-01-16T14:30:00.000Z",
          "failed_at": null,
          "skipped_at": null,
          "failure_reason": null,
          "result": {
            "object": "track_step_survey_result",
            "survey_id": "survey_abc123",
            "survey_instance_id": "inst_xyz789",
            "status": "responded",
            "responded_at": "2026-01-16T14:30:00.000Z",
            "answers": [
              {
                "question_id": "q_abc123",
                "question_text": "How satisfied are you with your onboarding?",
                "question_type": "scale_1_to_10",
                "value": 8,
                "comment": "Great experience!"
              }
            ]
          }
        }
      ]
    }
  ],
  "total_enrollees": 100,
  "has_more": true,
  "url": "/v1/tracks/wf_abc123/report",
  "next_cursor": "inst_xyz789",
  "previous_cursor": "inst_abc123",
  "step_analytics": [
    {
      "object": "track_step_analytics",
      "step_id": "step_abc123",
      "step_type": "survey",
      "title": "Onboarding Survey",
      "order": 1,
      "total_reached": 80,
      "completed": 70,
      "failed": 3,
      "skipped": 2,
      "active": 5,
      "completion_rate": 87.5
    }
  ]
}

Authorizations

x-api-key
string
header
required

API key for authentication. Generate keys in the Doozy dashboard.

Path Parameters

trackId
string
required

The unique identifier of the track

Minimum string length: 1
Example:

"wf_abc123"

Query Parameters

limit
integer
default:25

Maximum number of enrollees to return (1-100, default 25)

Required range: 1 <= x <= 100
Example:

25

starting_after
string

Cursor for pagination - the instance ID of the last enrollee from the previous page

Example:

"inst_abc123"

ending_before
string

Cursor for pagination - the instance ID of the first enrollee from the next page (for backward pagination)

Example:

"inst_xyz789"

status
enum<string>
default:all

Filter enrollees by status (default: all)

Available options:
active,
completed,
failed,
paused,
canceled,
all
Example:

"all"

from_date
string

Filter enrollees started at or after this date (ISO 8601)

Example:

"2026-01-01T00:00:00.000Z"

to_date
string

Filter enrollees started at or before this date (ISO 8601)

Example:

"2026-01-31T23:59:59.999Z"

step_type
enum<string>

Only include step progress for steps of this type

Available options:
message,
quiz,
poll,
survey,
individualIntroductions,
mentorAssignment,
delay,
addToWorkflow,
tasks
Example:

"survey"

step_id
string

Only include step progress for this specific step ID

Example:

"step_abc123"

include_step_results
enum<string>
default:true

Include activity results (survey answers, quiz responses, etc.) in step progress (default true)

Available options:
true,
false
Example:

"true"

include_step_analytics
enum<string>
default:false

Include aggregate per-step analytics in the response (default false)

Available options:
true,
false
Example:

"false"

Response

Track report with summary, enrollees, and optional analytics

object
enum<string>
required

Object type identifier

Available options:
track_report
Example:

"track_report"

id
string
required

Track ID

Example:

"wf_abc123"

name
string
required

Track name

Example:

"New Hire Onboarding"

state
enum<string>
required

Current track state

Available options:
draft,
active,
paused,
archived
Example:

"active"

trigger_type
enum<string>
required

How users are added to the track

Available options:
user_join,
manual_user_trigger,
schedule,
work_anniversary,
added_by_another_workflow,
self_join
Example:

"user_join"

summary
object
required

Summary statistics for the report

enrollees
object[]
required

Paginated list of enrollees with step progress

total_enrollees
integer
required

Total number of enrollees matching the filter

Example:

100

has_more
boolean
required

Whether there are more enrollees available beyond this page

Example:

true

url
string
required

The URL for accessing this report

Example:

"/v1/tracks/wf_abc123/report"

next_cursor
string | null
required

Cursor to fetch the next page of enrollees. Pass as starting_after in subsequent requests.

Example:

"inst_xyz789"

previous_cursor
string | null
required

Cursor to fetch the previous page of enrollees. Pass as ending_before in subsequent requests.

Example:

"inst_abc123"

step_analytics
object[]

Per-step aggregate analytics (only included if include_step_analytics=true)