List Lesson Stats
Retrieve completion for every live lesson on the course, in curriculum order. Headings are excluded and hidden lessons are included. The list is not a page.
Request
GET /players/{id}/analytics/lessons
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Course UUID. See Identifiers. |
Query Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
query | string | — | Case-insensitive substring of the lesson name. Longer than 255 characters is 422. |
Example Request
curl -X GET "https://app.easy.tools/api/v1/players/8f3c1a62-d047-4e89-9b25-1c6a4d8e0f71/analytics/lessons" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
Response
Success Response (200)
{
"data": [
{
"file_id": "3a91c4e0-6b27-4f58-9d14-7e2b8c0a5f63",
"name": "Welcome",
"finished_count": 3,
"progress_percent": 30,
"public_url": "https://app.easy.tools/players/course-intro?file_uuid=3a91c4e0-6b27-4f58-9d14-7e2b8c0a5f63"
}
]
}
Response Fields
Each entry in data has the fields described in Lesson Stat Object. file_uuid in public_url is the same UUID as file_id.
Error Responses
Not Found Error (404)
See Identifiers.
{
"error": {
"code": "RESOURCE_NOT_FOUND",
"message": "Resource not found"
}
}
Bad Gateway Error (502)
Easycart answered, but not with a result the API can use.
{
"error": {
"code": "UPSTREAM_ERROR",
"message": "EasyCart rejected the request"
}
}
Service Unavailable Error (503)
Easycart is unreachable or failing. Retry later.
{
"error": {
"code": "SERVICE_UNAVAILABLE",
"message": "EasyCart is unavailable"
}
}
Authentication, permission, and rate-limit errors are described in Authorization.