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

# Listagem de Conteúdos

> Liste ou gere um arquivo com os conteúdos da sua instituição.

## Parâmetros

<ParamField query="type" type="string">
  Filtra os conteúdos pelo tipo. Aceita apenas os seguintes valores: `text`, `audio`, `video`, `pdf`, `live`.
</ParamField>

<ParamField query="course_id" type="int">
  Filtra os conteúdos de um curso específico com base no **ID do curso**.
</ParamField>

<ParamField query="does_sendemail" type="boolean">
  Caso deseje receber um arquivo com os **conteúdos listados** por e-mail, insira `1`.
</ParamField>

<ParamField query="email_to_send" type="string">
  Endereço de e-mail para o qual o arquivo gerado será enviado.
</ParamField>

<ParamField query="public" type="boolean">
  Permite a busca por conteúdos avulsos no catálogo.
</ParamField>

<ParamField query="tags" type="string">
  Permite a busca por tags que fazem parte deste conteúdo.
</ParamField>

<ParamField query="per_page" type="int">
  Quantidade de registros que o endpoint retornará na paginação.
</ParamField>

<ParamField query="query" type="string">
  Filtra os dados por título e descrição. Para busca por IDs, use números separados por vírgula, por exemplo: `1,2`.
</ParamField>

<ParamField query="contents_ids" type="string">
  Filtra por ID de conteúdos.
</ParamField>

## 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. A API é protegida por outras medidas de segurança para garantir a proteção dos dados dos usuários.

## Descrição da Resposta

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

<ResponseField name="success" type="boolean">
  Indica se a requisição foi concluída com sucesso.
</ResponseField>

<ResponseField name="contents" type="object">
  Objeto principal contendo a listagem paginada de conteúdos.

  <Expandable title="properties">
    <ResponseField name="current_page" type="number">
      Número da página atual retornada na paginação.
    </ResponseField>

    <ResponseField name="data" type="array">
      Lista dos conteúdos retornados nesta página.

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

        <ResponseField name="title" type="string">
          Título do conteúdo (ex: "Introdução ao Pensamento Criativo").
        </ResponseField>

        <ResponseField name="description" type="string">
          Texto de descrição HTML do conteúdo, usado para apresentação inicial.
        </ResponseField>

        <ResponseField name="contentType" type="string">
          Tipo de conteúdo (ex: "text", "video", "quiz").
        </ResponseField>

        <ResponseField name="contentUrl" type="string">
          URL para visualização completa do conteúdo.
        </ResponseField>

        <ResponseField name="isPublic" type="boolean">
          Define se o conteúdo é acessível publicamente (`true`) ou restrito (`false`).
        </ResponseField>

        <ResponseField name="createdAt" type="string">
          Data de criação do conteúdo no formato ISO 8601 (ex: "2024-08-12T10:42:31.000000Z").
        </ResponseField>
      </Expandable>
    </ResponseField>

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

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

    <ResponseField name="last_page" type="number">
      Número total de páginas disponíveis.
    </ResponseField>

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

    <ResponseField name="links" type="array">
      Lista de objetos representando os links de navegação da paginação.

      <Expandable title="items">
        <ResponseField name="url" type="string">
          URL para a página indicada no label (pode ser `null` para links desativados).
        </ResponseField>

        <ResponseField name="label" type="string">
          Texto exibido no controle de navegação (ex: "1", "« Previous").
        </ResponseField>

        <ResponseField name="active" type="boolean">
          Indica se o item representa a página ativa no momento.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="next_page_url" type="string">
      URL da próxima página (ou `null` se for a última página).
    </ResponseField>

    <ResponseField name="path" type="string">
      Caminho base da API usado na paginação.
    </ResponseField>

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

    <ResponseField name="prev_page_url" type="string">
      URL da página anterior (ou `null` se for a primeira).
    </ResponseField>

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

    <ResponseField name="total" type="number">
      Total de itens disponíveis na listagem.
    </ResponseField>
  </Expandable>
</ResponseField>
