# Rule State

## The two rule states

Every Rule (Decision Rule/Scripting Rules/Rule Flow) table has two control states: **`Published`** and **`Pending`**. The state can be set on every **version** of the rule separately.

Decision tables and scripting rules are in **`Published`** state when created, but Rule Flow are in **`Pending`** state as well as all newly created versions and all imported rules.

### Published state

Rule in **`Published`** state is ready for production and is available via [Solver API](https://docs.decisionrules.io/doc/v1/api/rule-solver-api).

#### Examples:

![](https://content.gitbook.com/content/dv9UprVu3KjO5la255ws/blobs/BjUTWwi7rlmO4mbgNUJ9/image%20\(15\).png)

![](https://content.gitbook.com/content/dv9UprVu3KjO5la255ws/blobs/Xd5rdDKfr2CkTmZygmmD/image.png)

### Pending state

Some rules or versions of rules are not yet ready for production. For example, because the rule is still in development. Such a rule has a "Pending" status and it cannot be accessed using [Solver API](https://docs.decisionrules.io/doc/v1/api/rule-solver-api). When trying to solve such a rule, [Solver API](https://docs.decisionrules.io/doc/v1/api/rule-solver-api) returns the following HTTP request error:

```javascript
400 Bad Request
{
  "error": {
    "message": "Rule state is not published"
  }
}
```

{% hint style="success" %}
For the purpose of testing your rules and their versions that are not yet in production, you can use the **Debug** in [Test Bench](https://docs.decisionrules.io/doc/v1/other/test-bench) to solve the rule even if it is in the "Pending" state.
{% endhint %}

#### Example:

![Rule in pending state](https://content.gitbook.com/content/dv9UprVu3KjO5la255ws/blobs/yHMY5MFs6VbGFvh6mP62/image.png)

### How to change the rule state

The state can be changed in rule detail by clicking on "State". The rule **must be saved** to apply the changes made on the state.

![](https://content.gitbook.com/content/dv9UprVu3KjO5la255ws/blobs/I3xUlAlYSsNxSrL9BzBR/image.png)
