> ## 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 Cursos

> Este endpoint permite recuperar a lista de todos os cursos livres publicados da sua instituição no Toolzz LMS.

## Parâmetros

<ParamField path="type_id" type="int" required>
  Define o tipo de conteúdo a ser retornado:

  **1:** Componente Curricular.

  **2:** Curso.
</ParamField>

<ParamField path="group" type="string">
  Grupo - Se fornecido, o valor deve ser uma string e não deve conter nenhum dos seguintes caracteres: `<`, `>`, `&`.
</ParamField>

<ParamField path="subgroup" type="string">
  Subgrupo - Se fornecido, o valor deve ser uma string e não deve conter nenhum dos seguintes caracteres: `<`, `>`, `&`.
</ParamField>

<ParamField path="specialty" type="string">
  Especialidade - Se fornecido, o valor deve ser uma string e não deve conter nenhum dos seguintes caracteres: `<`, `>`, `&`.
</ParamField>

<ParamField path="status" type="string">
  Define o status do curso:

  **"Published":** Cursos ou Componentes Curriculares publicados.

  **"Draft":** Cursos ou Componentes Curriculares em rascunho.
</ParamField>

<ParamField path="page" type="int">
  Número da página para a paginação dos resultados.
</ParamField>

<Note>Antes de utilizar este endpoint, certifique-se de possuir o seguinte parâmetro disponível:</Note>

* **Token de Acesso** `obrigatório`: Certifique-se de possuir um token de autenticação válido antes de prosseguir.

## Descrição da Resposta

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

<ResponseField name="data" type="object">
  Lista de configurações.

  <Expandable title="properties">
    <ResponseField name="id" type="string">
      Identificador único da configuração.
    </ResponseField>

    <ResponseField name="titulo" type="string">
      Título do curso.
    </ResponseField>

    <ResponseField name="descricao" type="string">
      Descrição do curso.
    </ResponseField>

    <ResponseField name="capa" type="string">
      URL da imagem de capa do curso.
    </ResponseField>

    <ResponseField name="preco" type="string">
      Preço do curso.
    </ResponseField>

    <ResponseField name="cursos_tipo_id" type="number">
      ID do tipo do curso.
    </ResponseField>

    <ResponseField name="classification" type="string">
      Classificação do curso, se disponível.
    </ResponseField>

    <ResponseField name="classification_id" type="string">
      ID da classificação do curso.
    </ResponseField>

    <ResponseField name="ciclos" type="array">
      Lista de ciclos relacionados ao curso.
    </ResponseField>

    <ResponseField name="etapas" type="array">
      Lista de etapas associadas ao curso.
    </ResponseField>

    <ResponseField name="disciplinas" type="array">
      Lista de disciplinas associadas ao curso.
    </ResponseField>

    <ResponseField name="escolas" type="array">
      Lista de escolas associadas.
    </ResponseField>

    <ResponseField name="tags" type="array">
      Tags associadas ao curso.
    </ResponseField>

    <ResponseField name="class" type="object">
      Detalhes da turma associada ao curso.

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

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

        <ResponseField name="curso_id" type="string">
          ID do curso associado.
        </ResponseField>

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

        <ResponseField name="status_id" type="number">
          Identificador de status da turma.
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

## Segurança

Para acessar este endpoint, é necessário enviar um token de acesso válido através 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.
