Skip to main content

Training Progress

See how far each staff member is with the lessons their shop set for them: their job role's lessons, the "Everyone else" lessons for staff with no job role, and any extra paths the owner assigned. The numbers are the same ones the Staff list's Training column and Team training show.

Read only. Needs the staff:read scope.

Get Training Progress​

Endpoint​

GET /v1/training/progress

Query Parameters​

NameTypeRequiredDescription
staff_idintegerNoOne staff member. Leave out for every active staff member

Example Request​

curl -X GET "https://app.equipdash.com/api/v1/training/progress?staff_id=12" \
-H "Authorization: Bearer YOUR_API_KEY"

Response​

{
"data": [
{
"staff_id": 12,
"name": "Sam Rivera",
"status": "in_progress",
"progress": "2 of 4 done",
"done": 2,
"total": 4,
"has_login": true,
"last_watched_at": "2026-10-20T14:05:00+00:00",
"next_lesson": { "id": "bookings/fulfillment", "title": "Booking Fulfillment" },
"paths": [
{
"path_id": 31,
"kind": "role",
"name": "Front Desk",
"title": "Front Desk training",
"done": 2,
"total": 4,
"due_date": null,
"lessons": [
{ "id": "bookings/pos/creating-pos-booking", "title": "Creating a POS Booking", "completed_at": "2026-10-18T09:12:00+00:00" },
{ "id": "bookings/payments/recording-payment", "title": "Recording a Payment", "completed_at": "2026-10-20T14:05:00+00:00" },
{ "id": "bookings/fulfillment", "title": "Booking Fulfillment", "completed_at": null },
{ "id": "search/global-search", "title": "Global Search & Command Bar", "completed_at": null }
]
}
]
}
],
"meta": {
"request_id": "req_abc123",
"timestamp": "2026-10-22T10:00:00+00:00"
}
}

Fields​

FieldDescription
statusdone, in_progress, not_started, no_login (no login yet, so they cannot start) or none (no lessons)
progressThe words the app shows: "2 of 4 done", "Done", "Not started" or "No login yet"
paths[].kindrole (a job role's lessons), team (Everyone else) or staff (an extra path)
paths[].nameThe job role's name, "Everyone else", or the extra path's name
paths[].due_dateSet on extra paths only, YYYY-MM-DD

A staff_id that is not an active staff member of your account returns 404.