Skip to main content
GET
Get track details

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

Required string length: 1 - 128
Pattern: ^[A-Za-z0-9_-]+$
Example:

"wf_abc123"

Response

Track details with steps and metrics

object
enum<string>
required

Object type identifier

Available options:
track
Example:

"track"

id
string
required

Unique track identifier

Example:

"wf_abc123"

name
string
required

Track name

Example:

"New Hire Onboarding"

description
string | null
required

Track description

Example:

"30-day onboarding journey for new employees"

state
enum<string>
required

Current state of the track

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,
cohort_started,
cohort_member_added
Example:

"user_join"

published_version
integer
required

Monotonic version number, incremented on each publish. 0 before the first publish (a never-published eager draft, which clients open directly in the editor rather than the detail page).

Required range: x >= 0
Example:

3

current_draft_id
string | null
required

Active collaborative draft id, or null for legacy tracks created before the collaborative editor rollout.

Example:

"wf-abc123-draft-7f2"

step_count
integer
required

Number of steps in the track

Example:

8

allow_self_join
boolean
required

Whether users can self-enroll in the track

Example:

true

created_at
string
required

When the track was created (ISO 8601 format)

Example:

"2026-01-15T10:30:00.000Z"

updated_at
string
required

When the track was last updated (ISO 8601 format)

Example:

"2026-01-20T14:00:00.000Z"

meta
object
required

What the requesting user can do with this track (edit, pause, resume, delete, activate, manage admins). Use these to drive UI affordances.

trigger
object
required

Full trigger configuration for the track

steps
object[]
required

Steps in the track

steps_converted
boolean
required

True when the returned steps were converted on read from legacy wait-based timing to the day-anchored model. The stored track is untouched until it is saved again; the editor uses this to show its upgrade notice.

Example:

false

catch_up
boolean
required

Catch-up: when a member reaches the track after a step's send time has already passed, true (default) delivers the passed steps now, in order; false shifts the whole track so Day 1 starts clean the next working day (nothing is skipped).

Example:

true

run_days
integer[]
required

Days of the week the track may deliver steps on (0=Sunday … 6=Saturday). At least one day; defaults to Monday–Friday ([1,2,3,4,5]). Day-N step timing counts forward through these days in the member's timezone, skipping the rest.

Minimum array length: 1
Required range: 0 <= x <= 6
Example:
metrics
object
required

Enrollment and completion metrics

admin_users
string[]
required

List of Doozy user IDs who are admins of this track

Example:
result_visibility
object | null
required

Who can see this track's results in the People view. Null = owner only. Set via the result-visibility endpoint.

last_published_at
string | null
required

ISO 8601 timestamp of the most recent publish, or null if never published.

Example:

"2026-06-10T09:48:36.000Z"

last_published_by
object | null
required

Profile of the person who last published, or null.

draft_has_unpublished_changes
boolean
required

True when the current draft has edits that diverge from the published track.

Example:

true

draft_last_edited_at
string | null
required

ISO 8601 timestamp of the last edit to the current draft, or null.

Example:

"2026-06-10T10:15:00.000Z"

draft_last_edited_by
object | null
required

Profile of the last person to edit the current draft, or null.