# Severity levels

In the configuration file we defined severity levels. These can be as many as you want but you must have at least one. We define a `name`,`score` Optionally we can define `expiresAfter` , `reason` and `reasonOverwriteEnabled` property. The score determines how serious an offence the player has committed. Every warning must have a severity level. An example configuration could be:

```yaml
severity-levels:
  - name: STEALING
    score: 1
    expiresAfter: 1 WEEK
    reason: No you don't do that
    reasonOverwriteEnabled: true
  - name: GRIEFING
    score: 3
  - name: BULLYING
    score: 6
```

As you can see in the above config, griefing is a more serious offence than stealing. And bullying is the most serious offence.&#x20;

{% hint style="warning" %}
Severity levels cannot contain **spaces.** I suggest using simple alphanumeric names.
{% endhint %}

#### reason & reasonOverwriteEnabled

We can define a default reason for severity levels. This means that whenever a staff members issues a warning with this severity level he does not need or cannot specify a reason. \
This means that when a default reason is set the following is a valid command:\
\
&#x20;    `/warn STEALING aPlayerName`

Another configuration option, `reasonOverwriteEnabled` , can be set to enable a staff member to specify a custom reason if he wants to. If both `reason` and `reasonOverwriteEnabled: true` are set a staff member can either issue a warning this way:\
\
&#x20;    `/warn STEALING aPlayerName`

Or this way:

&#x20;    `/warn STEALING aPlayerName My custom reason`

#### Expiration

The **expiresAfter** property is optional and defines when a warning gets expired. Expired warnings still show up in the infractions GUI but are not taken into account when doing threshold calculations. \
Specified by \[amount] \[unit].

Amount must be a positive number > 0 and unit must be one of the following:

* SECOND
* MINUTE
* HOUR
* DAY
* WEEK
* MONTH
* YEAR


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://wiki.staffplusplus.org/features/warnings/severity-levels.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
