openapi: 3.0.3
info:
contact:
name: Kibana Team
description: 'The Kibana REST APIs enable you to manage resources such as connectors, data views, and saved objects.
The API calls are stateless.
Each request that you make happens in isolation from other calls and must include all of the necessary information for Kibana to fulfill the
request.
API requests return JSON output, which is a format that is machine-readable and works well for automation.
To interact with Kibana APIs, use the following operations:
- GET: Fetches the information.
- PATCH: Applies partial modifications to the existing information.
- POST: Adds new information.
- PUT: Updates the existing information.
- DELETE: Removes the information.
You can prepend any Kibana API endpoint with `kbn:` and run the request in **Dev Tools → Console**.
For example:
```
GET kbn:/api/data_views
```
For more information about the console, refer to [Run API requests](https://www.elastic.co/docs/explore-analyze/query-filter/tools/console).
NOTE: Access to internal Kibana API endpoints will be restricted in Kibana version 9.0. Please move any integrations to publicly documented APIs.
## Documentation source and versions
This documentation is derived from the `main` branch of the [kibana](https://github.com/elastic/kibana) repository.
It is provided under license [Attribution-NonCommercial-NoDerivatives 4.0 International](https://creativecommons.org/licenses/by-nc-nd/4.0/).
This documentation contains work-in-progress information for future Elastic Stack releases.
'
title: Kibana APIs Actions Security Attack discovery API API
version: ''
x-doc-license:
name: Attribution-NonCommercial-NoDerivatives 4.0 International
url: https://creativecommons.org/licenses/by-nc-nd/4.0/
x-feedbackLink:
label: Feedback
url: https://github.com/elastic/docs-content/issues/new?assignees=&labels=feedback%2Ccommunity&projects=&template=api-feedback.yaml&title=%5BFeedback%5D%3A+
servers:
- url: https://{kibana_url}
variables:
kibana_url:
default: localhost:5601
security:
- apiKeyAuth: []
- basicAuth: []
tags:
- description: Use the Attack discovery APIs to generate and manage Attack discoveries. Attack Discovery leverages large language models (LLMs) to analyze alerts in your environment and identify threats. Each "discovery" represents a potential attack and describes relationships among multiple alerts to tell you which users and hosts are involved, how alerts correspond to the MITRE ATT&CK matrix, and which threat actor might be responsible.
name: Security Attack discovery API
x-displayName: Security Attack discovery
paths:
/api/attack_discovery/_bulk:
post:
description: '**Spaces method and path for this operation:**
post /s/{space_id}/api/attack_discovery/_bulk
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.
Performs bulk updates on multiple Attack discoveries, including workflow status changes and visibility settings. This endpoint allows efficient batch processing of alert modifications without requiring individual API calls for each alert.'
operationId: PostAttackDiscoveryBulk
requestBody:
content:
application/json:
examples:
PostAttackDiscoveryBulkRequestBodyExample:
summary: Acknowledge two Attack discoveries in bulk.
value:
update:
enable_field_rendering: false
ids:
- c0c8a8bbb4a6561856a974ee9e461f0c82e673a1f0d83f86c5a8d80fc8de4c4f
- 5aa8f2900c0b03854b3b1a52a19558c5ea9893865c78235d4ad3dcc46196f4c7
kibana_alert_workflow_status: acknowledged
with_replacements: true
schema:
type: object
properties:
update:
description: Configuration object containing all parameters for the bulk update operation
type: object
properties:
enable_field_rendering:
default: false
description: Enables a markdown syntax used to render pivot fields, for example `{{ user.name james }}`. When disabled, the same example would be rendered as `james`. This is primarily used for Attack Discovery views within Kibana. Defaults to `false`.
example: false
type: boolean
ids:
description: Array of Attack Discovery IDs to update
example:
- c0c8a8bbb4a6561856a974ee9e461f0c82e673a1f0d83f86c5a8d80fc8de4c4f
- 5aa8f2900c0b03854b3b1a52a19558c5ea9893865c78235d4ad3dcc46196f4c7
items:
type: string
type: array
kibana_alert_workflow_status:
description: When provided, update the kibana.alert.workflow_status of the attack discovery alerts
enum:
- open
- acknowledged
- closed
example: acknowledged
type: string
visibility:
description: When provided, update the visibility of the alert, as determined by the kibana.alert.attack_discovery.users field
enum:
- not_shared
- shared
example: shared
type: string
with_replacements:
default: true
description: When true, returns the updated Attack discoveries with text replacements applied to the detailsMarkdown, entitySummaryMarkdown, summaryMarkdown, and title fields. This substitutes anonymized values with human-readable equivalents. Defaults to `true`.
example: true
type: boolean
required:
- ids
required:
- update
description: Bulk update parameters for Attack discoveries
required: true
responses:
'200':
content:
application/json:
examples:
PostAttackDiscoveryBulkResponse200Example:
summary: A successful bulk update response containing the modified Attack discoveries.
value:
data:
- alert_ids:
- alert-abc-1
alert_workflow_status: acknowledged
connector_id: gen-ai-connector
connector_name: OpenAI GPT-4
details_markdown: '- **Host** `workstation-01` showed credential access patterns consistent with mimikatz.'
generation_uuid: 550e8400-e29b-41d4-a716-446655440000
id: c0c8a8bbb4a6561856a974ee9e461f0c82e673a1f0d83f86c5a8d80fc8de4c4f
summary_markdown: A user account was compromised using mimikatz to dump credentials.
timestamp: '2024-01-15T10:00:00.000Z'
title: Credential theft via mimikatz
schema:
type: object
properties:
data:
description: Array of updated Attack Discovery alert objects. Each item includes the applied modifications from the bulk update request.
items:
$ref: '#/components/schemas/Security_Attack_discovery_API_AttackDiscoveryApiAlert'
type: array
required:
- data
description: Indicates a successful call.
'400':
content:
application/json:
examples:
PostAttackDiscoveryBulkResponse400Example:
summary: Bad Request error returned when the bulk update payload is invalid.
value:
error: Bad Request
message: Invalid request parameters.
status_code: 400
schema:
type: object
properties:
error:
description: Error type
example: Bad Request
type: string
message:
description: Human-readable error message describing what went wrong with the bulk update request
example: Invalid request parameters.
type: string
status_code:
description: HTTP status code
example: 400
type: number
required:
- status_code
- error
- message
description: Bad Request response.
summary: Bulk update Attack discoveries
tags:
- Security Attack discovery API
x-codeSamples:
- label: Example request
lang: curl
source: "curl \\\n --request POST 'http://localhost:5601/api/attack_discovery/_bulk' \\\n --header \"Authorization: $API_KEY\" \\\n --header \"Content-Type: application/json\" \\\n --data-raw '{\n \"update\": {\n \"ids\": [\n \"c0c8a8bbb4a6561856a974ee9e461f0c82e673a1f0d83f86c5a8d80fc8de4c4f\",\n \"5aa8f2900c0b03854b3b1a52a19558c5ea9893865c78235d4ad3dcc46196f4c7\"\n ],\n \"kibana_alert_workflow_status\": \"acknowledged\"\n }\n }'\n"
x-metaTags:
- content: Kibana
name: product_name
/api/attack_discovery/_find:
get:
description: '**Spaces method and path for this operation:**
get /s/{space_id}/api/attack_discovery/_find
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.
Find Attack discoveries that match the search criteria. Supports free text search, filtering, pagination, and sorting.'
operationId: AttackDiscoveryFind
parameters:
- description: Filter results to Attack discoveries that include any of the provided alert IDs
in: query
name: alert_ids
required: false
schema:
items:
type: string
type: array
- description: Filter results to Attack discoveries created by any of the provided human readable connector names. Note that values must match the human readable `connector_name` property of an Attack discovery, e.g. "GPT-5 Chat", which are distinct from `connector_id` values used to generate Attack discoveries.
in: query
name: connector_names
required: false
schema:
items:
type: string
type: array
- description: Enables a markdown syntax used to render pivot fields, for example `{{ user.name james }}`. When disabled, the same example would be rendered as `james`. This is primarily used for Attack Discovery views within Kibana. Defaults to `false`.
example: false
in: query
name: enable_field_rendering
required: false
schema:
default: false
type: boolean
- description: End of the time range for the search. Accepts absolute timestamps (ISO 8601) or relative date math (e.g. "now", "now-24h").
example: now
in: query
name: end
required: false
schema:
type: string
- description: Filter results to the Attack discoveries with the specified IDs
in: query
name: ids
required: false
schema:
items:
type: string
type: array
- description: If `true`, the response will include `unique_alert_ids` and `unique_alert_ids_count` aggregated across the matched Attack discoveries
example: false
in: query
name: include_unique_alert_ids
required: false
schema:
type: boolean
- description: Page number to return (used for pagination). Defaults to 1.
example: 1
in: query
name: page
required: false
schema:
default: 1
minimum: 1
type: integer
- description: Number of Attack discoveries to return per page (used for pagination). Defaults to 10.
example: 10
in: query
name: per_page
required: false
schema:
default: 10
minimum: 1
type: integer
- description: Free-text search query applied to relevant text fields of Attack discoveries (title, description, tags, etc.)
example: ''
in: query
name: search
required: false
schema:
type: string
- description: Whether to filter by shared visibility. If omitted, both shared and privately visible Attack discoveries are returned. Use `true` to return only shared discoveries, `false` to return only those visible to the current user.
in: query
name: shared
required: false
schema:
type: boolean
- description: Whether to filter by scheduled or ad-hoc attack discoveries. If omitted, both types of attack discoveries are returned. Use `true` to return only scheduled discoveries or `false` to return only ad-hoc discoveries.
in: query
name: scheduled
required: false
schema:
type: boolean
- description: Field used to sort results. See `AttackDiscoveryFindSortField` for allowed values.
example: '@timestamp'
in: query
name: sort_field
required: false
schema:
$ref: '#/components/schemas/Security_Attack_discovery_API_AttackDiscoveryFindSortField'
default: '@timestamp'
- description: Sort order direction `asc` for ascending or `desc` for descending. Defaults to `desc`.
example: desc
in: query
name: sort_order
required: false
schema:
$ref: '#/components/schemas/Security_Attack_discovery_API_SortOrder'
default: desc
- description: Start of the time range for the search. Accepts absolute timestamps (ISO 8601) or relative date math (e.g. "now-7d").
example: now-24h
in: query
name: start
required: false
schema:
type: string
- description: Filter by alert workflow status. Provide one or more of the allowed workflow states.
example:
- open
- acknowledged
in: query
name: status
required: false
schema:
items:
enum:
- acknowledged
- closed
- open
type: string
type: array
- description: When true, return the created Attack discoveries with text replacements applied to the detailsMarkdown, entitySummaryMarkdown, summaryMarkdown, and title fields. Defaults to `true`.
example: true
in: query
name: with_replacements
required: false
schema:
default: true
type: boolean
responses:
'200':
content:
application/json:
examples:
AttackDiscoveryFindResponse200Example:
summary: Paginated list of Attack discoveries matching the search criteria.
value:
connector_names:
- GPT-5 Chat
data:
- connector_name: GPT-5 Chat
id: c0c8a8bbb4a6561856a974ee9e461f0c82e673a1f0d83f86c5a8d80fc8de4c4f
title: Suspicious process execution on host-01
page: 1
per_page: 10
total: 1
unique_alert_ids_count: 0
schema:
type: object
properties:
connector_names:
description: List of human readable connector names that are present in the matched Attack discoveries. Useful for building client filters or summaries.
items:
type: string
type: array
data:
description: Array of matched Attack discovery objects. Each item follows the `AttackDiscoveryApiAlert` schema.
items:
$ref: '#/components/schemas/Security_Attack_discovery_API_AttackDiscoveryApiAlert'
type: array
page:
description: Current page number of the paginated result set.
type: integer
per_page:
description: Number of items requested per page.
type: integer
total:
description: Total number of Attack discoveries matching the query (across all pages).
type: integer
unique_alert_ids:
description: List of unique alert IDs aggregated from the matched Attack discoveries. Only present if `include_unique_alert_ids=true` in the request.
items:
type: string
type: array
unique_alert_ids_count:
description: Number of unique alert IDs across all matched Attack discoveries. Only present if `include_unique_alert_ids=true` in the request.
type: integer
required:
- connector_names
- data
- page
- per_page
- total
- unique_alert_ids_count
description: Indicates a successful call.
'400':
content:
application/json:
examples:
AttackDiscoveryFindResponse400Example:
summary: Bad Request error returned when find query parameters are invalid.
value:
error: Bad Request
message: Invalid request payload.
status_code: 400
schema:
type: object
properties:
error:
description: Error type
example: Bad Request
type: string
message:
description: Human-readable error message
example: Invalid request payload.
type: string
status_code:
description: HTTP status code
example: 400
type: number
description: Bad Request response.
summary: Find Attack discoveries that match the search criteria
tags:
- Security Attack discovery API
x-codeSamples:
- label: Example request
lang: curl
source: "curl \\\n --request GET 'http://localhost:5601/api/attack_discovery/_find?end=now&include_unique_alert_ids=false&page=1&per_page=10&search=&sort_field=%40timestamp&sort_order=desc&start=now-24h&status=open&status=acknowledged' \\\n --header \"Authorization: $API_KEY\" \\\n --header \"Content-Type: application/json\"\n"
x-metaTags:
- content: Kibana
name: product_name
/api/attack_discovery/_generate:
post:
description: '**Spaces method and path for this operation:**
post /s/{space_id}/api/attack_discovery/_generate
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.
Initiates the generation of attack discoveries by analyzing security alerts using AI. Returns an execution UUID that can be used to track the generation progress and retrieve results. Results may also be retrieved via the find endpoint.'
operationId: PostAttackDiscoveryGenerate
requestBody:
content:
application/json:
examples:
PostAttackDiscoveryGenerateRequestBodyExample:
summary: Generate Attack discoveries from alerts in the last 24 hours.
value:
alertsIndexPattern: .alerts-security.alerts-default
anonymizationFields:
- allowed: true
anonymized: true
field: host.name
- allowed: true
anonymized: true
field: user.name
- allowed: true
anonymized: false
field: process.name
apiConfig:
actionTypeId: .gen-ai
connectorId: 12345678-1234-1234-1234-123456789012
connectorName: GPT-5 Chat
end: now
replacements: {}
size: 100
start: now-24h
subAction: invokeAI
schema:
$ref: '#/components/schemas/Security_Attack_discovery_API_AttackDiscoveryGenerationConfig'
required: true
responses:
'200':
content:
application/json:
examples:
PostAttackDiscoveryGenerateResponse200Example:
summary: Generation started; use the returned execution UUID to track progress.
value:
execution_uuid: edd26039-0990-4d9f-9829-2a1fcacb77b5
schema:
type: object
properties:
execution_uuid:
$ref: '#/components/schemas/Security_Attack_discovery_API_NonEmptyString'
description: The unique identifier for the attack discovery generation process. Use this UUID to track the generation progress and retrieve results via the find endpoint.
example: edd26039-0990-4d9f-9829-2a1fcacb77b5
required:
- execution_uuid
description: Indicates a successful call.
'400':
content:
application/json:
examples:
PostAttackDiscoveryGenerateResponse400Example:
summary: Bad Request error returned when the generate payload is invalid.
value:
error: Bad Request
message: Invalid request parameters.
status_code: 400
schema:
type: object
properties:
error:
description: Error type
example: Bad Request
type: string
message:
description: Human-readable error message describing what went wrong
example: Invalid request parameters.
type: string
status_code:
description: HTTP status code
example: 400
type: number
required:
- status_code
- error
- message
description: Bad Request response.
summary: Generate attack discoveries from alerts
tags:
- Security Attack discovery API
x-codeSamples:
- label: Example request
lang: curl
source: "curl \\\n --request POST 'http://localhost:5601/api/attack_discovery/_generate' \\\n --header \"Authorization: $API_KEY\" \\\n --header \"Content-Type: application/json\" \\\n --data '{\n \"alertsIndexPattern\": \".alerts-security.alerts-default\",\n \"anonymizationFields\": [\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"@timestamp\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"aKiJW5gB4U27o8XO8oLf\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"Ransomware.feature\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"saiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"Ransomware.files.data\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"sqiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"Ransomware.files.entropy\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"s6iJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"Ransomware.files.extension\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"tKiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"Ransomware.files.metrics\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"taiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"Ransomware.files.operation\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"tqiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"Ransomware.files.path\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"t6iJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"Ransomware.files.score\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"uKiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"Ransomware.version\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"uaiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"_id\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"Z6iJW5gB4U27o8XO8oLf\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"agent.id\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"aaiJW5gB4U27o8XO8oLf\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"cloud.availability_zone\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"aqiJW5gB4U27o8XO8oLf\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"cloud.provider\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"a6iJW5gB4U27o8XO8oLf\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"cloud.region\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"bKiJW5gB4U27o8XO8oLf\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"destination.ip\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"baiJW5gB4U27o8XO8oLf\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"dns.question.name\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"bqiJW5gB4U27o8XO8oLf\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"dns.question.type\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"b6iJW5gB4U27o8XO8oLf\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"event.category\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"cKiJW5gB4U27o8XO8oLf\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"event.dataset\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"caiJW5gB4U27o8XO8oLf\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"event.module\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"cqiJW5gB4U27o8XO8oLf\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"event.outcome\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"c6iJW5gB4U27o8XO8oLf\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"file.Ext.original.path\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"dKiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"file.hash.sha256\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"daiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"file.name\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"dqiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"file.path\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"d6iJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"group.id\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"eKiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"group.name\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"eaiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"host.asset.criticality\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"eqiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"host.name\",\n \"allowed\": true,\n \"anonymized\": true,\n \"namespace\": \"default\",\n \"id\": \"e6iJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"host.os.name\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"fKiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"host.os.version\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"faiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"host.risk.calculated_level\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"fqiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"host.risk.calculated_score_norm\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"f6iJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"kibana.alert.original_time\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"gKiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"kibana.alert.risk_score\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"gaiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"kibana.alert.rule.description\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"gqiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"kibana.alert.rule.name\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"g6iJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"kibana.alert.rule.references\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"hKiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"kibana.alert.rule.threat.framework\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"haiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"kibana.alert.rule.threat.tactic.id\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"hqiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"kibana.alert.rule.threat.tactic.name\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"h6iJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"kibana.alert.rule.threat.tactic.reference\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"iKiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"kibana.alert.rule.threat.technique.id\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"iaiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"kibana.alert.rule.threat.technique.name\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"iqiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"kibana.alert.rule.threat.technique.reference\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"i6iJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"kibana.alert.rule.threat.technique.subtechnique.id\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"jKiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"kibana.alert.rule.threat.technique.subtechnique.name\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"jaiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"kibana.alert.rule.threat.technique.subtechnique.reference\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"jqiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"kibana.alert.severity\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"j6iJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"kibana.alert.workflow_status\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"kKiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"message\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"kaiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"network.protocol\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"kqiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"process.Ext.memory_region.bytes_compressed_present\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"nKiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"process.Ext.memory_region.malware_signature.all_names\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"naiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"process.Ext.memory_region.malware_signature.primary.matches\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"nqiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"process.Ext.memory_region.malware_signature.primary.signature.name\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"n6iJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"process.Ext.token.integrity_level_name\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"oKiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"process.args\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"k6iJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"process.code_signature.exists\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"lKiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"process.code_signature.signing_id\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"laiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"process.code_signature.status\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"lqiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"process.code_signature.subject_name\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"l6iJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"process.code_signature.trusted\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"mKiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"process.command_line\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"maiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"process.executable\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"mqiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"process.exit_code\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"m6iJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"process.hash.md5\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"oaiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"process.hash.sha1\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"oqiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"process.hash.sha256\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"o6iJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"process.name\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"pKiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"process.parent.args\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"paiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"process.parent.args_count\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"pqiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"process.parent.code_signature.exists\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"p6iJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"process.parent.code_signature.status\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"qKiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"process.parent.code_signature.subject_name\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"qaiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"process.parent.code_signature.trusted\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"qqiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"process.parent.command_line\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"q6iJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"process.parent.executable\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"rKiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"process.parent.name\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"raiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"process.pe.original_file_name\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"rqiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"process.pid\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"r6iJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"process.working_directory\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"sKiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"rule.name\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"uqiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"rule.reference\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"u6iJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"source.ip\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"vKiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"threat.framework\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"vaiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"threat.tactic.id\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"vqiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"threat.tactic.name\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"v6iJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"threat.tactic.reference\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"wKiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"threat.technique.id\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"waiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"threat.technique.name\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"wqiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"threat.technique.reference\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"w6iJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"threat.technique.subtechnique.id\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"xKiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"threat.technique.subtechnique.name\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"xaiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"threat.technique.subtechnique.reference\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"xqiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"user.asset.criticality\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"x6iJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"user.domain\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"yKiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"user.name\",\n \"allowed\": true,\n \"anonymized\": true,\n \"namespace\": \"default\",\n \"id\": \"yaiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"user.risk.calculated_level\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"yqiJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"user.risk.calculated_score_norm\",\n \"allowed\": true,\n \"anonymized\": false,\n \"namespace\": \"default\",\n \"id\": \"y6iJW5gB4U27o8XO8oLg\"\n },\n {\n \"timestamp\": \"2025-07-30T13:33:44.029Z\",\n \"createdAt\": \"2025-07-30T13:33:44.029Z\",\n \"field\": \"user.target.name\",\n \"allowed\": true,\n \"anonymized\": true,\n \"namespace\": \"default\",\n \"id\": \"zKiJW5gB4U27o8XO8oLg\"\n }\n ],\n \"replacements\": {},\n \"size\": 100,\n \"subAction\": \"invokeAI\",\n \"apiConfig\": {\n \"connectorId\": \"12345678-1234-1234-1234-123456789012\",\n \"actionTypeId\": \".gen-ai\"\n },\n \"connectorName\": \"GPT-5 Chat\",\n \"end\": \"now\",\n \"start\": \"now-24h\"\n }'\n"
x-metaTags:
- content: Kibana
name: product_name
/api/attack_discovery/generations:
get:
description: '**Spaces method and path for this operation:**
get /s/{space_id}/api/attack_discovery/generations
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.
Get the latest Attack Discovery generations metadata (that are not dismissed) for the current user. This endpoint retrieves generation metadata including execution status and statistics for Attack Discovery generations.'
operationId: GetAttackDiscoveryGenerations
parameters:
- description: End of the time range for filtering generations. Accepts absolute timestamps (ISO 8601) or relative date math (e.g. "now", "now-24h").
example: now
in: query
name: end
required: false
schema:
type: string
- description: The maximum number of generations to retrieve
example: 50
in: query
name: size
required: false
schema:
default: 50
minimum: 1
type: number
- description: Start of the time range for filtering generations. Accepts absolute timestamps (ISO 8601) or relative date math (e.g. "now-7d").
example: now-24h
in: query
name: start
required: false
schema:
type: string
responses:
'200':
content:
application/json:
examples:
GetAttackDiscoveryGenerationsResponse200Example:
summary: Latest Attack Discovery generation metadata for the current user.
value:
generations:
- alerts_context_count: 75
connector_id: chatGpt5_0ChatAzure
discoveries: 3
end: '2025-09-29T06:42:44.810Z'
execution_uuid: 46b218d5-535d-4329-be56-d0f6af6986b7
loading_message: AI is analyzing up to 100 alerts in the last 24 hours to generate discoveries.
start: '2025-09-29T06:42:08.962Z'
status: succeeded
schema:
type: object
properties:
generations:
description: List of Attack Discovery generations
items:
$ref: '#/components/schemas/Security_Attack_discovery_API_AttackDiscoveryGeneration'
type: array
required:
- generations
description: Indicates a successful call.
'400':
content:
application/json:
examples:
GetAttackDiscoveryGenerationsResponse400Example:
summary: Bad Request error returned when the size parameter is invalid.
value:
error: Bad Request
message: Invalid size parameter. Must be a positive number.
status_code: 400
schema:
type: object
properties:
error:
description: Error type
example: Bad Request
type: string
message:
description: Human-readable error message
example: Invalid size parameter. Must be a positive number.
type: string
status_code:
description: HTTP status code
example: 400
type: number
description: Bad Request response.
summary: Get the latest Attack Discovery generations metadata for the current user
tags:
- Security Attack discovery API
x-codeSamples:
- label: Example request
lang: curl
source: "curl \\\n --request GET 'http://localhost:5601/api/attack_discovery/generations?size=50&start=now-24h&end=now' \\\n --header \"Authorization: $API_KEY\" \\\n --header \"Content-Type: application/json\"\n"
x-metaTags:
- content: Kibana
name: product_name
/api/attack_discovery/generations/{execution_uuid}:
get:
description: '**Spaces method and path for this operation:**
get /s/{space_id}/api/attack_discovery/generations/{execution_uuid}
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.
Returns a specific Attack Discovery generation, including all generated Attack discoveries and associated metadata, including execution status and statistics.'
operationId: GetAttackDiscoveryGeneration
parameters:
- description: The unique identifier for the Attack Discovery generation execution. This UUID is returned at the start of an Attack Discovery generation.
example: 2e13f386-46cf-4d65-9e2b-68609e132ba5
in: path
name: execution_uuid
required: true
schema:
$ref: '#/components/schemas/Security_Attack_discovery_API_NonEmptyString'
- description: Enables a markdown syntax used to render pivot fields, for example `{{ user.name james }}`. When disabled, the same example would be rendered as `james`. This is primarily used for Attack Discovery views within Kibana. Defaults to `false`.
example: false
in: query
name: enable_field_rendering
required: false
schema:
default: false
type: boolean
- description: When true, return the created Attack discoveries with text replacements applied to the detailsMarkdown, entitySummaryMarkdown, summaryMarkdown, and title fields. Defaults to `true`.
example: true
in: query
name: with_replacements
required: false
schema:
default: true
type: boolean
responses:
'200':
content:
application/json:
examples:
GetAttackDiscoveryGenerationResponse200Example:
summary: Single Attack Discovery generation with its discoveries and metadata.
value:
data:
- id: c0c8a8bbb4a6561856a974ee9e461f0c82e673a1f0d83f86c5a8d80fc8de4c4f
title: Suspicious process execution on host-01
generation:
alerts_context_count: 50
discoveries: 1
end: '2025-09-29T06:42:44.810Z'
execution_uuid: 2e13f386-46cf-4d65-9e2b-68609e132ba5
start: '2025-09-29T06:42:08.962Z'
status: succeeded
schema:
type: object
properties:
data:
description: Array of Attack discoveries generated during this execution.
items:
$ref: '#/components/schemas/Security_Attack_discovery_API_AttackDiscoveryApiAlert'
type: array
generation:
$ref: '#/components/schemas/Security_Attack_discovery_API_AttackDiscoveryGeneration'
description: Optional metadata about the attack discovery generation process, metadata including execution status and statistics. This metadata may not be available for all generations.
required:
- data
description: Indicates a successful call.
'400':
content:
application/json:
examples:
GetAttackDiscoveryGenerationResponse400Example:
summary: Bad Request error returned when the get-generation request is invalid.
value:
error: Bad Request
message: Invalid request parameters.
status_code: 400
schema:
type: object
properties:
error:
description: Error type
example: Bad Request
type: string
message:
description: Human-readable error message describing what went wrong with the request
example: Invalid request parameters.
type: string
status_code:
description: HTTP status code
example: 400
type: number
required:
- status_code
- error
- message
description: Bad Request response.
summary: Get a single Attack Discovery generation, including its discoveries and (optional) generation metadata
tags:
- Security Attack discovery API
x-codeSamples:
- label: Example request
lang: curl
source: "curl \\\n --request GET 'http://localhost:5601/api/attack_discovery/generations/2e13f386-46cf-4d65-9e2b-68609e132ba5' \\\n --header \"Authorization: $API_KEY\" \\\n --header \"Content-Type: application/json\"\n"
x-metaTags:
- content: Kibana
name: product_name
/api/attack_discovery/generations/{execution_uuid}/_dismiss:
post:
description: '**Spaces method and path for this operation:**
post /s/{space_id}/api/attack_discovery/generations/{execution_uuid}/_dismiss
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.
Dismisses an Attack Discovery generation for the current user, indicating that its status should not be reported in the UI. This sets the generation''s status to "dismissed" and affects how the generation appears in subsequent queries.'
operationId: PostAttackDiscoveryGenerationsDismiss
parameters:
- description: The unique identifier for the Attack Discovery generation execution. This UUID is returned when an Attack Discovery generation is created and can be found in generation responses.
example: 46b218d5-535d-4329-be56-d0f6af6986b7
in: path
name: execution_uuid
required: true
schema:
$ref: '#/components/schemas/Security_Attack_discovery_API_NonEmptyString'
responses:
'200':
content:
application/json:
examples:
PostAttackDiscoveryGenerationsDismissResponse200Example:
summary: Successfully dismissed an Attack Discovery generation.
value:
alerts_context_count: 75
connector_id: chatGpt5_0ChatAzure
discoveries: 3
end: '2025-09-29T06:42:44.810Z'
execution_uuid: 46b218d5-535d-4329-be56-d0f6af6986b7
loading_message: AI is analyzing up to 100 alerts in the last 24 hours to generate discoveries.
start: '2025-09-29T06:42:08.962Z'
status: dismissed
schema:
type: object
properties:
alerts_context_count:
description: The number of alerts that were sent as context to the LLM for this generation.
example: 75
type: number
connector_id:
description: The unique identifier of the connector used to generate the attack discoveries.
example: chatGpt5_0ChatAzure
type: string
connector_stats:
description: Statistical information about the connector's performance for this user, providing insights into usage patterns and success rates.
type: object
properties:
average_successful_duration_nanoseconds:
description: The average duration in nanoseconds for successful generations using this connector by the current user.
example: 47958500000
type: number
successful_generations:
description: The total number of Attack discoveries successfully created for this generation
example: 2
type: number
discoveries:
description: The number of attack discoveries that were generated during this execution.
example: 3
type: number
end:
description: The timestamp when the generation process completed, in ISO 8601 format. This field may be absent for generations that haven't finished.
example: '2025-09-29T06:42:44.810Z'
type: string
execution_uuid:
description: The unique identifier for this attack discovery generation execution. This UUID can be used to reference this specific generation in other API calls.
example: 46b218d5-535d-4329-be56-d0f6af6986b7
type: string
loading_message:
description: A human-readable message describing the current state or progress of the generation process. Provides context about what the AI is analyzing.
example: AI is analyzing up to 100 alerts in the last 24 hours to generate discoveries.
type: string
reason:
description: Additional context or reasoning provided when a generation fails or encounters issues. This field helps diagnose problems with the generation process.
example: Connection timeout to AI service
type: string
start:
description: The timestamp when the generation process began, in ISO 8601 format. This marks the beginning of the AI analysis.
example: '2025-09-29T06:42:08.962Z'
type: string
status:
description: The current status of the attack discovery generation. After dismissing, this will be set to "dismissed".
enum:
- canceled
- dismissed
- failed
- started
- succeeded
example: dismissed
type: string
required:
- connector_id
- discoveries
- execution_uuid
- loading_message
- start
- status
description: Indicates a successful call.
'400':
content:
application/json:
examples:
PostAttackDiscoveryGenerationsDismissResponse400Example:
summary: Bad Request error returned when the dismiss request is invalid.
value:
error: Bad Request
message: Invalid request parameters.
status_code: 400
schema:
type: object
properties:
error:
description: Error type or category
example: Bad Request
type: string
message:
description: Human-readable error message describing what went wrong with the request.
example: Invalid request parameters.
type: string
status_code:
description: HTTP status code indicating the type of client error
example: 400
type: number
required:
- status_code
- error
- message
description: Bad Request response.
summary: Dismiss an Attack Discovery generation
tags:
- Security Attack discovery API
x-codeSamples:
- label: Example request
lang: curl
source: "curl \\\n --request POST 'http://localhost:5601/api/attack_discovery/generations/46b218d5-535d-4329-be56-d0f6af6986b7/_dismiss' \\\n --header \"Authorization: $API_KEY\" \\\n --header \"Content-Type: application/json\"\n"
x-metaTags:
- content: Kibana
name: product_name
/api/attack_discovery/schedules:
post:
description: '**Spaces method and path for this operation:**
post /s/{space_id}/api/attack_discovery/schedules
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.
Creates a new Attack Discovery schedule that analyzes security alerts at specified intervals. The schedule defines when and how Attack Discovery analysis should run, including which alerts to analyze, which AI connector to use, and what actions to take when discoveries are found.'
operationId: CreateAttackDiscoverySchedules
requestBody:
content:
application/json:
examples:
CreateAttackDiscoverySchedulesRequestBodyExample:
summary: Create a daily Attack Discovery schedule that runs every 24 hours.
value:
actions: []
enabled: true
name: Daily Security Analysis
params:
alerts_index_pattern: .alerts-security.alerts-default
api_config:
actionTypeId: bedrock
connectorId: my-bedrock-connector
name: Claude 3.5 Sonnet
end: now
size: 100
start: now-24h
schedule:
interval: 24h
schema:
$ref: '#/components/schemas/Security_Attack_discovery_API_AttackDiscoveryApiScheduleCreateProps'
description: Attack Discovery schedule configuration including name, parameters, schedule interval, and actions
required: true
responses:
'200':
content:
application/json:
examples:
CreateAttackDiscoverySchedulesResponse200Example:
summary: A newly created Attack Discovery schedule.
value:
actions: []
created_at: '2023-10-31T10:00:00.000Z'
created_by: elastic
enabled: true
id: 12345678-1234-1234-1234-123456789012
name: Daily Security Analysis
params:
alerts_index_pattern: .alerts-security.alerts-default
api_config:
actionTypeId: bedrock
connectorId: my-bedrock-connector
name: Claude 3.5 Sonnet
end: now
size: 100
start: now-24h
schedule:
interval: 24h
updated_at: '2023-10-31T10:00:00.000Z'
updated_by: elastic
schema:
$ref: '#/components/schemas/Security_Attack_discovery_API_AttackDiscoveryApiSchedule'
description: The Attack Discovery schedule was successfully created.
'400':
content:
application/json:
examples:
CreateAttackDiscoverySchedulesResponse400Example:
summary: Bad Request error returned when the create schedule payload is invalid.
value:
error: Bad Request
message: Invalid request parameters.
status_code: 400
schema:
$ref: '#/components/schemas/Security_Attack_discovery_API_AttackDiscoveryGenericError'
description: Bad Request response.
summary: Create Attack Discovery schedule
tags:
- Security Attack discovery API
x-codeSamples:
- label: Create an Attack Discovery schedule
lang: curl
source: "curl \\\n --request POST 'http://localhost:5601/api/attack_discovery/schedules' \\\n --header \"Authorization: $API_KEY\" \\\n --header \"Content-Type: application/json\" \\\n --data '{\n \"name\": \"Daily Security Analysis\",\n \"enabled\": true,\n \"params\": {\n \"alerts_index_pattern\": \".alerts-security.alerts-default\",\n \"api_config\": {\n \"actionTypeId\": \"bedrock\",\n \"connectorId\": \"my-bedrock-connector\",\n \"name\": \"Claude 3.5 Sonnet\"\n },\n \"size\": 100,\n \"start\": \"now-24h\",\n \"end\": \"now\"\n },\n \"schedule\": {\n \"interval\": \"24h\"\n },\n \"actions\": [\n {\n \"action_type_id\": \".cases\",\n \"id\": \"system-connector-.cases\",\n \"params\": {\n \"subAction\": \"run\",\n \"subActionParams\": {\n \"timeWindow\": \"7d\",\n \"reopenClosedCases\": false,\n \"groupingBy\": [],\n \"templateId\": null\n }\n },\n \"uuid\": \"12345678-1234-1234-1234-123456789012\"\n }\n ]\n }'\n"
x-metaTags:
- content: Kibana
name: product_name
/api/attack_discovery/schedules/_find:
get:
description: '**Spaces method and path for this operation:**
get /s/{space_id}/api/attack_discovery/schedules/_find
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.
Find Attack Discovery schedules that match the search criteria. Supports pagination and sorting by various fields.'
operationId: FindAttackDiscoverySchedules
parameters:
- description: Page number to return (used for pagination). Defaults to 1.
example: 1
in: query
name: page
required: false
schema:
type: number
- description: Number of Attack Discovery schedules to return per page (used for pagination). Defaults to 10.
example: 10
in: query
name: per_page
required: false
schema:
type: number
- description: Field used to sort results. Common fields include 'name', 'created_at', 'updated_at', and 'enabled'.
example: name
in: query
name: sort_field
required: false
schema:
$ref: '#/components/schemas/Security_Attack_discovery_API_NonEmptyString'
- description: Sort order direction. Use 'asc' for ascending or 'desc' for descending. Defaults to 'asc'.
example: asc
in: query
name: sort_direction
required: false
schema:
enum:
- asc
- desc
type: string
responses:
'200':
content:
application/json:
examples:
FindAttackDiscoverySchedulesResponse200Example:
summary: Paginated list of Attack Discovery schedules matching the search criteria.
value:
data:
- actions: []
created_at: '2023-10-31T10:00:00.000Z'
created_by: elastic
enabled: true
id: 12345678-1234-1234-1234-123456789012
name: Daily Security Analysis
params:
alerts_index_pattern: .alerts-security.alerts-default
api_config:
actionTypeId: bedrock
connectorId: my-bedrock-connector
name: Claude 3.5 Sonnet
end: now
size: 100
start: now-24h
schedule:
interval: 24h
updated_at: '2023-10-31T10:00:00.000Z'
updated_by: elastic
page: 1
per_page: 10
total: 1
schema:
type: object
properties:
data:
description: Array of matched Attack Discovery schedule objects.
items:
$ref: '#/components/schemas/Security_Attack_discovery_API_AttackDiscoveryApiSchedule'
type: array
page:
description: Current page number of the paginated result set.
type: number
per_page:
description: Number of items requested per page.
type: number
total:
description: Total number of Attack Discovery schedules matching the query (across all pages).
type: number
required:
- page
- per_page
- total
- data
description: Indicates a successful call.
'400':
content:
application/json:
examples:
FindAttackDiscoverySchedulesResponse400Example:
summary: Bad Request error returned when find-schedules query parameters are invalid.
value:
error: Bad Request
message: Invalid request payload.
status_code: 400
schema:
type: object
properties:
error:
description: Error type
example: Bad Request
type: string
message:
description: Human-readable error message
example: Invalid request payload.
type: string
status_code:
description: HTTP status code
example: 400
type: number
description: Bad Request response.
summary: Find Attack Discovery schedules that match the search criteria
tags:
- Security Attack discovery API
x-codeSamples:
- label: Example request
lang: curl
source: "curl \\\n --request GET 'http://localhost:5601/api/attack_discovery/schedules/_find' \\\n --header \"Authorization: $API_KEY\" \\\n --header \"Content-Type: application/json\"\n"
x-metaTags:
- content: Kibana
name: product_name
/api/attack_discovery/schedules/{id}:
delete:
description: '**Spaces method and path for this operation:**
delete /s/{space_id}/api/attack_discovery/schedules/{id}
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.
Permanently deletes an Attack Discovery schedule and all associated configuration.'
operationId: DeleteAttackDiscoverySchedules
parameters:
- description: The unique identifier (UUID) of the Attack Discovery schedule to delete. This ID is returned when creating a schedule and can be found in schedule listings.
example: 12345678-1234-1234-1234-123456789012
in: path
name: id
required: true
schema:
$ref: '#/components/schemas/Security_Attack_discovery_API_NonEmptyString'
responses:
'200':
content:
application/json:
examples:
DeleteAttackDiscoverySchedulesResponse200Example:
summary: Confirmation returned after deleting an Attack Discovery schedule.
value:
id: 12345678-1234-1234-1234-123456789012
schema:
type: object
properties:
id:
$ref: '#/components/schemas/Security_Attack_discovery_API_NonEmptyString'
description: The unique identifier of the deleted Attack Discovery schedule
required:
- id
description: Successfully deleted Attack Discovery schedule, returning the ID of the deleted schedule for confirmation
'400':
content:
application/json:
examples:
DeleteAttackDiscoverySchedulesResponse400Example:
summary: Bad Request error returned when the delete schedule request is invalid.
value:
error: Bad Request
message: Invalid request parameters.
status_code: 400
schema:
$ref: '#/components/schemas/Security_Attack_discovery_API_AttackDiscoveryGenericError'
description: Bad Request response.
summary: Delete Attack Discovery schedule
tags:
- Security Attack discovery API
x-codeSamples:
- label: Delete an Attack Discovery schedule
lang: curl
source: "curl \\\n --request DELETE 'http://localhost:5601/api/attack_discovery/schedules/12345678-1234-1234-1234-123456789012' \\\n --header \"Authorization: $API_KEY\" \\\n --header \"Content-Type: application/json\"\n"
x-metaTags:
- content: Kibana
name: product_name
get:
description: '**Spaces method and path for this operation:**
get /s/{space_id}/api/attack_discovery/schedules/{id}
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.
Retrieves a specific Attack Discovery schedule by its unique identifier. Returns complete schedule configuration including parameters, interval settings, associated actions, and execution history.'
operationId: GetAttackDiscoverySchedules
parameters:
- description: The unique identifier (UUID) of the Attack Discovery schedule to retrieve. This ID is returned when creating a schedule and can be found in schedule listings.
example: 12345678-1234-1234-1234-123456789012
in: path
name: id
required: true
schema:
$ref: '#/components/schemas/Security_Attack_discovery_API_NonEmptyString'
responses:
'200':
content:
application/json:
examples:
GetAttackDiscoverySchedulesResponse200Example:
summary: An Attack Discovery schedule retrieved by ID, including last execution metadata.
value:
actions: []
created_at: '2023-10-31T10:00:00.000Z'
created_by: elastic
enabled: true
id: 12345678-1234-1234-1234-123456789012
last_execution:
date: '2023-10-31T10:00:00.000Z'
last_duration: 45.2
status: ok
name: Daily Security Analysis
params:
alerts_index_pattern: .alerts-security.alerts-default
api_config:
actionTypeId: bedrock
connectorId: my-bedrock-connector
name: Claude 3.5 Sonnet
end: now
size: 100
start: now-24h
schedule:
interval: 24h
updated_at: '2023-10-31T10:00:00.000Z'
updated_by: elastic
schema:
$ref: '#/components/schemas/Security_Attack_discovery_API_AttackDiscoveryApiSchedule'
description: Successfully retrieved Attack Discovery schedule with complete configuration and metadata
'400':
content:
application/json:
examples:
GetAttackDiscoverySchedulesResponse400Example:
summary: Bad Request error returned when the get-schedule request is invalid.
value:
error: Bad Request
message: Invalid request parameters.
status_code: 400
schema:
$ref: '#/components/schemas/Security_Attack_discovery_API_AttackDiscoveryGenericError'
description: Bad Request response.
summary: Get Attack Discovery schedule by ID
tags:
- Security Attack discovery API
x-codeSamples:
- label: Get an Attack Discovery schedule by ID
lang: curl
source: "curl \\\n --request GET 'http://localhost:5601/api/attack_discovery/schedules/12345678-1234-1234-1234-123456789012' \\\n --header \"Authorization: $API_KEY\" \\\n --header \"Content-Type: application/json\"\n"
x-metaTags:
- content: Kibana
name: product_name
put:
description: '**Spaces method and path for this operation:**
put /s/{space_id}/api/attack_discovery/schedules/{id}
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.
Updates an existing Attack Discovery schedule with new configuration. All schedule properties can be modified including name, parameters, interval, and actions. The update operation replaces the entire schedule configuration with the provided values.'
operationId: UpdateAttackDiscoverySchedules
parameters:
- description: The unique identifier (UUID) of the Attack Discovery schedule to update. This ID is returned when creating a schedule and can be found in schedule listings.
example: 12345678-1234-1234-1234-123456789012
in: path
name: id
required: true
schema:
$ref: '#/components/schemas/Security_Attack_discovery_API_NonEmptyString'
requestBody:
content:
application/json:
examples:
UpdateAttackDiscoverySchedulesRequestBodyExample:
summary: Update an Attack Discovery schedule to run every 12 hours over a 48-hour window.
value:
actions: []
name: Updated Daily Security Analysis
params:
alerts_index_pattern: .alerts-security.alerts-default
api_config:
actionTypeId: bedrock
connectorId: my-bedrock-connector
name: Claude 3.5 Sonnet
end: now
size: 200
start: now-48h
schedule:
interval: 12h
schema:
$ref: '#/components/schemas/Security_Attack_discovery_API_AttackDiscoveryApiScheduleUpdateProps'
description: Updated Attack Discovery schedule configuration. All fields are required as this replaces the entire schedule configuration.
required: true
responses:
'200':
content:
application/json:
examples:
UpdateAttackDiscoverySchedulesResponse200Example:
summary: An Attack Discovery schedule after being updated.
value:
actions: []
created_at: '2023-10-31T10:00:00.000Z'
created_by: elastic
enabled: true
id: 12345678-1234-1234-1234-123456789012
name: Updated Daily Security Analysis
params:
alerts_index_pattern: .alerts-security.alerts-default
api_config:
actionTypeId: bedrock
connectorId: my-bedrock-connector
name: Claude 3.5 Sonnet
end: now
size: 200
start: now-48h
schedule:
interval: 12h
updated_at: '2023-10-31T12:00:00.000Z'
updated_by: elastic
schema:
$ref: '#/components/schemas/Security_Attack_discovery_API_AttackDiscoveryApiSchedule'
description: Successfully updated Attack Discovery schedule with the new configuration and metadata
'400':
content:
application/json:
examples:
UpdateAttackDiscoverySchedulesResponse400Example:
summary: Bad Request error returned when the update schedule payload is invalid.
value:
error: Bad Request
message: Invalid request parameters.
status_code: 400
schema:
$ref: '#/components/schemas/Security_Attack_discovery_API_AttackDiscoveryGenericError'
description: Bad Request response.
summary: Update Attack Discovery schedule
tags:
- Security Attack discovery API
x-codeSamples:
- label: Update an Attack Discovery schedule
lang: curl
source: "curl \\\n --request PUT 'http://localhost:5601/api/attack_discovery/schedules/12345678-1234-1234-1234-123456789012' \\\n --header \"Authorization: $API_KEY\" \\\n --header \"Content-Type: application/json\" \\\n --data '{\n \"name\": \"Updated Daily Security Analysis\",\n \"params\": {\n \"alerts_index_pattern\": \".alerts-security.alerts-default\",\n \"api_config\": {\n \"actionTypeId\": \"bedrock\",\n \"connectorId\": \"my-bedrock-connector\",\n \"name\": \"Claude 3.5 Sonnet\"\n },\n \"size\": 200,\n \"start\": \"now-48h\",\n \"end\": \"now\"\n },\n \"schedule\": {\n \"interval\": \"12h\"\n },\n \"actions\": []\n }'\n"
x-metaTags:
- content: Kibana
name: product_name
/api/attack_discovery/schedules/{id}/_disable:
post:
description: '**Spaces method and path for this operation:**
post /s/{space_id}/api/attack_discovery/schedules/{id}/_disable
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.
Disables an Attack Discovery schedule, preventing it from running according to its configured interval. The schedule configuration is preserved and can be re-enabled later. Any currently running executions will complete, but no new executions will be started.'
operationId: DisableAttackDiscoverySchedules
parameters:
- description: The unique identifier (UUID) of the Attack Discovery schedule to disable. This ID is returned when creating a schedule and can be found in schedule listings.
example: 12345678-1234-1234-1234-123456789012
in: path
name: id
required: true
schema:
$ref: '#/components/schemas/Security_Attack_discovery_API_NonEmptyString'
responses:
'200':
content:
application/json:
examples:
DisableAttackDiscoverySchedulesResponse200Example:
summary: Confirmation returned after disabling an Attack Discovery schedule.
value:
id: 12345678-1234-1234-1234-123456789012
schema:
type: object
properties:
id:
$ref: '#/components/schemas/Security_Attack_discovery_API_NonEmptyString'
description: The unique identifier of the disabled Attack Discovery schedule
required:
- id
description: Successfully disabled Attack Discovery schedule, returning the schedule ID for confirmation
'400':
content:
application/json:
examples:
DisableAttackDiscoverySchedulesResponse400Example:
summary: Bad Request error returned when the disable schedule request is invalid.
value:
error: Bad Request
message: Invalid request parameters.
status_code: 400
schema:
$ref: '#/components/schemas/Security_Attack_discovery_API_AttackDiscoveryGenericError'
description: Bad Request response.
summary: Disable Attack Discovery schedule
tags:
- Security Attack discovery API
x-codeSamples:
- label: Disable an Attack Discovery schedule
lang: curl
source: "curl \\\n --request POST 'http://localhost:5601/api/attack_discovery/schedules/12345678-1234-1234-1234-123456789012/_disable' \\\n --header \"Authorization: $API_KEY\" \\\n --header \"Content-Type: application/json\"\n"
x-metaTags:
- content: Kibana
name: product_name
/api/attack_discovery/schedules/{id}/_enable:
post:
description: '**Spaces method and path for this operation:**
post /s/{space_id}/api/attack_discovery/schedules/{id}/_enable
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.
Enables a previously disabled Attack Discovery schedule, allowing it to run according to its configured interval. Once enabled, the schedule will begin executing at the next scheduled time based on its interval configuration.'
operationId: EnableAttackDiscoverySchedules
parameters:
- description: The unique identifier (UUID) of the Attack Discovery schedule to enable. This ID is returned when creating a schedule and can be found in schedule listings.
example: 12345678-1234-1234-1234-123456789012
in: path
name: id
required: true
schema:
$ref: '#/components/schemas/Security_Attack_discovery_API_NonEmptyString'
responses:
'200':
content:
application/json:
examples:
EnableAttackDiscoverySchedulesResponse200Example:
summary: Confirmation returned after enabling an Attack Discovery schedule.
value:
id: 12345678-1234-1234-1234-123456789012
schema:
type: object
properties:
id:
$ref: '#/components/schemas/Security_Attack_discovery_API_NonEmptyString'
description: The unique identifier of the enabled Attack Discovery schedule
required:
- id
description: Successfully enabled Attack Discovery schedule, returning the schedule ID for confirmation
'400':
content:
application/json:
examples:
EnableAttackDiscoverySchedulesResponse400Example:
summary: Bad Request error returned when the enable schedule request is invalid.
value:
error: Bad Request
message: Invalid request parameters.
status_code: 400
schema:
$ref: '#/components/schemas/Security_Attack_discovery_API_AttackDiscoveryGenericError'
description: Bad Request response.
summary: Enable Attack Discovery schedule
tags:
- Security Attack discovery API
x-codeSamples:
- label: Enable an Attack Discovery schedule
lang: curl
source: "curl \\\n --request POST 'http://localhost:5601/api/attack_discovery/schedules/12345678-1234-1234-1234-123456789012/_enable' \\\n --header \"Authorization: $API_KEY\" \\\n --header \"Content-Type: application/json\"\n"
x-metaTags:
- content: Kibana
name: product_name
components:
schemas:
Security_Attack_discovery_API_AttackDiscoveryGenericError:
description: Error response for Attack discovery schedule operations when the request is rejected. Uses `status_code` (snake_case), `error`, and `message` to match the implementation.
type: object
properties:
error:
description: Error type
example: Bad Request
type: string
message:
description: Human-readable error message describing what went wrong
example: Invalid request parameters.
type: string
status_code:
description: HTTP status code
example: 400
type: number
Security_Attack_discovery_API_AttackDiscoveryGenerationConfig:
type: object
properties:
alertsIndexPattern:
description: 'The (space specific) index pattern that contains the alerts to use as
context for the attack discovery.
Example: .alerts-security.alerts-default
'
type: string
anonymizationFields:
description: The list of fields, and whether or not they are anonymized, allowed to be sent to LLMs. Consider using the output of the `/api/security_ai_assistant/anonymization_fields/_find` API (for a specific Kibana space) to provide this value.
items:
$ref: '#/components/schemas/Security_Attack_discovery_API_AnonymizationFieldResponse'
type: array
apiConfig:
$ref: '#/components/schemas/Security_Attack_discovery_API_ApiConfig'
description: LLM API configuration.
connectorName:
type: string
end:
type: string
filter:
additionalProperties: true
description: "An Elasticsearch-style query DSL object used to filter alerts. For example:\n```json {\n \"filter\": {\n \"bool\": {\n \"must\": [],\n \"filter\": [\n {\n \"bool\": {\n \"should\": [\n {\n \"term\": {\n \"user.name\": { \"value\": \"james\" }\n }\n }\n ],\n \"minimum_should_match\": 1\n }\n }\n ],\n \"should\": [],\n \"must_not\": []\n }\n }\n} ```"
type: object
model:
type: string
replacements:
$ref: '#/components/schemas/Security_Attack_discovery_API_Replacements'
size:
type: number
start:
type: string
subAction:
enum:
- invokeAI
- invokeStream
type: string
required:
- apiConfig
- alertsIndexPattern
- anonymizationFields
- size
- subAction
Security_Attack_discovery_API_NonEmptyString:
description: A string that does not contain only whitespace characters.
example: I am a string
format: nonempty
minLength: 1
type: string
Security_Attack_discovery_API_AttackDiscoveryApiScheduleParams:
description: An Attack Discovery schedule params
type: object
properties:
alerts_index_pattern:
description: The index pattern to get alerts from
type: string
api_config:
allOf:
- $ref: '#/components/schemas/Security_Attack_discovery_API_ApiConfig'
- type: object
properties:
name:
description: The name of the connector
type: string
required:
- name
description: LLM API configuration.
combined_filter:
additionalProperties: true
type: object
end:
type: string
filters:
$ref: '#/components/schemas/Security_Attack_discovery_API_Filters'
query:
$ref: '#/components/schemas/Security_Attack_discovery_API_Query'
size:
type: number
start:
type: string
required:
- alerts_index_pattern
- api_config
- size
Security_Attack_discovery_API_ApiConfig:
type: object
properties:
actionTypeId:
description: Action type ID
example: actionType456
type: string
connectorId:
description: Connector ID
example: connector123
type: string
defaultSystemPromptId:
description: Default system prompt ID
example: systemPrompt001
type: string
model:
description: Model
example: gpt-4
type: string
provider:
$ref: '#/components/schemas/Security_Attack_discovery_API_Provider'
description: Provider
example: OpenAI
required:
- connectorId
- actionTypeId
Security_Attack_discovery_API_AttackDiscoveryApiScheduleActionAlertsFilter:
additionalProperties: true
type: object
Security_Attack_discovery_API_AttackDiscoveryApiSchedule:
description: An Attack Discovery schedule
type: object
properties:
actions:
description: The Attack Discovery schedule actions
items:
$ref: '#/components/schemas/Security_Attack_discovery_API_AttackDiscoveryApiScheduleAction'
type: array
created_at:
description: The date the schedule was created
format: date-time
type: string
created_by:
description: The name of the user that created the schedule
type: string
enabled:
description: Indicates whether the schedule is enabled
type: boolean
id:
description: UUID of Attack Discovery schedule
type: string
last_execution:
$ref: '#/components/schemas/Security_Attack_discovery_API_AttackDiscoveryApiScheduleExecution'
description: The Attack Discovery schedule last execution summary
name:
description: The name of the schedule
type: string
params:
$ref: '#/components/schemas/Security_Attack_discovery_API_AttackDiscoveryApiScheduleParams'
description: The Attack Discovery schedule configuration parameters
schedule:
$ref: '#/components/schemas/Security_Attack_discovery_API_IntervalApiSchedule'
description: The Attack Discovery schedule interval
updated_at:
description: The date the schedule was updated
format: date-time
type: string
updated_by:
description: The name of the user that updated the schedule
type: string
required:
- id
- name
- created_by
- updated_by
- created_at
- updated_at
- enabled
- params
- schedule
- actions
Security_Attack_discovery_API_AttackDiscoveryApiScheduleActionId:
description: The connector ID.
type: string
Security_Attack_discovery_API_Filters:
description: The filter array used to define the conditions for when alerts are selected as an Attack Discovery context. Defaults to an empty array.
items: {}
type: array
Security_Attack_discovery_API_AttackDiscoveryApiScheduleUpdateProps:
description: An Attack Discovery schedule update properties
type: object
properties:
actions:
description: The Attack Discovery schedule actions
items:
$ref: '#/components/schemas/Security_Attack_discovery_API_AttackDiscoveryApiScheduleAction'
type: array
name:
description: The name of the schedule
type: string
params:
$ref: '#/components/schemas/Security_Attack_discovery_API_AttackDiscoveryApiScheduleParams'
description: The Attack Discovery schedule configuration parameters
schedule:
$ref: '#/components/schemas/Security_Attack_discovery_API_IntervalApiSchedule'
description: The Attack Discovery schedule interval
required:
- name
- params
- schedule
- actions
Security_Attack_discovery_API_AttackDiscoveryApiAlert:
description: An attack discovery that's also an alert (Public API with snake_case)
type: object
properties:
alert_ids:
description: The alert IDs that the attack discovery is based on
items:
type: string
type: array
alert_rule_uuid:
description: The optional kibana.alert.rule.uuid of the rule that generated this attack discovery (not applicable to ad hock runs)
type: string
alert_start:
description: The optional time the attack discovery alert was created
type: string
alert_updated_at:
description: The optional time the attack discovery alert was last updated
type: string
alert_updated_by_user_id:
description: The optional id of the user who last updated the attack discovery alert
type: string
alert_updated_by_user_name:
description: The optional username of the user who updated the attack discovery alert
type: string
alert_workflow_status:
description: The optional kibana.alert.workflow_status of this attack discovery
type: string
alert_workflow_status_updated_at:
description: The optional time the attack discovery alert workflow status was last updated
type: string
assignees:
description: The optional array of user-IDs who have been assigned the attack
items:
type: string
type: array
connector_id:
description: The ID of the connector that generated the attack discovery
type: string
connector_name:
description: The (human readable) name of the connector that generated the attack discovery
type: string
details_markdown:
description: Details of the attack with bulleted markdown that always uses special syntax for field names and values from the source data.
type: string
entity_summary_markdown:
description: An optional, short (no more than a sentence) summary of the attack discovery featuring only the host.name and user.name fields (when they are applicable), using the same syntax
type: string
generation_uuid:
description: The generation ID of the run that created the attack discovery
type: string
id:
description: The unique ID of the attack discovery
type: string
index:
description: The concrete Elasticsearch index where this attack discovery is stored
type: string
mitre_attack_tactics:
description: An optional array of MITRE ATT&CK tactic for the attack discovery
items:
type: string
type: array
replacements:
$ref: '#/components/schemas/Security_Attack_discovery_API_Replacements'
description: Key-value pairs that are used to replace placeholders in the markdown fields
risk_score:
description: The optional, (but typically populated after generation) risk score of the alert
type: integer
summary_markdown:
description: A markdown summary of attack discovery, using the same syntax
type: string
tags:
description: The optional array of tags assigned the attack
items:
type: string
type: array
timestamp:
$ref: '#/components/schemas/Security_Attack_discovery_API_NonEmptyTimestamp'
description: The time the attack discovery was generated
title:
description: A title for the attack discovery, in plain text
type: string
user_id:
description: The optional id of the user who generated the attack discovery
type: string
user_name:
description: The optional username of the user who generated the attack discovery, (not applicable to attack discoveries generated by rules)
type: string
users:
description: The optional array of users who may view the attack discovery. When empty, (or not present), all users may view the attack discovery.
items:
$ref: '#/components/schemas/Security_Attack_discovery_API_User'
type: array
required:
- alert_ids
- connector_id
- connector_name
- details_markdown
- generation_uuid
- id
- summary_markdown
- timestamp
- title
Security_Attack_discovery_API_NonEmptyTimestamp:
description: A string that represents a timestamp in ISO 8601 format and does not contain only whitespace characters.
example: '2023-10-31T12:00:00Z'
format: nonempty
minLength: 1
type: string
Security_Attack_discovery_API_Provider:
description: Provider
enum:
- OpenAI
- Azure OpenAI
- Other
example: OpenAI
type: string
Security_Attack_discovery_API_Replacements:
additionalProperties:
type: string
description: Replacements object used to anonymize/deanonymize messages
type: object
Security_Attack_discovery_API_AttackDiscoveryApiScheduleActionNotifyWhen:
description: 'The condition for throttling the notification: `onActionGroupChange`, `onActiveAlert`, or `onThrottleInterval`'
enum:
- onActiveAlert
- onThrottleInterval
- onActionGroupChange
type: string
Security_Attack_discovery_API_AttackDiscoveryGeneration:
type: object
properties:
alerts_context_count:
description: The number of alerts sent as context (max kibana.alert.rule.execution.metrics.alert_counts.active) to the LLM for the generation
type: number
connector_id:
description: The connector id (event.dataset) for this generation
type: string
connector_stats:
description: Stats applicable to the connector for this generation
type: object
properties:
average_successful_duration_nanoseconds:
description: The average duration (avg event.duration) in nanoseconds of successful generations for the same connector id, for the current user
type: number
successful_generations:
description: The number of successful generations for the same connector id, for the current user
type: number
discoveries:
description: The number of new Attack discovery alerts (max kibana.alert.rule.execution.metrics.alert_counts.new) for this generation
type: number
end:
description: When generation ended (max event.end)
type: string
execution_uuid:
description: The unique identifier (kibana.alert.rule.execution.uuid) for the generation
type: string
loading_message:
description: Generation loading message (kibana.alert.rule.execution.status)
type: string
reason:
description: Reason for failed generations (event.reason)
type: string
start:
description: When generation started (min event.start)
type: string
status:
description: The status of the attack discovery generation
enum:
- canceled
- dismissed
- failed
- started
- succeeded
type: string
required:
- connector_id
- discoveries
- execution_uuid
- loading_message
- start
- status
Security_Attack_discovery_API_AttackDiscoveryApiScheduleExecution:
description: An Attack Discovery schedule execution information
type: object
properties:
date:
description: Date of the execution
format: date-time
type: string
duration:
description: Duration of the execution
type: number
message:
type: string
status:
$ref: '#/components/schemas/Security_Attack_discovery_API_AttackDiscoveryApiScheduleExecutionStatus'
description: Status of the execution
required:
- date
- status
- last_duration
Security_Attack_discovery_API_AttackDiscoveryFindSortField:
description: Allowed field names to sort Attack Discovery results by. Clients should only pass one of the listed values.
enum:
- '@timestamp'
type: string
Security_Attack_discovery_API_AttackDiscoveryApiScheduleActionThrottle:
description: Defines how often schedule actions are taken. Time interval in seconds, minutes, hours, or days.
example: 1h
pattern: ^[1-9]\d*[smhd]$
type: string
Security_Attack_discovery_API_User:
description: Could be any string, not necessarily a UUID.
type: object
properties:
id:
description: User id.
example: user123
type: string
name:
description: User name.
example: John Doe
type: string
Security_Attack_discovery_API_IntervalApiSchedule:
type: object
properties:
interval:
description: The schedule interval
type: string
required:
- interval
Security_Attack_discovery_API_AttackDiscoveryApiScheduleSystemAction:
type: object
properties:
action_type_id:
description: The action type used for sending notifications.
type: string
id:
$ref: '#/components/schemas/Security_Attack_discovery_API_AttackDiscoveryApiScheduleActionId'
params:
$ref: '#/components/schemas/Security_Attack_discovery_API_AttackDiscoveryApiScheduleActionParams'
uuid:
$ref: '#/components/schemas/Security_Attack_discovery_API_NonEmptyString'
required:
- action_type_id
- id
- params
Security_Attack_discovery_API_AttackDiscoveryApiScheduleGeneralAction:
type: object
properties:
action_type_id:
description: The action type used for sending notifications.
type: string
alerts_filter:
$ref: '#/components/schemas/Security_Attack_discovery_API_AttackDiscoveryApiScheduleActionAlertsFilter'
frequency:
$ref: '#/components/schemas/Security_Attack_discovery_API_AttackDiscoveryApiScheduleActionFrequency'
group:
$ref: '#/components/schemas/Security_Attack_discovery_API_AttackDiscoveryApiScheduleActionGroup'
id:
$ref: '#/components/schemas/Security_Attack_discovery_API_AttackDiscoveryApiScheduleActionId'
params:
$ref: '#/components/schemas/Security_Attack_discovery_API_AttackDiscoveryApiScheduleActionParams'
uuid:
$ref: '#/components/schemas/Security_Attack_discovery_API_NonEmptyString'
required:
- action_type_id
- group
- id
- params
Security_Attack_discovery_API_Query:
description: An query condition to filter alerts
type: object
properties:
language:
type: string
query:
oneOf:
- type: string
- additionalProperties: true
type: object
required:
- query
- language
Security_Attack_discovery_API_AttackDiscoveryApiScheduleCreateProps:
description: An Attack Discovery schedule create properties
type: object
properties:
actions:
description: The Attack Discovery schedule actions
items:
$ref: '#/components/schemas/Security_Attack_discovery_API_AttackDiscoveryApiScheduleAction'
type: array
enabled:
description: Indicates whether the schedule is enabled
type: boolean
name:
description: The name of the schedule
type: string
params:
$ref: '#/components/schemas/Security_Attack_discovery_API_AttackDiscoveryApiScheduleParams'
description: The Attack Discovery schedule configuration parameters
schedule:
$ref: '#/components/schemas/Security_Attack_discovery_API_IntervalApiSchedule'
description: The Attack Discovery schedule interval
required:
- name
- params
- schedule
Security_Attack_discovery_API_AttackDiscoveryApiScheduleAction:
oneOf:
- $ref: '#/components/schemas/Security_Attack_discovery_API_AttackDiscoveryApiScheduleGeneralAction'
- $ref: '#/components/schemas/Security_Attack_discovery_API_AttackDiscoveryApiScheduleSystemAction'
Security_Attack_discovery_API_AttackDiscoveryApiScheduleActionGroup:
description: Groups actions by use cases. Use `default` for alert notifications.
type: string
Security_Attack_discovery_API_AttackDiscoveryApiScheduleExecutionStatus:
description: An Attack Discovery schedule execution status
enum:
- ok
- active
- error
- unknown
- warning
type: string
Security_Attack_discovery_API_AnonymizationFieldResponse:
type: object
properties:
allowed:
description: Whether this field is allowed to be sent to the model.
example: true
type: boolean
anonymized:
description: Whether this field should be anonymized.
example: false
type: boolean
createdAt:
description: Timestamp of when the anonymization field was created.
example: '2023-10-31T12:00:00Z'
type: string
createdBy:
description: Username of the person who created the anonymization field.
example: user1
type: string
field:
description: Name of the anonymization field.
example: url.domain
type: string
id:
$ref: '#/components/schemas/Security_Attack_discovery_API_NonEmptyString'
description: The ID of the anonymization field.
namespace:
description: Kibana space in which this anonymization field exists.
example: default
type: string
timestamp:
$ref: '#/components/schemas/Security_Attack_discovery_API_NonEmptyTimestamp'
description: Timestamp when the anonymization field was initially created.
updatedAt:
description: Timestamp of the last update.
example: '2023-10-31T12:00:00Z'
type: string
updatedBy:
description: Username of the person who last updated the field.
example: user1
type: string
required:
- id
- field
Security_Attack_discovery_API_AttackDiscoveryApiScheduleActionParams:
additionalProperties: true
description: Object containing the allowed connector fields, which varies according to the connector type.
type: object
Security_Attack_discovery_API_AttackDiscoveryApiScheduleActionFrequency:
description: The action frequency defines when the action runs (for example, only on schedule execution or at specific time intervals).
type: object
properties:
notify_when:
$ref: '#/components/schemas/Security_Attack_discovery_API_AttackDiscoveryApiScheduleActionNotifyWhen'
summary:
description: Action summary indicates whether we will send a summary notification about all the generate alerts or notification per individual alert
type: boolean
throttle:
$ref: '#/components/schemas/Security_Attack_discovery_API_AttackDiscoveryApiScheduleActionThrottle'
nullable: true
required:
- summary
- notify_when
- throttle
Security_Attack_discovery_API_SortOrder:
description: The order in which results are sorted.
enum:
- asc
- desc
example: asc
type: string
securitySchemes:
apiKeyAuth:
description: 'These APIs use key-based authentication. You must create an API key and use the encoded value in the request header. For example: `Authorization: ApiKey base64AccessApiKey`
'
in: header
name: Authorization
type: apiKey
basicAuth:
scheme: basic
type: http
x-topics:
- title: Kibana spaces
content: "Spaces enable you to organize your dashboards and other saved objects into meaningful categories.\nYou can use the default space or create your own spaces.\n\nTo run APIs in non-default spaces, you must add `s/{space_id}/` to the path.\nFor example:\n\n```bash\ncurl -X GET \"http://${KIBANA_URL}/s/marketing/api/data_views\" \\\n -H \"Authorization: ApiKey ${API_KEY}\"\n```\n\nIf you use the Kibana console to send API requests, it automatically adds the appropriate space identifier.\n\nTo learn more, check out [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces).\n"