openapi: 3.2.0 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 Security Entity Analytics 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 Security entity analytics APIs to manage entity analytics and risk scoring, including asset criticality, privileged user monitoring, and entity engines. ' name: Security Entity Analytics API x-displayName: Security entity analytics paths: /api/asset_criticality: delete: deprecated: true description: '**Spaces method and path for this operation:**
delete /s/{space_id}/api/asset_criticality
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information. **Deprecated in 9.4.0.** Use the Entity Store APIs to unassign asset criticality for a specific entity. Delete the asset criticality record for a specific entity. ' operationId: DeleteAssetCriticalityRecord parameters: - description: The ID value of the asset. example: my_host in: query name: id_value required: true schema: type: string - description: The field representing the ID. example: host.name in: query name: id_field required: true schema: $ref: '#/components/schemas/Security_Entity_Analytics_API_IdField' - description: If 'wait_for' the request will wait for the index refresh. in: query name: refresh required: false schema: enum: - wait_for type: string responses: '200': content: application/json: schema: type: object properties: deleted: description: True if the record was deleted or false if the record did not exist. type: boolean record: $ref: '#/components/schemas/Security_Entity_Analytics_API_AssetCriticalityRecord' description: The deleted record if it existed. required: - deleted description: Successful response '400': description: Invalid request summary: Delete an asset criticality record tags: - Security Entity Analytics API x-metaTags: - content: Kibana name: product_name get: deprecated: true description: '**Spaces method and path for this operation:**
get /s/{space_id}/api/asset_criticality
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information. **Deprecated in 9.4.0.** Get the asset criticality record for a specific entity.' operationId: GetAssetCriticalityRecord parameters: - description: The ID value of the asset. example: my_host in: query name: id_value required: true schema: type: string - description: The field representing the ID. example: host.name in: query name: id_field required: true schema: $ref: '#/components/schemas/Security_Entity_Analytics_API_IdField' responses: '200': content: application/json: schema: $ref: '#/components/schemas/Security_Entity_Analytics_API_AssetCriticalityRecord' description: Successful response '400': description: Invalid request '404': description: Criticality record not found summary: Get an asset criticality record tags: - Security Entity Analytics API x-metaTags: - content: Kibana name: product_name post: deprecated: true description: '**Spaces method and path for this operation:**
post /s/{space_id}/api/asset_criticality
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information. **Deprecated in 9.4.0.** Use the Entity Store APIs to assign asset criticality to an entity. Create or update an asset criticality record for a specific entity. If a record already exists for the specified entity, that record is overwritten with the specified value. If a record doesn''t exist for the specified entity, a new record is created. ' operationId: CreateAssetCriticalityRecord requestBody: content: application/json: schema: allOf: - $ref: '#/components/schemas/Security_Entity_Analytics_API_CreateAssetCriticalityRecord' - type: object properties: refresh: description: If 'wait_for' the request will wait for the index refresh. enum: - wait_for type: string example: criticality_level: high_impact id_field: host.name id_value: my_host required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/Security_Entity_Analytics_API_AssetCriticalityRecord' description: Successful response '400': description: Invalid request summary: Upsert an asset criticality record tags: - Security Entity Analytics API x-metaTags: - content: Kibana name: product_name /api/asset_criticality/bulk: post: deprecated: true description: '**Spaces method and path for this operation:**
post /s/{space_id}/api/asset_criticality/bulk
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information. **Deprecated in 9.4.0.** Use the Entity Store APIs to bulk assign asset criticality. Bulk upsert up to 1000 asset criticality records. If asset criticality records already exist for the specified entities, those records are overwritten with the specified values. If asset criticality records don''t exist for the specified entities, new records are created. ' operationId: BulkUpsertAssetCriticalityRecords requestBody: content: application/json: schema: example: records: - criticality_level: low_impact id_field: host.name id_value: host-1 - criticality_level: medium_impact id_field: host.name id_value: host-2 type: object properties: records: items: allOf: - $ref: '#/components/schemas/Security_Entity_Analytics_API_AssetCriticalityRecordIdParts' - type: object properties: criticality_level: $ref: '#/components/schemas/Security_Entity_Analytics_API_AssetCriticalityLevelsForBulkUpload' required: - criticality_level maxItems: 1000 minItems: 1 type: array required: - records responses: '200': content: application/json: schema: example: errors: - index: 0 message: Invalid ID field stats: failed: 1 successful: 1 total: 2 type: object properties: errors: items: $ref: '#/components/schemas/Security_Entity_Analytics_API_AssetCriticalityBulkUploadErrorItem' type: array stats: $ref: '#/components/schemas/Security_Entity_Analytics_API_AssetCriticalityBulkUploadStats' required: - errors - stats description: Bulk upload successful '413': description: File too large summary: Bulk upsert asset criticality records tags: - Security Entity Analytics API x-metaTags: - content: Kibana name: product_name /api/asset_criticality/list: get: deprecated: true description: '**Spaces method and path for this operation:**
get /s/{space_id}/api/asset_criticality/list
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information. **Deprecated in 9.4.0.** List asset criticality records, paging, sorting and filtering as needed.' operationId: FindAssetCriticalityRecords parameters: - description: The field to sort by. in: query name: sort_field required: false schema: enum: - id_value - id_field - criticality_level - '@timestamp' type: string - description: The order to sort by. in: query name: sort_direction required: false schema: enum: - asc - desc type: string - description: The page number to return. in: query name: page required: false schema: minimum: 1 type: integer - description: The number of records to return per page. in: query name: per_page required: false schema: maximum: 1000 minimum: 1 type: integer - description: The kuery to filter by. in: query name: kuery required: false schema: type: string responses: '200': content: application/json: schema: example: page: 1 per_page: 10 records: - '@timestamp': '2024-08-02T14:40:35.705Z' asset: criticality: medium_impact criticality_level: medium_impact host: asset: criticality: medium_impact name: my_other_host id_field: host.name id_value: my_other_host - '@timestamp': '2024-08-02T11:15:34.290Z' asset: criticality: high_impact criticality_level: high_impact host: asset: criticality: high_impact name: my_host id_field: host.name id_value: my_host total: 2 type: object properties: page: minimum: 1 type: integer per_page: maximum: 1000 minimum: 1 type: integer records: items: $ref: '#/components/schemas/Security_Entity_Analytics_API_AssetCriticalityRecord' type: array total: minimum: 0 type: integer required: - records - page - per_page - total description: Successfully retrieved asset criticality records summary: List asset criticality records tags: - Security Entity Analytics API x-metaTags: - content: Kibana name: product_name /api/entity_analytics/monitoring/engine/delete: delete: deprecated: true description: '**Spaces method and path for this operation:**
delete /s/{space_id}/api/entity_analytics/monitoring/engine/delete
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information. **Deprecated in 9.4.0.** Deletes the Privilege Monitoring Engine and optionally removes all associated privileged user data.' operationId: DeleteMonitoringEngine parameters: - description: Whether to delete all the privileged user data in: query name: data required: false schema: default: false type: boolean responses: '200': content: application/json: examples: DeleteMonitoringEngineResponse: summary: Engine deleted successfully value: deleted: true schema: type: object properties: deleted: type: boolean required: - deleted description: Successful response summary: Delete the Privilege Monitoring Engine tags: - Security Entity Analytics API x-metaTags: - content: Kibana name: product_name /api/entity_analytics/monitoring/engine/disable: post: deprecated: true description: '**Spaces method and path for this operation:**
post /s/{space_id}/api/entity_analytics/monitoring/engine/disable
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information. **Deprecated in 9.4.0.** Disables the Privilege Monitoring Engine, stopping all monitoring activity without removing data.' operationId: DisableMonitoringEngine responses: '200': content: application/json: examples: DisableMonitoringEngineResponse: summary: Engine disabled successfully value: status: disabled schema: $ref: '#/components/schemas/Security_Entity_Analytics_API_MonitoringEngineDescriptor' description: Successful response summary: Disable the Privilege Monitoring Engine tags: - Security Entity Analytics API x-metaTags: - content: Kibana name: product_name /api/entity_analytics/monitoring/engine/init: post: deprecated: true description: '**Spaces method and path for this operation:**
post /s/{space_id}/api/entity_analytics/monitoring/engine/init
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information. **Deprecated in 9.4.0.** Initializes the Privilege Monitoring Engine, setting up the required resources and starting the engine.' operationId: InitMonitoringEngine responses: '200': content: application/json: examples: InitMonitoringEngineResponse: summary: Engine initialized successfully value: status: started schema: $ref: '#/components/schemas/Security_Entity_Analytics_API_MonitoringEngineDescriptor' description: Successful response '500': content: application/json: examples: InitMonitoringEngineError: summary: Internal server error during engine initialization value: error: message: Failed to initialize monitoring engine status: error schema: $ref: '#/components/schemas/Security_Entity_Analytics_API_MonitoringEngineDescriptor' description: Internal Server Error summary: Initialize the Privilege Monitoring Engine tags: - Security Entity Analytics API x-metaTags: - content: Kibana name: product_name /api/entity_analytics/monitoring/engine/schedule_now: post: deprecated: true description: '**Spaces method and path for this operation:**
post /s/{space_id}/api/entity_analytics/monitoring/engine/schedule_now
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information. **Deprecated in 9.4.0.** Schedules the Privilege Monitoring Engine to run as soon as possible, triggering an immediate monitoring cycle.' operationId: ScheduleMonitoringEngine responses: '200': content: application/json: examples: ScheduleMonitoringEngineResponse: summary: Engine scheduled successfully value: success: true schema: type: object properties: success: description: Indicates the scheduling was successful type: boolean description: Successful response '409': content: application/json: examples: ScheduleMonitoringEngineConflict: summary: Engine is already running value: message: Monitoring engine is already running schema: type: object properties: message: description: Error message indicating the engine is already running type: string description: Conflict - Monitoring engine is already running summary: Schedule the Privilege Monitoring Engine tags: - Security Entity Analytics API x-metaTags: - content: Kibana name: product_name /api/entity_analytics/monitoring/privileges/health: get: deprecated: true description: '**Spaces method and path for this operation:**
get /s/{space_id}/api/entity_analytics/monitoring/privileges/health
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information. **Deprecated in 9.4.0.** Returns the current health status of the Privilege Monitoring Engine, including engine status, error details, and user count statistics.' operationId: PrivMonHealth responses: '200': content: application/json: examples: PrivMonHealthResponse: summary: Healthy privilege monitoring engine value: status: started users: current_count: 42 max_allowed: 1000 schema: type: object properties: error: type: object properties: message: type: string required: - status status: $ref: '#/components/schemas/Security_Entity_Analytics_API_PrivilegeMonitoringEngineStatus' users: description: User statistics for privilege monitoring type: object properties: current_count: description: Current number of privileged users being monitored type: integer max_allowed: description: Maximum number of privileged users allowed to be monitored type: integer required: - current_count - max_allowed required: - status description: Successful response summary: Health check on Privilege Monitoring tags: - Security Entity Analytics API x-metaTags: - content: Kibana name: product_name /api/entity_analytics/monitoring/privileges/privileges: get: deprecated: true description: '**Spaces method and path for this operation:**
get /s/{space_id}/api/entity_analytics/monitoring/privileges/privileges
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information. **Deprecated in 9.4.0.** Use the Watchlists APIs instead. Check if the current user has all required permissions for Privilege Monitoring. ' operationId: PrivMonPrivileges responses: '200': content: application/json: examples: PrivMonPrivilegesResponse: summary: Privileges check response value: has_all_required: true privileges: elasticsearch: index: .entity_analytics.monitoring.user-default: read: true schema: $ref: '#/components/schemas/Security_Entity_Analytics_API_EntityAnalyticsPrivileges' description: Successful response summary: Run a privileges check on Privilege Monitoring tags: - Security Entity Analytics API x-metaTags: - content: Kibana name: product_name /api/entity_analytics/monitoring/users: post: deprecated: true description: '**Spaces method and path for this operation:**
post /s/{space_id}/api/entity_analytics/monitoring/users
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information. **Deprecated in 9.4.0.** Use the Watchlists API instead. Creates a new privileged user to be monitored by the Privilege Monitoring Engine. ' operationId: CreatePrivMonUser requestBody: content: application/json: examples: CreatePrivMonUserRequest: summary: Create a monitored user value: entity_analytics_monitoring: labels: - field: department source: api value: IT user: name: john.doe schema: $ref: '#/components/schemas/Security_Entity_Analytics_API_UserName' required: true responses: '200': content: application/json: examples: CreatePrivMonUserResponse: summary: Created monitored user value: '@timestamp': '2026-01-28T12:00:00.000Z' entity_analytics_monitoring: labels: - field: department source: api value: IT event: ingested: '2026-01-28T12:00:00.000Z' id: user-abc-123 user: is_privileged: true name: john.doe schema: $ref: '#/components/schemas/Security_Entity_Analytics_API_MonitoredUserDoc' description: User created successfully summary: Create a new monitored user tags: - Security Entity Analytics API x-metaTags: - content: Kibana name: product_name /api/entity_analytics/monitoring/users/_csv: post: deprecated: true description: '**Spaces method and path for this operation:**
post /s/{space_id}/api/entity_analytics/monitoring/users/_csv
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information. **Deprecated in 9.4.0.** Use the Watchlists API instead. Bulk upserts privileged users by uploading a CSV file. Returns per-row errors and aggregate upload statistics. ' operationId: PrivmonBulkUploadUsersCSV requestBody: content: multipart/form-data: examples: PrivmonBulkUploadUsersCSVRequest: summary: CSV file with privileged users value: file: 'username,is_privileged john.doe,true jane.smith,true ' schema: type: object properties: file: description: The CSV file to upload. format: binary type: string required: - file responses: '200': content: application/json: examples: PrivmonBulkUploadUsersCSVResponse: summary: Bulk upload response with mixed results value: errors: - index: 1 message: Invalid monitored field username: john.doe stats: failedOperations: 1 successfulOperations: 1 totalOperations: 2 uploaded: 2 schema: type: object properties: errors: items: $ref: '#/components/schemas/Security_Entity_Analytics_API_PrivmonUserCsvUploadErrorItem' type: array stats: $ref: '#/components/schemas/Security_Entity_Analytics_API_PrivmonUserCsvUploadStats' required: - errors - stats description: Bulk upload successful '413': description: File too large summary: Upsert multiple monitored users via CSV upload tags: - Security Entity Analytics API x-metaTags: - content: Kibana name: product_name /api/entity_analytics/monitoring/users/{id}: delete: deprecated: true description: '**Spaces method and path for this operation:**
delete /s/{space_id}/api/entity_analytics/monitoring/users/{id}
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information. **Deprecated in 9.4.0.** Use the Watchlists API instead. Removes a privileged user from monitoring by their document ID. ' operationId: DeletePrivMonUser parameters: - description: The document ID of the monitored user to delete in: path name: id required: true schema: type: string responses: '200': content: application/json: examples: DeletePrivMonUserResponse: summary: User deleted successfully value: acknowledged: true message: User deleted successfully schema: type: object properties: acknowledged: description: Indicates if the deletion was successful type: boolean message: description: A message providing additional information about the deletion status type: string required: - success description: User deleted successfully summary: Delete a monitored user tags: - Security Entity Analytics API x-metaTags: - content: Kibana name: product_name put: deprecated: true description: '**Spaces method and path for this operation:**
put /s/{space_id}/api/entity_analytics/monitoring/users/{id}
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information. **Deprecated in 9.4.0.** Use the Watchlists API instead. Updates the details of an existing monitored privileged user by their document ID. ' operationId: UpdatePrivMonUser parameters: - description: The document ID of the monitored user to update in: path name: id required: true schema: type: string requestBody: content: application/json: examples: UpdatePrivMonUserRequest: summary: Update a monitored user value: entity_analytics_monitoring: labels: - field: department source: api value: Security user: is_privileged: true name: john.doe schema: $ref: '#/components/schemas/Security_Entity_Analytics_API_MonitoredUserUpdateDoc' required: true responses: '200': content: application/json: examples: UpdatePrivMonUserResponse: summary: Updated monitored user value: '@timestamp': '2026-01-28T12:00:00.000Z' entity_analytics_monitoring: labels: - field: department source: api value: Security event: ingested: '2026-01-28T12:00:00.000Z' id: user-abc-123 user: is_privileged: true name: john.doe schema: $ref: '#/components/schemas/Security_Entity_Analytics_API_MonitoredUserDoc' description: User updated successfully summary: Update a monitored user tags: - Security Entity Analytics API x-metaTags: - content: Kibana name: product_name /api/entity_analytics/monitoring/users/list: get: deprecated: true description: '**Spaces method and path for this operation:**
get /s/{space_id}/api/entity_analytics/monitoring/users/list
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information. **Deprecated in 9.4.0.** Use the Watchlists API instead. Returns a list of all privileged users currently being monitored. Supports optional KQL filtering. ' operationId: ListPrivMonUsers parameters: - description: KQL query to filter the list of monitored users in: query name: kql required: false schema: type: string responses: '200': content: application/json: examples: ListPrivMonUsersResponse: summary: List of monitored users value: - '@timestamp': '2026-01-28T12:00:00.000Z' entity_analytics_monitoring: labels: - field: department source: api value: IT event: ingested: '2026-01-28T12:00:00.000Z' id: user-abc-123 user: is_privileged: true name: john.doe - '@timestamp': '2026-01-15T09:00:00.000Z' entity_analytics_monitoring: labels: - field: department source: csv value: Security event: ingested: '2026-01-15T09:00:00.000Z' id: user-def-456 user: is_privileged: true name: jane.smith schema: items: $ref: '#/components/schemas/Security_Entity_Analytics_API_MonitoredUserDoc' type: array description: List of monitored users summary: List all monitored users tags: - Security Entity Analytics API x-metaTags: - content: Kibana name: product_name /api/entity_analytics/privileged_user_monitoring/pad/install: post: description: '**Spaces method and path for this operation:**
post /s/{space_id}/api/entity_analytics/privileged_user_monitoring/pad/install
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information. Installs the privileged access detection integration package and sets up the associated ML modules required for the Entity Analytics privileged user monitoring experience.' operationId: InstallPrivilegedAccessDetectionPackage responses: '200': content: application/json: examples: InstallPrivilegedAccessDetectionPackageResponse: summary: Package installed successfully value: message: Privileged access detection package installed successfully schema: type: object properties: message: type: string required: - message description: Successful response summary: Installs the privileged access detection package for the Entity Analytics privileged user monitoring experience tags: - Security Entity Analytics API x-metaTags: - content: Kibana name: product_name /api/entity_analytics/privileged_user_monitoring/pad/status: get: description: '**Spaces method and path for this operation:**
get /s/{space_id}/api/entity_analytics/privileged_user_monitoring/pad/status
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information. Returns the installation and ML module setup status of the privileged access detection package, along with the state of each associated ML job.' operationId: GetPrivilegedAccessDetectionPackageStatus responses: '200': content: application/json: examples: GetPrivilegedAccessDetectionPackageStatusResponse: summary: Package fully installed and running value: jobs: - description: Detects high-risk login patterns job_id: pad-high-risk-login state: opened - description: Detects privilege escalation events job_id: pad-privilege-escalation state: opened ml_module_setup_status: complete package_installation_status: complete schema: type: object properties: jobs: items: type: object properties: description: type: string job_id: type: string state: enum: - closing - closed - opened - failed - opening type: string required: - job_id - state type: array ml_module_setup_status: enum: - complete - incomplete type: string package_installation_status: enum: - complete - incomplete type: string required: - package_installation_status - ml_module_setup_status - jobs description: Privileged access detection status retrieved summary: Gets the status of the privileged access detection package for the Entity Analytics privileged user monitoring experience tags: - Security Entity Analytics API x-metaTags: - content: Kibana name: product_name /api/entity_analytics/watchlists: post: description: '**Spaces method and path for this operation:**
post /s/{space_id}/api/entity_analytics/watchlists
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information. Creates a new entity analytics watchlist with an optional set of entity sources. Watchlists apply a risk score modifier to matched entities.' operationId: CreateWatchlist requestBody: content: application/json: examples: CreateWatchlistRequest: summary: Create watchlist request value: description: High risk vendor watchlist managed: false name: High Risk Vendors riskModifier: 1.5 CreateWatchlistWithSourcesRequest: summary: Create watchlist with entity sources value: description: High risk vendor watchlist entitySources: - enabled: true identifierField: user.name indexPattern: my-sync-index name: My User Index Source type: index managed: false name: High Risk Vendors riskModifier: 1.5 schema: type: object properties: description: description: Description of the watchlist maxLength: 1000 type: string entitySources: description: Optional entity sources to create and link to the watchlist items: additionalProperties: false type: object properties: enabled: type: boolean filter: $ref: '#/components/schemas/Security_Entity_Analytics_API_Filter' identifierField: description: Field used to query the entity store for index-type sources maxLength: 256 type: string indexPattern: maxLength: 1000 type: string integrationName: description: Required when type is entity_analytics_integration. One of entityanalytics_okta, entityanalytics_ad. maxLength: 256 type: string matchers: items: $ref: '#/components/schemas/Security_Entity_Analytics_API_Matcher' maxItems: 100 type: array name: maxLength: 256 type: string queryRule: description: KQL query used to filter data from the provided index patterns maxLength: 4096 type: string range: $ref: '#/components/schemas/Security_Entity_Analytics_API_DateRange' type: $ref: '#/components/schemas/Security_Entity_Analytics_API_EntitySourceType' required: - type - name maxItems: 100 type: array managed: description: Indicates if the watchlist is managed by the system type: boolean name: description: Unique name for the watchlist maxLength: 256 type: string riskModifier: description: Risk score modifier associated with the watchlist maximum: 2 minimum: 0 type: number required: - name - riskModifier required: true responses: '200': content: application/json: examples: CreateWatchlistResponse: summary: Created watchlist value: createdAt: '2026-01-28T12:00:00.000Z' description: High risk vendor watchlist id: watchlist-123 managed: false name: High Risk Vendors riskModifier: 1.5 updatedAt: '2026-01-28T12:00:00.000Z' schema: allOf: - $ref: '#/components/schemas/Security_Entity_Analytics_API_WatchlistObject' - type: object properties: entitySources: items: $ref: '#/components/schemas/Security_Entity_Analytics_API_MonitoringEntitySource' type: array description: Watchlist created successfully summary: Create a new watchlist tags: - Security Entity Analytics API x-state: Technical Preview x-metaTags: - content: Kibana name: product_name /api/entity_analytics/watchlists/{id}: get: description: '**Spaces method and path for this operation:**
get /s/{space_id}/api/entity_analytics/watchlists/{id}
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information. Retrieves the details of an entity analytics watchlist by its unique identifier.' operationId: GetWatchlist parameters: - description: Unique ID of the watchlist in: path name: id required: true schema: type: string responses: '200': content: application/json: examples: GetWatchlistResponse: summary: Watchlist details value: createdAt: '2026-01-28T12:00:00.000Z' description: High risk vendor watchlist id: watchlist-123 managed: false name: High Risk Vendors riskModifier: 1.5 updatedAt: '2026-02-18T12:00:00.000Z' schema: $ref: '#/components/schemas/Security_Entity_Analytics_API_WatchlistObject' description: Watchlist details summary: Get a watchlist by ID tags: - Security Entity Analytics API x-state: Technical Preview x-metaTags: - content: Kibana name: product_name put: description: '**Spaces method and path for this operation:**
put /s/{space_id}/api/entity_analytics/watchlists/{id}
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information. Updates the name, description, risk modifier, or managed status of an existing entity analytics watchlist.' operationId: UpdateWatchlist parameters: - description: The ID of the watchlist to update in: path name: id required: true schema: maxLength: 256 type: string requestBody: content: application/json: examples: UpdateWatchlistRequest: summary: Update watchlist request value: description: High risk vendor watchlist managed: false name: High Risk Vendors riskModifier: 1.5 schema: type: object properties: description: description: Description of the watchlist maxLength: 1000 type: string managed: description: Indicates if the watchlist is managed by the system type: boolean name: description: Unique name of the watchlist maxLength: 256 type: string riskModifier: description: Risk score modifier associated with the watchlist maximum: 2 minimum: 0 type: number required: - name - riskModifier required: true responses: '200': content: application/json: examples: UpdateWatchlistResponse: summary: Updated watchlist value: createdAt: '2026-01-28T12:00:00.000Z' description: High risk vendor watchlist id: watchlist-123 managed: false name: High Risk Vendors riskModifier: 1.5 updatedAt: '2026-02-18T12:00:00.000Z' schema: $ref: '#/components/schemas/Security_Entity_Analytics_API_WatchlistObject' description: Watchlist updated successfully summary: Update an existing watchlist tags: - Security Entity Analytics API x-state: Technical Preview x-metaTags: - content: Kibana name: product_name /api/entity_analytics/watchlists/{watchlist_id}/csv_upload: post: description: '**Spaces method and path for this operation:**
post /s/{space_id}/api/entity_analytics/watchlists/{watchlist_id}/csv_upload
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information. Uploads a CSV file to add entities to a watchlist. The CSV must contain a header row with a "type" column (user, host, service, or generic) and one or more ECS identity fields (e.g. "user.name", "host.hostname") used to match entities in the entity store. Matched entities are added to the watchlist and their `entity.attributes.watchlists` field is updated in the entity store. Each row will match up to 10,000 entities. ' operationId: UploadWatchlistCsv parameters: - description: The ID of the watchlist to add entities to example: high-risk-vendors in: path name: watchlist_id required: true schema: type: string requestBody: content: multipart/form-data: examples: csvUpload: summary: CSV file with user entities value: file: 'type,user.name user,john.doe user,jane.smith ' schema: type: object properties: file: description: The CSV file to upload. format: binary type: string required: - file required: true responses: '200': content: application/json: examples: CsvUploadResponse: summary: CSV upload response with mixed results value: failed: 1 items: - matchedEntities: 1 status: success - error: Invalid entity type matchedEntities: 0 status: failure - matchedEntities: 0 status: unmatched successful: 1 total: 3 unmatched: 1 schema: type: object properties: failed: description: Number of rows that failed to process example: 1 type: integer items: items: $ref: '#/components/schemas/Security_Entity_Analytics_API_WatchlistCsvUploadResponseItem' type: array successful: description: Number of rows that matched at least one entity example: 1 type: integer total: description: Total number of rows processed example: 3 type: integer unmatched: description: Number of rows that matched no entities example: 1 type: integer required: - successful - failed - total - unmatched - items description: Upload successful '413': description: File too large summary: Upload a CSV file to add entities to a watchlist tags: - Security Entity Analytics API x-state: Technical Preview x-metaTags: - content: Kibana name: product_name /api/entity_analytics/watchlists/{watchlist_id}/entities/assign: post: description: '**Spaces method and path for this operation:**
post /s/{space_id}/api/entity_analytics/watchlists/{watchlist_id}/entities/assign
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information. Assigns the provided entities to the specified watchlist using a "manual" source label. The entities must already exist in the entity store. If an entity is already on the watchlist, no new document is created — the "manual" label is added to its existing source labels instead. ' operationId: AssignWatchlistEntities parameters: - description: The ID of the watchlist to add entities to example: high-risk-vendors in: path name: watchlist_id required: true schema: type: string requestBody: content: application/json: examples: assignEntities: summary: Assign two entities to a watchlist value: euids: - user:john.doe - host:web-01 schema: type: object properties: euids: description: The EUIDs of the entities to assign example: - user:john.doe - host:web-01 items: type: string type: array required: - euids required: true responses: '200': content: application/json: examples: assignEntitiesResponse: summary: Successful assignment of two entities value: failed: 0 items: - euid: user:john.doe status: success - euid: host:web-01 status: not_found not_found: 1 successful: 1 total: 2 schema: type: object properties: failed: description: Number of entities that failed to process example: 0 type: integer items: items: $ref: '#/components/schemas/Security_Entity_Analytics_API_WatchlistEntityAssignResponseItem' type: array not_found: description: Number of entities not found in the entity store example: 1 type: integer successful: description: Number of entities successfully assigned example: 1 type: integer total: description: Total number of entities processed example: 2 type: integer required: - successful - failed - not_found - total - items description: Assignment successful summary: Manually assign entities to a watchlist tags: - Security Entity Analytics API x-state: Technical Preview; added in 9.4.0 x-metaTags: - content: Kibana name: product_name /api/entity_analytics/watchlists/{watchlist_id}/entities/unassign: post: description: '**Spaces method and path for this operation:**
post /s/{space_id}/api/entity_analytics/watchlists/{watchlist_id}/entities/unassign
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information. Unassigns the provided entities from the specified watchlist. This only removes the "manual" assignment. If the entity is also assigned via other sources (for example, index or integration), it will remain on the watchlist. ' operationId: UnassignWatchlistEntities parameters: - description: The ID of the watchlist to remove entities from example: high-risk-vendors in: path name: watchlist_id required: true schema: type: string requestBody: content: application/json: examples: unassignEntities: summary: Unassign two entities from a watchlist value: euids: - user:john.doe - host:web-01 schema: type: object properties: euids: description: The EUIDs of the entities to unassign example: - user:john.doe - host:web-01 items: type: string type: array required: - euids required: true responses: '200': content: application/json: examples: unassignEntitiesResponse: summary: Successful unassignment of two entities value: failed: 0 items: - euid: user:john.doe status: success - euid: host:web-01 status: not_found not_found: 1 successful: 1 total: 2 schema: type: object properties: failed: description: Number of entities that failed to process example: 0 type: integer items: items: $ref: '#/components/schemas/Security_Entity_Analytics_API_WatchlistEntityUnassignResponseItem' type: array not_found: description: Number of entities not found in the manual watchlist assignment example: 1 type: integer successful: description: Number of entities successfully unassigned example: 1 type: integer total: description: Total number of entities processed example: 2 type: integer required: - successful - failed - not_found - total - items description: Unassignment successful summary: Manually unassign entities from a watchlist tags: - Security Entity Analytics API x-state: Technical Preview; added in 9.4.0 x-metaTags: - content: Kibana name: product_name /api/entity_analytics/watchlists/list: get: description: '**Spaces method and path for this operation:**
get /s/{space_id}/api/entity_analytics/watchlists/list
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information. Returns a list of all entity analytics watchlists.' operationId: ListWatchlists responses: '200': content: application/json: examples: ListWatchlistsResponse: summary: List of watchlists value: - createdAt: '2026-01-28T12:00:00.000Z' description: High risk vendor watchlist id: watchlist-123 managed: false name: High Risk Vendors riskModifier: 1.5 updatedAt: '2026-02-18T12:00:00.000Z' - createdAt: '2026-01-10T09:30:00.000Z' description: Privileged user monitoring watchlist id: watchlist-456 managed: true name: Privileged Accounts riskModifier: 2 updatedAt: '2026-02-01T15:45:00.000Z' schema: items: $ref: '#/components/schemas/Security_Entity_Analytics_API_WatchlistObject' type: array description: List of watchlists summary: List all watchlists tags: - Security Entity Analytics API x-state: Technical Preview x-metaTags: - content: Kibana name: product_name /api/risk_score/engine/dangerously_delete_data: delete: description: '**Spaces method and path for this operation:**
delete /s/{space_id}/api/risk_score/engine/dangerously_delete_data
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information. Cleaning up the the Risk Engine by removing the indices, mapping and transforms' operationId: CleanUpRiskEngine responses: '200': content: application/json: examples: CleanUpRiskEngineResponse: summary: Successful cleanup response value: cleanup_successful: true schema: type: object properties: cleanup_successful: type: boolean description: Successful response '400': content: application/json: examples: taskManagerUnavailable: summary: Task manager is unavailable value: message: Task Manager is unavailable, but is required by the risk engine. Please enable the taskManager plugin and try again. status_code: 400 schema: $ref: '#/components/schemas/Security_Entity_Analytics_API_TaskManagerUnavailableResponse' description: Task manager is unavailable default: content: application/json: examples: cleanupFailed: summary: Cleanup failed value: cleanup_successful: false errors: - error: Risk engine is disabled or deleted already. seq: 1 schema: $ref: '#/components/schemas/Security_Entity_Analytics_API_CleanUpRiskEngineErrorResponse' description: Unexpected error summary: Cleanup the Risk Engine tags: - Security Entity Analytics API x-metaTags: - content: Kibana name: product_name /api/risk_score/engine/saved_object/configure: patch: description: '**Spaces method and path for this operation:**
patch /s/{space_id}/api/risk_score/engine/saved_object/configure
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information. Configuring the Risk Engine Saved Object' operationId: ConfigureRiskEngineSavedObject requestBody: content: application/json: examples: ConfigureRiskEngineSavedObjectRequest: summary: Configure the risk engine saved object value: enable_reset_to_zero: false exclude_alert_statuses: - closed exclude_alert_tags: - low-priority filters: - entity_types: - host - user filter: 'host.name: *' range: end: now start: now-30d schema: type: object properties: enable_reset_to_zero: type: boolean exclude_alert_statuses: items: type: string type: array exclude_alert_tags: items: type: string type: array filters: items: type: object properties: entity_types: items: enum: - host - user - service type: string type: array filter: description: KQL filter string type: string required: - entity_types - filter type: array page_size: description: 'Number of entities to score per page. Higher values reduce total scoring time by reducing the number of alert-index scans, but cannot exceed the ES|QL result limit (10,000 by default). ' maximum: 10000 minimum: 100 type: integer range: type: object properties: end: type: string start: type: string required: true responses: '200': content: application/json: examples: ConfigureRiskEngineSavedObjectResponse: summary: Successful configuration response value: risk_engine_saved_object_configured: true schema: type: object properties: risk_engine_saved_object_configured: type: boolean description: Successful response '400': content: application/json: examples: taskManagerUnavailable: summary: Task manager is unavailable value: message: Task Manager is unavailable, but is required by the risk engine. Please enable the taskManager plugin and try again. status_code: 400 schema: $ref: '#/components/schemas/Security_Entity_Analytics_API_TaskManagerUnavailableResponse' description: Task manager is unavailable default: content: application/json: examples: configureError: summary: Configure saved object failed value: errors: - error: Internal server error seq: 1 risk_engine_saved_object_configured: false schema: $ref: '#/components/schemas/Security_Entity_Analytics_API_ConfigureRiskEngineSavedObjectErrorResponse' description: Unexpected error summary: Configure the Risk Engine Saved Object tags: - Security Entity Analytics API x-metaTags: - content: Kibana name: product_name /api/risk_score/engine/schedule_now: post: description: '**Spaces method and path for this operation:**
post /s/{space_id}/api/risk_score/engine/schedule_now
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information. Schedule the risk scoring engine to run as soon as possible. You can use this to recalculate entity risk scores after updating their asset criticality.' operationId: ScheduleRiskEngineNow requestBody: content: application/json: examples: emptyRequest: summary: No request body value: {} schema: type: object responses: '200': content: application/json: examples: ScheduleRiskEngineNowResponse: summary: Successful schedule response value: success: true schema: $ref: '#/components/schemas/Security_Entity_Analytics_API_RiskEngineScheduleNowResponse' description: Successful response '400': content: application/json: examples: taskManagerUnavailable: summary: Task manager is unavailable value: message: Task Manager is unavailable, but is required by the risk engine. Please enable the taskManager plugin and try again. status_code: 400 schema: $ref: '#/components/schemas/Security_Entity_Analytics_API_TaskManagerUnavailableResponse' description: Task manager is unavailable default: content: application/json: examples: scheduleNowError: summary: Schedule now failed value: full_error: '{}' message: Internal server error schema: $ref: '#/components/schemas/Security_Entity_Analytics_API_RiskEngineScheduleNowErrorResponse' description: Unexpected error summary: Run the risk scoring engine tags: - Security Entity Analytics API x-metaTags: - content: Kibana name: product_name /api/risk_score/history: get: description: '**Spaces method and path for this operation:**
get /s/{space_id}/api/risk_score/history
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information. Returns time-ordered historical risk score entries from the risk score time-series index for a given entity.' operationId: GetRiskScoreHistory parameters: - description: The type of entity to retrieve history for. in: query name: entity_type required: true schema: $ref: '#/components/schemas/Security_Entity_Analytics_API_IdentifierType' - description: The identifier of the entity to retrieve history for. in: query name: entity_id required: true schema: maxLength: 1000 type: string - description: Start of the time range, in date-math syntax. Defaults to 90 days ago. in: query name: from required: false schema: default: now-90d maxLength: 100 type: string - description: End of the time range, in date-math syntax. Defaults to now. in: query name: to required: false schema: default: now maxLength: 100 type: string - description: Filter entries by the type of score recorded (`base`, `propagated`, or `resolution`). in: query name: score_type required: false schema: enum: - base - propagated - resolution type: string - description: When true, each entry also includes the contributions recorded for that scoring run (`inputs`, `modifiers`, category 2 fields, and `criticality_level`), when present on the underlying document. in: query name: include_contributions required: false schema: default: false type: boolean responses: '200': content: application/json: examples: riskScoreHistory: summary: Risk score history for a user value: entity_id: alice entity_type: user entries: - '@timestamp': '2026-05-20T12:00:00.000Z' calculated_level: High calculated_score: 145.2 calculated_score_norm: 72.4 category_1_count: 18 category_1_score: 102 score_type: base schema: $ref: '#/components/schemas/Security_Entity_Analytics_API_RiskScoreHistoryResponse' description: Successful response '400': description: Invalid request summary: Get risk score history for an entity tags: - Security Entity Analytics API x-state: Added in 9.5.0 x-metaTags: - content: Kibana name: product_name components: schemas: Security_Entity_Analytics_API_WatchlistEntityAssignResponseItem: example: euid: user:john.doe status: success type: object properties: error: description: Error message if the entity failed to process example: Invalid entity type type: string euid: description: The EUID of the entity example: user:john.doe type: string status: enum: - success - failure - not_found example: success type: string required: - euid - status Security_Entity_Analytics_API_EntitySourceType: enum: - index - entity_analytics_integration - store type: string Security_Entity_Analytics_API_WatchlistEntityUnassignResponseItem: example: euid: user:john.doe status: success type: object properties: error: description: Error message if the entity failed to process example: Invalid entity type type: string euid: description: The EUID of the entity example: user:john.doe type: string status: enum: - success - failure - not_found example: success type: string required: - euid - status Security_Entity_Analytics_API_Filter: type: object properties: kuery: oneOf: - maxLength: 4096 type: string - additionalProperties: false type: object Security_Entity_Analytics_API_MonitoredUserDoc: allOf: - $ref: '#/components/schemas/Security_Entity_Analytics_API_MonitoredUserUpdateDoc' - type: object properties: '@timestamp': format: date-time type: string event: type: object properties: '@timestamp': format: date-time type: string ingested: format: date-time type: string user: type: object properties: entity: type: object properties: attributes: type: object properties: Privileged: description: Indicates if the user is privileged. type: boolean is_privileged: description: Indicates if the user is privileged. type: boolean name: type: string Security_Entity_Analytics_API_EntityAnalyticsPrivileges: type: object properties: has_all_required: type: boolean has_install_permissions: type: boolean has_read_permissions: type: boolean has_write_permissions: type: boolean install_privileges: $ref: '#/components/schemas/Security_Entity_Analytics_API_EntityAnalyticsPrivilegesDetail' privileges: $ref: '#/components/schemas/Security_Entity_Analytics_API_EntityAnalyticsPrivilegesDetail' required: - has_all_required - privileges Security_Entity_Analytics_API_CreateAssetCriticalityRecord: allOf: - $ref: '#/components/schemas/Security_Entity_Analytics_API_AssetCriticalityRecordIdParts' - type: object properties: criticality_level: $ref: '#/components/schemas/Security_Entity_Analytics_API_AssetCriticalityLevel' required: - criticality_level Security_Entity_Analytics_API_AssetCriticalityBulkUploadErrorItem: type: object properties: index: type: integer message: type: string required: - message - index Security_Entity_Analytics_API_CleanUpRiskEngineErrorResponse: type: object properties: cleanup_successful: example: false type: boolean errors: items: type: object properties: error: type: string seq: type: integer required: - seq - error type: array required: - cleanup_successful - errors Security_Entity_Analytics_API_AssetCriticalityRecordEcsParts: type: object properties: asset: type: object properties: criticality: $ref: '#/components/schemas/Security_Entity_Analytics_API_AssetCriticalityLevel' required: - asset entity: type: object properties: asset: type: object properties: criticality: $ref: '#/components/schemas/Security_Entity_Analytics_API_AssetCriticalityLevel' required: - criticality id: type: string required: - id host: type: object properties: asset: type: object properties: criticality: $ref: '#/components/schemas/Security_Entity_Analytics_API_AssetCriticalityLevel' required: - criticality name: type: string required: - name service: type: object properties: asset: type: object properties: criticality: $ref: '#/components/schemas/Security_Entity_Analytics_API_AssetCriticalityLevel' required: - criticality name: type: string required: - name user: type: object properties: asset: type: object properties: criticality: $ref: '#/components/schemas/Security_Entity_Analytics_API_AssetCriticalityLevel' required: - criticality name: type: string required: - name required: - asset Security_Entity_Analytics_API_PrivmonUserCsvUploadStats: type: object properties: failedOperations: type: integer successfulOperations: type: integer totalOperations: type: integer uploaded: type: integer required: - successfulOperations - uploaded - failedOperations - totalOperations Security_Entity_Analytics_API_RiskScoreInput: description: A generic representation of a document contributing to a Risk Score. type: object properties: category: description: The risk category of the risk input document. example: category_1 type: string contribution_score: format: double type: number description: description: A human-readable description of the risk input document. example: 'Generated from Detection Engine Rule: Malware Prevention Alert' type: string entity_id: description: The EUID of the entity within the graph that generated this alert. type: string id: description: The unique identifier (`_id`) of the original source document example: 91a93376a507e86cfbf282166275b89f9dbdb1f0be6c8103c6ff2909ca8e1a1c type: string index: description: The unique index (`_index`) of the original source document example: .internal.alerts-security.alerts-default-000001 type: string risk_score: description: The weighted risk score of the risk input document. format: double maximum: 100 minimum: 0 type: number timestamp: description: The @timestamp of the risk input document. example: '2017-07-21T17:32:28Z' type: string required: - id - index - description - category Security_Entity_Analytics_API_UpdateableMonitoringEntitySourceProperties: type: object properties: enabled: type: boolean filter: $ref: '#/components/schemas/Security_Entity_Analytics_API_Filter' identifierField: description: Field used to query the entity store for index-type sources maxLength: 256 type: string indexPattern: maxLength: 1000 type: string integrationName: maxLength: 256 type: string integrations: $ref: '#/components/schemas/Security_Entity_Analytics_API_Integrations' matchers: items: $ref: '#/components/schemas/Security_Entity_Analytics_API_Matcher' maxItems: 100 type: array name: maxLength: 256 type: string queryRule: description: KQL query used to filter data from the provided index patterns maxLength: 4096 type: string range: $ref: '#/components/schemas/Security_Entity_Analytics_API_DateRange' type: $ref: '#/components/schemas/Security_Entity_Analytics_API_EntitySourceType' Security_Entity_Analytics_API_PrivilegeMonitoringEngineStatus: description: The status of the Privilege Monitoring Engine enum: - started - error - disabled - not_installed type: string Security_Entity_Analytics_API_MonitoringEntitySourceProperties: allOf: - $ref: '#/components/schemas/Security_Entity_Analytics_API_UpdateableMonitoringEntitySourceProperties' - type: object properties: managed: type: boolean Security_Entity_Analytics_API_AssetCriticalityLevel: description: The criticality level of the asset. enum: - low_impact - medium_impact - high_impact - extreme_impact type: string Security_Entity_Analytics_API_RiskEngineScheduleNowResponse: type: object properties: success: type: boolean Security_Entity_Analytics_API_AssetCriticalityRecord: allOf: - $ref: '#/components/schemas/Security_Entity_Analytics_API_CreateAssetCriticalityRecord' - $ref: '#/components/schemas/Security_Entity_Analytics_API_AssetCriticalityRecordEcsParts' - type: object properties: '@timestamp': description: The time the record was created or updated. example: '2017-07-21T17:32:28Z' format: date-time type: string required: - '@timestamp' example: '@timestamp': '2024-08-02T11:15:34.290Z' asset: criticality: high_impact criticality_level: high_impact host: asset: criticality: high_impact name: my_host id_field: host.name id_value: my_host Security_Entity_Analytics_API_IdentifierType: enum: - host - user - service - generic type: string Security_Entity_Analytics_API_WatchlistObject: example: createdAt: '2026-01-28T12:00:00.000Z' description: High risk vendor watchlist id: watchlist-123 managed: false name: High Risk Vendors riskModifier: 1.5 updatedAt: '2026-02-18T12:00:00.000Z' type: object properties: createdAt: description: Timestamp indicating when the watchlist was created format: date-time type: string description: description: Description of the watchlist type: string entityCount: description: Number of entities in the watchlist type: number entitySourceIds: description: List of entity source IDs associated with the watchlist items: type: string type: array hasManualEntities: description: Indicates whether the watchlist contains manually assigned entities type: boolean id: description: The unique ID of the watchlist type: string managed: description: Indicates if the watchlist is managed by the system type: boolean name: description: The name of the watchlist type: string riskModifier: description: Risk score modifier associated with the watchlist type: number updatedAt: description: Timestamp indicating when the watchlist was last updated format: date-time type: string required: - name - riskModifier - managed Security_Entity_Analytics_API_EntityAnalyticsPrivilegesDetail: type: object properties: elasticsearch: type: object properties: cluster: additionalProperties: type: boolean type: object index: additionalProperties: additionalProperties: type: boolean type: object type: object kibana: additionalProperties: type: boolean type: object required: - elasticsearch Security_Entity_Analytics_API_MonitoringEntitySource: allOf: - $ref: '#/components/schemas/Security_Entity_Analytics_API_MonitoringEntitySourceProperties' - type: object properties: apiKeyId: description: ID of the API key used for scoped reads from the source index. Only present for index-type sources. maxLength: 64 type: - string - 'null' id: type: string required: - type - name - id - managed Security_Entity_Analytics_API_RiskScoreModifier: description: A modifier that was applied to the risk score calculation. type: object properties: contribution: format: double type: number metadata: additionalProperties: true type: object modifier_value: format: double type: number subtype: maxLength: 100 type: string type: maxLength: 100 type: string required: - type - contribution Security_Entity_Analytics_API_Matcher: type: object properties: fields: items: maxLength: 256 type: string maxItems: 100 type: array values: description: 'Matcher values. Must be either an array of strings (e.g. group or role names) or an array of booleans (e.g. integration-derived flags like privileged_group_member). Mixed types are intentionally not supported for simplicity and predictability. ' oneOf: - items: maxLength: 256 type: string maxItems: 1000 type: array - items: type: boolean maxItems: 1000 type: array required: - fields - values Security_Entity_Analytics_API_MonitoredUserUpdateDoc: type: object properties: entity_analytics_monitoring: type: object properties: labels: items: $ref: '#/components/schemas/Security_Entity_Analytics_API_MonitoringLabel' type: array id: maxLength: 256 type: string labels: type: object properties: source_ids: items: maxLength: 256 type: string maxItems: 100 type: array source_integrations: items: maxLength: 256 type: string maxItems: 100 type: array sources: items: enum: - csv - index_sync - api maxItems: 100 type: array user: type: object properties: is_privileged: description: Indicates if the user is privileged. type: boolean name: maxLength: 512 type: string Security_Entity_Analytics_API_MonitoringLabel: type: object properties: field: maxLength: 256 type: string source: type: string value: maxLength: 256 type: string required: - field - value - source Security_Entity_Analytics_API_WatchlistCsvUploadResponseItem: example: matchedEntities: 1 status: success type: object properties: error: description: Error message if the row failed to process example: Invalid entity type type: string matchedEntities: description: Number of entities matched for this row example: 1 type: integer status: enum: - success - failure - unmatched example: success type: string required: - status - matchedEntities Security_Entity_Analytics_API_AssetCriticalityLevelsForBulkUpload: description: The criticality level of the asset for bulk upload. The value `unassigned` is used to indicate that the criticality level is not assigned and is only used for bulk upload. enum: - low_impact - medium_impact - high_impact - extreme_impact - unassigned type: string Security_Entity_Analytics_API_EntityRiskLevels: enum: - Unknown - Low - Moderate - High - Critical type: string Security_Entity_Analytics_API_AssetCriticalityRecordIdParts: type: object properties: id_field: $ref: '#/components/schemas/Security_Entity_Analytics_API_IdField' description: The field representing the ID. example: host.name id_value: description: The ID value of the asset. type: string required: - id_value - id_field Security_Entity_Analytics_API_TaskManagerUnavailableResponse: description: Task manager is unavailable type: object properties: message: type: string status_code: minimum: 400 type: integer required: - status_code - message Security_Entity_Analytics_API_RiskScoreHistoryEntry: type: object properties: '@timestamp': format: date-time maxLength: 33 type: string calculated_level: $ref: '#/components/schemas/Security_Entity_Analytics_API_EntityRiskLevels' calculated_score: format: double type: number calculated_score_norm: format: double maximum: 100 minimum: 0 type: number category_1_count: type: integer category_1_score: format: double type: number category_2_count: type: integer category_2_score: format: double type: number criticality_level: $ref: '#/components/schemas/Security_Entity_Analytics_API_AssetCriticalityLevel' inputs: description: Present only when requested with `include_contributions=true`. items: $ref: '#/components/schemas/Security_Entity_Analytics_API_RiskScoreInput' type: array modifiers: description: Present only when requested with `include_contributions=true`. items: $ref: '#/components/schemas/Security_Entity_Analytics_API_RiskScoreModifier' type: array score_type: enum: - base - propagated - resolution type: string required: - '@timestamp' - calculated_score_norm - calculated_level Security_Entity_Analytics_API_DateRange: description: Defines the lookback period for filtering source data by timestamp. type: object properties: end: description: End of the lookback period (date math or ISO string, e.g. "now") maxLength: 256 type: string start: description: Start of the lookback period (date math or ISO string, e.g. "now-10d") maxLength: 256 type: string required: - start - end Security_Entity_Analytics_API_RiskScoreHistoryResponse: type: object properties: entity_id: maxLength: 1000 type: string entity_type: $ref: '#/components/schemas/Security_Entity_Analytics_API_IdentifierType' entries: items: $ref: '#/components/schemas/Security_Entity_Analytics_API_RiskScoreHistoryEntry' type: array interval: description: The effective Elasticsearch `date_histogram` interval expression the entries were aggregated into (for example `3h`, `1d`, `1w`), derived from the requested time range. maxLength: 10 type: string required: - entity_id - entity_type - interval - entries Security_Entity_Analytics_API_MonitoringEngineDescriptor: type: object properties: error: type: object properties: message: description: Error message typically only present if the engine is in error state type: string status: $ref: '#/components/schemas/Security_Entity_Analytics_API_PrivilegeMonitoringEngineStatus' required: - status Security_Entity_Analytics_API_AssetCriticalityBulkUploadStats: type: object properties: failed: type: integer successful: type: integer total: type: integer required: - successful - failed - total Security_Entity_Analytics_API_ConfigureRiskEngineSavedObjectErrorResponse: type: object properties: errors: items: type: object properties: error: type: string seq: type: integer required: - seq - error type: array risk_engine_saved_object_configured: example: false type: boolean required: - risk_engine_saved_object_configured - errors Security_Entity_Analytics_API_UserName: type: object properties: entity_analytics_monitoring: description: Entity analytics monitoring configuration for the user type: object properties: labels: description: Array of labels associated with the user items: type: object properties: field: description: The field name for the label maxLength: 256 type: string source: description: The source where this label was created (api, csv, or index_sync) enum: - api - csv - index_sync type: string value: description: The value of the label maxLength: 256 type: string maxItems: 100 type: array user: type: object properties: name: description: The name of the user. maxLength: 512 type: string Security_Entity_Analytics_API_PrivmonUserCsvUploadErrorItem: type: object properties: index: type: - integer - 'null' message: type: string username: type: - string - 'null' required: - message - index - username Security_Entity_Analytics_API_Integrations: type: object properties: syncData: description: integrations latest full sync and update syncData type: object properties: lastFullSync: description: Timestamp of the last full sync from integrations format: date-time type: string lastUpdateProcessed: description: Timestamp of the last update processed from integrations format: date-time type: string syncMarkerIndex: description: Index to read latest sync markers from maxLength: 1000 type: string Security_Entity_Analytics_API_IdField: enum: - host.name - user.name - service.name - entity.id type: string Security_Entity_Analytics_API_RiskEngineScheduleNowErrorResponse: type: object properties: full_error: type: string message: type: string required: - message - full_error 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"