---
title: "Return ModSecurity rules"
method: GET
path: "/modsec_get_rules"
tags: ["ModSecurity", "Rule Settings"]
---

# Return ModSecurity rules

`GET /modsec_get_rules`

This function retrieves the ModSecurity™ rules from one or more ModSecurity configuration files.

**Important:**

* When you disable the
[Web Server role](https://docs.cpanel.net/knowledge-base/general-systems-administration/how-to-use-server-profiles/#roles),
the system disables this function.
* You **must** include either the `vendor_id` **or** the `config` parameters.

## Query parameters

- `config` string
- `exclude_bare_comments` 1 | 0
- `exclude_other_directives` 1 | 0
- `vendor_id` string

## Response `200`

HTTP Request was successful.

- object
  - `data` object
    - `chunks` object[] — An array of objects that contains elements that represent the contents of each configuration file's rules.
      - `config` string — The file path to the configuration file, relative to the `/usr/local/apache/conf/` directory.
      - `config_active` 1 | 0 — Whether the configuration file is active. * `1` — Active. * `0` — **Not** active.
      - `disabled` 1 | 0 — Whether the rule is active. * `1` — **Not** Active. * `0` — Active.
      - `id` integer — The ModSecurity rule's ID number. **Note:** The function does not always return this parameter.
      - `meta_msg` string — The description of the rule.
      - `rule` string — The rule's text. **Note:** This return may include multiple directives and comments if they are all part of the same rule.
      - `staged` 1 | 0 — Whether the system has added the rule to the ModSecurity configuration file. * `1` — Rule staged. * `0` — Rule **not** staged.
      - `vendor_active` 1 | 0 — Whether the vendor is active. * `1` — Active. * `0` — **Not** active.
      - `vendor_id` string — The vendor's unique short name.
    - `staged_changes` 1 | 0 — Whether the chunks array includes staged changes that the system has not yet added to the ModSecurity configuration file. * `1` — Staged changes in output. * `0` — **No** staged changes in output.
  - `metadata` object
    - `command` string — The method name called.
    - `reason` string — The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
    - `result` 1 | 0 — * `1` — Success. * `0` — Failed. Check the `reason` field for more details.
    - `version` integer — The version of the API function.

---

[API](https://skmtc.net/cpanel/apis/whm-api.md) · [All operations](https://skmtc.net/cpanel/apis/whm-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/cpanel/whm-api/revisions/3da41671c02c/schema)
