> 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.11.0/api-reference/style-guide-api/actions/add-rule-addrule.md).

# Add rule (addrule)

Create a new style guide rule.

Create a new style guide rule.

### Request

Use the shared HTTP API endpoint and request formats.

See [HTTP API Overview](/v6.11.0/api-reference/overview.md).

#### Parameters

| Parameter         | Type      | Required | Default       | Notes                                                            |
| ----------------- | --------- | -------- | ------------- | ---------------------------------------------------------------- |
| `cmd`             | string    | Yes      | `style_guide` | Command name.                                                    |
| `action`          | string    | Yes      | `addrule`     | Action name.                                                     |
| `lang`            | string    | No       | `common`      | Language scope to create the rule in (example: `en_US` or `en`). |
| `patterns`        | string\[] | Yes      |               | Patterns to match.                                               |
| `suggestions`     | string\[] | No       | \[]           | Replacement suggestions.                                         |
| `state`           | boolean   | No       | `true`        | Enables/disables the rule.                                       |
| `context_include` | string\[] | No       | \[]           | Matches only when one of these contexts exists.                  |
| `context_exclude` | string\[] | No       | \[]           | Skips matches when one of these contexts exists.                 |
| `description`     | string    | No       |               | Message shown to the user.                                       |

{% hint style="info" %}
You can’t choose a rule ID.

The rule ID is generated as a hash of `patterns` + `context_include`. If `patterns` or `context_include` changes later, the rule will get a new ID.
{% endhint %}

### Behavior

* Creates a new rule in the target style guide file.
* Returns the created rule in `result`.

### Response

Single rule object containing its rule ID is returned.

See [Response schema](/v6.11.0/api-reference/style-guide-api/response-schema.md).

### Errors

See [Errors](/v6.11.0/api-reference/style-guide-api/errors.md#addrule-errors).

### Examples

<details>

<summary>Example (JSON body)</summary>

```json
{
  "cmd": "style_guide",
  "action": "addrule",
  "lang": "common",
  "patterns": ["webspellchecker"],
  "suggestions": ["WebSpellChecker"],
  "description": "The company name should be spelled in the mixed case.",
  "state": true,
  "context_include": [],
  "context_exclude": []
}
```

</details>
