Skip to content

List Decola Active Members

Endpoint used to list active student members of the institution in the JWT who had login activity. By default, filters logins in the current calendar month. Optionally accept a custom date range on last_access. Pagination uses an opaque cursor (no global total / COUNT), same envelope as progress / live-progress.

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). Rows include only active students (privilegio_id = 4).

Terminal window
curl --request GET \
--url 'https://lxp.prod.api.toolzz.media/api/v1/decola/active-members?limit=100' \
--header 'Authorization: Bearer <token>' \
--header 'Accept: application/json'

With a custom date range:

Terminal window
curl --request GET \
--url 'https://lxp.prod.api.toolzz.media/api/v1/decola/active-members?limit=100&date_from=2026-07-14&date_to=2026-07-14' \
--header 'Authorization: Bearer <token>'
{
"data": [
{
"user_id": 98220002,
"name": "João Silva Restaurante",
"email": "joao.restaurante@toolzz.local",
"cnpj": "12.345.678/0001-90",
"cpf": "123.456.789-00",
"registered_at": "2026-07-08T04:54:00.000Z",
"last_access_month": "2026-07-08T12:00:00.000Z",
"institution_title": "Decola Restaurantes",
"subdomain": "decola-restaurante"
}
],
"pagination": {
"limit": 100,
"next_cursor": "eyJuIjoiLi4uIn0",
"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 login date range (YYYY-MM-DD or ISO-8601). Must be sent together with date_to. When set, replaces the current-month filter.No
date_tostringEnd of login date range. Must be sent together with date_from.No
date_fieldstringOptional; only last_access is accepted.No

KeyTypeDescription
dataarrayActive member rows for the current page.
data[].user_idnumberStudent user ID.
data[].namestring | nullStudent name.
data[].emailstring | nullStudent email.
data[].cnpjstring | nullCompany CNPJ.
data[].cpfstring | nullStudent CPF.
data[].registered_atstring | nullRegistration timestamp (ISO 8601).
data[].last_access_monthstring | nullLast login in the filtered window (ISO 8601).
data[].institution_titlestring | nullInstitution title.
data[].subdomainstring | nullInstitution subdomain.
pagination.limitnumberRequested page size.
pagination.next_cursorstring | nullCursor for the next page; null when finished.
pagination.has_morebooleantrue if more pages are available.

  1. Call without cursor.
  2. Process data.
  3. If pagination.has_more is true, call again with cursor=pagination.next_cursor.
  4. Repeat until has_more is false.

There is no total / total_pages — the API does not run a full-table COUNT.


HTTPCodeWhen
400invalid_argumentInvalid limit, cursor, or incomplete/invalid date filter
401unauthenticatedMissing or invalid JWT
403permission_deniedUser is not ADMIN or MANAGER
429resource_exhaustedRate limit (60 requests/minute per institution)
503unavailableMySQL unavailable
504deadline_exceededMySQL query exceeded DecolaMysqlQueryTimeoutMs

  • Requires valid JWT with ADMIN or MANAGER privilege (auth: true).
  • Data is scoped to the institution from the token.
  • Report subjects are active students only (privilegio_id = 4).
  • Responses may be cached in Redis (~30 minutes) per institution + cursor + limit + date filter.