---
title: "Archive a deck"
method: POST
path: "/decks/{deckId}/archive"
---

# Archive a deck

`POST /decks/{deckId}/archive`

## Request

- Base URL: `https://fluidrecall.com/api/v1`
- URL: `https://fluidrecall.com/api/v1/decks/{deckId}/archive`
- Auth: one of:
  - HTTP bearer
  - HTTP dpop

Write. Soft-archive a deck this token owns. Body may be {}. Sets archivedAt. Cards, schedules, and past reviews stay. listDecks omits the deck unless includeArchived=true. listDue, session queues, and upcoming-new skip its cards. Reveal, get, patch, a new review, and inventory return 404, the same as another token's deck. A second call returns the original archivedAt and alreadyArchived true. There is no idempotency key. Another token's deck is 404. unarchiveDeck clears archivedAt without rewriting schedule fields.

## Path parameters

- `deckId` string, uuid, required

## Request body

- object

## Response `200`

The deck is archived.

- object
  - `deckId` string, uuid, required
  - `archivedAt` string, required: UTC ISO-8601 timestamp ending in Z
  - `alreadyArchived` boolean, required

## Other responses

- `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)
