Initial preview release

Version 1

  • Changed dashboard.applyState method is now asynchronous

Changes introduced to version 1 in Investigate 11.0.0

  • Fixed a bug where dashboard.getTime was not returning current time

  • Added new methods dashboard.getSavedQueryString, dashboard.getSavedFilters, dashboard.getSavedTime, graphBrowserVisualization.expand, scriptedPanelVisualization.getComboBox

  • Deprecated method graphBrowserVisualization.expandNode, use graphBrowserVisualization.expand instead

  • Breaking change - Fixed a bug where browser APIs and libraries like Lodash where available in script context, now they have to be whitelisted in the investigate.yml

Scripting interfaces version:


  • initial release


  • added new methods: GraphBrowserVis.expandByRelation, ScriptedPanelVis.getInteractiveTable

  • implemented missing method ScriptedPanelVis.getHtmlCheckboxInputElement


  • added new method: ScriptedPanelVis.getComboBox


  • added new method: GraphBrowserVis.expand

  • deprecated a method: GraphBrowserVis.expandNode


  • Added new methods graphBrowser.crop graphBrowser.undo, graphBrowser.redo, graphBrowser.standardLayout, graphBrowser.hierarchicalLayout, graphBrowser.radialLayout, graphBrowser.groupSelectedNodes, graphbrowser.ungroupSelectedNodes, graphBrowser.removeSelected, graphbrowser.invertRelations, graphbrowser.highlight, graphbrowser.toggleLiveFilter, graphbrowser.toggleTimebar, graphbrowser.toggleMap, graphbrowser.heatmap, graphbrowser.showNodesWithoutTime, graphbrowser.saveGraph, graphbrowser.loadGraph, graphbrowser.loadEntities, graphbrowser.exportGraphAsAnxFile, graphbrowser.organicLayout, graphbrowser.sequentialLayout, graphbrowser.lensLayout, graphbrowser.structuralLayout, graphbrowser.tweakLayout,, graphbrowser.invertNodesSelection, graphbrowser.extendNodesSelection

  • Changed signature of following methods

  • graphBrowser.expandSelectedNodes() to graphBrowser.expandSelectedNodes({ mode, nodesLimitOverride })

  • graphBrowser.addDocumentsFromDashboard(dashboardId) to graphBrowser.addDocumentsFromDashboard({ dashboardId, limit, modalOption })

  • graphBrowser.addDocumentsByQuery(index, query) to graphBrowser.addDocumentsByQuery({ searchId, query })

  • scriptedPanelVis.getHtmlCheckboxInputElement(name, label, checked) to scriptedPanelVis.getHtmlCheckboxInputElement(name, label, onChange, checked)

  • Changed signature of following methods to be asynchronous dashboard.getDashboardDataModelSearchByTitle, dashboard.getDashboardDataModelSearchByNodeId

    Please review your scripts. If they contain any browser-specific APIs or libraries which you would still like to use they must be whitelisted in investigate.yml configuration. For details see Enabling additional APIs

  • Added Revisions API with reviseRow method to sirenapi.Revisions.

  • Added SearchSource API to query against Search objects; SearchSource instance can be obtained by calling await search.getSearchSource() on the desired Search object.

    • You may fire a fetch request on a SearchSource object by calling await searchSource.fetch(). The state/body of a SearchSource object can be changed via following methods: type, query, filter, sort, highlight, highlightAll, aggs, from, searchAfter, size, source, version, seqNoPrimaryTerm, inject.

  • scriptedPanelVis.getHtmlTextInputElement and scriptedPanelVis.getHtmlNumberInputElement now accepts an initialValue parameter.

  • options.columns passed to scriptedPanelVis.getInteractiveTable method now accept a boolean imageUrlField (default: false) and maxWidth (default: '100px') to render the field value as an image (<img style={{ maxWidth }} src={fieldValue} />).


  • Added new methods to Dashboard - dashboard.getDashboardDataModelRootSearch, getDashboardDataModelTree,, dashboard.openModal

  • Added new method to all Visualizations- visualization.openModal

  • Added new method to Scripted Panel visualization - scriptedpanel.renderReactElement

  • Added new methods to Graph Browser visualization - graphbrowser.invertNodesSelection, graphbrowser.extendNodesSelection, graphbrowser.findCommonCommunicators, graphbrowser.selectByEntityType, graphbrowser.findShortestPath, graphbrowser.selectByEdgeCount, graphbrowser.showNodeCountByType, graphbrowser.isNodeCombo, graphbrowser.sort, graphbrowser.createRecord, graphbrowser.viewRecord, graphbrowser.addOrEditLinks, graphbrowser.isHighlightEnabled, graphbrowser.isLiveFilterEnabled, graphbrowser.isDirectRelation, graphbrowser.isNodesSelectionEmpty, graphbrowser.isComboNodeInSelection, graphbrowser.isUndoable, graphbrowser.isRedoable, graphbrowser.isMapEnabled, graphbrowser.isTimebarEnabled, graphbrowser.isHeatmapEnabled, graphbrowser.isEditLinkEnabled, graphbrowser.isRecordViewEnabled

  • The signature of graphbrowser.expandByRelation sirenAPI function have been updated. The node ids and relations ids must be passed as parameters of the options object as expandByRelation({ nodeIds, relationIds })


  • Removed indexPatternId parameter to instantiate Search object

  • Changed the signature of the following method

  • sirenapi.getTimeFilter(time, indexPatternId) to sirenapi.getTimeFilter(time, searchId), getTimeFilter accepts searchId instead of indexPatternId as indexPattern object is removed.


  • Added new methods to Graph Browser visualization - graphbrowser.reCount, graphbrowser.entitiesWithNoCounts


  • Added returnOnlyNew flag to graphbrowser.expandByRelation api


  • Breaking change - graphbrowser.addNode api now needs an additional entity id parameter


  • Added new method to Graph Browser visualization - graphbrowser.updateItemsUI


  • Added new method to Graph Browser visualization - graphbrowser.resetItemsUI


  • Added new methods to Graph Browser visualization - graphbrowser.downloadGraphAsImage, graphbrowser.exportGraphToBlobURL


  • Added new method to Graph Browser visualization - graphbrowser.selectAll