Unscramble API (v2.0.0.0) Endpoints ---------------------------------------- GET / Summary: Default route. Redirects to /help. GET /health Summary: Returns service health. Optional query parameter: - format = text | json GET /help Summary: Returns endpoint reference information. Optional query parameters: - format = text | json | html - endpoint = endpoint path (for example: /search) Examples: /help /help?endpoint=/search /help?format=json&endpoint=/search GET /list Summary: Lists words alphabetically. Optional query parameters: - limit (default: 100) - includeCount (default: false) - nextToken - format = text | json Example: /list?limit=100&includeCount=false GET /search Summary: Searches by exact word or by anagram seed. Query modes (choose one): word Checks whether the supplied word exists in the dictionary. anagram Returns all words matching the supplied anagram seed. Optional query parameter: - format = text | json Note: - Choose exactly one query mode. Examples: /search?word=table /search?anagram=table GET /stats Summary: Returns dictionary statistics. Optional query parameter: - format = text | json POST /add Summary: Adds a dictionary word. Required query parameter: - word Optional query parameters: - overwrite (default: false) - format = text | json Example: /add?word=table&overwrite=false POST /reset Summary: Deletes all words in the dictionary. Optional query parameter: - format = text | json POST /upload Summary: Uploads a .txt file containing one word per line and ingests valid words into the dictionary. Optional query parameters: - overwrite (default: false) - format = text | json Notes: - Consumes multipart/form-data. - Use file field name: file. - File must have .txt extension. - Uses the same word validation and overwrite behavior as /add. - One word per line. - Blank lines are skipped. - Invalid lines are skipped. - Multi-word lines are treated as invalid. - Direct upload size limit is configurable (default: 1 MB). - Request body must include a multipart/form-data field named 'file'. Examples: /upload?overwrite=false /upload?overwrite=true PowerShell example: Invoke-RestMethod -Uri "http://localhost:8080/upload?overwrite=false" -Method Post -Form @{file=Get-Item ".\words.txt"} DELETE /remove Summary: Removes a single word or every word sharing the same anagram key. Query modes (choose one): word Removes a single dictionary word. anagram Removes all words sharing the same anagram key. Optional query parameter: - format = text | json Note: - Choose exactly one query mode. Examples: /remove?word=table /remove?anagram=table