Skip to main content
POST
Enroll user in track

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_abc123xyz"

Body

application/json
email
string<email>

The email address of the user to enroll

Maximum string length: 254
Example:

"user@example.com"

user_id
string

The Doozy user ID of the user to enroll

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

"abc123"

slack_user_id
string

The Slack user ID of the user to enroll

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

"U01ABC2DEF3"

allow_already_completed
boolean
default:false

Allow enrolling a user who has previously completed this track. Defaults to false.

Example:

false

start_at
string<date-time>

ISO 8601 timestamp for when the user should start the track. Defaults to now. Can be set to a future date to schedule enrollment.

Example:

"2026-02-20T09:00:00.000Z"

catch_up
boolean

Override the Track's catch-up setting for this enrollment. If a step's send time has passed, true makes overdue steps eligible in order; working hours can delay delivery. false shifts the Track so Day 1 starts on the next working day. Omit to inherit the Track setting.

Example:

true

working_hours
object

Complete policy snapshot for this enrollment. Omit to inherit the resolved Track policy.

run_every_day
boolean
deprecated

Deprecated compatibility override. true changes only this enrollment's working days to all seven days while preserving its inherited hours and time zone. working_hours takes precedence when both fields are sent.

Example:

false

Response

User successfully enrolled in track

object
enum<string>
required

The object type

Available options:
track_enrollment
Example:

"track_enrollment"

track_id
string
required

The ID of the track the user was enrolled in

Example:

"wf_abc123xyz"

user_id
string
required

The Doozy user ID of the enrolled user

Example:

"usr_abc123"

instance_id
string
required

The ID of the workflow instance created for this enrollment

Example:

"inst_xyz789"

status
enum<string>
required

The status of the enrollment

Available options:
active
Example:

"active"

enrolled_at
string
required

ISO 8601 timestamp of when the user was enrolled

Example:

"2026-02-18T10:30:00.000Z"

starts_at
string
required

ISO 8601 timestamp of when the user will start the track (may be in the future if scheduled)

Example:

"2026-02-20T09:00:00.000Z"