Create saved query APIedit

[preview] This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features. Create saved queries.

Requestedit

POST <kibana host>:<port>/api/osquery/saved_queries

POST <kibana host>:<port>/s/<space_id>/api/osquery/saved_queries

Path parametersedit

space_id
(Optional, string) The space identifier. When space_id is not provided in the URL, the default space is used.

Request bodyedit

id
(Required, string) The saved query name.
description
(Optional, string) The saved query description.
platform
(Optional, string) Restricts the query to a specified platform. The default is all platforms. To specify multiple platforms, use commas. For example, linux,darwin.
query
(Required, string) The SQL query you want to run.
version
(Optional, string) Uses the Osquery versions greater than or equal to the specified version string.
interval
(Optional, string) An interval, in seconds, on which to run the query.
ecs_mapping
(Optional, object) Maps Osquery results columns or static values to ECS fields.
timeout
(Optional, number) A timeout period, in seconds, after which the query will stop running. Overwriting the default timeout allows you to support queries that require more time to complete. The default and minimum supported value is 60. The maximum supported value is 900.

Response codeedit

200
Indicates a successful call.

Examplesedit

Create a saved query:

$ curl -X POST api/osquery/saved_queries \
{
  "id": "saved_query_id",
  "description": "Saved query description",
  "query": "select * from uptime;",
  "interval": "60",
  "timeout": 120,
  "version": "2.8.0",
  "platform": "linux,darwin",
  "ecs_mapping": {
    "host.uptime": {
      "field": "total_seconds"
    }
  }
}

The API returns the saved query object:

{
    "data": {...}
}