Skip to main content
GET
/
v1
/
tracks
List tracks
curl --request GET \
  --url https://api.doozy.live/v1/tracks \
  --header 'x-api-key: <api-key>'
{
  "object": "list",
  "data": [
    {
      "object": "track",
      "id": "wf_abc123",
      "name": "New Hire Onboarding",
      "description": "30-day onboarding journey for new employees",
      "state": "active",
      "trigger_type": "user_join",
      "step_count": 8,
      "allow_self_join": true,
      "created_at": "2026-01-15T10:30:00.000Z",
      "updated_at": "2026-01-20T14:00:00.000Z"
    }
  ],
  "has_more": true,
  "url": "/v1/tracks",
  "next_cursor": "wf_xyz789",
  "previous_cursor": "wf_abc123"
}

Authorizations

x-api-key
string
header
required

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

Query Parameters

limit
integer
default:25

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

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

25

starting_after
string

Cursor for pagination - the ID of the last item from the previous page

Example:

"wf_abc123"

state
enum<string>

Filter tracks by state

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

"active"

trigger_type
enum<string>

Filter tracks by trigger type

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

"user_join"

Response

List of tracks

object
enum<string>
required

String representing the object type

Available options:
list
Example:

"list"

data
object[]
required

Array of track objects

has_more
boolean
required

Whether there are more results available beyond this page

Example:

true

url
string
required

The URL for accessing this list endpoint

Example:

"/v1/tracks"

next_cursor
string | null
required

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

Example:

"wf_xyz789"

previous_cursor
string | null
required

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

Example:

"wf_abc123"