Cards
This object represents a card in Recall. All cards belong to a deck and are structured in its deck fields.
Endpoints
POST /v1/cards # Create a new cardPOST /v1/cards/:id # Update a cardGET /v1/cards # List all cardsGET /v1/cards/:id # Get a cardDELETE /v1/cards/:id # Delete a card
The card object
{"id": "card_lBsPlNZe4356","object": "card","content": {"french-word": "Bonjour","translation": "Hello","sentence": "<p><strong>Bonjour</strong>, comment ça va?</p>","sentence-translation": "<p><strong>Hello</strong>, how are you?</p>",},"created_at": "2025-11-30T12:34:56Z","deck_id": "deck_5gvuzRdHW2ac","next_review_at": "2025-12-01T12:34:56Z",}
id stringThe ID of the card.
object string, value is "card"The type of the object.
content objectObject containing the values of the content of the card for each deck field. The keys of the object are the deck_field.key values.
created_at stringThe date and time the card was created. RFC 3339–formatted UTC datetime.
deck_id stringThe ID of the deck the card belongs to.
next_review_at stringThe date and time the card is scheduled for review. RFC 3339–formatted UTC datetime.
Create a card
curl https://api.recall.cards/v1/cards \-u YOUR_API_KEY: \-H "Content-Type: application/json" \-d '{"deck_id": "deck_5gvuzRdHW2ac","content": {"french-word": "Bonjour","translation": "Hello","sentence": "<p><strong>Bonjour</strong>, comment ça va?</p>","sentence-translation": "<p><strong>Hello</strong>, how are you?</p>"}}'
deck_id string requiredThe ID of the deck the card belongs to.
content objectObject containing the values of the content of the card for each deck field. The keys of the object are the deck_field.key values.
The validation of the content values depends on the deck field types. Refer to the deck fields types for more details.
It will also validate that the content of the card showed in the front side of the card in the primary layout has at least a value, or will be AI generated on creation.
trigger_autofill boolean, default is trueWhether to trigger the AI Autofill for the fields that have it enabled, if their source fields have values. Fields that themselves depend on AI-generated fields will also be successively enriched. If you manually set the value of a field that has AI Autofill enabled, the value you entered prevails and will not be overwritten.
The edition of image and audio fields in the cards content is not supported in the API at the moment.
Update a card
curl https://api.recall.cards/v1/cards/card_5gvuzRdHW2ac \-u YOUR_API_KEY: \-H "Content-Type: application/json" \-d '{"content": {"sentence": "<p><strong>Bonjour</strong>, je voudrais un croissant.</p>"}}'
content objectObject containing the values of the content of the card for each deck field. The keys of the object are the deck_field.key values.
The validation of the content values depends on the deck field types. Refer to the deck fields types for more details.
It will also validate that the content of the card showed in the front side of the card in the primary layout has at least a value, or will be AI generated on update.
trigger_autofill boolean, default is trueWhether to trigger the AI Autofill for the fields that have it enabled, if their source fields are being updated. Fields that themselves depend on AI-generated fields will also be successively enriched.
List all cards
curl https://api.recall.cards/v1/cards \-u YOUR_API_KEY:
deck_id stringFilter the cards by the ID of the deck the card belongs to.
limit optional, default is 10The maximum number of cards to return, ranging between 1 and 100.
starting_after optionalA cursor to use in pagination. starting_after is an object ID that defines your place in the list. For example, if you make a card list request and receive 100 cards, ending with card_2sdInOpM83eo, your subsequent call can include starting_after=card_2sdInOpM83eo to fetch the next page of the list.
ending_before optionalA cursor to use in pagination. Similarly to starting_after, ending_before is an object ID that allows you to fetch object in the previous page of the list.
Returns
{"object": "list","has_more": true,"data": [// Card objects...],}
object string, value is "list"The type of object returned.
data arrayAn array containing the card 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 card
curl https://api.recall.cards/v1/cards/card_5gvuzRdHW2ac \-u YOUR_API_KEY:
There are no parameters for this endpoint.
Returns
Returns the card object.
Delete a card
curl https://api.recall.cards/v1/cards/card_5gvuzRdHW2ac \-u YOUR_API_KEY: \-X DELETE
There are no parameters for this endpoint.
Returns
{"id": "card_5gvuzRdHW2ac","object": "card","deleted": true}