> For the complete documentation index, see [llms.txt](https://docs.stoobly.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.stoobly.com/experimental/experimental-features/api-testing/configuration/lifecycle-hooks.md).

# Lifecycle Hooks

{% hint style="info" %}
**Use Case**

* Extend or override existing functionality
  {% endhint %}

## General Hooks

### Before Test

```python
def handle_before_test(context: TestContext):
    pass
```

### After Test

```python
def handle_after_test(context: TestContext):
    pass
```

## On Traverse Hooks

### Length Matches

```python
def handle_length_matches(context: MatchContext, v1: list, v2: list):
    pass
```

### Value Matches

```python
def handle_value_matches(context: MatchContext, v1, v2):
    pass
```

### Value Fuzzy Matches

```python
def handle_value_fuzzy_matches(context: MatchContext, v1, v2):
    pass
```

### Param Name Exists

```python
def handle_param_name_exists(context: MatchContext, key: str, actual: dict):
    pass
```

### Value Type Exists

```python
def handle_value_type_exists(context: MatchContext, value, valid_types: list):
    pass
```
