> For the complete documentation index, see [llms.txt](https://docs.wproofreader.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.wproofreader.com/v6.12.0/api-reference/custom-dictionary-api/errors-reference.md).

# Errors reference

Errors use the same `result[]` structure.

Example:

```json
{
  "result": [
    {
      "status": "error",
      "message": [
        "Failed to complete dictionary action. Dictionary ID '101570' not found."
      ]
    }
  ]
}
```

### Error messages

| Message                                                                                  | HTTP | When it happens                                                                                 |
| ---------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------------------------------------------------- |
| Dictionary action not found.                                                             | 400  | `action` value is not recognized.                                                               |
| Failed to \[action]. Dictionary ID is not specified.                                     | 400  | Missing `id` for an action that needs it.                                                       |
| Failed to \[action]. Only one ID can be used.                                            | 400  | Multiple IDs were passed to a single-ID action (`addwords`, `deletewords`, `getwords`, `edit`). |
| Failed to create dictionary. Dictionary ID should not be specified.                      | 400  | `id` was passed with `create`.                                                                  |
| Failed to edit dictionary. State or Description must be specified.                       | 404  | `edit` called without `description` or `state`.                                                 |
| Dictionary already exists.                                                               | 400  | `create` called with a description already used in the account.                                 |
| The '{param}' parameter is empty.                                                        | 400  | `wordlist` provided but empty.                                                                  |
| Word length exceeded. Up to 63 symbols allowed.                                          | 400  | A word exceeds 63 characters.                                                                   |
| Invalid word/wordlist. Punctuation, special characters or spaces aren't allowed.         | 400  | `wordlist` contains invalid characters or spaces.                                               |
| Failed to complete dictionary action. Dictionary ID '{id}' not found.                    | 400  | The dictionary `id` does not exist (or not accessible for this account).                        |
| Failed to get dictionaries. Not found.                                                   | 404  | `getdicts` called but there are no dictionaries.                                                |
| Failed to create dictionary. Description must be specified.                              | 400  | Missing `description` for `create`.                                                             |
| Failed to create dictionary. Dictionary with description '{description}' already exists. | 400  | Duplicate description on `create`.                                                              |
| Failed to edit dictionary. Dictionary with description '{description}' already exists.   | 400  | Duplicate description on `edit`.                                                                |
| Failed to create dictionary. Maximum number of dictionaries exceeded.                    | 403  | Account hit the dictionary limit.                                                               |
| Failed to add words. File size exceeds 500 KB. Consider creating a new dictionary.       | 409  | Dictionary hit the file size limit.                                                             |

### Partial success warnings

`addwords` and `deletewords` can return `status=warning`.

The request succeeds for valid items.

The response `wordlist` contains only words that were actually changed.

Common warning messages:

* `Failed to add words. Already exist: word1, word2`
* `Failed to delete words. Not found: word1, word2`

{% hint style="info" %}
Word validation happens before any action runs.

If a word is invalid, you get an error instead of a warning.
{% endhint %}

### Authorization error

An access key is required for this command. If it's not provided, you will see an error:

```json
{
    "error": true,
    "message": "Access key is required to use 'custom_dictionary' command."
}
```

See [Access key](/v6.12.0/deployment/configuration/application-server/access-key.md).
