Health check on Privilege Monitoring
curl \
--request GET 'http://localhost:5622/api/entity_analytics/monitoring/privileges/health' \
--header "Authorization: $API_KEY"
{
"ok": true
}
The version of the API to use
Value is 2023-10-31
. Default value is 2023-10-31
.
A required header to protect against CSRF attacks
If the config exists ?overwrite=true is required
The agent name is used by the UI to determine which settings to display.
Service
Agent configuration settings
curl \
--request PUT 'http://localhost:5622/api/apm/settings/agent-configuration' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--header "elastic-api-version: 2023-10-31" \
--header "kbn-xsrf: true" \
--data '"{\n \"service\": {\n \"name\": \"frontend\",\n \"environment\": \"production\"\n },\n \"settings\": {\n \"transaction_sample_rate\": \"0.4\",\n \"capture_body\": \"off\",\n \"transaction_max_spans\": \"500\"\n },\n \"agent_name\": \"nodejs\"\n}\n"'
{
"service": {
"name": "frontend",
"environment": "production"
},
"settings": {
"transaction_sample_rate": "0.4",
"capture_body": "off",
"transaction_max_spans": "500"
},
"agent_name": "nodejs"
}
{}
{
"error": "Not Found",
"message": "Not Found",
"statusCode": 400
}
{
"error": "Unauthorized",
"message": "string",
"statusCode": 401
}
{
"error": "Forbidden",
"message": "string",
"statusCode": 403
}
{
"error": "Not Found",
"message": "Not Found",
"statusCode": 404
}
Search for annotations related to a specific service.
The version of the API to use
Value is 2023-10-31
. Default value is 2023-10-31
.
The name of the service
The environment to filter annotations by
The start date for the search
The end date for the search
curl \
--request GET 'http://localhost:5622/api/apm/services/{serviceName}/annotation/search' \
--header "Authorization: $API_KEY" \
--header "elastic-api-version: 2023-10-31"
{
"annotations": [
{
"@timestamp": 42.0,
"id": "string",
"text": "string",
"type": "version"
}
]
}
{
"error": "Not Found",
"message": "Not Found",
"statusCode": 400
}
{
"error": "Unauthorized",
"message": "string",
"statusCode": 401
}
{
"error": "Internal Server Error",
"message": "string",
"statusCode": 500
}
You do not need any Kibana feature privileges to run this API.
A filter to limit the retrieved connector types to those that support a specific feature (such as alerting or cases).
curl \
--request GET 'http://localhost:5622/api/actions/connector_types' \
--header "Authorization: $API_KEY"
[
{
"id": ".gen-ai",
"name": "OpenAI",
"enabled": true,
"enabled_in_config": true,
"enabled_in_license": true,
"is_system_action_type": false,
"supported_feature_ids": [
"generativeAIForSecurity",
"generativeAIForObservability",
"generativeAIForSearchPlayground"
],
"minimum_license_required": "enterprise"
},
{
"id": ".bedrock",
"name": "AWS Bedrock",
"enabled": true,
"enabled_in_config": true,
"enabled_in_license": true,
"is_system_action_type": false,
"supported_feature_ids": [
"generativeAIForSecurity",
"generativeAIForObservability",
"generativeAIForSearchPlayground"
],
"minimum_license_required": "enterprise"
},
{
"id": ".gemini",
"name": "Google Gemini",
"enabled": true,
"enabled_in_config": true,
"enabled_in_license": true,
"is_system_action_type": false,
"supported_feature_ids": [
"generativeAIForSecurity"
],
"minimum_license_required": "enterprise"
}
]
This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features.
A unique identifier for the dashboard.
Additional properties are NOT allowed.
curl \
--request PUT 'http://localhost:5622/api/dashboards/dashboard/{id}' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--header "kbn-xsrf: true" \
--data '{"attributes":{"controlGroupInput":{"autoApplySelections":true,"chainingSystem":"HIERARCHICAL","controls":[{"controlConfig":{},"grow":false,"id":"string","order":42.0,"type":"string","width":"medium"}],"enhancements":{},"ignoreParentSettings":{"ignoreFilters":false,"ignoreQuery":false,"ignoreTimerange":false,"ignoreValidations":false},"labelPosition":"oneLine"},"description":"","kibanaSavedObjectMeta":{"searchSource":{"filter":[{"$state":{"store":"appState"},"meta":{"alias":"string","controlledBy":"string","disabled":true,"field":"string","group":"string","index":"string","isMultiIndex":true,"key":"string","negate":true,"type":"string","value":"string"},"query":{}}],"query":{"language":"string","query":"string"},"sort":[{}],"type":"string"}},"options":{"hidePanelTitles":false,"syncColors":true,"syncCursor":true,"syncTooltips":true,"useMargins":true},"panels":[{"gridData":{"h":15,"i":"string","w":24,"x":42.0,"y":42.0},"id":"string","panelConfig":{"description":"string","enhancements":{},"hidePanelTitles":true,"savedObjectId":"string","title":"string","version":"string"},"panelIndex":"string","panelRefName":"string","title":"string","type":"string","version":"string"}],"refreshInterval":{"display":"string","pause":true,"section":42.0,"value":42.0},"tags":["string"],"timeFrom":"string","timeRestore":false,"timeTo":"string","title":"string","version":42.0},"references":[{"id":"string","name":"string","type":"string"}]}'
# Headers
kbn-xsrf: true
# Payload
{
"attributes": {
"controlGroupInput": {
"autoApplySelections": true,
"chainingSystem": "HIERARCHICAL",
"controls": [
{
"controlConfig": {},
"grow": false,
"id": "string",
"order": 42.0,
"type": "string",
"width": "medium"
}
],
"enhancements": {},
"ignoreParentSettings": {
"ignoreFilters": false,
"ignoreQuery": false,
"ignoreTimerange": false,
"ignoreValidations": false
},
"labelPosition": "oneLine"
},
"description": "",
"kibanaSavedObjectMeta": {
"searchSource": {
"filter": [
{
"$state": {
"store": "appState"
},
"meta": {
"alias": "string",
"controlledBy": "string",
"disabled": true,
"field": "string",
"group": "string",
"index": "string",
"isMultiIndex": true,
"key": "string",
"negate": true,
"type": "string",
"value": "string"
},
"query": {}
}
],
"query": {
"language": "string",
"query": "string"
},
"sort": [
{}
],
"type": "string"
}
},
"options": {
"hidePanelTitles": false,
"syncColors": true,
"syncCursor": true,
"syncTooltips": true,
"useMargins": true
},
"panels": [
{
"gridData": {
"h": 15,
"i": "string",
"w": 24,
"x": 42.0,
"y": 42.0
},
"id": "string",
"panelConfig": {
"description": "string",
"enhancements": {},
"hidePanelTitles": true,
"savedObjectId": "string",
"title": "string",
"version": "string"
},
"panelIndex": "string",
"panelRefName": "string",
"title": "string",
"type": "string",
"version": "string"
}
],
"refreshInterval": {
"display": "string",
"pause": true,
"section": 42.0,
"value": 42.0
},
"tags": [
"string"
],
"timeFrom": "string",
"timeRestore": false,
"timeTo": "string",
"title": "string",
"version": 42.0
},
"references": [
{
"id": "string",
"name": "string",
"type": "string"
}
]
}
{
"item": {
"attributes": {
"controlGroupInput": {
"autoApplySelections": true,
"chainingSystem": "HIERARCHICAL",
"controls": [
{
"controlConfig": {},
"grow": false,
"id": "string",
"order": 42.0,
"type": "string",
"width": "medium"
}
],
"enhancements": {},
"ignoreParentSettings": {
"ignoreFilters": false,
"ignoreQuery": false,
"ignoreTimerange": false,
"ignoreValidations": false
},
"labelPosition": "oneLine"
},
"description": "",
"kibanaSavedObjectMeta": {
"searchSource": {
"filter": [
{
"$state": {
"store": "appState"
},
"meta": {
"alias": "string",
"controlledBy": "string",
"disabled": true,
"field": "string",
"group": "string",
"index": "string",
"isMultiIndex": true,
"key": "string",
"negate": true,
"type": "string",
"value": "string"
},
"query": {}
}
],
"query": {
"language": "string",
"query": "string"
},
"sort": [
{}
],
"type": "string"
}
},
"options": {
"hidePanelTitles": false,
"syncColors": true,
"syncCursor": true,
"syncTooltips": true,
"useMargins": true
},
"panels": [
{
"gridData": {
"h": 15,
"i": "string",
"w": 24,
"x": 42.0,
"y": 42.0
},
"id": "string",
"panelConfig": {
"description": "string",
"enhancements": {},
"hidePanelTitles": true,
"savedObjectId": "string",
"title": "string",
"version": "string"
},
"panelIndex": "string",
"panelRefName": "string",
"title": "string",
"type": "string",
"version": "string"
}
],
"refreshInterval": {
"display": "string",
"pause": true,
"section": 42.0,
"value": 42.0
},
"tags": [
"string"
],
"timeFrom": "string",
"timeRestore": false,
"timeTo": "string",
"title": "string",
"version": 42.0
},
"createdAt": "string",
"createdBy": "string",
"error": {
"error": "string",
"message": "string",
"metadata": {},
"statusCode": 42.0
},
"id": "string",
"managed": true,
"namespaces": [
"string"
],
"originId": "string",
"references": [
{
"id": "string",
"name": "string",
"type": "string"
}
],
"type": "string",
"updatedAt": "string",
"updatedBy": "string",
"version": "string"
}
}
This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features.
A unique identifier for the dashboard.
curl \
--request DELETE 'http://localhost:5622/api/dashboards/dashboard/{id}' \
--header "Authorization: $API_KEY" \
--header "kbn-xsrf: true"
[Required authorization] Route required privileges: fleet-agents-all.
curl \
--request POST 'http://localhost:5622/api/fleet/agents/bulk_update_agent_tags' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--header "kbn-xsrf: true" \
--data '{"agents":["string"],"batchSize":42.0,"includeInactive":false,"tagsToAdd":["string"],"tagsToRemove":["string"]}'
# Headers
kbn-xsrf: true
# Payload
{
"agents": [
"string"
],
"batchSize": 42.0,
"includeInactive": false,
"tagsToAdd": [
"string"
],
"tagsToRemove": [
"string"
]
}
{
"actionId": "string"
}
{
"error": "string",
"errorType": "string",
"message": "string",
"statusCode": 42.0
}
[Required authorization] Route required privileges: fleet-agents-read.
curl \
--request GET 'http://localhost:5622/api/fleet/agents/{agentId}/uploads' \
--header "Authorization: $API_KEY"
{
"items": [
{
"actionId": "string",
"createTime": "string",
"error": "string",
"filePath": "string",
"id": "string",
"name": "string",
"status": "READY"
}
]
}
{
"error": "string",
"errorType": "string",
"message": "string",
"statusCode": 42.0
}
[Required authorization] Route required privileges: fleet-agents-read OR fleet-agent-policies-read OR fleet-settings-read OR fleet-setup.
curl \
--request GET 'http://localhost:5622/api/fleet/agents/setup' \
--header "Authorization: $API_KEY"
{
"is_secrets_storage_enabled": true,
"is_space_awareness_enabled": true,
"isReady": true,
"missing_optional_features": [
"encrypted_saved_object_encryption_key_required"
],
"missing_requirements": [
"security_required"
],
"package_verification_key_id": "string"
}
{
"error": "string",
"errorType": "string",
"message": "string",
"statusCode": 42.0
}
curl \
--request POST 'http://localhost:5622/api/fleet/epm/packages/{pkgName}/{pkgVersion}/transforms/authorize' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--header "kbn-xsrf: true" \
--data '{"transforms":[{"transformId":"string"}]}'
# Headers
kbn-xsrf: true
# Payload
{
"transforms": [
{
"transformId": "string"
}
]
}
[
{
"success": true,
"transformId": "string"
}
]
{
"error": "string",
"errorType": "string",
"message": "string",
"statusCode": 42.0
}
[Required authorization] Route required privileges: fleet-settings-all.
curl \
--request POST 'http://localhost:5622/api/fleet/logstash_api_keys' \
--header "Authorization: $API_KEY" \
--header "kbn-xsrf: true"
{
"api_key": "string"
}
{
"error": "string",
"errorType": "string",
"message": "string",
"statusCode": 42.0
}
Upgrade a package policy to a newer package version.
[Required authorization] Route required privileges: fleet-agent-policies-all AND integrations-all.
curl \
--request POST 'http://localhost:5622/api/fleet/package_policies/upgrade' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--header "kbn-xsrf: true" \
--data '{"packagePolicyIds":["string"]}'
# Headers
kbn-xsrf: true
# Payload
{
"packagePolicyIds": [
"string"
]
}
[
{
"body": {
"message": "string"
},
"id": "string",
"name": "string",
"statusCode": 42.0,
"success": true
}
]
{
"error": "string",
"errorType": "string",
"message": "string",
"statusCode": 42.0
}
[Required authorization] Route required privileges: fleet-agents-all OR fleet-settings-read.
curl \
--request GET 'http://localhost:5622/api/fleet/fleet_server_hosts' \
--header "Authorization: $API_KEY"
{
"items": [
{
"host_urls": [
"string"
],
"id": "string",
"is_default": false,
"is_internal": true,
"is_preconfigured": false,
"name": "string",
"proxy_id": "string",
"secrets": {
"ssl": {
"es_key": {
"id": "string"
},
"key": {
"id": "string"
}
}
},
"ssl": {
"certificate": "string",
"certificate_authorities": [
"string"
],
"client_auth": "optional",
"es_certificate": "string",
"es_certificate_authorities": [
"string"
],
"es_key": "string",
"key": "string"
}
}
],
"page": 42.0,
"perPage": 42.0,
"total": 42.0
}
{
"error": "string",
"errorType": "string",
"message": "string",
"statusCode": 42.0
}
Get the details of an existing conversation using the conversation ID.
The conversation's id
value.
Minimum length is 1
.
curl \
--request GET 'http://localhost:5622/api/security_ai_assistant/current_user/conversations/{id}' \
--header "Authorization: $API_KEY"
{
"apiConfig": {
"actionTypeId": "string",
"connectorId": "string",
"defaultSystemPromptId": "string",
"model": "string",
"provider": "OpenAI"
},
"category": "assistant",
"createdAt": "string",
"excludeFromLastConversationStorage": true,
"id": "string",
"messages": [
{
"content": "string",
"isError": true,
"metadata": {
"contentReferences": {}
},
"reader": {},
"role": "system",
"timestamp": "string",
"traceData": {
"traceId": "string",
"transactionId": "string"
}
}
],
"namespace": "string",
"replacements": {
"additionalProperty1": "string",
"additionalProperty2": "string"
},
"summary": {
"confidence": "low",
"content": "string",
"public": true,
"timestamp": "string"
},
"timestamp": "string",
"title": "string",
"updatedAt": "string",
"users": [
{
"id": "string",
"name": "string"
}
]
}
{
"error": "string",
"message": "string",
"statusCode": 42.0
}
Page number
Minimum value is 1
. Default value is 1
.
Number of items per page
Minimum value is 1
, maximum value is 100
. Default value is 10
.
A list of response action command names.
Minimum length of each is 1
. Values are isolate
, unisolate
, kill-process
, suspend-process
, running-processes
, get-file
, execute
, upload
, or scan
.
A list of agent IDs. Max of 50.
A list of user IDs.
A start date in ISO 8601 format or Date Math format.
An end date in ISO format or Date Math format.
List of agent types to retrieve. Defaults to endpoint
.
Values are endpoint
, sentinel_one
, crowdstrike
, or microsoft_defender_endpoint
.
A list of action IDs that should include the complete output of the action.
List of types of response actions
Values are automated
or manual
.
curl \
--request GET 'http://localhost:5622/api/endpoint/action' \
--header "Authorization: $API_KEY"
{
"data": [
{
"id": "b3d6de74-36b0-4fa8-be46-c375bf1771bf",
"agents": [
"afdc366c-e2e0-4cdb-ae1d-94575bd2d8e0"
],
"command": "running-processes",
"agentType": "endpoint",
"createdBy": "elastic",
"isExpired": false,
"startedAt": "2022-08-08T15:24:57.402Z",
"completedAt": "2022-08-08T09:50:47.672Z",
"isCompleted": true,
"wasSuccessful": true
},
{
"id": "43b4098b-8752-4fbb-a7a7-6df7c74d0ee3",
"agents": [
"afdc366c-e2e0-4cdb-ae1d-94575bd2d8e0"
],
"command": "isolate",
"agentType": "endpoint",
"createdBy": "elastic",
"isExpired": false,
"startedAt": "2022-08-08T15:23:37.359Z",
"completedAt": "2022-08-08T10:41:57.352Z",
"isCompleted": true,
"wasSuccessful": true
},
{
"id": "5bc92c86-b8e6-42dd-837f-12ad29e09caa",
"agents": [
"afdc366c-e2e0-4cdb-ae1d-94575bd2d8e0"
],
"command": "kill-process",
"comment": "bad process - taking up too much cpu",
"agentType": "endpoint",
"createdBy": "elastic",
"isExpired": false,
"startedAt": "2022-08-08T14:38:44.125Z",
"completedAt": "2022-08-08T09:44:50.952Z",
"isCompleted": true,
"wasSuccessful": true
},
{
"id": "790d54e0-3aa3-4e5b-8255-3ce9d851246a",
"agents": [
"afdc366c-e2e0-4cdb-ae1d-94575bd2d8e0"
],
"command": "unisolate",
"comment": "Not a threat to the network",
"agentType": "endpoint",
"createdBy": "elastic",
"isExpired": false,
"startedAt": "2022-08-08T14:38:15.391Z",
"completedAt": "2022-08-08T09:40:47.398Z",
"isCompleted": true,
"wasSuccessful": true
}
],
"page": 1,
"total": 4,
"endDate": "now",
"pageSize": 10,
"startDate": "now-24h/h",
"elasticAgentIds": [
"afdc366c-e2e0-4cdb-ae1d-94575bd2d8e0"
]
}
Suspend a running process on an endpoint.
List of agent types to retrieve. Defaults to endpoint
.
Values are endpoint
, sentinel_one
, crowdstrike
, or microsoft_defender_endpoint
.
A list of alerts id
s.
At least 1
element. Minimum length of each is 1
.
Case IDs to be updated (cannot contain empty strings)
At least 1
element. Minimum length of each is 1
.
Optional comment
List of endpoint IDs (cannot contain empty strings)
At least 1
element. Minimum length of each is 1
.
Optional parameters object
curl \
--request POST 'http://localhost:5622/api/endpoint/action/suspend_process' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{"comment":"suspend the process","parameters":{"entity_id":"abc123"},"endpoint_ids":["ed518850-681a-4d60-bb98-e22640cae2a8"]}'
{
"comment": "suspend the process",
"parameters": {
"entity_id": "abc123"
},
"endpoint_ids": [
"ed518850-681a-4d60-bb98-e22640cae2a8"
]
}
{
"data": {
"id": "233db9ea-6733-4849-9226-5a7039c7161d",
"agents": [
"ed518850-681a-4d60-bb98-e22640cae2a8"
],
"errors": [],
"command": "suspend-process",
"comment": "suspend the process",
"outputs": {
"ed518850-681a-4d60-bb98-e22640cae2a8": {
"type": "json",
"content": {
"key": "value"
}
}
},
"agentType": "endpoint",
"createdBy": "myuser",
"isExpired": false,
"startedAt": "2022-07-29T19:08:49.126Z",
"parameters": {
"entity_id": "abc123"
},
"completedAt": "2022-07-29T19:09:44.961Z",
"isCompleted": true,
"wasSuccessful": true
}
}
curl \
--request GET 'http://localhost:5622/api/entity_analytics/monitoring/privileges/health' \
--header "Authorization: $API_KEY"
{
"ok": true
}
The entity type of the engine (either 'user' or 'host').
Values are user
, host
, service
, or generic
.
Control flag to also delete the entity data.
curl \
--request DELETE 'http://localhost:5622/api/entity_store/engines/{entityType}' \
--header "Authorization: $API_KEY"
{
"deleted": true
}
Delete an exception list using the id
or list_id
field.
Exception list's identifier. Either id
or list_id
must be specified.
Minimum length is 1
.
Human readable exception list string identifier, e.g. trusted-linux-processes
. Either id
or list_id
must be specified.
Minimum length is 1
.
Determines whether the exception container is available in all Kibana spaces or just the space in which it is created, where:
single
: Only available in the Kibana space in which it is created.agnostic
: Available in all Kibana spaces.Values are agnostic
or single
. Default value is single
.
Successful response
Invalid input data response
Unsuccessful authentication response
Not enough privileges response
Exception list not found response
Internal server error response
curl \
--request DELETE 'http://localhost:5622/api/exception_lists' \
--header "Authorization: $API_KEY"
{
"id": "9e5fc75a-a3da-46c5-96e3-a2ec59c6bb85",
"name": "Sample Detection Exception List",
"tags": [
"malware"
],
"type": "detection",
"list_id": "simple_list",
"version": 1,
"_version": "WzIsMV0=",
"os_types": [
"linux"
],
"immutable": false,
"created_at": "2025-01-07T19:34:27.942Z",
"created_by": "elastic",
"updated_at": "2025-01-07T19:34:27.942Z",
"updated_by": "elastic",
"description": "This is a sample detection type exception list.",
"namespace_type": "single",
"tie_breaker_id": "78f1aca1-f8ee-4eb5-9ceb-f5c3ee656cb3"
}
{
"error": "Bad Request",
"message": "[request query]: namespace_type.0: Invalid enum value. Expected 'agnostic' | 'single', received 'blob'",
"statusCode": 400
}
{
"error": "Unauthorized",
"message": "[security_exception\\n\\tRoot causes:\\n\\t\\tsecurity_exception: unable to authenticate user [elastic] for REST request [/_security/_authenticate]]: unable to authenticate user [elastic] for REST request [/_security/_authenticate]",
"statusCode": 401
}
{
"error": "Forbidden",
"message": "API [DELETE /api/exception_lists?list_id=simple_list&namespace_type=single] is unauthorized for user, this action is granted by the Kibana privileges [lists-all]",
"statusCode": 403
}
{
"message": "exception list list_id: \"foo\" does not exist",
"status_code": 404
}
{
"message": "Internal Server Error",
"status_code": 500
}
Duplicate an existing exception list.
Exception list's human readable string identifier, e.g. trusted-linux-processes
.
Minimum length is 1
.
Determines whether the exception container is available in all Kibana spaces or just the space in which it is created, where:
single
: Only available in the Kibana space in which it is created.agnostic
: Available in all Kibana spaces.Values are agnostic
or single
. Default value is single
.
Determines whether to include expired exceptions in the duplicated list. Expiration date defined by expire_time
.
Values are true
or false
. Default value is true
.
Successful response
Invalid input data response
Unsuccessful authentication response
Not enough privileges response
Exception list not found
Exception list to duplicate not found response
Internal server error response
curl \
--request POST 'http://localhost:5622/api/exception_lists/_duplicate?list_id=simple_list&namespace_type=agnostic&include_expired_exceptions=true' \
--header "Authorization: $API_KEY"
{
"id": "b2f4a715-6ab1-444c-8b1e-3fa1b1049429",
"name": "Sample Detection Exception List [Duplicate]",
"tags": [
"malware"
],
"type": "detection",
"list_id": "d6390d60-bce3-4a48-9002-52db600f329c",
"version": 1,
"_version": "WzExNDY1LDFd",
"os_types": [],
"immutable": false,
"created_at": "2025-01-09T16:19:50.280Z",
"created_by": "elastic",
"updated_at": "2025-01-09T16:19:50.280Z",
"updated_by": "elastic",
"description": "This is a sample detection type exception",
"namespace_type": "single",
"tie_breaker_id": "6fa670bd-666d-4c9c-9f1e-d1dbc516e985"
}
{
"error": "Bad Request",
"message": "[request query]: namespace_type: Invalid enum value. Expected 'agnostic' | 'single', received 'foo'",
"statusCode": 400
}
{
"error": "Unauthorized",
"message": "[security_exception\\n\\tRoot causes:\\n\\t\\tsecurity_exception: unable to authenticate user [elastic] for REST request [/_security/_authenticate]]: unable to authenticate user [elastic] for REST request [/_security/_authenticate]",
"statusCode": 401
}
{
"error": "Forbidden",
"message": "API [POST /api/exception_lists/_duplicate] is unauthorized for user, this action is granted by the Kibana privileges [lists-all]",
"statusCode": 403
}
{
"message\"": "exception list id: \"foo\" does not exist",
"status_code\"": 404
}
{
"message": "string",
"status_code": 42
}
{
"message": "Internal Server Error",
"status_code": 500
}
Export an exception list and its associated items to an NDJSON file.
Exception list's identifier.
Minimum length is 1
.
Exception list's human readable string identifier, e.g. trusted-linux-processes
.
Minimum length is 1
.
Determines whether the exception container is available in all Kibana spaces or just the space in which it is created, where:
single
: Only available in the Kibana space in which it is created.agnostic
: Available in all Kibana spaces.Values are agnostic
or single
. Default value is single
.
Determines whether to include expired exceptions in the exported list. Expiration date defined by expire_time
.
Values are true
or false
. Default value is true
.
Successful response
A .ndjson
file containing specified exception list and its items
Invalid input data response
Unsuccessful authentication response
Not enough privileges response
Exception list not found response
Internal server error response
curl \
--request POST 'http://localhost:5622/api/exception_lists/_export?id=9e5fc75a-a3da-46c5-96e3-a2ec59c6bb85&list_id=simple_list&namespace_type=agnostic&include_expired_exceptions=true' \
--header "Authorization: $API_KEY"
{"_version":"WzExNDU5LDFd","created_at":"2025-01-09T16:18:17.757Z","created_by":"elastic","description":"This is a sample detection type exception","id":"c86c2da0-2ab6-4343-b81c-216ef27e8d75","immutable":false,"list_id":"simple_list","name":"Sample Detection Exception List","namespace_type":"single","os_types":[],"tags":["user added string for a tag","malware"],"tie_breaker_id":"cf4a7b92-732d-47f0-a0d5-49a35a1736bf","type":"detection","updated_at":"2025-01-09T16:18:17.757Z","updated_by":"elastic","version":1}
{"_version":"WzExNDYxLDFd","comments":[],"created_at":"2025-01-09T16:18:42.308Z","created_by":"elastic","description":"This is a sample endpoint type exception","entries":[{"type":"exists","field":"actingProcess.file.signer","operator":"excluded"},{"type":"match_any","field":"host.name","value":["some host","another host"],"operator":"included"}],"id":"f37597ce-eaa7-4b64-9100-4301118f6806","item_id":"simple_list_item","list_id":"simple_list","name":"Sample Endpoint Exception List","namespace_type":"single","os_types":["linux"],"tags":["user added string for a tag","malware"],"tie_breaker_id":"4ca3ef3e-9721-42c0-8107-cf47e094d40f","type":"simple","updated_at":"2025-01-09T16:18:42.308Z","updated_by":"elastic"}
{"exported_exception_list_count":1,"exported_exception_list_item_count":1,"missing_exception_list_item_count":0,"missing_exception_list_items":[],"missing_exception_lists":[],"missing_exception_lists_count":0}
{
"error": "Bad Request",
"message": "[request query]: list_id: Required, namespace_type: Required",
"statusCode": 400
}
{
"error": "Unauthorized",
"message": "[security_exception\\n\\tRoot causes:\\n\\t\\tsecurity_exception: unable to authenticate user [elastic] for REST request [/_security/_authenticate]]: unable to authenticate user [elastic] for REST request [/_security/_authenticate]",
"statusCode": 401
}
{
"error": "Forbidden",
"message": "API [POST /api/exception_lists/_export] is unauthorized for user, this action is granted by the Kibana privileges [lists-all]",
"statusCode": 403
}
{
"message\"": "exception list id: \"foo\" does not exist",
"status_code\"": 404
}
{
"message": "Internal Server Error",
"status_code": 500
}
Import value list items from a TXT or CSV file. The maximum file size is 9 million bytes.
You can import items to a new or existing list.
List's id.
Required when importing to an existing list.
Minimum length is 1
.
Type of the importing list.
Required when importing a new list whose list id
is not specified.
Values are binary
, boolean
, byte
, date
, date_nanos
, date_range
, double
, double_range
, float
, float_range
, geo_point
, geo_shape
, half_float
, integer
, integer_range
, ip
, ip_range
, keyword
, long
, long_range
, shape
, short
, or text
.
Determines how uploaded list item values are parsed. By default, list items are parsed using these named regex groups:
(?<value>.+)
- Single value item types, such as ip, long, date, keyword, and text.(?<gte>.+)-(?<lte>.+)|(?<value>.+)
- Range value item types, such as date_range
, ip_range
, double_range
, float_range
, integer_range
, and long_range
.Determines how retrieved list item values are presented. By default list items are presented using these Handelbar expressions:
{{{value}}}
- Single value item types, such as ip
, long
, date
, keyword
, and text
.{{{gte}}}-{{{lte}}}
- Range value item types, such as ip_range
, double_range
, float_range
, integer_range
, and long_range
.{{{gte}}},{{{lte}}}
- Date range values.Determines when changes made by the request are made visible to search.
Values are true
, false
, or wait_for
.
Successful response
Invalid input data response
Unsuccessful authentication response
Not enough privileges response
List with specified list_id does not exist response
Internal server error response
curl \
--request POST 'http://localhost:5622/api/lists/items/_import' \
--header "Authorization: $API_KEY" \
--header "Content-Type: multipart/form-data" \
--form "file=127.0.0.1
127.0.0.2
127.0.0.3
127.0.0.4
127.0.0.5
127.0.0.6
127.0.0.7
127.0.0.8
127.0.0.9
"
{
"id": "ip_list",
"name": "Simple list with an ip",
"type": "ip",
"version": 1,
"_version": "WzAsMV0=",
"immutable": false,
"@timestamp": "2025-01-08T04:47:34.273Z",
"created_at": "2025-01-08T04:47:34.273Z",
"created_by": "elastic",
"updated_at": "2025-01-08T04:47:34.273Z",
"updated_by": "elastic",
"description": "This list describes bad internet ip",
"tie_breaker_id": "f5508188-b1e9-4e6e-9662-d039a7d89899"
}
{
"message": "Either type or list_id need to be defined in the query",
"status_code": 400
}
{
"error": "Unauthorized",
"message": "[security_exception\\n\\tRoot causes:\\n\\t\\tsecurity_exception: unable to authenticate user [elastic] for REST request [/_security/_authenticate]]: unable to authenticate user [elastic] for REST request [/_security/_authenticate]",
"statusCode": 401
}
{
"error": "Forbidden",
"message": "API [POST /api/lists/items/_import?list_id=ip_list] is unauthorized for user, this action is granted by the Kibana privileges [lists-all]",
"statusCode": 403
}
{
"message": "string",
"status_code": 42
}
{
"message": "Internal Server Error",
"status_code": 500
}
Run live queries, manage packs and saved queries.
Manage your Kibana spaces.
Fetches a stream definition and associated dashboards
curl \
--request GET 'http://localhost:5622/api/streams/{name}' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json"
{}
Exports the content associated to a stream.
curl \
--request POST 'http://localhost:5622/api/streams/{name}/content/export' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--header "kbn-xsrf: true" \
--data '{"description":"string","include":{"objects":{"dashboards":["string"]}},"name":"string","replaced_patterns":["string"],"version":"string"}'
# Headers
kbn-xsrf: true
# Payload
{
"description": "string",
"include": {
"objects": {
"dashboards": [
"string"
]
}
},
"name": "string",
"replaced_patterns": [
"string"
],
"version": "string"
}
Fetches all queries linked to a stream that are visible to the current user in the current space.
curl \
--request GET 'http://localhost:5622/api/streams/{name}/queries' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json"
{}