---
title: "Create a deck (Markdown)"
method: POST
path: "/dev/decks"
---

# Create a deck (Markdown)

`POST /dev/decks`

## Request

- Base URL: `https://fluidrecall.com/api/v1`
- URL: `https://fluidrecall.com/api/v1/dev/decks`
- Auth: one of:
  - HTTP bearer
  - HTTP dpop

Write. newCardsPerDay is required. Omit it, or send null, and the call is 400. Choose newCardsPerDay with the person for this deck. There is no default of 20. When they have a deadline, call previewDeadlinePlan first: it returns ceil(remaining new cards / study days) as a floor. Weigh study time (more time, a higher number), that deadline floor, and card complexity (tiny facts such as times tables can be higher; a beefy card such as the five steps of a cycle must be lower). You may raise N above the floor or negotiate more study time. Send that integer. After bulk card adds, re-run previewDeadlinePlan with that deckId and consider applyDeadlinePlan or updateDeck. 0 introduces no new cards unless the caller asks for extras.

## Request body

- object
  - `name` string, required
  - `description` string, nullable
  - `deckNote` string, nullable: Optional deck coaching note. Coaching notes are instructions for how an agent should quiz and coach. They are not the answer, not graded content, and not the quiz prompt. A deck note applies to every card in that deck. A card note is optional and additive with the deck note. Retrieve responses (listDue, upcoming-new, inventory, getCard, reveal, and agent session start/next/grade) include deckNote and cardNote so one call carries coaching context. Scripture / dictation: The learner needs every word remembered correctly, but often answers via dictation where punctuation gets messy. They set a deck note instructing the agent to check every word exactly, but not fail on punctuation differences, and to include that reason when coaching. This is only an example — notes can be any coaching preference for how agents should quiz/coach for that deck (or a specific card).
  - `newCardsPerDay` integer, required: Required. The integer you and the person chose for this deck. There is no default.

## Response `201`

Markdown deck document.

## Other responses

- `400`: Invalid JSON or fields.
- `401`: Missing or wrong 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)
