Check words against deck
check_wordsBatch lookup: for a list of target-language words, tell me which ones are already in the user's Minddory deck and how well they know each. Use this BEFORE glossing or capturing vocabulary from a message - it answers "which of these are actually new to this user" in one call, so you can skip words they have already mastered, gloss only the genuinely new ones, and notice when a word they are currently failing shows up in conversation. Each result is {word, in_deck, mastery, translation, next_review_at, due}; mastery is one of not_in_deck, new, review, struggling, mastered. The response also pulls out the three lists you usually act on - not_in_deck, known and struggling - so you do not have to sort them yourself; words in mid-review are in words only. Entries that could not be answered as sent are listed in skipped as {input, reason: blank|duplicate, answered_as?} - a duplicate WAS answered, under the entry named by answered_as. Omit lang and it resolves to the user's own primary learning language (lang_defaulted: true in the response says so); pass it whenever you know which language you are in. Prefer this over calling get_card once per word.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Language tag of the words: a base ISO code with an optional region (en, en-us, es-419). Three-subtag tags such as zh-Hant-TW are not accepted. Omit it and the user's own primary learning language is used. | |
| words | Yes | The words or phrases to check, as written in the target language. |