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

# Exportar Emails

> Exporta emails de usuários filtrados por critérios de streak. Requer autenticação JWT.

## Descrição

Exporta emails de usuários filtrados por critérios de streak em formato CSV. **Requer autenticação JWT**.

## Headers

<ParamField header="Authorization" type="string" required>
  Token JWT no formato: Bearer {token}
</ParamField>

## Query Parameters

<ParamField query="start_date" type="string">
  Data inicial no formato YYYY-MM-DD
</ParamField>

<ParamField query="end_date" type="string">
  Data final no formato YYYY-MM-DD
</ParamField>

<ParamField query="streak_type" type="string">
  Tipo de filtro: current\_streak ou max\_streak
</ParamField>

<ParamField query="streak_value" type="number">
  Valor do streak para filtrar
</ParamField>

<ParamField query="comparison" type="string">
  Tipo de comparação: greater\_than, less\_than, equal\_to
</ParamField>

## Response

Retorna um arquivo CSV com os dados dos usuários que atendem aos critérios.

### Campos do CSV

* `email`: Email do usuário
* `current_streak`: Streak atual
* `max_streak`: Maior streak alcançado
* `total_reads`: Total de leituras
* `last_read_date`: Data da última leitura
* `created_at`: Data de registro

<RequestExample>
  ```bash theme={null}
  curl --request GET \
    --url 'https://backend.testeswaffle.org/streaks/export-emails?streak_type=current_streak&streak_value=30&comparison=greater_than' \
    --header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...' \
    --output usuarios_streak.csv
  ```
</RequestExample>

<ResponseExample>
  ```csv theme={null}
  email,current_streak,max_streak,total_reads,last_read_date,created_at
  usuario1@exemplo.com,45,50,120,2024-01-20,2023-10-15
  usuario2@exemplo.com,32,32,95,2024-01-20,2023-11-20
  usuario3@exemplo.com,31,60,180,2024-01-19,2023-08-10
  ```
</ResponseExample>


## OpenAPI

````yaml GET /streaks/export-emails
openapi: 3.1.0
info:
  title: Streaks API
  description: API para gerenciamento de streaks e gamificação de leitura do the news
  version: 1.0.0
servers:
  - url: https://backend.testeswaffle.org
security:
  - bearerAuth: []
paths:
  /streaks/export-emails:
    get:
      tags:
        - Admin
      summary: Exportar Emails
      description: >-
        Exporta emails de usuários filtrados por critérios de streak. Requer
        autenticação JWT.
      parameters:
        - name: start_date
          in: query
          schema:
            type: string
            format: date
          description: Data inicial (YYYY-MM-DD)
        - name: end_date
          in: query
          schema:
            type: string
            format: date
          description: Data final (YYYY-MM-DD)
        - name: streak_type
          in: query
          schema:
            type: string
            enum:
              - current_streak
              - max_streak
          description: Tipo de filtro de streak
        - name: streak_value
          in: query
          schema:
            type: number
          description: Valor do streak para filtrar
        - name: comparison
          in: query
          schema:
            type: string
            enum:
              - greater_than
              - less_than
              - equal_to
          description: Tipo de comparação
      responses:
        '200':
          description: Arquivo CSV com os dados
          content:
            text/csv:
              schema:
                type: string
      security:
        - bearerAuth: []
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````