Classes
Classes of a discipline: creation, period, assistants and readiness.
List a discipline's classes
GET /disciplinas/{disciplinaId}/turmas
Access: Requires the capability LER, in some scope (the response only includes what the person can see). Success status: 200.
Path parameters
| Parameter | Type | Required | Constraints | Description |
|---|---|---|---|---|
disciplinaId | string (uuid) | yes | Discipline id. |
Query parameters
| Parameter | Type | Required | Constraints | Description |
|---|---|---|---|---|
busca | string | no | to 100 characters | Search text (name or email, depending on the route). |
limite | integer | no | 1…200; default: 50 | How many items per page (1 to 200; the default varies by route, usually 50). |
deslocamento | integer | no | 0…100000; default: 0 | How many items to skip, for paging (up to 100000). |
inativos | "true" | "false" | no | default: "false" | true also includes inactive records. |
Response
list of TurmaDto (+ total)
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
id | string (uuid) | yes | ||
disciplinaId | string (uuid) | yes | ||
instituicaoId | string (uuid) | yes | ||
nome | string | yes | ||
ativo | boolean | yes | ||
endereco | string or null | yes | ||
localAtividade | string or null | yes | ||
lat | number or null | yes | ||
lng | number or null | yes | ||
toleranciaAntesMin | integer or null | yes | ||
toleranciaDepoisMin | integer or null | yes | ||
notasVisiveisEm | Data or null | yes | ||
dataInicio | Data or null | yes | ||
dataFim | Data or null | yes |
On error: ErroApi model.
Example
curl -X GET "$API/disciplinas/{disciplinaId}/turmas" -H "Authorization: Bearer $TOKEN"Create a class in the discipline
POST /disciplinas/{disciplinaId}/turmas
Not idempotent: a class has no unique identifier, so repeating the call creates another class.
Access: Requires the capability CADASTRAR over discipline (params.disciplinaId). Success status: 201.
Path parameters
| Parameter | Type | Required | Constraints | Description |
|---|---|---|---|---|
disciplinaId | string (uuid) | yes | Discipline id. |
Request body (TurmaCriar)
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
nome | string | yes | 1–200 characters | |
endereco | string or null | no | to 500 characters | |
localAtividade | string or null | no | to 500 characters | |
lat | number or null | no | -90…90 | |
lng | number or null | no | -180…180 | |
toleranciaAntesMin | integer or null | no | 0…720 | |
toleranciaDepoisMin | integer or null | no | 0…720 | |
notasVisiveisEm | Data or null | no |
Response
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
id | string (uuid) | yes | ||
disciplinaId | string (uuid) | yes | ||
instituicaoId | string (uuid) | yes | ||
nome | string | yes | ||
ativo | boolean | yes | ||
endereco | string or null | yes | ||
localAtividade | string or null | yes | ||
lat | number or null | yes | ||
lng | number or null | yes | ||
toleranciaAntesMin | integer or null | yes | ||
toleranciaDepoisMin | integer or null | yes | ||
notasVisiveisEm | Data or null | yes | ||
dataInicio | Data or null | yes | ||
dataFim | Data or null | yes |
On error: ErroApi model.
Example
curl -X POST "$API/disciplinas/{disciplinaId}/turmas" -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" -d '{"nome":"texto"}'List the classes the person can see
GET /turmas
Access: Requires the capability LER, in some scope (the response only includes what the person can see). Success status: 200.
Query parameters
| Parameter | Type | Required | Constraints | Description |
|---|---|---|---|---|
busca | string | no | to 100 characters | Search text (name or email, depending on the route). |
limite | integer | no | 1…200; default: 50 | How many items per page (1 to 200; the default varies by route, usually 50). |
deslocamento | integer | no | 0…100000; default: 0 | How many items to skip, for paging (up to 100000). |
inativos | "true" | "false" | no | default: "false" | true also includes inactive records. |
disciplinaId | string (uuid) | no | Discipline id. |
Response
list of TurmaDto (+ total)
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
id | string (uuid) | yes | ||
disciplinaId | string (uuid) | yes | ||
instituicaoId | string (uuid) | yes | ||
nome | string | yes | ||
ativo | boolean | yes | ||
endereco | string or null | yes | ||
localAtividade | string or null | yes | ||
lat | number or null | yes | ||
lng | number or null | yes | ||
toleranciaAntesMin | integer or null | yes | ||
toleranciaDepoisMin | integer or null | yes | ||
notasVisiveisEm | Data or null | yes | ||
dataInicio | Data or null | yes | ||
dataFim | Data or null | yes |
On error: ErroApi model.
Example
curl -X GET "$API/turmas" -H "Authorization: Bearer $TOKEN"Read a class
GET /turmas/{turmaId}
Access: Requires the capability LER over class (params.turmaId). Success status: 200.
Path parameters
| Parameter | Type | Required | Constraints | Description |
|---|---|---|---|---|
turmaId | string (uuid) | yes | Class id. |
Response
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
id | string (uuid) | yes | ||
disciplinaId | string (uuid) | yes | ||
instituicaoId | string (uuid) | yes | ||
nome | string | yes | ||
ativo | boolean | yes | ||
endereco | string or null | yes | ||
localAtividade | string or null | yes | ||
lat | number or null | yes | ||
lng | number or null | yes | ||
toleranciaAntesMin | integer or null | yes | ||
toleranciaDepoisMin | integer or null | yes | ||
notasVisiveisEm | Data or null | yes | ||
dataInicio | Data or null | yes | ||
dataFim | Data or null | yes |
On error: ErroApi model.
Example
curl -X GET "$API/turmas/{turmaId}" -H "Authorization: Bearer $TOKEN"Update a class
PATCH /turmas/{turmaId}
Access: Requires the capability CADASTRAR over class (params.turmaId). Success status: 200.
Path parameters
| Parameter | Type | Required | Constraints | Description |
|---|---|---|---|---|
turmaId | string (uuid) | yes | Class id. |
Request body (TurmaAtualizar)
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
nome | string | no | 1–200 characters | |
endereco | string or null | no | to 500 characters | |
localAtividade | string or null | no | to 500 characters | |
lat | number or null | no | -90…90 | |
lng | number or null | no | -180…180 | |
toleranciaAntesMin | integer or null | no | 0…720 | |
toleranciaDepoisMin | integer or null | no | 0…720 | |
notasVisiveisEm | Data or null | no | ||
ativo | boolean | no |
Response
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
id | string (uuid) | yes | ||
disciplinaId | string (uuid) | yes | ||
instituicaoId | string (uuid) | yes | ||
nome | string | yes | ||
ativo | boolean | yes | ||
endereco | string or null | yes | ||
localAtividade | string or null | yes | ||
lat | number or null | yes | ||
lng | number or null | yes | ||
toleranciaAntesMin | integer or null | yes | ||
toleranciaDepoisMin | integer or null | yes | ||
notasVisiveisEm | Data or null | yes | ||
dataInicio | Data or null | yes | ||
dataFim | Data or null | yes |
On error: ErroApi model.
Example
curl -X PATCH "$API/turmas/{turmaId}" -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" -d '{}'List the class's assistants
GET /turmas/{turmaId}/auxiliares
Access: Requires the capability LER over class (params.turmaId). Success status: 200.
Path parameters
| Parameter | Type | Required | Constraints | Description |
|---|---|---|---|---|
turmaId | string (uuid) | yes | Class id. |
Query parameters
| Parameter | Type | Required | Constraints | Description |
|---|---|---|---|---|
busca | string | no | to 100 characters | Search text (name or email, depending on the route). |
limite | integer | no | 1…200; default: 50 | How many items per page (1 to 200; the default varies by route, usually 50). |
deslocamento | integer | no | 0…100000; default: 0 | How many items to skip, for paging (up to 100000). |
inativos | "true" | "false" | no | default: "false" | true also includes inactive records. |
Response
list of VinculoItem (+ total)
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
id | string (uuid) | yes | ||
usuarioId | string (uuid) | yes | ||
nome | string | yes | ||
email | string | yes | ||
papel | "ADMIN_PLATAFORMA" | "CURADOR" | "PRECEPTOR" | "COORDENADOR" | "PROFESSOR" | "AUXILIAR" | yes | ||
instituicaoId | string (uuid) or null | yes | ||
disciplinaId | string (uuid) or null | yes | ||
turmaId | string (uuid) or null | yes | ||
podeAvaliar | boolean | yes | ||
podeCadastrar | boolean | yes | ||
ativo | boolean | yes |
On error: ErroApi model.
Example
curl -X GET "$API/turmas/{turmaId}/auxiliares" -H "Authorization: Bearer $TOKEN"Set the class period (start and end)
PUT /turmas/{turmaId}/periodo
Access: Requires the capability LER over class (params.turmaId). Success status: 200.
Path parameters
| Parameter | Type | Required | Constraints | Description |
|---|---|---|---|---|
turmaId | string (uuid) | yes | Class id. |
Request body (TurmaPeriodo)
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
dataInicio | Data or null | yes | ||
dataFim | Data or null | yes |
Response
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
id | string (uuid) | yes | ||
disciplinaId | string (uuid) | yes | ||
instituicaoId | string (uuid) | yes | ||
nome | string | yes | ||
ativo | boolean | yes | ||
endereco | string or null | yes | ||
localAtividade | string or null | yes | ||
lat | number or null | yes | ||
lng | number or null | yes | ||
toleranciaAntesMin | integer or null | yes | ||
toleranciaDepoisMin | integer or null | yes | ||
notasVisiveisEm | Data or null | yes | ||
dataInicio | Data or null | yes | ||
dataFim | Data or null | yes |
On error: ErroApi model.
Example
curl -X PUT "$API/turmas/{turmaId}/periodo" -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" -d '{"dataInicio":"2026-03-10","dataFim":"2026-03-10"}'What is already in place in the class (counts)
GET /turmas/{turmaId}/prontidao
Returns counts only (students with access, assessors, upcoming activities…), never names or emails.
Access: Requires the capability CADASTRAR over class (params.turmaId). Success status: 200.
Path parameters
| Parameter | Type | Required | Constraints | Description |
|---|---|---|---|---|
turmaId | string (uuid) | yes | Class id. |
Response
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
centro | boolean | yes | ||
toleranciaPropria | boolean | yes | The class's own tolerance; false = the default applies. | |
atividadesFuturas | integer | yes | 0… | Non-cancelled activities from today on (in the institution's time zone). |
alunos | integer | yes | 0… | |
alunosComAcesso | integer | yes | 0… | Students who already accepted the invitation (active account) and can record attendance. |
avaliadores | integer | yes | 0… | People with an active account who can confirm attendance in this class, at any level (class, discipline, institution). |
avaliadoresConvidados | integer | yes | 0… | People who will be able to assess but have not accepted the invitation yet. |
On error: ErroApi model.
Example
curl -X GET "$API/turmas/{turmaId}/prontidao" -H "Authorization: Bearer $TOKEN"