---
title: "GET /api/user/recall-history-export"
method: GET
path: "/api/user/recall-history-export"
tags: ["user-controller"]
---

# GET /api/user/recall-history-export

`GET /api/user/recall-history-export`

## Request

- Base URL: `` (relative, and the document was published on a file host, not at the API’s origin)
- URL: `/api/user/recall-history-export`
- Auth: none declared

## Query parameters

- `timezone` string, required

## Response `200`

OK

- RecallHistoryExport
  - `timezone` string, required
  - `exportedAt` string, required
  - `recallEvents` RecallHistoryEvent[], required
    - `recordedAt` string, required
    - `grade` 'AGAIN' | 'HARD' | 'GOOD' | 'EASY' | 'CONFUSION', required
    - `kind` 'ANSWERED_RECALL_PROMPT' | 'JUST_REVIEW' | 'TUTOR_FEEDBACK', required
    - `tutorFeedback` string
    - `elapsedHours` integer, required
    - `stabilityBefore` number, float
    - `difficultyBefore` number, float
    - `retrievability` number, double
    - `memoryTrackerId` integer, required
    - `memoryTrackerType` 'UNDERSTANDING' | 'SPELLING' | 'COMMISSIONED', required
    - `noteId` integer
    - `answer` RecallHistoryAnswer
      - `id` integer, required
      - `questionType` 'MCQ' | 'SPELLING'
      - `promptCreatedAt` string
      - `createdAt` string, required
      - `thinkingTimeMs` integer
      - `awayMs` integer
      - `awayCount` integer
      - `detourMs` integer
      - `detourCount` integer
      - `idleMs` integer
      - `outcome` 'ACCIDENTAL_MATCH' | 'OVERLAP'
      - `excludedAt` string
      - `exclusionReason` string
  - `dailyProbes` RecallHistoryDailyProbe[], required
    - `completedAt` string, required
    - `speed` number, double
    - `accuracy` integer, required
    - `lapseCount` integer, required
    - `variability` number, double
    - `trials` DailyProbeTrialDTO[], required
      - `stimulus` string
      - `response` string
      - `rtMs` integer
      - `correct` boolean

## Changes

- **2026-11-03** `193c5e89085a`: 1 breaking, 4 warning, 4 info
  - the `recallEvents/items/answer/excludedAt` response's property format changed from `date-time` to no format for status `200`
  - removed the optional property `recallEvents/items/answer/choiceIndex` from the response with the `200` status
  - removed the optional property `recallEvents/items/answer/correct` from the response with the `200` status
  - removed the optional property `recallEvents/items/answer/matchedNoteId` from the response with the `200` status
  - …5 more
- **2026-11-03** `1ca07f552cb2`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/nerds-odd-e/apis/odd-e-open-api/changes/api/user/recall-history-export/get.md)

---

[API](https://skmtc.dev/nerds-odd-e/apis/odd-e-open-api.md) - [All operations](https://skmtc.dev/nerds-odd-e/apis/odd-e-open-api/llms.txt) - [OpenAPI document](https://skmtc.dev/nerds-odd-e/apis/odd-e-open-api/revisions/193c5e89085a?raw)
