Decks
This object represents a deck in Recall. All cards must belong to a deck and have their content structured in its deck fields. A deck also has one or several card layouts that define the design of cards.
Endpoints
POST /v1/decks # Create a new deckPOST /v1/decks/:id # Update a deckGET /v1/decks # List all decksGET /v1/decks/:id # Get a deckDELETE /v1/decks/:id # Delete a deck
The deck object
{"id": "deck_5gvuzRdHW2ac","object": "deck","cards_count": 217,"created_at": "2025-11-30T12:34:56Z","name": "My deck","settings": {"max_new_cards_per_day": 10,"target_retention": 90,},}
id stringUnique identifier for the deck.
object string, value is "deck"The type of the object.
An array of the card layouts objects belonging to the deck. Only included in the response if the expand parameter includes card_layouts.
cards_count integerThe number of cards in the deck.
created_at stringThe date and time the deck was created. RFC 3339–formatted UTC datetime.
An array of the deck fields objects belonging to the deck. Only included in the response if the expand parameter includes deck_fields.
name stringThe name of the deck. Must be between 1 and 50 characters.
settings objectAn object containing the settings of the deck.
max_new_cards_per_day integer, default is 10The maximum number of new cards added to the reviews each day. Less cards are added if many are already due.
target_retention integer, default is 90The minimum percentage of cards of the deck the user aims to remember at any given time. Must be between 70 and 99.
Create a deck
To create a deck, you need to provide a name. A deck is created with default fields "Front" and "Back". You may update the deck fields once the deck is created.
curl https://api.recall.cards/v1/decks \-u YOUR_API_KEY: \-H "Content-Type: application/json" \-d '{"name": "My deck"}'
name string requiredThe name of the deck. Must be between 1 and 50 characters.
settings object, optionalAn object containing the settings of the deck.
max_new_cards_per_day integer, default is 10The maximum number of new cards added to the reviews each day. Less cards are added if many are already due.
target_retention integer, default is 90The minimum percentage of cards of the deck the user aims to remember at any given time. Must be between 70 and 99.
Returns
Returns the created deck object.
Update a deck
curl https://api.recall.cards/v1/decks/deck_5gvuzRdHW2ac \-u YOUR_API_KEY: \-H "Content-Type: application/json" \-d '{"name": "New name","settings": {"max_new_cards_per_day": 20,"target_retention": 85}}'
name string, requiredThe name of the deck. Must be between 1 and 50 characters.
settings object, optionalAn object containing the settings of the deck.
max_new_cards_per_day integer, default is 10The maximum number of new cards added to the reviews each day. Less cards are added if many are already due.
target_retention integer, default is 90The minimum percentage of cards of the deck the user aims to remember at any given time. Must be between 70 and 99.
Returns
Returns the updated deck object.
List all decks
curl https://api.recall.cards/v1/decks \-u YOUR_API_KEY:
limit optional, default is 10The maximum number of decks to return, ranging between 1 and 100.
starting_after optionalA cursor to use in pagination. starting_after is an deck ID that defines your place in the list.
ending_before optionalA cursor to use in pagination. Similarly to starting_after, ending_before is an deck ID that allows you to fetch deck in the previous page of the list.
Returns
{"object": "list","has_more": true"data": [// Deck objects...],}
object string, value is "list"The type of object returned.
data arrayAn array containing the deck objects.
has_more booleanWhether or not there are more elements available after this set. If false, this set comprises the end of the list.
Get a deck
curl https://api.recall.cards/v1/decks/deck_5gvuzRdHW2ac \-u YOUR_API_KEY:
There are no parameters for this endpoint.
Returns
Returns the deck object.
Delete a deck
Delting a deck will delete in cascade all its cards, deck fields, card layouts, and card layout fields.
curl https://api.recall.cards/v1/decks/deck_5gvuzRdHW2ac \-u YOUR_API_KEY: \-X DELETE
There are no parameters for this endpoint.
Returns
{"id": "deck_5gvuzRdHW2ac","object": "deck","deleted": true}