Dynamic Thresholds API
Note
API Version: v1
Base URL:https://next.itrslab.com/dynamic-thresholds/api
The Dynamic Thresholds API provides endpoints for managing dynamic threshold configurations, monitoring their status, and retrieving application metadata. This API enables you to create and manage threshold configurations that can automatically detect anomalies in your metrics using various statistical methods.
Dynamic Thresholds API endpoints Copied
Application Copied
Get Application Metadata Copied
Returns application metadata including platform limits, settings, and timeouts.
GET /app/metadata
Tags: Application
Description: This is an unversioned endpoint with no guarantees of backward compatibility.
Parameters: None
Example Request:
curl -X GET "https://next.itrslab.com/dynamic-thresholds/api/app/metadata"
Example Response:
{
"appConfig": {
"rpc_timeout": "30s",
"max_concurrent_platform_requests": 10,
"max_metric_batch_size": 1000,
"platform_lock_timeout": "5s",
"max_outbound_message_size_mib": 10,
"max_num_retries": 3,
"max_num_configs": 100,
"refresh_intervals": ["300s", "600s"],
"threshold_metric_refresh_interval": "60s",
"dry_run": {
"rpc_timeout": "30s",
"ttl": "3600s",
"max_concurrent_platform_requests": 5,
"is_cache_enabled": true,
"cache_capacity": 1000,
"platform_lock_timeout": "5s"
}
},
"appBuildInfo": {
"version": "1.0.0",
"build_time": "2025-05-27T07:42:09Z",
"commit_hash": "abc123",
"branch_name": "main"
}
}
Configuration Copied
Retrieve All Configurations Copied
Retrieves all configurations with optional filtering and pagination.
GET /v1/config
Tags: Configuration
Parameters:
Name | Location | Type | Required | Description |
---|---|---|---|---|
skip |
query | integer (uint32) | No | Number of results to skip for pagination. Defaults to 0 if not specified. |
limit |
query | integer (uint32) | No | Maximum number of results to return for pagination. Defaults to 100 if not specified. |
searchTerm |
query | string | No | Search term to filter configurations by name (case-insensitive). |
Example Request:
curl -X GET "https://next.itrslab.com/dynamic-thresholds/api/v1/config?skip=0&limit=10&searchTerm=cpu"
Example Response:
{
"configEntries": [
{
"config": {
"name": "cpu-threshold",
"sourceMetric": {
"namespace": "itrsgroup.com/geneos",
"name": "cpu_utilisation",
"type": "METRIC_TYPE_GAUGE",
"unit": "UNIT_PERCENT"
},
"deviation": {
"header": {
"lookbackModel": {
"slidingWindow": {
"size": "86400s"
}
},
"refreshInterval": "300s"
},
"warningThreshold": {
"header": {
"sourceMetricValue": {
"slidingWindow": {
"duration": "FIVE_MINUTES",
"aggregation": {
"function": "MEAN"
}
}
}
},
"stdDevFactor": {
"greaterThan": 2.0
}
}
}
},
"version": "1"
}
],
"numRemainingEntries": 50
}
Create or Update Configuration Copied
Creates a new configuration or updates an existing one.
POST /v1/config
Tags: Configuration
Request Body: UpsertConfigRequest
Example Request:
curl -X POST "https://next.itrslab.com/dynamic-thresholds/api/v1/config" \
-H "Content-Type: application/json" \
-d '{
"config": {
"name": "deviation",
"sourceMetric": {
"namespace": "itrsgroup.com/dynamic-thresholds/demo",
"name": "memory_usage",
"type": "METRIC_TYPE_GAUGE",
"unit": "UNIT_PERCENT"
},
"filter": {
"expression": {
"comparison": {
"name": "service",
"value": "online_orders"
}
}
},
"deviation": {
"header": {
"lookbackModel": {
"slidingWindow": {
"size": "86400s"
}
},
"refreshInterval": "300s"
},
"warningThreshold": {
"header": {
"sourceMetricValue": {
"slidingWindow": {
"duration": "FIVE_MINUTES",
"aggregation": {
"function": "MEAN"
}
}
}
},
"stdDevFactor": {
"lessThan": 2.0,
"greaterThan": 1.8
}
},
"criticalThreshold": {
"header": {
"sourceMetricValue": {
"slidingWindow": {
"duration": "FIVE_MINUTES",
"aggregation": {
"function": "MEAN"
}
}
}
},
"stdDevFactor": {
"greaterThan": 3.0
}
}
}
},
"version": "1"
}'
Example Response:
{
"version": "2"
}
Get Configuration Status Copied
Retrieves the status of all configured thresholds.
GET /v1/config/status
Tags: Configuration
Parameters:
Name | Location | Type | Required | Description |
---|---|---|---|---|
name |
query | string | No | Name of a specific configuration to filter the status by. If not specified, status for all configurations will be returned. |
Example Request:
curl -X GET "https://next.itrslab.com/dynamic-thresholds/api/v1/config/status?name=deviation"
Example Response:
{
"status": {
"deviation": {
"maxSeverity": "SEVERITY_CRITICAL",
"status": {
"severity": "SEVERITY_WARN",
"message": "Failed to fetch source metric data"
},
"lastRefreshedAt": "2025-05-27T07:42:09Z",
"nextRefreshAt": "2025-05-27T09:42:09Z",
"thresholds": [
{
"key": {
"severity": "THRESHOLD_SEVERITY_WARNING",
"bound": "THRESHOLD_BOUND_UPPER"
},
"status": {
"severity": "SEVERITY_CRITICAL",
"message": "Failed to extract 'mean' from source metric statistics"
}
}
]
}
}
}
Get Specific Configuration Copied
Retrieves a specific configuration by its name.
GET /v1/config/{name}
Tags: Configuration
Parameters:
Name | Location | Type | Required | Description |
---|---|---|---|---|
name |
path | string | Yes | The name of the configuration to retrieve. |
Example Request:
curl -X GET "https://next.itrslab.com/dynamic-thresholds/api/v1/config/deviation"
Example Response:
{
"entry": {
"config": {
"name": "deviation",
"sourceMetric": {
"namespace": "itrsgroup.com/dynamic-thresholds/demo",
"name": "memory_usage",
"type": "METRIC_TYPE_GAUGE",
"unit": "UNIT_PERCENT"
},
"filter": {
"expression": {
"comparison": {
"name": "service",
"value": "online_orders"
}
}
},
"deviation": {
"header": {
"lookbackModel": {
"slidingWindow": {
"size": "86400s"
}
},
"refreshInterval": "300s"
},
"warningThreshold": {
"header": {
"sourceMetricValue": {
"slidingWindow": {
"duration": "FIVE_MINUTES",
"aggregation": {
"function": "MEAN"
}
}
}
},
"stdDevFactor": {
"lessThan": 2.0,
"greaterThan": 1.8
}
},
"criticalThreshold": {
"header": {
"sourceMetricValue": {
"slidingWindow": {
"duration": "FIVE_MINUTES",
"aggregation": {
"function": "MEAN"
}
}
}
},
"stdDevFactor": {
"greaterThan": 3.0
}
}
}
},
"version": "1"
}
}
Delete Configuration Copied
Deletes a configuration by its name and version.
DELETE /v1/config/{name}
Tags: Configuration
Parameters:
Name | Location | Type | Required | Description |
---|---|---|---|---|
name |
path | string | Yes | The name of the configuration to delete. |
version |
query | string | No | The version of the configuration to delete, used for optimistic concurrency control. The deletion will only succeed if the version matches the current version. |
Example Request:
curl -X DELETE "https://next.itrslab.com/dynamic-thresholds/api/v1/config/deviation?version=1"
Example Response:
{}
API Information Copied
Get Supported API Versions Copied
Returns the supported API versions.
GET /versions
Tags: Info
Description: Used for client compatibility checks and API discovery.
Parameters: None
Example Request:
curl -X GET "https://next.itrslab.com/dynamic-thresholds/api/versions"
Example Response:
{
"versions": ["v1"]
}
Schemas Copied
Any Copied
Represents any type of value that can be serialized.
Properties:
Property | Type | Required | Description |
---|---|---|---|
value |
GoogleProtobufAny | No | The serialized value. |
yaml |
string | No | The YAML representation of the value. |
DeleteConfigResponse Copied
Response for a successful delete operation.
Properties:
This response contains no fields as the success is indicated by the absence of an error.
DeviationThreshold Copied
Defines a deviation-based threshold that monitors for values that deviate significantly from the historical mean, based on standard deviation calculations.
Properties:
Property | Type | Required | Description |
---|---|---|---|
header |
ModelHeader | Yes | Common properties for dynamic threshold models. |
warningThreshold |
DeviationThreshold_Threshold | No | Configuration for the warning threshold level. |
criticalThreshold |
DeviationThreshold_Threshold | No | Configuration for the critical threshold level. |
DeviationThreshold_Threshold Copied
Defines a threshold based on standard deviation from the mean value.
Properties:
Property | Type | Required | Description |
---|---|---|---|
header |
ThresholdHeader | Yes | Common threshold properties. |
stdDevFactor |
ThresholdValue | Yes | Standard deviation factor for the threshold calculation. |
Dimension Copied
A single Entity dimension.
Properties:
Property | Type | Required | Description |
---|---|---|---|
key |
string | No | The dimension key. |
value |
string | No | The dimension value. |
EntityFilter Copied
An entity filter expressed as either an expression or an exact dimension filter.
Properties (One of):
Property | Type | Description |
---|---|---|
orderedDimensions |
OrderedDimensionsFilter | Exact match on dimensions considering order. |
dimensions |
UnorderedDimensionsFilter | Exact match on dimensions ignoring order. |
expression |
Expression | Filter by entities matching an expression. |
Expression Copied
Represents an expression for entity filtering.
Properties:
Property | Type | Required | Description |
---|---|---|---|
additionalProperties |
array[NamedAny] | No | Additional properties for the expression. |
GetApiVersionsResponse Copied
Response containing the list of supported API versions.
Properties:
Property | Type | Required | Description |
---|---|---|---|
versions |
array[string] | Yes | A list of supported API versions. |
GetAppMetadataResponse Copied
Response containing the application configuration settings.
Properties:
Property | Type | Required | Description |
---|---|---|---|
appConfig |
GetAppMetadataResponse_AppConfig | Yes | The application configuration settings. |
appBuildInfo |
GetAppMetadataResponse_AppBuildInfo | No | The build information of the application. |
GetAppMetadataResponse_AppBuildInfo Copied
Build information of the application.
Properties:
Property | Type | Required | Description |
---|---|---|---|
version |
string | No | The version of the application. |
buildTime |
string | No | The build timestamp of the application. |
commitHash |
string | No | The commit hash of the application build. |
branchName |
string | No | The branch name of the application build. |
GetAppMetadataResponse_AppConfig Copied
Application configuration settings.
Properties:
Property | Type | Required | Description |
---|---|---|---|
rpcTimeout |
string | Yes | The maximum amount of time to wait for RPC calls. |
maxConcurrentPlatformRequests |
integer | Yes | The maximum number of concurrent requests to the platform. |
maxMetricBatchSize |
integer | Yes | The maximum threshold metrics batch size when sending to the platform. |
platformLockTimeout |
string | Yes | The maximum time to wait for a lock against a platform request. |
maxOutboundMessageSizeMib |
integer | No | The maximum size of outbound messages in MiB. |
maxNumRetries |
integer | Yes | The maximum number of retries for failed requests. |
maxNumConfigs |
integer | Yes | The maximum allowed number of configurations. |
refreshIntervals |
array[string] | Yes | The refresh intervals available for dynamic threshold configurations. |
thresholdMetricRefreshInterval |
string | No | How often the app re-emits threshold metric values. |
dryRun |
GetAppMetadataResponse_DryRunConfig | No | Dry run configuration settings. |
maxMetricBatchWaitTime |
string | No | The maximum time to wait for a metric batch. |
GetAppMetadataResponse_DryRunConfig Copied
Dry run configuration settings.
Properties:
Property | Type | Required | Description |
---|---|---|---|
rpcTimeout |
string | Yes | The maximum time to wait for RPC calls during dry run. |
ttl |
string | Yes | The maximum time dry run results will be held before being purged. |
maxConcurrentPlatformRequests |
integer | Yes | The maximum number of concurrent requests during dry run. |
isCacheEnabled |
boolean | Yes | Whether dry run result caching is enabled. |
cacheCapacity |
integer | Yes | The maximum number of dry run results that can be cached. |
platformLockTimeout |
string | Yes | The maximum time to wait for a platform lock during dry run. |
GetConfigResponse Copied
Response containing the requested configuration entry.
Properties:
Property | Type | Required | Description |
---|---|---|---|
entry |
ThresholdConfigEntry | Yes | The retrieved configuration entry. |
GetConfigsResponse Copied
Response containing a list of configurations that match the request criteria.
Properties:
Property | Type | Required | Description |
---|---|---|---|
configEntries |
array[ThresholdConfigEntry] | Yes | The list of configuration entries that match the request. |
numRemainingEntries |
integer | No | The total number of entries that match the search criteria. |
GetStatusResponse Copied
Response containing the status of all configured threshold configurations.
Properties:
Property | Type | Required | Description |
---|---|---|---|
status |
map[string, GetStatusResponse_ConfigStatus] | Yes | Status for each configuration, keyed by configuration name. |
GetStatusResponse_ConfigStatus Copied
Detailed status information for a single threshold configuration.
Properties:
Property | Type | Required | Description |
---|---|---|---|
maxStatus |
Status | Yes | The status with the highest severity level across all thresholds. |
thresholdStatus |
Status | No | Overall status of the configuration. |
signalStatus |
Status | No | Status of signal generation tasks for this configuration. |
numEntities |
integer | Yes | The total number of entities this configuration is applied to. |
lastRefreshedAt |
string | Yes | The timestamp when this configuration was last refreshed. |
nextRefreshAt |
string | No | The timestamp when this configuration is scheduled to be refreshed next. |
GoogleProtobufAny Copied
Contains an arbitrary serialized message along with a type that describes the serialized message.
Properties:
Property | Type | Required | Description |
---|---|---|---|
@type |
string | No | The type of the serialized message. |
Note: This type also supports additional properties.
HistogramAggregation Copied
Defines how to aggregate histogram values within a time window.
Properties:
Property | Type | Required | Description |
---|---|---|---|
function |
string | Yes | The aggregation function. Valid values: UNSPECIFIED , MIN , MAX , PERCENTILE |
percentile |
number | No | Must be set if function is PERCENTILE . Value between 0-100. |
LatestHistogram Copied
Extracts a specific percentile value from the latest histogram data.
Properties:
Property | Type | Required | Description |
---|---|---|---|
aggregation |
HistogramAggregation | Yes | The aggregation function to apply to the histogram. |
LookbackModel Copied
Defines how far back in time to look for historical data when building a threshold model.
Properties (One of):
Property | Type | Description |
---|---|---|
seasonal |
SeasonalParams | Parameters for a seasonal model. |
slidingWindow |
LookbackModel_SlidingWindow | A sliding window that moves with the current time. |
fixedWindow |
LookbackModel_FixedWindow | A fixed time window with specific start and end times. |
LookbackModel_FixedWindow Copied
Defines a fixed time window with specific start and end times.
Properties:
Property | Type | Required | Description |
---|---|---|---|
from |
string | Yes | The start time of the window. |
to |
string | Yes | The end time of the window. |
LookbackModel_SlidingWindow Copied
Defines a sliding window that moves with the current time.
Properties:
Property | Type | Required | Description |
---|---|---|---|
size |
string | Yes | The duration of the sliding window lookback period. |
Metadata Copied
Metadata about creation and modification of a configuration.
Properties:
Property | Type | Required | Description |
---|---|---|---|
createdBy |
Metadata_User | Yes | The user who created the configuration. |
createdAt |
string | Yes | The timestamp when the configuration was created. |
lastModifiedBy |
Metadata_User | No | The user who last modified the configuration. |
lastModifiedAt |
string | No | The timestamp when the configuration was last modified. |
Metadata_User Copied
Information about a user who interacted with the configuration.
Properties:
Property | Type | Required | Description |
---|---|---|---|
id |
string | Yes | The unique identifier of the user. |
displayName |
string | Yes | The display name of the user. |
MetricAggregation Copied
Defines how to aggregate metric values within a time window.
Properties:
Property | Type | Required | Description |
---|---|---|---|
function |
string | Yes | The aggregation function. Valid values: UNSPECIFIED , MIN , MAX , MEAN , PERCENTILE , SUM , COUNT |
percentile |
number | No | Must be set if function is PERCENTILE . Value between 0-100. |
MetricThreshold Copied
Defines a threshold based on another metric.
Properties:
Property | Type | Required | Description |
---|---|---|---|
warningThreshold |
MetricThreshold_Threshold | No | Configuration for the warning threshold level. |
criticalThreshold |
MetricThreshold_Threshold | No | Configuration for the critical threshold level. |
MetricThreshold_Threshold Copied
Defines a threshold based on a relative percentage of another metric.
Properties:
Property | Type | Required | Description |
---|---|---|---|
header |
ThresholdHeader | Yes | Common threshold properties. |
relativePercentage |
ThresholdValue | Yes | The relative percentage for the threshold calculation. |
metric |
NamespacedName | Yes | The reference metric for the threshold calculation. |
ModelHeader Copied
Common header properties for dynamic threshold models.
Properties:
Property | Type | Required | Description |
---|---|---|---|
lookbackModel |
LookbackModel | Yes | Defines how far back in time to look for historical data. |
refreshInterval |
string | Yes | How frequently the model should be refreshed with new data. |
max |
number | No | The maximum calculated absolute value of the threshold. |
min |
number | No | The minimum calculated absolute value of the threshold. |
NamedAny Copied
Automatically-generated message used to represent maps of Any as ordered (name,value) pairs.
Properties:
Property | Type | Required | Description |
---|---|---|---|
name |
string | No | Map key. |
value |
Any | No | Mapped value. |
NamespacedName Copied
Represents a namespaced name consisting of a namespace and name.
Properties:
Property | Type | Required | Description |
---|---|---|---|
namespace |
string | No | Namespace. Values must be no longer than 128 characters. |
name |
string | No | Name. Values must be non-blank and no longer than 64 characters. |
OrderedDimensionsFilter Copied
A filter that exactly matches entity dimension keys and values, taking the order of dimensions into account.
Properties:
Property | Type | Required | Description |
---|---|---|---|
dimensions |
array[Dimension] | Yes | Dimensions. Cannot be empty. |
PercentileThreshold Copied
Defines a percentile-based threshold that monitors for values that deviate significantly from historical percentile values.
Properties:
Property | Type | Required | Description |
---|---|---|---|
header |
ModelHeader | Yes | Common properties for dynamic threshold models. |
warningThreshold |
PercentileThreshold_Threshold | Yes | Configuration for the warning threshold level. |
criticalThreshold |
PercentileThreshold_Threshold | Yes | Configuration for the critical threshold level. |
PercentileThreshold_PercentileFactor Copied
Defines how to calculate the factor used in percentile-based thresholds.
Properties (One of):
Property | Type | Description |
---|---|---|
relativePercentage |
ThresholdValue | The percentage deviation from the baseline percentile. |
interQuantileRange |
ThresholdValue | The inter-quartile range (IQR) factor. |
PercentileThreshold_Threshold Copied
Defines the threshold configuration for a percentile-based model.
Properties:
Property | Type | Required | Description |
---|---|---|---|
header |
ThresholdHeader | Yes | Common threshold properties. |
baselinePercentile |
number | Yes | The baseline percentile for the threshold calculation (0-100). |
factor |
PercentileThreshold_PercentileFactor | Yes | The deviation from the baseline percentile. |
SeasonalParams Copied
Parameters for seasonal models, which account for recurring patterns in data.
Properties:
Property | Type | Required | Description |
---|---|---|---|
periodicity |
SeasonalParams_SeasonalDuration | Yes | The periodicity of the seasonal model. |
granularity |
SeasonalParams_SeasonalDuration | Yes | The granularity of the seasonal model. |
numPeriods |
integer | Yes | The number of historical periods to use. Must be at least 1. |
SeasonalParams_SeasonalDuration Copied
Defines the duration for seasonal models.
Properties (One of):
Property | Type | Description |
---|---|---|
weeks |
integer | Duration in weeks. |
days |
integer | Duration in days. |
hours |
integer | Duration in hours. |
minutes |
integer | Duration in minutes. |
SlidingWindow Copied
Defines a sliding window for calculating moving statistics over time.
Properties:
Property | Type | Required | Description |
---|---|---|---|
duration |
string | Yes | The duration of the sliding window. See Window Duration Values. |
aggregation |
MetricAggregation | No | Aggregation function for scalar values. |
histogramAggregation |
HistogramAggregation | No | Aggregation function for histogram values. |
SourceMetric Copied
Represents a source metric that will be monitored by threshold configurations.
Properties:
Property | Type | Required | Description |
---|---|---|---|
namespace |
string | Yes | The source metric namespace. |
name |
string | Yes | The source metric name. |
type |
string | Yes | The source metric type. Valid values: METRIC_TYPE_UNDEFINED , METRIC_TYPE_COUNTER , METRIC_TYPE_GAUGE , METRIC_TYPE_HISTOGRAM , METRIC_TYPE_STATUS |
unit |
string | Yes | The source metric unit. See Unit Values for valid values. |
SourceMetricValue Copied
Specifies how to extract a value from the source metric data.
Properties (One of):
Property | Type | Description |
---|---|---|
slidingWindow |
SlidingWindow | Use a sliding window of values with aggregation. |
latestHistogram |
LatestHistogram | Use a specific percentile from the latest histogram. |
StaticThreshold Copied
Defines a static threshold with fixed values.
Properties:
Property | Type | Required | Description |
---|---|---|---|
warningThreshold |
StaticThreshold_Threshold | No | Configuration for the warning threshold level. |
criticalThreshold |
StaticThreshold_Threshold | No | Configuration for the critical threshold level. |
StaticThreshold_Threshold Copied
Defines a static threshold with a fixed value.
Properties:
Property | Type | Required | Description |
---|---|---|---|
header |
ThresholdHeader | No | Common threshold properties. |
value |
ThresholdValue | No | The static threshold value. |
unit |
string | No | The unit for the threshold value. See Unit Values for valid values. |
Status Copied
Defines a logical error model suitable for different programming environments.
Properties:
Property | Type | Required | Description |
---|---|---|---|
message |
string | No | A developer-facing human readable error message. |
code |
string | No | The status code. Valid values: STATUS_CODE_UNSET , STATUS_CODE_OK , STATUS_CODE_ERROR |
ThresholdConfig Copied
Defines a complete threshold configuration that specifies how to monitor a source metric, what threshold algorithms to apply, and how to generate signals when thresholds are breached.
Properties:
Property | Type | Required | Description |
---|---|---|---|
name |
string | Yes | An immutable unique name for the threshold configuration. |
group |
string | No | A group name for the threshold configuration. |
displayName |
string | No | A mutable display name for the threshold configuration. |
categories |
array[string] | No | One or more categories for the threshold configuration. |
sourceMetric |
SourceMetric | Yes | The source metric. |
filter |
EntityFilter | No | The entity filter. |
disabled |
boolean | No | If set, threshold and signal generation will be disabled. |
signalGenerationDisabled |
boolean | No | If set, signal generation will be disabled. |
metric |
MetricThreshold | No | Threshold based on another metric (not supported). |
static |
StaticThreshold | No | Static threshold configuration. |
deviation |
DeviationThreshold | No | Standard deviation threshold configuration. |
percentile |
PercentileThreshold | No | Percentile threshold configuration. |
ThresholdConfigEntry Copied
A configuration entry with its metadata and version information.
Properties:
Property | Type | Required | Description |
---|---|---|---|
config |
ThresholdConfig | Yes | The configuration details. |
version |
string | Yes | The version of the configuration. |
metadata |
Metadata | No | Metadata about the configuration. |
ThresholdHeader Copied
Common header fields for threshold configurations.
Properties:
Property | Type | Required | Description |
---|---|---|---|
disabled |
boolean | No | Set if the threshold is disabled. Defaults to false. |
hysteresis |
string | No | Duration the value must be outside the threshold before triggering a signal. |
sourceMetricValue |
SourceMetricValue | Yes | Defines how to extract a value from the source metric data. |
ThresholdValue Copied
Defines threshold boundary conditions that determine when a signal should be triggered.
Properties:
Property | Type | Required | Description |
---|---|---|---|
lessThan |
number | No | Trigger a signal if the source value is less than this value. |
greaterThan |
number | No | Trigger a signal if the source value is greater than this value. |
Note: At least one of lessThan
or greaterThan
must be set.
UnorderedDimensionsFilter Copied
A filter that exactly matches entity dimension keys and values, irrespective of the order of dimensions.
Properties:
Property | Type | Required | Description |
---|---|---|---|
dimensions |
map[string, string] | Yes | Dimensions. Cannot be empty. |
UpsertConfigRequest Copied
Request to create or update a configuration.
Properties:
Property | Type | Required | Description |
---|---|---|---|
config |
ThresholdConfig | Yes | The configuration to create or update. |
version |
string | No | The version of the configuration to update (for existing configs). |
UpsertConfigResponse Copied
Response containing the version of the created or updated configuration.
Properties:
Property | Type | Required | Description |
---|---|---|---|
version |
string | Yes | The new version of the configuration after the upsert operation. |
Error Handling Copied
The API uses standard HTTP status codes and returns error responses in the following format:
{
"title": "Bad Request",
"message": "The metric name must be set",
"details": {
"type": "validation_error",
"path": ".metric.name"
}
}
Error Response Fields:
Field | Type | Required | Description |
---|---|---|---|
title |
string | Yes | The error title |
message |
string | Yes | The error message |
details |
object | No | An arbitrary set of key-value error metadata |
Unit Values Copied
Valid unit values for metrics:
UNIT_NONE
,UNIT_BYTES
,UNIT_KILOBYTES
,UNIT_KIBIBYTES
UNIT_MEGABITS
,UNIT_MEGABYTES
,UNIT_MEBIBYTES
UNIT_GIGABYTES
,UNIT_GIBIBYTES
,UNIT_TERABYTES
,UNIT_TEBIBYTES
UNIT_PETABYTES
,UNIT_PEBIBYTES
,UNIT_EXABYTES
,UNIT_EXBIBYTES
UNIT_BITS_PER_SECOND
,UNIT_BYTES_PER_SECOND
,UNIT_KIBIBYTES_PER_SECOND
UNIT_MEGABITS_PER_SECOND
,UNIT_GIGABITS_PER_SECOND
UNIT_PER_SECOND
,UNIT_SECONDS
,UNIT_NANOSECONDS
,UNIT_MICROSECONDS
UNIT_MILLISECONDS
,UNIT_MINUTES
,UNIT_HOURS
,UNIT_DAYS
UNIT_DEGREES_CELSIUS
,UNIT_HERTZ
,UNIT_MEGAHERTZ
,UNIT_GIGAHERTZ
UNIT_FRACTION
,UNIT_PERCENT
,UNIT_CORES
,UNIT_MILLICORES
- And many more currency, measurement, and specialized units…
Window Duration Values Copied
Valid window duration values:
ONE_MINUTE
,TWO_MINUTES
,THREE_MINUTES
,FIVE_MINUTES
,TEN_MINUTES
FIFTEEN_MINUTES
,THIRTY_MINUTES
,ONE_HOUR
,THREE_HOURS
,SIX_HOURS
TWELVE_HOURS
,ONE_DAY
,THREE_DAYS
,SEVEN_DAYS
,FOURTEEN_DAYS
THIRTY_DAYS
,SIXTY_DAYS
,NINETY_DAYS
,ONE_HUNDRED_AND_EIGHTY_DAYS
TEN_SECONDS
,TWENTY_SECONDS
,THIRTY_SECONDS