{"files":{"SKILL.md":"---\nname: languagetool-api\ndescription: \"LanguageTool API skill. Use when working with LanguageTool for check, languages, words. Covers 5 endpoints.\"\nversion: 1.0.0\ngenerator: lapsh\n---\n\n# LanguageTool API\nAPI version: 1.1.2\n\n## Auth\nApiKey apiKey in formData\n\n## Base URL\nhttps://api.languagetoolplus.com/v2\n\n## Setup\n1. Set your API key in the appropriate header\n2. GET /languages -- get a list of supported languages.\n3. POST /check -- create first check\n\n## Endpoints\n5 endpoints across 3 groups. See references/api-spec.lap for full details.\n\n### Check\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /check | Check a text |\n\n### Languages\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /languages | Get a list of supported languages. |\n\n### Words\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /words | List words in dictionaries |\n| POST | /words/add | Add word to a dictionary |\n| POST | /words/delete | Remove word from a dictionary |\n\n## Common Questions\nMatch user requests to endpoints in references/api-spec.lap. Key patterns:\n- \"Create a check?\" -> POST /check\n- \"List all languages?\" -> GET /languages\n- \"List all words?\" -> GET /words\n- \"Create a add?\" -> POST /words/add\n- \"Create a delete?\" -> POST /words/delete\n- \"How to authenticate?\" -> See Auth section above\n\n## Response Tips\n- Check response schemas in references/api-spec.lap for field details\n- Paginated endpoints accept limit/offset or cursor parameters\n- Create/update endpoints return the modified resource on success\n\n## References\n- Full spec: See references/api-spec.lap for complete endpoint details, parameter tables, and response schemas\n\n> Generated from the official API spec by [LAP](https://lap.sh)\n","references/api-spec.lap":"@lap v0.3\n# Machine-readable API spec. Each @endpoint block is one API call.\n@api LanguageTool API\n@base https://api.languagetoolplus.com/v2\n@version 1.1.2\n@auth ApiKey apiKey in formData\n@endpoints 5\n@toc check(1), languages(1), words(3)\n\n@group check\n@endpoint POST /check\n@desc Check a text\n@required {language: any # A language code like `en-US`, `de-DE`, `fr`, or `auto` to guess the language automatically (see `preferredVariants` below). For languages with variants (English, German, Portuguese) spell checking will only be activated when you specify the variant, e.g. `en-GB` instead of just `en`.}\n@optional {text: any # The text to be checked. This or 'data' is required., data: any # The text to be checked, given as a JSON document that specifies what's text and what's markup. This or 'text' is required. Markup will be ignored when looking for errors. Example text: A testJSON for the example text: {\"annotation\":[  {\"text\": \"A \"},  {\"markup\": \"\"},  {\"text\": \"test\"},  {\"markup\": \"\"} ]} If you have markup that should be interpreted as whitespace, like  in HTML, you can have it interpreted like this: {\"markup\": \"\", \"interpretAs\": \"\\n\\n\"}The 'data' feature is not limited to HTML or XML, it can be used for any kind of markup. Entities will need to be expanded in this input., username: any # Set to get Premium API access: Your username/email as used to log in at languagetool.org., apiKey: any # Set to get Premium API access: your API key, dicts: any # Comma-separated list of dictionaries to include words from; uses special default dictionary if this is unset, motherTongue: any # A language code of the user's native language, enabling false friends checks for some language pairs., preferredVariants: any # Comma-separated list of preferred language variants. The language detector used with `language=auto` can detect e.g. English, but it cannot decide whether British English or American English is used. Thus this parameter can be used to specify the preferred variants like `en-GB` and `de-AT`. Only available with `language=auto`. You should set variants for at least German and English, as otherwise the spell checking will not work for those, as no spelling dictionary can be selected for just `en` or `de`., enabledRules: any # IDs of rules to be enabled, comma-separated. Note that 'level' still applies, so the rule won't run unless 'level' is set to a level that activates the rule., disabledRules: any # IDs of rules to be disabled, comma-separated, enabledCategories: any # IDs of categories to be enabled, comma-separated, disabledCategories: any # IDs of categories to be disabled, comma-separated, enabledOnly: any # If true, only the rules and categories whose IDs are specified with `enabledRules` or `enabledCategories` are enabled., level: any # If set to `picky`, additional rules will be activated, i.e. rules that you might only find useful when checking formal text.}\n@returns(200) the result of checking the text\n\n@endgroup\n\n@group languages\n@endpoint GET /languages\n@desc Get a list of supported languages.\n@returns(200) An array of language objects.\n\n@endgroup\n\n@group words\n@endpoint GET /words\n@desc List words in dictionaries\n@required {username: any # Your username as used to log in at languagetool.org., apiKey: any # Your API key}\n@optional {offset: any # Offset of where to start in the list of words. Defaults to 0., limit: any # Maximum number of words to return. Defaults to 10., dicts: any # Comma-separated list of dictionaries to include words from; uses special default dictionary if this is unset}\n@returns(200) the user's words from the given user dictionaries\n\n@endpoint POST /words/add\n@desc Add word to a dictionary\n@required {word: any # The word to be added. Must not be a phrase, i.e. cannot contain white space. The word is added to a global dictionary that applies to all languages., username: any # Your username as used to log in at languagetool.org., apiKey: any # Your API key}\n@optional {dict: any # Name of the dictionary to add the word to; non-existent dictionaries are created after calling this; if unset, adds to special default dictionary}\n@returns(200) the result of adding the word\n\n@endpoint POST /words/delete\n@desc Remove word from a dictionary\n@required {word: any # The word to be removed., username: any # Your username as used to log in at languagetool.org., apiKey: any # Your API key}\n@optional {dict: any # Name of the dictionary to remove the word from; if the dictionary is empty upon calling this, it is deleted; if unset, removes from special default dictionary}\n@returns(200) the result of removing the word\n\n@endgroup\n\n@end\n"}}