# Add list of words (addwords)

Adds words to a dictionary.

Optionally replaces the entire dictionary wordlist.

### What it does

* Appends words from `wordlist` to the dictionary.
* When `overwrite=true`, replaces the entire wordlist.

### Required parameters

| Parameter  | Type    | Notes                     |
| ---------- | ------- | ------------------------- |
| `cmd`      | string  | `custom_dictionary`       |
| `action`   | string  | `addwords`                |
| `id`       | integer | Exactly one dictionary ID |
| `wordlist` | string  | Comma-separated words     |

### Optional parameters

| Parameter   | Type    | Notes                                                       |
| ----------- | ------- | ----------------------------------------------------------- |
| `overwrite` | boolean | Default: `false`. When `true`, replaces the whole wordlist. |
| `format`    | string  | `json` (default) or `xml`                                   |
| `callback`  | string  | JSONP wrapper (JSON only)                                   |

{% hint style="warning" %}
`overwrite=true` replaces the entire wordlist.

This is destructive.
{% endhint %}

### Request example (append)

```
cmd=custom_dictionary&action=addwords&id=101565&wordlist=GraphQL,Kubernetes,TypeScript
```

### Request example (overwrite)

```
cmd=custom_dictionary&action=addwords&id=101565&overwrite=true&wordlist=GraphQL,TypeScript
```

### Response example

The response `wordlist` contains only words that were newly added.

```json
{
  "result": [
    {
      "id": 101565,
      "lang": "en_US",
      "description": "Engineering terms",
      "wordlist": ["GraphQL", "Kubernetes", "TypeScript"],
      "status": "success",
      "message": ["Words added."]
    }
  ]
}
```

### Possible errors

* Missing `id` or `wordlist`.
* Multiple IDs passed (only one is allowed).
* Invalid words (length or characters).
* Dictionary file size limit exceeded (HTTP 409).

See [Errors reference](/v6.12.0/api-reference/custom-dictionary-api/errors-reference.md).

### Notes and edge cases

* Partial success is reported as `status=warning`.
* Words already present may be skipped and reported in `message`.
* Words already recognized as correct can be filtered out.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.wproofreader.com/v6.12.0/api-reference/custom-dictionary-api/actions/add-list-of-words-addwords.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
