Type to search.

Create a pack

Base URL
https://{kibana_url}
  • POST /api/osquery/packs
  • POST /s/{space_id}/api/osquery/packs
Auth

Create a query pack.

Path parameters

space_id string optional

An identifier for the space. If space_id is not provided in the URL, the default space is used. Refer to Spaces for more information.

Request body

description string

The pack description.

enabled boolean

Enables the pack.

interval integer · min: 1

Pack-level interval, in seconds. Used when schedule_type is interval. Mutually exclusive with rrule_schedule.

min_osquery_version string · min length: 1 · max length: 64 · pattern: ^\d+(\.\d+){0,2}$

Minimum osquery version required to run this pack or query. Formatted as a numeric version string, e.g. "5.10.0". Non-numeric values (e.g. "latest") are rejected.

name string

The pack name.

platform string · min length: 1 · max length: 256

Pack-level platform restriction. To specify multiple platforms, use commas. For example, linux,darwin.

policy_ids string[]

A list of agents policy IDs.

queries map string to object

An object of queries.

result_type enum

Controls the result document type emitted by osquerybeat for this pack or query.

  • snapshot: Full table snapshot on every scheduled run (default).
  • differential: Rows added or removed since the previous run.
  • differential_added_only: Only rows added since the previous run (no removals).
Values: snapshot differential differential_added_only
schedule_type enum

Discriminator for the pack's schedule mode. interval uses native osqueryd interval scheduling (seconds). rrule uses osquerybeat's RRULE-based recurrence scheduling. Per-query overrides MUST use the same mode as the pack — cross-mode overrides are rejected with 400.

Values: interval rrule
shards map string to number

An object with shard configuration for policies included in the pack. For each policy, set the shard configuration to a percentage (1–100) of target hosts.

Response

Indicates a successful call.

application/json
data object required
created_at string · format: date-time

The date and time the pack was created.

created_by string nullable

The user who created the pack.

created_by_profile_uid string

The profile UID of the user who created the pack.

description string

The pack description.

enabled boolean

Enables the pack.

interval integer · min: 1

Pack-level interval, in seconds. Used when schedule_type is interval. Mutually exclusive with rrule_schedule.

min_osquery_version string · min length: 1 · max length: 64

Minimum osquery version required to run this pack or query, e.g. "5.10.0".

name string required

The pack name.

platform string · min length: 1 · max length: 256

Pack-level platform restriction. To specify multiple platforms, use commas. For example, linux,darwin.

policy_ids string[]

A list of agents policy IDs.

queries map string to object

An object of queries.

result_type enum

Controls the result document type emitted by osquerybeat for this pack or query.

  • snapshot: Full table snapshot on every scheduled run (default).
  • differential: Rows added or removed since the previous run.
  • differential_added_only: Only rows added since the previous run (no removals).
Values: snapshot differential differential_added_only
saved_object_id string required

The saved object ID of the pack.

schedule_type enum

Discriminator for the pack's schedule mode. interval uses native osqueryd interval scheduling (seconds). rrule uses osquerybeat's RRULE-based recurrence scheduling. Per-query overrides MUST use the same mode as the pack — cross-mode overrides are rejected with 400.

Values: interval rrule
updated_at string · format: date-time

The date and time the pack was last updated.

updated_by string nullable

The user who last updated the pack.

updated_by_profile_uid string

The profile UID of the user who last updated the pack.

version integer

The pack version number.