[role="xpack"] [[watcher-api-query-watches]] === Query watches API ++++ Query watches ++++ Retrieves all registered watches. [[watcher-api-query-watches-request]] ==== {api-request-title} `GET /_watcher/_query/watches` [[watcher-api-query-watches-prereqs]] ==== {api-prereq-title} * You must have `manage_watcher` or `monitor_watcher` cluster privileges to use this API. For more information, see <>. //[[watcher-api-query-watches-desc]] //==== {api-description-title} Retrieves all watches in a paginated manner and optionally filtering watches by a query. //[[watcher-api-query-watches-request-body]] //==== {api-request-body-title} This API supports the following fields: [cols=",^,^,", options="header"] |====== | Name | Required | Default | Description | `from` | no | 0 | The offset from the first result to fetch. Needs to be non-negative. | `size` | no | 10 | The number of hits to return. Needs to be non-negative. | `query` | no | null | Optional, <> filter watches to be returned. | `sort` | no | null | Optional <>. | `search_after` | no | null | Optional <> to do pagination using last hit's sort values. |====== Note that only the `_id` and `metadata.*` fields are queryable or sortable. //[[watcher-api-query-watches-response-body]] //==== {api-response-body-title} This api returns the following top level fields: `count`:: The total number of watches found. `watches`:: A list of watches based on the `from`, `size` or `search_after` request body parameters. [[watcher-api-query-watches-example]] ==== {api-examples-title} The following example list all stored watches: [source,console] -------------------------------------------------- GET /_watcher/_query/watches -------------------------------------------------- // TEST[setup:my_active_watch] Response: [source,console-result] -------------------------------------------------- { "count": 1, "watches": [ { "_id": "my_watch", "watch": { "trigger": { "schedule": { "hourly": { "minute": [ 0, 5 ] } } }, "input": { "simple": { "payload": { "send": "yes" } } }, "condition": { "always": {} }, "actions": { "test_index": { "index": { "index": "test" } } } }, "status": { "state": { "active": true, "timestamp": "2015-05-26T18:21:08.630Z" }, "actions": { "test_index": { "ack": { "timestamp": "2015-05-26T18:21:08.630Z", "state": "awaits_successful_execution" } } }, "version": -1 }, "_seq_no": 0, "_primary_term": 1 } ] } -------------------------------------------------- // TESTRESPONSE[s/"timestamp": "2015-05-26T18:21:08.630Z"/"timestamp": "$body.watches.0.status.state.timestamp"/]