Skip to main content

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​

ParameterTypeRequiredDescription
idstringYesCourse UUID. See Identifiers.

Query Parameters​

ParameterTypeDefaultDescription
querystring—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.