> 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/style-guide-api/actions/get-rules-getrules.md).

# Get rules (getrules)

List style guide rules.

### Request

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

#### Parameters

| Parameter    | Type   | Required | Default       | Notes                                                                                                                                           |
| ------------ | ------ | -------- | ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| `cmd`        | string | Yes      | `style_guide` | Command name.                                                                                                                                   |
| `action`     | string | Yes      | `getrules`    | Action name.                                                                                                                                    |
| `lang`       | string | No       |               | <p>Language scope to list rules for (example: <code>en\_US</code> or <code>en</code>).<br>By default returns all rules from every language.</p> |
| `rule`       | string | No       |               | One rule ID, or a comma-separated list of rule IDs. Filter is applied within the selected `lang`.                                               |
| `collection` | string | No       | `style guide` | A name of the collection in which rules are stored.                                                                                             |

### Behavior

* Without `lang`: lists of all the rules under client id.
* Without `rule`: returns all rules for the selected `lang`, grouped by style guide.
* With `collection:` returns all rules for selected `collection`
* With `rule`: returns only the matching rule(s) for the selected `lang`.

### Response

Multiple rule objects are returned.

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

### Errors

See

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

### Examples

#### 1) Get all the rules:

{% 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>&action=getrules
```

{% 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>&action=getrules
```

{% 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 'action=getrules'
```

{% 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 'action=getrules'
```

{% endcode %}

</details>

***

<details>

<summary>Response</summary>

{% code overflow="wrap" %}

```json
{
    "message": "Rules retrieved.",
    "result": [
        {
            "state": true,
            "language": "",
            "id": {
                "category": "STYLE_GUIDE",
                "collection": "style guide",
                "rule": "STYLE_16591413123912100174"
            },
            "patterns": [
                "testtexttobereplaced"
            ],
            "suggestions": [
                "TestTextToBeReplaced"
            ],
            "description": "example",
            "context_include": [],
            "context_exclude": []
        },
        {
            "state": true,
            "language": "en_US",
            "id": {
                "category": "STYLE_GUIDE",
                "collection": "style guide",
                "rule": "STYLE_5933619761905272220"
            },
            "patterns": [
                "webspellchecker"
            ],
            "suggestions": [
                "WebSpellChecker"
            ],
            "description": "",
            "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>&action=getrules&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>&action=getrules&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 'action=getrules' \
  --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 'action=getrules' \
  --data-urlencode 'format=xml'
```

{% endcode %}

</details>

***

<details>

<summary>Response</summary>

{% code overflow="wrap" %}

```xml
<message>Rules retrieved.</message>

<result>
	<rule>
		<state>true</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>
	<rule>
		<state>true</state>
		<language>en_US</language>
		<id>
			<category>STYLE_GUIDE</category>
			<collection>style guide</collection>
			<rule>STYLE_5933619761905272220</rule>
		</id>
		<patterns>
			<patterns>webspellchecker</patterns>
		</patterns>
		<suggestions>
			<suggestions>WebSpellChecker</suggestions>
		</suggestions>
		<description/>
		<context_include/>
		<context_exclude/>
	</rule>
</result>
```

{% endcode %}

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

#### 2) Get all the rules of a specific collection:

{% 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>&action=getrules&lang=en_US&collection=A test-collection
```

{% 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>&action=getrules&lang=en_US&collection=A test-collection
```

{% 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 'action=getrules' \
  --data-urlencode 'lang=en_US' \
  --data-urlencode 'collection=A test-collection'
```

{% 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 'action=getrules' \
  --data-urlencode 'lang=en_US' \
  --data-urlencode 'collection=A test-collection'
```

{% endcode %}

</details>

***

<details>

<summary>Response</summary>

{% code overflow="wrap" %}

```json
{
    "message": "Rules retrieved.",
    "result": [
        {
            "state": true,
            "language": "en_US",
            "id": {
                "category": "A_TEST-COLLECTION",
                "collection": "A test-collection",
                "rule": "A_5933619761905272220"
            },
            "patterns": [
                "webspellchecker"
            ],
            "suggestions": [
                "WebSpellChecker"
            ],
            "description": "",
            "context_include": [],
            "context_exclude": []
        },
        {
            "state": true,
            "language": "en_US",
            "id": {
                "category": "A_TEST-COLLECTION",
                "collection": "A test-collection",
                "rule": "A_6313242940900407355"
            },
            "patterns": [
                "replacethis"
            ],
            "suggestions": [
                "replace this"
            ],
            "description": "",
            "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>&action=getrules&lang=en_US&collection=A test-collection&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>&action=getrules&lang=en_US&collection=A test-collection&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 'action=getrules' \
  --data-urlencode 'lang=en_US' \
  --data-urlencode 'collection=A test-collection' \
  --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 'action=getrules' \
  --data-urlencode 'lang=en_US' \
  --data-urlencode 'collection=A test-collection' \
  --data-urlencode 'format=xml'
```

{% endcode %}

</details>

***

<details>

<summary>Response</summary>

{% code overflow="wrap" %}

```xml
<message>Rules retrieved.</message>

<result>
	<rule>
		<state>true</state>
		<language>en_US</language>
		<id>
			<category>A_TEST-COLLECTION</category>
			<collection>A test-collection</collection>
			<rule>A_5933619761905272220</rule>
		</id>
		<patterns>
			<patterns>webspellchecker</patterns>
		</patterns>
		<suggestions>
			<suggestions>WebSpellChecker</suggestions>
		</suggestions>
		<description/>
		<context_include/>
		<context_exclude/>
	</rule>
	<rule>
		<state>true</state>
		<language>en_US</language>
		<id>
			<category>A_TEST-COLLECTION</category>
			<collection>A test-collection</collection>
			<rule>A_6313242940900407355</rule>
		</id>
		<patterns>
			<patterns>replacethis</patterns>
		</patterns>
		<suggestions>
			<suggestions>replace this</suggestions>
		</suggestions>
		<description/>
		<context_include/>
		<context_exclude/>
	</rule>
</result>
```

{% endcode %}

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

#### 3) Get a specific 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>&action=getrules&rule=STYLE_16591413123912100174
```

{% 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>&action=getrules&rule=STYLE_16591413123912100174
```

{% 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 'action=getrules' \
  --data-urlencode 'rule=STYLE_16591413123912100174'
```

{% 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 'action=getrules' \
  --data-urlencode 'rule=STYLE_16591413123912100174'
```

{% endcode %}

</details>

***

<details>

<summary>Response</summary>

{% code overflow="wrap" %}

```json
{
    "message": "Rules retrieved.",
    "result": [
        {
            "state": true,
            "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>&action=getrules&rule=STYLE_16591413123912100174&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>&action=getrules&rule=STYLE_16591413123912100174&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 'action=getrules' \
  --data-urlencode 'rule=STYLE_16591413123912100174' \
  --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 'action=getrules' \
  --data-urlencode 'rule=STYLE_16591413123912100174' \
  --data-urlencode 'format=xml'
```

{% endcode %}

</details>

***

<details>

<summary>Response</summary>

{% code overflow="wrap" %}

```xml
<message>Rules retrieved.</message>

<result>
	<rule>
		<state>true</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 %}
