> For AI agents: the complete documentation index is available at https://docs.flashnerd.com/llms.txt, the full documentation bundle is available at https://docs.flashnerd.com/llms-full.txt.

# Allowed enum values

Use the exact, case-sensitive strings below in archive JSON. Do not substitute a translated UI label or an app database integer. The exception is `settings.reviewBehavior.noAnswerRating`, which deliberately uses integers `1` through `4`; review-history ratings use strings.

## Field type

| Value             | Field                           |
| ----------------- | ------------------------------- |
| `text`            | Plain text                      |
| `rich_text`       | Rich Text                       |
| `image`           | Image                           |
| `cloze`           | Cloze text with separate ranges |
| `tts`             | Text-to-Speech                  |
| `audio`           | Audio                           |
| `image_occlusion` | Image Occlusion                 |
| `chinese`         | Chinese                         |
| `japanese`        | Japanese                        |
| `code`            | Code                            |
| `tex`             | TeX                             |

See [field definitions, values, and settings](https://docs.flashnerd.com/reference/flashnerd-format/fields.md) for each type's JSON shape. In particular, `richText` and `imageOcclusion` are not valid archive type strings.

## Card side

| Value   | Placement           |
| ------- | ------------------- |
| `front` | Front               |
| `back`  | Back                |
| `both`  | Both Front and Back |
| `note`  | Note                |

`cloze` and `image_occlusion` require `both`. Search filters distinguish `front`, `back`, and `both`; filtering for `front` does not implicitly include `both`.

## Chinese type

`traditional`, `simplified`

## Annotation setting

`off`, `hint`, `always`, `back`

## Romaji type

`long_vowel`, `ascii`

## TTS source

`manual`, `field_reference`

For `field_reference`, `contentSourceId` must identify an eligible field in the same template. See [field settings](https://docs.flashnerd.com/reference/flashnerd-format/fields.md).

## Code language

`plaintext`, `dart`, `javascript`, `typescript`, `python`, `java`, `kotlin`, `swift`, `c`, `cpp`, `csharp`, `go`, `rust`, `ruby`, `php`, `html`, `css`, `sql`, `json`, `yaml`, `markdown`, `bash`, `shell`

## SRS state

| Value       | Schedule `state`               | History `srsState` | Search `srsStates` |
| ----------- | ------------------------------ | ------------------ | ------------------ |
| `new`       | Accepted                       | Accepted           | Accepted           |
| `learn`     | Accepted                       | Accepted           | Accepted           |
| `review`    | Accepted                       | Accepted           | Accepted           |
| `relearn`   | Accepted                       | Accepted           | Accepted           |
| `suspended` | Invalid; use `suspended` flag  | Not importable     | Accepted           |
| `disabled`  | Invalid; use `disabled` flag   | Not importable     | Accepted           |
| `struggle`  | Invalid; use `isStruggle` flag | Not importable     | Accepted           |

The final three values describe status filters, not extra scheduling phases. The current app cannot convert them in retained SRS history; encountering one causes all schedules and both history collections to be omitted, with a progress warning when valid content can still import. Use a known phase or omit an unknown historical `srsState`; use `wasSuspended` for historical suspension. See [schedule constraints](https://docs.flashnerd.com/reference/flashnerd-format/progress-and-history.md#schedules) and [SRS reviews](https://docs.flashnerd.com/reference/flashnerd-format/progress-and-history.md#srs-reviews).

## SRS rating

| Review-history `rating` | Settings `noAnswerRating` | Meaning |
| ----------------------- | ------------------------- | ------- |
| `again`                 | `1`                       | Again   |
| `hard`                  | `2`                       | Hard    |
| `good`                  | `3`                       | Good    |
| `easy`                  | `4`                       | Easy    |

These are different JSON representations. Write `"rating":"good"` in an SRS review record and `"noAnswerRating":3` in review settings. The two-button interface displays Again/Good; a configured Hard is displayed as Again, and Easy as Good. All four integer choices are preserved under either button layout.

## History log type

| Value     | Meaning in the file          |
| --------- | ---------------------------- |
| `native`  | Native Flashnerd SRS history |
| `archive` | Imported historical event    |

`logType` belongs to SRS review records only. Its omission defaults to `native`; explicit `null` is invalid. The app imports both labels into the same history representation and exports stored SRS reviews as `native`, so the label distinction does not survive an app import/export cycle.

## Study mode

`flashcards`, `matching`

These are the allowed `studyMode` values in [normal reviews](https://docs.flashnerd.com/reference/flashnerd-format/progress-and-history.md#normal-reviews). The string `flashcard` is not accepted.

## Learning step unit

`min`, `hour`, `day`

## Review button display

`twoButtons`, `fourButtons`

Use these exact camelCase values in `reviewBehavior.reviewButtonDisplay`.

## Deck order mode

`sequential`, `random`

## Card priority category

`new`, `learning`, `relearning`, `review`, `suspended`

These categories belong to `displayOrder.cardPriorityGroups`. They use `learning` and `relearning`, while schedule and search state strings use `learn` and `relearn`. See [SRS settings](https://docs.flashnerd.com/reference/flashnerd-format/srs.md#srs-settings).

## Theme

`light`, `dark`, `system`

## Card orientation

`normal`, `reverse`, `random`

## Default answer

`fail`, `pass`

## Matching pair count

`two`, `three`, `four`, `five`, `six`

For settings containing these values, see [deck settings](https://docs.flashnerd.com/reference/flashnerd-format/decks.md), [SRS settings](https://docs.flashnerd.com/reference/flashnerd-format/srs.md#srs-settings), and [user preferences](https://docs.flashnerd.com/reference/flashnerd-format/preferences.md).
