> 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/api-reference/style-guide-api/actions/edit-rule-editrule.md).

# Edit rule (editrule)

Update an existing style guide rule.

### Request

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

#### Parameters

| Parameter         | Type      | Required | Default       | Notes                                                             |
| ----------------- | --------- | -------- | ------------- | ----------------------------------------------------------------- |
| `cmd`             | string    | Yes      | `style_guide` | Command name.                                                     |
| `action`          | string    | Yes      | `editrule`    | Action name.                                                      |
| `collection`      | string    | Yes      |               | A name of the collection in which rules are stored.               |
| `lang`            | string    | No       | `common`      | Language scope that contains the rule (example: `en_US` or `en`). |
| `rule`            | string    | Yes      |               | Rule ID to update. Use `lang` + `rule` to uniquely target it.     |
| `patterns`        | string\[] | No       |               | New patterns. Replaces the whole array.                           |
| `suggestions`     | string\[] | No       |               | New suggestions. Replaces the whole array.                        |
| `state`           | boolean   | No       |               | Enables/disables the rule.                                        |
| `context_include` | string\[] | No       |               | New include context. Replaces the whole array.                    |
| `context_exclude` | string\[] | No       |               | New exclude context. Replaces the whole array.                    |
| `description`     | string    | No       |               | New message.                                                      |

Provide at least one updatable field.

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

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

### Behavior

* Updates only the provided fields.
* Returns the updated rule in `result`.

### Response

Updated single rule object with updated rule ID is returned.

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

### Errors

See:

* [Errors](/api-reference/style-guide-api/errors.md#editrule-errors)
* [Validation & limits](/api-reference/style-guide-api/validation-and-limits.md)

### Examples

#### Disable rule:

{% tabs %}
{% tab title="Example (JSON body)" %}

<details>

<summary>Request URL (on-premises)</summary>

{% code overflow="wrap" %}

```
http(s)://server_entry_point/?cmd=style_guide&access_key=<your-access-key>&collection=style guide&lang=en_US&action=editrule&rule=STYLE_16591413123912100174&state=false
```

{% endcode %}

</details>

<details>

<summary>Request URL (Cloud)</summary>

{% code overflow="wrap" %}

```
https://svc.webspellchecker.net/api?cmd=style_guide&access_key=<your-access-key>&serviceid=<your-service-id>&collection=style guide&lang=en_US&action=editrule&rule=STYLE_16591413123912100174&state=false
```

{% endcode %}

</details>

<details>

<summary>Request CURL (on-premises)</summary>

{% code overflow="wrap" %}

```bash
curl -G "http(s)://server_entry_point" \
  --data-urlencode 'cmd=style_guide' \
  --data-urlencode 'access_key=<your-access-key>' \
  --data-urlencode 'collection=style guide' \
  --data-urlencode 'lang=en_US' \
  --data-urlencode 'action=editrule' \
  --data-urlencode 'rule=STYLE_16591413123912100174' \
  --data-urlencode 'state=false'
```

{% endcode %}

</details>

<details>

<summary>Request CURL (Cloud)</summary>

{% code overflow="wrap" %}

```bash
curl -G "https://svc.webspellchecker.net/api" \
  --data-urlencode 'cmd=style_guide' \
  --data-urlencode 'access_key=<your-access-key>' \
  --data-urlencode 'serviceid=<your-service-id>' \
  --data-urlencode 'collection=style guide' \
  --data-urlencode 'lang=en_US' \
  --data-urlencode 'action=editrule' \
  --data-urlencode 'rule=STYLE_16591413123912100174' \
  --data-urlencode 'state=false'
```

{% endcode %}

</details>

***

<details>

<summary>Response</summary>

{% code overflow="wrap" %}

```json
{
    "message": "Rule updated.",
    "result": [
        {
            "state": false,
            "language": "",
            "id": {
                "category": "STYLE_GUIDE",
                "collection": "style guide",
                "rule": "STYLE_16591413123912100174"
            },
            "patterns": [
                "testtexttobereplaced"
            ],
            "suggestions": [
                "TestTextToBeReplaced"
            ],
            "description": "example",
            "context_include": [],
            "context_exclude": []
        }
    ]
}
```

{% endcode %}

</details>
{% endtab %}

{% tab title="Example (XML body)" %}

<details>

<summary>Request URL (on-premises)</summary>

{% code overflow="wrap" %}

```
http(s)://server_entry_point/?cmd=style_guide&access_key=<your-access-key>&collection=style guide&lang=en_US&action=editrule&rule=STYLE_16591413123912100174&state=false&format=xml
```

{% endcode %}

</details>

<details>

<summary>Request URL (Cloud)</summary>

{% code overflow="wrap" %}

```
https://svc.webspellchecker.net/api?cmd=style_guide&access_key=<your-access-key>&serviceid=<your-service-id>&collection=style guide&lang=en_US&action=editrule&rule=STYLE_16591413123912100174&state=false&format=xml
```

{% endcode %}

</details>

<details>

<summary>Request CURL (on-premises)</summary>

{% code overflow="wrap" %}

```bash
curl -G "http(s)://server_entry_point" \
  --data-urlencode 'cmd=style_guide' \
  --data-urlencode 'access_key=<your-access-key>' \
  --data-urlencode 'collection=style guide' \
  --data-urlencode 'lang=en_US' \
  --data-urlencode 'action=editrule' \
  --data-urlencode 'rule=STYLE_16591413123912100174' \
  --data-urlencode 'state=false' \
  --data-urlencode 'format=xml'
```

{% endcode %}

</details>

<details>

<summary>Request CURL (Cloud)</summary>

{% code overflow="wrap" %}

```bash
curl -G "https://svc.webspellchecker.net/api" \
  --data-urlencode 'cmd=style_guide' \
  --data-urlencode 'access_key=<your-access-key>' \
  --data-urlencode 'serviceid=<your-service-id>' \
  --data-urlencode 'collection=style guide' \
  --data-urlencode 'lang=en_US' \
  --data-urlencode 'action=editrule' \
  --data-urlencode 'rule=STYLE_16591413123912100174' \
  --data-urlencode 'state=false' \
  --data-urlencode 'format=xml'
```

{% endcode %}

</details>

***

<details>

<summary>Response</summary>

{% code overflow="wrap" %}

```xml
<message>Rule updated.</message>

<result>
	<rule>
		<state>false</state>
		<language/>
		<id>
			<category>STYLE_GUIDE</category>
			<collection>style guide</collection>
			<rule>STYLE_16591413123912100174</rule>
		</id>
		<patterns>
			<patterns>testtexttobereplaced</patterns>
		</patterns>
		<suggestions>
			<suggestions>TestTextToBeReplaced</suggestions>
		</suggestions>
		<description>example</description>
		<context_include/>
		<context_exclude/>
	</rule>
</result>
```

{% endcode %}

</details>
{% endtab %}
{% endtabs %}
