Skip to main content
GET
Alunos do club

Authorizations

Authorization
string
header
required

Token OPACO de sessão de quem administra, emitido por /v1/auth/admin/sign-in e verificado contra a nossa tabela — o mesmo desenho do studentSession, para a outra identidade.

É o esquema de quem ADMINISTRA — o dashboard. O aluno do classroom usa o studentSession; uma rota consumida pelos dois declara os dois esquemas, e o middleware aceita qualquer um deles. As duas credenciais são opacas e chegam pelo mesmo cabeçalho: quem as separa é a tabela em que cada uma existe.

O dashboard o guarda em cookie httpOnly, que o BFF troca pelo Authorization a cada chamada.

Path Parameters

clubId
string<uuid>
required

Id público da organização — o mesmo que GET /v1/me devolve em organization_id.

Na URL o recurso se chama club; no contrato e no domínio, organization. A divergência é deliberada: clubs é a palavra do produto, e a URL é o que as pessoas leem.

É o identificador do provedor de autenticação, e é assim de propósito: o cliente precisa nomear a organização ao pedir o token, e o token é o que prova o escopo. Um id só nosso obrigaria a traduzir um no outro antes de ter um token — e a tradução exigiria uma chamada escopada, que é justamente a que ainda não dá para fazer.

O uuid interno da organização não aparece no contrato: ele é o que as chaves estrangeiras do domínio referenciam, e continua sendo nosso.

Query Parameters

Maximum string length: 200
exclude_admins
boolean
default:false

Deixa de fora as contas de aluno de quem ADMINISTRA o club — as que POST /v1/clubs/{clubId}/classroom-session cria para a própria pessoa ver o classroom. Elas não são matrícula de ninguém, e é o que a busca de "entrar como aluno" pede.

O filtro mora aqui, e não na tela, porque a diferença é uma coluna que o contrato não conta: StudentSummary não diz quem, entre os alunos, também administra o club.

include_removed
boolean
default:false

Traz também as contas anonimizadas a pedido (anonymized). Fora delas por padrão: numa lista de pessoas, uma conta removida é uma lápide com nome de ninguém. Quem procura uma conta específica no suporte liga o filtro.

segment
enum<string>
default:all

O recorte da tela de Membros. at_risk é o engagement frio — quem não aparece há mais de uma semana; new é quem se cadastrou nos últimos sete dias; completed é quem já terminou ao menos UM curso inteiro (todas as aulas publicadas dele).

Um curso, e não tudo o que tem acesso: quem assina o club inteiro nunca terminaria "tudo", e a aba ficaria vazia para sempre.

Available options:
all,
at_risk,
new,
completed
tag_id
string<uuid>

Só quem tem esta tag.

last_seen
enum<string>
default:any

Filtra por quando a pessoa esteve no classroom pela última vez. stale inclui quem nunca entrou: a pergunta é de quem não se sabe nada há uma semana, e nunca visto é o caso extremo dela.

Available options:
any,
last_7_days,
last_30_days,
stale
limit
integer
default:25
Required range: 1 <= x <= 100
page
integer
default:1
Required range: x >= 1

Response

A página pedida

data
object[]
required
total
integer
required

Quantos alunos o recorte tem, além desta página.

engagement
object
required

Quantas pessoas em cada faixa. Mede o CLUB inteiro, não o recorte pedido: sob a aba "Em risco" um termômetro do recorte diria sempre 100% frio, que é a pergunta respondendo a si mesma. Contas removidas ficam de fora.