---
name: "Search::Elasticsearch::Client::8_0::Direct::Watcher"
section: "3pm"
platform: "linux"
package: "libsearch-elasticsearch-perl"
version: "8.12-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Search::Elasticsearch::Client::8_0::Direct::Watcher"
---

# Search::Elasticsearch::Client::8\_0::Direct::Watcher(3pm)

Plugin providing Watcher API for Search::Elasticsearch 8.x

## NAME

Search::Elasticsearch::Client::8\_0::Direct::Watcher - Plugin providing Watcher API for Search::Elasticsearch 8.x

## VERSION

version 8.12

## SYNOPSIS

```
    my $response = $es->watcher->start();
```

### DESCRIPTION

This class extends the Search::Elasticsearch client with a `"watcher"` namespace, to support the Watcher APIs \<https://www.elastic.co/guide/en/elasticsearch/reference/current/watcher-api.html\>.

## METHODS

The full documentation for the Watcher feature is available here: \<https://www.elastic.co/guide/en/x-pack/current/xpack-alerting.html\>

### put\_watch()

```
    $response = $es->watcher->put_watch(
        id    => $watch_id,     # required
        body  => {...}
    );
```

The `put_watch()` method is used to register a new watcher or to update an existing watcher.

See the put\_watch docs \<https://www.elastic.co/guide/en/elasticsearch/reference/current/watcher-api-put-watch.html\> for more information.

Query string parameters:\
     `"active"`,\
     `"error_trace"`,\
     `"human"`,\
     `"if_primary_term"`,\
     `"if_seq_no"`,\
     `"master_timeout"`,\
     `"version"`

### get\_watch()

```
    $response = $es->watcher->get_watch(
        id    => $watch_id,     # required
    );
```

The `get_watch()` method is used to retrieve a watch by ID.

See the get\_watch docs \<https://www.elastic.co/guide/en/elasticsearch/reference/current/watcher-api-get-watch.html\> for more information.

Query string parameters:\
     `"error_trace"`,\
     `"human"`

### delete\_watch()

```
    $response = $es->watcher->delete_watch(
        id    => $watch_id,     # required
    );
```

The `delete_watch()` method is used to delete a watch by ID.

Query string parameters:\
     `"error_trace"`,\
     `"force"`,\
     `"human"`,\
     `"master_timeout"`

See the delete\_watch docs \<https://www.elastic.co/guide/en/elasticsearch/reference/current/watcher-api-delete-watch.html\> for more information.

### execute\_watch()

```
    $response = $es->watcher->execute_watch(
        id    => $watch_id,     # optional
        body  => {...}          # optional
    );
```

The `execute_watch()` method forces the execution of a previously registered watch.  Optional parameters may be passed in the `"body"`.

Query string parameters:\
     `"debug"`,\
     `"error_trace"`,\
     `"human"`

See the execute\_watch docs \<https://www.elastic.co/guide/en/elasticsearch/reference/current/watcher-api-execute-watch.html\> for more information.

### ack\_watch()

```
    $response = $es->watcher->ack_watch(
        watch_id => $watch_id,                  # required
        action_id => $action_id | \@action_ids  # optional
    );
```

The `ack_watch()` method is used to manually throttle the execution of a watch.

Query string parameters:\
     `"error_trace"`,\
     `"human"`,\
     `"master_timeout"`

See the ack\_watch docs \<https://www.elastic.co/guide/en/elasticsearch/reference/current/watcher-api-ack-watch.html\> for more information.

### activate\_watch()

```
    $response = $es->watcher->activate_watch(
        watch_id => $watch_id,                  # required
    );
```

The `activate_watch()` method is used to activate a deactive watch.

Query string parameters:\
     `"error_trace"`,\
     `"human"`,\
     `"master_timeout"`

See the activate\_watch docs \<https://www.elastic.co/guide/en/elasticsearch/reference/current/watcher-api-activate-watch.html\> for more information.

### deactivate\_watch()

```
    $response = $es->watcher->deactivate_watch(
        watch_id => $watch_id,                  # required
    );
```

The `deactivate_watch()` method is used to deactivate an active watch.

Query string parameters:\
     `"error_trace"`,\
     `"human"`,\
     `"master_timeout"`

See the deactivate\_watch docs \<https://www.elastic.co/guide/en/elasticsearch/reference/current/watcher-api-deactivate-watch.html\> for more information.

### stats()

```
    $response = $es->watcher->stats(
        metric => $metric       # optional
    );
```

The `stats()` method returns information about the status of the watcher plugin.

See the stats docs \<https://www.elastic.co/guide/en/elasticsearch/reference/current/watcher-api-stats.html\> for more information.

Query string parameters:\
     `"error_trace"`,\
     `"human"`

### stop()

```
    $response = $es->watcher->stop();
```

The `stop()` method stops the watcher service if it is running.

See the stop docs \<https://www.elastic.co/guide/en/elasticsearch/reference/current/watcher-api-stop.html\> for more information.

Query string parameters:\
     `"error_trace"`,\
     `"human"`

### start()

```
    $response = $es->watcher->start();
```

The `start()` method starts the watcher service if it is not already running.

See the start docs \<https://www.elastic.co/guide/en/elasticsearch/reference/current/watcher-api-start.html\> for more information.

Query string parameters:\
     `"error_trace"`,\
     `"human"`

### restart()

```
    $response = $es->watcher->restart();
```

The `restart()` method stops then starts the watcher service.

See the restart docs \<https://www.elastic.co/guide/en/elasticsearch/reference/current/watcher-api-restart.html\> for more information.

Query string parameters:\
     `"error_trace"`,\
     `"human"`

## AUTHOR

Enrico Zimuel \<enrico.zimuel@elastic.co\>

## COPYRIGHT AND LICENSE

This software is Copyright (c) 2024 by Elasticsearch BV.

This is free software, licensed under:

```
  The Apache License, Version 2.0, January 2004
```
