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

# Flashcards

# Flashcards API

> **Route:** `/api/groups/flashcards`

Documentation for the flashcards API endpoint will be added here.

# Flashcards Analytics API

> **Route:** `POST /api/groups/flashcards`

Get analytics data for flashcard usage by students within a group, including sets created, individual flashcards made, and chat questions asked with optional student-level breakdowns.

## Authentication

This endpoint requires authentication using an API key.

**Header Required:**

```
x-api-key: YOUR_API_KEY
```

## Parameters

### Query Parameters

| Parameter   | Type    | Required | Default                    | Description                                                                 |
| ----------- | ------- | -------- | -------------------------- | --------------------------------------------------------------------------- |
| `startDate` | string  | No       | `2025-01-01T00:00:00.000Z` | Start date for analytics period (ISO 8601 format)                           |
| `endDate`   | string  | No       | Current date               | End date for analytics period (ISO 8601 format)                             |
| `students`  | boolean | No       | `false`                    | Whether to return student-level data (`true`) or group-level data (`false`) |

## Response Format

### Group-Level Data (students=false)

Returns aggregated flashcard analytics for the entire group.

```json theme={null}
{
  "success": true,
  "reports": [
    {
      "startDate": "2025-01-01T00:00:00.000Z",
      "endDate": "2025-01-07T23:59:59.999Z",
      "numStudentsUsed": 25,
      "data": [
        {
          "title": "Sets Made",
          "value": 78
        },
        {
          "title": "Flashcards Made",
          "value": 1245
        },
        {
          "title": "Chat Questions",
          "value": 324
        }
      ]
    }
  ]
}
```

### Student-Level Data (students=true)

Returns individual student flashcard analytics.

```json theme={null}
{
  "success": true,
  "reports": [
    {
      "startDate": "2025-01-01T00:00:00.000Z",
      "endDate": "2025-01-07T23:59:59.999Z",
      "studentName": "John Doe",
      "studentId": "user_123456",
      "data": [
        {
          "title": "Sets Made",
          "value": 4
        },
        {
          "title": "Flashcards Made",
          "value": 62
        },
        {
          "title": "Chat Questions",
          "value": 15
        }
      ]
    }
  ]
}
```

## Data Fields Explained

### Flashcard Metrics

* **Sets Made**: Number of flashcard sets created by students
* **Flashcards Made**: Total number of individual flashcards created
* **Chat Questions**: Number of chat questions asked related to flashcard content

### Additional Fields

* **numStudentsUsed** (Group-level only): Number of unique students who used flashcard features
* **studentName** (Student-level only): Display name of the student
* **studentId** (Student-level only): Unique identifier for the student

## Error Responses

### 403 Unauthorized

Returned when API key is missing or invalid.

```json theme={null}
{
  "error": "Unauthorized"
}
```

**Causes:**

* Missing `x-api-key` header
* Invalid API key
* API key not associated with a valid group plan

### 400 Bad Request

Returned when required parameters are missing.

```json theme={null}
{
  "error": "Missing params"
}
```

## Notes

* Reports are automatically sorted by start date in ascending order
* Date ranges are inclusive of both start and end dates
* All timestamps should be in ISO 8601 format
