> ## Documentation Index
> Fetch the complete documentation index at: https://docs.toolzz.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Listar Turmas

> Este `Endpoint` permite listar informações essenciais sobre as turmas dentro das instituições educacionais.

## Parâmetros

<ParamField path="schoolId" type="string" required>
  Identificador da escola à qual as turmas a serem listadas estão associadas.
</ParamField>

<ParamField query="code" type="string">
  Filtra as turmas a serem listadas pelo código.
</ParamField>

<ParamField query="title" type="string">
  Filtra as turmas a serem listadas pelo título.
</ParamField>

<ParamField query="page" type="string">
  Número da página dos registros de turmas a ser exibida.
</ParamField>

<ParamField query="perPage" type="number">
  Número de registros a serem exibidos por página. O valor máximo permitido é 100 registros.
</ParamField>

<Warning>Este endpoint funcionará corretamente apenas se o domínio da sua instituição for informado manualmente na URL, caso contrário, o endpoint poderá falhar ou retornar um erro de validação.</Warning>

## Descrição da Resposta

Abaixo está um exemplo da resposta retornada por este endpoint.

<ResponseField name="success" type="boolean">
  Indica se a requisição foi bem-sucedida.
</ResponseField>

<ResponseField name="data" type="array">
  Lista de turmas.

  <Expandable title="items">
    <ResponseField name="id" type="number">
      Identificador único da turma.
    </ResponseField>

    <ResponseField name="schoolId" type="number">
      Identificador da escola associada.
    </ResponseField>

    <ResponseField name="title" type="string">
      Título da turma.
    </ResponseField>

    <ResponseField name="code" type="string">
      Código da turma.
    </ResponseField>

    <ResponseField name="image" type="string">
      URL da imagem da turma.
    </ResponseField>

    <ResponseField name="course" type="string">
      Nome do curso associado.
    </ResponseField>

    <ResponseField name="group" type="array">
      Lista de grupos associados à turma.

      <Expandable title="items">
        <ResponseField name="id" type="number">
          Identificador único do grupo.
        </ResponseField>

        <ResponseField name="name" type="string">
          Nome do grupo.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="subgroups" type="array">
      Lista de subgrupos associados à turma.

      <Expandable title="items">
        <ResponseField name="id" type="number">
          Identificador único do subgrupo.
        </ResponseField>

        <ResponseField name="name" type="string">
          Nome do subgrupo.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="specialties" type="array">
      Lista de especialidades associadas à turma.

      <Expandable title="items">
        <ResponseField name="id" type="number">
          Identificador único da especialidade.
        </ResponseField>

        <ResponseField name="name" type="string">
          Nome da especialidade.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="trails" type="array">
      Lista de trilhas associadas à turma.
    </ResponseField>

    <ResponseField name="createdAt" type="string">
      Data e hora de criação da turma.
    </ResponseField>

    <ResponseField name="updatedAt" type="string">
      Data e hora da última atualização da turma.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="meta" type="object">
  Metadados sobre a resposta.

  <Expandable title="properties">
    <ResponseField name="total" type="number">
      Número total de turmas.
    </ResponseField>

    <ResponseField name="per_page" type="number">
      Quantidade de itens por página.
    </ResponseField>

    <ResponseField name="current_page" type="number">
      Número da página atual.
    </ResponseField>

    <ResponseField name="last_page" type="number">
      Número da última página.
    </ResponseField>

    <ResponseField name="first_page_url" type="string">
      URL da primeira página.
    </ResponseField>

    <ResponseField name="last_page_url" type="string">
      URL da última página.
    </ResponseField>

    <ResponseField name="next_page_url" type="string">
      URL da próxima página (se disponível).
    </ResponseField>

    <ResponseField name="prev_page_url" type="string">
      URL da página anterior (se disponível).
    </ResponseField>

    <ResponseField name="from" type="number">
      Índice do primeiro item na página atual.
    </ResponseField>

    <ResponseField name="to" type="number">
      Índice do último item na página atual.
    </ResponseField>
  </Expandable>
</ResponseField>

## Segurança

Para acessar este endpoint, é necessário enviar um token de acesso válido por meio do cabeçalho de autorização (`Authorization`) da requisição. Além disso, a API é protegida por outras medidas de segurança para garantir a proteção dos dados dos usuários.
