---
title: "Set a deck's newCardsPerDay to the recommended value"
method: POST
path: "/plan/new-cards/apply"
---

# Set a deck's newCardsPerDay to the recommended value

`POST /plan/new-cards/apply`

## Request

- Base URL: `https://fluidrecall.com/api/v1`
- URL: `https://fluidrecall.com/api/v1/plan/new-cards/apply`
- Auth: one of:
  - HTTP bearer
  - HTTP dpop

Write. Computes the same plan as previewDeadlinePlan, then PATCHes that owned deck's newCardsPerDay to the recommended integer. Reuses updateDeck. deckId is required. Another token's deck is 404. Discuss the number with the person first. Do not apply in silence just to hit a date if they cannot study that many cards. Create still requires an explicit N.

## Request body

- object
  - `deadline` string, required: YYYY-MM-DD preferred. A UTC instant ending in Z is converted to the study day in timezone.
  - `asOf` string: UTC ISO-8601 timestamp ending in Z
  - `timezone` string: IANA name. Defaults to the account timezone.
  - `dayBoundaryHour` integer
  - `remainingNewCards` integer
  - `totalCards` integer
  - `alreadyLearned` integer
  - `skipWeekends` boolean
  - `studyDaysPerWeek` integer
  - `bufferStudyDays` integer: Reserve this many study days at the end of the window as review-only buffer.
  - `currentNewCardsPerDay` integer, nullable: Compare this N to the recommendation. Omit to use the deck's effective N when deckId is set.
  - `deckId` string, uuid, required: Fill remaining new cards and current N from this owned deck unless you override them.

## Response `200`

The plan and the patched deck.

- DeadlinePlan
  - `deadline` string, required: Deadline study day as YYYY-MM-DD.
  - `asOf` string, required: UTC ISO-8601 timestamp ending in Z
  - `asOfStudyDay` string, required: Study day of asOf as YYYY-MM-DD.
  - `timezone` string, required
  - `dayBoundaryHour` integer, required
  - `remainingNewCards` integer, required
  - `alreadyLearned` integer, required
  - `totalCards` integer, required
  - `calendarDaysUntilDeadline` integer, required
  - `studyDaysUntilDeadline` integer, required
  - `recommendedNewCardsPerDay` integer, required: ceil(remainingNewCards / studyDaysUntilDeadline), clamped to 0–9999. Not a default of 20. A floor from the deadline.
  - `currentNewCardsPerDay` integer, nullable, required
  - `projectedFinishDateAtCurrent` string, nullable, required: YYYY-MM-DD of the last new-card introduction at the current N. Null if current N is missing or 0.
  - `projectedFinishDateAtRecommended` string, nullable, required
  - `onTrack` boolean, nullable, required: True when current N finishes remaining new cards by the deadline. Null when there is no current N.
  - `pace` 'done' | 'overdue' | 'faster' | 'on_track' | 'slower' | 'unknown', required
  - `countsFromDeck` boolean, required
  - `applied` boolean, required
  - `deckId` string, uuid, nullable, required
  - `deck` object, nullable, required: The patched deck after apply. Null on preview.
  - `assumptions` string[], required
  - `coaching` string, required

## Other responses

- `400`: Invalid body.
- `401`: Missing or wrong token.
- `404`: No deck with that id for this token.

---

[API](https://skmtc.dev/fluidrecall/apis/fluid-recall.md) · [All operations](https://skmtc.dev/fluidrecall/apis/fluid-recall/llms.txt) · [OpenAPI document](https://skmtc.dev/fluidrecall/apis/fluid-recall/revisions/7bf2563c3d2a?raw)
