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

# Listar Todos os Quizzes

> Lista todos os quizzes criados no sistema com paginação

## Descrição

Lista todos os quizzes criados no sistema, ordenados por data de criação (mais recente primeiro). Suporta paginação para facilitar a navegação em grandes volumes de dados. Este endpoint é útil para administração e monitoramento do sistema de quizzes.

<Warning>
  Este é um endpoint administrativo que retorna todos os quizzes do sistema.
</Warning>

## Query Parameters

<ParamField query="page" type="number" default="1">
  Número da página (mínimo: 1)
</ParamField>

<ParamField query="limit" type="number" default="20">
  Itens por página (mínimo: 1, máximo: 100)
</ParamField>

## Response

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

<ResponseField name="data" type="object" required>
  <Expandable title="Dados da resposta">
    <ResponseField name="quizzes" type="array" required>
      Lista de quizzes

      <Expandable title="Estrutura de cada quiz">
        <ResponseField name="id" type="string">
          ID único do quiz
        </ResponseField>

        <ResponseField name="title" type="string">
          Título do quiz
        </ResponseField>

        <ResponseField name="description" type="string">
          Descrição do quiz
        </ResponseField>

        <ResponseField name="quizDate" type="string">
          Data do quiz (formato YYYY-MM-DD)
        </ResponseField>

        <ResponseField name="postId" type="string">
          ID do post do Beehiiv relacionado
        </ResponseField>

        <ResponseField name="minCorrectAnswers" type="number">
          Mínimo de acertos para passar
        </ResponseField>

        <ResponseField name="createdAt" type="string">
          Data/hora de criação (formato ISO 8601)
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="pagination" type="object" required>
  <Expandable title="Paginação">
    <ResponseField name="total" type="number">
      Total de quizzes no sistema
    </ResponseField>

    <ResponseField name="page" type="number">
      Página atual
    </ResponseField>

    <ResponseField name="limit" type="number">
      Itens por página
    </ResponseField>

    <ResponseField name="totalPages" type="number">
      Total de páginas
    </ResponseField>
  </Expandable>
</ResponseField>

<RequestExample>
  ```bash Listar Todos theme={null}
  curl -X GET "https://worker.thenewscc.com/quiz/admin/list"
  ```

  ```bash Com Paginação theme={null}
  curl -X GET "https://worker.thenewscc.com/quiz/admin/list?page=1&limit=10"
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch('https://worker.thenewscc.com/quiz/admin/list?page=1&limit=20', {
    method: 'GET'
  });

  const data = await response.json();
  ```
</RequestExample>

<ResponseExample>
  ```json Success theme={null}
  {
    "success": true,
    "data": {
      "quizzes": [
        {
          "id": "quiz_abc123",
          "title": "quiz do dia - manchete",
          "description": "teste seus conhecimentos sobre a edição de hoje do the news",
          "quizDate": "2026-01-19",
          "postId": "post_xyz789",
          "minCorrectAnswers": 6,
          "createdAt": "2026-01-19T12:00:00.000Z"
        },
        {
          "id": "quiz_def456",
          "title": "quiz do dia - manchete",
          "description": "teste seus conhecimentos sobre a edição de ontem do the news",
          "quizDate": "2026-01-18",
          "postId": "post_uvw456",
          "minCorrectAnswers": 6,
          "createdAt": "2026-01-18T12:00:00.000Z"
        },
        {
          "id": "quiz_ghi789",
          "title": "quiz do dia - manchete",
          "description": "teste seus conhecimentos sobre a edição do the news",
          "quizDate": "2026-01-17",
          "postId": "post_rst123",
          "minCorrectAnswers": 6,
          "createdAt": "2026-01-17T12:00:00.000Z"
        }
      ]
    },
    "pagination": {
      "total": 15,
      "page": 1,
      "limit": 20,
      "totalPages": 1
    }
  }
  ```

  ```json Empty theme={null}
  {
    "success": true,
    "data": {
      "quizzes": []
    },
    "pagination": {
      "total": 0,
      "page": 1,
      "limit": 20,
      "totalPages": 0
    }
  }
  ```

  ```json Error theme={null}
  {
    "success": false,
    "message": "Erro ao listar quizzes"
  }
  ```
</ResponseExample>

<Tip>
  Use este endpoint para verificar quais dias já possuem quiz gerado e identificar gaps que precisam ser preenchidos.
</Tip>
