Skip to content

Word Search

The user finds words in a letter grid. Requires the content field.

Content Schema

Simple strings:

{ "words": ["CAT", "DOG", "BIRD"] }

With clues:

{
"words": [
{ "word": "CAT", "clue": { "type": "TEXT", "value": "A small animal" } },
{ "word": "DOG", "clue": { "type": "IMAGE", "value": "https://cdn/dog.webp" } }
]
}

Answer Format

answer = JSON.stringify({ "found": string[] }) with the words the user found.

  • Comparison is uppercase (case-insensitive).

Request

{
"exerciseId": "ex_006",
"area": "vocabulary",
"type": "word_search",
"answer": "{\"found\":[\"CAT\",\"DOG\"]}",
"content": {
"words": ["CAT", "DOG", "BIRD"]
}
}

Responses

// All found
{ "correct": true, "score": 10, "feedback": "All words found!", "metadata": { "area": "vocabulary", "type": "word_search" } }
// Partial (2 of 3)
{ "correct": false, "score": 7, "feedback": "You found 2 out of 3 words.", "metadata": { "area": "vocabulary", "type": "word_search" } }

Score = Math.round((found / total) * 10)

Grid Generation

See Word Search Generator to generate the grid dynamically.