npm package: @dynatrace-sdk/client-davis-analyzers
Description: Davis AI - Predictive and Causal
Latest version: 1.9.8

# @dynatrace-sdk/client-davis-analyzers

[![npm](https://img.shields.io/badge/npm-v1.9.8-blue)](https://www.npmjs.com/package/@dynatrace-sdk/client-davis-analyzers/v/1.9.8)
[![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)

This API allows you to interact with Davis® predictive and causal AI for customized AI/ML analysis.

Refer to the [service documentation](https://dt-url.net/platform-services-davis-analyzer-service) to get familiar with the key concepts.



## Installation

```bash
npm install @dynatrace-sdk/client-davis-analyzers
```


## Getting help

- Visit [SDK for Typescript](https://developer.dynatrace.com/reference/sdks/) guide in the [Dynatrace Developer](https://developer.dynatrace.com/)
- Ask a question in the [Dynatrace Community](https://community.dynatrace.com/)


## License

This SDK is distributed under the [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0), see LICENSE for more information.


# API reference

Full API reference for the latest version of the SDK is also available at the [Dynatrace Developer](https://developer.dynatrace.com/reference/sdks/client-davis-analyzers/).

## analyzersClient

```js
import { analyzersClient } from '@dynatrace-sdk/client-davis-analyzers';
```


<a name="cancelanalyzerexecution"></a>
### cancelAnalyzerExecution

<div class="padding-bottom--md">
<strong>analyzersClient.cancelAnalyzerExecution(config): Promise&lt;void &#124; <a href="#analyzercancelresult">AnalyzerCancelResult</a>&gt;</strong>

<div class="padding-left--md">

Stop a started analyzer execution.

**Required scope:** davis:analyzers:execute

Use the request token that was returned when starting an analyzer execution to cancel it.



</div>


#### Parameters

| Name | Type | Description |
| --- | --- | --- |
|config.analyzerName<sup>*required</sup>|[string](https://developer.mozilla.org/en-US/docs/Glossary/String)|The name of the analyzer. |
|config.requestToken<sup>*required</sup>|[string](https://developer.mozilla.org/en-US/docs/Glossary/String)|<p>The request token is returned when starting a long-running analyzer execution. It can be used to do follow-up operations like polling and cancelling.</p>  |




#### Returns

| Return type | Status code | Description |
|---|---|---|
|[AnalyzerCancelResult](#analyzercancelresult)|200|The current analyzer execution status and an optional partial result.|
|void|202|The cancel request was accepted and is being processed.|


#### Throws

| Error Type | Error Message |
|---|---|
|AnalyzerErrorEnvelopeError|Invalid or malformed request. &#124; Insufficient permissions. &#124; No analyzer available with the requested name. &#124; The analyzer result with the request token has already been consumed or its time-to-live (TTL) has been reached. The result is not available anymore. &#124; Client error. &#124; Internal server error.|


<details>
<summary>
Code example
</summary>

```ts
import { analyzersClient } from "@dynatrace-sdk/client-davis-analyzers";

const data = await analyzersClient.cancelAnalyzerExecution({
  analyzerName: "...",
  requestToken: "RHluYXRyYWNlMjAyMw==",
});
```

</details>



</div>


<a name="executeanalyzer"></a>
### executeAnalyzer

<div class="padding-bottom--md">
<strong>analyzersClient.executeAnalyzer(config): Promise&lt;<a href="#analyzerexecuteresult" target="_blank" rel="noopener noreferrer">AnalyzerExecuteResult</a>&gt;</strong>

<div class="padding-left--md">

Execute an analyzer with the given input.

**Required scope:** davis:analyzers:execute

The analyzer execution is started asynchronously.
If the result is not available after the specified timeout, a request token is returned
to poll for the result. Otherwise, the final result is directly available and no request token is returned.

Depending on the chosen analyzer and the analyzer input, additional scopes might be required, e.g.
`storage:buckets:read` and `storage:metrics:read` to enable the analyzer to read time series data from Grail™.



</div>


#### Parameters

| Name | Type | Description |
| --- | --- | --- |
|config.analyzerName<sup>*required</sup>|[string](https://developer.mozilla.org/en-US/docs/Glossary/String)|The name of the analyzer. |
|config.body<sup>*required</sup>|<a href="#analyzerinput">AnalyzerInput</a>| |
|config.enablePreview|[boolean](https://developer.mozilla.org/en-US/docs/Glossary/Boolean)|<p>Indicates if analyzer results should preview already created outputs while the analyzer is still running.</p> <p>Set to false if only the final result is needed.</p>  |
|config.timeoutSeconds|[number](https://developer.mozilla.org/en-US/docs/Glossary/Number)|<p>The amount of seconds to wait for the response to be returned.</p> <p>The timeout controls how long the client is willing to wait, while the analyzer execution continues running until it has finished or is cancelled.</p>  |




#### Returns

| Return type | Status code | Description |
|---|---|---|
|[AnalyzerExecuteResult](#analyzerexecuteresult)|200|The final analyzer result and execution status.|
|[AnalyzerExecuteResult](#analyzerexecuteresult)|202|The current analyzer execution status and a request token and time-to-live (TTL) to continue polling the result with.|


#### Throws

| Error Type | Error Message |
|---|---|
|AnalyzerErrorEnvelopeError|Invalid or malformed request. &#124; Insufficient permissions. &#124; No analyzer available with the requested name. &#124; Client error. &#124; Internal server error.|


<details>
<summary>
Code example
</summary>

```ts
import { analyzersClient } from "@dynatrace-sdk/client-davis-analyzers";

const data = await analyzersClient.executeAnalyzer({
  analyzerName: "...",
  body: {
    timeSeriesData: {
      expression: "timeseries avg(dt.host.cpu.usage)",
    },
    forecastHorizon: 10,
  },
});
```

</details>



</div>


<a name="getanalyzer"></a>
### getAnalyzer

<div class="padding-bottom--md">
<strong>analyzersClient.getAnalyzer(config): Promise&lt;<a href="#analyzerdefinitiondetails" target="_blank" rel="noopener noreferrer">AnalyzerDefinitionDetails</a>&gt;</strong>

<div class="padding-left--md">

Get the analyzer definition for an analyzer.

**Required scope:** davis:analyzers:read

All available meta-information for the analyzer is returned.



</div>


#### Parameters

| Name | Type | Description |
| --- | --- | --- |
|config.analyzerName<sup>*required</sup>|[string](https://developer.mozilla.org/en-US/docs/Glossary/String)|The name of the analyzer. |




#### Returns

| Return type | Status code | Description |
|---|---|---|
|[AnalyzerDefinitionDetails](#analyzerdefinitiondetails)|200|The definition of the requested analyzer.|


#### Throws

| Error Type | Error Message |
|---|---|
|AnalyzerErrorEnvelopeError|Invalid or malformed request. &#124; Insufficient permissions. &#124; No analyzer available with the requested name. &#124; Client error. &#124; Internal server error.|


<details>
<summary>
Code example
</summary>

```ts
import { analyzersClient } from "@dynatrace-sdk/client-davis-analyzers";

const data = await analyzersClient.getAnalyzer({
  analyzerName: "...",
});
```

</details>



</div>


<a name="getanalyzerdocumentation"></a>
### getAnalyzerDocumentation

<div class="padding-bottom--md">
<strong>analyzersClient.getAnalyzerDocumentation(config): Promise&lt;Binary&gt;</strong>

<div class="padding-left--md">

Get the documentation for an analyzer.

**Required scope:** davis:analyzers:read

A documentation may provide further information and context for a given analyzer.
Not all analyzers provide documentation.

The documentation is returned as Markdown.



</div>


#### Parameters

| Name | Type | Description |
| --- | --- | --- |
|config.analyzerName<sup>*required</sup>|[string](https://developer.mozilla.org/en-US/docs/Glossary/String)|The name of the analyzer. |




#### Returns

| Return type | Status code | Description |
|---|---|---|
|void|200|The documentation of the requested analyzer.|


#### Throws

| Error Type | Error Message |
|---|---|
|AnalyzerErrorEnvelopeError|Invalid or malformed request. &#124; Insufficient permissions. &#124; No analyzer available with the requested name. &#124; Client error. &#124; Internal server error.|


<details>
<summary>
Code example
</summary>

```ts
import { analyzersClient } from "@dynatrace-sdk/client-davis-analyzers";

const data = await analyzersClient.getAnalyzerDocumentation(
  { analyzerName: "..." },
);
```

</details>



</div>


<a name="getjsonschemaforinput"></a>
### getJsonSchemaForInput

<div class="padding-bottom--md">
<strong>analyzersClient.getJsonSchemaForInput(config): Promise&lt;Record&lt;[string](https://developer.mozilla.org/en-US/docs/Glossary/String) &#124; [any](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#any)&gt;&gt;</strong>

<div class="padding-left--md">

Get the JSON schema for an analyzer input.

**Required scope:** davis:analyzers:read

The [JSON schema](https://json-schema.org/) defines a standardized declaration of the input structure,
providing well-defined input documentation that is both human- and machine-readable.



</div>


#### Parameters

| Name | Type | Description |
| --- | --- | --- |
|config.analyzerName<sup>*required</sup>|[string](https://developer.mozilla.org/en-US/docs/Glossary/String)|The name of the analyzer. |




#### Returns

| Return type | Status code | Description |
|---|---|---|
|void|200|The [JSON input schema](https://json-schema.org/) of the requested analyzer.|


#### Throws

| Error Type | Error Message |
|---|---|
|AnalyzerErrorEnvelopeError|Invalid or malformed request. &#124; Insufficient permissions. &#124; No analyzer available with the requested name. &#124; Client error. &#124; Internal server error.|


<details>
<summary>
Code example
</summary>

```ts
import { analyzersClient } from "@dynatrace-sdk/client-davis-analyzers";

const data = await analyzersClient.getJsonSchemaForInput({
  analyzerName: "...",
});
```

</details>



</div>


<a name="getjsonschemaforresult"></a>
### getJsonSchemaForResult

<div class="padding-bottom--md">
<strong>analyzersClient.getJsonSchemaForResult(config): Promise&lt;Record&lt;[string](https://developer.mozilla.org/en-US/docs/Glossary/String) &#124; [any](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#any)&gt;&gt;</strong>

<div class="padding-left--md">

Get the JSON schema for an analyzer result.

**Required scope:** davis:analyzers:read

The [JSON schema](https://json-schema.org/) defines a standardized declaration of the output structure,
providing well-defined output documentation that is both human- and machine-readable.



</div>


#### Parameters

| Name | Type | Description |
| --- | --- | --- |
|config.analyzerName<sup>*required</sup>|[string](https://developer.mozilla.org/en-US/docs/Glossary/String)|The name of the analyzer. |




#### Returns

| Return type | Status code | Description |
|---|---|---|
|void|200|The [JSON result schema](https://json-schema.org/) of the requested analyzer.|


#### Throws

| Error Type | Error Message |
|---|---|
|AnalyzerErrorEnvelopeError|Invalid or malformed request. &#124; Insufficient permissions. &#124; No analyzer available with the requested name. &#124; Client error. &#124; Internal server error.|


<details>
<summary>
Code example
</summary>

```ts
import { analyzersClient } from "@dynatrace-sdk/client-davis-analyzers";

const data = await analyzersClient.getJsonSchemaForResult({
  analyzerName: "...",
});
```

</details>



</div>


<a name="pollanalyzerexecution"></a>
### pollAnalyzerExecution

<div class="padding-bottom--md">
<strong>analyzersClient.pollAnalyzerExecution(config): Promise&lt;<a href="#analyzerpollresult">AnalyzerPollResult</a>&gt;</strong>

<div class="padding-left--md">

Poll for the result of a started analyzer execution.

**Required scope:** davis:analyzers:execute

Use the request token returned when starting an analyzer execution to poll for a result.

The `executionStatus` of the result indicates if the analyzer execution is already completed.
While the status is `RUNNING`, wait and poll for the result again in subsequent calls.



</div>


#### Parameters

| Name | Type | Description |
| --- | --- | --- |
|config.analyzerName<sup>*required</sup>|[string](https://developer.mozilla.org/en-US/docs/Glossary/String)|The name of the analyzer. |
|config.requestToken<sup>*required</sup>|[string](https://developer.mozilla.org/en-US/docs/Glossary/String)|<p>The request token is returned when starting a long-running analyzer execution. It can be used to do follow-up operations like polling and cancelling.</p>  |
|config.timeoutSeconds|[number](https://developer.mozilla.org/en-US/docs/Glossary/Number)|<p>The amount of seconds to wait for the response to be returned.</p> <p>The timeout controls how long the client is willing to wait, while the analyzer execution continues running until it has finished or is cancelled.</p>  |




#### Returns

| Return type | Status code | Description |
|---|---|---|
|[AnalyzerPollResult](#analyzerpollresult)|200|The current analyzer execution status and an optional partial result.|


#### Throws

| Error Type | Error Message |
|---|---|
|AnalyzerErrorEnvelopeError|Invalid or malformed request. &#124; Insufficient permissions. &#124; No analyzer available with the requested name. &#124; The analyzer result with the request token has already been consumed or its time-to-live (TTL) has been reached. The result is not available anymore. &#124; Client error. &#124; Internal server error.|


<details>
<summary>
Code example
</summary>

```ts
import { analyzersClient } from "@dynatrace-sdk/client-davis-analyzers";

const data = await analyzersClient.pollAnalyzerExecution({
  analyzerName: "...",
  requestToken: "RHluYXRyYWNlMjAyMw==",
});
```

</details>



</div>


<a name="queryanalyzers"></a>
### queryAnalyzers

<div class="padding-bottom--md">
<strong>analyzersClient.queryAnalyzers(config): Promise&lt;<a href="#analyzerqueryresult" target="_blank" rel="noopener noreferrer">AnalyzerQueryResult</a>&gt;</strong>

<div class="padding-left--md">

Query all available analyzer definitions.

**Required scope:** davis:analyzers:read

The analyzer definition contains meta-information about an analyzer, including its input and output structure:
* The `input` definition specifies which fields the analyzer accepts, some of which may be required.
* The `output` definition specifies how the returned analyzer result is structured.



</div>


#### Parameters

| Name | Type | Description |
| --- | --- | --- |
|config.addFields|[string](https://developer.mozilla.org/en-US/docs/Glossary/String)|<p>Specify which meta-information to fetch in addition to the default fields <code>name</code>, <code>displayName</code> and <code>description</code>.</p> <p>Valid values are:</p> <ul> <li><code>analyzerCall</code></li> <li><code>baseAnalyzer</code></li> <li><code>category</code></li> <li><code>input</code></li> <li><code>labels</code></li> <li><code>output</code></li> <li><code>type</code></li> </ul> <p>Any other field will result in a HTTP 400 response.</p>  |
|config.filter|[string](https://developer.mozilla.org/en-US/docs/Glossary/String)|<p>Use the <code>filter</code> parameter to only fetch a subset of analyzer definitions.</p> <p>When using the operators <code>=</code>and <code>!=</code>, filtering is <strong>case sensitive</strong>.</p> <p>The following operators are supported:</p> <ul> <li><code>=</code></li> <li><code>!=</code></li> <li><code>contains</code></li> <li><code>starts-with</code></li> <li><code>ends-with</code></li> <li><code>and</code></li> <li><code>or</code></li> </ul> <p>Parenthesis and the <code>not</code> operator are currently not supported.</p> <p>The following fields are valid filtering parameters:</p> <ul> <li><code>baseAnalyzer</code></li> <li><code>description</code></li> <li><code>displayName</code></li> <li><code>labels</code></li> <li><code>name</code></li> <li><code>type</code></li> </ul> <p>Any other field will result in a HTTP 400 response.</p>  |
|config.pageKey|[string](https://developer.mozilla.org/en-US/docs/Glossary/String)|<p>The cursor for the page of results. Find it in the <code>nextPageKey</code> field of the previous response.</p> <p>If the <code>page-key</code> parameter is used, no other query parameters must be provided.</p> <p>If not provided, the first page is always returned.</p>  |
|config.pageSize|[number](https://developer.mozilla.org/en-US/docs/Glossary/Number)|<p>The amount of returned analyzer definitions in a single response payload. By default, 50 is used. The maximum is 200.</p>  |




#### Returns

| Return type | Status code | Description |
|---|---|---|
|[AnalyzerQueryResult](#analyzerqueryresult)|200|All available analyzer definitions.|


#### Throws

| Error Type | Error Message |
|---|---|
|AnalyzerErrorEnvelopeError|Insufficient permissions. &#124; Client error. &#124; Internal server error.|


<details>
<summary>
Code example
</summary>

```ts
import { analyzersClient } from "@dynatrace-sdk/client-davis-analyzers";

const data = await analyzersClient.queryAnalyzers();
```

</details>



</div>


<a name="validateanalyzerexecution"></a>
### validateAnalyzerExecution

<div class="padding-bottom--md">
<strong>analyzersClient.validateAnalyzerExecution(config): Promise&lt;<a href="#analyzervalidationresult">AnalyzerValidationResult</a>&gt;</strong>

<div class="padding-left--md">

Validate the provided input for an analyzer execution.

**Required scope:** davis:analyzers:execute

Provide the same input that is planned to be used for an analyzer execution to have it validated without
executing the analyzer.



</div>


#### Parameters

| Name | Type | Description |
| --- | --- | --- |
|config.analyzerName<sup>*required</sup>|[string](https://developer.mozilla.org/en-US/docs/Glossary/String)|The name of the analyzer. |
|config.body<sup>*required</sup>|<a href="#analyzerinput" target="_blank" rel="noopener noreferrer">AnalyzerInput</a>| |




#### Returns

| Return type | Status code | Description |
|---|---|---|
|[AnalyzerValidationResult](#analyzervalidationresult)|200|The validation result for the requested analyzer execution.|


#### Throws

| Error Type | Error Message |
|---|---|
|AnalyzerErrorEnvelopeError|No analyzer available with the requested name. &#124; Insufficient permissions. &#124; Not found &#124; Client error. &#124; Internal server error.|


<details>
<summary>
Code example
</summary>

```ts
import { analyzersClient } from "@dynatrace-sdk/client-davis-analyzers";

const data =
  await analyzersClient.validateAnalyzerExecution({
    analyzerName: "...",
    body: {},
  });
```

</details>



</div>

## Types

### AnalyzerCancelResult

Result of cancelling the analyzer execution. Only returned if the result completes while cancelling.

| Name | Type | Description |
| --- | --- | --- |
|requestToken|[string](https://developer.mozilla.org/en-US/docs/Glossary/String)|<p>The request token is returned when starting a long-running analyzer execution. It can be used to do follow-up operations like polling and cancelling.</p>  |
|result<sup>*required</sup>|<a href="#analyzerresult">AnalyzerResult</a>| |
|ttlInSeconds|[number](https://developer.mozilla.org/en-US/docs/Glossary/Number)|Time-to-live until the result is not available anymore. |

### AnalyzerCategory

The category of an analyzer used to logically group different analyzers.

| Name | Type |
| --- | --- |
|displayName<sup>*required</sup>|[string](https://developer.mozilla.org/en-US/docs/Glossary/String)|

### AnalyzerData

The map of actual data matching the input and output definition of the analyzer.

**type**: Record&lt;string, any&gt;

### AnalyzerDefinition

The definition of the analyzer. It describes which input and output data the analyzer accepts
and produces when being executed.

| Name | Type | Description |
| --- | --- | --- |
|baseAnalyzer|[string](https://developer.mozilla.org/en-US/docs/Glossary/String)|<p>The analyzer name that the current analyzer is based on. All input and output parameters are inherited. Additional parameters may be present in the current analyzer.</p>  |
|category|<a href="#analyzercategory" target="_blank" rel="noopener noreferrer">AnalyzerCategory</a>|The category of an analyzer used to logically group different analyzers. |
|description|[string](https://developer.mozilla.org/en-US/docs/Glossary/String)|<p>Detailed description of the analyzers' functionality. Get the documentation of the analyzer for more information.</p>  |
|displayName<sup>*required</sup>|[string](https://developer.mozilla.org/en-US/docs/Glossary/String)| |
|input|Array&lt;<a href="#parameterdefinition">ParameterDefinition</a>&gt;| |
|labels|Array&lt;[string](https://developer.mozilla.org/en-US/docs/Glossary/String)&gt;|A list of string-based labels to group and mark different analyzers. |
|name<sup>*required</sup>|[string](https://developer.mozilla.org/en-US/docs/Glossary/String)|The uniquely identifying name of the analyzer. |
|output|Array&lt;<a href="#parameterdefinition" target="_blank" rel="noopener noreferrer">ParameterDefinition</a>&gt;| |
|type|"IMPLEMENTED" &#124; "INTERFACE"|<p>The type of the analyzer.</p> <ul> <li>IMPLEMENTED: Analyzers which have an implementation and can be executed.</li> <li>INTERFACE: Just an interface to be implemented or extended by other analyzer definitions.</li> </ul>  |

### AnalyzerDefinitionDetails

The definition of the analyzer. It describes which input and output data the analyzer accepts
and produces when being executed.

| Name | Type | Description |
| --- | --- | --- |
|baseAnalyzer|[string](https://developer.mozilla.org/en-US/docs/Glossary/String)|<p>The analyzer name that the current analyzer is based on. All input and output parameters are inherited. Additional parameters may be present in the current analyzer.</p>  |
|category|<a href="#analyzercategory">AnalyzerCategory</a>|The category of an analyzer used to logically group different analyzers. |
|description|[string](https://developer.mozilla.org/en-US/docs/Glossary/String)|<p>Detailed description of the analyzers' functionality. Get the documentation of the analyzer for more information.</p>  |
|displayName<sup>*required</sup>|[string](https://developer.mozilla.org/en-US/docs/Glossary/String)| |
|input|Array&lt;<a href="#parameterdefinition" target="_blank" rel="noopener noreferrer">ParameterDefinition</a>&gt;| |
|labels|Array&lt;[string](https://developer.mozilla.org/en-US/docs/Glossary/String)&gt;|A list of string-based labels to group and mark different analyzers. |
|name<sup>*required</sup>|[string](https://developer.mozilla.org/en-US/docs/Glossary/String)|The uniquely identifying name of the analyzer. |
|output|Array&lt;<a href="#parameterdefinition">ParameterDefinition</a>&gt;| |
|type|"IMPLEMENTED" &#124; "INTERFACE"|<p>The type of the analyzer.</p> <ul> <li>IMPLEMENTED: Analyzers which have an implementation and can be executed.</li> <li>INTERFACE: Just an interface to be implemented or extended by other analyzer definitions.</li> </ul>  |

### AnalyzerDimensionalData

A list of resolved dimensional data.

| Name | Type | Description |
| --- | --- | --- |
|query<sup>*required</sup>|DimensionQuery|A query for dimensional data such as timeseries, entities, or logs. |
|type<sup>*required</sup>|"entityId" &#124; "timeseriesArray"|The type of the dimensional query. |
|value<sup>*required</sup>|AnalyzerDimensionalDataValue|The resolved value of the dimensional query. |

### AnalyzerError

The error that is returned for unsuccessful responses.

| Name | Type | Description |
| --- | --- | --- |
|code<sup>*required</sup>|[number](https://developer.mozilla.org/en-US/docs/Glossary/Number)|The HTTP status code of the error. |
|details|<a href="#analyzererrordetails" target="_blank" rel="noopener noreferrer">AnalyzerErrorDetails</a>| |
|message<sup>*required</sup>|[string](https://developer.mozilla.org/en-US/docs/Glossary/String)| |

### AnalyzerErrorDetails

| Name | Type |
| --- | --- |
|constraintViolations|Array&lt;<a href="#constraintviolation">ConstraintViolation</a>&gt;|

### AnalyzerErrorEnvelope

| Name | Type | Description |
| --- | --- | --- |
|error|<a href="#analyzererror" target="_blank" rel="noopener noreferrer">AnalyzerError</a>|The error that is returned for unsuccessful responses. |

### AnalyzerExecuteResult

Result of the analyzer execution.

| Name | Type | Description |
| --- | --- | --- |
|requestToken|[string](https://developer.mozilla.org/en-US/docs/Glossary/String)|<p>The request token is returned when starting a long-running analyzer execution. It can be used to do follow-up operations like polling and cancelling.</p>  |
|result<sup>*required</sup>|<a href="#analyzerresult">AnalyzerResult</a>| |
|ttlInSeconds|[number](https://developer.mozilla.org/en-US/docs/Glossary/Number)|Time-to-live until the result is not available anymore. |

### AnalyzerExecutionLog

| Name | Type | Description |
| --- | --- | --- |
|level<sup>*required</sup>|"TRACING" &#124; "INFO" &#124; "WARNING" &#124; "SEVERE"|Determines the severity of the log. |
|message<sup>*required</sup>|[string](https://developer.mozilla.org/en-US/docs/Glossary/String)| |
|path|[string](https://developer.mozilla.org/en-US/docs/Glossary/String)|<p>A path pointing to the source of the error in the input. The format of the path follows the <a href="https://goessner.net/articles/JsonPath/" target="_blank" rel="noopener noreferrer" >JSON path specification</a>.</p>  |

### AnalyzerGeneralParameters

Parameters that are present in all analyzer input parameter definitions.

| Name | Type | Description |
| --- | --- | --- |
|logVerbosity|"TRACING" &#124; "INFO" &#124; "WARNING" &#124; "SEVERE"|Determines the severity of the log. |
|resolveDimensionalQueryData|[boolean](https://developer.mozilla.org/en-US/docs/Glossary/Boolean)| <i>default:</i> <code>false</code>|
|timeframe|<a href="#timeframe" target="_blank" rel="noopener noreferrer">Timeframe</a>| |

### AnalyzerInput

The input is specific to an analyzer. Get the definition of the analyzer to retrieve the required input structure.

| Name | Type | Description |
| --- | --- | --- |
|generalParameters|<a href="#analyzergeneralparameters">AnalyzerGeneralParameters</a>|Parameters that are present in all analyzer input parameter definitions. |

### AnalyzerOutput

The output is specific to an analyzer. Get the definition of the analyzer to retrieve the required output structure.

| Name | Type | Description |
| --- | --- | --- |
|system|<a href="#analyzeroutputsystemparameters" target="_blank" rel="noopener noreferrer">AnalyzerOutputSystemParameters</a>|Parameters that are present in all analyzer output parameter definitions. |

### AnalyzerOutputLog

| Name | Type |
| --- | --- |
|level<sup>*required</sup>|"TRACING" &#124; "INFO" &#124; "WARNING"| 
|message<sup>*required</sup>|[string](https://developer.mozilla.org/en-US/docs/Glossary/String)|

### AnalyzerOutputSystemParameters

Parameters that are present in all analyzer output parameter definitions.

| Name | Type |
| --- | --- |
|logs|Array&lt;<a href="#analyzeroutputlog">AnalyzerOutputLog</a>&gt;|

### AnalyzerPollResult

Result of polling the analyzer execution.

| Name | Type | Description |
| --- | --- | --- |
|requestToken|[string](https://developer.mozilla.org/en-US/docs/Glossary/String)|<p>The request token is returned when starting a long-running analyzer execution. It can be used to do follow-up operations like polling and cancelling.</p>  |
|result<sup>*required</sup>|<a href="#analyzerresult" target="_blank" rel="noopener noreferrer">AnalyzerResult</a>| |
|ttlInSeconds|[number](https://developer.mozilla.org/en-US/docs/Glossary/Number)|Time-to-live until the result is not available anymore. |

### AnalyzerQueryResult

The list of available analyzers.

| Name | Type | Description |
| --- | --- | --- |
|analyzers<sup>*required</sup>|Array&lt;<a href="#analyzerdefinition">AnalyzerDefinition</a>&gt;| |
|nextPageKey|[string](https://developer.mozilla.org/en-US/docs/Glossary/String)|<p>The key that should be used to do follow-up requests, fetching the remaining analyzers. If the last page is reached or all analyzers are already listed, this field is omitted.</p>  |
|totalCount<sup>*required</sup>|[number](https://developer.mozilla.org/en-US/docs/Glossary/Number)|The total amount of analyzers available opposed to the current page size. |

### AnalyzerResult

| Name | Type | Description |
| --- | --- | --- |
|data|Array&lt;<a href="#analyzerdimensionaldata" target="_blank" rel="noopener noreferrer">AnalyzerDimensionalData</a>&gt;| |
|executionStatus<sup>*required</sup>|"RUNNING" &#124; "ABORTED" &#124; "COMPLETED"| |
|input<sup>*required</sup>|<a href="#analyzerinput">AnalyzerInput</a>|The input is specific to an analyzer. Get the definition of the analyzer to retrieve the required input structure. |
|logs|Array&lt;<a href="#analyzerexecutionlog" target="_blank" rel="noopener noreferrer">AnalyzerExecutionLog</a>&gt;| |
|output<sup>*required</sup>|Array&lt;<a href="#analyzeroutput">AnalyzerOutput</a>&gt;| |
|resultId<sup>*required</sup>|[string](https://developer.mozilla.org/en-US/docs/Glossary/String)|The uniquely identifying ID of the result. Used for logging. |
|resultStatus<sup>*required</sup>|"SUCCESSFUL" &#124; "SUCCESSFUL_WITH_WARNINGS" &#124; "FAILED"| |

### AnalyzerValidationResult

The result of the dry-execution of the analyzer.

| Name | Type | Description |
| --- | --- | --- |
|details|<a href="#analyzererrordetails" target="_blank" rel="noopener noreferrer">AnalyzerErrorDetails</a>| |
|valid<sup>*required</sup>|[boolean](https://developer.mozilla.org/en-US/docs/Glossary/Boolean)|Whether the analyzer can be successfully executed with the given input data. |

### ConstraintViolation

A constraint violation indicating why an error has occurred.

| Name | Type | Description |
| --- | --- | --- |
|level<sup>*required</sup>|"TRACING" &#124; "INFO" &#124; "WARNING" &#124; "SEVERE"|Determines the severity of the log. |
|message<sup>*required</sup>|[string](https://developer.mozilla.org/en-US/docs/Glossary/String)| |
|path|[string](https://developer.mozilla.org/en-US/docs/Glossary/String)|<p>A path pointing to the source of the error in the input. The format of the path follows the <a href="https://goessner.net/articles/JsonPath/" target="_blank" rel="noopener noreferrer" >JSON path specification</a>.</p>  |

### EnumerationElement

An object that has a fixed set of possible values differentiated by the `key` property.

| Name | Type |
| --- | --- |
|description<sup>*required</sup>|[string](https://developer.mozilla.org/en-US/docs/Glossary/String)| 
|displayName<sup>*required</sup>|[string](https://developer.mozilla.org/en-US/docs/Glossary/String)| 
|key<sup>*required</sup>|[string](https://developer.mozilla.org/en-US/docs/Glossary/String)|

### ParameterDefinition

The definition for a single parameter, describing its name and other meta information.

| Name | Type | Description |
| --- | --- | --- |
|advanced|[boolean](https://developer.mozilla.org/en-US/docs/Glossary/Boolean)|If true, this parameter is considered to be for advanced usage. |
|array<sup>*required</sup>|[boolean](https://developer.mozilla.org/en-US/docs/Glossary/Boolean)|Whether this parameter can have an array of values. Passing a single, non-array value is also allowed. |
|defaultValue|[any](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#any)|The default value used when the parameter is omitted. |
|description|[string](https://developer.mozilla.org/en-US/docs/Glossary/String)| |
|displayName<sup>*required</sup>|[string](https://developer.mozilla.org/en-US/docs/Glossary/String)| |
|enumerationValues|Array&lt;<a href="#enumerationelement">EnumerationElement</a>&gt;| |
|extendedType|[string](https://developer.mozilla.org/en-US/docs/Glossary/String)|<p>Provides extended type information for this parameter. This allows additional semantics that can be utilized by analyzer consumers.</p>  |
|fields|Array&lt;<a href="#parameterdefinition" target="_blank" rel="noopener noreferrer">ParameterDefinition</a>&gt;|Given the parameter is of type <code>structure</code> this property contains the sub-definition of the parameter. |
|maxSize|[number](https://developer.mozilla.org/en-US/docs/Glossary/Number)|The maximum number of elements if the parameter is an array. |
|name<sup>*required</sup>|[string](https://developer.mozilla.org/en-US/docs/Glossary/String)| |
|optional<sup>*required</sup>|[boolean](https://developer.mozilla.org/en-US/docs/Glossary/Boolean)|Whether this parameter can be omitted when executing the analyzer. |
|type<sup>*required</sup>|"string" &#124; "number" &#124; "boolean" &#124; "timeseriesArray" &#124; "analyzerStructure" &#124; "dimensionQuery" &#124; "enumeration" &#124; "integer" &#124; "timeframe" &#124; "timeseriesQuery" &#124; "timestamp"|The type of the parameter, indicating the format of the value to be provided. |
|valueConstraints|ParameterDefinitionValueConstraints|Defines value constraints for string or number parameters. Not applicable to other parameter types. |

### Timeframe

| Name | Type | Description |
| --- | --- | --- |
|endTime|[string](https://developer.mozilla.org/en-US/docs/Glossary/String)|<p>Specify the end time in either absolute or relative format. For absolute format, use the ISO 8601 format (yyyy-MM-ddTHH:mm:ssZ). For relative format, use 'now' for the current time or apply an offset with the available units: 's' for seconds, 'm' for minutes, 'h' for hours, and 'd' for days. For example, use 'now-2h' or '-2h' for a relative offset of 2 hours. If not specified, defaults to now.</p>  |
|startTime<sup>*required</sup>|[string](https://developer.mozilla.org/en-US/docs/Glossary/String)|<p>Specify the start time in either absolute or relative format. For absolute format, use the ISO 8601 format (yyyy-MM-ddTHH:mm:ssZ). For relative format, use 'now' for the current time or apply an offset with the available units: 's' for seconds, 'm' for minutes, 'h' for hours, and 'd' for days. For example, use 'now-2h' or '-2h' for a relative offset of 2 hours.</p>  |

## Enums

<a name="analyzerdefinitiontype"></a>
### ~~AnalyzerDefinitionType~~

> ⚠️ **Deprecated**
> Use literal values.

<div class="padding-left--md">

The type of the analyzer.
* IMPLEMENTED: Analyzers which have an implementation and can be executed.
* INTERFACE: Just an interface to be implemented or extended by other analyzer definitions.

#### Enum keys

<div class="padding-left--md">

`Implemented` | `Interface`

</div>


</div>

<a name="analyzerdimensionaldatatype"></a>
### ~~AnalyzerDimensionalDataType~~

> ⚠️ **Deprecated**
> Use literal values.

<div class="padding-left--md">

The type of the dimensional query.

#### Enum keys

<div class="padding-left--md">

`EntityId` | `TimeseriesArray`

</div>


</div>

<a name="analyzerexecutionloglevel"></a>
### ~~AnalyzerExecutionLogLevel~~

> ⚠️ **Deprecated**
> Use literal values.

<div class="padding-left--md">

Determines the severity of the log.

#### Enum keys

<div class="padding-left--md">

`Info` | `Severe` | `Tracing` | `Warning`

</div>


</div>

<a name="analyzeroutputloglevel"></a>
### ~~AnalyzerOutputLogLevel~~

> ⚠️ **Deprecated**
> Use literal values.

<div class="padding-left--md">



#### Enum keys

<div class="padding-left--md">

`Info` | `Tracing` | `Warning`

</div>


</div>

<a name="analyzerresultexecutionstatus"></a>
### ~~AnalyzerResultExecutionStatus~~

> ⚠️ **Deprecated**
> Use literal values.

<div class="padding-left--md">



#### Enum keys

<div class="padding-left--md">

`Aborted` | `Completed` | `Running`

</div>


</div>

<a name="analyzerresultresultstatus"></a>
### ~~AnalyzerResultResultStatus~~

> ⚠️ **Deprecated**
> Use literal values.

<div class="padding-left--md">



#### Enum keys

<div class="padding-left--md">

`Failed` | `Successful` | `SuccessfulWithWarnings`

</div>


</div>

<a name="parameterdefinitiontype"></a>
### ~~ParameterDefinitionType~~

> ⚠️ **Deprecated**
> Use literal values.

<div class="padding-left--md">

The type of the parameter, indicating the format of the value to be provided.

#### Enum keys

<div class="padding-left--md">

`AnalyzerStructure` | `Boolean` | `DimensionQuery` | `Enumeration` | `Integer` | `Number` | `String` | `Timeframe` | `TimeseriesArray` | `TimeseriesQuery` | `Timestamp`

</div>


</div>