Medway Panorama — API (1.0.0)

Download OpenAPI specification:

API para integração com o Medway Panorama.

Autenticação

  • API Token (X-API-Token: <key>) — obrigatório em todos os endpoints. O token é gerado pelo Gestor no frontend.

Permissões

Endpoint Requisito
GET /institutions/ Token válido (qualquer usuário)
GET /data/ Token válido (qualquer usuário)
GET /summary/{uid}/results/ Token válido + role Gestor + ?institution=<uid>
GET /student-summary/ Token válido (qualquer usuário)
GET /student-summary/{uid}/results/ Token válido + role Gestor + ?institution=<uid>

Fluxo típico

  1. Descubra suas instituições em GET /api/v1/reports/api/institutions/.
  2. Liste as consultas disponíveis em GET /api/v1/reports/api/data/ ou GET /api/v1/reports/api/student-summary/.
  3. Consulte os resultados em GET /api/v1/reports/api/summary/{uid}/results/?institution=<uid>.

Institutions

Instituições acessíveis pelo token

Listar instituições

Retorna as instituições das quais o dono do token é membro ativo. Cada instituição inclui suas turmas (studentgroups), que podem ser usadas como filtro nos endpoints de resultados.

Authorizations:
APITokenAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Report Queries

Consultas de relatório disponíveis

Listar consultas de relatório

Retorna todas as consultas de relatório ativas. Use o uid retornado para buscar resultados em /summary/{uid}/results/.

Authorizations:
APITokenAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Resultados de uma consulta de relatório

Retorna os resultados de uma consulta para a instituição informada.

Comportamento por cenário:

  • Sem ?student_group (padrão): retorna o resultado mais recente de cada turma ativa da instituição. Um item por turma.
  • Com ?student_group=<uid>: retorna o resultado mais recente para aquela turma específica. Array com um item ou [] se não houver resultado.
  • Com ?period_days=<n>: filtra os resultados pelo período (em dias). Pode ser combinado com ?student_group.

Atenção: este endpoint exige role Gestor e que o token pertença a um usuário membro ativo da instituição informada em ?institution.

Authorizations:
APITokenAuth
path Parameters
uid
required
string <uuid>
Example: a1b2c3d4-e5f6-7890-abcd-ef1234567890

UID da consulta (obtido em GET /data/)

query Parameters
institution
required
string <uuid>
Example: institution=b1c2d3e4-f5a6-7890-abcd-ef1234567890

UID da instituição (obtido em GET /institutions/)

student_group
string <uuid>
Example: student_group=c3d4e5f6-a1b2-7890-abcd-ef1234567890

UID da turma. Se informado, retorna o resultado mais recente apenas para essa turma (array com um item ou []). Se omitido, retorna o mais recente por turma para toda a instituição.

period_days
integer
Example: period_days=30

Filtra pelo período em dias. Pode ser combinado com ?student_group.

Responses

Response samples

Content type
application/json
Example
[
  • {
    }
]

Student Queries

Consultas de alunos disponíveis

Listar consultas de alunos

Retorna todas as consultas de alunos ativas. Use o uid retornado para buscar resultados em /student-summary/{uid}/results/.

Authorizations:
APITokenAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Resultados de uma consulta de alunos

Retorna os resultados de uma consulta de alunos para a instituição informada.

Comportamento por cenário:

  • Sem ?student_group (padrão): retorna o resultado mais recente de cada turma ativa da instituição. Um item por turma.
  • Com ?student_group=<uid>: retorna o resultado mais recente para aquela turma específica. Array com um item ou [] se não houver resultado.
  • Com ?period_days=<n>: filtra os resultados pelo período (em dias). Pode ser combinado com ?student_group.

Atenção: este endpoint exige role Gestor e que o token pertença a um usuário membro ativo da instituição informada em ?institution.

Authorizations:
APITokenAuth
path Parameters
uid
required
string <uuid>
Example: x1y2z3w4-e5f6-7890-abcd-ef1234567890

UID da consulta (obtido em GET /student-summary/)

query Parameters
institution
required
string <uuid>
Example: institution=b1c2d3e4-f5a6-7890-abcd-ef1234567890

UID da instituição (obtido em GET /institutions/)

student_group
string <uuid>
Example: student_group=c3d4e5f6-a1b2-7890-abcd-ef1234567890

UID da turma. Se informado, retorna o resultado mais recente apenas para essa turma (array com um item ou []). Se omitido, retorna o mais recente por turma para toda a instituição.

period_days
integer
Example: period_days=30

Filtra pelo período em dias. Pode ser combinado com ?student_group.

Responses

Response samples

Content type
application/json
Example
[
  • {
    }
]