Skip to content

List Decola Live Progress

Endpoint used to list live access events for the institution in the JWT. Events come from CloudWatch (/ivs-live-access). Pagination uses an opaque cursor (no global total). Only active students (privilegio_id = 4) are returned.

Note: This endpoint is served by Toolzz LXP API (Encore decola service), not by the institution monolith domain. Use the LXP API base URL (e.g. https://lxp.prod.api.toolzz.media).

Warning: Requires a JWT for ADMIN (privilegio_id = 2) or MANAGER (privilegio_id = 5). Admins/managers who watch a live are not included in the listing.

Terminal window
curl --request GET \
--url 'https://lxp.prod.api.toolzz.media/api/v1/decola/live-progress?limit=100&date_from=2026-07-14&date_to=2026-07-14' \
--header 'Authorization: Bearer <token>' \
--header 'Accept: application/json'
{
"data": [
{
"user_email": "joao.restaurante@toolzz.local",
"user_name": "João Silva Restaurante",
"cnpj": "12.345.678/0001-90",
"schools": ["Escola Sede Decola Teste"],
"live_uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"live_title": "Live Decola",
"live_user_id": 98220002,
"live_user_name": "João Silva Restaurante",
"live_user_email": "joao.restaurante@toolzz.local",
"live_user_cpf": "123.456.789-00",
"live_access_type": "logged_in",
"live_connection_datetime": "2026-07-15T12:16:27.000Z"
}
],
"pagination": {
"limit": 100,
"next_cursor": "eyJsaXZlVXVpZCI6Ii4uLiJ9",
"has_more": true
}
}

ParameterTypeDescriptionRequired
AuthorizationStringJWT access token (Bearer <token>). Institution is taken from the JWT institution claim.Yes
ParameterTypeDescriptionRequired
limitnumberItems per page. Default 100. Maximum controlled by secret DecolaMaxPerPage (default 100).No
cursorstringOpaque cursor from the previous response (pagination.next_cursor). Omit on the first page.No
date_fromstringStart of window on live_connection_datetime (YYYY-MM-DD or ISO-8601). Defaults to ~180 days lookback when omitted.No
date_tostringEnd of window. Defaults to now when omitted.No
date_fieldstringOptional; only live_connection_datetime is accepted.No

KeyTypeDescription
dataarrayLive access events for the current page.
data[].user_email / user_namestring | nullStudent identity (from event payload / enrichment).
data[].cnpjstring | nullCompany CNPJ (MySQL enrichment).
data[].schoolsstring[]School titles (MySQL enrichment).
data[].live_uuidstring | nullLive UUID.
data[].live_titlestring | nullLive title.
data[].live_user_idnumber | nullStudent user ID from the access event.
data[].live_user_namestring | nullStudent name from the live access payload.
data[].live_user_emailstring | nullStudent email from the live access payload.
data[].live_user_cpfstring | nullStudent CPF from the live access payload.
data[].live_access_typestring | nullAccess type (e.g. logged_in).
data[].live_connection_datetimestring | nullConnection timestamp (ISO 8601).
pagination.limitnumberRequested page size.
pagination.next_cursorstring | nullCursor for the next page.
pagination.has_morebooleantrue if more pages are available.

There is no global total (CloudWatch has no cheap count). Keep consuming while has_more is true.


HTTPCodeWhen
400invalid_argumentInvalid limit, cursor, or date filter
401unauthenticatedMissing or invalid JWT
403permission_deniedUser is not ADMIN or MANAGER
429resource_exhaustedRate limit (60 requests/minute per institution)
503unavailableCloudWatch or MySQL enrichment unavailable
504deadline_exceededMySQL UUID discovery, student filter, or enrichment exceeded DecolaMysqlQueryTimeoutMs

  • Requires valid JWT with ADMIN or MANAGER privilege (auth: true).
  • Events must match the JWT institution; non-student users are filtered out.
  • Responses may be cached in Redis (~30 minutes) per institution + cursor + limit + date filter.