diff --git a/.buildkite/scripts/steps/checks/capture_oas_snapshot.sh b/.buildkite/scripts/steps/checks/capture_oas_snapshot.sh index e9f42d67008ea..66051c8fd5e29 100755 --- a/.buildkite/scripts/steps/checks/capture_oas_snapshot.sh +++ b/.buildkite/scripts/steps/checks/capture_oas_snapshot.sh @@ -8,7 +8,7 @@ source .buildkite/scripts/common/util.sh .buildkite/scripts/copy_es_snapshot_cache.sh echo --- Capture OAS snapshot -cmd="node scripts/capture_oas_snapshot --include-path /api/status --include-path /api/alerting/rule/ --include-path /api/alerting/rules --include-path /api/actions --include-path /api/security/role --include-path /api/spaces --include-path /api/fleet" +cmd="node scripts/capture_oas_snapshot --include-path /api/status --include-path /api/alerting/rule/ --include-path /api/alerting/rules --include-path /api/actions --include-path /api/security/role --include-path /api/spaces --include-path /api/fleet --include-path /api/dashboards" if is_pr && ! is_auto_commit_disabled; then cmd="$cmd --update" fi diff --git a/oas_docs/bundle.json b/oas_docs/bundle.json index 0244960e1f55f..210ecb6fa266f 100644 --- a/oas_docs/bundle.json +++ b/oas_docs/bundle.json @@ -5644,6 +5644,3244 @@ ] } }, + "/api/dashboards/dashboard": { + "get": { + "description": "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.", + "operationId": "get-dashboards-dashboard", + "parameters": [ + { + "description": "The version of the API to use", + "in": "header", + "name": "elastic-api-version", + "schema": { + "default": "2023-10-31", + "enum": [ + "2023-10-31" + ], + "type": "string" + } + }, + { + "description": "The page number to return. Default is \"1\".", + "in": "query", + "name": "page", + "required": false, + "schema": { + "default": 1, + "minimum": 1, + "type": "number" + } + }, + { + "description": "The number of dashboards to display on each page (max 1000). Default is \"20\".", + "in": "query", + "name": "perPage", + "required": false, + "schema": { + "maximum": 1000, + "minimum": 1, + "type": "number" + } + } + ], + "responses": { + "200": { + "content": { + "application/json; Elastic-Api-Version=2023-10-31": { + "schema": { + "additionalProperties": false, + "properties": { + "items": { + "items": { + "additionalProperties": true, + "properties": { + "attributes": { + "additionalProperties": false, + "properties": { + "description": { + "default": "", + "description": "A short description.", + "type": "string" + }, + "timeRestore": { + "default": false, + "description": "Whether to restore time upon viewing this dashboard", + "type": "boolean" + }, + "title": { + "description": "A human-readable title for the dashboard", + "type": "string" + } + }, + "required": [ + "title" + ], + "type": "object" + }, + "createdAt": { + "type": "string" + }, + "createdBy": { + "type": "string" + }, + "error": { + "additionalProperties": false, + "properties": { + "error": { + "type": "string" + }, + "message": { + "type": "string" + }, + "metadata": { + "additionalProperties": true, + "properties": {}, + "type": "object" + }, + "statusCode": { + "type": "number" + } + }, + "required": [ + "error", + "message", + "statusCode" + ], + "type": "object" + }, + "id": { + "type": "string" + }, + "managed": { + "type": "boolean" + }, + "namespaces": { + "items": { + "type": "string" + }, + "type": "array" + }, + "originId": { + "type": "string" + }, + "references": { + "items": { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "name", + "type", + "id" + ], + "type": "object" + }, + "type": "array" + }, + "type": { + "type": "string" + }, + "updatedAt": { + "type": "string" + }, + "updatedBy": { + "type": "string" + }, + "version": { + "type": "string" + } + }, + "required": [ + "id", + "type", + "attributes", + "references" + ], + "type": "object" + }, + "type": "array" + }, + "total": { + "type": "number" + } + }, + "required": [ + "items", + "total" + ], + "type": "object" + } + } + } + } + }, + "summary": "Get a list of dashboards", + "tags": [ + "Dashboards" + ], + "x-state": "Technical Preview" + } + }, + "/api/dashboards/dashboard/{id}": { + "delete": { + "description": "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.", + "operationId": "delete-dashboards-dashboard-id", + "parameters": [ + { + "description": "The version of the API to use", + "in": "header", + "name": "elastic-api-version", + "schema": { + "default": "2023-10-31", + "enum": [ + "2023-10-31" + ], + "type": "string" + } + }, + { + "description": "A required header to protect against CSRF attacks", + "in": "header", + "name": "kbn-xsrf", + "required": true, + "schema": { + "example": "true", + "type": "string" + } + }, + { + "description": "A unique identifier for the dashboard.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": {}, + "summary": "Delete a dashboard", + "tags": [ + "Dashboards" + ], + "x-state": "Technical Preview" + }, + "get": { + "description": "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.", + "operationId": "get-dashboards-dashboard-id", + "parameters": [ + { + "description": "The version of the API to use", + "in": "header", + "name": "elastic-api-version", + "schema": { + "default": "2023-10-31", + "enum": [ + "2023-10-31" + ], + "type": "string" + } + }, + { + "description": "A unique identifier for the dashboard.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json; Elastic-Api-Version=2023-10-31": { + "schema": { + "additionalProperties": false, + "properties": { + "item": { + "additionalProperties": true, + "properties": { + "attributes": { + "additionalProperties": false, + "properties": { + "controlGroupInput": { + "additionalProperties": false, + "properties": { + "autoApplySelections": { + "default": true, + "description": "Show apply selections button in controls.", + "type": "boolean" + }, + "chainingSystem": { + "default": "HIERARCHICAL", + "description": "The chaining strategy for multiple controls. For example, \"HIERARCHICAL\" or \"NONE\".", + "enum": [ + "NONE", + "HIERARCHICAL" + ], + "type": "string" + }, + "controls": { + "default": [], + "description": "An array of control panels and their state in the control group.", + "items": { + "additionalProperties": true, + "properties": { + "controlConfig": { + "additionalProperties": {}, + "type": "object" + }, + "grow": { + "default": false, + "description": "Expand width of the control panel to fit available space.", + "type": "boolean" + }, + "id": { + "description": "The unique ID of the control.", + "type": "string" + }, + "order": { + "description": "The order of the control panel in the control group.", + "type": "number" + }, + "type": { + "description": "The type of the control panel.", + "type": "string" + }, + "width": { + "default": "medium", + "description": "Minimum width of the control panel in the control group.", + "enum": [ + "small", + "medium", + "large" + ], + "type": "string" + } + }, + "required": [ + "type", + "order" + ], + "type": "object" + }, + "type": "array" + }, + "enhancements": { + "additionalProperties": {}, + "type": "object" + }, + "ignoreParentSettings": { + "additionalProperties": false, + "properties": { + "ignoreFilters": { + "default": false, + "description": "Ignore global filters in controls.", + "type": "boolean" + }, + "ignoreQuery": { + "default": false, + "description": "Ignore the global query bar in controls.", + "type": "boolean" + }, + "ignoreTimerange": { + "default": false, + "description": "Ignore the global time range in controls.", + "type": "boolean" + }, + "ignoreValidations": { + "default": false, + "description": "Ignore validations in controls.", + "type": "boolean" + } + }, + "type": "object" + }, + "labelPosition": { + "default": "oneLine", + "description": "Position of the labels for controls. For example, \"oneLine\", \"twoLine\".", + "enum": [ + "oneLine", + "twoLine" + ], + "type": "string" + } + }, + "required": [ + "ignoreParentSettings" + ], + "type": "object" + }, + "description": { + "default": "", + "description": "A short description.", + "type": "string" + }, + "kibanaSavedObjectMeta": { + "additionalProperties": false, + "default": {}, + "description": "A container for various metadata", + "properties": { + "searchSource": { + "additionalProperties": true, + "properties": { + "filter": { + "items": { + "additionalProperties": false, + "description": "A filter for the search source.", + "properties": { + "$state": { + "additionalProperties": false, + "properties": { + "store": { + "description": "Denote whether a filter is specific to an application's context (e.g. 'appState') or whether it should be applied globally (e.g. 'globalState').", + "enum": [ + "appState", + "globalState" + ], + "type": "string" + } + }, + "required": [ + "store" + ], + "type": "object" + }, + "meta": { + "additionalProperties": true, + "properties": { + "alias": { + "nullable": true, + "type": "string" + }, + "controlledBy": { + "type": "string" + }, + "disabled": { + "type": "boolean" + }, + "field": { + "type": "string" + }, + "group": { + "type": "string" + }, + "index": { + "type": "string" + }, + "isMultiIndex": { + "type": "boolean" + }, + "key": { + "type": "string" + }, + "negate": { + "type": "boolean" + }, + "params": {}, + "type": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "required": [ + "params" + ], + "type": "object" + }, + "query": { + "additionalProperties": {}, + "type": "object" + } + }, + "required": [ + "meta" + ], + "type": "object" + }, + "type": "array" + }, + "query": { + "additionalProperties": false, + "properties": { + "language": { + "description": "The query language such as KQL or Lucene.", + "type": "string" + }, + "query": { + "anyOf": [ + { + "description": "A text-based query such as Kibana Query Language (KQL) or Lucene query language.", + "type": "string" + }, + { + "additionalProperties": {}, + "type": "object" + } + ] + } + }, + "required": [ + "query", + "language" + ], + "type": "object" + }, + "sort": { + "items": { + "additionalProperties": { + "anyOf": [ + { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + { + "additionalProperties": false, + "properties": { + "format": { + "type": "string" + }, + "order": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + } + }, + "required": [ + "order" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "numeric_type": { + "enum": [ + "double", + "long", + "date", + "date_nanos" + ], + "type": "string" + }, + "order": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + } + }, + "required": [ + "order" + ], + "type": "object" + } + ] + }, + "type": "object" + }, + "type": "array" + }, + "type": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "options": { + "additionalProperties": false, + "properties": { + "hidePanelTitles": { + "default": false, + "description": "Hide the panel titles in the dashboard.", + "type": "boolean" + }, + "syncColors": { + "default": true, + "description": "Synchronize colors between related panels in the dashboard.", + "type": "boolean" + }, + "syncCursor": { + "default": true, + "description": "Synchronize cursor position between related panels in the dashboard.", + "type": "boolean" + }, + "syncTooltips": { + "default": true, + "description": "Synchronize tooltips between related panels in the dashboard.", + "type": "boolean" + }, + "useMargins": { + "default": true, + "description": "Show margins between panels in the dashboard layout.", + "type": "boolean" + } + }, + "type": "object" + }, + "panels": { + "default": [], + "items": { + "additionalProperties": false, + "properties": { + "gridData": { + "additionalProperties": false, + "properties": { + "h": { + "default": 15, + "description": "The height of the panel in grid units", + "minimum": 1, + "type": "number" + }, + "i": { + "type": "string" + }, + "w": { + "default": 24, + "description": "The width of the panel in grid units", + "maximum": 48, + "minimum": 1, + "type": "number" + }, + "x": { + "description": "The x coordinate of the panel in grid units", + "type": "number" + }, + "y": { + "description": "The y coordinate of the panel in grid units", + "type": "number" + } + }, + "required": [ + "x", + "y", + "i" + ], + "type": "object" + }, + "id": { + "description": "The saved object id for by reference panels", + "type": "string" + }, + "panelConfig": { + "additionalProperties": true, + "properties": { + "description": { + "description": "The description of the panel", + "type": "string" + }, + "enhancements": { + "additionalProperties": {}, + "type": "object" + }, + "hidePanelTitles": { + "description": "Set to true to hide the panel title in its container.", + "type": "boolean" + }, + "savedObjectId": { + "description": "The unique id of the library item to construct the embeddable.", + "type": "string" + }, + "title": { + "description": "The title of the panel", + "type": "string" + }, + "version": { + "description": "The version of the embeddable in the panel.", + "type": "string" + } + }, + "type": "object" + }, + "panelIndex": { + "type": "string" + }, + "panelRefName": { + "type": "string" + }, + "title": { + "description": "The title of the panel", + "type": "string" + }, + "type": { + "description": "The embeddable type", + "type": "string" + }, + "version": { + "deprecated": true, + "description": "The version was used to store Kibana version information from versions 7.3.0 -> 8.11.0. As of version 8.11.0, the versioning information is now per-embeddable-type and is stored on the embeddable's input. (panelConfig in this type).", + "type": "string" + } + }, + "required": [ + "panelConfig", + "type", + "gridData", + "panelIndex" + ], + "type": "object" + }, + "type": "array" + }, + "refreshInterval": { + "additionalProperties": false, + "description": "A container for various refresh interval settings", + "properties": { + "display": { + "deprecated": true, + "description": "A human-readable string indicating the refresh frequency. No longer used.", + "type": "string" + }, + "pause": { + "description": "Whether the refresh interval is set to be paused while viewing the dashboard.", + "type": "boolean" + }, + "section": { + "deprecated": true, + "description": "No longer used.", + "type": "number" + }, + "value": { + "description": "A numeric value indicating refresh frequency in milliseconds.", + "type": "number" + } + }, + "required": [ + "pause", + "value" + ], + "type": "object" + }, + "timeFrom": { + "description": "An ISO string indicating when to restore time from", + "type": "string" + }, + "timeRestore": { + "default": false, + "description": "Whether to restore time upon viewing this dashboard", + "type": "boolean" + }, + "timeTo": { + "description": "An ISO string indicating when to restore time from", + "type": "string" + }, + "title": { + "description": "A human-readable title for the dashboard", + "type": "string" + }, + "version": { + "deprecated": true, + "type": "number" + } + }, + "required": [ + "title", + "options" + ], + "type": "object" + }, + "createdAt": { + "type": "string" + }, + "createdBy": { + "type": "string" + }, + "error": { + "additionalProperties": false, + "properties": { + "error": { + "type": "string" + }, + "message": { + "type": "string" + }, + "metadata": { + "additionalProperties": true, + "properties": {}, + "type": "object" + }, + "statusCode": { + "type": "number" + } + }, + "required": [ + "error", + "message", + "statusCode" + ], + "type": "object" + }, + "id": { + "type": "string" + }, + "managed": { + "type": "boolean" + }, + "namespaces": { + "items": { + "type": "string" + }, + "type": "array" + }, + "originId": { + "type": "string" + }, + "references": { + "items": { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "name", + "type", + "id" + ], + "type": "object" + }, + "type": "array" + }, + "type": { + "type": "string" + }, + "updatedAt": { + "type": "string" + }, + "updatedBy": { + "type": "string" + }, + "version": { + "type": "string" + } + }, + "required": [ + "id", + "type", + "attributes", + "references" + ], + "type": "object" + }, + "meta": { + "additionalProperties": false, + "properties": { + "aliasPurpose": { + "enum": [ + "savedObjectConversion", + "savedObjectImport" + ], + "type": "string" + }, + "aliasTargetId": { + "type": "string" + }, + "outcome": { + "enum": [ + "exactMatch", + "aliasMatch", + "conflict" + ], + "type": "string" + } + }, + "required": [ + "outcome" + ], + "type": "object" + } + }, + "required": [ + "item", + "meta" + ], + "type": "object" + } + } + } + } + }, + "summary": "Get a dashboard", + "tags": [ + "Dashboards" + ], + "x-state": "Technical Preview" + }, + "post": { + "description": "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.", + "operationId": "post-dashboards-dashboard-id", + "parameters": [ + { + "description": "The version of the API to use", + "in": "header", + "name": "elastic-api-version", + "schema": { + "default": "2023-10-31", + "enum": [ + "2023-10-31" + ], + "type": "string" + } + }, + { + "description": "A required header to protect against CSRF attacks", + "in": "header", + "name": "kbn-xsrf", + "required": true, + "schema": { + "example": "true", + "type": "string" + } + }, + { + "description": "A unique identifier for the dashboard.", + "in": "path", + "name": "id", + "required": false, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json; Elastic-Api-Version=2023-10-31": { + "schema": { + "additionalProperties": false, + "properties": { + "attributes": { + "additionalProperties": false, + "properties": { + "controlGroupInput": { + "additionalProperties": false, + "properties": { + "autoApplySelections": { + "default": true, + "description": "Show apply selections button in controls.", + "type": "boolean" + }, + "chainingSystem": { + "default": "HIERARCHICAL", + "description": "The chaining strategy for multiple controls. For example, \"HIERARCHICAL\" or \"NONE\".", + "enum": [ + "NONE", + "HIERARCHICAL" + ], + "type": "string" + }, + "controls": { + "default": [], + "description": "An array of control panels and their state in the control group.", + "items": { + "additionalProperties": true, + "properties": { + "controlConfig": { + "additionalProperties": {}, + "type": "object" + }, + "grow": { + "default": false, + "description": "Expand width of the control panel to fit available space.", + "type": "boolean" + }, + "id": { + "description": "The unique ID of the control.", + "type": "string" + }, + "order": { + "description": "The order of the control panel in the control group.", + "type": "number" + }, + "type": { + "description": "The type of the control panel.", + "type": "string" + }, + "width": { + "default": "medium", + "description": "Minimum width of the control panel in the control group.", + "enum": [ + "small", + "medium", + "large" + ], + "type": "string" + } + }, + "required": [ + "type", + "order" + ], + "type": "object" + }, + "type": "array" + }, + "enhancements": { + "additionalProperties": {}, + "type": "object" + }, + "ignoreParentSettings": { + "additionalProperties": false, + "properties": { + "ignoreFilters": { + "default": false, + "description": "Ignore global filters in controls.", + "type": "boolean" + }, + "ignoreQuery": { + "default": false, + "description": "Ignore the global query bar in controls.", + "type": "boolean" + }, + "ignoreTimerange": { + "default": false, + "description": "Ignore the global time range in controls.", + "type": "boolean" + }, + "ignoreValidations": { + "default": false, + "description": "Ignore validations in controls.", + "type": "boolean" + } + }, + "type": "object" + }, + "labelPosition": { + "default": "oneLine", + "description": "Position of the labels for controls. For example, \"oneLine\", \"twoLine\".", + "enum": [ + "oneLine", + "twoLine" + ], + "type": "string" + } + }, + "required": [ + "ignoreParentSettings" + ], + "type": "object" + }, + "description": { + "default": "", + "description": "A short description.", + "type": "string" + }, + "kibanaSavedObjectMeta": { + "additionalProperties": false, + "default": {}, + "description": "A container for various metadata", + "properties": { + "searchSource": { + "additionalProperties": true, + "properties": { + "filter": { + "items": { + "additionalProperties": false, + "description": "A filter for the search source.", + "properties": { + "$state": { + "additionalProperties": false, + "properties": { + "store": { + "description": "Denote whether a filter is specific to an application's context (e.g. 'appState') or whether it should be applied globally (e.g. 'globalState').", + "enum": [ + "appState", + "globalState" + ], + "type": "string" + } + }, + "required": [ + "store" + ], + "type": "object" + }, + "meta": { + "additionalProperties": true, + "properties": { + "alias": { + "nullable": true, + "type": "string" + }, + "controlledBy": { + "type": "string" + }, + "disabled": { + "type": "boolean" + }, + "field": { + "type": "string" + }, + "group": { + "type": "string" + }, + "index": { + "type": "string" + }, + "isMultiIndex": { + "type": "boolean" + }, + "key": { + "type": "string" + }, + "negate": { + "type": "boolean" + }, + "params": {}, + "type": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "required": [ + "params" + ], + "type": "object" + }, + "query": { + "additionalProperties": {}, + "type": "object" + } + }, + "required": [ + "meta" + ], + "type": "object" + }, + "type": "array" + }, + "query": { + "additionalProperties": false, + "properties": { + "language": { + "description": "The query language such as KQL or Lucene.", + "type": "string" + }, + "query": { + "anyOf": [ + { + "description": "A text-based query such as Kibana Query Language (KQL) or Lucene query language.", + "type": "string" + }, + { + "additionalProperties": {}, + "type": "object" + } + ] + } + }, + "required": [ + "query", + "language" + ], + "type": "object" + }, + "sort": { + "items": { + "additionalProperties": { + "anyOf": [ + { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + { + "additionalProperties": false, + "properties": { + "format": { + "type": "string" + }, + "order": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + } + }, + "required": [ + "order" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "numeric_type": { + "enum": [ + "double", + "long", + "date", + "date_nanos" + ], + "type": "string" + }, + "order": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + } + }, + "required": [ + "order" + ], + "type": "object" + } + ] + }, + "type": "object" + }, + "type": "array" + }, + "type": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "options": { + "additionalProperties": false, + "properties": { + "hidePanelTitles": { + "default": false, + "description": "Hide the panel titles in the dashboard.", + "type": "boolean" + }, + "syncColors": { + "default": true, + "description": "Synchronize colors between related panels in the dashboard.", + "type": "boolean" + }, + "syncCursor": { + "default": true, + "description": "Synchronize cursor position between related panels in the dashboard.", + "type": "boolean" + }, + "syncTooltips": { + "default": true, + "description": "Synchronize tooltips between related panels in the dashboard.", + "type": "boolean" + }, + "useMargins": { + "default": true, + "description": "Show margins between panels in the dashboard layout.", + "type": "boolean" + } + }, + "type": "object" + }, + "panels": { + "default": [], + "items": { + "additionalProperties": false, + "properties": { + "gridData": { + "additionalProperties": false, + "properties": { + "h": { + "default": 15, + "description": "The height of the panel in grid units", + "minimum": 1, + "type": "number" + }, + "i": { + "description": "The unique identifier of the panel", + "type": "string" + }, + "w": { + "default": 24, + "description": "The width of the panel in grid units", + "maximum": 48, + "minimum": 1, + "type": "number" + }, + "x": { + "description": "The x coordinate of the panel in grid units", + "type": "number" + }, + "y": { + "description": "The y coordinate of the panel in grid units", + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "type": "object" + }, + "id": { + "description": "The saved object id for by reference panels", + "type": "string" + }, + "panelConfig": { + "additionalProperties": true, + "properties": { + "description": { + "description": "The description of the panel", + "type": "string" + }, + "enhancements": { + "additionalProperties": {}, + "type": "object" + }, + "hidePanelTitles": { + "description": "Set to true to hide the panel title in its container.", + "type": "boolean" + }, + "savedObjectId": { + "description": "The unique id of the library item to construct the embeddable.", + "type": "string" + }, + "title": { + "description": "The title of the panel", + "type": "string" + }, + "version": { + "description": "The version of the embeddable in the panel.", + "type": "string" + } + }, + "type": "object" + }, + "panelIndex": { + "description": "The unique ID of the panel.", + "type": "string" + }, + "panelRefName": { + "type": "string" + }, + "title": { + "description": "The title of the panel", + "type": "string" + }, + "type": { + "description": "The embeddable type", + "type": "string" + }, + "version": { + "deprecated": true, + "description": "The version was used to store Kibana version information from versions 7.3.0 -> 8.11.0. As of version 8.11.0, the versioning information is now per-embeddable-type and is stored on the embeddable's input. (panelConfig in this type).", + "type": "string" + } + }, + "required": [ + "panelConfig", + "type", + "gridData" + ], + "type": "object" + }, + "type": "array" + }, + "refreshInterval": { + "additionalProperties": false, + "description": "A container for various refresh interval settings", + "properties": { + "display": { + "deprecated": true, + "description": "A human-readable string indicating the refresh frequency. No longer used.", + "type": "string" + }, + "pause": { + "description": "Whether the refresh interval is set to be paused while viewing the dashboard.", + "type": "boolean" + }, + "section": { + "deprecated": true, + "description": "No longer used.", + "type": "number" + }, + "value": { + "description": "A numeric value indicating refresh frequency in milliseconds.", + "type": "number" + } + }, + "required": [ + "pause", + "value" + ], + "type": "object" + }, + "timeFrom": { + "description": "An ISO string indicating when to restore time from", + "type": "string" + }, + "timeRestore": { + "default": false, + "description": "Whether to restore time upon viewing this dashboard", + "type": "boolean" + }, + "timeTo": { + "description": "An ISO string indicating when to restore time from", + "type": "string" + }, + "title": { + "description": "A human-readable title for the dashboard", + "type": "string" + }, + "version": { + "deprecated": true, + "type": "number" + } + }, + "required": [ + "title", + "options" + ], + "type": "object" + }, + "references": { + "items": { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "name", + "type", + "id" + ], + "type": "object" + }, + "type": "array" + }, + "spaces": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "attributes" + ], + "type": "object" + } + } + } + }, + "responses": { + "200": { + "content": { + "application/json; Elastic-Api-Version=2023-10-31": { + "schema": { + "additionalProperties": false, + "properties": { + "item": { + "additionalProperties": true, + "properties": { + "attributes": { + "additionalProperties": false, + "properties": { + "controlGroupInput": { + "additionalProperties": false, + "properties": { + "autoApplySelections": { + "default": true, + "description": "Show apply selections button in controls.", + "type": "boolean" + }, + "chainingSystem": { + "default": "HIERARCHICAL", + "description": "The chaining strategy for multiple controls. For example, \"HIERARCHICAL\" or \"NONE\".", + "enum": [ + "NONE", + "HIERARCHICAL" + ], + "type": "string" + }, + "controls": { + "default": [], + "description": "An array of control panels and their state in the control group.", + "items": { + "additionalProperties": true, + "properties": { + "controlConfig": { + "additionalProperties": {}, + "type": "object" + }, + "grow": { + "default": false, + "description": "Expand width of the control panel to fit available space.", + "type": "boolean" + }, + "id": { + "description": "The unique ID of the control.", + "type": "string" + }, + "order": { + "description": "The order of the control panel in the control group.", + "type": "number" + }, + "type": { + "description": "The type of the control panel.", + "type": "string" + }, + "width": { + "default": "medium", + "description": "Minimum width of the control panel in the control group.", + "enum": [ + "small", + "medium", + "large" + ], + "type": "string" + } + }, + "required": [ + "type", + "order" + ], + "type": "object" + }, + "type": "array" + }, + "enhancements": { + "additionalProperties": {}, + "type": "object" + }, + "ignoreParentSettings": { + "additionalProperties": false, + "properties": { + "ignoreFilters": { + "default": false, + "description": "Ignore global filters in controls.", + "type": "boolean" + }, + "ignoreQuery": { + "default": false, + "description": "Ignore the global query bar in controls.", + "type": "boolean" + }, + "ignoreTimerange": { + "default": false, + "description": "Ignore the global time range in controls.", + "type": "boolean" + }, + "ignoreValidations": { + "default": false, + "description": "Ignore validations in controls.", + "type": "boolean" + } + }, + "type": "object" + }, + "labelPosition": { + "default": "oneLine", + "description": "Position of the labels for controls. For example, \"oneLine\", \"twoLine\".", + "enum": [ + "oneLine", + "twoLine" + ], + "type": "string" + } + }, + "required": [ + "ignoreParentSettings" + ], + "type": "object" + }, + "description": { + "default": "", + "description": "A short description.", + "type": "string" + }, + "kibanaSavedObjectMeta": { + "additionalProperties": false, + "default": {}, + "description": "A container for various metadata", + "properties": { + "searchSource": { + "additionalProperties": true, + "properties": { + "filter": { + "items": { + "additionalProperties": false, + "description": "A filter for the search source.", + "properties": { + "$state": { + "additionalProperties": false, + "properties": { + "store": { + "description": "Denote whether a filter is specific to an application's context (e.g. 'appState') or whether it should be applied globally (e.g. 'globalState').", + "enum": [ + "appState", + "globalState" + ], + "type": "string" + } + }, + "required": [ + "store" + ], + "type": "object" + }, + "meta": { + "additionalProperties": true, + "properties": { + "alias": { + "nullable": true, + "type": "string" + }, + "controlledBy": { + "type": "string" + }, + "disabled": { + "type": "boolean" + }, + "field": { + "type": "string" + }, + "group": { + "type": "string" + }, + "index": { + "type": "string" + }, + "isMultiIndex": { + "type": "boolean" + }, + "key": { + "type": "string" + }, + "negate": { + "type": "boolean" + }, + "params": {}, + "type": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "required": [ + "params" + ], + "type": "object" + }, + "query": { + "additionalProperties": {}, + "type": "object" + } + }, + "required": [ + "meta" + ], + "type": "object" + }, + "type": "array" + }, + "query": { + "additionalProperties": false, + "properties": { + "language": { + "description": "The query language such as KQL or Lucene.", + "type": "string" + }, + "query": { + "anyOf": [ + { + "description": "A text-based query such as Kibana Query Language (KQL) or Lucene query language.", + "type": "string" + }, + { + "additionalProperties": {}, + "type": "object" + } + ] + } + }, + "required": [ + "query", + "language" + ], + "type": "object" + }, + "sort": { + "items": { + "additionalProperties": { + "anyOf": [ + { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + { + "additionalProperties": false, + "properties": { + "format": { + "type": "string" + }, + "order": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + } + }, + "required": [ + "order" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "numeric_type": { + "enum": [ + "double", + "long", + "date", + "date_nanos" + ], + "type": "string" + }, + "order": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + } + }, + "required": [ + "order" + ], + "type": "object" + } + ] + }, + "type": "object" + }, + "type": "array" + }, + "type": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "options": { + "additionalProperties": false, + "properties": { + "hidePanelTitles": { + "default": false, + "description": "Hide the panel titles in the dashboard.", + "type": "boolean" + }, + "syncColors": { + "default": true, + "description": "Synchronize colors between related panels in the dashboard.", + "type": "boolean" + }, + "syncCursor": { + "default": true, + "description": "Synchronize cursor position between related panels in the dashboard.", + "type": "boolean" + }, + "syncTooltips": { + "default": true, + "description": "Synchronize tooltips between related panels in the dashboard.", + "type": "boolean" + }, + "useMargins": { + "default": true, + "description": "Show margins between panels in the dashboard layout.", + "type": "boolean" + } + }, + "type": "object" + }, + "panels": { + "default": [], + "items": { + "additionalProperties": false, + "properties": { + "gridData": { + "additionalProperties": false, + "properties": { + "h": { + "default": 15, + "description": "The height of the panel in grid units", + "minimum": 1, + "type": "number" + }, + "i": { + "type": "string" + }, + "w": { + "default": 24, + "description": "The width of the panel in grid units", + "maximum": 48, + "minimum": 1, + "type": "number" + }, + "x": { + "description": "The x coordinate of the panel in grid units", + "type": "number" + }, + "y": { + "description": "The y coordinate of the panel in grid units", + "type": "number" + } + }, + "required": [ + "x", + "y", + "i" + ], + "type": "object" + }, + "id": { + "description": "The saved object id for by reference panels", + "type": "string" + }, + "panelConfig": { + "additionalProperties": true, + "properties": { + "description": { + "description": "The description of the panel", + "type": "string" + }, + "enhancements": { + "additionalProperties": {}, + "type": "object" + }, + "hidePanelTitles": { + "description": "Set to true to hide the panel title in its container.", + "type": "boolean" + }, + "savedObjectId": { + "description": "The unique id of the library item to construct the embeddable.", + "type": "string" + }, + "title": { + "description": "The title of the panel", + "type": "string" + }, + "version": { + "description": "The version of the embeddable in the panel.", + "type": "string" + } + }, + "type": "object" + }, + "panelIndex": { + "type": "string" + }, + "panelRefName": { + "type": "string" + }, + "title": { + "description": "The title of the panel", + "type": "string" + }, + "type": { + "description": "The embeddable type", + "type": "string" + }, + "version": { + "deprecated": true, + "description": "The version was used to store Kibana version information from versions 7.3.0 -> 8.11.0. As of version 8.11.0, the versioning information is now per-embeddable-type and is stored on the embeddable's input. (panelConfig in this type).", + "type": "string" + } + }, + "required": [ + "panelConfig", + "type", + "gridData", + "panelIndex" + ], + "type": "object" + }, + "type": "array" + }, + "refreshInterval": { + "additionalProperties": false, + "description": "A container for various refresh interval settings", + "properties": { + "display": { + "deprecated": true, + "description": "A human-readable string indicating the refresh frequency. No longer used.", + "type": "string" + }, + "pause": { + "description": "Whether the refresh interval is set to be paused while viewing the dashboard.", + "type": "boolean" + }, + "section": { + "deprecated": true, + "description": "No longer used.", + "type": "number" + }, + "value": { + "description": "A numeric value indicating refresh frequency in milliseconds.", + "type": "number" + } + }, + "required": [ + "pause", + "value" + ], + "type": "object" + }, + "timeFrom": { + "description": "An ISO string indicating when to restore time from", + "type": "string" + }, + "timeRestore": { + "default": false, + "description": "Whether to restore time upon viewing this dashboard", + "type": "boolean" + }, + "timeTo": { + "description": "An ISO string indicating when to restore time from", + "type": "string" + }, + "title": { + "description": "A human-readable title for the dashboard", + "type": "string" + }, + "version": { + "deprecated": true, + "type": "number" + } + }, + "required": [ + "title", + "options" + ], + "type": "object" + }, + "createdAt": { + "type": "string" + }, + "createdBy": { + "type": "string" + }, + "error": { + "additionalProperties": false, + "properties": { + "error": { + "type": "string" + }, + "message": { + "type": "string" + }, + "metadata": { + "additionalProperties": true, + "properties": {}, + "type": "object" + }, + "statusCode": { + "type": "number" + } + }, + "required": [ + "error", + "message", + "statusCode" + ], + "type": "object" + }, + "id": { + "type": "string" + }, + "managed": { + "type": "boolean" + }, + "namespaces": { + "items": { + "type": "string" + }, + "type": "array" + }, + "originId": { + "type": "string" + }, + "references": { + "items": { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "name", + "type", + "id" + ], + "type": "object" + }, + "type": "array" + }, + "type": { + "type": "string" + }, + "updatedAt": { + "type": "string" + }, + "updatedBy": { + "type": "string" + }, + "version": { + "type": "string" + } + }, + "required": [ + "id", + "type", + "attributes", + "references" + ], + "type": "object" + } + }, + "required": [ + "item" + ], + "type": "object" + } + } + } + } + }, + "summary": "Create a dashboard", + "tags": [ + "Dashboards" + ], + "x-state": "Technical Preview" + }, + "put": { + "description": "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.", + "operationId": "put-dashboards-dashboard-id", + "parameters": [ + { + "description": "The version of the API to use", + "in": "header", + "name": "elastic-api-version", + "schema": { + "default": "2023-10-31", + "enum": [ + "2023-10-31" + ], + "type": "string" + } + }, + { + "description": "A required header to protect against CSRF attacks", + "in": "header", + "name": "kbn-xsrf", + "required": true, + "schema": { + "example": "true", + "type": "string" + } + }, + { + "description": "A unique identifier for the dashboard.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json; Elastic-Api-Version=2023-10-31": { + "schema": { + "additionalProperties": false, + "properties": { + "attributes": { + "additionalProperties": false, + "properties": { + "controlGroupInput": { + "additionalProperties": false, + "properties": { + "autoApplySelections": { + "default": true, + "description": "Show apply selections button in controls.", + "type": "boolean" + }, + "chainingSystem": { + "default": "HIERARCHICAL", + "description": "The chaining strategy for multiple controls. For example, \"HIERARCHICAL\" or \"NONE\".", + "enum": [ + "NONE", + "HIERARCHICAL" + ], + "type": "string" + }, + "controls": { + "default": [], + "description": "An array of control panels and their state in the control group.", + "items": { + "additionalProperties": true, + "properties": { + "controlConfig": { + "additionalProperties": {}, + "type": "object" + }, + "grow": { + "default": false, + "description": "Expand width of the control panel to fit available space.", + "type": "boolean" + }, + "id": { + "description": "The unique ID of the control.", + "type": "string" + }, + "order": { + "description": "The order of the control panel in the control group.", + "type": "number" + }, + "type": { + "description": "The type of the control panel.", + "type": "string" + }, + "width": { + "default": "medium", + "description": "Minimum width of the control panel in the control group.", + "enum": [ + "small", + "medium", + "large" + ], + "type": "string" + } + }, + "required": [ + "type", + "order" + ], + "type": "object" + }, + "type": "array" + }, + "enhancements": { + "additionalProperties": {}, + "type": "object" + }, + "ignoreParentSettings": { + "additionalProperties": false, + "properties": { + "ignoreFilters": { + "default": false, + "description": "Ignore global filters in controls.", + "type": "boolean" + }, + "ignoreQuery": { + "default": false, + "description": "Ignore the global query bar in controls.", + "type": "boolean" + }, + "ignoreTimerange": { + "default": false, + "description": "Ignore the global time range in controls.", + "type": "boolean" + }, + "ignoreValidations": { + "default": false, + "description": "Ignore validations in controls.", + "type": "boolean" + } + }, + "type": "object" + }, + "labelPosition": { + "default": "oneLine", + "description": "Position of the labels for controls. For example, \"oneLine\", \"twoLine\".", + "enum": [ + "oneLine", + "twoLine" + ], + "type": "string" + } + }, + "required": [ + "ignoreParentSettings" + ], + "type": "object" + }, + "description": { + "default": "", + "description": "A short description.", + "type": "string" + }, + "kibanaSavedObjectMeta": { + "additionalProperties": false, + "default": {}, + "description": "A container for various metadata", + "properties": { + "searchSource": { + "additionalProperties": true, + "properties": { + "filter": { + "items": { + "additionalProperties": false, + "description": "A filter for the search source.", + "properties": { + "$state": { + "additionalProperties": false, + "properties": { + "store": { + "description": "Denote whether a filter is specific to an application's context (e.g. 'appState') or whether it should be applied globally (e.g. 'globalState').", + "enum": [ + "appState", + "globalState" + ], + "type": "string" + } + }, + "required": [ + "store" + ], + "type": "object" + }, + "meta": { + "additionalProperties": true, + "properties": { + "alias": { + "nullable": true, + "type": "string" + }, + "controlledBy": { + "type": "string" + }, + "disabled": { + "type": "boolean" + }, + "field": { + "type": "string" + }, + "group": { + "type": "string" + }, + "index": { + "type": "string" + }, + "isMultiIndex": { + "type": "boolean" + }, + "key": { + "type": "string" + }, + "negate": { + "type": "boolean" + }, + "params": {}, + "type": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "required": [ + "params" + ], + "type": "object" + }, + "query": { + "additionalProperties": {}, + "type": "object" + } + }, + "required": [ + "meta" + ], + "type": "object" + }, + "type": "array" + }, + "query": { + "additionalProperties": false, + "properties": { + "language": { + "description": "The query language such as KQL or Lucene.", + "type": "string" + }, + "query": { + "anyOf": [ + { + "description": "A text-based query such as Kibana Query Language (KQL) or Lucene query language.", + "type": "string" + }, + { + "additionalProperties": {}, + "type": "object" + } + ] + } + }, + "required": [ + "query", + "language" + ], + "type": "object" + }, + "sort": { + "items": { + "additionalProperties": { + "anyOf": [ + { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + { + "additionalProperties": false, + "properties": { + "format": { + "type": "string" + }, + "order": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + } + }, + "required": [ + "order" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "numeric_type": { + "enum": [ + "double", + "long", + "date", + "date_nanos" + ], + "type": "string" + }, + "order": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + } + }, + "required": [ + "order" + ], + "type": "object" + } + ] + }, + "type": "object" + }, + "type": "array" + }, + "type": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "options": { + "additionalProperties": false, + "properties": { + "hidePanelTitles": { + "default": false, + "description": "Hide the panel titles in the dashboard.", + "type": "boolean" + }, + "syncColors": { + "default": true, + "description": "Synchronize colors between related panels in the dashboard.", + "type": "boolean" + }, + "syncCursor": { + "default": true, + "description": "Synchronize cursor position between related panels in the dashboard.", + "type": "boolean" + }, + "syncTooltips": { + "default": true, + "description": "Synchronize tooltips between related panels in the dashboard.", + "type": "boolean" + }, + "useMargins": { + "default": true, + "description": "Show margins between panels in the dashboard layout.", + "type": "boolean" + } + }, + "type": "object" + }, + "panels": { + "default": [], + "items": { + "additionalProperties": false, + "properties": { + "gridData": { + "additionalProperties": false, + "properties": { + "h": { + "default": 15, + "description": "The height of the panel in grid units", + "minimum": 1, + "type": "number" + }, + "i": { + "description": "The unique identifier of the panel", + "type": "string" + }, + "w": { + "default": 24, + "description": "The width of the panel in grid units", + "maximum": 48, + "minimum": 1, + "type": "number" + }, + "x": { + "description": "The x coordinate of the panel in grid units", + "type": "number" + }, + "y": { + "description": "The y coordinate of the panel in grid units", + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "type": "object" + }, + "id": { + "description": "The saved object id for by reference panels", + "type": "string" + }, + "panelConfig": { + "additionalProperties": true, + "properties": { + "description": { + "description": "The description of the panel", + "type": "string" + }, + "enhancements": { + "additionalProperties": {}, + "type": "object" + }, + "hidePanelTitles": { + "description": "Set to true to hide the panel title in its container.", + "type": "boolean" + }, + "savedObjectId": { + "description": "The unique id of the library item to construct the embeddable.", + "type": "string" + }, + "title": { + "description": "The title of the panel", + "type": "string" + }, + "version": { + "description": "The version of the embeddable in the panel.", + "type": "string" + } + }, + "type": "object" + }, + "panelIndex": { + "description": "The unique ID of the panel.", + "type": "string" + }, + "panelRefName": { + "type": "string" + }, + "title": { + "description": "The title of the panel", + "type": "string" + }, + "type": { + "description": "The embeddable type", + "type": "string" + }, + "version": { + "deprecated": true, + "description": "The version was used to store Kibana version information from versions 7.3.0 -> 8.11.0. As of version 8.11.0, the versioning information is now per-embeddable-type and is stored on the embeddable's input. (panelConfig in this type).", + "type": "string" + } + }, + "required": [ + "panelConfig", + "type", + "gridData" + ], + "type": "object" + }, + "type": "array" + }, + "refreshInterval": { + "additionalProperties": false, + "description": "A container for various refresh interval settings", + "properties": { + "display": { + "deprecated": true, + "description": "A human-readable string indicating the refresh frequency. No longer used.", + "type": "string" + }, + "pause": { + "description": "Whether the refresh interval is set to be paused while viewing the dashboard.", + "type": "boolean" + }, + "section": { + "deprecated": true, + "description": "No longer used.", + "type": "number" + }, + "value": { + "description": "A numeric value indicating refresh frequency in milliseconds.", + "type": "number" + } + }, + "required": [ + "pause", + "value" + ], + "type": "object" + }, + "timeFrom": { + "description": "An ISO string indicating when to restore time from", + "type": "string" + }, + "timeRestore": { + "default": false, + "description": "Whether to restore time upon viewing this dashboard", + "type": "boolean" + }, + "timeTo": { + "description": "An ISO string indicating when to restore time from", + "type": "string" + }, + "title": { + "description": "A human-readable title for the dashboard", + "type": "string" + }, + "version": { + "deprecated": true, + "type": "number" + } + }, + "required": [ + "title", + "options" + ], + "type": "object" + }, + "references": { + "items": { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "name", + "type", + "id" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "attributes" + ], + "type": "object" + } + } + } + }, + "responses": { + "200": { + "content": { + "application/json; Elastic-Api-Version=2023-10-31": { + "schema": { + "additionalProperties": false, + "properties": { + "item": { + "additionalProperties": true, + "properties": { + "attributes": { + "additionalProperties": false, + "properties": { + "controlGroupInput": { + "additionalProperties": false, + "properties": { + "autoApplySelections": { + "default": true, + "description": "Show apply selections button in controls.", + "type": "boolean" + }, + "chainingSystem": { + "default": "HIERARCHICAL", + "description": "The chaining strategy for multiple controls. For example, \"HIERARCHICAL\" or \"NONE\".", + "enum": [ + "NONE", + "HIERARCHICAL" + ], + "type": "string" + }, + "controls": { + "default": [], + "description": "An array of control panels and their state in the control group.", + "items": { + "additionalProperties": true, + "properties": { + "controlConfig": { + "additionalProperties": {}, + "type": "object" + }, + "grow": { + "default": false, + "description": "Expand width of the control panel to fit available space.", + "type": "boolean" + }, + "id": { + "description": "The unique ID of the control.", + "type": "string" + }, + "order": { + "description": "The order of the control panel in the control group.", + "type": "number" + }, + "type": { + "description": "The type of the control panel.", + "type": "string" + }, + "width": { + "default": "medium", + "description": "Minimum width of the control panel in the control group.", + "enum": [ + "small", + "medium", + "large" + ], + "type": "string" + } + }, + "required": [ + "type", + "order" + ], + "type": "object" + }, + "type": "array" + }, + "enhancements": { + "additionalProperties": {}, + "type": "object" + }, + "ignoreParentSettings": { + "additionalProperties": false, + "properties": { + "ignoreFilters": { + "default": false, + "description": "Ignore global filters in controls.", + "type": "boolean" + }, + "ignoreQuery": { + "default": false, + "description": "Ignore the global query bar in controls.", + "type": "boolean" + }, + "ignoreTimerange": { + "default": false, + "description": "Ignore the global time range in controls.", + "type": "boolean" + }, + "ignoreValidations": { + "default": false, + "description": "Ignore validations in controls.", + "type": "boolean" + } + }, + "type": "object" + }, + "labelPosition": { + "default": "oneLine", + "description": "Position of the labels for controls. For example, \"oneLine\", \"twoLine\".", + "enum": [ + "oneLine", + "twoLine" + ], + "type": "string" + } + }, + "required": [ + "ignoreParentSettings" + ], + "type": "object" + }, + "description": { + "default": "", + "description": "A short description.", + "type": "string" + }, + "kibanaSavedObjectMeta": { + "additionalProperties": false, + "default": {}, + "description": "A container for various metadata", + "properties": { + "searchSource": { + "additionalProperties": true, + "properties": { + "filter": { + "items": { + "additionalProperties": false, + "description": "A filter for the search source.", + "properties": { + "$state": { + "additionalProperties": false, + "properties": { + "store": { + "description": "Denote whether a filter is specific to an application's context (e.g. 'appState') or whether it should be applied globally (e.g. 'globalState').", + "enum": [ + "appState", + "globalState" + ], + "type": "string" + } + }, + "required": [ + "store" + ], + "type": "object" + }, + "meta": { + "additionalProperties": true, + "properties": { + "alias": { + "nullable": true, + "type": "string" + }, + "controlledBy": { + "type": "string" + }, + "disabled": { + "type": "boolean" + }, + "field": { + "type": "string" + }, + "group": { + "type": "string" + }, + "index": { + "type": "string" + }, + "isMultiIndex": { + "type": "boolean" + }, + "key": { + "type": "string" + }, + "negate": { + "type": "boolean" + }, + "params": {}, + "type": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "required": [ + "params" + ], + "type": "object" + }, + "query": { + "additionalProperties": {}, + "type": "object" + } + }, + "required": [ + "meta" + ], + "type": "object" + }, + "type": "array" + }, + "query": { + "additionalProperties": false, + "properties": { + "language": { + "description": "The query language such as KQL or Lucene.", + "type": "string" + }, + "query": { + "anyOf": [ + { + "description": "A text-based query such as Kibana Query Language (KQL) or Lucene query language.", + "type": "string" + }, + { + "additionalProperties": {}, + "type": "object" + } + ] + } + }, + "required": [ + "query", + "language" + ], + "type": "object" + }, + "sort": { + "items": { + "additionalProperties": { + "anyOf": [ + { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + { + "additionalProperties": false, + "properties": { + "format": { + "type": "string" + }, + "order": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + } + }, + "required": [ + "order" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "numeric_type": { + "enum": [ + "double", + "long", + "date", + "date_nanos" + ], + "type": "string" + }, + "order": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + } + }, + "required": [ + "order" + ], + "type": "object" + } + ] + }, + "type": "object" + }, + "type": "array" + }, + "type": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "options": { + "additionalProperties": false, + "properties": { + "hidePanelTitles": { + "default": false, + "description": "Hide the panel titles in the dashboard.", + "type": "boolean" + }, + "syncColors": { + "default": true, + "description": "Synchronize colors between related panels in the dashboard.", + "type": "boolean" + }, + "syncCursor": { + "default": true, + "description": "Synchronize cursor position between related panels in the dashboard.", + "type": "boolean" + }, + "syncTooltips": { + "default": true, + "description": "Synchronize tooltips between related panels in the dashboard.", + "type": "boolean" + }, + "useMargins": { + "default": true, + "description": "Show margins between panels in the dashboard layout.", + "type": "boolean" + } + }, + "type": "object" + }, + "panels": { + "default": [], + "items": { + "additionalProperties": false, + "properties": { + "gridData": { + "additionalProperties": false, + "properties": { + "h": { + "default": 15, + "description": "The height of the panel in grid units", + "minimum": 1, + "type": "number" + }, + "i": { + "type": "string" + }, + "w": { + "default": 24, + "description": "The width of the panel in grid units", + "maximum": 48, + "minimum": 1, + "type": "number" + }, + "x": { + "description": "The x coordinate of the panel in grid units", + "type": "number" + }, + "y": { + "description": "The y coordinate of the panel in grid units", + "type": "number" + } + }, + "required": [ + "x", + "y", + "i" + ], + "type": "object" + }, + "id": { + "description": "The saved object id for by reference panels", + "type": "string" + }, + "panelConfig": { + "additionalProperties": true, + "properties": { + "description": { + "description": "The description of the panel", + "type": "string" + }, + "enhancements": { + "additionalProperties": {}, + "type": "object" + }, + "hidePanelTitles": { + "description": "Set to true to hide the panel title in its container.", + "type": "boolean" + }, + "savedObjectId": { + "description": "The unique id of the library item to construct the embeddable.", + "type": "string" + }, + "title": { + "description": "The title of the panel", + "type": "string" + }, + "version": { + "description": "The version of the embeddable in the panel.", + "type": "string" + } + }, + "type": "object" + }, + "panelIndex": { + "type": "string" + }, + "panelRefName": { + "type": "string" + }, + "title": { + "description": "The title of the panel", + "type": "string" + }, + "type": { + "description": "The embeddable type", + "type": "string" + }, + "version": { + "deprecated": true, + "description": "The version was used to store Kibana version information from versions 7.3.0 -> 8.11.0. As of version 8.11.0, the versioning information is now per-embeddable-type and is stored on the embeddable's input. (panelConfig in this type).", + "type": "string" + } + }, + "required": [ + "panelConfig", + "type", + "gridData", + "panelIndex" + ], + "type": "object" + }, + "type": "array" + }, + "refreshInterval": { + "additionalProperties": false, + "description": "A container for various refresh interval settings", + "properties": { + "display": { + "deprecated": true, + "description": "A human-readable string indicating the refresh frequency. No longer used.", + "type": "string" + }, + "pause": { + "description": "Whether the refresh interval is set to be paused while viewing the dashboard.", + "type": "boolean" + }, + "section": { + "deprecated": true, + "description": "No longer used.", + "type": "number" + }, + "value": { + "description": "A numeric value indicating refresh frequency in milliseconds.", + "type": "number" + } + }, + "required": [ + "pause", + "value" + ], + "type": "object" + }, + "timeFrom": { + "description": "An ISO string indicating when to restore time from", + "type": "string" + }, + "timeRestore": { + "default": false, + "description": "Whether to restore time upon viewing this dashboard", + "type": "boolean" + }, + "timeTo": { + "description": "An ISO string indicating when to restore time from", + "type": "string" + }, + "title": { + "description": "A human-readable title for the dashboard", + "type": "string" + }, + "version": { + "deprecated": true, + "type": "number" + } + }, + "required": [ + "title", + "options" + ], + "type": "object" + }, + "createdAt": { + "type": "string" + }, + "createdBy": { + "type": "string" + }, + "error": { + "additionalProperties": false, + "properties": { + "error": { + "type": "string" + }, + "message": { + "type": "string" + }, + "metadata": { + "additionalProperties": true, + "properties": {}, + "type": "object" + }, + "statusCode": { + "type": "number" + } + }, + "required": [ + "error", + "message", + "statusCode" + ], + "type": "object" + }, + "id": { + "type": "string" + }, + "managed": { + "type": "boolean" + }, + "namespaces": { + "items": { + "type": "string" + }, + "type": "array" + }, + "originId": { + "type": "string" + }, + "references": { + "items": { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "name", + "type", + "id" + ], + "type": "object" + }, + "type": "array" + }, + "type": { + "type": "string" + }, + "updatedAt": { + "type": "string" + }, + "updatedBy": { + "type": "string" + }, + "version": { + "type": "string" + } + }, + "required": [ + "id", + "type", + "attributes", + "references" + ], + "type": "object" + } + }, + "required": [ + "item" + ], + "type": "object" + } + } + } + } + }, + "summary": "Update an existing dashboard", + "tags": [ + "Dashboards" + ], + "x-state": "Technical Preview" + } + }, "/api/fleet/agent_download_sources": { "get": { "operationId": "get-fleet-agent-download-sources", @@ -39054,6 +42292,9 @@ { "name": "connectors" }, + { + "name": "Dashboards" + }, { "name": "Data streams" }, diff --git a/oas_docs/bundle.serverless.json b/oas_docs/bundle.serverless.json index acfe609ea0c2f..ff2a4b17661b9 100644 --- a/oas_docs/bundle.serverless.json +++ b/oas_docs/bundle.serverless.json @@ -5644,6 +5644,3244 @@ ] } }, + "/api/dashboards/dashboard": { + "get": { + "description": "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.", + "operationId": "get-dashboards-dashboard", + "parameters": [ + { + "description": "The version of the API to use", + "in": "header", + "name": "elastic-api-version", + "schema": { + "default": "2023-10-31", + "enum": [ + "2023-10-31" + ], + "type": "string" + } + }, + { + "description": "The page number to return. Default is \"1\".", + "in": "query", + "name": "page", + "required": false, + "schema": { + "default": 1, + "minimum": 1, + "type": "number" + } + }, + { + "description": "The number of dashboards to display on each page (max 1000). Default is \"20\".", + "in": "query", + "name": "perPage", + "required": false, + "schema": { + "maximum": 1000, + "minimum": 1, + "type": "number" + } + } + ], + "responses": { + "200": { + "content": { + "application/json; Elastic-Api-Version=2023-10-31": { + "schema": { + "additionalProperties": false, + "properties": { + "items": { + "items": { + "additionalProperties": true, + "properties": { + "attributes": { + "additionalProperties": false, + "properties": { + "description": { + "default": "", + "description": "A short description.", + "type": "string" + }, + "timeRestore": { + "default": false, + "description": "Whether to restore time upon viewing this dashboard", + "type": "boolean" + }, + "title": { + "description": "A human-readable title for the dashboard", + "type": "string" + } + }, + "required": [ + "title" + ], + "type": "object" + }, + "createdAt": { + "type": "string" + }, + "createdBy": { + "type": "string" + }, + "error": { + "additionalProperties": false, + "properties": { + "error": { + "type": "string" + }, + "message": { + "type": "string" + }, + "metadata": { + "additionalProperties": true, + "properties": {}, + "type": "object" + }, + "statusCode": { + "type": "number" + } + }, + "required": [ + "error", + "message", + "statusCode" + ], + "type": "object" + }, + "id": { + "type": "string" + }, + "managed": { + "type": "boolean" + }, + "namespaces": { + "items": { + "type": "string" + }, + "type": "array" + }, + "originId": { + "type": "string" + }, + "references": { + "items": { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "name", + "type", + "id" + ], + "type": "object" + }, + "type": "array" + }, + "type": { + "type": "string" + }, + "updatedAt": { + "type": "string" + }, + "updatedBy": { + "type": "string" + }, + "version": { + "type": "string" + } + }, + "required": [ + "id", + "type", + "attributes", + "references" + ], + "type": "object" + }, + "type": "array" + }, + "total": { + "type": "number" + } + }, + "required": [ + "items", + "total" + ], + "type": "object" + } + } + } + } + }, + "summary": "Get a list of dashboards", + "tags": [ + "Dashboards" + ], + "x-state": "Technical Preview" + } + }, + "/api/dashboards/dashboard/{id}": { + "delete": { + "description": "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.", + "operationId": "delete-dashboards-dashboard-id", + "parameters": [ + { + "description": "The version of the API to use", + "in": "header", + "name": "elastic-api-version", + "schema": { + "default": "2023-10-31", + "enum": [ + "2023-10-31" + ], + "type": "string" + } + }, + { + "description": "A required header to protect against CSRF attacks", + "in": "header", + "name": "kbn-xsrf", + "required": true, + "schema": { + "example": "true", + "type": "string" + } + }, + { + "description": "A unique identifier for the dashboard.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": {}, + "summary": "Delete a dashboard", + "tags": [ + "Dashboards" + ], + "x-state": "Technical Preview" + }, + "get": { + "description": "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.", + "operationId": "get-dashboards-dashboard-id", + "parameters": [ + { + "description": "The version of the API to use", + "in": "header", + "name": "elastic-api-version", + "schema": { + "default": "2023-10-31", + "enum": [ + "2023-10-31" + ], + "type": "string" + } + }, + { + "description": "A unique identifier for the dashboard.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json; Elastic-Api-Version=2023-10-31": { + "schema": { + "additionalProperties": false, + "properties": { + "item": { + "additionalProperties": true, + "properties": { + "attributes": { + "additionalProperties": false, + "properties": { + "controlGroupInput": { + "additionalProperties": false, + "properties": { + "autoApplySelections": { + "default": true, + "description": "Show apply selections button in controls.", + "type": "boolean" + }, + "chainingSystem": { + "default": "HIERARCHICAL", + "description": "The chaining strategy for multiple controls. For example, \"HIERARCHICAL\" or \"NONE\".", + "enum": [ + "NONE", + "HIERARCHICAL" + ], + "type": "string" + }, + "controls": { + "default": [], + "description": "An array of control panels and their state in the control group.", + "items": { + "additionalProperties": true, + "properties": { + "controlConfig": { + "additionalProperties": {}, + "type": "object" + }, + "grow": { + "default": false, + "description": "Expand width of the control panel to fit available space.", + "type": "boolean" + }, + "id": { + "description": "The unique ID of the control.", + "type": "string" + }, + "order": { + "description": "The order of the control panel in the control group.", + "type": "number" + }, + "type": { + "description": "The type of the control panel.", + "type": "string" + }, + "width": { + "default": "medium", + "description": "Minimum width of the control panel in the control group.", + "enum": [ + "small", + "medium", + "large" + ], + "type": "string" + } + }, + "required": [ + "type", + "order" + ], + "type": "object" + }, + "type": "array" + }, + "enhancements": { + "additionalProperties": {}, + "type": "object" + }, + "ignoreParentSettings": { + "additionalProperties": false, + "properties": { + "ignoreFilters": { + "default": false, + "description": "Ignore global filters in controls.", + "type": "boolean" + }, + "ignoreQuery": { + "default": false, + "description": "Ignore the global query bar in controls.", + "type": "boolean" + }, + "ignoreTimerange": { + "default": false, + "description": "Ignore the global time range in controls.", + "type": "boolean" + }, + "ignoreValidations": { + "default": false, + "description": "Ignore validations in controls.", + "type": "boolean" + } + }, + "type": "object" + }, + "labelPosition": { + "default": "oneLine", + "description": "Position of the labels for controls. For example, \"oneLine\", \"twoLine\".", + "enum": [ + "oneLine", + "twoLine" + ], + "type": "string" + } + }, + "required": [ + "ignoreParentSettings" + ], + "type": "object" + }, + "description": { + "default": "", + "description": "A short description.", + "type": "string" + }, + "kibanaSavedObjectMeta": { + "additionalProperties": false, + "default": {}, + "description": "A container for various metadata", + "properties": { + "searchSource": { + "additionalProperties": true, + "properties": { + "filter": { + "items": { + "additionalProperties": false, + "description": "A filter for the search source.", + "properties": { + "$state": { + "additionalProperties": false, + "properties": { + "store": { + "description": "Denote whether a filter is specific to an application's context (e.g. 'appState') or whether it should be applied globally (e.g. 'globalState').", + "enum": [ + "appState", + "globalState" + ], + "type": "string" + } + }, + "required": [ + "store" + ], + "type": "object" + }, + "meta": { + "additionalProperties": true, + "properties": { + "alias": { + "nullable": true, + "type": "string" + }, + "controlledBy": { + "type": "string" + }, + "disabled": { + "type": "boolean" + }, + "field": { + "type": "string" + }, + "group": { + "type": "string" + }, + "index": { + "type": "string" + }, + "isMultiIndex": { + "type": "boolean" + }, + "key": { + "type": "string" + }, + "negate": { + "type": "boolean" + }, + "params": {}, + "type": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "required": [ + "params" + ], + "type": "object" + }, + "query": { + "additionalProperties": {}, + "type": "object" + } + }, + "required": [ + "meta" + ], + "type": "object" + }, + "type": "array" + }, + "query": { + "additionalProperties": false, + "properties": { + "language": { + "description": "The query language such as KQL or Lucene.", + "type": "string" + }, + "query": { + "anyOf": [ + { + "description": "A text-based query such as Kibana Query Language (KQL) or Lucene query language.", + "type": "string" + }, + { + "additionalProperties": {}, + "type": "object" + } + ] + } + }, + "required": [ + "query", + "language" + ], + "type": "object" + }, + "sort": { + "items": { + "additionalProperties": { + "anyOf": [ + { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + { + "additionalProperties": false, + "properties": { + "format": { + "type": "string" + }, + "order": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + } + }, + "required": [ + "order" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "numeric_type": { + "enum": [ + "double", + "long", + "date", + "date_nanos" + ], + "type": "string" + }, + "order": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + } + }, + "required": [ + "order" + ], + "type": "object" + } + ] + }, + "type": "object" + }, + "type": "array" + }, + "type": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "options": { + "additionalProperties": false, + "properties": { + "hidePanelTitles": { + "default": false, + "description": "Hide the panel titles in the dashboard.", + "type": "boolean" + }, + "syncColors": { + "default": true, + "description": "Synchronize colors between related panels in the dashboard.", + "type": "boolean" + }, + "syncCursor": { + "default": true, + "description": "Synchronize cursor position between related panels in the dashboard.", + "type": "boolean" + }, + "syncTooltips": { + "default": true, + "description": "Synchronize tooltips between related panels in the dashboard.", + "type": "boolean" + }, + "useMargins": { + "default": true, + "description": "Show margins between panels in the dashboard layout.", + "type": "boolean" + } + }, + "type": "object" + }, + "panels": { + "default": [], + "items": { + "additionalProperties": false, + "properties": { + "gridData": { + "additionalProperties": false, + "properties": { + "h": { + "default": 15, + "description": "The height of the panel in grid units", + "minimum": 1, + "type": "number" + }, + "i": { + "type": "string" + }, + "w": { + "default": 24, + "description": "The width of the panel in grid units", + "maximum": 48, + "minimum": 1, + "type": "number" + }, + "x": { + "description": "The x coordinate of the panel in grid units", + "type": "number" + }, + "y": { + "description": "The y coordinate of the panel in grid units", + "type": "number" + } + }, + "required": [ + "x", + "y", + "i" + ], + "type": "object" + }, + "id": { + "description": "The saved object id for by reference panels", + "type": "string" + }, + "panelConfig": { + "additionalProperties": true, + "properties": { + "description": { + "description": "The description of the panel", + "type": "string" + }, + "enhancements": { + "additionalProperties": {}, + "type": "object" + }, + "hidePanelTitles": { + "description": "Set to true to hide the panel title in its container.", + "type": "boolean" + }, + "savedObjectId": { + "description": "The unique id of the library item to construct the embeddable.", + "type": "string" + }, + "title": { + "description": "The title of the panel", + "type": "string" + }, + "version": { + "description": "The version of the embeddable in the panel.", + "type": "string" + } + }, + "type": "object" + }, + "panelIndex": { + "type": "string" + }, + "panelRefName": { + "type": "string" + }, + "title": { + "description": "The title of the panel", + "type": "string" + }, + "type": { + "description": "The embeddable type", + "type": "string" + }, + "version": { + "deprecated": true, + "description": "The version was used to store Kibana version information from versions 7.3.0 -> 8.11.0. As of version 8.11.0, the versioning information is now per-embeddable-type and is stored on the embeddable's input. (panelConfig in this type).", + "type": "string" + } + }, + "required": [ + "panelConfig", + "type", + "gridData", + "panelIndex" + ], + "type": "object" + }, + "type": "array" + }, + "refreshInterval": { + "additionalProperties": false, + "description": "A container for various refresh interval settings", + "properties": { + "display": { + "deprecated": true, + "description": "A human-readable string indicating the refresh frequency. No longer used.", + "type": "string" + }, + "pause": { + "description": "Whether the refresh interval is set to be paused while viewing the dashboard.", + "type": "boolean" + }, + "section": { + "deprecated": true, + "description": "No longer used.", + "type": "number" + }, + "value": { + "description": "A numeric value indicating refresh frequency in milliseconds.", + "type": "number" + } + }, + "required": [ + "pause", + "value" + ], + "type": "object" + }, + "timeFrom": { + "description": "An ISO string indicating when to restore time from", + "type": "string" + }, + "timeRestore": { + "default": false, + "description": "Whether to restore time upon viewing this dashboard", + "type": "boolean" + }, + "timeTo": { + "description": "An ISO string indicating when to restore time from", + "type": "string" + }, + "title": { + "description": "A human-readable title for the dashboard", + "type": "string" + }, + "version": { + "deprecated": true, + "type": "number" + } + }, + "required": [ + "title", + "options" + ], + "type": "object" + }, + "createdAt": { + "type": "string" + }, + "createdBy": { + "type": "string" + }, + "error": { + "additionalProperties": false, + "properties": { + "error": { + "type": "string" + }, + "message": { + "type": "string" + }, + "metadata": { + "additionalProperties": true, + "properties": {}, + "type": "object" + }, + "statusCode": { + "type": "number" + } + }, + "required": [ + "error", + "message", + "statusCode" + ], + "type": "object" + }, + "id": { + "type": "string" + }, + "managed": { + "type": "boolean" + }, + "namespaces": { + "items": { + "type": "string" + }, + "type": "array" + }, + "originId": { + "type": "string" + }, + "references": { + "items": { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "name", + "type", + "id" + ], + "type": "object" + }, + "type": "array" + }, + "type": { + "type": "string" + }, + "updatedAt": { + "type": "string" + }, + "updatedBy": { + "type": "string" + }, + "version": { + "type": "string" + } + }, + "required": [ + "id", + "type", + "attributes", + "references" + ], + "type": "object" + }, + "meta": { + "additionalProperties": false, + "properties": { + "aliasPurpose": { + "enum": [ + "savedObjectConversion", + "savedObjectImport" + ], + "type": "string" + }, + "aliasTargetId": { + "type": "string" + }, + "outcome": { + "enum": [ + "exactMatch", + "aliasMatch", + "conflict" + ], + "type": "string" + } + }, + "required": [ + "outcome" + ], + "type": "object" + } + }, + "required": [ + "item", + "meta" + ], + "type": "object" + } + } + } + } + }, + "summary": "Get a dashboard", + "tags": [ + "Dashboards" + ], + "x-state": "Technical Preview" + }, + "post": { + "description": "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.", + "operationId": "post-dashboards-dashboard-id", + "parameters": [ + { + "description": "The version of the API to use", + "in": "header", + "name": "elastic-api-version", + "schema": { + "default": "2023-10-31", + "enum": [ + "2023-10-31" + ], + "type": "string" + } + }, + { + "description": "A required header to protect against CSRF attacks", + "in": "header", + "name": "kbn-xsrf", + "required": true, + "schema": { + "example": "true", + "type": "string" + } + }, + { + "description": "A unique identifier for the dashboard.", + "in": "path", + "name": "id", + "required": false, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json; Elastic-Api-Version=2023-10-31": { + "schema": { + "additionalProperties": false, + "properties": { + "attributes": { + "additionalProperties": false, + "properties": { + "controlGroupInput": { + "additionalProperties": false, + "properties": { + "autoApplySelections": { + "default": true, + "description": "Show apply selections button in controls.", + "type": "boolean" + }, + "chainingSystem": { + "default": "HIERARCHICAL", + "description": "The chaining strategy for multiple controls. For example, \"HIERARCHICAL\" or \"NONE\".", + "enum": [ + "NONE", + "HIERARCHICAL" + ], + "type": "string" + }, + "controls": { + "default": [], + "description": "An array of control panels and their state in the control group.", + "items": { + "additionalProperties": true, + "properties": { + "controlConfig": { + "additionalProperties": {}, + "type": "object" + }, + "grow": { + "default": false, + "description": "Expand width of the control panel to fit available space.", + "type": "boolean" + }, + "id": { + "description": "The unique ID of the control.", + "type": "string" + }, + "order": { + "description": "The order of the control panel in the control group.", + "type": "number" + }, + "type": { + "description": "The type of the control panel.", + "type": "string" + }, + "width": { + "default": "medium", + "description": "Minimum width of the control panel in the control group.", + "enum": [ + "small", + "medium", + "large" + ], + "type": "string" + } + }, + "required": [ + "type", + "order" + ], + "type": "object" + }, + "type": "array" + }, + "enhancements": { + "additionalProperties": {}, + "type": "object" + }, + "ignoreParentSettings": { + "additionalProperties": false, + "properties": { + "ignoreFilters": { + "default": false, + "description": "Ignore global filters in controls.", + "type": "boolean" + }, + "ignoreQuery": { + "default": false, + "description": "Ignore the global query bar in controls.", + "type": "boolean" + }, + "ignoreTimerange": { + "default": false, + "description": "Ignore the global time range in controls.", + "type": "boolean" + }, + "ignoreValidations": { + "default": false, + "description": "Ignore validations in controls.", + "type": "boolean" + } + }, + "type": "object" + }, + "labelPosition": { + "default": "oneLine", + "description": "Position of the labels for controls. For example, \"oneLine\", \"twoLine\".", + "enum": [ + "oneLine", + "twoLine" + ], + "type": "string" + } + }, + "required": [ + "ignoreParentSettings" + ], + "type": "object" + }, + "description": { + "default": "", + "description": "A short description.", + "type": "string" + }, + "kibanaSavedObjectMeta": { + "additionalProperties": false, + "default": {}, + "description": "A container for various metadata", + "properties": { + "searchSource": { + "additionalProperties": true, + "properties": { + "filter": { + "items": { + "additionalProperties": false, + "description": "A filter for the search source.", + "properties": { + "$state": { + "additionalProperties": false, + "properties": { + "store": { + "description": "Denote whether a filter is specific to an application's context (e.g. 'appState') or whether it should be applied globally (e.g. 'globalState').", + "enum": [ + "appState", + "globalState" + ], + "type": "string" + } + }, + "required": [ + "store" + ], + "type": "object" + }, + "meta": { + "additionalProperties": true, + "properties": { + "alias": { + "nullable": true, + "type": "string" + }, + "controlledBy": { + "type": "string" + }, + "disabled": { + "type": "boolean" + }, + "field": { + "type": "string" + }, + "group": { + "type": "string" + }, + "index": { + "type": "string" + }, + "isMultiIndex": { + "type": "boolean" + }, + "key": { + "type": "string" + }, + "negate": { + "type": "boolean" + }, + "params": {}, + "type": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "required": [ + "params" + ], + "type": "object" + }, + "query": { + "additionalProperties": {}, + "type": "object" + } + }, + "required": [ + "meta" + ], + "type": "object" + }, + "type": "array" + }, + "query": { + "additionalProperties": false, + "properties": { + "language": { + "description": "The query language such as KQL or Lucene.", + "type": "string" + }, + "query": { + "anyOf": [ + { + "description": "A text-based query such as Kibana Query Language (KQL) or Lucene query language.", + "type": "string" + }, + { + "additionalProperties": {}, + "type": "object" + } + ] + } + }, + "required": [ + "query", + "language" + ], + "type": "object" + }, + "sort": { + "items": { + "additionalProperties": { + "anyOf": [ + { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + { + "additionalProperties": false, + "properties": { + "format": { + "type": "string" + }, + "order": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + } + }, + "required": [ + "order" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "numeric_type": { + "enum": [ + "double", + "long", + "date", + "date_nanos" + ], + "type": "string" + }, + "order": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + } + }, + "required": [ + "order" + ], + "type": "object" + } + ] + }, + "type": "object" + }, + "type": "array" + }, + "type": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "options": { + "additionalProperties": false, + "properties": { + "hidePanelTitles": { + "default": false, + "description": "Hide the panel titles in the dashboard.", + "type": "boolean" + }, + "syncColors": { + "default": true, + "description": "Synchronize colors between related panels in the dashboard.", + "type": "boolean" + }, + "syncCursor": { + "default": true, + "description": "Synchronize cursor position between related panels in the dashboard.", + "type": "boolean" + }, + "syncTooltips": { + "default": true, + "description": "Synchronize tooltips between related panels in the dashboard.", + "type": "boolean" + }, + "useMargins": { + "default": true, + "description": "Show margins between panels in the dashboard layout.", + "type": "boolean" + } + }, + "type": "object" + }, + "panels": { + "default": [], + "items": { + "additionalProperties": false, + "properties": { + "gridData": { + "additionalProperties": false, + "properties": { + "h": { + "default": 15, + "description": "The height of the panel in grid units", + "minimum": 1, + "type": "number" + }, + "i": { + "description": "The unique identifier of the panel", + "type": "string" + }, + "w": { + "default": 24, + "description": "The width of the panel in grid units", + "maximum": 48, + "minimum": 1, + "type": "number" + }, + "x": { + "description": "The x coordinate of the panel in grid units", + "type": "number" + }, + "y": { + "description": "The y coordinate of the panel in grid units", + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "type": "object" + }, + "id": { + "description": "The saved object id for by reference panels", + "type": "string" + }, + "panelConfig": { + "additionalProperties": true, + "properties": { + "description": { + "description": "The description of the panel", + "type": "string" + }, + "enhancements": { + "additionalProperties": {}, + "type": "object" + }, + "hidePanelTitles": { + "description": "Set to true to hide the panel title in its container.", + "type": "boolean" + }, + "savedObjectId": { + "description": "The unique id of the library item to construct the embeddable.", + "type": "string" + }, + "title": { + "description": "The title of the panel", + "type": "string" + }, + "version": { + "description": "The version of the embeddable in the panel.", + "type": "string" + } + }, + "type": "object" + }, + "panelIndex": { + "description": "The unique ID of the panel.", + "type": "string" + }, + "panelRefName": { + "type": "string" + }, + "title": { + "description": "The title of the panel", + "type": "string" + }, + "type": { + "description": "The embeddable type", + "type": "string" + }, + "version": { + "deprecated": true, + "description": "The version was used to store Kibana version information from versions 7.3.0 -> 8.11.0. As of version 8.11.0, the versioning information is now per-embeddable-type and is stored on the embeddable's input. (panelConfig in this type).", + "type": "string" + } + }, + "required": [ + "panelConfig", + "type", + "gridData" + ], + "type": "object" + }, + "type": "array" + }, + "refreshInterval": { + "additionalProperties": false, + "description": "A container for various refresh interval settings", + "properties": { + "display": { + "deprecated": true, + "description": "A human-readable string indicating the refresh frequency. No longer used.", + "type": "string" + }, + "pause": { + "description": "Whether the refresh interval is set to be paused while viewing the dashboard.", + "type": "boolean" + }, + "section": { + "deprecated": true, + "description": "No longer used.", + "type": "number" + }, + "value": { + "description": "A numeric value indicating refresh frequency in milliseconds.", + "type": "number" + } + }, + "required": [ + "pause", + "value" + ], + "type": "object" + }, + "timeFrom": { + "description": "An ISO string indicating when to restore time from", + "type": "string" + }, + "timeRestore": { + "default": false, + "description": "Whether to restore time upon viewing this dashboard", + "type": "boolean" + }, + "timeTo": { + "description": "An ISO string indicating when to restore time from", + "type": "string" + }, + "title": { + "description": "A human-readable title for the dashboard", + "type": "string" + }, + "version": { + "deprecated": true, + "type": "number" + } + }, + "required": [ + "title", + "options" + ], + "type": "object" + }, + "references": { + "items": { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "name", + "type", + "id" + ], + "type": "object" + }, + "type": "array" + }, + "spaces": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "attributes" + ], + "type": "object" + } + } + } + }, + "responses": { + "200": { + "content": { + "application/json; Elastic-Api-Version=2023-10-31": { + "schema": { + "additionalProperties": false, + "properties": { + "item": { + "additionalProperties": true, + "properties": { + "attributes": { + "additionalProperties": false, + "properties": { + "controlGroupInput": { + "additionalProperties": false, + "properties": { + "autoApplySelections": { + "default": true, + "description": "Show apply selections button in controls.", + "type": "boolean" + }, + "chainingSystem": { + "default": "HIERARCHICAL", + "description": "The chaining strategy for multiple controls. For example, \"HIERARCHICAL\" or \"NONE\".", + "enum": [ + "NONE", + "HIERARCHICAL" + ], + "type": "string" + }, + "controls": { + "default": [], + "description": "An array of control panels and their state in the control group.", + "items": { + "additionalProperties": true, + "properties": { + "controlConfig": { + "additionalProperties": {}, + "type": "object" + }, + "grow": { + "default": false, + "description": "Expand width of the control panel to fit available space.", + "type": "boolean" + }, + "id": { + "description": "The unique ID of the control.", + "type": "string" + }, + "order": { + "description": "The order of the control panel in the control group.", + "type": "number" + }, + "type": { + "description": "The type of the control panel.", + "type": "string" + }, + "width": { + "default": "medium", + "description": "Minimum width of the control panel in the control group.", + "enum": [ + "small", + "medium", + "large" + ], + "type": "string" + } + }, + "required": [ + "type", + "order" + ], + "type": "object" + }, + "type": "array" + }, + "enhancements": { + "additionalProperties": {}, + "type": "object" + }, + "ignoreParentSettings": { + "additionalProperties": false, + "properties": { + "ignoreFilters": { + "default": false, + "description": "Ignore global filters in controls.", + "type": "boolean" + }, + "ignoreQuery": { + "default": false, + "description": "Ignore the global query bar in controls.", + "type": "boolean" + }, + "ignoreTimerange": { + "default": false, + "description": "Ignore the global time range in controls.", + "type": "boolean" + }, + "ignoreValidations": { + "default": false, + "description": "Ignore validations in controls.", + "type": "boolean" + } + }, + "type": "object" + }, + "labelPosition": { + "default": "oneLine", + "description": "Position of the labels for controls. For example, \"oneLine\", \"twoLine\".", + "enum": [ + "oneLine", + "twoLine" + ], + "type": "string" + } + }, + "required": [ + "ignoreParentSettings" + ], + "type": "object" + }, + "description": { + "default": "", + "description": "A short description.", + "type": "string" + }, + "kibanaSavedObjectMeta": { + "additionalProperties": false, + "default": {}, + "description": "A container for various metadata", + "properties": { + "searchSource": { + "additionalProperties": true, + "properties": { + "filter": { + "items": { + "additionalProperties": false, + "description": "A filter for the search source.", + "properties": { + "$state": { + "additionalProperties": false, + "properties": { + "store": { + "description": "Denote whether a filter is specific to an application's context (e.g. 'appState') or whether it should be applied globally (e.g. 'globalState').", + "enum": [ + "appState", + "globalState" + ], + "type": "string" + } + }, + "required": [ + "store" + ], + "type": "object" + }, + "meta": { + "additionalProperties": true, + "properties": { + "alias": { + "nullable": true, + "type": "string" + }, + "controlledBy": { + "type": "string" + }, + "disabled": { + "type": "boolean" + }, + "field": { + "type": "string" + }, + "group": { + "type": "string" + }, + "index": { + "type": "string" + }, + "isMultiIndex": { + "type": "boolean" + }, + "key": { + "type": "string" + }, + "negate": { + "type": "boolean" + }, + "params": {}, + "type": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "required": [ + "params" + ], + "type": "object" + }, + "query": { + "additionalProperties": {}, + "type": "object" + } + }, + "required": [ + "meta" + ], + "type": "object" + }, + "type": "array" + }, + "query": { + "additionalProperties": false, + "properties": { + "language": { + "description": "The query language such as KQL or Lucene.", + "type": "string" + }, + "query": { + "anyOf": [ + { + "description": "A text-based query such as Kibana Query Language (KQL) or Lucene query language.", + "type": "string" + }, + { + "additionalProperties": {}, + "type": "object" + } + ] + } + }, + "required": [ + "query", + "language" + ], + "type": "object" + }, + "sort": { + "items": { + "additionalProperties": { + "anyOf": [ + { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + { + "additionalProperties": false, + "properties": { + "format": { + "type": "string" + }, + "order": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + } + }, + "required": [ + "order" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "numeric_type": { + "enum": [ + "double", + "long", + "date", + "date_nanos" + ], + "type": "string" + }, + "order": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + } + }, + "required": [ + "order" + ], + "type": "object" + } + ] + }, + "type": "object" + }, + "type": "array" + }, + "type": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "options": { + "additionalProperties": false, + "properties": { + "hidePanelTitles": { + "default": false, + "description": "Hide the panel titles in the dashboard.", + "type": "boolean" + }, + "syncColors": { + "default": true, + "description": "Synchronize colors between related panels in the dashboard.", + "type": "boolean" + }, + "syncCursor": { + "default": true, + "description": "Synchronize cursor position between related panels in the dashboard.", + "type": "boolean" + }, + "syncTooltips": { + "default": true, + "description": "Synchronize tooltips between related panels in the dashboard.", + "type": "boolean" + }, + "useMargins": { + "default": true, + "description": "Show margins between panels in the dashboard layout.", + "type": "boolean" + } + }, + "type": "object" + }, + "panels": { + "default": [], + "items": { + "additionalProperties": false, + "properties": { + "gridData": { + "additionalProperties": false, + "properties": { + "h": { + "default": 15, + "description": "The height of the panel in grid units", + "minimum": 1, + "type": "number" + }, + "i": { + "type": "string" + }, + "w": { + "default": 24, + "description": "The width of the panel in grid units", + "maximum": 48, + "minimum": 1, + "type": "number" + }, + "x": { + "description": "The x coordinate of the panel in grid units", + "type": "number" + }, + "y": { + "description": "The y coordinate of the panel in grid units", + "type": "number" + } + }, + "required": [ + "x", + "y", + "i" + ], + "type": "object" + }, + "id": { + "description": "The saved object id for by reference panels", + "type": "string" + }, + "panelConfig": { + "additionalProperties": true, + "properties": { + "description": { + "description": "The description of the panel", + "type": "string" + }, + "enhancements": { + "additionalProperties": {}, + "type": "object" + }, + "hidePanelTitles": { + "description": "Set to true to hide the panel title in its container.", + "type": "boolean" + }, + "savedObjectId": { + "description": "The unique id of the library item to construct the embeddable.", + "type": "string" + }, + "title": { + "description": "The title of the panel", + "type": "string" + }, + "version": { + "description": "The version of the embeddable in the panel.", + "type": "string" + } + }, + "type": "object" + }, + "panelIndex": { + "type": "string" + }, + "panelRefName": { + "type": "string" + }, + "title": { + "description": "The title of the panel", + "type": "string" + }, + "type": { + "description": "The embeddable type", + "type": "string" + }, + "version": { + "deprecated": true, + "description": "The version was used to store Kibana version information from versions 7.3.0 -> 8.11.0. As of version 8.11.0, the versioning information is now per-embeddable-type and is stored on the embeddable's input. (panelConfig in this type).", + "type": "string" + } + }, + "required": [ + "panelConfig", + "type", + "gridData", + "panelIndex" + ], + "type": "object" + }, + "type": "array" + }, + "refreshInterval": { + "additionalProperties": false, + "description": "A container for various refresh interval settings", + "properties": { + "display": { + "deprecated": true, + "description": "A human-readable string indicating the refresh frequency. No longer used.", + "type": "string" + }, + "pause": { + "description": "Whether the refresh interval is set to be paused while viewing the dashboard.", + "type": "boolean" + }, + "section": { + "deprecated": true, + "description": "No longer used.", + "type": "number" + }, + "value": { + "description": "A numeric value indicating refresh frequency in milliseconds.", + "type": "number" + } + }, + "required": [ + "pause", + "value" + ], + "type": "object" + }, + "timeFrom": { + "description": "An ISO string indicating when to restore time from", + "type": "string" + }, + "timeRestore": { + "default": false, + "description": "Whether to restore time upon viewing this dashboard", + "type": "boolean" + }, + "timeTo": { + "description": "An ISO string indicating when to restore time from", + "type": "string" + }, + "title": { + "description": "A human-readable title for the dashboard", + "type": "string" + }, + "version": { + "deprecated": true, + "type": "number" + } + }, + "required": [ + "title", + "options" + ], + "type": "object" + }, + "createdAt": { + "type": "string" + }, + "createdBy": { + "type": "string" + }, + "error": { + "additionalProperties": false, + "properties": { + "error": { + "type": "string" + }, + "message": { + "type": "string" + }, + "metadata": { + "additionalProperties": true, + "properties": {}, + "type": "object" + }, + "statusCode": { + "type": "number" + } + }, + "required": [ + "error", + "message", + "statusCode" + ], + "type": "object" + }, + "id": { + "type": "string" + }, + "managed": { + "type": "boolean" + }, + "namespaces": { + "items": { + "type": "string" + }, + "type": "array" + }, + "originId": { + "type": "string" + }, + "references": { + "items": { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "name", + "type", + "id" + ], + "type": "object" + }, + "type": "array" + }, + "type": { + "type": "string" + }, + "updatedAt": { + "type": "string" + }, + "updatedBy": { + "type": "string" + }, + "version": { + "type": "string" + } + }, + "required": [ + "id", + "type", + "attributes", + "references" + ], + "type": "object" + } + }, + "required": [ + "item" + ], + "type": "object" + } + } + } + } + }, + "summary": "Create a dashboard", + "tags": [ + "Dashboards" + ], + "x-state": "Technical Preview" + }, + "put": { + "description": "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.", + "operationId": "put-dashboards-dashboard-id", + "parameters": [ + { + "description": "The version of the API to use", + "in": "header", + "name": "elastic-api-version", + "schema": { + "default": "2023-10-31", + "enum": [ + "2023-10-31" + ], + "type": "string" + } + }, + { + "description": "A required header to protect against CSRF attacks", + "in": "header", + "name": "kbn-xsrf", + "required": true, + "schema": { + "example": "true", + "type": "string" + } + }, + { + "description": "A unique identifier for the dashboard.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json; Elastic-Api-Version=2023-10-31": { + "schema": { + "additionalProperties": false, + "properties": { + "attributes": { + "additionalProperties": false, + "properties": { + "controlGroupInput": { + "additionalProperties": false, + "properties": { + "autoApplySelections": { + "default": true, + "description": "Show apply selections button in controls.", + "type": "boolean" + }, + "chainingSystem": { + "default": "HIERARCHICAL", + "description": "The chaining strategy for multiple controls. For example, \"HIERARCHICAL\" or \"NONE\".", + "enum": [ + "NONE", + "HIERARCHICAL" + ], + "type": "string" + }, + "controls": { + "default": [], + "description": "An array of control panels and their state in the control group.", + "items": { + "additionalProperties": true, + "properties": { + "controlConfig": { + "additionalProperties": {}, + "type": "object" + }, + "grow": { + "default": false, + "description": "Expand width of the control panel to fit available space.", + "type": "boolean" + }, + "id": { + "description": "The unique ID of the control.", + "type": "string" + }, + "order": { + "description": "The order of the control panel in the control group.", + "type": "number" + }, + "type": { + "description": "The type of the control panel.", + "type": "string" + }, + "width": { + "default": "medium", + "description": "Minimum width of the control panel in the control group.", + "enum": [ + "small", + "medium", + "large" + ], + "type": "string" + } + }, + "required": [ + "type", + "order" + ], + "type": "object" + }, + "type": "array" + }, + "enhancements": { + "additionalProperties": {}, + "type": "object" + }, + "ignoreParentSettings": { + "additionalProperties": false, + "properties": { + "ignoreFilters": { + "default": false, + "description": "Ignore global filters in controls.", + "type": "boolean" + }, + "ignoreQuery": { + "default": false, + "description": "Ignore the global query bar in controls.", + "type": "boolean" + }, + "ignoreTimerange": { + "default": false, + "description": "Ignore the global time range in controls.", + "type": "boolean" + }, + "ignoreValidations": { + "default": false, + "description": "Ignore validations in controls.", + "type": "boolean" + } + }, + "type": "object" + }, + "labelPosition": { + "default": "oneLine", + "description": "Position of the labels for controls. For example, \"oneLine\", \"twoLine\".", + "enum": [ + "oneLine", + "twoLine" + ], + "type": "string" + } + }, + "required": [ + "ignoreParentSettings" + ], + "type": "object" + }, + "description": { + "default": "", + "description": "A short description.", + "type": "string" + }, + "kibanaSavedObjectMeta": { + "additionalProperties": false, + "default": {}, + "description": "A container for various metadata", + "properties": { + "searchSource": { + "additionalProperties": true, + "properties": { + "filter": { + "items": { + "additionalProperties": false, + "description": "A filter for the search source.", + "properties": { + "$state": { + "additionalProperties": false, + "properties": { + "store": { + "description": "Denote whether a filter is specific to an application's context (e.g. 'appState') or whether it should be applied globally (e.g. 'globalState').", + "enum": [ + "appState", + "globalState" + ], + "type": "string" + } + }, + "required": [ + "store" + ], + "type": "object" + }, + "meta": { + "additionalProperties": true, + "properties": { + "alias": { + "nullable": true, + "type": "string" + }, + "controlledBy": { + "type": "string" + }, + "disabled": { + "type": "boolean" + }, + "field": { + "type": "string" + }, + "group": { + "type": "string" + }, + "index": { + "type": "string" + }, + "isMultiIndex": { + "type": "boolean" + }, + "key": { + "type": "string" + }, + "negate": { + "type": "boolean" + }, + "params": {}, + "type": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "required": [ + "params" + ], + "type": "object" + }, + "query": { + "additionalProperties": {}, + "type": "object" + } + }, + "required": [ + "meta" + ], + "type": "object" + }, + "type": "array" + }, + "query": { + "additionalProperties": false, + "properties": { + "language": { + "description": "The query language such as KQL or Lucene.", + "type": "string" + }, + "query": { + "anyOf": [ + { + "description": "A text-based query such as Kibana Query Language (KQL) or Lucene query language.", + "type": "string" + }, + { + "additionalProperties": {}, + "type": "object" + } + ] + } + }, + "required": [ + "query", + "language" + ], + "type": "object" + }, + "sort": { + "items": { + "additionalProperties": { + "anyOf": [ + { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + { + "additionalProperties": false, + "properties": { + "format": { + "type": "string" + }, + "order": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + } + }, + "required": [ + "order" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "numeric_type": { + "enum": [ + "double", + "long", + "date", + "date_nanos" + ], + "type": "string" + }, + "order": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + } + }, + "required": [ + "order" + ], + "type": "object" + } + ] + }, + "type": "object" + }, + "type": "array" + }, + "type": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "options": { + "additionalProperties": false, + "properties": { + "hidePanelTitles": { + "default": false, + "description": "Hide the panel titles in the dashboard.", + "type": "boolean" + }, + "syncColors": { + "default": true, + "description": "Synchronize colors between related panels in the dashboard.", + "type": "boolean" + }, + "syncCursor": { + "default": true, + "description": "Synchronize cursor position between related panels in the dashboard.", + "type": "boolean" + }, + "syncTooltips": { + "default": true, + "description": "Synchronize tooltips between related panels in the dashboard.", + "type": "boolean" + }, + "useMargins": { + "default": true, + "description": "Show margins between panels in the dashboard layout.", + "type": "boolean" + } + }, + "type": "object" + }, + "panels": { + "default": [], + "items": { + "additionalProperties": false, + "properties": { + "gridData": { + "additionalProperties": false, + "properties": { + "h": { + "default": 15, + "description": "The height of the panel in grid units", + "minimum": 1, + "type": "number" + }, + "i": { + "description": "The unique identifier of the panel", + "type": "string" + }, + "w": { + "default": 24, + "description": "The width of the panel in grid units", + "maximum": 48, + "minimum": 1, + "type": "number" + }, + "x": { + "description": "The x coordinate of the panel in grid units", + "type": "number" + }, + "y": { + "description": "The y coordinate of the panel in grid units", + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "type": "object" + }, + "id": { + "description": "The saved object id for by reference panels", + "type": "string" + }, + "panelConfig": { + "additionalProperties": true, + "properties": { + "description": { + "description": "The description of the panel", + "type": "string" + }, + "enhancements": { + "additionalProperties": {}, + "type": "object" + }, + "hidePanelTitles": { + "description": "Set to true to hide the panel title in its container.", + "type": "boolean" + }, + "savedObjectId": { + "description": "The unique id of the library item to construct the embeddable.", + "type": "string" + }, + "title": { + "description": "The title of the panel", + "type": "string" + }, + "version": { + "description": "The version of the embeddable in the panel.", + "type": "string" + } + }, + "type": "object" + }, + "panelIndex": { + "description": "The unique ID of the panel.", + "type": "string" + }, + "panelRefName": { + "type": "string" + }, + "title": { + "description": "The title of the panel", + "type": "string" + }, + "type": { + "description": "The embeddable type", + "type": "string" + }, + "version": { + "deprecated": true, + "description": "The version was used to store Kibana version information from versions 7.3.0 -> 8.11.0. As of version 8.11.0, the versioning information is now per-embeddable-type and is stored on the embeddable's input. (panelConfig in this type).", + "type": "string" + } + }, + "required": [ + "panelConfig", + "type", + "gridData" + ], + "type": "object" + }, + "type": "array" + }, + "refreshInterval": { + "additionalProperties": false, + "description": "A container for various refresh interval settings", + "properties": { + "display": { + "deprecated": true, + "description": "A human-readable string indicating the refresh frequency. No longer used.", + "type": "string" + }, + "pause": { + "description": "Whether the refresh interval is set to be paused while viewing the dashboard.", + "type": "boolean" + }, + "section": { + "deprecated": true, + "description": "No longer used.", + "type": "number" + }, + "value": { + "description": "A numeric value indicating refresh frequency in milliseconds.", + "type": "number" + } + }, + "required": [ + "pause", + "value" + ], + "type": "object" + }, + "timeFrom": { + "description": "An ISO string indicating when to restore time from", + "type": "string" + }, + "timeRestore": { + "default": false, + "description": "Whether to restore time upon viewing this dashboard", + "type": "boolean" + }, + "timeTo": { + "description": "An ISO string indicating when to restore time from", + "type": "string" + }, + "title": { + "description": "A human-readable title for the dashboard", + "type": "string" + }, + "version": { + "deprecated": true, + "type": "number" + } + }, + "required": [ + "title", + "options" + ], + "type": "object" + }, + "references": { + "items": { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "name", + "type", + "id" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "attributes" + ], + "type": "object" + } + } + } + }, + "responses": { + "200": { + "content": { + "application/json; Elastic-Api-Version=2023-10-31": { + "schema": { + "additionalProperties": false, + "properties": { + "item": { + "additionalProperties": true, + "properties": { + "attributes": { + "additionalProperties": false, + "properties": { + "controlGroupInput": { + "additionalProperties": false, + "properties": { + "autoApplySelections": { + "default": true, + "description": "Show apply selections button in controls.", + "type": "boolean" + }, + "chainingSystem": { + "default": "HIERARCHICAL", + "description": "The chaining strategy for multiple controls. For example, \"HIERARCHICAL\" or \"NONE\".", + "enum": [ + "NONE", + "HIERARCHICAL" + ], + "type": "string" + }, + "controls": { + "default": [], + "description": "An array of control panels and their state in the control group.", + "items": { + "additionalProperties": true, + "properties": { + "controlConfig": { + "additionalProperties": {}, + "type": "object" + }, + "grow": { + "default": false, + "description": "Expand width of the control panel to fit available space.", + "type": "boolean" + }, + "id": { + "description": "The unique ID of the control.", + "type": "string" + }, + "order": { + "description": "The order of the control panel in the control group.", + "type": "number" + }, + "type": { + "description": "The type of the control panel.", + "type": "string" + }, + "width": { + "default": "medium", + "description": "Minimum width of the control panel in the control group.", + "enum": [ + "small", + "medium", + "large" + ], + "type": "string" + } + }, + "required": [ + "type", + "order" + ], + "type": "object" + }, + "type": "array" + }, + "enhancements": { + "additionalProperties": {}, + "type": "object" + }, + "ignoreParentSettings": { + "additionalProperties": false, + "properties": { + "ignoreFilters": { + "default": false, + "description": "Ignore global filters in controls.", + "type": "boolean" + }, + "ignoreQuery": { + "default": false, + "description": "Ignore the global query bar in controls.", + "type": "boolean" + }, + "ignoreTimerange": { + "default": false, + "description": "Ignore the global time range in controls.", + "type": "boolean" + }, + "ignoreValidations": { + "default": false, + "description": "Ignore validations in controls.", + "type": "boolean" + } + }, + "type": "object" + }, + "labelPosition": { + "default": "oneLine", + "description": "Position of the labels for controls. For example, \"oneLine\", \"twoLine\".", + "enum": [ + "oneLine", + "twoLine" + ], + "type": "string" + } + }, + "required": [ + "ignoreParentSettings" + ], + "type": "object" + }, + "description": { + "default": "", + "description": "A short description.", + "type": "string" + }, + "kibanaSavedObjectMeta": { + "additionalProperties": false, + "default": {}, + "description": "A container for various metadata", + "properties": { + "searchSource": { + "additionalProperties": true, + "properties": { + "filter": { + "items": { + "additionalProperties": false, + "description": "A filter for the search source.", + "properties": { + "$state": { + "additionalProperties": false, + "properties": { + "store": { + "description": "Denote whether a filter is specific to an application's context (e.g. 'appState') or whether it should be applied globally (e.g. 'globalState').", + "enum": [ + "appState", + "globalState" + ], + "type": "string" + } + }, + "required": [ + "store" + ], + "type": "object" + }, + "meta": { + "additionalProperties": true, + "properties": { + "alias": { + "nullable": true, + "type": "string" + }, + "controlledBy": { + "type": "string" + }, + "disabled": { + "type": "boolean" + }, + "field": { + "type": "string" + }, + "group": { + "type": "string" + }, + "index": { + "type": "string" + }, + "isMultiIndex": { + "type": "boolean" + }, + "key": { + "type": "string" + }, + "negate": { + "type": "boolean" + }, + "params": {}, + "type": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "required": [ + "params" + ], + "type": "object" + }, + "query": { + "additionalProperties": {}, + "type": "object" + } + }, + "required": [ + "meta" + ], + "type": "object" + }, + "type": "array" + }, + "query": { + "additionalProperties": false, + "properties": { + "language": { + "description": "The query language such as KQL or Lucene.", + "type": "string" + }, + "query": { + "anyOf": [ + { + "description": "A text-based query such as Kibana Query Language (KQL) or Lucene query language.", + "type": "string" + }, + { + "additionalProperties": {}, + "type": "object" + } + ] + } + }, + "required": [ + "query", + "language" + ], + "type": "object" + }, + "sort": { + "items": { + "additionalProperties": { + "anyOf": [ + { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + { + "additionalProperties": false, + "properties": { + "format": { + "type": "string" + }, + "order": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + } + }, + "required": [ + "order" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "numeric_type": { + "enum": [ + "double", + "long", + "date", + "date_nanos" + ], + "type": "string" + }, + "order": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + } + }, + "required": [ + "order" + ], + "type": "object" + } + ] + }, + "type": "object" + }, + "type": "array" + }, + "type": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "options": { + "additionalProperties": false, + "properties": { + "hidePanelTitles": { + "default": false, + "description": "Hide the panel titles in the dashboard.", + "type": "boolean" + }, + "syncColors": { + "default": true, + "description": "Synchronize colors between related panels in the dashboard.", + "type": "boolean" + }, + "syncCursor": { + "default": true, + "description": "Synchronize cursor position between related panels in the dashboard.", + "type": "boolean" + }, + "syncTooltips": { + "default": true, + "description": "Synchronize tooltips between related panels in the dashboard.", + "type": "boolean" + }, + "useMargins": { + "default": true, + "description": "Show margins between panels in the dashboard layout.", + "type": "boolean" + } + }, + "type": "object" + }, + "panels": { + "default": [], + "items": { + "additionalProperties": false, + "properties": { + "gridData": { + "additionalProperties": false, + "properties": { + "h": { + "default": 15, + "description": "The height of the panel in grid units", + "minimum": 1, + "type": "number" + }, + "i": { + "type": "string" + }, + "w": { + "default": 24, + "description": "The width of the panel in grid units", + "maximum": 48, + "minimum": 1, + "type": "number" + }, + "x": { + "description": "The x coordinate of the panel in grid units", + "type": "number" + }, + "y": { + "description": "The y coordinate of the panel in grid units", + "type": "number" + } + }, + "required": [ + "x", + "y", + "i" + ], + "type": "object" + }, + "id": { + "description": "The saved object id for by reference panels", + "type": "string" + }, + "panelConfig": { + "additionalProperties": true, + "properties": { + "description": { + "description": "The description of the panel", + "type": "string" + }, + "enhancements": { + "additionalProperties": {}, + "type": "object" + }, + "hidePanelTitles": { + "description": "Set to true to hide the panel title in its container.", + "type": "boolean" + }, + "savedObjectId": { + "description": "The unique id of the library item to construct the embeddable.", + "type": "string" + }, + "title": { + "description": "The title of the panel", + "type": "string" + }, + "version": { + "description": "The version of the embeddable in the panel.", + "type": "string" + } + }, + "type": "object" + }, + "panelIndex": { + "type": "string" + }, + "panelRefName": { + "type": "string" + }, + "title": { + "description": "The title of the panel", + "type": "string" + }, + "type": { + "description": "The embeddable type", + "type": "string" + }, + "version": { + "deprecated": true, + "description": "The version was used to store Kibana version information from versions 7.3.0 -> 8.11.0. As of version 8.11.0, the versioning information is now per-embeddable-type and is stored on the embeddable's input. (panelConfig in this type).", + "type": "string" + } + }, + "required": [ + "panelConfig", + "type", + "gridData", + "panelIndex" + ], + "type": "object" + }, + "type": "array" + }, + "refreshInterval": { + "additionalProperties": false, + "description": "A container for various refresh interval settings", + "properties": { + "display": { + "deprecated": true, + "description": "A human-readable string indicating the refresh frequency. No longer used.", + "type": "string" + }, + "pause": { + "description": "Whether the refresh interval is set to be paused while viewing the dashboard.", + "type": "boolean" + }, + "section": { + "deprecated": true, + "description": "No longer used.", + "type": "number" + }, + "value": { + "description": "A numeric value indicating refresh frequency in milliseconds.", + "type": "number" + } + }, + "required": [ + "pause", + "value" + ], + "type": "object" + }, + "timeFrom": { + "description": "An ISO string indicating when to restore time from", + "type": "string" + }, + "timeRestore": { + "default": false, + "description": "Whether to restore time upon viewing this dashboard", + "type": "boolean" + }, + "timeTo": { + "description": "An ISO string indicating when to restore time from", + "type": "string" + }, + "title": { + "description": "A human-readable title for the dashboard", + "type": "string" + }, + "version": { + "deprecated": true, + "type": "number" + } + }, + "required": [ + "title", + "options" + ], + "type": "object" + }, + "createdAt": { + "type": "string" + }, + "createdBy": { + "type": "string" + }, + "error": { + "additionalProperties": false, + "properties": { + "error": { + "type": "string" + }, + "message": { + "type": "string" + }, + "metadata": { + "additionalProperties": true, + "properties": {}, + "type": "object" + }, + "statusCode": { + "type": "number" + } + }, + "required": [ + "error", + "message", + "statusCode" + ], + "type": "object" + }, + "id": { + "type": "string" + }, + "managed": { + "type": "boolean" + }, + "namespaces": { + "items": { + "type": "string" + }, + "type": "array" + }, + "originId": { + "type": "string" + }, + "references": { + "items": { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "name", + "type", + "id" + ], + "type": "object" + }, + "type": "array" + }, + "type": { + "type": "string" + }, + "updatedAt": { + "type": "string" + }, + "updatedBy": { + "type": "string" + }, + "version": { + "type": "string" + } + }, + "required": [ + "id", + "type", + "attributes", + "references" + ], + "type": "object" + } + }, + "required": [ + "item" + ], + "type": "object" + } + } + } + } + }, + "summary": "Update an existing dashboard", + "tags": [ + "Dashboards" + ], + "x-state": "Technical Preview" + } + }, "/api/fleet/agent_download_sources": { "get": { "operationId": "get-fleet-agent-download-sources", @@ -38585,6 +41823,9 @@ { "name": "connectors" }, + { + "name": "Dashboards" + }, { "name": "Data streams" }, diff --git a/oas_docs/output/kibana.serverless.yaml b/oas_docs/output/kibana.serverless.yaml index 142c0742614fb..72fc1b093903a 100644 --- a/oas_docs/output/kibana.serverless.yaml +++ b/oas_docs/output/kibana.serverless.yaml @@ -71,6 +71,7 @@ tags: description: Connector documentation url: https://www.elastic.co/docs/current/serverless/action-connectors x-displayName: Connectors + - name: Dashboards - name: Data streams - description: Data view APIs enable you to manage data views, formerly known as Kibana index patterns. name: data views @@ -5195,6 +5196,2321 @@ paths: tags: - Security Entity Analytics API x-beta: true + /api/dashboards/dashboard: + get: + description: 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. + operationId: get-dashboards-dashboard + parameters: + - description: The version of the API to use + in: header + name: elastic-api-version + schema: + default: '2023-10-31' + enum: + - '2023-10-31' + type: string + - description: The page number to return. Default is "1". + in: query + name: page + required: false + schema: + default: 1 + minimum: 1 + type: number + - description: The number of dashboards to display on each page (max 1000). Default is "20". + in: query + name: perPage + required: false + schema: + maximum: 1000 + minimum: 1 + type: number + responses: + '200': + content: + application/json; Elastic-Api-Version=2023-10-31: + schema: + additionalProperties: false + type: object + properties: + items: + items: + additionalProperties: true + type: object + properties: + attributes: + additionalProperties: false + type: object + properties: + description: + default: '' + description: A short description. + type: string + timeRestore: + default: false + description: Whether to restore time upon viewing this dashboard + type: boolean + title: + description: A human-readable title for the dashboard + type: string + required: + - title + createdAt: + type: string + createdBy: + type: string + error: + additionalProperties: false + type: object + properties: + error: + type: string + message: + type: string + metadata: + additionalProperties: true + type: object + properties: {} + statusCode: + type: number + required: + - error + - message + - statusCode + id: + type: string + managed: + type: boolean + namespaces: + items: + type: string + type: array + originId: + type: string + references: + items: + additionalProperties: false + type: object + properties: + id: + type: string + name: + type: string + type: + type: string + required: + - name + - type + - id + type: array + type: + type: string + updatedAt: + type: string + updatedBy: + type: string + version: + type: string + required: + - id + - type + - attributes + - references + type: array + total: + type: number + required: + - items + - total + summary: Get a list of dashboards + tags: + - Dashboards + x-state: Technical Preview + x-beta: true + /api/dashboards/dashboard/{id}: + delete: + description: 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. + operationId: delete-dashboards-dashboard-id + parameters: + - description: The version of the API to use + in: header + name: elastic-api-version + schema: + default: '2023-10-31' + enum: + - '2023-10-31' + type: string + - description: A required header to protect against CSRF attacks + in: header + name: kbn-xsrf + required: true + schema: + example: 'true' + type: string + - description: A unique identifier for the dashboard. + in: path + name: id + required: true + schema: + type: string + responses: {} + summary: Delete a dashboard + tags: + - Dashboards + x-state: Technical Preview + x-beta: true + get: + description: 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. + operationId: get-dashboards-dashboard-id + parameters: + - description: The version of the API to use + in: header + name: elastic-api-version + schema: + default: '2023-10-31' + enum: + - '2023-10-31' + type: string + - description: A unique identifier for the dashboard. + in: path + name: id + required: true + schema: + type: string + responses: + '200': + content: + application/json; Elastic-Api-Version=2023-10-31: + schema: + additionalProperties: false + type: object + properties: + item: + additionalProperties: true + type: object + properties: + attributes: + additionalProperties: false + type: object + properties: + controlGroupInput: + additionalProperties: false + type: object + properties: + autoApplySelections: + default: true + description: Show apply selections button in controls. + type: boolean + chainingSystem: + default: HIERARCHICAL + description: The chaining strategy for multiple controls. For example, "HIERARCHICAL" or "NONE". + enum: + - NONE + - HIERARCHICAL + type: string + controls: + default: [] + description: An array of control panels and their state in the control group. + items: + additionalProperties: true + type: object + properties: + controlConfig: + additionalProperties: {} + type: object + grow: + default: false + description: Expand width of the control panel to fit available space. + type: boolean + id: + description: The unique ID of the control. + type: string + order: + description: The order of the control panel in the control group. + type: number + type: + description: The type of the control panel. + type: string + width: + default: medium + description: Minimum width of the control panel in the control group. + enum: + - small + - medium + - large + type: string + required: + - type + - order + type: array + enhancements: + additionalProperties: {} + type: object + ignoreParentSettings: + additionalProperties: false + type: object + properties: + ignoreFilters: + default: false + description: Ignore global filters in controls. + type: boolean + ignoreQuery: + default: false + description: Ignore the global query bar in controls. + type: boolean + ignoreTimerange: + default: false + description: Ignore the global time range in controls. + type: boolean + ignoreValidations: + default: false + description: Ignore validations in controls. + type: boolean + labelPosition: + default: oneLine + description: Position of the labels for controls. For example, "oneLine", "twoLine". + enum: + - oneLine + - twoLine + type: string + required: + - ignoreParentSettings + description: + default: '' + description: A short description. + type: string + kibanaSavedObjectMeta: + additionalProperties: false + default: {} + description: A container for various metadata + type: object + properties: + searchSource: + additionalProperties: true + type: object + properties: + filter: + items: + additionalProperties: false + description: A filter for the search source. + type: object + properties: + $state: + additionalProperties: false + type: object + properties: + store: + description: Denote whether a filter is specific to an application's context (e.g. 'appState') or whether it should be applied globally (e.g. 'globalState'). + enum: + - appState + - globalState + type: string + required: + - store + meta: + additionalProperties: true + type: object + properties: + alias: + nullable: true + type: string + controlledBy: + type: string + disabled: + type: boolean + field: + type: string + group: + type: string + index: + type: string + isMultiIndex: + type: boolean + key: + type: string + negate: + type: boolean + params: {} + type: + type: string + value: + type: string + required: + - params + query: + additionalProperties: {} + type: object + required: + - meta + type: array + query: + additionalProperties: false + type: object + properties: + language: + description: The query language such as KQL or Lucene. + type: string + query: + anyOf: + - description: A text-based query such as Kibana Query Language (KQL) or Lucene query language. + type: string + - additionalProperties: {} + type: object + required: + - query + - language + sort: + items: + additionalProperties: + anyOf: + - enum: + - asc + - desc + type: string + - additionalProperties: false + type: object + properties: + format: + type: string + order: + enum: + - asc + - desc + type: string + required: + - order + - additionalProperties: false + type: object + properties: + numeric_type: + enum: + - double + - long + - date + - date_nanos + type: string + order: + enum: + - asc + - desc + type: string + required: + - order + type: object + type: array + type: + type: string + options: + additionalProperties: false + type: object + properties: + hidePanelTitles: + default: false + description: Hide the panel titles in the dashboard. + type: boolean + syncColors: + default: true + description: Synchronize colors between related panels in the dashboard. + type: boolean + syncCursor: + default: true + description: Synchronize cursor position between related panels in the dashboard. + type: boolean + syncTooltips: + default: true + description: Synchronize tooltips between related panels in the dashboard. + type: boolean + useMargins: + default: true + description: Show margins between panels in the dashboard layout. + type: boolean + panels: + default: [] + items: + additionalProperties: false + type: object + properties: + gridData: + additionalProperties: false + type: object + properties: + h: + default: 15 + description: The height of the panel in grid units + minimum: 1 + type: number + i: + type: string + w: + default: 24 + description: The width of the panel in grid units + maximum: 48 + minimum: 1 + type: number + x: + description: The x coordinate of the panel in grid units + type: number + 'y': + description: The y coordinate of the panel in grid units + type: number + required: + - x + - 'y' + - i + id: + description: The saved object id for by reference panels + type: string + panelConfig: + additionalProperties: true + type: object + properties: + description: + description: The description of the panel + type: string + enhancements: + additionalProperties: {} + type: object + hidePanelTitles: + description: Set to true to hide the panel title in its container. + type: boolean + savedObjectId: + description: The unique id of the library item to construct the embeddable. + type: string + title: + description: The title of the panel + type: string + version: + description: The version of the embeddable in the panel. + type: string + panelIndex: + type: string + panelRefName: + type: string + title: + description: The title of the panel + type: string + type: + description: The embeddable type + type: string + version: + deprecated: true + description: The version was used to store Kibana version information from versions 7.3.0 -> 8.11.0. As of version 8.11.0, the versioning information is now per-embeddable-type and is stored on the embeddable's input. (panelConfig in this type). + type: string + required: + - panelConfig + - type + - gridData + - panelIndex + type: array + refreshInterval: + additionalProperties: false + description: A container for various refresh interval settings + type: object + properties: + display: + deprecated: true + description: A human-readable string indicating the refresh frequency. No longer used. + type: string + pause: + description: Whether the refresh interval is set to be paused while viewing the dashboard. + type: boolean + section: + deprecated: true + description: No longer used. + type: number + value: + description: A numeric value indicating refresh frequency in milliseconds. + type: number + required: + - pause + - value + timeFrom: + description: An ISO string indicating when to restore time from + type: string + timeRestore: + default: false + description: Whether to restore time upon viewing this dashboard + type: boolean + timeTo: + description: An ISO string indicating when to restore time from + type: string + title: + description: A human-readable title for the dashboard + type: string + version: + deprecated: true + type: number + required: + - title + - options + createdAt: + type: string + createdBy: + type: string + error: + additionalProperties: false + type: object + properties: + error: + type: string + message: + type: string + metadata: + additionalProperties: true + type: object + properties: {} + statusCode: + type: number + required: + - error + - message + - statusCode + id: + type: string + managed: + type: boolean + namespaces: + items: + type: string + type: array + originId: + type: string + references: + items: + additionalProperties: false + type: object + properties: + id: + type: string + name: + type: string + type: + type: string + required: + - name + - type + - id + type: array + type: + type: string + updatedAt: + type: string + updatedBy: + type: string + version: + type: string + required: + - id + - type + - attributes + - references + meta: + additionalProperties: false + type: object + properties: + aliasPurpose: + enum: + - savedObjectConversion + - savedObjectImport + type: string + aliasTargetId: + type: string + outcome: + enum: + - exactMatch + - aliasMatch + - conflict + type: string + required: + - outcome + required: + - item + - meta + summary: Get a dashboard + tags: + - Dashboards + x-state: Technical Preview + x-beta: true + post: + description: 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. + operationId: post-dashboards-dashboard-id + parameters: + - description: The version of the API to use + in: header + name: elastic-api-version + schema: + default: '2023-10-31' + enum: + - '2023-10-31' + type: string + - description: A required header to protect against CSRF attacks + in: header + name: kbn-xsrf + required: true + schema: + example: 'true' + type: string + - description: A unique identifier for the dashboard. + in: path + name: id + required: false + schema: + type: string + requestBody: + content: + application/json; Elastic-Api-Version=2023-10-31: + schema: + additionalProperties: false + type: object + properties: + attributes: + additionalProperties: false + type: object + properties: + controlGroupInput: + additionalProperties: false + type: object + properties: + autoApplySelections: + default: true + description: Show apply selections button in controls. + type: boolean + chainingSystem: + default: HIERARCHICAL + description: The chaining strategy for multiple controls. For example, "HIERARCHICAL" or "NONE". + enum: + - NONE + - HIERARCHICAL + type: string + controls: + default: [] + description: An array of control panels and their state in the control group. + items: + additionalProperties: true + type: object + properties: + controlConfig: + additionalProperties: {} + type: object + grow: + default: false + description: Expand width of the control panel to fit available space. + type: boolean + id: + description: The unique ID of the control. + type: string + order: + description: The order of the control panel in the control group. + type: number + type: + description: The type of the control panel. + type: string + width: + default: medium + description: Minimum width of the control panel in the control group. + enum: + - small + - medium + - large + type: string + required: + - type + - order + type: array + enhancements: + additionalProperties: {} + type: object + ignoreParentSettings: + additionalProperties: false + type: object + properties: + ignoreFilters: + default: false + description: Ignore global filters in controls. + type: boolean + ignoreQuery: + default: false + description: Ignore the global query bar in controls. + type: boolean + ignoreTimerange: + default: false + description: Ignore the global time range in controls. + type: boolean + ignoreValidations: + default: false + description: Ignore validations in controls. + type: boolean + labelPosition: + default: oneLine + description: Position of the labels for controls. For example, "oneLine", "twoLine". + enum: + - oneLine + - twoLine + type: string + required: + - ignoreParentSettings + description: + default: '' + description: A short description. + type: string + kibanaSavedObjectMeta: + additionalProperties: false + default: {} + description: A container for various metadata + type: object + properties: + searchSource: + additionalProperties: true + type: object + properties: + filter: + items: + additionalProperties: false + description: A filter for the search source. + type: object + properties: + $state: + additionalProperties: false + type: object + properties: + store: + description: Denote whether a filter is specific to an application's context (e.g. 'appState') or whether it should be applied globally (e.g. 'globalState'). + enum: + - appState + - globalState + type: string + required: + - store + meta: + additionalProperties: true + type: object + properties: + alias: + nullable: true + type: string + controlledBy: + type: string + disabled: + type: boolean + field: + type: string + group: + type: string + index: + type: string + isMultiIndex: + type: boolean + key: + type: string + negate: + type: boolean + params: {} + type: + type: string + value: + type: string + required: + - params + query: + additionalProperties: {} + type: object + required: + - meta + type: array + query: + additionalProperties: false + type: object + properties: + language: + description: The query language such as KQL or Lucene. + type: string + query: + anyOf: + - description: A text-based query such as Kibana Query Language (KQL) or Lucene query language. + type: string + - additionalProperties: {} + type: object + required: + - query + - language + sort: + items: + additionalProperties: + anyOf: + - enum: + - asc + - desc + type: string + - additionalProperties: false + type: object + properties: + format: + type: string + order: + enum: + - asc + - desc + type: string + required: + - order + - additionalProperties: false + type: object + properties: + numeric_type: + enum: + - double + - long + - date + - date_nanos + type: string + order: + enum: + - asc + - desc + type: string + required: + - order + type: object + type: array + type: + type: string + options: + additionalProperties: false + type: object + properties: + hidePanelTitles: + default: false + description: Hide the panel titles in the dashboard. + type: boolean + syncColors: + default: true + description: Synchronize colors between related panels in the dashboard. + type: boolean + syncCursor: + default: true + description: Synchronize cursor position between related panels in the dashboard. + type: boolean + syncTooltips: + default: true + description: Synchronize tooltips between related panels in the dashboard. + type: boolean + useMargins: + default: true + description: Show margins between panels in the dashboard layout. + type: boolean + panels: + default: [] + items: + additionalProperties: false + type: object + properties: + gridData: + additionalProperties: false + type: object + properties: + h: + default: 15 + description: The height of the panel in grid units + minimum: 1 + type: number + i: + description: The unique identifier of the panel + type: string + w: + default: 24 + description: The width of the panel in grid units + maximum: 48 + minimum: 1 + type: number + x: + description: The x coordinate of the panel in grid units + type: number + 'y': + description: The y coordinate of the panel in grid units + type: number + required: + - x + - 'y' + id: + description: The saved object id for by reference panels + type: string + panelConfig: + additionalProperties: true + type: object + properties: + description: + description: The description of the panel + type: string + enhancements: + additionalProperties: {} + type: object + hidePanelTitles: + description: Set to true to hide the panel title in its container. + type: boolean + savedObjectId: + description: The unique id of the library item to construct the embeddable. + type: string + title: + description: The title of the panel + type: string + version: + description: The version of the embeddable in the panel. + type: string + panelIndex: + description: The unique ID of the panel. + type: string + panelRefName: + type: string + title: + description: The title of the panel + type: string + type: + description: The embeddable type + type: string + version: + deprecated: true + description: The version was used to store Kibana version information from versions 7.3.0 -> 8.11.0. As of version 8.11.0, the versioning information is now per-embeddable-type and is stored on the embeddable's input. (panelConfig in this type). + type: string + required: + - panelConfig + - type + - gridData + type: array + refreshInterval: + additionalProperties: false + description: A container for various refresh interval settings + type: object + properties: + display: + deprecated: true + description: A human-readable string indicating the refresh frequency. No longer used. + type: string + pause: + description: Whether the refresh interval is set to be paused while viewing the dashboard. + type: boolean + section: + deprecated: true + description: No longer used. + type: number + value: + description: A numeric value indicating refresh frequency in milliseconds. + type: number + required: + - pause + - value + timeFrom: + description: An ISO string indicating when to restore time from + type: string + timeRestore: + default: false + description: Whether to restore time upon viewing this dashboard + type: boolean + timeTo: + description: An ISO string indicating when to restore time from + type: string + title: + description: A human-readable title for the dashboard + type: string + version: + deprecated: true + type: number + required: + - title + - options + references: + items: + additionalProperties: false + type: object + properties: + id: + type: string + name: + type: string + type: + type: string + required: + - name + - type + - id + type: array + spaces: + items: + type: string + type: array + required: + - attributes + responses: + '200': + content: + application/json; Elastic-Api-Version=2023-10-31: + schema: + additionalProperties: false + type: object + properties: + item: + additionalProperties: true + type: object + properties: + attributes: + additionalProperties: false + type: object + properties: + controlGroupInput: + additionalProperties: false + type: object + properties: + autoApplySelections: + default: true + description: Show apply selections button in controls. + type: boolean + chainingSystem: + default: HIERARCHICAL + description: The chaining strategy for multiple controls. For example, "HIERARCHICAL" or "NONE". + enum: + - NONE + - HIERARCHICAL + type: string + controls: + default: [] + description: An array of control panels and their state in the control group. + items: + additionalProperties: true + type: object + properties: + controlConfig: + additionalProperties: {} + type: object + grow: + default: false + description: Expand width of the control panel to fit available space. + type: boolean + id: + description: The unique ID of the control. + type: string + order: + description: The order of the control panel in the control group. + type: number + type: + description: The type of the control panel. + type: string + width: + default: medium + description: Minimum width of the control panel in the control group. + enum: + - small + - medium + - large + type: string + required: + - type + - order + type: array + enhancements: + additionalProperties: {} + type: object + ignoreParentSettings: + additionalProperties: false + type: object + properties: + ignoreFilters: + default: false + description: Ignore global filters in controls. + type: boolean + ignoreQuery: + default: false + description: Ignore the global query bar in controls. + type: boolean + ignoreTimerange: + default: false + description: Ignore the global time range in controls. + type: boolean + ignoreValidations: + default: false + description: Ignore validations in controls. + type: boolean + labelPosition: + default: oneLine + description: Position of the labels for controls. For example, "oneLine", "twoLine". + enum: + - oneLine + - twoLine + type: string + required: + - ignoreParentSettings + description: + default: '' + description: A short description. + type: string + kibanaSavedObjectMeta: + additionalProperties: false + default: {} + description: A container for various metadata + type: object + properties: + searchSource: + additionalProperties: true + type: object + properties: + filter: + items: + additionalProperties: false + description: A filter for the search source. + type: object + properties: + $state: + additionalProperties: false + type: object + properties: + store: + description: Denote whether a filter is specific to an application's context (e.g. 'appState') or whether it should be applied globally (e.g. 'globalState'). + enum: + - appState + - globalState + type: string + required: + - store + meta: + additionalProperties: true + type: object + properties: + alias: + nullable: true + type: string + controlledBy: + type: string + disabled: + type: boolean + field: + type: string + group: + type: string + index: + type: string + isMultiIndex: + type: boolean + key: + type: string + negate: + type: boolean + params: {} + type: + type: string + value: + type: string + required: + - params + query: + additionalProperties: {} + type: object + required: + - meta + type: array + query: + additionalProperties: false + type: object + properties: + language: + description: The query language such as KQL or Lucene. + type: string + query: + anyOf: + - description: A text-based query such as Kibana Query Language (KQL) or Lucene query language. + type: string + - additionalProperties: {} + type: object + required: + - query + - language + sort: + items: + additionalProperties: + anyOf: + - enum: + - asc + - desc + type: string + - additionalProperties: false + type: object + properties: + format: + type: string + order: + enum: + - asc + - desc + type: string + required: + - order + - additionalProperties: false + type: object + properties: + numeric_type: + enum: + - double + - long + - date + - date_nanos + type: string + order: + enum: + - asc + - desc + type: string + required: + - order + type: object + type: array + type: + type: string + options: + additionalProperties: false + type: object + properties: + hidePanelTitles: + default: false + description: Hide the panel titles in the dashboard. + type: boolean + syncColors: + default: true + description: Synchronize colors between related panels in the dashboard. + type: boolean + syncCursor: + default: true + description: Synchronize cursor position between related panels in the dashboard. + type: boolean + syncTooltips: + default: true + description: Synchronize tooltips between related panels in the dashboard. + type: boolean + useMargins: + default: true + description: Show margins between panels in the dashboard layout. + type: boolean + panels: + default: [] + items: + additionalProperties: false + type: object + properties: + gridData: + additionalProperties: false + type: object + properties: + h: + default: 15 + description: The height of the panel in grid units + minimum: 1 + type: number + i: + type: string + w: + default: 24 + description: The width of the panel in grid units + maximum: 48 + minimum: 1 + type: number + x: + description: The x coordinate of the panel in grid units + type: number + 'y': + description: The y coordinate of the panel in grid units + type: number + required: + - x + - 'y' + - i + id: + description: The saved object id for by reference panels + type: string + panelConfig: + additionalProperties: true + type: object + properties: + description: + description: The description of the panel + type: string + enhancements: + additionalProperties: {} + type: object + hidePanelTitles: + description: Set to true to hide the panel title in its container. + type: boolean + savedObjectId: + description: The unique id of the library item to construct the embeddable. + type: string + title: + description: The title of the panel + type: string + version: + description: The version of the embeddable in the panel. + type: string + panelIndex: + type: string + panelRefName: + type: string + title: + description: The title of the panel + type: string + type: + description: The embeddable type + type: string + version: + deprecated: true + description: The version was used to store Kibana version information from versions 7.3.0 -> 8.11.0. As of version 8.11.0, the versioning information is now per-embeddable-type and is stored on the embeddable's input. (panelConfig in this type). + type: string + required: + - panelConfig + - type + - gridData + - panelIndex + type: array + refreshInterval: + additionalProperties: false + description: A container for various refresh interval settings + type: object + properties: + display: + deprecated: true + description: A human-readable string indicating the refresh frequency. No longer used. + type: string + pause: + description: Whether the refresh interval is set to be paused while viewing the dashboard. + type: boolean + section: + deprecated: true + description: No longer used. + type: number + value: + description: A numeric value indicating refresh frequency in milliseconds. + type: number + required: + - pause + - value + timeFrom: + description: An ISO string indicating when to restore time from + type: string + timeRestore: + default: false + description: Whether to restore time upon viewing this dashboard + type: boolean + timeTo: + description: An ISO string indicating when to restore time from + type: string + title: + description: A human-readable title for the dashboard + type: string + version: + deprecated: true + type: number + required: + - title + - options + createdAt: + type: string + createdBy: + type: string + error: + additionalProperties: false + type: object + properties: + error: + type: string + message: + type: string + metadata: + additionalProperties: true + type: object + properties: {} + statusCode: + type: number + required: + - error + - message + - statusCode + id: + type: string + managed: + type: boolean + namespaces: + items: + type: string + type: array + originId: + type: string + references: + items: + additionalProperties: false + type: object + properties: + id: + type: string + name: + type: string + type: + type: string + required: + - name + - type + - id + type: array + type: + type: string + updatedAt: + type: string + updatedBy: + type: string + version: + type: string + required: + - id + - type + - attributes + - references + required: + - item + summary: Create a dashboard + tags: + - Dashboards + x-state: Technical Preview + x-beta: true + put: + description: 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. + operationId: put-dashboards-dashboard-id + parameters: + - description: The version of the API to use + in: header + name: elastic-api-version + schema: + default: '2023-10-31' + enum: + - '2023-10-31' + type: string + - description: A required header to protect against CSRF attacks + in: header + name: kbn-xsrf + required: true + schema: + example: 'true' + type: string + - description: A unique identifier for the dashboard. + in: path + name: id + required: true + schema: + type: string + requestBody: + content: + application/json; Elastic-Api-Version=2023-10-31: + schema: + additionalProperties: false + type: object + properties: + attributes: + additionalProperties: false + type: object + properties: + controlGroupInput: + additionalProperties: false + type: object + properties: + autoApplySelections: + default: true + description: Show apply selections button in controls. + type: boolean + chainingSystem: + default: HIERARCHICAL + description: The chaining strategy for multiple controls. For example, "HIERARCHICAL" or "NONE". + enum: + - NONE + - HIERARCHICAL + type: string + controls: + default: [] + description: An array of control panels and their state in the control group. + items: + additionalProperties: true + type: object + properties: + controlConfig: + additionalProperties: {} + type: object + grow: + default: false + description: Expand width of the control panel to fit available space. + type: boolean + id: + description: The unique ID of the control. + type: string + order: + description: The order of the control panel in the control group. + type: number + type: + description: The type of the control panel. + type: string + width: + default: medium + description: Minimum width of the control panel in the control group. + enum: + - small + - medium + - large + type: string + required: + - type + - order + type: array + enhancements: + additionalProperties: {} + type: object + ignoreParentSettings: + additionalProperties: false + type: object + properties: + ignoreFilters: + default: false + description: Ignore global filters in controls. + type: boolean + ignoreQuery: + default: false + description: Ignore the global query bar in controls. + type: boolean + ignoreTimerange: + default: false + description: Ignore the global time range in controls. + type: boolean + ignoreValidations: + default: false + description: Ignore validations in controls. + type: boolean + labelPosition: + default: oneLine + description: Position of the labels for controls. For example, "oneLine", "twoLine". + enum: + - oneLine + - twoLine + type: string + required: + - ignoreParentSettings + description: + default: '' + description: A short description. + type: string + kibanaSavedObjectMeta: + additionalProperties: false + default: {} + description: A container for various metadata + type: object + properties: + searchSource: + additionalProperties: true + type: object + properties: + filter: + items: + additionalProperties: false + description: A filter for the search source. + type: object + properties: + $state: + additionalProperties: false + type: object + properties: + store: + description: Denote whether a filter is specific to an application's context (e.g. 'appState') or whether it should be applied globally (e.g. 'globalState'). + enum: + - appState + - globalState + type: string + required: + - store + meta: + additionalProperties: true + type: object + properties: + alias: + nullable: true + type: string + controlledBy: + type: string + disabled: + type: boolean + field: + type: string + group: + type: string + index: + type: string + isMultiIndex: + type: boolean + key: + type: string + negate: + type: boolean + params: {} + type: + type: string + value: + type: string + required: + - params + query: + additionalProperties: {} + type: object + required: + - meta + type: array + query: + additionalProperties: false + type: object + properties: + language: + description: The query language such as KQL or Lucene. + type: string + query: + anyOf: + - description: A text-based query such as Kibana Query Language (KQL) or Lucene query language. + type: string + - additionalProperties: {} + type: object + required: + - query + - language + sort: + items: + additionalProperties: + anyOf: + - enum: + - asc + - desc + type: string + - additionalProperties: false + type: object + properties: + format: + type: string + order: + enum: + - asc + - desc + type: string + required: + - order + - additionalProperties: false + type: object + properties: + numeric_type: + enum: + - double + - long + - date + - date_nanos + type: string + order: + enum: + - asc + - desc + type: string + required: + - order + type: object + type: array + type: + type: string + options: + additionalProperties: false + type: object + properties: + hidePanelTitles: + default: false + description: Hide the panel titles in the dashboard. + type: boolean + syncColors: + default: true + description: Synchronize colors between related panels in the dashboard. + type: boolean + syncCursor: + default: true + description: Synchronize cursor position between related panels in the dashboard. + type: boolean + syncTooltips: + default: true + description: Synchronize tooltips between related panels in the dashboard. + type: boolean + useMargins: + default: true + description: Show margins between panels in the dashboard layout. + type: boolean + panels: + default: [] + items: + additionalProperties: false + type: object + properties: + gridData: + additionalProperties: false + type: object + properties: + h: + default: 15 + description: The height of the panel in grid units + minimum: 1 + type: number + i: + description: The unique identifier of the panel + type: string + w: + default: 24 + description: The width of the panel in grid units + maximum: 48 + minimum: 1 + type: number + x: + description: The x coordinate of the panel in grid units + type: number + 'y': + description: The y coordinate of the panel in grid units + type: number + required: + - x + - 'y' + id: + description: The saved object id for by reference panels + type: string + panelConfig: + additionalProperties: true + type: object + properties: + description: + description: The description of the panel + type: string + enhancements: + additionalProperties: {} + type: object + hidePanelTitles: + description: Set to true to hide the panel title in its container. + type: boolean + savedObjectId: + description: The unique id of the library item to construct the embeddable. + type: string + title: + description: The title of the panel + type: string + version: + description: The version of the embeddable in the panel. + type: string + panelIndex: + description: The unique ID of the panel. + type: string + panelRefName: + type: string + title: + description: The title of the panel + type: string + type: + description: The embeddable type + type: string + version: + deprecated: true + description: The version was used to store Kibana version information from versions 7.3.0 -> 8.11.0. As of version 8.11.0, the versioning information is now per-embeddable-type and is stored on the embeddable's input. (panelConfig in this type). + type: string + required: + - panelConfig + - type + - gridData + type: array + refreshInterval: + additionalProperties: false + description: A container for various refresh interval settings + type: object + properties: + display: + deprecated: true + description: A human-readable string indicating the refresh frequency. No longer used. + type: string + pause: + description: Whether the refresh interval is set to be paused while viewing the dashboard. + type: boolean + section: + deprecated: true + description: No longer used. + type: number + value: + description: A numeric value indicating refresh frequency in milliseconds. + type: number + required: + - pause + - value + timeFrom: + description: An ISO string indicating when to restore time from + type: string + timeRestore: + default: false + description: Whether to restore time upon viewing this dashboard + type: boolean + timeTo: + description: An ISO string indicating when to restore time from + type: string + title: + description: A human-readable title for the dashboard + type: string + version: + deprecated: true + type: number + required: + - title + - options + references: + items: + additionalProperties: false + type: object + properties: + id: + type: string + name: + type: string + type: + type: string + required: + - name + - type + - id + type: array + required: + - attributes + responses: + '200': + content: + application/json; Elastic-Api-Version=2023-10-31: + schema: + additionalProperties: false + type: object + properties: + item: + additionalProperties: true + type: object + properties: + attributes: + additionalProperties: false + type: object + properties: + controlGroupInput: + additionalProperties: false + type: object + properties: + autoApplySelections: + default: true + description: Show apply selections button in controls. + type: boolean + chainingSystem: + default: HIERARCHICAL + description: The chaining strategy for multiple controls. For example, "HIERARCHICAL" or "NONE". + enum: + - NONE + - HIERARCHICAL + type: string + controls: + default: [] + description: An array of control panels and their state in the control group. + items: + additionalProperties: true + type: object + properties: + controlConfig: + additionalProperties: {} + type: object + grow: + default: false + description: Expand width of the control panel to fit available space. + type: boolean + id: + description: The unique ID of the control. + type: string + order: + description: The order of the control panel in the control group. + type: number + type: + description: The type of the control panel. + type: string + width: + default: medium + description: Minimum width of the control panel in the control group. + enum: + - small + - medium + - large + type: string + required: + - type + - order + type: array + enhancements: + additionalProperties: {} + type: object + ignoreParentSettings: + additionalProperties: false + type: object + properties: + ignoreFilters: + default: false + description: Ignore global filters in controls. + type: boolean + ignoreQuery: + default: false + description: Ignore the global query bar in controls. + type: boolean + ignoreTimerange: + default: false + description: Ignore the global time range in controls. + type: boolean + ignoreValidations: + default: false + description: Ignore validations in controls. + type: boolean + labelPosition: + default: oneLine + description: Position of the labels for controls. For example, "oneLine", "twoLine". + enum: + - oneLine + - twoLine + type: string + required: + - ignoreParentSettings + description: + default: '' + description: A short description. + type: string + kibanaSavedObjectMeta: + additionalProperties: false + default: {} + description: A container for various metadata + type: object + properties: + searchSource: + additionalProperties: true + type: object + properties: + filter: + items: + additionalProperties: false + description: A filter for the search source. + type: object + properties: + $state: + additionalProperties: false + type: object + properties: + store: + description: Denote whether a filter is specific to an application's context (e.g. 'appState') or whether it should be applied globally (e.g. 'globalState'). + enum: + - appState + - globalState + type: string + required: + - store + meta: + additionalProperties: true + type: object + properties: + alias: + nullable: true + type: string + controlledBy: + type: string + disabled: + type: boolean + field: + type: string + group: + type: string + index: + type: string + isMultiIndex: + type: boolean + key: + type: string + negate: + type: boolean + params: {} + type: + type: string + value: + type: string + required: + - params + query: + additionalProperties: {} + type: object + required: + - meta + type: array + query: + additionalProperties: false + type: object + properties: + language: + description: The query language such as KQL or Lucene. + type: string + query: + anyOf: + - description: A text-based query such as Kibana Query Language (KQL) or Lucene query language. + type: string + - additionalProperties: {} + type: object + required: + - query + - language + sort: + items: + additionalProperties: + anyOf: + - enum: + - asc + - desc + type: string + - additionalProperties: false + type: object + properties: + format: + type: string + order: + enum: + - asc + - desc + type: string + required: + - order + - additionalProperties: false + type: object + properties: + numeric_type: + enum: + - double + - long + - date + - date_nanos + type: string + order: + enum: + - asc + - desc + type: string + required: + - order + type: object + type: array + type: + type: string + options: + additionalProperties: false + type: object + properties: + hidePanelTitles: + default: false + description: Hide the panel titles in the dashboard. + type: boolean + syncColors: + default: true + description: Synchronize colors between related panels in the dashboard. + type: boolean + syncCursor: + default: true + description: Synchronize cursor position between related panels in the dashboard. + type: boolean + syncTooltips: + default: true + description: Synchronize tooltips between related panels in the dashboard. + type: boolean + useMargins: + default: true + description: Show margins between panels in the dashboard layout. + type: boolean + panels: + default: [] + items: + additionalProperties: false + type: object + properties: + gridData: + additionalProperties: false + type: object + properties: + h: + default: 15 + description: The height of the panel in grid units + minimum: 1 + type: number + i: + type: string + w: + default: 24 + description: The width of the panel in grid units + maximum: 48 + minimum: 1 + type: number + x: + description: The x coordinate of the panel in grid units + type: number + 'y': + description: The y coordinate of the panel in grid units + type: number + required: + - x + - 'y' + - i + id: + description: The saved object id for by reference panels + type: string + panelConfig: + additionalProperties: true + type: object + properties: + description: + description: The description of the panel + type: string + enhancements: + additionalProperties: {} + type: object + hidePanelTitles: + description: Set to true to hide the panel title in its container. + type: boolean + savedObjectId: + description: The unique id of the library item to construct the embeddable. + type: string + title: + description: The title of the panel + type: string + version: + description: The version of the embeddable in the panel. + type: string + panelIndex: + type: string + panelRefName: + type: string + title: + description: The title of the panel + type: string + type: + description: The embeddable type + type: string + version: + deprecated: true + description: The version was used to store Kibana version information from versions 7.3.0 -> 8.11.0. As of version 8.11.0, the versioning information is now per-embeddable-type and is stored on the embeddable's input. (panelConfig in this type). + type: string + required: + - panelConfig + - type + - gridData + - panelIndex + type: array + refreshInterval: + additionalProperties: false + description: A container for various refresh interval settings + type: object + properties: + display: + deprecated: true + description: A human-readable string indicating the refresh frequency. No longer used. + type: string + pause: + description: Whether the refresh interval is set to be paused while viewing the dashboard. + type: boolean + section: + deprecated: true + description: No longer used. + type: number + value: + description: A numeric value indicating refresh frequency in milliseconds. + type: number + required: + - pause + - value + timeFrom: + description: An ISO string indicating when to restore time from + type: string + timeRestore: + default: false + description: Whether to restore time upon viewing this dashboard + type: boolean + timeTo: + description: An ISO string indicating when to restore time from + type: string + title: + description: A human-readable title for the dashboard + type: string + version: + deprecated: true + type: number + required: + - title + - options + createdAt: + type: string + createdBy: + type: string + error: + additionalProperties: false + type: object + properties: + error: + type: string + message: + type: string + metadata: + additionalProperties: true + type: object + properties: {} + statusCode: + type: number + required: + - error + - message + - statusCode + id: + type: string + managed: + type: boolean + namespaces: + items: + type: string + type: array + originId: + type: string + references: + items: + additionalProperties: false + type: object + properties: + id: + type: string + name: + type: string + type: + type: string + required: + - name + - type + - id + type: array + type: + type: string + updatedAt: + type: string + updatedBy: + type: string + version: + type: string + required: + - id + - type + - attributes + - references + required: + - item + summary: Update an existing dashboard + tags: + - Dashboards + x-state: Technical Preview + x-beta: true /api/data_views: get: operationId: getAllDataViewsDefault diff --git a/oas_docs/output/kibana.yaml b/oas_docs/output/kibana.yaml index 0abbcc4b4a102..3c56597469133 100644 --- a/oas_docs/output/kibana.yaml +++ b/oas_docs/output/kibana.yaml @@ -85,6 +85,7 @@ tags: description: Connector documentation url: https://www.elastic.co/guide/en/kibana/current/action-types.html x-displayName: Connectors + - name: Dashboards - name: Data streams - description: Data view APIs enable you to manage data views, formerly known as Kibana index patterns. name: data views @@ -7465,6 +7466,2316 @@ paths: summary: Get case tags tags: - cases + /api/dashboards/dashboard: + get: + description: 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. + operationId: get-dashboards-dashboard + parameters: + - description: The version of the API to use + in: header + name: elastic-api-version + schema: + default: '2023-10-31' + enum: + - '2023-10-31' + type: string + - description: The page number to return. Default is "1". + in: query + name: page + required: false + schema: + default: 1 + minimum: 1 + type: number + - description: The number of dashboards to display on each page (max 1000). Default is "20". + in: query + name: perPage + required: false + schema: + maximum: 1000 + minimum: 1 + type: number + responses: + '200': + content: + application/json; Elastic-Api-Version=2023-10-31: + schema: + additionalProperties: false + type: object + properties: + items: + items: + additionalProperties: true + type: object + properties: + attributes: + additionalProperties: false + type: object + properties: + description: + default: '' + description: A short description. + type: string + timeRestore: + default: false + description: Whether to restore time upon viewing this dashboard + type: boolean + title: + description: A human-readable title for the dashboard + type: string + required: + - title + createdAt: + type: string + createdBy: + type: string + error: + additionalProperties: false + type: object + properties: + error: + type: string + message: + type: string + metadata: + additionalProperties: true + type: object + properties: {} + statusCode: + type: number + required: + - error + - message + - statusCode + id: + type: string + managed: + type: boolean + namespaces: + items: + type: string + type: array + originId: + type: string + references: + items: + additionalProperties: false + type: object + properties: + id: + type: string + name: + type: string + type: + type: string + required: + - name + - type + - id + type: array + type: + type: string + updatedAt: + type: string + updatedBy: + type: string + version: + type: string + required: + - id + - type + - attributes + - references + type: array + total: + type: number + required: + - items + - total + summary: Get a list of dashboards + tags: + - Dashboards + x-state: Technical Preview + /api/dashboards/dashboard/{id}: + delete: + description: 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. + operationId: delete-dashboards-dashboard-id + parameters: + - description: The version of the API to use + in: header + name: elastic-api-version + schema: + default: '2023-10-31' + enum: + - '2023-10-31' + type: string + - description: A required header to protect against CSRF attacks + in: header + name: kbn-xsrf + required: true + schema: + example: 'true' + type: string + - description: A unique identifier for the dashboard. + in: path + name: id + required: true + schema: + type: string + responses: {} + summary: Delete a dashboard + tags: + - Dashboards + x-state: Technical Preview + get: + description: 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. + operationId: get-dashboards-dashboard-id + parameters: + - description: The version of the API to use + in: header + name: elastic-api-version + schema: + default: '2023-10-31' + enum: + - '2023-10-31' + type: string + - description: A unique identifier for the dashboard. + in: path + name: id + required: true + schema: + type: string + responses: + '200': + content: + application/json; Elastic-Api-Version=2023-10-31: + schema: + additionalProperties: false + type: object + properties: + item: + additionalProperties: true + type: object + properties: + attributes: + additionalProperties: false + type: object + properties: + controlGroupInput: + additionalProperties: false + type: object + properties: + autoApplySelections: + default: true + description: Show apply selections button in controls. + type: boolean + chainingSystem: + default: HIERARCHICAL + description: The chaining strategy for multiple controls. For example, "HIERARCHICAL" or "NONE". + enum: + - NONE + - HIERARCHICAL + type: string + controls: + default: [] + description: An array of control panels and their state in the control group. + items: + additionalProperties: true + type: object + properties: + controlConfig: + additionalProperties: {} + type: object + grow: + default: false + description: Expand width of the control panel to fit available space. + type: boolean + id: + description: The unique ID of the control. + type: string + order: + description: The order of the control panel in the control group. + type: number + type: + description: The type of the control panel. + type: string + width: + default: medium + description: Minimum width of the control panel in the control group. + enum: + - small + - medium + - large + type: string + required: + - type + - order + type: array + enhancements: + additionalProperties: {} + type: object + ignoreParentSettings: + additionalProperties: false + type: object + properties: + ignoreFilters: + default: false + description: Ignore global filters in controls. + type: boolean + ignoreQuery: + default: false + description: Ignore the global query bar in controls. + type: boolean + ignoreTimerange: + default: false + description: Ignore the global time range in controls. + type: boolean + ignoreValidations: + default: false + description: Ignore validations in controls. + type: boolean + labelPosition: + default: oneLine + description: Position of the labels for controls. For example, "oneLine", "twoLine". + enum: + - oneLine + - twoLine + type: string + required: + - ignoreParentSettings + description: + default: '' + description: A short description. + type: string + kibanaSavedObjectMeta: + additionalProperties: false + default: {} + description: A container for various metadata + type: object + properties: + searchSource: + additionalProperties: true + type: object + properties: + filter: + items: + additionalProperties: false + description: A filter for the search source. + type: object + properties: + $state: + additionalProperties: false + type: object + properties: + store: + description: Denote whether a filter is specific to an application's context (e.g. 'appState') or whether it should be applied globally (e.g. 'globalState'). + enum: + - appState + - globalState + type: string + required: + - store + meta: + additionalProperties: true + type: object + properties: + alias: + nullable: true + type: string + controlledBy: + type: string + disabled: + type: boolean + field: + type: string + group: + type: string + index: + type: string + isMultiIndex: + type: boolean + key: + type: string + negate: + type: boolean + params: {} + type: + type: string + value: + type: string + required: + - params + query: + additionalProperties: {} + type: object + required: + - meta + type: array + query: + additionalProperties: false + type: object + properties: + language: + description: The query language such as KQL or Lucene. + type: string + query: + anyOf: + - description: A text-based query such as Kibana Query Language (KQL) or Lucene query language. + type: string + - additionalProperties: {} + type: object + required: + - query + - language + sort: + items: + additionalProperties: + anyOf: + - enum: + - asc + - desc + type: string + - additionalProperties: false + type: object + properties: + format: + type: string + order: + enum: + - asc + - desc + type: string + required: + - order + - additionalProperties: false + type: object + properties: + numeric_type: + enum: + - double + - long + - date + - date_nanos + type: string + order: + enum: + - asc + - desc + type: string + required: + - order + type: object + type: array + type: + type: string + options: + additionalProperties: false + type: object + properties: + hidePanelTitles: + default: false + description: Hide the panel titles in the dashboard. + type: boolean + syncColors: + default: true + description: Synchronize colors between related panels in the dashboard. + type: boolean + syncCursor: + default: true + description: Synchronize cursor position between related panels in the dashboard. + type: boolean + syncTooltips: + default: true + description: Synchronize tooltips between related panels in the dashboard. + type: boolean + useMargins: + default: true + description: Show margins between panels in the dashboard layout. + type: boolean + panels: + default: [] + items: + additionalProperties: false + type: object + properties: + gridData: + additionalProperties: false + type: object + properties: + h: + default: 15 + description: The height of the panel in grid units + minimum: 1 + type: number + i: + type: string + w: + default: 24 + description: The width of the panel in grid units + maximum: 48 + minimum: 1 + type: number + x: + description: The x coordinate of the panel in grid units + type: number + 'y': + description: The y coordinate of the panel in grid units + type: number + required: + - x + - 'y' + - i + id: + description: The saved object id for by reference panels + type: string + panelConfig: + additionalProperties: true + type: object + properties: + description: + description: The description of the panel + type: string + enhancements: + additionalProperties: {} + type: object + hidePanelTitles: + description: Set to true to hide the panel title in its container. + type: boolean + savedObjectId: + description: The unique id of the library item to construct the embeddable. + type: string + title: + description: The title of the panel + type: string + version: + description: The version of the embeddable in the panel. + type: string + panelIndex: + type: string + panelRefName: + type: string + title: + description: The title of the panel + type: string + type: + description: The embeddable type + type: string + version: + deprecated: true + description: The version was used to store Kibana version information from versions 7.3.0 -> 8.11.0. As of version 8.11.0, the versioning information is now per-embeddable-type and is stored on the embeddable's input. (panelConfig in this type). + type: string + required: + - panelConfig + - type + - gridData + - panelIndex + type: array + refreshInterval: + additionalProperties: false + description: A container for various refresh interval settings + type: object + properties: + display: + deprecated: true + description: A human-readable string indicating the refresh frequency. No longer used. + type: string + pause: + description: Whether the refresh interval is set to be paused while viewing the dashboard. + type: boolean + section: + deprecated: true + description: No longer used. + type: number + value: + description: A numeric value indicating refresh frequency in milliseconds. + type: number + required: + - pause + - value + timeFrom: + description: An ISO string indicating when to restore time from + type: string + timeRestore: + default: false + description: Whether to restore time upon viewing this dashboard + type: boolean + timeTo: + description: An ISO string indicating when to restore time from + type: string + title: + description: A human-readable title for the dashboard + type: string + version: + deprecated: true + type: number + required: + - title + - options + createdAt: + type: string + createdBy: + type: string + error: + additionalProperties: false + type: object + properties: + error: + type: string + message: + type: string + metadata: + additionalProperties: true + type: object + properties: {} + statusCode: + type: number + required: + - error + - message + - statusCode + id: + type: string + managed: + type: boolean + namespaces: + items: + type: string + type: array + originId: + type: string + references: + items: + additionalProperties: false + type: object + properties: + id: + type: string + name: + type: string + type: + type: string + required: + - name + - type + - id + type: array + type: + type: string + updatedAt: + type: string + updatedBy: + type: string + version: + type: string + required: + - id + - type + - attributes + - references + meta: + additionalProperties: false + type: object + properties: + aliasPurpose: + enum: + - savedObjectConversion + - savedObjectImport + type: string + aliasTargetId: + type: string + outcome: + enum: + - exactMatch + - aliasMatch + - conflict + type: string + required: + - outcome + required: + - item + - meta + summary: Get a dashboard + tags: + - Dashboards + x-state: Technical Preview + post: + description: 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. + operationId: post-dashboards-dashboard-id + parameters: + - description: The version of the API to use + in: header + name: elastic-api-version + schema: + default: '2023-10-31' + enum: + - '2023-10-31' + type: string + - description: A required header to protect against CSRF attacks + in: header + name: kbn-xsrf + required: true + schema: + example: 'true' + type: string + - description: A unique identifier for the dashboard. + in: path + name: id + required: false + schema: + type: string + requestBody: + content: + application/json; Elastic-Api-Version=2023-10-31: + schema: + additionalProperties: false + type: object + properties: + attributes: + additionalProperties: false + type: object + properties: + controlGroupInput: + additionalProperties: false + type: object + properties: + autoApplySelections: + default: true + description: Show apply selections button in controls. + type: boolean + chainingSystem: + default: HIERARCHICAL + description: The chaining strategy for multiple controls. For example, "HIERARCHICAL" or "NONE". + enum: + - NONE + - HIERARCHICAL + type: string + controls: + default: [] + description: An array of control panels and their state in the control group. + items: + additionalProperties: true + type: object + properties: + controlConfig: + additionalProperties: {} + type: object + grow: + default: false + description: Expand width of the control panel to fit available space. + type: boolean + id: + description: The unique ID of the control. + type: string + order: + description: The order of the control panel in the control group. + type: number + type: + description: The type of the control panel. + type: string + width: + default: medium + description: Minimum width of the control panel in the control group. + enum: + - small + - medium + - large + type: string + required: + - type + - order + type: array + enhancements: + additionalProperties: {} + type: object + ignoreParentSettings: + additionalProperties: false + type: object + properties: + ignoreFilters: + default: false + description: Ignore global filters in controls. + type: boolean + ignoreQuery: + default: false + description: Ignore the global query bar in controls. + type: boolean + ignoreTimerange: + default: false + description: Ignore the global time range in controls. + type: boolean + ignoreValidations: + default: false + description: Ignore validations in controls. + type: boolean + labelPosition: + default: oneLine + description: Position of the labels for controls. For example, "oneLine", "twoLine". + enum: + - oneLine + - twoLine + type: string + required: + - ignoreParentSettings + description: + default: '' + description: A short description. + type: string + kibanaSavedObjectMeta: + additionalProperties: false + default: {} + description: A container for various metadata + type: object + properties: + searchSource: + additionalProperties: true + type: object + properties: + filter: + items: + additionalProperties: false + description: A filter for the search source. + type: object + properties: + $state: + additionalProperties: false + type: object + properties: + store: + description: Denote whether a filter is specific to an application's context (e.g. 'appState') or whether it should be applied globally (e.g. 'globalState'). + enum: + - appState + - globalState + type: string + required: + - store + meta: + additionalProperties: true + type: object + properties: + alias: + nullable: true + type: string + controlledBy: + type: string + disabled: + type: boolean + field: + type: string + group: + type: string + index: + type: string + isMultiIndex: + type: boolean + key: + type: string + negate: + type: boolean + params: {} + type: + type: string + value: + type: string + required: + - params + query: + additionalProperties: {} + type: object + required: + - meta + type: array + query: + additionalProperties: false + type: object + properties: + language: + description: The query language such as KQL or Lucene. + type: string + query: + anyOf: + - description: A text-based query such as Kibana Query Language (KQL) or Lucene query language. + type: string + - additionalProperties: {} + type: object + required: + - query + - language + sort: + items: + additionalProperties: + anyOf: + - enum: + - asc + - desc + type: string + - additionalProperties: false + type: object + properties: + format: + type: string + order: + enum: + - asc + - desc + type: string + required: + - order + - additionalProperties: false + type: object + properties: + numeric_type: + enum: + - double + - long + - date + - date_nanos + type: string + order: + enum: + - asc + - desc + type: string + required: + - order + type: object + type: array + type: + type: string + options: + additionalProperties: false + type: object + properties: + hidePanelTitles: + default: false + description: Hide the panel titles in the dashboard. + type: boolean + syncColors: + default: true + description: Synchronize colors between related panels in the dashboard. + type: boolean + syncCursor: + default: true + description: Synchronize cursor position between related panels in the dashboard. + type: boolean + syncTooltips: + default: true + description: Synchronize tooltips between related panels in the dashboard. + type: boolean + useMargins: + default: true + description: Show margins between panels in the dashboard layout. + type: boolean + panels: + default: [] + items: + additionalProperties: false + type: object + properties: + gridData: + additionalProperties: false + type: object + properties: + h: + default: 15 + description: The height of the panel in grid units + minimum: 1 + type: number + i: + description: The unique identifier of the panel + type: string + w: + default: 24 + description: The width of the panel in grid units + maximum: 48 + minimum: 1 + type: number + x: + description: The x coordinate of the panel in grid units + type: number + 'y': + description: The y coordinate of the panel in grid units + type: number + required: + - x + - 'y' + id: + description: The saved object id for by reference panels + type: string + panelConfig: + additionalProperties: true + type: object + properties: + description: + description: The description of the panel + type: string + enhancements: + additionalProperties: {} + type: object + hidePanelTitles: + description: Set to true to hide the panel title in its container. + type: boolean + savedObjectId: + description: The unique id of the library item to construct the embeddable. + type: string + title: + description: The title of the panel + type: string + version: + description: The version of the embeddable in the panel. + type: string + panelIndex: + description: The unique ID of the panel. + type: string + panelRefName: + type: string + title: + description: The title of the panel + type: string + type: + description: The embeddable type + type: string + version: + deprecated: true + description: The version was used to store Kibana version information from versions 7.3.0 -> 8.11.0. As of version 8.11.0, the versioning information is now per-embeddable-type and is stored on the embeddable's input. (panelConfig in this type). + type: string + required: + - panelConfig + - type + - gridData + type: array + refreshInterval: + additionalProperties: false + description: A container for various refresh interval settings + type: object + properties: + display: + deprecated: true + description: A human-readable string indicating the refresh frequency. No longer used. + type: string + pause: + description: Whether the refresh interval is set to be paused while viewing the dashboard. + type: boolean + section: + deprecated: true + description: No longer used. + type: number + value: + description: A numeric value indicating refresh frequency in milliseconds. + type: number + required: + - pause + - value + timeFrom: + description: An ISO string indicating when to restore time from + type: string + timeRestore: + default: false + description: Whether to restore time upon viewing this dashboard + type: boolean + timeTo: + description: An ISO string indicating when to restore time from + type: string + title: + description: A human-readable title for the dashboard + type: string + version: + deprecated: true + type: number + required: + - title + - options + references: + items: + additionalProperties: false + type: object + properties: + id: + type: string + name: + type: string + type: + type: string + required: + - name + - type + - id + type: array + spaces: + items: + type: string + type: array + required: + - attributes + responses: + '200': + content: + application/json; Elastic-Api-Version=2023-10-31: + schema: + additionalProperties: false + type: object + properties: + item: + additionalProperties: true + type: object + properties: + attributes: + additionalProperties: false + type: object + properties: + controlGroupInput: + additionalProperties: false + type: object + properties: + autoApplySelections: + default: true + description: Show apply selections button in controls. + type: boolean + chainingSystem: + default: HIERARCHICAL + description: The chaining strategy for multiple controls. For example, "HIERARCHICAL" or "NONE". + enum: + - NONE + - HIERARCHICAL + type: string + controls: + default: [] + description: An array of control panels and their state in the control group. + items: + additionalProperties: true + type: object + properties: + controlConfig: + additionalProperties: {} + type: object + grow: + default: false + description: Expand width of the control panel to fit available space. + type: boolean + id: + description: The unique ID of the control. + type: string + order: + description: The order of the control panel in the control group. + type: number + type: + description: The type of the control panel. + type: string + width: + default: medium + description: Minimum width of the control panel in the control group. + enum: + - small + - medium + - large + type: string + required: + - type + - order + type: array + enhancements: + additionalProperties: {} + type: object + ignoreParentSettings: + additionalProperties: false + type: object + properties: + ignoreFilters: + default: false + description: Ignore global filters in controls. + type: boolean + ignoreQuery: + default: false + description: Ignore the global query bar in controls. + type: boolean + ignoreTimerange: + default: false + description: Ignore the global time range in controls. + type: boolean + ignoreValidations: + default: false + description: Ignore validations in controls. + type: boolean + labelPosition: + default: oneLine + description: Position of the labels for controls. For example, "oneLine", "twoLine". + enum: + - oneLine + - twoLine + type: string + required: + - ignoreParentSettings + description: + default: '' + description: A short description. + type: string + kibanaSavedObjectMeta: + additionalProperties: false + default: {} + description: A container for various metadata + type: object + properties: + searchSource: + additionalProperties: true + type: object + properties: + filter: + items: + additionalProperties: false + description: A filter for the search source. + type: object + properties: + $state: + additionalProperties: false + type: object + properties: + store: + description: Denote whether a filter is specific to an application's context (e.g. 'appState') or whether it should be applied globally (e.g. 'globalState'). + enum: + - appState + - globalState + type: string + required: + - store + meta: + additionalProperties: true + type: object + properties: + alias: + nullable: true + type: string + controlledBy: + type: string + disabled: + type: boolean + field: + type: string + group: + type: string + index: + type: string + isMultiIndex: + type: boolean + key: + type: string + negate: + type: boolean + params: {} + type: + type: string + value: + type: string + required: + - params + query: + additionalProperties: {} + type: object + required: + - meta + type: array + query: + additionalProperties: false + type: object + properties: + language: + description: The query language such as KQL or Lucene. + type: string + query: + anyOf: + - description: A text-based query such as Kibana Query Language (KQL) or Lucene query language. + type: string + - additionalProperties: {} + type: object + required: + - query + - language + sort: + items: + additionalProperties: + anyOf: + - enum: + - asc + - desc + type: string + - additionalProperties: false + type: object + properties: + format: + type: string + order: + enum: + - asc + - desc + type: string + required: + - order + - additionalProperties: false + type: object + properties: + numeric_type: + enum: + - double + - long + - date + - date_nanos + type: string + order: + enum: + - asc + - desc + type: string + required: + - order + type: object + type: array + type: + type: string + options: + additionalProperties: false + type: object + properties: + hidePanelTitles: + default: false + description: Hide the panel titles in the dashboard. + type: boolean + syncColors: + default: true + description: Synchronize colors between related panels in the dashboard. + type: boolean + syncCursor: + default: true + description: Synchronize cursor position between related panels in the dashboard. + type: boolean + syncTooltips: + default: true + description: Synchronize tooltips between related panels in the dashboard. + type: boolean + useMargins: + default: true + description: Show margins between panels in the dashboard layout. + type: boolean + panels: + default: [] + items: + additionalProperties: false + type: object + properties: + gridData: + additionalProperties: false + type: object + properties: + h: + default: 15 + description: The height of the panel in grid units + minimum: 1 + type: number + i: + type: string + w: + default: 24 + description: The width of the panel in grid units + maximum: 48 + minimum: 1 + type: number + x: + description: The x coordinate of the panel in grid units + type: number + 'y': + description: The y coordinate of the panel in grid units + type: number + required: + - x + - 'y' + - i + id: + description: The saved object id for by reference panels + type: string + panelConfig: + additionalProperties: true + type: object + properties: + description: + description: The description of the panel + type: string + enhancements: + additionalProperties: {} + type: object + hidePanelTitles: + description: Set to true to hide the panel title in its container. + type: boolean + savedObjectId: + description: The unique id of the library item to construct the embeddable. + type: string + title: + description: The title of the panel + type: string + version: + description: The version of the embeddable in the panel. + type: string + panelIndex: + type: string + panelRefName: + type: string + title: + description: The title of the panel + type: string + type: + description: The embeddable type + type: string + version: + deprecated: true + description: The version was used to store Kibana version information from versions 7.3.0 -> 8.11.0. As of version 8.11.0, the versioning information is now per-embeddable-type and is stored on the embeddable's input. (panelConfig in this type). + type: string + required: + - panelConfig + - type + - gridData + - panelIndex + type: array + refreshInterval: + additionalProperties: false + description: A container for various refresh interval settings + type: object + properties: + display: + deprecated: true + description: A human-readable string indicating the refresh frequency. No longer used. + type: string + pause: + description: Whether the refresh interval is set to be paused while viewing the dashboard. + type: boolean + section: + deprecated: true + description: No longer used. + type: number + value: + description: A numeric value indicating refresh frequency in milliseconds. + type: number + required: + - pause + - value + timeFrom: + description: An ISO string indicating when to restore time from + type: string + timeRestore: + default: false + description: Whether to restore time upon viewing this dashboard + type: boolean + timeTo: + description: An ISO string indicating when to restore time from + type: string + title: + description: A human-readable title for the dashboard + type: string + version: + deprecated: true + type: number + required: + - title + - options + createdAt: + type: string + createdBy: + type: string + error: + additionalProperties: false + type: object + properties: + error: + type: string + message: + type: string + metadata: + additionalProperties: true + type: object + properties: {} + statusCode: + type: number + required: + - error + - message + - statusCode + id: + type: string + managed: + type: boolean + namespaces: + items: + type: string + type: array + originId: + type: string + references: + items: + additionalProperties: false + type: object + properties: + id: + type: string + name: + type: string + type: + type: string + required: + - name + - type + - id + type: array + type: + type: string + updatedAt: + type: string + updatedBy: + type: string + version: + type: string + required: + - id + - type + - attributes + - references + required: + - item + summary: Create a dashboard + tags: + - Dashboards + x-state: Technical Preview + put: + description: 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. + operationId: put-dashboards-dashboard-id + parameters: + - description: The version of the API to use + in: header + name: elastic-api-version + schema: + default: '2023-10-31' + enum: + - '2023-10-31' + type: string + - description: A required header to protect against CSRF attacks + in: header + name: kbn-xsrf + required: true + schema: + example: 'true' + type: string + - description: A unique identifier for the dashboard. + in: path + name: id + required: true + schema: + type: string + requestBody: + content: + application/json; Elastic-Api-Version=2023-10-31: + schema: + additionalProperties: false + type: object + properties: + attributes: + additionalProperties: false + type: object + properties: + controlGroupInput: + additionalProperties: false + type: object + properties: + autoApplySelections: + default: true + description: Show apply selections button in controls. + type: boolean + chainingSystem: + default: HIERARCHICAL + description: The chaining strategy for multiple controls. For example, "HIERARCHICAL" or "NONE". + enum: + - NONE + - HIERARCHICAL + type: string + controls: + default: [] + description: An array of control panels and their state in the control group. + items: + additionalProperties: true + type: object + properties: + controlConfig: + additionalProperties: {} + type: object + grow: + default: false + description: Expand width of the control panel to fit available space. + type: boolean + id: + description: The unique ID of the control. + type: string + order: + description: The order of the control panel in the control group. + type: number + type: + description: The type of the control panel. + type: string + width: + default: medium + description: Minimum width of the control panel in the control group. + enum: + - small + - medium + - large + type: string + required: + - type + - order + type: array + enhancements: + additionalProperties: {} + type: object + ignoreParentSettings: + additionalProperties: false + type: object + properties: + ignoreFilters: + default: false + description: Ignore global filters in controls. + type: boolean + ignoreQuery: + default: false + description: Ignore the global query bar in controls. + type: boolean + ignoreTimerange: + default: false + description: Ignore the global time range in controls. + type: boolean + ignoreValidations: + default: false + description: Ignore validations in controls. + type: boolean + labelPosition: + default: oneLine + description: Position of the labels for controls. For example, "oneLine", "twoLine". + enum: + - oneLine + - twoLine + type: string + required: + - ignoreParentSettings + description: + default: '' + description: A short description. + type: string + kibanaSavedObjectMeta: + additionalProperties: false + default: {} + description: A container for various metadata + type: object + properties: + searchSource: + additionalProperties: true + type: object + properties: + filter: + items: + additionalProperties: false + description: A filter for the search source. + type: object + properties: + $state: + additionalProperties: false + type: object + properties: + store: + description: Denote whether a filter is specific to an application's context (e.g. 'appState') or whether it should be applied globally (e.g. 'globalState'). + enum: + - appState + - globalState + type: string + required: + - store + meta: + additionalProperties: true + type: object + properties: + alias: + nullable: true + type: string + controlledBy: + type: string + disabled: + type: boolean + field: + type: string + group: + type: string + index: + type: string + isMultiIndex: + type: boolean + key: + type: string + negate: + type: boolean + params: {} + type: + type: string + value: + type: string + required: + - params + query: + additionalProperties: {} + type: object + required: + - meta + type: array + query: + additionalProperties: false + type: object + properties: + language: + description: The query language such as KQL or Lucene. + type: string + query: + anyOf: + - description: A text-based query such as Kibana Query Language (KQL) or Lucene query language. + type: string + - additionalProperties: {} + type: object + required: + - query + - language + sort: + items: + additionalProperties: + anyOf: + - enum: + - asc + - desc + type: string + - additionalProperties: false + type: object + properties: + format: + type: string + order: + enum: + - asc + - desc + type: string + required: + - order + - additionalProperties: false + type: object + properties: + numeric_type: + enum: + - double + - long + - date + - date_nanos + type: string + order: + enum: + - asc + - desc + type: string + required: + - order + type: object + type: array + type: + type: string + options: + additionalProperties: false + type: object + properties: + hidePanelTitles: + default: false + description: Hide the panel titles in the dashboard. + type: boolean + syncColors: + default: true + description: Synchronize colors between related panels in the dashboard. + type: boolean + syncCursor: + default: true + description: Synchronize cursor position between related panels in the dashboard. + type: boolean + syncTooltips: + default: true + description: Synchronize tooltips between related panels in the dashboard. + type: boolean + useMargins: + default: true + description: Show margins between panels in the dashboard layout. + type: boolean + panels: + default: [] + items: + additionalProperties: false + type: object + properties: + gridData: + additionalProperties: false + type: object + properties: + h: + default: 15 + description: The height of the panel in grid units + minimum: 1 + type: number + i: + description: The unique identifier of the panel + type: string + w: + default: 24 + description: The width of the panel in grid units + maximum: 48 + minimum: 1 + type: number + x: + description: The x coordinate of the panel in grid units + type: number + 'y': + description: The y coordinate of the panel in grid units + type: number + required: + - x + - 'y' + id: + description: The saved object id for by reference panels + type: string + panelConfig: + additionalProperties: true + type: object + properties: + description: + description: The description of the panel + type: string + enhancements: + additionalProperties: {} + type: object + hidePanelTitles: + description: Set to true to hide the panel title in its container. + type: boolean + savedObjectId: + description: The unique id of the library item to construct the embeddable. + type: string + title: + description: The title of the panel + type: string + version: + description: The version of the embeddable in the panel. + type: string + panelIndex: + description: The unique ID of the panel. + type: string + panelRefName: + type: string + title: + description: The title of the panel + type: string + type: + description: The embeddable type + type: string + version: + deprecated: true + description: The version was used to store Kibana version information from versions 7.3.0 -> 8.11.0. As of version 8.11.0, the versioning information is now per-embeddable-type and is stored on the embeddable's input. (panelConfig in this type). + type: string + required: + - panelConfig + - type + - gridData + type: array + refreshInterval: + additionalProperties: false + description: A container for various refresh interval settings + type: object + properties: + display: + deprecated: true + description: A human-readable string indicating the refresh frequency. No longer used. + type: string + pause: + description: Whether the refresh interval is set to be paused while viewing the dashboard. + type: boolean + section: + deprecated: true + description: No longer used. + type: number + value: + description: A numeric value indicating refresh frequency in milliseconds. + type: number + required: + - pause + - value + timeFrom: + description: An ISO string indicating when to restore time from + type: string + timeRestore: + default: false + description: Whether to restore time upon viewing this dashboard + type: boolean + timeTo: + description: An ISO string indicating when to restore time from + type: string + title: + description: A human-readable title for the dashboard + type: string + version: + deprecated: true + type: number + required: + - title + - options + references: + items: + additionalProperties: false + type: object + properties: + id: + type: string + name: + type: string + type: + type: string + required: + - name + - type + - id + type: array + required: + - attributes + responses: + '200': + content: + application/json; Elastic-Api-Version=2023-10-31: + schema: + additionalProperties: false + type: object + properties: + item: + additionalProperties: true + type: object + properties: + attributes: + additionalProperties: false + type: object + properties: + controlGroupInput: + additionalProperties: false + type: object + properties: + autoApplySelections: + default: true + description: Show apply selections button in controls. + type: boolean + chainingSystem: + default: HIERARCHICAL + description: The chaining strategy for multiple controls. For example, "HIERARCHICAL" or "NONE". + enum: + - NONE + - HIERARCHICAL + type: string + controls: + default: [] + description: An array of control panels and their state in the control group. + items: + additionalProperties: true + type: object + properties: + controlConfig: + additionalProperties: {} + type: object + grow: + default: false + description: Expand width of the control panel to fit available space. + type: boolean + id: + description: The unique ID of the control. + type: string + order: + description: The order of the control panel in the control group. + type: number + type: + description: The type of the control panel. + type: string + width: + default: medium + description: Minimum width of the control panel in the control group. + enum: + - small + - medium + - large + type: string + required: + - type + - order + type: array + enhancements: + additionalProperties: {} + type: object + ignoreParentSettings: + additionalProperties: false + type: object + properties: + ignoreFilters: + default: false + description: Ignore global filters in controls. + type: boolean + ignoreQuery: + default: false + description: Ignore the global query bar in controls. + type: boolean + ignoreTimerange: + default: false + description: Ignore the global time range in controls. + type: boolean + ignoreValidations: + default: false + description: Ignore validations in controls. + type: boolean + labelPosition: + default: oneLine + description: Position of the labels for controls. For example, "oneLine", "twoLine". + enum: + - oneLine + - twoLine + type: string + required: + - ignoreParentSettings + description: + default: '' + description: A short description. + type: string + kibanaSavedObjectMeta: + additionalProperties: false + default: {} + description: A container for various metadata + type: object + properties: + searchSource: + additionalProperties: true + type: object + properties: + filter: + items: + additionalProperties: false + description: A filter for the search source. + type: object + properties: + $state: + additionalProperties: false + type: object + properties: + store: + description: Denote whether a filter is specific to an application's context (e.g. 'appState') or whether it should be applied globally (e.g. 'globalState'). + enum: + - appState + - globalState + type: string + required: + - store + meta: + additionalProperties: true + type: object + properties: + alias: + nullable: true + type: string + controlledBy: + type: string + disabled: + type: boolean + field: + type: string + group: + type: string + index: + type: string + isMultiIndex: + type: boolean + key: + type: string + negate: + type: boolean + params: {} + type: + type: string + value: + type: string + required: + - params + query: + additionalProperties: {} + type: object + required: + - meta + type: array + query: + additionalProperties: false + type: object + properties: + language: + description: The query language such as KQL or Lucene. + type: string + query: + anyOf: + - description: A text-based query such as Kibana Query Language (KQL) or Lucene query language. + type: string + - additionalProperties: {} + type: object + required: + - query + - language + sort: + items: + additionalProperties: + anyOf: + - enum: + - asc + - desc + type: string + - additionalProperties: false + type: object + properties: + format: + type: string + order: + enum: + - asc + - desc + type: string + required: + - order + - additionalProperties: false + type: object + properties: + numeric_type: + enum: + - double + - long + - date + - date_nanos + type: string + order: + enum: + - asc + - desc + type: string + required: + - order + type: object + type: array + type: + type: string + options: + additionalProperties: false + type: object + properties: + hidePanelTitles: + default: false + description: Hide the panel titles in the dashboard. + type: boolean + syncColors: + default: true + description: Synchronize colors between related panels in the dashboard. + type: boolean + syncCursor: + default: true + description: Synchronize cursor position between related panels in the dashboard. + type: boolean + syncTooltips: + default: true + description: Synchronize tooltips between related panels in the dashboard. + type: boolean + useMargins: + default: true + description: Show margins between panels in the dashboard layout. + type: boolean + panels: + default: [] + items: + additionalProperties: false + type: object + properties: + gridData: + additionalProperties: false + type: object + properties: + h: + default: 15 + description: The height of the panel in grid units + minimum: 1 + type: number + i: + type: string + w: + default: 24 + description: The width of the panel in grid units + maximum: 48 + minimum: 1 + type: number + x: + description: The x coordinate of the panel in grid units + type: number + 'y': + description: The y coordinate of the panel in grid units + type: number + required: + - x + - 'y' + - i + id: + description: The saved object id for by reference panels + type: string + panelConfig: + additionalProperties: true + type: object + properties: + description: + description: The description of the panel + type: string + enhancements: + additionalProperties: {} + type: object + hidePanelTitles: + description: Set to true to hide the panel title in its container. + type: boolean + savedObjectId: + description: The unique id of the library item to construct the embeddable. + type: string + title: + description: The title of the panel + type: string + version: + description: The version of the embeddable in the panel. + type: string + panelIndex: + type: string + panelRefName: + type: string + title: + description: The title of the panel + type: string + type: + description: The embeddable type + type: string + version: + deprecated: true + description: The version was used to store Kibana version information from versions 7.3.0 -> 8.11.0. As of version 8.11.0, the versioning information is now per-embeddable-type and is stored on the embeddable's input. (panelConfig in this type). + type: string + required: + - panelConfig + - type + - gridData + - panelIndex + type: array + refreshInterval: + additionalProperties: false + description: A container for various refresh interval settings + type: object + properties: + display: + deprecated: true + description: A human-readable string indicating the refresh frequency. No longer used. + type: string + pause: + description: Whether the refresh interval is set to be paused while viewing the dashboard. + type: boolean + section: + deprecated: true + description: No longer used. + type: number + value: + description: A numeric value indicating refresh frequency in milliseconds. + type: number + required: + - pause + - value + timeFrom: + description: An ISO string indicating when to restore time from + type: string + timeRestore: + default: false + description: Whether to restore time upon viewing this dashboard + type: boolean + timeTo: + description: An ISO string indicating when to restore time from + type: string + title: + description: A human-readable title for the dashboard + type: string + version: + deprecated: true + type: number + required: + - title + - options + createdAt: + type: string + createdBy: + type: string + error: + additionalProperties: false + type: object + properties: + error: + type: string + message: + type: string + metadata: + additionalProperties: true + type: object + properties: {} + statusCode: + type: number + required: + - error + - message + - statusCode + id: + type: string + managed: + type: boolean + namespaces: + items: + type: string + type: array + originId: + type: string + references: + items: + additionalProperties: false + type: object + properties: + id: + type: string + name: + type: string + type: + type: string + required: + - name + - type + - id + type: array + type: + type: string + updatedAt: + type: string + updatedBy: + type: string + version: + type: string + required: + - id + - type + - attributes + - references + required: + - item + summary: Update an existing dashboard + tags: + - Dashboards + x-state: Technical Preview /api/data_views: get: operationId: getAllDataViewsDefault diff --git a/src/plugins/dashboard/server/api/register_routes.ts b/src/plugins/dashboard/server/api/register_routes.ts index 692942e1bd1bb..6cdd8704cf46e 100644 --- a/src/plugins/dashboard/server/api/register_routes.ts +++ b/src/plugins/dashboard/server/api/register_routes.ts @@ -53,6 +53,9 @@ export function registerAPIRoutes({ description: TECHNICAL_PREVIEW_WARNING, options: { tags: ['oas-tag:Dashboards'], + availability: { + stability: 'experimental', + }, }, }); @@ -62,7 +65,11 @@ export function registerAPIRoutes({ validate: { request: { params: schema.object({ - id: schema.maybe(schema.string()), + id: schema.maybe( + schema.string({ + meta: { description: 'A unique identifier for the dashboard.' }, + }) + ), }), body: schema.object({ attributes: dashboardAttributesSchema, @@ -115,10 +122,13 @@ export function registerAPIRoutes({ const updateRoute = versionedRouter.put({ path: `${PUBLIC_API_PATH}/{id}`, access: 'public', - summary: `Update an existing dashboard.`, + summary: `Update an existing dashboard`, description: TECHNICAL_PREVIEW_WARNING, options: { tags: ['oas-tag:Dashboards'], + availability: { + stability: 'experimental', + }, }, }); @@ -128,7 +138,9 @@ export function registerAPIRoutes({ validate: { request: { params: schema.object({ - id: schema.string(), + id: schema.string({ + meta: { description: 'A unique identifier for the dashboard.' }, + }), }), body: schema.object({ attributes: dashboardAttributesSchema, @@ -172,10 +184,13 @@ export function registerAPIRoutes({ const listRoute = versionedRouter.get({ path: `${PUBLIC_API_PATH}`, access: 'public', - summary: `Get a list of dashboards.`, + summary: `Get a list of dashboards`, description: TECHNICAL_PREVIEW_WARNING, options: { tags: ['oas-tag:Dashboards'], + availability: { + stability: 'experimental', + }, }, }); @@ -185,8 +200,22 @@ export function registerAPIRoutes({ validate: { request: { query: schema.object({ - page: schema.number({ defaultValue: 1 }), - perPage: schema.maybe(schema.number()), + page: schema.number({ + meta: { description: 'The page number to return. Default is "1".' }, + min: 1, + defaultValue: 1, + }), + perPage: schema.maybe( + schema.number({ + meta: { + description: + 'The number of dashboards to display on each page (max 1000). Default is "20".', + }, + defaultValue: 20, + min: 1, + max: 1000, + }) + ), }), }, response: { @@ -229,10 +258,13 @@ export function registerAPIRoutes({ const getRoute = versionedRouter.get({ path: `${PUBLIC_API_PATH}/{id}`, access: 'public', - summary: `Get a dashboard.`, + summary: `Get a dashboard`, description: TECHNICAL_PREVIEW_WARNING, options: { tags: ['oas-tag:Dashboards'], + availability: { + stability: 'experimental', + }, }, }); @@ -242,7 +274,11 @@ export function registerAPIRoutes({ validate: { request: { params: schema.object({ - id: schema.string(), + id: schema.string({ + meta: { + description: 'A unique identifier for the dashboard.', + }, + }), }), }, response: { @@ -283,10 +319,13 @@ export function registerAPIRoutes({ const deleteRoute = versionedRouter.delete({ path: `${PUBLIC_API_PATH}/{id}`, access: 'public', - summary: `Delete a dashboard.`, + summary: `Delete a dashboard`, description: TECHNICAL_PREVIEW_WARNING, options: { tags: ['oas-tag:Dashboards'], + availability: { + stability: 'experimental', + }, }, }); @@ -296,7 +335,11 @@ export function registerAPIRoutes({ validate: { request: { params: schema.object({ - id: schema.string(), + id: schema.string({ + meta: { + description: 'A unique identifier for the dashboard.', + }, + }), }), }, }, diff --git a/src/plugins/dashboard/server/content_management/v3/cm_services.ts b/src/plugins/dashboard/server/content_management/v3/cm_services.ts index d2a53309704c6..78b13b43322e1 100644 --- a/src/plugins/dashboard/server/content_management/v3/cm_services.ts +++ b/src/plugins/dashboard/server/content_management/v3/cm_services.ts @@ -7,7 +7,6 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ -import { v4 as uuidv4 } from 'uuid'; import { schema, Type } from '@kbn/config-schema'; import { createOptionsSchemas, updateOptionsSchema } from '@kbn/content-management-utils'; import type { ContentManagementServicesDefinition as ServicesDefinition } from '@kbn/object-versioning'; @@ -50,10 +49,11 @@ export const controlGroupInputSchema = schema.object({ { type: schema.string({ meta: { description: 'The type of the control panel.' } }), controlConfig: schema.maybe(schema.recordOf(schema.string(), schema.any())), - id: schema.string({ - defaultValue: uuidv4(), - meta: { description: 'The unique ID of the control.' }, - }), + id: schema.maybe( + schema.string({ + meta: { description: 'The unique ID of the control.' }, + }) + ), order: schema.number({ meta: { description: 'The order of the control panel in the control group.', @@ -243,10 +243,11 @@ export const gridDataSchema = schema.object({ min: 1, meta: { description: 'The height of the panel in grid units' }, }), - i: schema.string({ - meta: { description: 'The unique identifier of the panel' }, - defaultValue: uuidv4(), - }), + i: schema.maybe( + schema.string({ + meta: { description: 'The unique identifier of the panel' }, + }) + ), }); export const panelSchema = schema.object({ @@ -284,10 +285,11 @@ export const panelSchema = schema.object({ type: schema.string({ meta: { description: 'The embeddable type' } }), panelRefName: schema.maybe(schema.string()), gridData: gridDataSchema, - panelIndex: schema.string({ - meta: { description: 'The unique ID of the panel.' }, - defaultValue: schema.siblingRef('gridData.i'), - }), + panelIndex: schema.maybe( + schema.string({ + meta: { description: 'The unique ID of the panel.' }, + }) + ), title: schema.maybe(schema.string({ meta: { description: 'The title of the panel' } })), version: schema.maybe( schema.string({ @@ -409,6 +411,19 @@ export const referenceSchema = schema.object( { unknowns: 'forbid' } ); +const dashboardAttributesSchemaResponse = dashboardAttributesSchema.extends({ + panels: schema.arrayOf( + panelSchema.extends({ + // Responses always include the panel index and gridData.i + panelIndex: schema.string(), + gridData: gridDataSchema.extends({ + i: schema.string(), + }), + }), + { defaultValue: [] } + ), +}); + export const dashboardItemSchema = schema.object( { id: schema.string(), @@ -420,7 +435,7 @@ export const dashboardItemSchema = schema.object( updatedBy: schema.maybe(schema.string()), managed: schema.maybe(schema.boolean()), error: schema.maybe(apiError), - attributes: dashboardAttributesSchema, + attributes: dashboardAttributesSchemaResponse, references: schema.arrayOf(referenceSchema), namespaces: schema.maybe(schema.arrayOf(schema.string())), originId: schema.maybe(schema.string()), diff --git a/src/plugins/dashboard/server/content_management/v3/types.ts b/src/plugins/dashboard/server/content_management/v3/types.ts index 36f277ff3b268..0c7144569aba2 100644 --- a/src/plugins/dashboard/server/content_management/v3/types.ts +++ b/src/plugins/dashboard/server/content_management/v3/types.ts @@ -16,6 +16,7 @@ import { UpdateIn, } from '@kbn/content-management-plugin/common'; import { SavedObjectReference } from '@kbn/core-saved-objects-api-server'; +import { WithRequiredProperty } from '@kbn/utility-types'; import { dashboardItemSchema, controlGroupInputSchema, @@ -40,6 +41,7 @@ export type DashboardOptions = TypeOf; // recognize this, so we need to manually extend the type here. export type DashboardPanel = Omit, 'panelConfig'> & { panelConfig: TypeOf['panelConfig'] & { [key: string]: any }; + gridData: GridData; }; export type DashboardAttributes = Omit, 'panels'> & { panels: DashboardPanel[]; @@ -52,7 +54,7 @@ export type PartialDashboardItem = Omit; -export type GridData = TypeOf; +export type GridData = WithRequiredProperty, 'i'>; export type DashboardGetIn = GetIn; export type DashboardGetOut = TypeOf;